@element-plus/nightly 0.0.20220824 → 0.0.20220827
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 +6142 -690
- package/dist/index.full.min.js +63 -37
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +63 -37
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +6143 -692
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/autocomplete/index.d.ts +12 -12
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +12 -12
- package/es/components/cascader/index.d.ts +46 -46
- package/es/components/cascader/src/index.vue.d.ts +23 -23
- package/es/components/checkbox/src/checkbox.mjs +2 -2
- package/es/components/checkbox/src/checkbox.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs +2 -1
- package/es/components/date-picker/src/date-picker-com/basic-date-table.mjs.map +1 -1
- package/es/components/dropdown/index.d.ts +23 -23
- package/es/components/dropdown/src/dropdown.vue.d.ts +23 -23
- package/es/components/form/index.d.ts +4 -0
- package/es/components/form/src/form-item2.mjs +1 -0
- package/es/components/form/src/form-item2.mjs.map +1 -1
- package/es/components/form/src/form.d.ts +1 -0
- package/es/components/form/src/form.mjs +5 -0
- package/es/components/form/src/form.mjs.map +1 -1
- package/es/components/form/src/form.vue.d.ts +4 -0
- package/es/components/image/index.d.ts +2 -1
- package/es/components/image/src/image.vue.d.ts +2 -1
- package/es/components/image-viewer/index.d.ts +2 -1
- package/es/components/image-viewer/src/image-viewer.d.ts +2 -0
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +2 -1
- package/es/components/image-viewer/src/image-viewer2.mjs +18 -13
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +2 -2
- package/es/components/link/index.mjs +2 -2
- package/es/components/link/src/link.mjs +49 -22
- package/es/components/link/src/link.mjs.map +1 -1
- package/es/components/link/src/link2.mjs +22 -49
- package/es/components/link/src/link2.mjs.map +1 -1
- package/es/components/menu/index.d.ts +228 -4
- package/es/components/menu/src/menu-item.vue.d.ts +2 -2
- package/es/components/menu/src/sub-menu.d.ts +138 -2
- package/es/components/menu/src/sub-menu.mjs +18 -3
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/pagination/src/components/sizes.vue.d.ts +23 -23
- package/es/components/popconfirm/index.d.ts +12 -12
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +12 -12
- package/es/components/popover/index.d.ts +12 -12
- package/es/components/popover/src/popover.vue.d.ts +12 -12
- package/es/components/popper/index.d.ts +5 -5
- package/es/components/popper/index.mjs +1 -1
- package/es/components/popper/src/popper.d.ts +4 -3
- package/es/components/popper/src/popper.mjs +10 -1
- package/es/components/popper/src/popper.mjs.map +1 -1
- package/es/components/popper/src/popper.vue.d.ts +5 -5
- package/es/components/select/index.d.ts +23 -23
- package/es/components/select/src/select.vue.d.ts +23 -23
- package/es/components/select/src/useSelect.d.ts +23 -23
- package/es/components/select-v2/index.d.ts +46 -46
- package/es/components/select-v2/src/select.vue.d.ts +23 -23
- package/es/components/select-v2/src/useSelect.d.ts +23 -23
- package/es/components/slider/index.d.ts +60 -60
- package/es/components/slider/src/button.vue.d.ts +12 -12
- package/es/components/slider/src/composables/use-slide.d.ts +48 -48
- package/es/components/slider/src/slider.vue.d.ts +60 -60
- package/es/components/space/index.d.ts +3 -3
- package/es/components/space/src/space.d.ts +5 -4
- package/es/components/space/src/space.mjs.map +1 -1
- package/es/components/space/src/use-space.d.ts +1 -1
- package/es/components/table/src/filter-panel.vue.d.ts +23 -23
- package/es/components/table/src/table/style-helper.mjs +7 -5
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/time-picker/src/common/picker.vue.d.ts +12 -12
- package/es/components/time-select/index.d.ts +92 -92
- package/es/components/time-select/src/time-select.vue.d.ts +46 -46
- package/es/components/tooltip/index.d.ts +12 -12
- package/es/components/tooltip/src/tooltip.vue.d.ts +12 -12
- package/es/components/upload/src/upload2.mjs +1 -0
- package/es/components/upload/src/upload2.mjs.map +1 -1
- package/es/index.mjs +2 -2
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/autocomplete/index.d.ts +12 -12
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +12 -12
- package/lib/components/cascader/index.d.ts +46 -46
- package/lib/components/cascader/src/index.vue.d.ts +23 -23
- package/lib/components/checkbox/src/checkbox.js +1 -1
- package/lib/components/checkbox/src/checkbox.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js +2 -1
- package/lib/components/date-picker/src/date-picker-com/basic-date-table.js.map +1 -1
- package/lib/components/dropdown/index.d.ts +23 -23
- package/lib/components/dropdown/src/dropdown.vue.d.ts +23 -23
- package/lib/components/form/index.d.ts +4 -0
- package/lib/components/form/src/form-item2.js +1 -0
- package/lib/components/form/src/form-item2.js.map +1 -1
- package/lib/components/form/src/form.d.ts +1 -0
- package/lib/components/form/src/form.js +5 -0
- package/lib/components/form/src/form.js.map +1 -1
- package/lib/components/form/src/form.vue.d.ts +4 -0
- package/lib/components/image/index.d.ts +2 -1
- package/lib/components/image/src/image.vue.d.ts +2 -1
- package/lib/components/image-viewer/index.d.ts +2 -1
- package/lib/components/image-viewer/src/image-viewer.d.ts +2 -0
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +2 -1
- package/lib/components/image-viewer/src/image-viewer2.js +18 -13
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +2 -1
- package/lib/components/index.js.map +1 -1
- package/lib/components/link/index.js +2 -2
- package/lib/components/link/src/link.js +49 -23
- package/lib/components/link/src/link.js.map +1 -1
- package/lib/components/link/src/link2.js +23 -49
- package/lib/components/link/src/link2.js.map +1 -1
- package/lib/components/menu/index.d.ts +228 -4
- package/lib/components/menu/src/menu-item.vue.d.ts +2 -2
- package/lib/components/menu/src/sub-menu.d.ts +138 -2
- package/lib/components/menu/src/sub-menu.js +17 -2
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/pagination/src/components/sizes.vue.d.ts +23 -23
- package/lib/components/popconfirm/index.d.ts +12 -12
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +12 -12
- package/lib/components/popover/index.d.ts +12 -12
- package/lib/components/popover/src/popover.vue.d.ts +12 -12
- package/lib/components/popper/index.d.ts +5 -5
- package/lib/components/popper/index.js +1 -0
- package/lib/components/popper/index.js.map +1 -1
- package/lib/components/popper/src/popper.d.ts +4 -3
- package/lib/components/popper/src/popper.js +10 -0
- package/lib/components/popper/src/popper.js.map +1 -1
- package/lib/components/popper/src/popper.vue.d.ts +5 -5
- package/lib/components/select/index.d.ts +23 -23
- package/lib/components/select/src/select.vue.d.ts +23 -23
- package/lib/components/select/src/useSelect.d.ts +23 -23
- package/lib/components/select-v2/index.d.ts +46 -46
- package/lib/components/select-v2/src/select.vue.d.ts +23 -23
- package/lib/components/select-v2/src/useSelect.d.ts +23 -23
- package/lib/components/slider/index.d.ts +60 -60
- package/lib/components/slider/src/button.vue.d.ts +12 -12
- package/lib/components/slider/src/composables/use-slide.d.ts +48 -48
- package/lib/components/slider/src/slider.vue.d.ts +60 -60
- package/lib/components/space/index.d.ts +3 -3
- package/lib/components/space/src/space.d.ts +5 -4
- package/lib/components/space/src/space.js.map +1 -1
- package/lib/components/space/src/use-space.d.ts +1 -1
- package/lib/components/table/src/filter-panel.vue.d.ts +23 -23
- package/lib/components/table/src/table/style-helper.js +7 -5
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.vue.d.ts +12 -12
- package/lib/components/time-select/index.d.ts +92 -92
- package/lib/components/time-select/src/time-select.vue.d.ts +46 -46
- package/lib/components/tooltip/index.d.ts +12 -12
- package/lib/components/tooltip/src/tooltip.vue.d.ts +12 -12
- package/lib/components/upload/src/upload2.js +1 -0
- package/lib/components/upload/src/upload2.js.map +1 -1
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +2 -2
- package/tags.json +1 -1
- package/theme-chalk/el-date-picker.css +1 -1
- package/theme-chalk/el-form.css +1 -1
- package/theme-chalk/el-menu.css +1 -1
- package/theme-chalk/el-popover.css +1 -1
- package/theme-chalk/el-rate.css +1 -1
- package/theme-chalk/el-select.css +1 -1
- package/theme-chalk/el-table.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/common/var.scss +0 -2
- package/theme-chalk/src/date-picker/date-range-picker.scss +4 -0
- package/theme-chalk/src/form.scss +17 -6
- package/theme-chalk/src/menu.scss +0 -11
- package/theme-chalk/src/popover.scss +7 -0
- package/theme-chalk/src/rate.scss +1 -1
- package/theme-chalk/src/select.scss +1 -0
- package/theme-chalk/src/table.scss +8 -15
- package/web-types.json +1 -1
|
@@ -95,7 +95,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
95
95
|
teleported: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
96
96
|
persistent: boolean;
|
|
97
97
|
open: boolean;
|
|
98
|
-
role: import("element-plus/es/utils").EpPropMergeType<
|
|
98
|
+
role: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>;
|
|
99
99
|
arrowOffset: number;
|
|
100
100
|
triggerKeys: string[];
|
|
101
101
|
visibleArrow: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -387,7 +387,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
387
387
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
388
388
|
__epPropKey: true;
|
|
389
389
|
};
|
|
390
|
-
role: import("element-plus/es/utils").EpPropFinalized<
|
|
390
|
+
role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
391
391
|
}>> & {
|
|
392
392
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
393
393
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -697,7 +697,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
697
697
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
698
698
|
__epPropKey: true;
|
|
699
699
|
};
|
|
700
|
-
role: import("element-plus/es/utils").EpPropFinalized<
|
|
700
|
+
role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
701
701
|
}>> & {
|
|
702
702
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
703
703
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -713,9 +713,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
713
713
|
$: import("vue").ComponentInternalInstance;
|
|
714
714
|
$data: {};
|
|
715
715
|
$props: Partial<{
|
|
716
|
-
readonly role: import("element-plus/es/utils").EpPropMergeType<
|
|
716
|
+
readonly role: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>;
|
|
717
717
|
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
|
|
718
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
718
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
719
719
|
}>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "role">;
|
|
720
720
|
$attrs: {
|
|
721
721
|
[x: string]: unknown;
|
|
@@ -731,10 +731,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
731
731
|
$emit: (event: string, ...args: any[]) => void;
|
|
732
732
|
$el: any;
|
|
733
733
|
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
734
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
734
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
735
735
|
}>>, {
|
|
736
736
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
737
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
737
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
738
738
|
}>> & {
|
|
739
739
|
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
740
740
|
}>>;
|
|
@@ -742,10 +742,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
742
742
|
popperInstanceRef: Ref<import("@popperjs/core").Instance | undefined>;
|
|
743
743
|
contentRef: Ref<HTMLElement | undefined>;
|
|
744
744
|
referenceRef: Ref<HTMLElement | undefined>;
|
|
745
|
-
role: ComputedRef<import("element-plus/es/utils").EpPropMergeType<
|
|
745
|
+
role: ComputedRef<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>>;
|
|
746
746
|
popperProvides: import("../../..").ElPopperInjectionContext;
|
|
747
747
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
748
|
-
readonly role: import("element-plus/es/utils").EpPropMergeType<
|
|
748
|
+
readonly role: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>;
|
|
749
749
|
}> & {
|
|
750
750
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
751
751
|
created?: ((() => void) | (() => void)[]) | undefined;
|
|
@@ -767,10 +767,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
767
767
|
$nextTick: typeof nextTick;
|
|
768
768
|
$watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
|
|
769
769
|
} & Readonly<import("vue").ExtractPropTypes<{
|
|
770
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
770
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
771
771
|
}>> & import("vue").ShallowUnwrapRef<{
|
|
772
772
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
773
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
773
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
774
774
|
}>> & {
|
|
775
775
|
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
776
776
|
}>>;
|
|
@@ -778,7 +778,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
778
778
|
popperInstanceRef: Ref<import("@popperjs/core").Instance | undefined>;
|
|
779
779
|
contentRef: Ref<HTMLElement | undefined>;
|
|
780
780
|
referenceRef: Ref<HTMLElement | undefined>;
|
|
781
|
-
role: ComputedRef<import("element-plus/es/utils").EpPropMergeType<
|
|
781
|
+
role: ComputedRef<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>>;
|
|
782
782
|
popperProvides: import("../../..").ElPopperInjectionContext;
|
|
783
783
|
}> & {} & import("vue").ComponentCustomProperties) | null>;
|
|
784
784
|
contentRef: Ref<({
|
|
@@ -4771,7 +4771,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
4771
4771
|
teleported: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
4772
4772
|
persistent: boolean;
|
|
4773
4773
|
open: boolean;
|
|
4774
|
-
role: import("element-plus/es/utils").EpPropMergeType<
|
|
4774
|
+
role: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>;
|
|
4775
4775
|
arrowOffset: number;
|
|
4776
4776
|
triggerKeys: string[];
|
|
4777
4777
|
visibleArrow: import("element-plus/es/utils").EpPropMergeType<BooleanConstructor, unknown, unknown>;
|
|
@@ -5083,7 +5083,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5083
5083
|
readonly validator: ((val: unknown) => boolean) | undefined;
|
|
5084
5084
|
__epPropKey: true;
|
|
5085
5085
|
};
|
|
5086
|
-
role: import("element-plus/es/utils").EpPropFinalized<
|
|
5086
|
+
role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
5087
5087
|
}>> & {
|
|
5088
5088
|
onClose?: ((...args: any[]) => any) | undefined;
|
|
5089
5089
|
onOpen?: ((...args: any[]) => any) | undefined;
|
|
@@ -5099,9 +5099,9 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5099
5099
|
$: import("vue").ComponentInternalInstance;
|
|
5100
5100
|
$data: {};
|
|
5101
5101
|
$props: Partial<{
|
|
5102
|
-
readonly role: import("element-plus/es/utils").EpPropMergeType<
|
|
5102
|
+
readonly role: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>;
|
|
5103
5103
|
}> & Omit<Readonly<import("vue").ExtractPropTypes<{
|
|
5104
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
5104
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
5105
5105
|
}>> & import("vue").VNodeProps & import("vue").AllowedComponentProps & import("vue").ComponentCustomProps, "role">;
|
|
5106
5106
|
$attrs: {
|
|
5107
5107
|
[x: string]: unknown;
|
|
@@ -5117,10 +5117,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5117
5117
|
$emit: (event: string, ...args: any[]) => void;
|
|
5118
5118
|
$el: any;
|
|
5119
5119
|
$options: import("vue").ComponentOptionsBase<Readonly<import("vue").ExtractPropTypes<{
|
|
5120
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
5120
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
5121
5121
|
}>>, {
|
|
5122
5122
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
5123
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
5123
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
5124
5124
|
}>> & {
|
|
5125
5125
|
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
5126
5126
|
}>>;
|
|
@@ -5128,10 +5128,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5128
5128
|
popperInstanceRef: Ref<import("@popperjs/core").Instance | undefined>;
|
|
5129
5129
|
contentRef: Ref<HTMLElement | undefined>;
|
|
5130
5130
|
referenceRef: Ref<HTMLElement | undefined>;
|
|
5131
|
-
role: ComputedRef<import("element-plus/es/utils").EpPropMergeType<
|
|
5131
|
+
role: ComputedRef<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>>;
|
|
5132
5132
|
popperProvides: import("../../..").ElPopperInjectionContext;
|
|
5133
5133
|
}, unknown, {}, {}, import("vue").ComponentOptionsMixin, import("vue").ComponentOptionsMixin, Record<string, any>, string, {
|
|
5134
|
-
readonly role: import("element-plus/es/utils").EpPropMergeType<
|
|
5134
|
+
readonly role: import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>;
|
|
5135
5135
|
}> & {
|
|
5136
5136
|
beforeCreate?: ((() => void) | (() => void)[]) | undefined;
|
|
5137
5137
|
created?: ((() => void) | (() => void)[]) | undefined;
|
|
@@ -5153,10 +5153,10 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5153
5153
|
$nextTick: typeof nextTick;
|
|
5154
5154
|
$watch(source: string | Function, cb: Function, options?: import("vue").WatchOptions<boolean> | undefined): import("vue").WatchStopHandle;
|
|
5155
5155
|
} & Readonly<import("vue").ExtractPropTypes<{
|
|
5156
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
5156
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
5157
5157
|
}>> & import("vue").ShallowUnwrapRef<{
|
|
5158
5158
|
props: Readonly<import("@vue/shared").LooseRequired<Readonly<import("vue").ExtractPropTypes<{
|
|
5159
|
-
readonly role: import("element-plus/es/utils").EpPropFinalized<
|
|
5159
|
+
readonly role: import("element-plus/es/utils").EpPropFinalized<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown, "tooltip", boolean>;
|
|
5160
5160
|
}>> & {
|
|
5161
5161
|
[x: string & `on${string}`]: ((...args: any[]) => any) | ((...args: unknown[]) => any) | undefined;
|
|
5162
5162
|
}>>;
|
|
@@ -5164,7 +5164,7 @@ declare const _default: import("vue").DefineComponent<{
|
|
|
5164
5164
|
popperInstanceRef: Ref<import("@popperjs/core").Instance | undefined>;
|
|
5165
5165
|
contentRef: Ref<HTMLElement | undefined>;
|
|
5166
5166
|
referenceRef: Ref<HTMLElement | undefined>;
|
|
5167
|
-
role: ComputedRef<import("element-plus/es/utils").EpPropMergeType<
|
|
5167
|
+
role: ComputedRef<import("element-plus/es/utils").EpPropMergeType<StringConstructor, "listbox" | "grid" | "menu" | "tooltip" | "dialog" | "tree", unknown>>;
|
|
5168
5168
|
popperProvides: import("../../..").ElPopperInjectionContext;
|
|
5169
5169
|
}> & {} & import("vue").ComponentCustomProperties) | null>;
|
|
5170
5170
|
contentRef: Ref<({
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { inject, computed, ref, getCurrentInstance, nextTick, watch } from 'vue';
|
|
1
|
+
import { inject, computed, ref, getCurrentInstance, toRaw, nextTick, watch } from 'vue';
|
|
2
2
|
import { toTypeString, isString, isArray } from '@vue/shared';
|
|
3
3
|
import '../../../constants/index.mjs';
|
|
4
4
|
import '../../../hooks/index.mjs';
|
|
@@ -149,7 +149,7 @@ const useCheckboxStatus = (props, slots, { model }) => {
|
|
|
149
149
|
if (toTypeString(value) === "[object Boolean]") {
|
|
150
150
|
return value;
|
|
151
151
|
} else if (Array.isArray(value)) {
|
|
152
|
-
return value.includes(props.label);
|
|
152
|
+
return value.map(toRaw).includes(props.label);
|
|
153
153
|
} else if (value !== null && value !== void 0) {
|
|
154
154
|
return value === props.trueLabel;
|
|
155
155
|
} else {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkbox.mjs","sources":["../../../../../../packages/components/checkbox/src/checkbox.ts"],"sourcesContent":["import { computed, getCurrentInstance, inject, nextTick, ref, watch } from 'vue'\nimport { toTypeString } from '@vue/shared'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n useFormItem,\n useFormItemInputId,\n useSize,\n useSizeProp,\n} from '@element-plus/hooks'\nimport {\n debugWarn,\n isArray,\n isBoolean,\n isNumber,\n isString,\n} from '@element-plus/utils'\n\nimport type { ComponentInternalInstance, ExtractPropTypes, PropType } from 'vue'\nimport type { ICheckboxGroupInstance } from './checkbox.type'\nimport type Checkbox from './checkbox.vue'\n\nexport const useCheckboxGroupProps = {\n modelValue: {\n type: Array as PropType<Array<string | number>>,\n default: () => [],\n },\n disabled: Boolean,\n min: {\n type: Number,\n default: undefined,\n },\n max: {\n type: Number,\n default: undefined,\n },\n size: useSizeProp,\n id: {\n type: String,\n default: undefined,\n },\n label: {\n type: String,\n default: undefined,\n },\n fill: {\n type: String,\n default: undefined,\n },\n textColor: {\n type: String,\n default: undefined,\n },\n tag: {\n type: String,\n default: 'div',\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n}\n\nexport type IUseCheckboxGroupProps = ExtractPropTypes<\n typeof useCheckboxGroupProps\n>\n\nexport const checkboxProps = {\n modelValue: {\n type: [Number, String, Boolean],\n default: () => undefined,\n },\n label: {\n type: [String, Boolean, Number, Object],\n },\n indeterminate: Boolean,\n disabled: Boolean,\n checked: Boolean,\n name: {\n type: String,\n default: undefined,\n },\n trueLabel: {\n type: [String, Number],\n default: undefined,\n },\n falseLabel: {\n type: [String, Number],\n default: undefined,\n },\n id: {\n type: String,\n default: undefined,\n },\n controls: {\n type: String,\n default: undefined,\n },\n border: Boolean,\n size: useSizeProp,\n tabindex: [String, Number],\n validateEvent: {\n type: Boolean,\n default: true,\n },\n}\n\nexport const useCheckboxGroup = () => {\n const { form: elForm, formItem: elFormItem } = useFormItem()\n const checkboxGroup = inject<ICheckboxGroupInstance>('CheckboxGroup', {})\n const isGroup = computed(\n () => checkboxGroup && checkboxGroup?.name === 'ElCheckboxGroup'\n )\n const elFormItemSize = computed(() => {\n return elFormItem?.size\n })\n return {\n isGroup,\n checkboxGroup,\n elForm,\n elFormItemSize,\n elFormItem,\n }\n}\n\nexport const useCheckboxGroupId = (\n props: IUseCheckboxGroupProps,\n { elFormItem }: Partial<ReturnType<typeof useCheckboxGroup>>\n) => {\n const { inputId: groupId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n })\n\n return {\n isLabeledByFormItem,\n groupId,\n }\n}\n\nconst useModel = (props: CheckboxProps) => {\n const selfModel = ref<any>(false)\n const { emit } = getCurrentInstance()!\n const { isGroup, checkboxGroup, elFormItem } = useCheckboxGroup()\n const isLimitExceeded = ref(false)\n const model = computed({\n get() {\n return isGroup.value\n ? checkboxGroup.modelValue?.value\n : props.modelValue ?? selfModel.value\n },\n\n set(val: unknown) {\n if (isGroup.value && Array.isArray(val)) {\n isLimitExceeded.value =\n checkboxGroup.max !== undefined &&\n val.length > checkboxGroup.max.value\n isLimitExceeded.value === false && checkboxGroup?.changeEvent?.(val)\n } else {\n emit(UPDATE_MODEL_EVENT, val)\n selfModel.value = val\n }\n },\n })\n\n return {\n model,\n isGroup,\n isLimitExceeded,\n elFormItem,\n }\n}\n\nconst useCheckboxStatus = (\n props: CheckboxProps,\n slots: ComponentInternalInstance['slots'],\n { model }: Partial<ReturnType<typeof useModel>>\n) => {\n const { isGroup, checkboxGroup } = useCheckboxGroup()\n const focus = ref(false)\n const size = useSize(checkboxGroup?.checkboxGroupSize, { prop: true })\n const isChecked = computed<boolean>(() => {\n const value = model!.value\n if (toTypeString(value) === '[object Boolean]') {\n return value\n } else if (Array.isArray(value)) {\n return value.includes(props.label)\n } else if (value !== null && value !== undefined) {\n return value === props.trueLabel\n } else {\n return !!value\n }\n })\n\n const checkboxSize = useSize(\n computed(() =>\n isGroup.value ? checkboxGroup?.checkboxGroupSize?.value : undefined\n )\n )\n\n const hasOwnLabel = computed<boolean>(() => {\n return !!(slots.default || props.label)\n })\n\n return {\n isChecked,\n focus,\n size,\n checkboxSize,\n hasOwnLabel,\n }\n}\n\nconst useDisabled = (\n props: CheckboxProps,\n {\n model,\n isChecked,\n }: Partial<ReturnType<typeof useModel>> &\n Partial<ReturnType<typeof useCheckboxStatus>>\n) => {\n const { elForm, isGroup, checkboxGroup } = useCheckboxGroup()\n const isLimitDisabled = computed(() => {\n const max = checkboxGroup.max?.value!\n const min = checkboxGroup.min?.value!\n return (\n (!!(max || min) && model!.value.length >= max && !isChecked!.value) ||\n (model!.value.length <= min && isChecked!.value)\n )\n })\n const isDisabled = computed(() => {\n const disabled = props.disabled || elForm?.disabled\n return (\n (isGroup.value\n ? checkboxGroup.disabled?.value || disabled || isLimitDisabled.value\n : disabled) ?? false\n )\n })\n\n return {\n isDisabled,\n isLimitDisabled,\n }\n}\n\nconst setStoreValue = (\n props: CheckboxProps,\n { model }: Partial<ReturnType<typeof useModel>>\n) => {\n function addToStore() {\n if (Array.isArray(model!.value) && !model!.value.includes(props.label)) {\n model!.value.push(props.label)\n } else {\n model!.value = props.trueLabel || true\n }\n }\n props.checked && addToStore()\n}\n\nconst useEvent = (\n props: CheckboxProps,\n {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem,\n }: Partial<\n ReturnType<typeof useModel> &\n ReturnType<typeof useCheckboxStatus> &\n ReturnType<typeof useDisabled> &\n ReturnType<typeof useFormItemInputId>\n >\n) => {\n const { elFormItem, checkboxGroup } = useCheckboxGroup()\n const { emit } = getCurrentInstance()!\n\n function getLabeledValue(value: string | number | boolean) {\n return value === props.trueLabel || value === true\n ? props.trueLabel ?? true\n : props.falseLabel ?? false\n }\n\n function emitChangeEvent(\n checked: string | number | boolean,\n e: InputEvent | MouseEvent\n ) {\n emit('change', getLabeledValue(checked), e)\n }\n\n function handleChange(e: Event) {\n if (isLimitExceeded!.value) return\n const target = e.target as HTMLInputElement\n emit('change', getLabeledValue(target.checked), e)\n }\n\n async function onClickRoot(e: MouseEvent) {\n if (isLimitExceeded!.value) return\n if (\n !hasOwnLabel!.value &&\n !isDisabled!.value &&\n isLabeledByFormItem!.value\n ) {\n model!.value = getLabeledValue(\n [false, props.falseLabel].includes(model!.value)\n )\n await nextTick()\n emitChangeEvent(model!.value, e)\n }\n }\n\n const validateEvent = computed(\n () => checkboxGroup.validateEvent?.value || props.validateEvent\n )\n\n watch(\n () => props.modelValue,\n () => {\n if (validateEvent.value) {\n elFormItem?.validate('change').catch((err) => debugWarn(err))\n }\n }\n )\n\n return {\n handleChange,\n onClickRoot,\n }\n}\n\nexport type CheckboxValueType = string | number | boolean\n\nexport const checkboxEmits = {\n [UPDATE_MODEL_EVENT]: (val: CheckboxValueType) =>\n isString(val) || isNumber(val) || isBoolean(val),\n change: (val: CheckboxValueType) =>\n isString(val) || isNumber(val) || isBoolean(val),\n}\n\nexport const checkboxGroupEmits = {\n [UPDATE_MODEL_EVENT]: (val: CheckboxValueType[]) => isArray(val),\n change: (val: CheckboxValueType[]) => isArray(val),\n}\n\nexport const useCheckbox = (\n props: CheckboxProps,\n slots: ComponentInternalInstance['slots']\n) => {\n const { model, isGroup, isLimitExceeded, elFormItem } = useModel(props)\n const { focus, size, isChecked, checkboxSize, hasOwnLabel } =\n useCheckboxStatus(props, slots, {\n model,\n })\n const { isDisabled } = useDisabled(props, { model, isChecked })\n const { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n disableIdGeneration: hasOwnLabel,\n disableIdManagement: isGroup,\n })\n const { handleChange, onClickRoot } = useEvent(props, {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem,\n })\n\n setStoreValue(props, { model })\n\n return {\n elFormItem,\n inputId,\n isLabeledByFormItem,\n isChecked,\n isDisabled,\n isGroup,\n checkboxSize,\n hasOwnLabel,\n model,\n handleChange,\n onClickRoot,\n focus,\n size,\n }\n}\n\nexport type CheckboxProps = ExtractPropTypes<typeof checkboxProps>\nexport type CheckboxEmits = typeof checkboxEmits\nexport type CheckboxInstance = InstanceType<typeof Checkbox>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"checkbox.mjs","sources":["../../../../../../packages/components/checkbox/src/checkbox.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n inject,\n nextTick,\n ref,\n toRaw,\n watch,\n} from 'vue'\nimport { toTypeString } from '@vue/shared'\nimport { UPDATE_MODEL_EVENT } from '@element-plus/constants'\nimport {\n useFormItem,\n useFormItemInputId,\n useSize,\n useSizeProp,\n} from '@element-plus/hooks'\nimport {\n debugWarn,\n isArray,\n isBoolean,\n isNumber,\n isString,\n} from '@element-plus/utils'\n\nimport type { ComponentInternalInstance, ExtractPropTypes, PropType } from 'vue'\nimport type { ICheckboxGroupInstance } from './checkbox.type'\nimport type Checkbox from './checkbox.vue'\n\nexport const useCheckboxGroupProps = {\n modelValue: {\n type: Array as PropType<Array<string | number>>,\n default: () => [],\n },\n disabled: Boolean,\n min: {\n type: Number,\n default: undefined,\n },\n max: {\n type: Number,\n default: undefined,\n },\n size: useSizeProp,\n id: {\n type: String,\n default: undefined,\n },\n label: {\n type: String,\n default: undefined,\n },\n fill: {\n type: String,\n default: undefined,\n },\n textColor: {\n type: String,\n default: undefined,\n },\n tag: {\n type: String,\n default: 'div',\n },\n validateEvent: {\n type: Boolean,\n default: true,\n },\n}\n\nexport type IUseCheckboxGroupProps = ExtractPropTypes<\n typeof useCheckboxGroupProps\n>\n\nexport const checkboxProps = {\n modelValue: {\n type: [Number, String, Boolean],\n default: () => undefined,\n },\n label: {\n type: [String, Boolean, Number, Object],\n },\n indeterminate: Boolean,\n disabled: Boolean,\n checked: Boolean,\n name: {\n type: String,\n default: undefined,\n },\n trueLabel: {\n type: [String, Number],\n default: undefined,\n },\n falseLabel: {\n type: [String, Number],\n default: undefined,\n },\n id: {\n type: String,\n default: undefined,\n },\n controls: {\n type: String,\n default: undefined,\n },\n border: Boolean,\n size: useSizeProp,\n tabindex: [String, Number],\n validateEvent: {\n type: Boolean,\n default: true,\n },\n}\n\nexport const useCheckboxGroup = () => {\n const { form: elForm, formItem: elFormItem } = useFormItem()\n const checkboxGroup = inject<ICheckboxGroupInstance>('CheckboxGroup', {})\n const isGroup = computed(\n () => checkboxGroup && checkboxGroup?.name === 'ElCheckboxGroup'\n )\n const elFormItemSize = computed(() => {\n return elFormItem?.size\n })\n return {\n isGroup,\n checkboxGroup,\n elForm,\n elFormItemSize,\n elFormItem,\n }\n}\n\nexport const useCheckboxGroupId = (\n props: IUseCheckboxGroupProps,\n { elFormItem }: Partial<ReturnType<typeof useCheckboxGroup>>\n) => {\n const { inputId: groupId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n })\n\n return {\n isLabeledByFormItem,\n groupId,\n }\n}\n\nconst useModel = (props: CheckboxProps) => {\n const selfModel = ref<any>(false)\n const { emit } = getCurrentInstance()!\n const { isGroup, checkboxGroup, elFormItem } = useCheckboxGroup()\n const isLimitExceeded = ref(false)\n const model = computed({\n get() {\n return isGroup.value\n ? checkboxGroup.modelValue?.value\n : props.modelValue ?? selfModel.value\n },\n\n set(val: unknown) {\n if (isGroup.value && Array.isArray(val)) {\n isLimitExceeded.value =\n checkboxGroup.max !== undefined &&\n val.length > checkboxGroup.max.value\n isLimitExceeded.value === false && checkboxGroup?.changeEvent?.(val)\n } else {\n emit(UPDATE_MODEL_EVENT, val)\n selfModel.value = val\n }\n },\n })\n\n return {\n model,\n isGroup,\n isLimitExceeded,\n elFormItem,\n }\n}\n\nconst useCheckboxStatus = (\n props: CheckboxProps,\n slots: ComponentInternalInstance['slots'],\n { model }: Partial<ReturnType<typeof useModel>>\n) => {\n const { isGroup, checkboxGroup } = useCheckboxGroup()\n const focus = ref(false)\n const size = useSize(checkboxGroup?.checkboxGroupSize, { prop: true })\n const isChecked = computed<boolean>(() => {\n const value = model!.value\n if (toTypeString(value) === '[object Boolean]') {\n return value\n } else if (Array.isArray(value)) {\n return value.map(toRaw).includes(props.label)\n } else if (value !== null && value !== undefined) {\n return value === props.trueLabel\n } else {\n return !!value\n }\n })\n\n const checkboxSize = useSize(\n computed(() =>\n isGroup.value ? checkboxGroup?.checkboxGroupSize?.value : undefined\n )\n )\n\n const hasOwnLabel = computed<boolean>(() => {\n return !!(slots.default || props.label)\n })\n\n return {\n isChecked,\n focus,\n size,\n checkboxSize,\n hasOwnLabel,\n }\n}\n\nconst useDisabled = (\n props: CheckboxProps,\n {\n model,\n isChecked,\n }: Partial<ReturnType<typeof useModel>> &\n Partial<ReturnType<typeof useCheckboxStatus>>\n) => {\n const { elForm, isGroup, checkboxGroup } = useCheckboxGroup()\n const isLimitDisabled = computed(() => {\n const max = checkboxGroup.max?.value!\n const min = checkboxGroup.min?.value!\n return (\n (!!(max || min) && model!.value.length >= max && !isChecked!.value) ||\n (model!.value.length <= min && isChecked!.value)\n )\n })\n const isDisabled = computed(() => {\n const disabled = props.disabled || elForm?.disabled\n return (\n (isGroup.value\n ? checkboxGroup.disabled?.value || disabled || isLimitDisabled.value\n : disabled) ?? false\n )\n })\n\n return {\n isDisabled,\n isLimitDisabled,\n }\n}\n\nconst setStoreValue = (\n props: CheckboxProps,\n { model }: Partial<ReturnType<typeof useModel>>\n) => {\n function addToStore() {\n if (Array.isArray(model!.value) && !model!.value.includes(props.label)) {\n model!.value.push(props.label)\n } else {\n model!.value = props.trueLabel || true\n }\n }\n props.checked && addToStore()\n}\n\nconst useEvent = (\n props: CheckboxProps,\n {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem,\n }: Partial<\n ReturnType<typeof useModel> &\n ReturnType<typeof useCheckboxStatus> &\n ReturnType<typeof useDisabled> &\n ReturnType<typeof useFormItemInputId>\n >\n) => {\n const { elFormItem, checkboxGroup } = useCheckboxGroup()\n const { emit } = getCurrentInstance()!\n\n function getLabeledValue(value: string | number | boolean) {\n return value === props.trueLabel || value === true\n ? props.trueLabel ?? true\n : props.falseLabel ?? false\n }\n\n function emitChangeEvent(\n checked: string | number | boolean,\n e: InputEvent | MouseEvent\n ) {\n emit('change', getLabeledValue(checked), e)\n }\n\n function handleChange(e: Event) {\n if (isLimitExceeded!.value) return\n const target = e.target as HTMLInputElement\n emit('change', getLabeledValue(target.checked), e)\n }\n\n async function onClickRoot(e: MouseEvent) {\n if (isLimitExceeded!.value) return\n if (\n !hasOwnLabel!.value &&\n !isDisabled!.value &&\n isLabeledByFormItem!.value\n ) {\n model!.value = getLabeledValue(\n [false, props.falseLabel].includes(model!.value)\n )\n await nextTick()\n emitChangeEvent(model!.value, e)\n }\n }\n\n const validateEvent = computed(\n () => checkboxGroup.validateEvent?.value || props.validateEvent\n )\n\n watch(\n () => props.modelValue,\n () => {\n if (validateEvent.value) {\n elFormItem?.validate('change').catch((err) => debugWarn(err))\n }\n }\n )\n\n return {\n handleChange,\n onClickRoot,\n }\n}\n\nexport type CheckboxValueType = string | number | boolean\n\nexport const checkboxEmits = {\n [UPDATE_MODEL_EVENT]: (val: CheckboxValueType) =>\n isString(val) || isNumber(val) || isBoolean(val),\n change: (val: CheckboxValueType) =>\n isString(val) || isNumber(val) || isBoolean(val),\n}\n\nexport const checkboxGroupEmits = {\n [UPDATE_MODEL_EVENT]: (val: CheckboxValueType[]) => isArray(val),\n change: (val: CheckboxValueType[]) => isArray(val),\n}\n\nexport const useCheckbox = (\n props: CheckboxProps,\n slots: ComponentInternalInstance['slots']\n) => {\n const { model, isGroup, isLimitExceeded, elFormItem } = useModel(props)\n const { focus, size, isChecked, checkboxSize, hasOwnLabel } =\n useCheckboxStatus(props, slots, {\n model,\n })\n const { isDisabled } = useDisabled(props, { model, isChecked })\n const { inputId, isLabeledByFormItem } = useFormItemInputId(props, {\n formItemContext: elFormItem,\n disableIdGeneration: hasOwnLabel,\n disableIdManagement: isGroup,\n })\n const { handleChange, onClickRoot } = useEvent(props, {\n model,\n isLimitExceeded,\n hasOwnLabel,\n isDisabled,\n isLabeledByFormItem,\n })\n\n setStoreValue(props, { model })\n\n return {\n elFormItem,\n inputId,\n isLabeledByFormItem,\n isChecked,\n isDisabled,\n isGroup,\n checkboxSize,\n hasOwnLabel,\n model,\n handleChange,\n onClickRoot,\n focus,\n size,\n }\n}\n\nexport type CheckboxProps = ExtractPropTypes<typeof checkboxProps>\nexport type CheckboxEmits = typeof checkboxEmits\nexport type CheckboxInstance = InstanceType<typeof Checkbox>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import { defineComponent, ref, computed, unref, watch, nextTick, openBlock, createElementBlock, normalizeClass, createElementVNode, toDisplayString, createCommentVNode, Fragment, renderList, createVNode } from 'vue';
|
|
2
2
|
import dayjs from 'dayjs';
|
|
3
|
+
import { flatten } from 'lodash';
|
|
3
4
|
import '../../../../hooks/index.mjs';
|
|
4
5
|
import '../../../../utils/index.mjs';
|
|
5
6
|
import { basicDateTableProps } from '../props/basic-date-table.mjs';
|
|
@@ -44,7 +45,7 @@ const _sfc_main = /* @__PURE__ */ defineComponent({
|
|
|
44
45
|
return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(firstDayOfWeek, firstDayOfWeek + 7);
|
|
45
46
|
});
|
|
46
47
|
const hasCurrent = computed(() => {
|
|
47
|
-
return rows.value
|
|
48
|
+
return flatten(rows.value).some((row) => {
|
|
48
49
|
return row.isCurrent;
|
|
49
50
|
});
|
|
50
51
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"basic-date-table.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-date-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.dateTablePrompt')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n :class=\"[ns.b(), { 'is-week-mode': selectionMode === 'week' }]\"\n @click=\"handlePickDate\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown\"\n @mouseup=\"handleMouseUp\"\n >\n <tbody ref=\"tbodyRef\">\n <tr>\n <th v-if=\"showWeekNumber\" scope=\"col\">{{ t('el.datepicker.week') }}</th>\n <th\n v-for=\"(week, key) in WEEKS\"\n :key=\"key\"\n scope=\"col\"\n :aria-label=\"t('el.datepicker.weeksFull.' + week)\"\n >\n {{ t('el.datepicker.weeks.' + week) }}\n </th>\n </tr>\n <tr\n v-for=\"(row, rowKey) in rows\"\n :key=\"rowKey\"\n :class=\"[ns.e('row'), { current: isWeekActive(row[1]) }]\"\n >\n <td\n v-for=\"(cell, columnKey) in row\"\n :key=\"`${rowKey}.${columnKey}`\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el as HTMLElement)\"\n :class=\"getCellClasses(cell)\"\n :aria-current=\"cell.isCurrent ? 'date' : undefined\"\n :aria-selected=\"cell.isCurrent\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @focus=\"handleFocus\"\n >\n <el-date-picker-cell :cell=\"cell\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { castArray } from '@element-plus/utils'\nimport { basicDateTableProps } from '../props/basic-date-table'\nimport { buildPickerTable } from '../utils'\nimport ElDatePickerCell from './basic-cell-render'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../date-picker.type'\n\nconst props = defineProps(basicDateTableProps)\nconst emit = defineEmits(['changerange', 'pick', 'select'])\n\nconst ns = useNamespace('date-table')\n\nconst { t, lang } = useLocale()\n\nconst tbodyRef = ref<HTMLElement>()\nconst currentCellRef = ref<HTMLElement>()\n// data\nconst lastRow = ref<number>()\nconst lastColumn = ref<number>()\nconst tableRows = ref<DateCell[][]>([[], [], [], [], [], []])\n\nlet focusWithClick = false\n\n// todo better way to get Day.js locale object\nconst firstDayOfWeek = (props.date as any).$locale().weekStart || 7\nconst WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\nconst offsetDay = computed(() => {\n // Sunday 7(0), cal the left and right offset days, 3217654, such as Monday is -1, the is to adjust the position of the first two rows of dates\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek\n})\n\nconst startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n})\n\nconst WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n})\n\nconst hasCurrent = computed<boolean>(() => {\n return rows.value.flat().some((row) => {\n return row.isCurrent\n })\n})\n\nconst days = computed(() => {\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n\n const dateCountOfLastMonth = startOfMonth.subtract(1, 'month').daysInMonth()\n\n return {\n startOfMonthDay,\n dateCountOfMonth,\n dateCountOfLastMonth,\n }\n})\n\nconst selectedDate = computed(() => {\n return props.selectionMode === 'dates'\n ? (castArray(props.parsedValue) as Dayjs[])\n : ([] as Dayjs[])\n})\n\n// Return value indicates should the counter be incremented\nconst setDateText = (\n cell: DateCell,\n {\n count,\n rowIndex,\n columnIndex,\n }: {\n count: number\n rowIndex: number\n columnIndex: number\n }\n): boolean => {\n const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } =\n unref(days)\n const offset = unref(offsetDay)\n if (rowIndex >= 0 && rowIndex <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count\n return true\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (columnIndex % 7)) +\n 1 +\n rowIndex * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count\n } else {\n cell.text = count - dateCountOfMonth\n cell.type = 'next-month'\n }\n return true\n }\n return false\n}\n\nconst setCellMetadata = (\n cell: DateCell,\n {\n columnIndex,\n rowIndex,\n }: {\n columnIndex: number\n rowIndex: number\n },\n count: number\n) => {\n const { disabledDate, cellClassName } = props\n const _selectedDate = unref(selectedDate)\n const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex })\n\n const cellDate = cell.dayjs!.toDate()\n cell.selected = _selectedDate.find(\n (d) => d.valueOf() === cell.dayjs!.valueOf()\n )\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = disabledDate?.(cellDate)\n cell.customClass = cellClassName?.(cellDate)\n return shouldIncrement\n}\n\nconst setRowMetadata = (row: DateCell[]) => {\n if (props.selectionMode === 'week') {\n const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6]\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n}\n\nconst rows = computed(() => {\n const { minDate, maxDate, rangeState, showWeekNumber } = props\n\n const offset = offsetDay.value\n const rows_ = tableRows.value\n const dateUnit = 'day'\n let count = 1\n\n if (showWeekNumber) {\n for (let rowIndex = 0; rowIndex < 6; rowIndex++) {\n if (!rows_[rowIndex][0]) {\n rows_[rowIndex][0] = {\n type: 'week',\n text: startDate.value.add(rowIndex * 7 + 1, dateUnit).week(),\n }\n }\n }\n }\n\n buildPickerTable({ row: 6, column: 7 }, rows_, {\n startDate: minDate,\n columnIndexOffset: showWeekNumber ? 1 : 0,\n nextEndDate:\n rangeState.endDate ||\n maxDate ||\n (rangeState.selecting && minDate) ||\n null,\n now: dayjs().locale(unref(lang)).startOf(dateUnit),\n unit: dateUnit,\n relativeDateGetter: (idx: number) =>\n startDate.value.add(idx - offset, dateUnit),\n setCellMetadata: (...args) => {\n if (setCellMetadata(...args, count)) {\n count += 1\n }\n },\n\n setRowMetadata,\n })\n\n return rows_\n})\n\nwatch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n)\n\nconst focus = async () => {\n currentCellRef.value?.focus()\n}\n\nconst isNormalDay = (type = '') => {\n return ['normal', 'today'].includes(type)\n}\n\nconst isCurrent = (cell: DateCell): boolean => {\n return (\n props.selectionMode === 'date' &&\n isNormalDay(cell.type) &&\n cellMatchesDate(cell, props.parsedValue as Dayjs)\n )\n}\n\nconst cellMatchesDate = (cell: DateCell, date: Dayjs) => {\n if (!date) return false\n return dayjs(date)\n .locale(lang.value)\n .isSame(props.date.date(Number(cell.text)), 'day')\n}\n\nconst getCellClasses = (cell: DateCell) => {\n const classes: string[] = []\n if (isNormalDay(cell.type) && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type!)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (isNormalDay(cell.type) || props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n}\n\nconst getDateOfCell = (row: number, column: number) => {\n const offsetFromStart =\n row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - offsetDay.value\n return startDate.value.add(offsetFromStart, 'day')\n}\n\nconst handleMouseMove = (event: MouseEvent) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target as HTMLElement\n if (target.tagName === 'SPAN') {\n target = target.parentNode?.parentNode as HTMLElement\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode as HTMLElement\n }\n if (target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n}\n\nconst isSelectedCell = (cell: DateCell) => {\n return (\n (!hasCurrent.value && cell?.text === 1 && cell.type === 'normal') ||\n cell.isCurrent\n )\n}\n\nconst handleFocus = (event: FocusEvent) => {\n if (focusWithClick || hasCurrent.value || props.selectionMode !== 'date')\n return\n handlePickDate(event, true)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = true\n}\n\nconst handleMouseUp = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = false\n}\n\nconst handlePickDate = (\n event: FocusEvent | MouseEvent,\n isKeyboardMovement = false\n) => {\n const target = (event.target as HTMLElement).closest('td')\n\n if (!target) return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = rows.value[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting || !props.minDate) {\n emit('pick', { minDate: newDate, maxDate: null })\n emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n emit('select', false)\n }\n } else if (props.selectionMode === 'date') {\n emit('pick', newDate, isKeyboardMovement)\n } else if (props.selectionMode === 'week') {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n } else if (props.selectionMode === 'dates') {\n const newValue = cell.selected\n ? castArray(props.parsedValue).filter(\n (d) => d?.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n emit('pick', newValue)\n }\n}\n\nconst isWeekActive = (cell: DateCell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text as any, 10))\n\n if (props.parsedValue && !Array.isArray(props.parsedValue)) {\n const dayOffset = ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n}\n\ndefineExpose({\n /**\n * @description focus on current cell\n */\n focus,\n})\n</script>\n"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"basic-date-table.mjs","sources":["../../../../../../../packages/components/date-picker/src/date-picker-com/basic-date-table.vue"],"sourcesContent":["<template>\n <table\n role=\"grid\"\n :aria-label=\"t('el.datepicker.dateTablePrompt')\"\n cellspacing=\"0\"\n cellpadding=\"0\"\n :class=\"[ns.b(), { 'is-week-mode': selectionMode === 'week' }]\"\n @click=\"handlePickDate\"\n @mousemove=\"handleMouseMove\"\n @mousedown=\"handleMouseDown\"\n @mouseup=\"handleMouseUp\"\n >\n <tbody ref=\"tbodyRef\">\n <tr>\n <th v-if=\"showWeekNumber\" scope=\"col\">{{ t('el.datepicker.week') }}</th>\n <th\n v-for=\"(week, key) in WEEKS\"\n :key=\"key\"\n scope=\"col\"\n :aria-label=\"t('el.datepicker.weeksFull.' + week)\"\n >\n {{ t('el.datepicker.weeks.' + week) }}\n </th>\n </tr>\n <tr\n v-for=\"(row, rowKey) in rows\"\n :key=\"rowKey\"\n :class=\"[ns.e('row'), { current: isWeekActive(row[1]) }]\"\n >\n <td\n v-for=\"(cell, columnKey) in row\"\n :key=\"`${rowKey}.${columnKey}`\"\n :ref=\"(el) => isSelectedCell(cell) && (currentCellRef = el as HTMLElement)\"\n :class=\"getCellClasses(cell)\"\n :aria-current=\"cell.isCurrent ? 'date' : undefined\"\n :aria-selected=\"cell.isCurrent\"\n :tabindex=\"isSelectedCell(cell) ? 0 : -1\"\n @focus=\"handleFocus\"\n >\n <el-date-picker-cell :cell=\"cell\" />\n </td>\n </tr>\n </tbody>\n </table>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, ref, unref, watch } from 'vue'\nimport dayjs from 'dayjs'\nimport { flatten } from 'lodash'\nimport { useLocale, useNamespace } from '@element-plus/hooks'\nimport { castArray } from '@element-plus/utils'\nimport { basicDateTableProps } from '../props/basic-date-table'\nimport { buildPickerTable } from '../utils'\nimport ElDatePickerCell from './basic-cell-render'\n\nimport type { Dayjs } from 'dayjs'\nimport type { DateCell } from '../date-picker.type'\n\nconst props = defineProps(basicDateTableProps)\nconst emit = defineEmits(['changerange', 'pick', 'select'])\n\nconst ns = useNamespace('date-table')\n\nconst { t, lang } = useLocale()\n\nconst tbodyRef = ref<HTMLElement>()\nconst currentCellRef = ref<HTMLElement>()\n// data\nconst lastRow = ref<number>()\nconst lastColumn = ref<number>()\nconst tableRows = ref<DateCell[][]>([[], [], [], [], [], []])\n\nlet focusWithClick = false\n\n// todo better way to get Day.js locale object\nconst firstDayOfWeek = (props.date as any).$locale().weekStart || 7\nconst WEEKS_CONSTANT = props.date\n .locale('en')\n .localeData()\n .weekdaysShort()\n .map((_) => _.toLowerCase())\n\nconst offsetDay = computed(() => {\n // Sunday 7(0), cal the left and right offset days, 3217654, such as Monday is -1, the is to adjust the position of the first two rows of dates\n return firstDayOfWeek > 3 ? 7 - firstDayOfWeek : -firstDayOfWeek\n})\n\nconst startDate = computed(() => {\n const startDayOfMonth = props.date.startOf('month')\n return startDayOfMonth.subtract(startDayOfMonth.day() || 7, 'day')\n})\n\nconst WEEKS = computed(() => {\n return WEEKS_CONSTANT.concat(WEEKS_CONSTANT).slice(\n firstDayOfWeek,\n firstDayOfWeek + 7\n )\n})\n\nconst hasCurrent = computed<boolean>(() => {\n return flatten(rows.value).some((row) => {\n return row.isCurrent\n })\n})\n\nconst days = computed(() => {\n const startOfMonth = props.date.startOf('month')\n const startOfMonthDay = startOfMonth.day() || 7 // day of first day\n const dateCountOfMonth = startOfMonth.daysInMonth()\n\n const dateCountOfLastMonth = startOfMonth.subtract(1, 'month').daysInMonth()\n\n return {\n startOfMonthDay,\n dateCountOfMonth,\n dateCountOfLastMonth,\n }\n})\n\nconst selectedDate = computed(() => {\n return props.selectionMode === 'dates'\n ? (castArray(props.parsedValue) as Dayjs[])\n : ([] as Dayjs[])\n})\n\n// Return value indicates should the counter be incremented\nconst setDateText = (\n cell: DateCell,\n {\n count,\n rowIndex,\n columnIndex,\n }: {\n count: number\n rowIndex: number\n columnIndex: number\n }\n): boolean => {\n const { startOfMonthDay, dateCountOfMonth, dateCountOfLastMonth } =\n unref(days)\n const offset = unref(offsetDay)\n if (rowIndex >= 0 && rowIndex <= 1) {\n const numberOfDaysFromPreviousMonth =\n startOfMonthDay + offset < 0\n ? 7 + startOfMonthDay + offset\n : startOfMonthDay + offset\n\n if (columnIndex + rowIndex * 7 >= numberOfDaysFromPreviousMonth) {\n cell.text = count\n return true\n } else {\n cell.text =\n dateCountOfLastMonth -\n (numberOfDaysFromPreviousMonth - (columnIndex % 7)) +\n 1 +\n rowIndex * 7\n cell.type = 'prev-month'\n }\n } else {\n if (count <= dateCountOfMonth) {\n cell.text = count\n } else {\n cell.text = count - dateCountOfMonth\n cell.type = 'next-month'\n }\n return true\n }\n return false\n}\n\nconst setCellMetadata = (\n cell: DateCell,\n {\n columnIndex,\n rowIndex,\n }: {\n columnIndex: number\n rowIndex: number\n },\n count: number\n) => {\n const { disabledDate, cellClassName } = props\n const _selectedDate = unref(selectedDate)\n const shouldIncrement = setDateText(cell, { count, rowIndex, columnIndex })\n\n const cellDate = cell.dayjs!.toDate()\n cell.selected = _selectedDate.find(\n (d) => d.valueOf() === cell.dayjs!.valueOf()\n )\n cell.isSelected = !!cell.selected\n cell.isCurrent = isCurrent(cell)\n cell.disabled = disabledDate?.(cellDate)\n cell.customClass = cellClassName?.(cellDate)\n return shouldIncrement\n}\n\nconst setRowMetadata = (row: DateCell[]) => {\n if (props.selectionMode === 'week') {\n const [start, end] = props.showWeekNumber ? [1, 7] : [0, 6]\n const isActive = isWeekActive(row[start + 1])\n row[start].inRange = isActive\n row[start].start = isActive\n row[end].inRange = isActive\n row[end].end = isActive\n }\n}\n\nconst rows = computed(() => {\n const { minDate, maxDate, rangeState, showWeekNumber } = props\n\n const offset = offsetDay.value\n const rows_ = tableRows.value\n const dateUnit = 'day'\n let count = 1\n\n if (showWeekNumber) {\n for (let rowIndex = 0; rowIndex < 6; rowIndex++) {\n if (!rows_[rowIndex][0]) {\n rows_[rowIndex][0] = {\n type: 'week',\n text: startDate.value.add(rowIndex * 7 + 1, dateUnit).week(),\n }\n }\n }\n }\n\n buildPickerTable({ row: 6, column: 7 }, rows_, {\n startDate: minDate,\n columnIndexOffset: showWeekNumber ? 1 : 0,\n nextEndDate:\n rangeState.endDate ||\n maxDate ||\n (rangeState.selecting && minDate) ||\n null,\n now: dayjs().locale(unref(lang)).startOf(dateUnit),\n unit: dateUnit,\n relativeDateGetter: (idx: number) =>\n startDate.value.add(idx - offset, dateUnit),\n setCellMetadata: (...args) => {\n if (setCellMetadata(...args, count)) {\n count += 1\n }\n },\n\n setRowMetadata,\n })\n\n return rows_\n})\n\nwatch(\n () => props.date,\n async () => {\n if (tbodyRef.value?.contains(document.activeElement)) {\n await nextTick()\n currentCellRef.value?.focus()\n }\n }\n)\n\nconst focus = async () => {\n currentCellRef.value?.focus()\n}\n\nconst isNormalDay = (type = '') => {\n return ['normal', 'today'].includes(type)\n}\n\nconst isCurrent = (cell: DateCell): boolean => {\n return (\n props.selectionMode === 'date' &&\n isNormalDay(cell.type) &&\n cellMatchesDate(cell, props.parsedValue as Dayjs)\n )\n}\n\nconst cellMatchesDate = (cell: DateCell, date: Dayjs) => {\n if (!date) return false\n return dayjs(date)\n .locale(lang.value)\n .isSame(props.date.date(Number(cell.text)), 'day')\n}\n\nconst getCellClasses = (cell: DateCell) => {\n const classes: string[] = []\n if (isNormalDay(cell.type) && !cell.disabled) {\n classes.push('available')\n if (cell.type === 'today') {\n classes.push('today')\n }\n } else {\n classes.push(cell.type!)\n }\n\n if (isCurrent(cell)) {\n classes.push('current')\n }\n\n if (\n cell.inRange &&\n (isNormalDay(cell.type) || props.selectionMode === 'week')\n ) {\n classes.push('in-range')\n\n if (cell.start) {\n classes.push('start-date')\n }\n\n if (cell.end) {\n classes.push('end-date')\n }\n }\n\n if (cell.disabled) {\n classes.push('disabled')\n }\n\n if (cell.selected) {\n classes.push('selected')\n }\n\n if (cell.customClass) {\n classes.push(cell.customClass)\n }\n\n return classes.join(' ')\n}\n\nconst getDateOfCell = (row: number, column: number) => {\n const offsetFromStart =\n row * 7 + (column - (props.showWeekNumber ? 1 : 0)) - offsetDay.value\n return startDate.value.add(offsetFromStart, 'day')\n}\n\nconst handleMouseMove = (event: MouseEvent) => {\n if (!props.rangeState.selecting) return\n\n let target = event.target as HTMLElement\n if (target.tagName === 'SPAN') {\n target = target.parentNode?.parentNode as HTMLElement\n }\n if (target.tagName === 'DIV') {\n target = target.parentNode as HTMLElement\n }\n if (target.tagName !== 'TD') return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n\n // can not select disabled date\n if (rows.value[row][column].disabled) return\n\n // only update rangeState when mouse moves to a new cell\n // this avoids frequent Date object creation and improves performance\n if (row !== lastRow.value || column !== lastColumn.value) {\n lastRow.value = row\n lastColumn.value = column\n emit('changerange', {\n selecting: true,\n endDate: getDateOfCell(row, column),\n })\n }\n}\n\nconst isSelectedCell = (cell: DateCell) => {\n return (\n (!hasCurrent.value && cell?.text === 1 && cell.type === 'normal') ||\n cell.isCurrent\n )\n}\n\nconst handleFocus = (event: FocusEvent) => {\n if (focusWithClick || hasCurrent.value || props.selectionMode !== 'date')\n return\n handlePickDate(event, true)\n}\n\nconst handleMouseDown = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = true\n}\n\nconst handleMouseUp = (event: MouseEvent) => {\n const target = (event.target as HTMLElement).closest('td')\n if (!target) return\n focusWithClick = false\n}\n\nconst handlePickDate = (\n event: FocusEvent | MouseEvent,\n isKeyboardMovement = false\n) => {\n const target = (event.target as HTMLElement).closest('td')\n\n if (!target) return\n\n const row = (target.parentNode as HTMLTableRowElement).rowIndex - 1\n const column = (target as HTMLTableCellElement).cellIndex\n const cell = rows.value[row][column]\n\n if (cell.disabled || cell.type === 'week') return\n\n const newDate = getDateOfCell(row, column)\n\n if (props.selectionMode === 'range') {\n if (!props.rangeState.selecting || !props.minDate) {\n emit('pick', { minDate: newDate, maxDate: null })\n emit('select', true)\n } else {\n if (newDate >= props.minDate) {\n emit('pick', { minDate: props.minDate, maxDate: newDate })\n } else {\n emit('pick', { minDate: newDate, maxDate: props.minDate })\n }\n emit('select', false)\n }\n } else if (props.selectionMode === 'date') {\n emit('pick', newDate, isKeyboardMovement)\n } else if (props.selectionMode === 'week') {\n const weekNumber = newDate.week()\n const value = `${newDate.year()}w${weekNumber}`\n emit('pick', {\n year: newDate.year(),\n week: weekNumber,\n value,\n date: newDate.startOf('week'),\n })\n } else if (props.selectionMode === 'dates') {\n const newValue = cell.selected\n ? castArray(props.parsedValue).filter(\n (d) => d?.valueOf() !== newDate.valueOf()\n )\n : castArray(props.parsedValue).concat([newDate])\n emit('pick', newValue)\n }\n}\n\nconst isWeekActive = (cell: DateCell) => {\n if (props.selectionMode !== 'week') return false\n let newDate = props.date.startOf('day')\n\n if (cell.type === 'prev-month') {\n newDate = newDate.subtract(1, 'month')\n }\n\n if (cell.type === 'next-month') {\n newDate = newDate.add(1, 'month')\n }\n\n newDate = newDate.date(Number.parseInt(cell.text as any, 10))\n\n if (props.parsedValue && !Array.isArray(props.parsedValue)) {\n const dayOffset = ((props.parsedValue.day() - firstDayOfWeek + 7) % 7) - 1\n const weekDate = props.parsedValue.subtract(dayOffset, 'day')\n return weekDate.isSame(newDate, 'day')\n }\n return false\n}\n\ndefineExpose({\n /**\n * @description focus on current cell\n */\n focus,\n})\n</script>\n"],"names":[],"mappings":"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"}
|