element-plus 2.13.6 → 2.13.7
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 +199 -101
- package/dist/index.full.min.js +7 -7
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +7 -7
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +199 -101
- 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/component.mjs +3 -3
- package/es/components/affix/src/affix.d.ts +3 -2
- package/es/components/affix/src/affix.vue.d.ts +4 -5
- package/es/components/alert/src/alert.vue.d.ts +1 -1
- package/es/components/anchor/src/anchor-link.vue.d.ts +1 -3
- package/es/components/anchor/src/anchor-link.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/anchor/src/anchor-link2.mjs.map +1 -1
- package/es/components/anchor/src/anchor.vue.d.ts +2 -2
- package/es/components/autocomplete/index.d.ts +2 -2
- package/es/components/autocomplete/src/autocomplete.d.ts +21 -13
- package/es/components/autocomplete/src/autocomplete.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +55 -80
- package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs +4 -2
- package/es/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/autocomplete/src/autocomplete2.mjs.map +1 -1
- package/es/components/avatar/src/avatar-group-props.d.ts +1 -1
- package/es/components/avatar/src/avatar-group.d.ts +2 -2
- package/es/components/avatar/src/avatar.d.ts +3 -2
- package/es/components/avatar/src/avatar.vue.d.ts +2 -3
- package/es/components/backtop/src/backtop.vue.d.ts +1 -1
- package/es/components/badge/src/badge.vue.d.ts +1 -1
- package/es/components/button/src/button-custom.mjs +17 -0
- package/es/components/button/src/button-custom.mjs.map +1 -1
- package/es/components/button/src/button.d.ts +1 -1
- package/es/components/button/src/button.vue.d.ts +3 -3
- package/es/components/calendar/src/use-date-table.mjs +2 -1
- package/es/components/calendar/src/use-date-table.mjs.map +1 -1
- package/es/components/card/src/card.d.ts +1 -1
- package/es/components/carousel/src/carousel-item.vue.d.ts +1 -1
- package/es/components/carousel/src/carousel.d.ts +1 -1
- package/es/components/cascader/src/cascader.d.ts +2 -2
- package/es/components/cascader/src/cascader.vue.d.ts +15 -15
- package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs +9 -4
- package/es/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/cascader/src/cascader2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.vue.d.ts +2 -2
- package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
- package/es/components/checkbox/src/checkbox-group.d.ts +1 -1
- package/es/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
- package/es/components/checkbox/src/checkbox.d.ts +3 -3
- package/es/components/checkbox/src/checkbox.vue.d.ts +4 -4
- package/es/components/checkbox/src/composables/use-checkbox-model.mjs +6 -2
- package/es/components/checkbox/src/composables/use-checkbox-model.mjs.map +1 -1
- package/es/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
- package/es/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
- package/es/components/col/src/col.vue.d.ts +1 -1
- package/es/components/collapse/src/collapse.d.ts +1 -1
- package/es/components/collapse/src/collapse.vue.d.ts +1 -1
- package/es/components/color-picker/src/color-picker.d.ts +1 -1
- package/es/components/color-picker/src/color-picker.vue.d.ts +7 -7
- package/es/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
- package/es/components/color-picker-panel/src/composables/use-predefine.mjs.map +1 -1
- package/es/components/config-provider/src/config-provider-props.d.ts +1 -1
- package/es/components/config-provider/src/config-provider.d.ts +3 -3
- package/es/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/es/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/date-picker/src/date-picker.d.ts +12 -12
- package/es/components/date-picker/src/props.d.ts +2 -2
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.mjs +2 -2
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
- package/es/components/descriptions/src/description-item.d.ts +8 -8
- package/es/components/descriptions/src/description.d.ts +1 -1
- package/es/components/descriptions/src/description.mjs.map +1 -1
- package/es/components/descriptions/src/description.vue.d.ts +1 -1
- package/es/components/dialog/src/dialog.vue.d.ts +11 -11
- package/es/components/dialog/src/dialog.vue_vue_type_script_setup_true_lang.mjs +6 -5
- package/es/components/dialog/src/dialog.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/dialog/src/dialog2.mjs.map +1 -1
- package/es/components/dialog/src/use-dialog.d.ts +4 -2
- package/es/components/dialog/src/use-dialog.mjs +8 -1
- package/es/components/dialog/src/use-dialog.mjs.map +1 -1
- package/es/components/divider/src/divider.d.ts +1 -1
- package/es/components/drawer/src/drawer.vue.d.ts +5 -5
- package/es/components/dropdown/src/dropdown-item.vue.d.ts +4 -10
- package/es/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
- package/es/components/dropdown/src/dropdown.d.ts +2 -2
- package/es/components/dropdown/src/dropdown.vue.d.ts +60 -66
- package/es/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/es/components/form/src/form-item.d.ts +2 -2
- package/es/components/form/src/form-item.vue.d.ts +1 -1
- package/es/components/form/src/form-item.vue_vue_type_script_setup_true_lang.mjs +11 -1
- package/es/components/form/src/form-item.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/form/src/form.d.ts +4 -4
- package/es/components/form/src/form.vue.d.ts +1 -1
- package/es/components/form/src/form.vue_vue_type_script_setup_true_lang.mjs +11 -3
- package/es/components/form/src/form.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/form/src/form2.mjs.map +1 -1
- package/es/components/form/src/hooks/use-form-common-props.d.ts +2 -2
- package/es/components/form/src/types.d.ts +2 -1
- package/es/components/icon/src/icon.vue.d.ts +1 -3
- package/es/components/icon/src/icon.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/icon/src/icon2.mjs.map +1 -1
- package/es/components/image/src/image.d.ts +1 -1
- package/es/components/image/src/image.vue.d.ts +3 -3
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
- package/es/components/index.d.ts +2 -2
- package/es/components/index.mjs +6 -6
- package/es/components/input/src/input.d.ts +13 -3
- package/es/components/input/src/input.mjs +1 -0
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue.d.ts +6 -5
- package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs +76 -11
- package/es/components/input/src/input.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/src/input-number.d.ts +3 -3
- package/es/components/input-number/src/input-number.vue.d.ts +5 -5
- package/es/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
- package/es/components/input-tag/src/input-tag.d.ts +2 -2
- package/es/components/input-tag/src/input-tag.vue.d.ts +9 -9
- package/es/components/link/src/link.d.ts +1 -1
- package/es/components/link/src/link.vue.d.ts +1 -1
- package/es/components/mention/src/helper.d.ts +1 -1
- package/es/components/mention/src/helper.mjs.map +1 -1
- package/es/components/mention/src/mention.d.ts +17 -10
- package/es/components/mention/src/mention.mjs.map +1 -1
- package/es/components/mention/src/mention.vue.d.ts +48 -55
- package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs +5 -3
- package/es/components/mention/src/mention.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/mention/src/mention2.mjs.map +1 -1
- package/es/components/menu/src/menu.d.ts +1 -1
- package/es/components/menu/src/menu.mjs +1 -1
- package/es/components/menu/src/sub-menu.d.ts +1 -1
- package/es/components/menu/src/utils/menu-item.mjs +1 -1
- package/es/components/menu/src/utils/submenu.mjs +1 -1
- package/es/components/message/src/message.d.ts +1 -1
- package/es/components/message/src/message.vue.d.ts +3 -3
- package/es/components/message/src/message.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/message/src/message.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/message/src/message2.mjs.map +1 -1
- package/es/components/message-box/src/index.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/message-box/src/message-box.type.d.ts +5 -3
- package/es/components/notification/src/notification.vue.d.ts +4 -4
- package/es/components/overlay/index.d.ts +3 -3
- package/es/components/overlay/src/overlay.d.ts +2 -2
- package/es/components/pagination/src/pagination.d.ts +6 -6
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/es/components/popover/src/popover.d.ts +1 -1
- package/es/components/popover/src/popover.vue.d.ts +7 -7
- package/es/components/popper/src/composables/use-content.d.ts +5 -5
- package/es/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/es/components/popper/src/content.d.ts +4 -4
- package/es/components/popper/src/content.vue.d.ts +4 -4
- package/es/components/popper/src/popper.d.ts +2 -2
- package/es/components/popper/src/trigger.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/popper/src/trigger2.mjs.map +1 -1
- package/es/components/progress/src/progress.vue.d.ts +2 -2
- package/es/components/radio/src/radio-button.d.ts +1 -1
- package/es/components/radio/src/radio-button.vue.d.ts +2 -2
- package/es/components/radio/src/radio-group.d.ts +1 -1
- package/es/components/radio/src/radio-group.vue.d.ts +4 -4
- package/es/components/radio/src/radio.d.ts +2 -2
- package/es/components/radio/src/radio.vue.d.ts +4 -4
- package/es/components/rate/src/rate.d.ts +1 -1
- package/es/components/rate/src/rate.vue.d.ts +2 -2
- package/es/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/es/components/row/src/row.d.ts +1 -1
- package/es/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
- package/es/components/scrollbar/src/scrollbar.vue_vue_type_script_setup_true_lang.mjs +4 -3
- package/es/components/scrollbar/src/scrollbar.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs.map +1 -1
- package/es/components/segmented/index.d.ts +2 -2
- package/es/components/segmented/src/segmented.d.ts +1 -1
- package/es/components/segmented/src/segmented.vue.d.ts +1 -1
- package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs +2 -57
- package/es/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/select/src/option.d.ts +1 -1
- package/es/components/select/src/option.vue.d.ts +3 -2
- package/es/components/select/src/option.vue_vue_type_script_lang.mjs +11 -0
- package/es/components/select/src/option.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select/src/option2.mjs +2 -1
- package/es/components/select/src/option2.mjs.map +1 -1
- package/es/components/select/src/select.d.ts +3 -3
- package/es/components/select/src/select.vue.d.ts +76 -81
- package/es/components/select/src/select.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/select/src/type.d.ts +1 -0
- package/es/components/select-v2/src/defaults.d.ts +2 -2
- package/es/components/select-v2/src/defaults.mjs.map +1 -1
- package/es/components/select-v2/src/option-item.mjs +2 -1
- package/es/components/select-v2/src/option-item.mjs.map +1 -1
- package/es/components/select-v2/src/option-item.vue_vue_type_script_lang.mjs +13 -1
- package/es/components/select-v2/src/option-item.vue_vue_type_script_lang.mjs.map +1 -1
- package/es/components/select-v2/src/select.vue.d.ts +62 -68
- package/es/components/select-v2/src/select.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/es/components/skeleton/src/skeleton.vue.d.ts +1 -1
- package/es/components/slider/src/button.vue.d.ts +1 -1
- package/es/components/slider/src/slider.d.ts +2 -2
- package/es/components/slider/src/slider.vue.d.ts +9 -9
- package/es/components/space/src/space.d.ts +10 -9
- package/es/components/steps/src/steps.vue.d.ts +1 -1
- package/es/components/switch/src/switch.d.ts +1 -1
- package/es/components/switch/src/switch.vue.d.ts +3 -3
- package/es/components/table/src/table-body/index.d.ts +1 -1
- package/es/components/table/src/table-column/index.d.ts +15 -15
- package/es/components/table/src/table-footer/index.d.ts +1 -1
- package/es/components/table/src/table-header/index.d.ts +15 -15
- package/es/components/table/src/table.vue.d.ts +35 -35
- package/es/components/table/src/table.vue_vue_type_script_lang.mjs +1 -1
- package/es/components/table-v2/src/components/header.d.ts +1 -1
- package/es/components/table-v2/src/components/index.d.ts +2 -2
- package/es/components/table-v2/src/components/row.d.ts +12 -3
- package/es/components/table-v2/src/components/row.mjs.map +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +2 -2
- package/es/components/table-v2/src/table-v2.d.ts +18 -6
- package/es/components/table-v2/src/table-v2.mjs +1 -0
- package/es/components/table-v2/src/table-v2.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar.vue.d.ts +1 -1
- package/es/components/tabs/src/tab-bar.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/tabs/src/tab-bar2.mjs.map +1 -1
- package/es/components/tabs/src/tab-nav.d.ts +1 -1
- package/es/components/tabs/src/tabs.d.ts +5 -5
- package/es/components/tag/src/tag.d.ts +1 -1
- package/es/components/text/src/text.d.ts +1 -1
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +16 -16
- package/es/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.mjs +4 -3
- package/es/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/time-picker/src/common/props.d.ts +2 -2
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.mjs +1 -1
- package/es/components/time-picker/src/time-picker.d.ts +12 -12
- package/es/components/time-select/src/time-select.d.ts +1 -1
- package/es/components/time-select/src/time-select.vue.d.ts +5 -5
- package/es/components/timeline/src/timeline-item.d.ts +2 -2
- package/es/components/timeline/src/timeline-item.vue.d.ts +1 -1
- package/es/components/tooltip/src/content.d.ts +1 -1
- package/es/components/tooltip/src/content.vue.d.ts +6 -6
- package/es/components/tooltip/src/tooltip.d.ts +2 -2
- package/es/components/tooltip/src/tooltip.vue.d.ts +12 -12
- package/es/components/tour/src/content.d.ts +2 -2
- package/es/components/tour/src/step.d.ts +1 -1
- package/es/components/tour/src/tour.d.ts +1 -1
- package/es/components/tour/src/tour.vue.d.ts +3 -3
- package/es/components/transfer/src/composables/use-check.d.ts +4 -4
- package/es/components/transfer/src/composables/use-check.mjs.map +1 -1
- package/es/components/transfer/src/composables/use-computed-data.d.ts +3 -3
- package/es/components/transfer/src/composables/use-computed-data.mjs +1 -1
- package/es/components/transfer/src/composables/use-computed-data.mjs.map +1 -1
- package/es/components/transfer/src/composables/use-move.d.ts +2 -2
- package/es/components/transfer/src/composables/use-move.mjs.map +1 -1
- package/es/components/transfer/src/composables/use-props-alias.d.ts +4 -2
- package/es/components/transfer/src/composables/use-props-alias.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.d.ts +11 -10
- package/es/components/transfer/src/transfer-panel.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel.vue.d.ts +23 -25
- package/es/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/transfer/src/transfer-panel2.mjs.map +1 -1
- package/es/components/transfer/src/transfer.d.ts +9 -8
- package/es/components/transfer/src/transfer.mjs.map +1 -1
- package/es/components/transfer/src/transfer.vue.d.ts +32 -42
- package/es/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.mjs.map +1 -1
- package/es/components/transfer/src/transfer2.mjs.map +1 -1
- package/es/components/tree/src/tree.vue.d.ts +19 -25
- package/es/components/tree-select/src/tree-select.vue.d.ts +31 -31
- package/es/components/tree-v2/src/tree.vue.d.ts +3 -3
- package/es/components/upload/src/upload-content.mjs.map +1 -1
- package/es/components/upload/src/upload-content.vue.d.ts +1 -1
- package/es/components/upload/src/upload.vue.d.ts +2 -2
- package/es/components/virtual-list/src/builders/build-grid.d.ts +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
- package/es/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
- package/es/constants/index.mjs +2 -2
- package/es/directives/trap-focus/index.mjs +1 -1
- package/es/hooks/use-floating/index.d.ts +8 -8
- package/es/hooks/use-popper/index.d.ts +5 -5
- package/es/hooks/use-size/index.d.ts +3 -3
- package/es/hooks/use-timeout/index.mjs +6 -2
- package/es/hooks/use-timeout/index.mjs.map +1 -1
- package/es/index.d.ts +2 -2
- package/es/index.mjs +13 -13
- package/es/plugin.mjs +1 -1
- package/es/utils/index.d.ts +2 -2
- package/es/utils/typescript.d.ts +22 -5
- package/es/utils/typescript.mjs.map +1 -1
- package/es/utils/vue/typescript.d.ts +3 -2
- package/es/utils/vue/vnode.d.ts +4 -4
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/component.js +107 -107
- package/lib/components/affix/src/affix.d.ts +3 -2
- package/lib/components/affix/src/affix.vue.d.ts +4 -5
- package/lib/components/alert/src/alert.vue.d.ts +1 -1
- package/lib/components/anchor/src/anchor-link.vue.d.ts +1 -3
- package/lib/components/anchor/src/anchor-link.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/anchor/src/anchor-link2.js.map +1 -1
- package/lib/components/anchor/src/anchor.vue.d.ts +2 -2
- package/lib/components/autocomplete/index.d.ts +2 -2
- package/lib/components/autocomplete/src/autocomplete.d.ts +21 -13
- package/lib/components/autocomplete/src/autocomplete.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +55 -80
- package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js +4 -2
- package/lib/components/autocomplete/src/autocomplete.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/autocomplete/src/autocomplete2.js.map +1 -1
- package/lib/components/avatar/src/avatar-group-props.d.ts +1 -1
- package/lib/components/avatar/src/avatar-group.d.ts +2 -2
- package/lib/components/avatar/src/avatar.d.ts +3 -2
- package/lib/components/avatar/src/avatar.vue.d.ts +2 -3
- package/lib/components/backtop/src/backtop.vue.d.ts +1 -1
- package/lib/components/badge/src/badge.vue.d.ts +1 -1
- package/lib/components/button/src/button-custom.js +17 -0
- package/lib/components/button/src/button-custom.js.map +1 -1
- package/lib/components/button/src/button.d.ts +1 -1
- package/lib/components/button/src/button.vue.d.ts +3 -3
- package/lib/components/calendar/src/use-date-table.js +2 -1
- package/lib/components/calendar/src/use-date-table.js.map +1 -1
- package/lib/components/card/src/card.d.ts +1 -1
- package/lib/components/carousel/src/carousel-item.vue.d.ts +1 -1
- package/lib/components/carousel/src/carousel.d.ts +1 -1
- package/lib/components/cascader/src/cascader.d.ts +2 -2
- package/lib/components/cascader/src/cascader.vue.d.ts +15 -15
- package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js +44 -39
- package/lib/components/cascader/src/cascader.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/cascader/src/cascader2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js.map +1 -1
- package/lib/components/cascader-panel/src/index.vue.d.ts +2 -2
- package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js +11 -11
- package/lib/components/cascader-panel/src/index.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/checkbox/src/checkbox-button.vue.d.ts +4 -4
- package/lib/components/checkbox/src/checkbox-group.d.ts +1 -1
- package/lib/components/checkbox/src/checkbox-group.vue.d.ts +2 -2
- package/lib/components/checkbox/src/checkbox.d.ts +3 -3
- package/lib/components/checkbox/src/checkbox.vue.d.ts +4 -4
- package/lib/components/checkbox/src/composables/use-checkbox-model.js +6 -2
- package/lib/components/checkbox/src/composables/use-checkbox-model.js.map +1 -1
- package/lib/components/checkbox/src/composables/use-checkbox-status.d.ts +2 -2
- package/lib/components/checkbox/src/composables/use-checkbox.d.ts +2 -2
- package/lib/components/col/src/col.vue.d.ts +1 -1
- package/lib/components/collapse/src/collapse.d.ts +1 -1
- package/lib/components/collapse/src/collapse.vue.d.ts +1 -1
- package/lib/components/color-picker/src/color-picker.d.ts +1 -1
- package/lib/components/color-picker/src/color-picker.vue.d.ts +7 -7
- package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js +18 -18
- package/lib/components/color-picker/src/color-picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/color-picker-panel/src/color-picker-panel.vue.d.ts +1 -1
- package/lib/components/color-picker-panel/src/composables/use-predefine.js.map +1 -1
- package/lib/components/config-provider/src/config-provider-props.d.ts +1 -1
- package/lib/components/config-provider/src/config-provider.d.ts +3 -3
- package/lib/components/config-provider/src/hooks/use-global-config.d.ts +1 -1
- package/lib/components/countdown/src/countdown.vue_vue_type_script_setup_true_lang.js +1 -1
- package/lib/components/date-picker/src/date-picker.d.ts +12 -12
- package/lib/components/date-picker/src/props.d.ts +2 -2
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js +19 -19
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-pick.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.js +23 -23
- package/lib/components/date-picker-panel/src/date-picker-com/panel-date-range.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/date-picker-panel/src/date-picker-panel.d.ts +3 -3
- package/lib/components/descriptions/src/description-item.d.ts +8 -8
- package/lib/components/descriptions/src/description.d.ts +1 -1
- package/lib/components/descriptions/src/description.js.map +1 -1
- package/lib/components/descriptions/src/description.vue.d.ts +1 -1
- package/lib/components/dialog/src/dialog.vue.d.ts +11 -11
- package/lib/components/dialog/src/dialog.vue_vue_type_script_setup_true_lang.js +6 -5
- package/lib/components/dialog/src/dialog.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/dialog/src/dialog2.js.map +1 -1
- package/lib/components/dialog/src/use-dialog.d.ts +4 -2
- package/lib/components/dialog/src/use-dialog.js +8 -1
- package/lib/components/dialog/src/use-dialog.js.map +1 -1
- package/lib/components/divider/src/divider.d.ts +1 -1
- package/lib/components/drawer/src/drawer.vue.d.ts +5 -5
- package/lib/components/dropdown/src/dropdown-item.vue.d.ts +4 -10
- package/lib/components/dropdown/src/dropdown-menu.vue.d.ts +1 -1
- package/lib/components/dropdown/src/dropdown.d.ts +2 -2
- package/lib/components/dropdown/src/dropdown.vue.d.ts +60 -66
- package/lib/components/focus-trap/src/focus-trap.vue.d.ts +1 -1
- package/lib/components/form/src/form-item.d.ts +2 -2
- package/lib/components/form/src/form-item.vue.d.ts +1 -1
- package/lib/components/form/src/form-item.vue_vue_type_script_setup_true_lang.js +11 -1
- package/lib/components/form/src/form-item.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/form/src/form.d.ts +4 -4
- package/lib/components/form/src/form.vue.d.ts +1 -1
- package/lib/components/form/src/form.vue_vue_type_script_setup_true_lang.js +11 -3
- package/lib/components/form/src/form.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/form/src/form2.js.map +1 -1
- package/lib/components/form/src/hooks/use-form-common-props.d.ts +2 -2
- package/lib/components/form/src/types.d.ts +2 -1
- package/lib/components/icon/src/icon.vue.d.ts +1 -3
- package/lib/components/icon/src/icon.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/icon/src/icon2.js.map +1 -1
- package/lib/components/image/src/image.d.ts +1 -1
- package/lib/components/image/src/image.vue.d.ts +3 -3
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +2 -2
- package/lib/components/index.d.ts +2 -2
- package/lib/components/index.js +123 -123
- package/lib/components/input/src/input.d.ts +13 -3
- package/lib/components/input/src/input.js +1 -0
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +6 -5
- package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js +76 -11
- package/lib/components/input/src/input.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/src/input-number.d.ts +3 -3
- package/lib/components/input-number/src/input-number.vue.d.ts +5 -5
- package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js +12 -12
- package/lib/components/input-number/src/input-number.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/input-tag/src/composables/use-input-tag.d.ts +1 -1
- package/lib/components/input-tag/src/input-tag.d.ts +2 -2
- package/lib/components/input-tag/src/input-tag.vue.d.ts +9 -9
- package/lib/components/link/src/link.d.ts +1 -1
- package/lib/components/link/src/link.vue.d.ts +1 -1
- package/lib/components/mention/src/helper.d.ts +1 -1
- package/lib/components/mention/src/helper.js.map +1 -1
- package/lib/components/mention/src/mention.d.ts +17 -10
- package/lib/components/mention/src/mention.js.map +1 -1
- package/lib/components/mention/src/mention.vue.d.ts +48 -55
- package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js +4 -2
- package/lib/components/mention/src/mention.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/mention/src/mention2.js.map +1 -1
- package/lib/components/menu/src/menu.d.ts +1 -1
- package/lib/components/menu/src/menu.js +7 -7
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/menu/src/sub-menu.d.ts +1 -1
- package/lib/components/menu/src/utils/menu-item.js +11 -11
- package/lib/components/menu/src/utils/menu-item.js.map +1 -1
- package/lib/components/menu/src/utils/submenu.js +9 -9
- package/lib/components/menu/src/utils/submenu.js.map +1 -1
- package/lib/components/message/src/message.d.ts +1 -1
- package/lib/components/message/src/message.vue.d.ts +3 -3
- package/lib/components/message/src/message.vue_vue_type_script_setup_true_lang.js +1 -1
- package/lib/components/message/src/message.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/message/src/message2.js.map +1 -1
- package/lib/components/message-box/src/index.vue_vue_type_script_lang.js +19 -19
- package/lib/components/message-box/src/index.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/message-box/src/message-box.type.d.ts +5 -3
- package/lib/components/notification/src/notification.vue.d.ts +4 -4
- package/lib/components/overlay/index.d.ts +3 -3
- package/lib/components/overlay/src/overlay.d.ts +2 -2
- package/lib/components/pagination/src/pagination.d.ts +6 -6
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +2 -2
- package/lib/components/popover/src/popover.d.ts +1 -1
- package/lib/components/popover/src/popover.vue.d.ts +7 -7
- package/lib/components/popper/src/composables/use-content.d.ts +5 -5
- package/lib/components/popper/src/composables/use-focus-trap.d.ts +1 -1
- package/lib/components/popper/src/content.d.ts +4 -4
- package/lib/components/popper/src/content.vue.d.ts +4 -4
- package/lib/components/popper/src/popper.d.ts +2 -2
- package/lib/components/popper/src/trigger.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/popper/src/trigger2.js.map +1 -1
- package/lib/components/progress/src/progress.vue.d.ts +2 -2
- package/lib/components/radio/src/radio-button.d.ts +1 -1
- package/lib/components/radio/src/radio-button.vue.d.ts +2 -2
- package/lib/components/radio/src/radio-group.d.ts +1 -1
- package/lib/components/radio/src/radio-group.vue.d.ts +4 -4
- package/lib/components/radio/src/radio.d.ts +2 -2
- package/lib/components/radio/src/radio.vue.d.ts +4 -4
- package/lib/components/rate/src/rate.d.ts +1 -1
- package/lib/components/rate/src/rate.vue.d.ts +2 -2
- package/lib/components/roving-focus-group/src/roving-focus-item.vue.d.ts +1 -1
- package/lib/components/row/src/row.d.ts +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue.d.ts +1 -1
- package/lib/components/scrollbar/src/scrollbar.vue_vue_type_script_setup_true_lang.js +4 -3
- package/lib/components/scrollbar/src/scrollbar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js.map +1 -1
- package/lib/components/segmented/index.d.ts +2 -2
- package/lib/components/segmented/src/segmented.d.ts +1 -1
- package/lib/components/segmented/src/segmented.vue.d.ts +1 -1
- package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js +1 -56
- package/lib/components/segmented/src/segmented.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/select/src/option.d.ts +1 -1
- package/lib/components/select/src/option.vue.d.ts +3 -2
- package/lib/components/select/src/option.vue_vue_type_script_lang.js +11 -0
- package/lib/components/select/src/option.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select/src/option2.js +2 -1
- package/lib/components/select/src/option2.js.map +1 -1
- package/lib/components/select/src/select.d.ts +3 -3
- package/lib/components/select/src/select.vue.d.ts +76 -81
- package/lib/components/select/src/select.vue_vue_type_script_lang.js +10 -10
- package/lib/components/select/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select/src/type.d.ts +1 -0
- package/lib/components/select-v2/src/defaults.d.ts +2 -2
- package/lib/components/select-v2/src/defaults.js.map +1 -1
- package/lib/components/select-v2/src/option-item.js +2 -1
- package/lib/components/select-v2/src/option-item.js.map +1 -1
- package/lib/components/select-v2/src/option-item.vue_vue_type_script_lang.js +13 -1
- package/lib/components/select-v2/src/option-item.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/select-v2/src/select.vue.d.ts +62 -68
- package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js +10 -10
- package/lib/components/select-v2/src/select.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/skeleton/src/skeleton-item.d.ts +1 -1
- package/lib/components/skeleton/src/skeleton.vue.d.ts +1 -1
- package/lib/components/slider/src/button.vue.d.ts +1 -1
- package/lib/components/slider/src/slider.d.ts +2 -2
- package/lib/components/slider/src/slider.vue.d.ts +9 -9
- package/lib/components/space/src/space.d.ts +10 -9
- package/lib/components/steps/src/steps.vue.d.ts +1 -1
- package/lib/components/switch/src/switch.d.ts +1 -1
- package/lib/components/switch/src/switch.vue.d.ts +3 -3
- package/lib/components/table/src/table-body/index.d.ts +1 -1
- package/lib/components/table/src/table-column/index.d.ts +15 -15
- package/lib/components/table/src/table-footer/index.d.ts +1 -1
- package/lib/components/table/src/table-header/index.d.ts +15 -15
- package/lib/components/table/src/table.vue.d.ts +35 -35
- package/lib/components/table/src/table.vue_vue_type_script_lang.js +8 -8
- package/lib/components/table/src/table.vue_vue_type_script_lang.js.map +1 -1
- package/lib/components/table-v2/src/components/header.d.ts +1 -1
- package/lib/components/table-v2/src/components/index.d.ts +2 -2
- package/lib/components/table-v2/src/components/row.d.ts +12 -3
- package/lib/components/table-v2/src/components/row.js.map +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +2 -2
- package/lib/components/table-v2/src/table-v2.d.ts +18 -6
- package/lib/components/table-v2/src/table-v2.js +1 -0
- package/lib/components/table-v2/src/table-v2.js.map +1 -1
- package/lib/components/tabs/src/tab-bar.vue.d.ts +1 -1
- package/lib/components/tabs/src/tab-bar.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/tabs/src/tab-bar2.js.map +1 -1
- package/lib/components/tabs/src/tab-nav.d.ts +1 -1
- package/lib/components/tabs/src/tabs.d.ts +5 -5
- package/lib/components/tag/src/tag.d.ts +1 -1
- package/lib/components/text/src/text.d.ts +1 -1
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +16 -16
- package/lib/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.js +4 -3
- package/lib/components/time-picker/src/common/picker.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/time-picker/src/common/props.d.ts +2 -2
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.js +10 -10
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/time-picker/src/time-picker.d.ts +12 -12
- package/lib/components/time-select/src/time-select.d.ts +1 -1
- package/lib/components/time-select/src/time-select.vue.d.ts +5 -5
- package/lib/components/timeline/src/timeline-item.d.ts +2 -2
- package/lib/components/timeline/src/timeline-item.vue.d.ts +1 -1
- package/lib/components/tooltip/src/content.d.ts +1 -1
- package/lib/components/tooltip/src/content.vue.d.ts +6 -6
- package/lib/components/tooltip/src/tooltip.d.ts +2 -2
- package/lib/components/tooltip/src/tooltip.vue.d.ts +12 -12
- package/lib/components/tour/src/content.d.ts +2 -2
- package/lib/components/tour/src/step.d.ts +1 -1
- package/lib/components/tour/src/tour.d.ts +1 -1
- package/lib/components/tour/src/tour.vue.d.ts +3 -3
- package/lib/components/transfer/src/composables/use-check.d.ts +4 -4
- package/lib/components/transfer/src/composables/use-check.js.map +1 -1
- package/lib/components/transfer/src/composables/use-computed-data.d.ts +3 -3
- package/lib/components/transfer/src/composables/use-computed-data.js +1 -1
- package/lib/components/transfer/src/composables/use-computed-data.js.map +1 -1
- package/lib/components/transfer/src/composables/use-move.d.ts +2 -2
- package/lib/components/transfer/src/composables/use-move.js.map +1 -1
- package/lib/components/transfer/src/composables/use-props-alias.d.ts +4 -2
- package/lib/components/transfer/src/composables/use-props-alias.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.d.ts +11 -10
- package/lib/components/transfer/src/transfer-panel.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel.vue.d.ts +23 -25
- package/lib/components/transfer/src/transfer-panel.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/transfer/src/transfer-panel2.js.map +1 -1
- package/lib/components/transfer/src/transfer.d.ts +9 -8
- package/lib/components/transfer/src/transfer.js.map +1 -1
- package/lib/components/transfer/src/transfer.vue.d.ts +32 -42
- package/lib/components/transfer/src/transfer.vue_vue_type_script_setup_true_lang.js.map +1 -1
- package/lib/components/transfer/src/transfer2.js.map +1 -1
- package/lib/components/tree/src/tree.vue.d.ts +19 -25
- package/lib/components/tree-select/src/tree-select.vue.d.ts +31 -31
- package/lib/components/tree-v2/src/tree.vue.d.ts +3 -3
- package/lib/components/upload/src/upload-content.js.map +1 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +2 -2
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-list.d.ts +2 -2
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-list.d.ts +2 -2
- package/lib/constants/index.js +2 -2
- package/lib/directives/trap-focus/index.js +5 -5
- package/lib/directives/trap-focus/index.js.map +1 -1
- package/lib/hooks/use-floating/index.d.ts +8 -8
- package/lib/hooks/use-popper/index.d.ts +5 -5
- package/lib/hooks/use-size/index.d.ts +3 -3
- package/lib/hooks/use-timeout/index.js +6 -2
- package/lib/hooks/use-timeout/index.js.map +1 -1
- package/lib/index.d.ts +2 -2
- package/lib/index.js +267 -267
- package/lib/plugin.js +12 -12
- package/lib/utils/index.d.ts +2 -2
- package/lib/utils/typescript.d.ts +22 -5
- package/lib/utils/typescript.js.map +1 -1
- package/lib/utils/vue/typescript.d.ts +3 -2
- package/lib/utils/vue/vnode.d.ts +4 -4
- 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-table.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/table.scss +1 -1
- package/web-types.json +1 -1
|
@@ -56,7 +56,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
56
56
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
57
57
|
__epPropKey: true;
|
|
58
58
|
};
|
|
59
|
-
readonly placement: EpPropFinalized<(new (...args: any[]) => "
|
|
59
|
+
readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown, "bottom", boolean>;
|
|
60
60
|
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
61
61
|
readonly id: StringConstructor;
|
|
62
62
|
readonly size: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
@@ -177,7 +177,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
177
177
|
__epPropKey: true;
|
|
178
178
|
};
|
|
179
179
|
readonly disabled: BooleanConstructor;
|
|
180
|
-
readonly role: EpPropFinalized<StringConstructor, "
|
|
180
|
+
readonly role: EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree", unknown, "menu", boolean>;
|
|
181
181
|
readonly buttonProps: {
|
|
182
182
|
readonly type: vue.PropType<Partial<ButtonProps>>;
|
|
183
183
|
readonly required: false;
|
|
@@ -215,7 +215,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
215
215
|
scrollbar: vue.Ref<null, null>;
|
|
216
216
|
wrapStyle: vue.ComputedRef<CSSProperties>;
|
|
217
217
|
dropdownTriggerKls: vue.ComputedRef<string[]>;
|
|
218
|
-
dropdownSize: vue.ComputedRef<"" | "default" | "
|
|
218
|
+
dropdownSize: vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
219
219
|
triggerId: vue.ComputedRef<string>;
|
|
220
220
|
currentTabId: vue.Ref<string | null, string | null>;
|
|
221
221
|
handleCurrentTabIdChange: (id: string) => void;
|
|
@@ -258,7 +258,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
258
258
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
259
259
|
__epPropKey: true;
|
|
260
260
|
};
|
|
261
|
-
readonly placement: EpPropFinalized<(new (...args: any[]) => "
|
|
261
|
+
readonly placement: EpPropFinalized<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown, "bottom", boolean>;
|
|
262
262
|
readonly popperOptions: EpPropFinalized<(new (...args: any[]) => Partial<Options>) | (() => Partial<Options>) | (((new (...args: any[]) => Partial<Options>) | (() => Partial<Options>)) | null)[], unknown, unknown, () => {}, boolean>;
|
|
263
263
|
readonly id: StringConstructor;
|
|
264
264
|
readonly size: EpPropFinalized<StringConstructor, unknown, unknown, "", boolean>;
|
|
@@ -379,7 +379,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
379
379
|
__epPropKey: true;
|
|
380
380
|
};
|
|
381
381
|
readonly disabled: BooleanConstructor;
|
|
382
|
-
readonly role: EpPropFinalized<StringConstructor, "
|
|
382
|
+
readonly role: EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree", unknown, "menu", boolean>;
|
|
383
383
|
readonly buttonProps: {
|
|
384
384
|
readonly type: vue.PropType<Partial<ButtonProps>>;
|
|
385
385
|
readonly required: false;
|
|
@@ -399,21 +399,21 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
399
399
|
"onVisible-change"?: ((...args: any[]) => any) | undefined;
|
|
400
400
|
onCommand?: ((...args: any[]) => any) | undefined;
|
|
401
401
|
}>, {
|
|
402
|
+
readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
402
403
|
readonly effect: EpPropMergeType<(new (...args: any[]) => string) | (() => PopperEffect) | (((new (...args: any[]) => string) | (() => PopperEffect)) | null)[], unknown, unknown>;
|
|
403
404
|
readonly size: string;
|
|
404
405
|
readonly disabled: boolean;
|
|
405
|
-
readonly
|
|
406
|
-
readonly teleported: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
407
|
-
readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
406
|
+
readonly tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
408
407
|
readonly virtualTriggering: boolean;
|
|
409
408
|
readonly loop: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
409
|
+
readonly placement: EpPropMergeType<(new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement) | (((new (...args: any[]) => "top" | "auto" | "bottom" | "left" | "right" | "auto-start" | "auto-end" | "top-start" | "top-end" | "bottom-start" | "bottom-end" | "right-start" | "right-end" | "left-start" | "left-end") | (() => Placement)) | null)[], unknown, unknown>;
|
|
410
410
|
readonly popperOptions: Partial<Options>;
|
|
411
411
|
readonly showArrow: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
412
|
-
readonly role: EpPropMergeType<StringConstructor, "
|
|
412
|
+
readonly role: EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "group" | "navigation" | "tree", unknown>;
|
|
413
|
+
readonly persistent: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
413
414
|
readonly trigger: Arrayable<"click" | "contextmenu" | "hover">;
|
|
414
415
|
readonly triggerKeys: string[];
|
|
415
416
|
readonly maxHeight: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
416
|
-
readonly tabindex: EpPropMergeType<(new (...args: any[]) => string | number) | (() => string | number) | (((new (...args: any[]) => string | number) | (() => string | number)) | null)[], unknown, unknown>;
|
|
417
417
|
readonly hideOnClick: EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
418
418
|
readonly showTimeout: number;
|
|
419
419
|
readonly hideTimeout: number;
|
|
@@ -424,7 +424,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
424
424
|
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
425
425
|
}>, {
|
|
426
426
|
ref: vue.Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>;
|
|
427
|
-
size: vue.ComputedRef<"" | "default" | "
|
|
427
|
+
size: vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
428
428
|
type: vue.ComputedRef<"default" | "" | "info" | "primary" | "success" | "warning" | "text" | "danger">;
|
|
429
429
|
disabled: vue.ComputedRef<boolean>;
|
|
430
430
|
shouldAddSpace: vue.ComputedRef<boolean>;
|
|
@@ -432,13 +432,13 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
432
432
|
click: (evt: MouseEvent) => void;
|
|
433
433
|
}, vue.PublicProps, {
|
|
434
434
|
type: ButtonType;
|
|
435
|
-
disabled: boolean;
|
|
436
435
|
text: boolean;
|
|
436
|
+
disabled: boolean;
|
|
437
437
|
round: boolean;
|
|
438
438
|
dashed: boolean;
|
|
439
|
-
plain: boolean;
|
|
440
439
|
nativeType: ButtonNativeType;
|
|
441
440
|
loadingIcon: IconPropType;
|
|
441
|
+
plain: boolean;
|
|
442
442
|
autoInsertSpace: boolean;
|
|
443
443
|
tag: string | vue.Component;
|
|
444
444
|
}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
|
|
@@ -452,19 +452,19 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
452
452
|
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
453
453
|
}>, {
|
|
454
454
|
ref: vue.Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>;
|
|
455
|
-
size: vue.ComputedRef<"" | "default" | "
|
|
455
|
+
size: vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
456
456
|
type: vue.ComputedRef<"default" | "" | "info" | "primary" | "success" | "warning" | "text" | "danger">;
|
|
457
457
|
disabled: vue.ComputedRef<boolean>;
|
|
458
458
|
shouldAddSpace: vue.ComputedRef<boolean>;
|
|
459
459
|
}, {}, {}, {}, {
|
|
460
460
|
type: ButtonType;
|
|
461
|
-
disabled: boolean;
|
|
462
461
|
text: boolean;
|
|
462
|
+
disabled: boolean;
|
|
463
463
|
round: boolean;
|
|
464
464
|
dashed: boolean;
|
|
465
|
-
plain: boolean;
|
|
466
465
|
nativeType: ButtonNativeType;
|
|
467
466
|
loadingIcon: IconPropType;
|
|
467
|
+
plain: boolean;
|
|
468
468
|
autoInsertSpace: boolean;
|
|
469
469
|
tag: string | vue.Component;
|
|
470
470
|
}>;
|
|
@@ -475,7 +475,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
475
475
|
onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
476
476
|
}>, {
|
|
477
477
|
ref: vue.Ref<HTMLButtonElement | undefined, HTMLButtonElement | undefined>;
|
|
478
|
-
size: vue.ComputedRef<"" | "default" | "
|
|
478
|
+
size: vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
479
479
|
type: vue.ComputedRef<"default" | "" | "info" | "primary" | "success" | "warning" | "text" | "danger">;
|
|
480
480
|
disabled: vue.ComputedRef<boolean>;
|
|
481
481
|
shouldAddSpace: vue.ComputedRef<boolean>;
|
|
@@ -483,13 +483,13 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
483
483
|
click: (evt: MouseEvent) => void;
|
|
484
484
|
}, string, {
|
|
485
485
|
type: ButtonType;
|
|
486
|
-
disabled: boolean;
|
|
487
486
|
text: boolean;
|
|
487
|
+
disabled: boolean;
|
|
488
488
|
round: boolean;
|
|
489
489
|
dashed: boolean;
|
|
490
|
-
plain: boolean;
|
|
491
490
|
nativeType: ButtonNativeType;
|
|
492
491
|
loadingIcon: IconPropType;
|
|
492
|
+
plain: boolean;
|
|
493
493
|
autoInsertSpace: boolean;
|
|
494
494
|
tag: string | vue.Component;
|
|
495
495
|
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
|
|
@@ -501,7 +501,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
501
501
|
default?: (props: {}) => any;
|
|
502
502
|
};
|
|
503
503
|
}) & vue.ObjectPlugin & {
|
|
504
|
-
setPropsDefaults: (defaults: Partial<{
|
|
504
|
+
setPropsDefaults: (defaults: Partial<Omit<{
|
|
505
505
|
readonly size?: ComponentSize | undefined;
|
|
506
506
|
readonly disabled?: boolean | undefined;
|
|
507
507
|
readonly type?: ButtonType | undefined;
|
|
@@ -522,7 +522,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
522
522
|
readonly autoInsertSpace?: boolean | undefined;
|
|
523
523
|
readonly tag?: (string | vue.Component) | undefined;
|
|
524
524
|
readonly onClick?: ((evt: MouseEvent) => any) | undefined;
|
|
525
|
-
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps
|
|
525
|
+
} & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps, "onClick" | keyof vue.VNodeProps | keyof vue.AllowedComponentProps>>) => void;
|
|
526
526
|
} & {
|
|
527
527
|
ButtonGroup: typeof _default$1;
|
|
528
528
|
};
|
|
@@ -576,9 +576,9 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
576
576
|
}) => void;
|
|
577
577
|
"end-reached": (direction: ScrollbarDirection) => void;
|
|
578
578
|
}, vue.PublicProps, {
|
|
579
|
+
tabindex: number | string;
|
|
579
580
|
height: number | string;
|
|
580
581
|
maxHeight: number | string;
|
|
581
|
-
tabindex: number | string;
|
|
582
582
|
tag: keyof HTMLElementTagNameMap | (string & {});
|
|
583
583
|
distance: number;
|
|
584
584
|
wrapStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
@@ -610,9 +610,9 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
610
610
|
setScrollLeft: (value: number) => void;
|
|
611
611
|
handleScroll: () => void;
|
|
612
612
|
}, {}, {}, {}, {
|
|
613
|
+
tabindex: number | string;
|
|
613
614
|
height: number | string;
|
|
614
615
|
maxHeight: number | string;
|
|
615
|
-
tabindex: number | string;
|
|
616
616
|
tag: keyof HTMLElementTagNameMap | (string & {});
|
|
617
617
|
distance: number;
|
|
618
618
|
wrapStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
@@ -647,9 +647,9 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
647
647
|
}) => void;
|
|
648
648
|
"end-reached": (direction: ScrollbarDirection) => void;
|
|
649
649
|
}, string, {
|
|
650
|
+
tabindex: number | string;
|
|
650
651
|
height: number | string;
|
|
651
652
|
maxHeight: number | string;
|
|
652
|
-
tabindex: number | string;
|
|
653
653
|
tag: keyof HTMLElementTagNameMap | (string & {});
|
|
654
654
|
distance: number;
|
|
655
655
|
wrapStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
@@ -665,12 +665,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
665
665
|
ElTooltip: SFCWithInstall<{
|
|
666
666
|
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<UseTooltipProps> & Readonly<{
|
|
667
667
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
668
|
+
onHide?: ((...args: any[]) => any) | undefined;
|
|
669
|
+
onShow?: ((...args: any[]) => any) | undefined;
|
|
670
|
+
onOpen?: ((...args: any[]) => any) | undefined;
|
|
668
671
|
"onUpdate:visible"?: ((...args: any[]) => any) | undefined;
|
|
669
672
|
"onBefore-show"?: ((...args: any[]) => any) | undefined;
|
|
670
673
|
"onBefore-hide"?: ((...args: any[]) => any) | undefined;
|
|
671
|
-
onShow?: ((...args: any[]) => any) | undefined;
|
|
672
|
-
onHide?: ((...args: any[]) => any) | undefined;
|
|
673
|
-
onOpen?: ((...args: any[]) => any) | undefined;
|
|
674
674
|
}>, {
|
|
675
675
|
popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
|
|
676
676
|
contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
|
|
@@ -681,35 +681,35 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
681
681
|
hide: (event?: Event) => void;
|
|
682
682
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
683
683
|
close: (...args: any[]) => void;
|
|
684
|
+
hide: (...args: any[]) => void;
|
|
685
|
+
show: (...args: any[]) => void;
|
|
686
|
+
open: (...args: any[]) => void;
|
|
684
687
|
"update:visible": (...args: any[]) => void;
|
|
685
688
|
"before-show": (...args: any[]) => void;
|
|
686
689
|
"before-hide": (...args: any[]) => void;
|
|
687
|
-
show: (...args: any[]) => void;
|
|
688
|
-
hide: (...args: any[]) => void;
|
|
689
|
-
open: (...args: any[]) => void;
|
|
690
690
|
}, vue.PublicProps, {
|
|
691
|
-
|
|
692
|
-
placement: Placement;
|
|
693
|
-
popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
691
|
+
offset: number;
|
|
694
692
|
teleported: boolean;
|
|
693
|
+
effect: PopperEffect;
|
|
695
694
|
visible: boolean | null;
|
|
695
|
+
content: string;
|
|
696
696
|
style: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
697
697
|
enterable: boolean;
|
|
698
698
|
pure: boolean;
|
|
699
699
|
focusOnShow: boolean;
|
|
700
700
|
trapping: boolean;
|
|
701
|
+
popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
701
702
|
stopPopperMouseEvent: boolean;
|
|
702
703
|
virtualTriggering: boolean;
|
|
703
704
|
loop: boolean;
|
|
704
705
|
boundariesPadding: number;
|
|
705
706
|
gpuAcceleration: boolean;
|
|
706
|
-
|
|
707
|
+
placement: Placement;
|
|
707
708
|
popperOptions: Partial<Options>;
|
|
708
|
-
strategy: "
|
|
709
|
+
strategy: "fixed" | "absolute";
|
|
709
710
|
arrowOffset: number;
|
|
710
711
|
showArrow: boolean;
|
|
711
712
|
role: typeof roleTypes[number];
|
|
712
|
-
content: string;
|
|
713
713
|
showAfter: number;
|
|
714
714
|
hideAfter: number;
|
|
715
715
|
autoClose: number;
|
|
@@ -724,12 +724,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
724
724
|
Defaults: {};
|
|
725
725
|
}, Readonly<UseTooltipProps> & Readonly<{
|
|
726
726
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
727
|
+
onHide?: ((...args: any[]) => any) | undefined;
|
|
728
|
+
onShow?: ((...args: any[]) => any) | undefined;
|
|
729
|
+
onOpen?: ((...args: any[]) => any) | undefined;
|
|
727
730
|
"onUpdate:visible"?: ((...args: any[]) => any) | undefined;
|
|
728
731
|
"onBefore-show"?: ((...args: any[]) => any) | undefined;
|
|
729
732
|
"onBefore-hide"?: ((...args: any[]) => any) | undefined;
|
|
730
|
-
onShow?: ((...args: any[]) => any) | undefined;
|
|
731
|
-
onHide?: ((...args: any[]) => any) | undefined;
|
|
732
|
-
onOpen?: ((...args: any[]) => any) | undefined;
|
|
733
733
|
}>, {
|
|
734
734
|
popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
|
|
735
735
|
contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
|
|
@@ -739,28 +739,28 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
739
739
|
onClose: (event?: Event, delay?: number) => void;
|
|
740
740
|
hide: (event?: Event) => void;
|
|
741
741
|
}, {}, {}, {}, {
|
|
742
|
-
|
|
743
|
-
placement: Placement;
|
|
744
|
-
popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
742
|
+
offset: number;
|
|
745
743
|
teleported: boolean;
|
|
744
|
+
effect: PopperEffect;
|
|
746
745
|
visible: boolean | null;
|
|
746
|
+
content: string;
|
|
747
747
|
style: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
748
748
|
enterable: boolean;
|
|
749
749
|
pure: boolean;
|
|
750
750
|
focusOnShow: boolean;
|
|
751
751
|
trapping: boolean;
|
|
752
|
+
popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
752
753
|
stopPopperMouseEvent: boolean;
|
|
753
754
|
virtualTriggering: boolean;
|
|
754
755
|
loop: boolean;
|
|
755
756
|
boundariesPadding: number;
|
|
756
757
|
gpuAcceleration: boolean;
|
|
757
|
-
|
|
758
|
+
placement: Placement;
|
|
758
759
|
popperOptions: Partial<Options>;
|
|
759
|
-
strategy: "
|
|
760
|
+
strategy: "fixed" | "absolute";
|
|
760
761
|
arrowOffset: number;
|
|
761
762
|
showArrow: boolean;
|
|
762
763
|
role: typeof roleTypes[number];
|
|
763
|
-
content: string;
|
|
764
764
|
showAfter: number;
|
|
765
765
|
hideAfter: number;
|
|
766
766
|
autoClose: number;
|
|
@@ -772,12 +772,12 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
772
772
|
__isSuspense?: never;
|
|
773
773
|
} & vue.ComponentOptionsBase<Readonly<UseTooltipProps> & Readonly<{
|
|
774
774
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
775
|
+
onHide?: ((...args: any[]) => any) | undefined;
|
|
776
|
+
onShow?: ((...args: any[]) => any) | undefined;
|
|
777
|
+
onOpen?: ((...args: any[]) => any) | undefined;
|
|
775
778
|
"onUpdate:visible"?: ((...args: any[]) => any) | undefined;
|
|
776
779
|
"onBefore-show"?: ((...args: any[]) => any) | undefined;
|
|
777
780
|
"onBefore-hide"?: ((...args: any[]) => any) | undefined;
|
|
778
|
-
onShow?: ((...args: any[]) => any) | undefined;
|
|
779
|
-
onHide?: ((...args: any[]) => any) | undefined;
|
|
780
|
-
onOpen?: ((...args: any[]) => any) | undefined;
|
|
781
781
|
}>, {
|
|
782
782
|
popperRef: vue.Ref<PopperInstance | undefined, PopperInstance | undefined>;
|
|
783
783
|
contentRef: vue.Ref<TooltipContentInstance | undefined, TooltipContentInstance | undefined>;
|
|
@@ -788,35 +788,35 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
788
788
|
hide: (event?: Event) => void;
|
|
789
789
|
}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {
|
|
790
790
|
close: (...args: any[]) => void;
|
|
791
|
+
hide: (...args: any[]) => void;
|
|
792
|
+
show: (...args: any[]) => void;
|
|
793
|
+
open: (...args: any[]) => void;
|
|
791
794
|
"update:visible": (...args: any[]) => void;
|
|
792
795
|
"before-show": (...args: any[]) => void;
|
|
793
796
|
"before-hide": (...args: any[]) => void;
|
|
794
|
-
show: (...args: any[]) => void;
|
|
795
|
-
hide: (...args: any[]) => void;
|
|
796
|
-
open: (...args: any[]) => void;
|
|
797
797
|
}, string, {
|
|
798
|
-
|
|
799
|
-
placement: Placement;
|
|
800
|
-
popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
798
|
+
offset: number;
|
|
801
799
|
teleported: boolean;
|
|
800
|
+
effect: PopperEffect;
|
|
802
801
|
visible: boolean | null;
|
|
802
|
+
content: string;
|
|
803
803
|
style: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
804
804
|
enterable: boolean;
|
|
805
805
|
pure: boolean;
|
|
806
806
|
focusOnShow: boolean;
|
|
807
807
|
trapping: boolean;
|
|
808
|
+
popperStyle: string | false | CSSProperties | vue.StyleValue[] | null;
|
|
808
809
|
stopPopperMouseEvent: boolean;
|
|
809
810
|
virtualTriggering: boolean;
|
|
810
811
|
loop: boolean;
|
|
811
812
|
boundariesPadding: number;
|
|
812
813
|
gpuAcceleration: boolean;
|
|
813
|
-
|
|
814
|
+
placement: Placement;
|
|
814
815
|
popperOptions: Partial<Options>;
|
|
815
|
-
strategy: "
|
|
816
|
+
strategy: "fixed" | "absolute";
|
|
816
817
|
arrowOffset: number;
|
|
817
818
|
showArrow: boolean;
|
|
818
819
|
role: typeof roleTypes[number];
|
|
819
|
-
content: string;
|
|
820
820
|
showAfter: number;
|
|
821
821
|
hideAfter: number;
|
|
822
822
|
autoClose: number;
|
|
@@ -908,24 +908,18 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
908
908
|
[key: string]: any;
|
|
909
909
|
}> | null, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, vue.PublicProps, Readonly<{}> & Readonly<{}>, {}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
910
910
|
ElIcon: SFCWithInstall<{
|
|
911
|
-
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {
|
|
912
|
-
size: number | string;
|
|
913
|
-
}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
|
|
911
|
+
new (...args: any[]): vue.CreateComponentPublicInstanceWithMixins<Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, vue.PublicProps, {}, false, {}, {}, vue.GlobalComponents, vue.GlobalDirectives, string, {}, any, vue.ComponentProvideOptions, {
|
|
914
912
|
P: {};
|
|
915
913
|
B: {};
|
|
916
914
|
D: {};
|
|
917
915
|
C: {};
|
|
918
916
|
M: {};
|
|
919
917
|
Defaults: {};
|
|
920
|
-
}, Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, {
|
|
921
|
-
size: number | string;
|
|
922
|
-
}>;
|
|
918
|
+
}, Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, {}>;
|
|
923
919
|
__isFragment?: never;
|
|
924
920
|
__isTeleport?: never;
|
|
925
921
|
__isSuspense?: never;
|
|
926
|
-
} & vue.ComponentOptionsBase<Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {
|
|
927
|
-
size: number | string;
|
|
928
|
-
}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
|
|
922
|
+
} & vue.ComponentOptionsBase<Readonly<IconProps> & Readonly<{}>, {}, {}, {}, {}, vue.ComponentOptionsMixin, vue.ComponentOptionsMixin, {}, string, {}, {}, string, {}, vue.GlobalComponents, vue.GlobalDirectives, string, vue.ComponentProvideOptions> & vue.VNodeProps & vue.AllowedComponentProps & vue.ComponentCustomProps & (new () => {
|
|
929
923
|
$slots: {
|
|
930
924
|
default?: (props: {}) => any;
|
|
931
925
|
};
|
|
@@ -31,7 +31,7 @@ declare const __VLS_export: vue.DefineComponent<vue.ExtractPropTypes<{
|
|
|
31
31
|
}>, {
|
|
32
32
|
loop: boolean;
|
|
33
33
|
trapped: boolean;
|
|
34
|
-
focusStartEl: HTMLElement | "
|
|
34
|
+
focusStartEl: HTMLElement | "first" | "container";
|
|
35
35
|
}, {}, {}, {}, string, vue.ComponentProvideOptions, true, {}, any>;
|
|
36
36
|
//#endregion
|
|
37
37
|
export { _default };
|
|
@@ -71,7 +71,7 @@ declare const formItemProps: {
|
|
|
71
71
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
72
72
|
__epPropKey: true;
|
|
73
73
|
};
|
|
74
|
-
readonly labelPosition: EpPropFinalized<StringConstructor, "" | "top" | "
|
|
74
|
+
readonly labelPosition: EpPropFinalized<StringConstructor, "" | "top" | "left" | "right", unknown, "", boolean>;
|
|
75
75
|
readonly prop: {
|
|
76
76
|
readonly type: vue.PropType<EpPropMergeType<(new (...args: any[]) => string | string[]) | (() => FormItemProp) | (((new (...args: any[]) => string | string[]) | (() => FormItemProp)) | null)[], unknown, unknown>>;
|
|
77
77
|
readonly required: false;
|
|
@@ -96,7 +96,7 @@ declare const formItemProps: {
|
|
|
96
96
|
readonly inlineMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, undefined, boolean>;
|
|
97
97
|
readonly showMessage: EpPropFinalized<BooleanConstructor, unknown, unknown, true, boolean>;
|
|
98
98
|
readonly size: {
|
|
99
|
-
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "
|
|
99
|
+
readonly type: vue.PropType<EpPropMergeType<StringConstructor, "" | "default" | "small" | "large", unknown>>;
|
|
100
100
|
readonly required: false;
|
|
101
101
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
102
102
|
__epPropKey: true;
|
|
@@ -19,7 +19,7 @@ declare const __VLS_base: vue.DefineComponent<FormItemProps, {
|
|
|
19
19
|
/**
|
|
20
20
|
* @description Form item size.
|
|
21
21
|
*/
|
|
22
|
-
size: vue.ComputedRef<"" | "default" | "
|
|
22
|
+
size: vue.ComputedRef<"" | "default" | "small" | "large">;
|
|
23
23
|
/**
|
|
24
24
|
* @description Validation message.
|
|
25
25
|
*/
|
|
@@ -184,6 +184,7 @@ var form_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
184
184
|
const setInitialValue = (value) => {
|
|
185
185
|
initialValue = cloneDeep(value);
|
|
186
186
|
};
|
|
187
|
+
const getInitialValue = () => initialValue;
|
|
187
188
|
watch(() => props.error, (val) => {
|
|
188
189
|
validateMessage.value = val || "";
|
|
189
190
|
setValidationState(val ? "error" : "");
|
|
@@ -206,9 +207,18 @@ var form_item_vue_vue_type_script_setup_true_lang_default = /* @__PURE__ */ defi
|
|
|
206
207
|
clearValidate,
|
|
207
208
|
validate,
|
|
208
209
|
propString,
|
|
209
|
-
setInitialValue
|
|
210
|
+
setInitialValue,
|
|
211
|
+
getInitialValue
|
|
210
212
|
});
|
|
211
213
|
provide(formItemContextKey, context);
|
|
214
|
+
watch(propString, (newPropString, oldPropString) => {
|
|
215
|
+
if (!formContext || !oldPropString) return;
|
|
216
|
+
formContext.removeField(context, oldPropString);
|
|
217
|
+
if (newPropString) {
|
|
218
|
+
setInitialValue(fieldValue.value);
|
|
219
|
+
formContext.addField(context);
|
|
220
|
+
}
|
|
221
|
+
});
|
|
212
222
|
onMounted(() => {
|
|
213
223
|
if (props.prop) {
|
|
214
224
|
setInitialValue(fieldValue.value);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div\n ref=\"formItemRef\"\n :class=\"formItemClasses\"\n :role=\"isGroup ? 'group' : undefined\"\n :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext?.labelWidth === 'auto'\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\"\n v-if=\"!!(label || $slots.label)\"\n :id=\"labelId\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </component>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\">\n <slot />\n <transition-group :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n useSlots,\n watch,\n} from 'vue'\nimport AsyncValidator from 'async-validator'\nimport { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\nimport { cloneDeep } from 'lodash-unified'\n\nimport type { CSSProperties } from 'vue'\nimport type { RuleItem } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormItemContext,\n FormItemRule,\n FormValidateFailure,\n} from './types'\nimport type { FormItemProps, FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = withDefaults(defineProps<FormItemProps>(), {\n labelPosition: '',\n showMessage: true,\n required: undefined,\n inlineMessage: undefined,\n})\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey, undefined)\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useFormSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateStateDebounced = refDebounced(validateState, 100)\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\n// special inline value.\nlet initialValue: any = undefined\nlet isResettingField = false\n\nconst labelPosition = computed(\n () => props.labelPosition || formContext?.labelPosition\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth ?? formContext?.labelWidth)\n return { width: labelWidth }\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top' || formContext?.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth ?? formContext?.labelWidth)\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext?.hideRequiredAsterisk),\n formContext?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formContext?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext?.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isArray(props.prop) ? props.prop.join('.') : props.prop\n})\n\nconst hasLabel = computed<boolean>(() => {\n return !!(props.label || slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for ?? (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext?.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst normalizedRules = computed(() => {\n const { required } = props\n\n const rules: FormItemRule[] = []\n\n if (props.rules) {\n rules.push(...ensureArray(props.rules))\n }\n\n const formRules = formContext?.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (required !== undefined) {\n const requiredRules = rules\n .map((rule, i) => [rule, i] as const)\n .filter(([rule]) => 'required' in rule)\n\n if (requiredRules.length > 0) {\n for (const [rule, i] of requiredRules) {\n if (rule.required === required) continue\n rules[i] = { ...rule, required }\n }\n } else {\n rules.push({ required })\n }\n }\n\n return rules\n})\n\nconst validateEnabled = computed(() => normalizedRules.value.length > 0)\n\nconst getFilteredRule = (trigger: string) => {\n const rules = normalizedRules.value\n return (\n rules\n .filter((rule) => {\n if (!rule.trigger || !trigger) return true\n if (isArray(rule.trigger)) {\n return rule.trigger.includes(trigger)\n } else {\n return rule.trigger === trigger\n }\n })\n // exclude trigger\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ trigger, ...rule }): RuleItem => rule)\n )\n}\n\nconst isRequired = computed(() =>\n normalizedRules.value.some((rule) => rule.required)\n)\n\nconst shouldShowError = computed(\n () =>\n validateStateDebounced.value === 'error' &&\n props.showMessage &&\n (formContext?.showMessage ?? true)\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext?.labelSuffix || ''}`\n)\n\nconst setValidationState = (state: FormItemValidateState) => {\n validateState.value = state\n}\n\nconst onValidationFailed = (error: FormValidateFailure) => {\n const { errors, fields } = error\n if (!errors || !fields) {\n console.error(error)\n }\n\n setValidationState('error')\n validateMessage.value = errors\n ? (errors?.[0]?.message ?? `${props.prop} is required`)\n : ''\n\n formContext?.emit('validate', props.prop!, false, validateMessage.value)\n}\n\nconst onValidationSucceeded = () => {\n setValidationState('success')\n formContext?.emit('validate', props.prop!, true, '')\n}\n\nconst doValidate = async (rules: RuleItem[]): Promise<true> => {\n const modelName = propString.value\n const validator = new AsyncValidator({\n [modelName]: rules,\n })\n return validator\n .validate({ [modelName]: fieldValue.value }, { firstFields: true })\n .then(() => {\n onValidationSucceeded()\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n onValidationFailed(err)\n return Promise.reject(err)\n })\n}\n\nconst validate: FormItemContext['validate'] = async (trigger, callback) => {\n // skip validation if its resetting\n if (isResettingField || !props.prop) {\n return false\n }\n\n const hasCallback = isFunction(callback)\n if (!validateEnabled.value) {\n callback?.(false)\n return false\n }\n\n const rules = getFilteredRule(trigger)\n if (rules.length === 0) {\n callback?.(true)\n return true\n }\n\n setValidationState('validating')\n\n return doValidate(rules)\n .then(() => {\n callback?.(true)\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n const { fields } = err\n callback?.(false, fields)\n return hasCallback ? false : Promise.reject(fields)\n })\n}\n\nconst clearValidate: FormItemContext['clearValidate'] = () => {\n setValidationState('')\n validateMessage.value = ''\n isResettingField = false\n}\n\nconst resetField: FormItemContext['resetField'] = async () => {\n const model = formContext?.model\n if (!model || !props.prop) return\n\n const computedValue = getProp(model, props.prop)\n\n // prevent validation from being triggered\n isResettingField = true\n\n computedValue.value = cloneDeep(initialValue)\n\n await nextTick()\n clearValidate()\n\n isResettingField = false\n}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter((listId) => listId !== id)\n}\n\nconst setInitialValue: FormItemContext['setInitialValue'] = (value: any) => {\n initialValue = cloneDeep(value)\n}\n\nwatch(\n () => props.error,\n (val) => {\n validateMessage.value = val || ''\n setValidationState(val ? 'error' : '')\n },\n { immediate: true }\n)\n\nwatch(\n () => props.validateStatus,\n (val) => setValidationState(val || '')\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateMessage,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n propString,\n setInitialValue,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n setInitialValue(fieldValue.value)\n formContext?.addField(context)\n }\n})\n\nonBeforeUnmount(() => {\n formContext?.removeField(context)\n})\n\ndefineExpose({\n /**\n * @description Form item size.\n */\n size: _size,\n /**\n * @description Validation message.\n */\n validateMessage,\n /**\n * @description Validation state.\n */\n validateState,\n /**\n * @description Validate form item.\n */\n validate,\n /**\n * @description Remove validation status of the field.\n */\n clearValidate,\n /**\n * @description Reset current field and remove validation result.\n */\n resetField,\n /**\n * @description Set initial value for this field. When `resetField` is called, the field will reset to this value.\n */\n setInitialValue,\n})\n</script>\n"],"mappings":";;;;;;;;;;;;;;;;;;;;;;EAiFA,MAAM,QAAQ;EAMd,MAAM,QAAQ,UAAS;EAEvB,MAAM,cAAc,OAAO,gBAAgB,OAAS;EACpD,MAAM,wBAAwB,OAAO,oBAAoB,OAAS;EAElE,MAAM,QAAQ,YAAY,QAAW,EAAE,UAAU,OAAO,CAAA;EACxD,MAAM,KAAK,aAAa,YAAW;EAEnC,MAAM,UAAU,OAAO,CAAC;EACxB,MAAM,WAAW,IAAc,EAAE,CAAA;EAEjC,MAAM,gBAAgB,IAA2B,GAAE;EACnD,MAAM,yBAAyB,aAAa,eAAe,IAAG;EAC9D,MAAM,kBAAkB,IAAI,GAAE;EAC9B,MAAM,cAAc,KAAoB;EAExC,IAAI,eAAoB;EACxB,IAAI,mBAAmB;EAEvB,MAAM,gBAAgB,eACd,MAAM,iBAAiB,aAAa,cAC5C;EAEA,MAAM,aAAa,eAA8B;AAC/C,OAAI,cAAc,UAAU,MAC1B,QAAO,EAAC;AAIV,UAAO,EAAE,OADU,QAAQ,MAAM,cAAc,aAAa,WAAU,EAC3C;IAC5B;EAED,MAAM,eAAe,eAA8B;AACjD,OAAI,cAAc,UAAU,SAAS,aAAa,OAChD,QAAO,EAAC;AAEV,OAAI,CAAC,MAAM,SAAS,CAAC,MAAM,cAAc,SACvC,QAAO,EAAC;GAEV,MAAM,aAAa,QAAQ,MAAM,cAAc,aAAa,WAAU;AACtE,OAAI,CAAC,MAAM,SAAS,CAAC,MAAM,MACzB,QAAO,EAAE,YAAY,YAAW;AAElC,UAAO,EAAC;IACT;EAED,MAAM,kBAAkB,eAAe;GACrC,GAAG,GAAG;GACN,GAAG,EAAE,MAAM,MAAM;GACjB,GAAG,GAAG,SAAS,cAAc,UAAU,QAAQ;GAC/C,GAAG,GAAG,cAAc,cAAc,UAAU,aAAa;GACzD,GAAG,GAAG,WAAW,cAAc,UAAU,UAAU;GACnD,GAAG,GAAG,YAAY,WAAW,SAAS,MAAM,SAAS;GACrD,GAAG,GAAG,eAAe,aAAa,qBAAqB;GACvD,aAAa,4BAA4B,UACrC,mBACA;GACJ;KACG,GAAG,EAAE,WAAW,GAAG,aAAa;KAChC,GAAG,EAAE,SAAS,cAAc,QAAQ,GAAG,cAAc;IACvD;GACF,CAAA;EAED,MAAM,iBAAiB,eACrB,UAAU,MAAM,cAAa,GACzB,MAAM,gBACN,aAAa,iBAAiB,MACpC;EAEA,MAAM,kBAAkB,eAAe,CACrC,GAAG,EAAE,QAAQ,EACb,GAAG,GAAG,GAAG,SAAS,SAAS,GAAG,eAAe,OAAO,CACrD,CAAA;EAED,MAAM,aAAa,eAAe;AAChC,OAAI,CAAC,MAAM,KAAM,QAAO;AACxB,UAAO,QAAQ,MAAM,KAAK,GAAG,MAAM,KAAK,KAAK,IAAI,GAAG,MAAM;IAC3D;EAED,MAAM,WAAW,eAAwB;AACvC,UAAO,CAAC,EAAE,MAAM,SAAS,MAAM;IAChC;EAED,MAAM,WAAW,eAAmC;AAClD,UACE,MAAM,QAAQ,SAAS,MAAM,WAAW,IAAI,SAAS,MAAM,KAAK;IAEnE;EAED,MAAM,UAAU,eAAwB;AACtC,UAAO,CAAC,SAAS,SAAS,SAAS;IACpC;EAED,MAAM,WAAW,CAAC,CAAC;EAEnB,MAAM,aAAa,eAAe;GAChC,MAAM,QAAQ,aAAa;AAC3B,OAAI,CAAC,SAAS,CAAC,MAAM,KACnB;AAEF,UAAO,QAAQ,OAAO,MAAM,KAAK,CAAC;IACnC;EAED,MAAM,kBAAkB,eAAe;GACrC,MAAM,EAAE,aAAa;GAErB,MAAM,QAAwB,EAAC;AAE/B,OAAI,MAAM,MACR,OAAM,KAAK,GAAG,YAAY,MAAM,MAAM,CAAA;GAGxC,MAAM,YAAY,aAAa;AAC/B,OAAI,aAAa,MAAM,MAAM;IAC3B,MAAM,SAAS,QACb,WACA,MAAM,KACP,CAAC;AACF,QAAI,OACF,OAAM,KAAK,GAAG,YAAY,OAAO,CAAA;;AAIrC,OAAI,aAAa,QAAW;IAC1B,MAAM,gBAAgB,MACnB,KAAK,MAAM,MAAM,CAAC,MAAM,EAAE,CAAS,CACnC,QAAQ,CAAC,UAAU,cAAc,KAAI;AAExC,QAAI,cAAc,SAAS,EACzB,MAAK,MAAM,CAAC,MAAM,MAAM,eAAe;AACrC,SAAI,KAAK,aAAa,SAAU;AAChC,WAAM,KAAK;MAAE,GAAG;MAAM;MAAS;;QAGjC,OAAM,KAAK,EAAE,UAAU,CAAA;;AAI3B,UAAO;IACR;EAED,MAAM,kBAAkB,eAAe,gBAAgB,MAAM,SAAS,EAAC;EAEvE,MAAM,mBAAmB,YAAoB;AAE3C,UADc,gBAAgB,MAGzB,QAAQ,SAAS;AAChB,QAAI,CAAC,KAAK,WAAW,CAAC,QAAS,QAAO;AACtC,QAAI,QAAQ,KAAK,QAAQ,CACvB,QAAO,KAAK,QAAQ,SAAS,QAAO;QAEpC,QAAO,KAAK,YAAY;KAE3B,CAGA,KAAK,EAAE,SAAS,GAAG,WAAqB,KAAI;;EAInD,MAAM,aAAa,eACjB,gBAAgB,MAAM,MAAM,SAAS,KAAK,SAAQ,CACpD;EAEA,MAAM,kBAAkB,eAEpB,uBAAuB,UAAU,WACjC,MAAM,gBACL,aAAa,eAAe,MACjC;EAEA,MAAM,eAAe,eACb,GAAG,MAAM,SAAS,KAAK,aAAa,eAAe,KAC3D;EAEA,MAAM,sBAAsB,UAAiC;AAC3D,iBAAc,QAAQ;;EAGxB,MAAM,sBAAsB,UAA+B;GACzD,MAAM,EAAE,QAAQ,WAAW;AAC3B,OAAI,CAAC,UAAU,CAAC,OACd,SAAQ,MAAM,MAAK;AAGrB,sBAAmB,QAAO;AAC1B,mBAAgB,QAAQ,SACnB,SAAS,IAAI,WAAW,GAAG,MAAM,KAAK,gBACvC;AAEJ,gBAAa,KAAK,YAAY,MAAM,MAAO,OAAO,gBAAgB,MAAK;;EAGzE,MAAM,8BAA8B;AAClC,sBAAmB,UAAS;AAC5B,gBAAa,KAAK,YAAY,MAAM,MAAO,MAAM,GAAE;;EAGrD,MAAM,aAAa,OAAO,UAAqC;GAC7D,MAAM,YAAY,WAAW;AAI7B,UAHkB,IAAI,eAAe,GAClC,YAAY,OACd,CAAA,CAEE,SAAS,GAAG,YAAY,WAAW,OAAO,EAAE,EAAE,aAAa,MAAM,CAAA,CACjE,WAAW;AACV,2BAAsB;AACtB,WAAO;KACR,CACA,OAAO,QAA6B;AACnC,uBAAmB,IAAG;AACtB,WAAO,QAAQ,OAAO,IAAG;KAC1B;;EAGL,MAAM,WAAwC,OAAO,SAAS,aAAa;AAEzE,OAAI,oBAAoB,CAAC,MAAM,KAC7B,QAAO;GAGT,MAAM,cAAc,WAAW,SAAQ;AACvC,OAAI,CAAC,gBAAgB,OAAO;AAC1B,eAAW,MAAK;AAChB,WAAO;;GAGT,MAAM,QAAQ,gBAAgB,QAAO;AACrC,OAAI,MAAM,WAAW,GAAG;AACtB,eAAW,KAAI;AACf,WAAO;;AAGT,sBAAmB,aAAY;AAE/B,UAAO,WAAW,MAAK,CACpB,WAAW;AACV,eAAW,KAAI;AACf,WAAO;KACR,CACA,OAAO,QAA6B;IACnC,MAAM,EAAE,WAAW;AACnB,eAAW,OAAO,OAAM;AACxB,WAAO,cAAc,QAAQ,QAAQ,OAAO,OAAM;KACnD;;EAGL,MAAM,sBAAwD;AAC5D,sBAAmB,GAAE;AACrB,mBAAgB,QAAQ;AACxB,sBAAmB;;EAGrB,MAAM,aAA4C,YAAY;GAC5D,MAAM,QAAQ,aAAa;AAC3B,OAAI,CAAC,SAAS,CAAC,MAAM,KAAM;GAE3B,MAAM,gBAAgB,QAAQ,OAAO,MAAM,KAAI;AAG/C,sBAAmB;AAEnB,iBAAc,QAAQ,UAAU,aAAY;AAE5C,SAAM,UAAS;AACf,kBAAc;AAEd,sBAAmB;;EAGrB,MAAM,cAA6C,OAAe;AAChE,OAAI,CAAC,SAAS,MAAM,SAAS,GAAG,CAC9B,UAAS,MAAM,KAAK,GAAE;;EAI1B,MAAM,iBAAmD,OAAe;AACtE,YAAS,QAAQ,SAAS,MAAM,QAAQ,WAAW,WAAW,GAAE;;EAGlE,MAAM,mBAAuD,UAAe;AAC1E,kBAAe,UAAU,MAAK;;AAGhC,cACQ,MAAM,QACX,QAAQ;AACP,mBAAgB,QAAQ,OAAO;AAC/B,sBAAmB,MAAM,UAAU,GAAE;KAEvC,EAAE,WAAW,MAAK,CACpB;AAEA,cACQ,MAAM,iBACX,QAAQ,mBAAmB,OAAO,GAAE,CACvC;EAEA,MAAM,UAA2B,SAAS;GACxC,GAAG,OAAO,MAAM;GAChB,KAAK;GACL,MAAM;GACN;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACA;GACD,CAAA;AAED,UAAQ,oBAAoB,QAAO;AAEnC,kBAAgB;AACd,OAAI,MAAM,MAAM;AACd,oBAAgB,WAAW,MAAK;AAChC,iBAAa,SAAS,QAAO;;IAEhC;AAED,wBAAsB;AACpB,gBAAa,YAAY,QAAO;IACjC;AAED,WAAa;GAIX,MAAM;GAIN;GAIA;GAIA;GAIA;GAIA;GAIA;GACD,CAAA;;uBA/bC,mBAkCM,OAAA;aAjCA;IAAJ,KAAI;IACH,OAAK,eAAE,gBAAA,MAAe;IACtB,MAAM,QAAA,QAAO,UAAa;IAC1B,mBAAiB,QAAA,QAAU,MAAA,QAAO,GAAG;OAEtC,YAgBkB,MAAA,wBAAA,EAAA;IAff,iBAAe,WAAA,MAAW,UAAK;IAC/B,cAAY,MAAA,YAAW,EAAE,eAAU;;2BAaxB,IATD,QAAA,SAASA,KAAAA,OAAO,uBAF3B,YAWY,wBAVL,SAAA,QAAQ,UAAA,MAAA,EAAA;;KAEZ,IAAI,MAAA,QAAO;KACX,KAAK,SAAA;KACL,OAAK,eAAE,MAAA,GAAE,CAAC,EAAC,QAAA,CAAA;KACX,OAAK,eAAE,WAAA,MAAU;;4BAIX,CAFP,WAEO,KAAA,QAAA,SAAA,EAFa,OAAO,aAAA,OAAY,QAEhC,iCADF,aAAA,MAAY,EAAA,EAAA;;;;;;;;;2CAKrB,mBASM,OAAA;IATA,OAAK,eAAE,MAAA,GAAE,CAAC,EAAC,UAAA,CAAA;IAAc,OAAK,eAAE,aAAA,MAAY;OAChD,WAAQ,KAAA,QAAA,UAAA,EACR,YAMmB,iBAAA,EANA,MAAI,GAAK,MAAA,GAAE,CAAC,UAAU,MAAK;2BAKrC,CAJK,gBAAA,QAAZ,WAIO,KAAA,QAAA,SAAA;;KAJoC,OAAO,gBAAA;aAI3C,CAHL,mBAEM,OAAA,EAFA,OAAK,eAAE,gBAAA,MAAe,oBACvB,gBAAA,MAAe,EAAA,EAAA"}
|
|
1
|
+
{"version":3,"file":"form-item.vue_vue_type_script_setup_true_lang.mjs","names":["$slots"],"sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div\n ref=\"formItemRef\"\n :class=\"formItemClasses\"\n :role=\"isGroup ? 'group' : undefined\"\n :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext?.labelWidth === 'auto'\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\"\n v-if=\"!!(label || $slots.label)\"\n :id=\"labelId\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </component>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\">\n <slot />\n <transition-group :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n useSlots,\n watch,\n} from 'vue'\nimport AsyncValidator from 'async-validator'\nimport { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\nimport { cloneDeep } from 'lodash-unified'\n\nimport type { CSSProperties } from 'vue'\nimport type { RuleItem } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormItemContext,\n FormItemRule,\n FormValidateFailure,\n} from './types'\nimport type { FormItemProps, FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = withDefaults(defineProps<FormItemProps>(), {\n labelPosition: '',\n showMessage: true,\n required: undefined,\n inlineMessage: undefined,\n})\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey, undefined)\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useFormSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateStateDebounced = refDebounced(validateState, 100)\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\n// special inline value.\nlet initialValue: any = undefined\nlet isResettingField = false\n\nconst labelPosition = computed(\n () => props.labelPosition || formContext?.labelPosition\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth ?? formContext?.labelWidth)\n return { width: labelWidth }\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top' || formContext?.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth ?? formContext?.labelWidth)\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext?.hideRequiredAsterisk),\n formContext?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formContext?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext?.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isArray(props.prop) ? props.prop.join('.') : props.prop\n})\n\nconst hasLabel = computed<boolean>(() => {\n return !!(props.label || slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for ?? (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext?.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst normalizedRules = computed(() => {\n const { required } = props\n\n const rules: FormItemRule[] = []\n\n if (props.rules) {\n rules.push(...ensureArray(props.rules))\n }\n\n const formRules = formContext?.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (required !== undefined) {\n const requiredRules = rules\n .map((rule, i) => [rule, i] as const)\n .filter(([rule]) => 'required' in rule)\n\n if (requiredRules.length > 0) {\n for (const [rule, i] of requiredRules) {\n if (rule.required === required) continue\n rules[i] = { ...rule, required }\n }\n } else {\n rules.push({ required })\n }\n }\n\n return rules\n})\n\nconst validateEnabled = computed(() => normalizedRules.value.length > 0)\n\nconst getFilteredRule = (trigger: string) => {\n const rules = normalizedRules.value\n return (\n rules\n .filter((rule) => {\n if (!rule.trigger || !trigger) return true\n if (isArray(rule.trigger)) {\n return rule.trigger.includes(trigger)\n } else {\n return rule.trigger === trigger\n }\n })\n // exclude trigger\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ trigger, ...rule }): RuleItem => rule)\n )\n}\n\nconst isRequired = computed(() =>\n normalizedRules.value.some((rule) => rule.required)\n)\n\nconst shouldShowError = computed(\n () =>\n validateStateDebounced.value === 'error' &&\n props.showMessage &&\n (formContext?.showMessage ?? true)\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext?.labelSuffix || ''}`\n)\n\nconst setValidationState = (state: FormItemValidateState) => {\n validateState.value = state\n}\n\nconst onValidationFailed = (error: FormValidateFailure) => {\n const { errors, fields } = error\n if (!errors || !fields) {\n console.error(error)\n }\n\n setValidationState('error')\n validateMessage.value = errors\n ? (errors?.[0]?.message ?? `${props.prop} is required`)\n : ''\n\n formContext?.emit('validate', props.prop!, false, validateMessage.value)\n}\n\nconst onValidationSucceeded = () => {\n setValidationState('success')\n formContext?.emit('validate', props.prop!, true, '')\n}\n\nconst doValidate = async (rules: RuleItem[]): Promise<true> => {\n const modelName = propString.value\n const validator = new AsyncValidator({\n [modelName]: rules,\n })\n return validator\n .validate({ [modelName]: fieldValue.value }, { firstFields: true })\n .then(() => {\n onValidationSucceeded()\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n onValidationFailed(err)\n return Promise.reject(err)\n })\n}\n\nconst validate: FormItemContext['validate'] = async (trigger, callback) => {\n // skip validation if its resetting\n if (isResettingField || !props.prop) {\n return false\n }\n\n const hasCallback = isFunction(callback)\n if (!validateEnabled.value) {\n callback?.(false)\n return false\n }\n\n const rules = getFilteredRule(trigger)\n if (rules.length === 0) {\n callback?.(true)\n return true\n }\n\n setValidationState('validating')\n\n return doValidate(rules)\n .then(() => {\n callback?.(true)\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n const { fields } = err\n callback?.(false, fields)\n return hasCallback ? false : Promise.reject(fields)\n })\n}\n\nconst clearValidate: FormItemContext['clearValidate'] = () => {\n setValidationState('')\n validateMessage.value = ''\n isResettingField = false\n}\n\nconst resetField: FormItemContext['resetField'] = async () => {\n const model = formContext?.model\n if (!model || !props.prop) return\n\n const computedValue = getProp(model, props.prop)\n\n // prevent validation from being triggered\n isResettingField = true\n\n computedValue.value = cloneDeep(initialValue)\n\n await nextTick()\n clearValidate()\n\n isResettingField = false\n}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter((listId) => listId !== id)\n}\n\nconst setInitialValue: FormItemContext['setInitialValue'] = (value: any) => {\n initialValue = cloneDeep(value)\n}\n\nconst getInitialValue: FormItemContext['getInitialValue'] = () => initialValue\n\nwatch(\n () => props.error,\n (val) => {\n validateMessage.value = val || ''\n setValidationState(val ? 'error' : '')\n },\n { immediate: true }\n)\n\nwatch(\n () => props.validateStatus,\n (val) => setValidationState(val || '')\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateMessage,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n propString,\n setInitialValue,\n getInitialValue,\n})\n\nprovide(formItemContextKey, context)\n\nwatch(propString, (newPropString, oldPropString) => {\n if (!formContext || !oldPropString) return\n formContext.removeField(context, oldPropString)\n if (newPropString) {\n setInitialValue(fieldValue.value)\n formContext.addField(context)\n }\n})\n\nonMounted(() => {\n if (props.prop) {\n setInitialValue(fieldValue.value)\n formContext?.addField(context)\n }\n})\n\nonBeforeUnmount(() => {\n formContext?.removeField(context)\n})\n\ndefineExpose({\n /**\n * @description Form item size.\n */\n size: _size,\n /**\n * @description Validation message.\n */\n validateMessage,\n /**\n * @description Validation state.\n */\n validateState,\n /**\n * @description Validate form item.\n */\n validate,\n /**\n * @description Remove validation status of the field.\n */\n clearValidate,\n /**\n * @description Reset current field and remove validation result.\n */\n resetField,\n /**\n * @description Set initial value for this field. When `resetField` is called, the field will reset to this value.\n */\n setInitialValue,\n})\n</script>\n"],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"form-item2.mjs","names":[],"sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div\n ref=\"formItemRef\"\n :class=\"formItemClasses\"\n :role=\"isGroup ? 'group' : undefined\"\n :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext?.labelWidth === 'auto'\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\"\n v-if=\"!!(label || $slots.label)\"\n :id=\"labelId\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </component>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\">\n <slot />\n <transition-group :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n useSlots,\n watch,\n} from 'vue'\nimport AsyncValidator from 'async-validator'\nimport { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\nimport { cloneDeep } from 'lodash-unified'\n\nimport type { CSSProperties } from 'vue'\nimport type { RuleItem } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormItemContext,\n FormItemRule,\n FormValidateFailure,\n} from './types'\nimport type { FormItemProps, FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = withDefaults(defineProps<FormItemProps>(), {\n labelPosition: '',\n showMessage: true,\n required: undefined,\n inlineMessage: undefined,\n})\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey, undefined)\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useFormSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateStateDebounced = refDebounced(validateState, 100)\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\n// special inline value.\nlet initialValue: any = undefined\nlet isResettingField = false\n\nconst labelPosition = computed(\n () => props.labelPosition || formContext?.labelPosition\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth ?? formContext?.labelWidth)\n return { width: labelWidth }\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top' || formContext?.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth ?? formContext?.labelWidth)\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext?.hideRequiredAsterisk),\n formContext?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formContext?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext?.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isArray(props.prop) ? props.prop.join('.') : props.prop\n})\n\nconst hasLabel = computed<boolean>(() => {\n return !!(props.label || slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for ?? (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext?.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst normalizedRules = computed(() => {\n const { required } = props\n\n const rules: FormItemRule[] = []\n\n if (props.rules) {\n rules.push(...ensureArray(props.rules))\n }\n\n const formRules = formContext?.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (required !== undefined) {\n const requiredRules = rules\n .map((rule, i) => [rule, i] as const)\n .filter(([rule]) => 'required' in rule)\n\n if (requiredRules.length > 0) {\n for (const [rule, i] of requiredRules) {\n if (rule.required === required) continue\n rules[i] = { ...rule, required }\n }\n } else {\n rules.push({ required })\n }\n }\n\n return rules\n})\n\nconst validateEnabled = computed(() => normalizedRules.value.length > 0)\n\nconst getFilteredRule = (trigger: string) => {\n const rules = normalizedRules.value\n return (\n rules\n .filter((rule) => {\n if (!rule.trigger || !trigger) return true\n if (isArray(rule.trigger)) {\n return rule.trigger.includes(trigger)\n } else {\n return rule.trigger === trigger\n }\n })\n // exclude trigger\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ trigger, ...rule }): RuleItem => rule)\n )\n}\n\nconst isRequired = computed(() =>\n normalizedRules.value.some((rule) => rule.required)\n)\n\nconst shouldShowError = computed(\n () =>\n validateStateDebounced.value === 'error' &&\n props.showMessage &&\n (formContext?.showMessage ?? true)\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext?.labelSuffix || ''}`\n)\n\nconst setValidationState = (state: FormItemValidateState) => {\n validateState.value = state\n}\n\nconst onValidationFailed = (error: FormValidateFailure) => {\n const { errors, fields } = error\n if (!errors || !fields) {\n console.error(error)\n }\n\n setValidationState('error')\n validateMessage.value = errors\n ? (errors?.[0]?.message ?? `${props.prop} is required`)\n : ''\n\n formContext?.emit('validate', props.prop!, false, validateMessage.value)\n}\n\nconst onValidationSucceeded = () => {\n setValidationState('success')\n formContext?.emit('validate', props.prop!, true, '')\n}\n\nconst doValidate = async (rules: RuleItem[]): Promise<true> => {\n const modelName = propString.value\n const validator = new AsyncValidator({\n [modelName]: rules,\n })\n return validator\n .validate({ [modelName]: fieldValue.value }, { firstFields: true })\n .then(() => {\n onValidationSucceeded()\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n onValidationFailed(err)\n return Promise.reject(err)\n })\n}\n\nconst validate: FormItemContext['validate'] = async (trigger, callback) => {\n // skip validation if its resetting\n if (isResettingField || !props.prop) {\n return false\n }\n\n const hasCallback = isFunction(callback)\n if (!validateEnabled.value) {\n callback?.(false)\n return false\n }\n\n const rules = getFilteredRule(trigger)\n if (rules.length === 0) {\n callback?.(true)\n return true\n }\n\n setValidationState('validating')\n\n return doValidate(rules)\n .then(() => {\n callback?.(true)\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n const { fields } = err\n callback?.(false, fields)\n return hasCallback ? false : Promise.reject(fields)\n })\n}\n\nconst clearValidate: FormItemContext['clearValidate'] = () => {\n setValidationState('')\n validateMessage.value = ''\n isResettingField = false\n}\n\nconst resetField: FormItemContext['resetField'] = async () => {\n const model = formContext?.model\n if (!model || !props.prop) return\n\n const computedValue = getProp(model, props.prop)\n\n // prevent validation from being triggered\n isResettingField = true\n\n computedValue.value = cloneDeep(initialValue)\n\n await nextTick()\n clearValidate()\n\n isResettingField = false\n}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter((listId) => listId !== id)\n}\n\nconst setInitialValue: FormItemContext['setInitialValue'] = (value: any) => {\n initialValue = cloneDeep(value)\n}\n\nwatch(\n () => props.error,\n (val) => {\n validateMessage.value = val || ''\n setValidationState(val ? 'error' : '')\n },\n { immediate: true }\n)\n\nwatch(\n () => props.validateStatus,\n (val) => setValidationState(val || '')\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateMessage,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n propString,\n setInitialValue,\n})\n\nprovide(formItemContextKey, context)\n\nonMounted(() => {\n if (props.prop) {\n setInitialValue(fieldValue.value)\n formContext?.addField(context)\n }\n})\n\nonBeforeUnmount(() => {\n formContext?.removeField(context)\n})\n\ndefineExpose({\n /**\n * @description Form item size.\n */\n size: _size,\n /**\n * @description Validation message.\n */\n validateMessage,\n /**\n * @description Validation state.\n */\n validateState,\n /**\n * @description Validate form item.\n */\n validate,\n /**\n * @description Remove validation status of the field.\n */\n clearValidate,\n /**\n * @description Reset current field and remove validation result.\n */\n resetField,\n /**\n * @description Set initial value for this field. When `resetField` is called, the field will reset to this value.\n */\n setInitialValue,\n})\n</script>\n"],"mappings":""}
|
|
1
|
+
{"version":3,"file":"form-item2.mjs","names":[],"sources":["../../../../../../packages/components/form/src/form-item.vue"],"sourcesContent":["<template>\n <div\n ref=\"formItemRef\"\n :class=\"formItemClasses\"\n :role=\"isGroup ? 'group' : undefined\"\n :aria-labelledby=\"isGroup ? labelId : undefined\"\n >\n <form-label-wrap\n :is-auto-width=\"labelStyle.width === 'auto'\"\n :update-all=\"formContext?.labelWidth === 'auto'\"\n >\n <component\n :is=\"labelFor ? 'label' : 'div'\"\n v-if=\"!!(label || $slots.label)\"\n :id=\"labelId\"\n :for=\"labelFor\"\n :class=\"ns.e('label')\"\n :style=\"labelStyle\"\n >\n <slot name=\"label\" :label=\"currentLabel\">\n {{ currentLabel }}\n </slot>\n </component>\n </form-label-wrap>\n\n <div :class=\"ns.e('content')\" :style=\"contentStyle\">\n <slot />\n <transition-group :name=\"`${ns.namespace.value}-zoom-in-top`\">\n <slot v-if=\"shouldShowError\" name=\"error\" :error=\"validateMessage\">\n <div :class=\"validateClasses\">\n {{ validateMessage }}\n </div>\n </slot>\n </transition-group>\n </div>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport {\n computed,\n inject,\n nextTick,\n onBeforeUnmount,\n onMounted,\n provide,\n reactive,\n ref,\n toRefs,\n useSlots,\n watch,\n} from 'vue'\nimport AsyncValidator from 'async-validator'\nimport { refDebounced } from '@vueuse/core'\nimport {\n addUnit,\n ensureArray,\n getProp,\n isArray,\n isBoolean,\n isFunction,\n} from '@element-plus/utils'\nimport { useId, useNamespace } from '@element-plus/hooks'\nimport { useFormSize } from './hooks'\nimport FormLabelWrap from './form-label-wrap'\nimport { formContextKey, formItemContextKey } from './constants'\nimport { cloneDeep } from 'lodash-unified'\n\nimport type { CSSProperties } from 'vue'\nimport type { RuleItem } from 'async-validator'\nimport type { Arrayable } from '@element-plus/utils'\nimport type {\n FormItemContext,\n FormItemRule,\n FormValidateFailure,\n} from './types'\nimport type { FormItemProps, FormItemValidateState } from './form-item'\n\ndefineOptions({\n name: 'ElFormItem',\n})\nconst props = withDefaults(defineProps<FormItemProps>(), {\n labelPosition: '',\n showMessage: true,\n required: undefined,\n inlineMessage: undefined,\n})\nconst slots = useSlots()\n\nconst formContext = inject(formContextKey, undefined)\nconst parentFormItemContext = inject(formItemContextKey, undefined)\n\nconst _size = useFormSize(undefined, { formItem: false })\nconst ns = useNamespace('form-item')\n\nconst labelId = useId().value\nconst inputIds = ref<string[]>([])\n\nconst validateState = ref<FormItemValidateState>('')\nconst validateStateDebounced = refDebounced(validateState, 100)\nconst validateMessage = ref('')\nconst formItemRef = ref<HTMLDivElement>()\n// special inline value.\nlet initialValue: any = undefined\nlet isResettingField = false\n\nconst labelPosition = computed(\n () => props.labelPosition || formContext?.labelPosition\n)\n\nconst labelStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top') {\n return {}\n }\n\n const labelWidth = addUnit(props.labelWidth ?? formContext?.labelWidth)\n return { width: labelWidth }\n})\n\nconst contentStyle = computed<CSSProperties>(() => {\n if (labelPosition.value === 'top' || formContext?.inline) {\n return {}\n }\n if (!props.label && !props.labelWidth && isNested) {\n return {}\n }\n const labelWidth = addUnit(props.labelWidth ?? formContext?.labelWidth)\n if (!props.label && !slots.label) {\n return { marginLeft: labelWidth }\n }\n return {}\n})\n\nconst formItemClasses = computed(() => [\n ns.b(),\n ns.m(_size.value),\n ns.is('error', validateState.value === 'error'),\n ns.is('validating', validateState.value === 'validating'),\n ns.is('success', validateState.value === 'success'),\n ns.is('required', isRequired.value || props.required),\n ns.is('no-asterisk', formContext?.hideRequiredAsterisk),\n formContext?.requireAsteriskPosition === 'right'\n ? 'asterisk-right'\n : 'asterisk-left',\n {\n [ns.m('feedback')]: formContext?.statusIcon,\n [ns.m(`label-${labelPosition.value}`)]: labelPosition.value,\n },\n])\n\nconst _inlineMessage = computed(() =>\n isBoolean(props.inlineMessage)\n ? props.inlineMessage\n : formContext?.inlineMessage || false\n)\n\nconst validateClasses = computed(() => [\n ns.e('error'),\n { [ns.em('error', 'inline')]: _inlineMessage.value },\n])\n\nconst propString = computed(() => {\n if (!props.prop) return ''\n return isArray(props.prop) ? props.prop.join('.') : props.prop\n})\n\nconst hasLabel = computed<boolean>(() => {\n return !!(props.label || slots.label)\n})\n\nconst labelFor = computed<string | undefined>(() => {\n return (\n props.for ?? (inputIds.value.length === 1 ? inputIds.value[0] : undefined)\n )\n})\n\nconst isGroup = computed<boolean>(() => {\n return !labelFor.value && hasLabel.value\n})\n\nconst isNested = !!parentFormItemContext\n\nconst fieldValue = computed(() => {\n const model = formContext?.model\n if (!model || !props.prop) {\n return\n }\n return getProp(model, props.prop).value\n})\n\nconst normalizedRules = computed(() => {\n const { required } = props\n\n const rules: FormItemRule[] = []\n\n if (props.rules) {\n rules.push(...ensureArray(props.rules))\n }\n\n const formRules = formContext?.rules\n if (formRules && props.prop) {\n const _rules = getProp<Arrayable<FormItemRule> | undefined>(\n formRules,\n props.prop\n ).value\n if (_rules) {\n rules.push(...ensureArray(_rules))\n }\n }\n\n if (required !== undefined) {\n const requiredRules = rules\n .map((rule, i) => [rule, i] as const)\n .filter(([rule]) => 'required' in rule)\n\n if (requiredRules.length > 0) {\n for (const [rule, i] of requiredRules) {\n if (rule.required === required) continue\n rules[i] = { ...rule, required }\n }\n } else {\n rules.push({ required })\n }\n }\n\n return rules\n})\n\nconst validateEnabled = computed(() => normalizedRules.value.length > 0)\n\nconst getFilteredRule = (trigger: string) => {\n const rules = normalizedRules.value\n return (\n rules\n .filter((rule) => {\n if (!rule.trigger || !trigger) return true\n if (isArray(rule.trigger)) {\n return rule.trigger.includes(trigger)\n } else {\n return rule.trigger === trigger\n }\n })\n // exclude trigger\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n .map(({ trigger, ...rule }): RuleItem => rule)\n )\n}\n\nconst isRequired = computed(() =>\n normalizedRules.value.some((rule) => rule.required)\n)\n\nconst shouldShowError = computed(\n () =>\n validateStateDebounced.value === 'error' &&\n props.showMessage &&\n (formContext?.showMessage ?? true)\n)\n\nconst currentLabel = computed(\n () => `${props.label || ''}${formContext?.labelSuffix || ''}`\n)\n\nconst setValidationState = (state: FormItemValidateState) => {\n validateState.value = state\n}\n\nconst onValidationFailed = (error: FormValidateFailure) => {\n const { errors, fields } = error\n if (!errors || !fields) {\n console.error(error)\n }\n\n setValidationState('error')\n validateMessage.value = errors\n ? (errors?.[0]?.message ?? `${props.prop} is required`)\n : ''\n\n formContext?.emit('validate', props.prop!, false, validateMessage.value)\n}\n\nconst onValidationSucceeded = () => {\n setValidationState('success')\n formContext?.emit('validate', props.prop!, true, '')\n}\n\nconst doValidate = async (rules: RuleItem[]): Promise<true> => {\n const modelName = propString.value\n const validator = new AsyncValidator({\n [modelName]: rules,\n })\n return validator\n .validate({ [modelName]: fieldValue.value }, { firstFields: true })\n .then(() => {\n onValidationSucceeded()\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n onValidationFailed(err)\n return Promise.reject(err)\n })\n}\n\nconst validate: FormItemContext['validate'] = async (trigger, callback) => {\n // skip validation if its resetting\n if (isResettingField || !props.prop) {\n return false\n }\n\n const hasCallback = isFunction(callback)\n if (!validateEnabled.value) {\n callback?.(false)\n return false\n }\n\n const rules = getFilteredRule(trigger)\n if (rules.length === 0) {\n callback?.(true)\n return true\n }\n\n setValidationState('validating')\n\n return doValidate(rules)\n .then(() => {\n callback?.(true)\n return true as const\n })\n .catch((err: FormValidateFailure) => {\n const { fields } = err\n callback?.(false, fields)\n return hasCallback ? false : Promise.reject(fields)\n })\n}\n\nconst clearValidate: FormItemContext['clearValidate'] = () => {\n setValidationState('')\n validateMessage.value = ''\n isResettingField = false\n}\n\nconst resetField: FormItemContext['resetField'] = async () => {\n const model = formContext?.model\n if (!model || !props.prop) return\n\n const computedValue = getProp(model, props.prop)\n\n // prevent validation from being triggered\n isResettingField = true\n\n computedValue.value = cloneDeep(initialValue)\n\n await nextTick()\n clearValidate()\n\n isResettingField = false\n}\n\nconst addInputId: FormItemContext['addInputId'] = (id: string) => {\n if (!inputIds.value.includes(id)) {\n inputIds.value.push(id)\n }\n}\n\nconst removeInputId: FormItemContext['removeInputId'] = (id: string) => {\n inputIds.value = inputIds.value.filter((listId) => listId !== id)\n}\n\nconst setInitialValue: FormItemContext['setInitialValue'] = (value: any) => {\n initialValue = cloneDeep(value)\n}\n\nconst getInitialValue: FormItemContext['getInitialValue'] = () => initialValue\n\nwatch(\n () => props.error,\n (val) => {\n validateMessage.value = val || ''\n setValidationState(val ? 'error' : '')\n },\n { immediate: true }\n)\n\nwatch(\n () => props.validateStatus,\n (val) => setValidationState(val || '')\n)\n\nconst context: FormItemContext = reactive({\n ...toRefs(props),\n $el: formItemRef,\n size: _size,\n validateMessage,\n validateState,\n labelId,\n inputIds,\n isGroup,\n hasLabel,\n fieldValue,\n addInputId,\n removeInputId,\n resetField,\n clearValidate,\n validate,\n propString,\n setInitialValue,\n getInitialValue,\n})\n\nprovide(formItemContextKey, context)\n\nwatch(propString, (newPropString, oldPropString) => {\n if (!formContext || !oldPropString) return\n formContext.removeField(context, oldPropString)\n if (newPropString) {\n setInitialValue(fieldValue.value)\n formContext.addField(context)\n }\n})\n\nonMounted(() => {\n if (props.prop) {\n setInitialValue(fieldValue.value)\n formContext?.addField(context)\n }\n})\n\nonBeforeUnmount(() => {\n formContext?.removeField(context)\n})\n\ndefineExpose({\n /**\n * @description Form item size.\n */\n size: _size,\n /**\n * @description Validation message.\n */\n validateMessage,\n /**\n * @description Validation state.\n */\n validateState,\n /**\n * @description Validate form item.\n */\n validate,\n /**\n * @description Remove validation status of the field.\n */\n clearValidate,\n /**\n * @description Reset current field and remove validation result.\n */\n resetField,\n /**\n * @description Set initial value for this field. When `resetField` is called, the field will reset to this value.\n */\n setInitialValue,\n})\n</script>\n"],"mappings":""}
|