@element-plus/nightly 0.0.20250604 → 0.0.20250606
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 +111 -72
- package/dist/index.full.min.js +13 -13
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +14 -14
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +101 -73
- package/dist/locale/af.js +1 -1
- package/dist/locale/af.min.js +1 -1
- package/dist/locale/af.min.mjs +1 -1
- package/dist/locale/af.mjs +1 -1
- package/dist/locale/ar-eg.js +1 -1
- package/dist/locale/ar-eg.min.js +1 -1
- package/dist/locale/ar-eg.min.mjs +1 -1
- package/dist/locale/ar-eg.mjs +1 -1
- package/dist/locale/ar.js +1 -1
- package/dist/locale/ar.min.js +1 -1
- package/dist/locale/ar.min.mjs +1 -1
- package/dist/locale/ar.mjs +1 -1
- package/dist/locale/az.js +1 -1
- package/dist/locale/az.min.js +1 -1
- package/dist/locale/az.min.mjs +1 -1
- package/dist/locale/az.mjs +1 -1
- package/dist/locale/bg.js +1 -1
- package/dist/locale/bg.min.js +1 -1
- package/dist/locale/bg.min.mjs +1 -1
- package/dist/locale/bg.mjs +1 -1
- package/dist/locale/bn.js +1 -1
- package/dist/locale/bn.min.js +1 -1
- package/dist/locale/bn.min.mjs +1 -1
- package/dist/locale/bn.mjs +1 -1
- package/dist/locale/ca.js +1 -1
- package/dist/locale/ca.min.js +1 -1
- package/dist/locale/ca.min.mjs +1 -1
- package/dist/locale/ca.mjs +1 -1
- package/dist/locale/ckb.js +1 -1
- package/dist/locale/ckb.min.js +1 -1
- package/dist/locale/ckb.min.mjs +1 -1
- package/dist/locale/ckb.mjs +1 -1
- package/dist/locale/cs.js +1 -1
- package/dist/locale/cs.min.js +1 -1
- package/dist/locale/cs.min.mjs +1 -1
- package/dist/locale/cs.mjs +1 -1
- package/dist/locale/da.js +1 -1
- package/dist/locale/da.min.js +1 -1
- package/dist/locale/da.min.mjs +1 -1
- package/dist/locale/da.mjs +1 -1
- package/dist/locale/de.js +1 -1
- package/dist/locale/de.min.js +1 -1
- package/dist/locale/de.min.mjs +1 -1
- package/dist/locale/de.mjs +1 -1
- package/dist/locale/el.js +1 -1
- package/dist/locale/el.min.js +1 -1
- package/dist/locale/el.min.mjs +1 -1
- package/dist/locale/el.mjs +1 -1
- package/dist/locale/en.js +1 -1
- package/dist/locale/en.min.js +1 -1
- package/dist/locale/en.min.mjs +1 -1
- package/dist/locale/en.mjs +1 -1
- package/dist/locale/eo.js +1 -1
- package/dist/locale/eo.min.js +1 -1
- package/dist/locale/eo.min.mjs +1 -1
- package/dist/locale/eo.mjs +1 -1
- package/dist/locale/es.js +1 -1
- package/dist/locale/es.min.js +1 -1
- package/dist/locale/es.min.mjs +1 -1
- package/dist/locale/es.mjs +1 -1
- package/dist/locale/et.js +1 -1
- package/dist/locale/et.min.js +1 -1
- package/dist/locale/et.min.mjs +1 -1
- package/dist/locale/et.mjs +1 -1
- package/dist/locale/eu.js +1 -1
- package/dist/locale/eu.min.js +1 -1
- package/dist/locale/eu.min.mjs +1 -1
- package/dist/locale/eu.mjs +1 -1
- package/dist/locale/fa.js +1 -1
- package/dist/locale/fa.min.js +1 -1
- package/dist/locale/fa.min.mjs +1 -1
- package/dist/locale/fa.mjs +1 -1
- package/dist/locale/fi.js +1 -1
- package/dist/locale/fi.min.js +1 -1
- package/dist/locale/fi.min.mjs +1 -1
- package/dist/locale/fi.mjs +1 -1
- package/dist/locale/fr.js +1 -1
- package/dist/locale/fr.min.js +1 -1
- package/dist/locale/fr.min.mjs +1 -1
- package/dist/locale/fr.mjs +1 -1
- package/dist/locale/he.js +1 -1
- package/dist/locale/he.min.js +1 -1
- package/dist/locale/he.min.mjs +1 -1
- package/dist/locale/he.mjs +1 -1
- package/dist/locale/hi.js +1 -1
- package/dist/locale/hi.min.js +1 -1
- package/dist/locale/hi.min.mjs +1 -1
- package/dist/locale/hi.mjs +1 -1
- package/dist/locale/hr.js +1 -1
- package/dist/locale/hr.min.js +1 -1
- package/dist/locale/hr.min.mjs +1 -1
- package/dist/locale/hr.mjs +1 -1
- package/dist/locale/hu.js +1 -1
- package/dist/locale/hu.min.js +1 -1
- package/dist/locale/hu.min.mjs +1 -1
- package/dist/locale/hu.mjs +1 -1
- package/dist/locale/hy-am.js +1 -1
- package/dist/locale/hy-am.min.js +1 -1
- package/dist/locale/hy-am.min.mjs +1 -1
- package/dist/locale/hy-am.mjs +1 -1
- package/dist/locale/id.js +1 -1
- package/dist/locale/id.min.js +1 -1
- package/dist/locale/id.min.mjs +1 -1
- package/dist/locale/id.mjs +1 -1
- package/dist/locale/it.js +1 -1
- package/dist/locale/it.min.js +1 -1
- package/dist/locale/it.min.mjs +1 -1
- package/dist/locale/it.mjs +1 -1
- package/dist/locale/ja.js +1 -1
- package/dist/locale/ja.min.js +1 -1
- package/dist/locale/ja.min.mjs +1 -1
- package/dist/locale/ja.mjs +1 -1
- package/dist/locale/kk.js +1 -1
- package/dist/locale/kk.min.js +1 -1
- package/dist/locale/kk.min.mjs +1 -1
- package/dist/locale/kk.mjs +1 -1
- package/dist/locale/km.js +1 -1
- package/dist/locale/km.min.js +1 -1
- package/dist/locale/km.min.mjs +1 -1
- package/dist/locale/km.mjs +1 -1
- package/dist/locale/ko.js +1 -1
- package/dist/locale/ko.min.js +1 -1
- package/dist/locale/ko.min.mjs +1 -1
- package/dist/locale/ko.mjs +1 -1
- package/dist/locale/ku.js +1 -1
- package/dist/locale/ku.min.js +1 -1
- package/dist/locale/ku.min.mjs +1 -1
- package/dist/locale/ku.mjs +1 -1
- package/dist/locale/ky.js +1 -1
- package/dist/locale/ky.min.js +1 -1
- package/dist/locale/ky.min.mjs +1 -1
- package/dist/locale/ky.mjs +1 -1
- package/dist/locale/lo.js +1 -1
- package/dist/locale/lo.min.js +1 -1
- package/dist/locale/lo.min.mjs +1 -1
- package/dist/locale/lo.mjs +1 -1
- package/dist/locale/lt.js +1 -1
- package/dist/locale/lt.min.js +1 -1
- package/dist/locale/lt.min.mjs +1 -1
- package/dist/locale/lt.mjs +1 -1
- package/dist/locale/lv.js +1 -1
- package/dist/locale/lv.min.js +1 -1
- package/dist/locale/lv.min.mjs +1 -1
- package/dist/locale/lv.mjs +1 -1
- package/dist/locale/mg.js +1 -1
- package/dist/locale/mg.min.js +1 -1
- package/dist/locale/mg.min.mjs +1 -1
- package/dist/locale/mg.mjs +1 -1
- package/dist/locale/mn.js +1 -1
- package/dist/locale/mn.min.js +1 -1
- package/dist/locale/mn.min.mjs +1 -1
- package/dist/locale/mn.mjs +1 -1
- package/dist/locale/ms.js +1 -1
- package/dist/locale/ms.min.js +1 -1
- package/dist/locale/ms.min.mjs +1 -1
- package/dist/locale/ms.mjs +1 -1
- package/dist/locale/my.js +1 -1
- package/dist/locale/my.min.js +1 -1
- package/dist/locale/my.min.mjs +1 -1
- package/dist/locale/my.mjs +1 -1
- package/dist/locale/nb-no.js +1 -1
- package/dist/locale/nb-no.min.js +1 -1
- package/dist/locale/nb-no.min.mjs +1 -1
- package/dist/locale/nb-no.mjs +1 -1
- package/dist/locale/nl.js +1 -1
- package/dist/locale/nl.min.js +1 -1
- package/dist/locale/nl.min.mjs +1 -1
- package/dist/locale/nl.mjs +1 -1
- package/dist/locale/no.js +1 -1
- package/dist/locale/no.min.js +1 -1
- package/dist/locale/no.min.mjs +1 -1
- package/dist/locale/no.mjs +1 -1
- package/dist/locale/pa.js +1 -1
- package/dist/locale/pa.min.js +1 -1
- package/dist/locale/pa.min.mjs +1 -1
- package/dist/locale/pa.mjs +1 -1
- package/dist/locale/pl.js +1 -1
- package/dist/locale/pl.min.js +1 -1
- package/dist/locale/pl.min.mjs +1 -1
- package/dist/locale/pl.mjs +1 -1
- package/dist/locale/pt-br.js +1 -1
- package/dist/locale/pt-br.min.js +1 -1
- package/dist/locale/pt-br.min.mjs +1 -1
- package/dist/locale/pt-br.mjs +1 -1
- package/dist/locale/pt.js +1 -1
- package/dist/locale/pt.min.js +1 -1
- package/dist/locale/pt.min.mjs +1 -1
- package/dist/locale/pt.mjs +1 -1
- package/dist/locale/ro.js +1 -1
- package/dist/locale/ro.min.js +1 -1
- package/dist/locale/ro.min.mjs +1 -1
- package/dist/locale/ro.mjs +1 -1
- package/dist/locale/ru.js +1 -1
- package/dist/locale/ru.min.js +1 -1
- package/dist/locale/ru.min.mjs +1 -1
- package/dist/locale/ru.mjs +1 -1
- package/dist/locale/sk.js +1 -1
- package/dist/locale/sk.min.js +1 -1
- package/dist/locale/sk.min.mjs +1 -1
- package/dist/locale/sk.mjs +1 -1
- package/dist/locale/sl.js +1 -1
- package/dist/locale/sl.min.js +1 -1
- package/dist/locale/sl.min.mjs +1 -1
- package/dist/locale/sl.mjs +1 -1
- package/dist/locale/sr.js +1 -1
- package/dist/locale/sr.min.js +1 -1
- package/dist/locale/sr.min.mjs +1 -1
- package/dist/locale/sr.mjs +1 -1
- package/dist/locale/sv.js +1 -1
- package/dist/locale/sv.min.js +1 -1
- package/dist/locale/sv.min.mjs +1 -1
- package/dist/locale/sv.mjs +1 -1
- package/dist/locale/sw.js +1 -1
- package/dist/locale/sw.min.js +1 -1
- package/dist/locale/sw.min.mjs +1 -1
- package/dist/locale/sw.mjs +1 -1
- package/dist/locale/ta.js +1 -1
- package/dist/locale/ta.min.js +1 -1
- package/dist/locale/ta.min.mjs +1 -1
- package/dist/locale/ta.mjs +1 -1
- package/dist/locale/te.js +1 -1
- package/dist/locale/te.min.js +1 -1
- package/dist/locale/te.min.mjs +1 -1
- package/dist/locale/te.mjs +1 -1
- package/dist/locale/th.js +1 -1
- package/dist/locale/th.min.js +1 -1
- package/dist/locale/th.min.mjs +1 -1
- package/dist/locale/th.mjs +1 -1
- package/dist/locale/tk.js +1 -1
- package/dist/locale/tk.min.js +1 -1
- package/dist/locale/tk.min.mjs +1 -1
- package/dist/locale/tk.mjs +1 -1
- package/dist/locale/tr.js +1 -1
- package/dist/locale/tr.min.js +1 -1
- package/dist/locale/tr.min.mjs +1 -1
- package/dist/locale/tr.mjs +1 -1
- package/dist/locale/ug-cn.js +1 -1
- package/dist/locale/ug-cn.min.js +1 -1
- package/dist/locale/ug-cn.min.mjs +1 -1
- package/dist/locale/ug-cn.mjs +1 -1
- package/dist/locale/uk.js +1 -1
- package/dist/locale/uk.min.js +1 -1
- package/dist/locale/uk.min.mjs +1 -1
- package/dist/locale/uk.mjs +1 -1
- package/dist/locale/uz-uz.js +1 -1
- package/dist/locale/uz-uz.min.js +1 -1
- package/dist/locale/uz-uz.min.mjs +1 -1
- package/dist/locale/uz-uz.mjs +1 -1
- package/dist/locale/vi.js +1 -1
- package/dist/locale/vi.min.js +1 -1
- package/dist/locale/vi.min.mjs +1 -1
- package/dist/locale/vi.mjs +1 -1
- package/dist/locale/zh-cn.js +1 -1
- package/dist/locale/zh-cn.min.js +1 -1
- package/dist/locale/zh-cn.min.mjs +1 -1
- package/dist/locale/zh-cn.mjs +1 -1
- package/dist/locale/zh-hk.js +1 -1
- package/dist/locale/zh-hk.min.js +1 -1
- package/dist/locale/zh-hk.min.mjs +1 -1
- package/dist/locale/zh-hk.mjs +1 -1
- package/dist/locale/zh-mo.js +1 -1
- package/dist/locale/zh-mo.min.js +1 -1
- package/dist/locale/zh-mo.min.mjs +1 -1
- package/dist/locale/zh-mo.mjs +1 -1
- package/dist/locale/zh-tw.js +1 -1
- package/dist/locale/zh-tw.min.js +1 -1
- package/dist/locale/zh-tw.min.mjs +1 -1
- package/dist/locale/zh-tw.mjs +1 -1
- package/es/components/alert/index.mjs +2 -2
- package/es/components/alert/src/alert.mjs +108 -41
- package/es/components/alert/src/alert.mjs.map +1 -1
- package/es/components/alert/src/alert2.mjs +41 -108
- package/es/components/alert/src/alert2.mjs.map +1 -1
- package/es/components/backtop/index.mjs +2 -2
- package/es/components/backtop/src/backtop.mjs +53 -21
- package/es/components/backtop/src/backtop.mjs.map +1 -1
- package/es/components/backtop/src/backtop2.mjs +21 -53
- package/es/components/backtop/src/backtop2.mjs.map +1 -1
- package/es/components/badge/index.mjs +2 -2
- package/es/components/badge/src/badge.mjs +71 -32
- package/es/components/badge/src/badge.mjs.map +1 -1
- package/es/components/badge/src/badge2.mjs +32 -71
- package/es/components/badge/src/badge2.mjs.map +1 -1
- package/es/components/breadcrumb/index.mjs +2 -2
- package/es/components/breadcrumb/src/breadcrumb.mjs +37 -10
- package/es/components/breadcrumb/src/breadcrumb.mjs.map +1 -1
- package/es/components/breadcrumb/src/breadcrumb2.mjs +10 -37
- package/es/components/breadcrumb/src/breadcrumb2.mjs.map +1 -1
- package/es/components/carousel/index.mjs +2 -2
- package/es/components/carousel/src/carousel-item.mjs +7 -69
- package/es/components/carousel/src/carousel-item.mjs.map +1 -1
- package/es/components/carousel/src/carousel-item2.mjs +69 -7
- package/es/components/carousel/src/carousel-item2.mjs.map +1 -1
- package/es/components/cascader-panel/src/index.mjs +1 -1
- package/es/components/cascader-panel/src/menu.mjs +1 -1
- package/es/components/cascader-panel/src/node.mjs +115 -206
- package/es/components/cascader-panel/src/node.mjs.map +1 -1
- package/es/components/cascader-panel/src/node2.mjs +206 -115
- package/es/components/cascader-panel/src/node2.mjs.map +1 -1
- package/es/components/cascader-panel/src/store.mjs +1 -1
- package/es/components/col/index.mjs +2 -2
- package/es/components/col/src/col.mjs +64 -43
- package/es/components/col/src/col.mjs.map +1 -1
- package/es/components/col/src/col2.mjs +43 -64
- package/es/components/col/src/col2.mjs.map +1 -1
- package/es/components/collapse/index.mjs +2 -2
- package/es/components/collapse/src/collapse-item.mjs +18 -95
- package/es/components/collapse/src/collapse-item.mjs.map +1 -1
- package/es/components/collapse/src/collapse-item2.mjs +95 -18
- package/es/components/collapse/src/collapse-item2.mjs.map +1 -1
- package/es/components/collapse/src/use-collapse-item.d.ts +2 -2
- package/es/components/collapse/src/use-collapse-item.mjs +9 -2
- package/es/components/collapse/src/use-collapse-item.mjs.map +1 -1
- package/es/components/date-picker/index.mjs +1 -1
- package/es/components/date-picker/src/composables/use-panel-date-range.mjs +2 -1
- package/es/components/date-picker/src/composables/use-panel-date-range.mjs.map +1 -1
- package/es/components/date-picker/src/constants.d.ts +1 -0
- package/es/components/date-picker/src/constants.mjs +2 -1
- package/es/components/date-picker/src/constants.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs +4 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-pick.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs +4 -2
- package/es/components/date-picker/src/date-picker-com/panel-date-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs +4 -2
- package/es/components/date-picker/src/date-picker-com/panel-month-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker-com/panel-year-range.mjs +4 -3
- package/es/components/date-picker/src/date-picker-com/panel-year-range.mjs.map +1 -1
- package/es/components/date-picker/src/date-picker.mjs +4 -4
- package/es/components/date-picker/src/date-picker.mjs.map +1 -1
- package/es/components/descriptions/index.mjs +2 -2
- package/es/components/descriptions/src/description.mjs +127 -26
- package/es/components/descriptions/src/description.mjs.map +1 -1
- package/es/components/descriptions/src/description2.mjs +26 -127
- package/es/components/descriptions/src/description2.mjs.map +1 -1
- package/es/components/dropdown/index.mjs +1 -1
- package/es/components/dropdown/src/dropdown-item-impl.mjs +1 -1
- package/es/components/dropdown/src/dropdown-menu.mjs +1 -1
- package/es/components/dropdown/src/dropdown.mjs +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +3 -3
- package/es/components/dropdown/src/dropdown2.mjs.map +1 -1
- package/es/components/dropdown/src/tokens.d.ts +1 -0
- package/es/components/dropdown/src/tokens.mjs +2 -1
- package/es/components/dropdown/src/tokens.mjs.map +1 -1
- package/es/components/dropdown/src/useDropdown.mjs +2 -1
- package/es/components/dropdown/src/useDropdown.mjs.map +1 -1
- package/es/components/icon/index.mjs +2 -2
- package/es/components/icon/src/icon.mjs +8 -35
- package/es/components/icon/src/icon.mjs.map +1 -1
- package/es/components/icon/src/icon2.mjs +35 -8
- package/es/components/icon/src/icon2.mjs.map +1 -1
- package/es/components/image/index.mjs +2 -2
- package/es/components/image/src/image.mjs +226 -68
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image2.mjs +68 -226
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/index.mjs +21 -17
- package/es/components/index.mjs.map +1 -1
- package/es/components/menu/index.d.ts +1 -0
- package/es/components/menu/index.mjs +1 -0
- package/es/components/menu/index.mjs.map +1 -1
- package/es/components/menu/src/menu-item.mjs.map +1 -1
- package/es/components/menu/src/menu-item2.mjs +6 -3
- package/es/components/menu/src/menu-item2.mjs.map +1 -1
- package/es/components/menu/src/menu.mjs +3 -2
- package/es/components/menu/src/menu.mjs.map +1 -1
- package/es/components/menu/src/sub-menu.mjs +4 -3
- package/es/components/menu/src/sub-menu.mjs.map +1 -1
- package/es/components/menu/src/tokens.d.ts +2 -0
- package/es/components/menu/src/tokens.mjs +5 -0
- package/es/components/menu/src/tokens.mjs.map +1 -0
- package/es/components/notification/index.mjs +1 -1
- package/es/components/notification/src/notification.mjs +73 -140
- package/es/components/notification/src/notification.mjs.map +1 -1
- package/es/components/notification/src/notification2.mjs +140 -73
- package/es/components/notification/src/notification2.mjs.map +1 -1
- package/es/components/notification/src/notify.mjs +2 -2
- package/es/components/pagination/src/components/prev.mjs +17 -35
- package/es/components/pagination/src/components/prev.mjs.map +1 -1
- package/es/components/pagination/src/components/prev2.mjs +35 -17
- package/es/components/pagination/src/components/prev2.mjs.map +1 -1
- package/es/components/pagination/src/components/total.mjs +26 -6
- package/es/components/pagination/src/components/total.mjs.map +1 -1
- package/es/components/pagination/src/components/total2.mjs +6 -26
- package/es/components/pagination/src/components/total2.mjs.map +1 -1
- package/es/components/pagination/src/pagination.mjs +2 -2
- package/es/components/popover/src/popover.mjs +1 -1
- package/es/components/roving-focus-group/index.mjs +3 -3
- package/es/components/roving-focus-group/src/roving-focus-group-impl.mjs +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group.mjs +27 -27
- package/es/components/roving-focus-group/src/roving-focus-group.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs +27 -27
- package/es/components/roving-focus-group/src/roving-focus-group2.mjs.map +1 -1
- package/es/components/roving-focus-group/src/roving-focus-item.mjs +1 -1
- package/es/components/select/src/select2.mjs +17 -19
- package/es/components/select/src/select2.mjs.map +1 -1
- package/es/components/space/src/space.mjs +14 -8
- package/es/components/space/src/space.mjs.map +1 -1
- package/es/components/steps/index.d.ts +1 -0
- package/es/components/steps/index.mjs +1 -0
- package/es/components/steps/index.mjs.map +1 -1
- package/es/components/steps/src/item.vue.d.ts +2 -10
- package/es/components/steps/src/item2.mjs +2 -1
- package/es/components/steps/src/item2.mjs.map +1 -1
- package/es/components/steps/src/steps2.mjs +2 -1
- package/es/components/steps/src/steps2.mjs.map +1 -1
- package/es/components/steps/src/tokens.d.ts +1 -0
- package/es/components/steps/src/tokens.mjs +4 -0
- package/es/components/steps/src/tokens.mjs.map +1 -0
- package/es/components/switch/index.mjs +2 -2
- package/es/components/switch/src/switch.mjs +228 -72
- package/es/components/switch/src/switch.mjs.map +1 -1
- package/es/components/switch/src/switch2.mjs +72 -228
- package/es/components/switch/src/switch2.mjs.map +1 -1
- package/es/components/table-v2/src/components/header.mjs +2 -1
- package/es/components/table-v2/src/components/header.mjs.map +1 -1
- package/es/components/table-v2/src/table-grid.mjs +2 -2
- package/es/components/table-v2/src/table-grid.mjs.map +1 -1
- package/es/components/table-v2/src/tokens.d.ts +1 -0
- package/es/components/table-v2/src/tokens.mjs +2 -1
- package/es/components/table-v2/src/tokens.mjs.map +1 -1
- package/es/components/text/index.mjs +2 -2
- package/es/components/text/src/text.mjs +67 -21
- package/es/components/text/src/text.mjs.map +1 -1
- package/es/components/text/src/text2.mjs +21 -67
- package/es/components/text/src/text2.mjs.map +1 -1
- package/es/components/time-picker/index.mjs +1 -1
- package/es/components/time-picker/src/common/picker.mjs +3 -2
- package/es/components/time-picker/src/common/picker.mjs.map +1 -1
- package/es/components/time-picker/src/constants.d.ts +2 -0
- package/es/components/time-picker/src/constants.mjs +3 -1
- package/es/components/time-picker/src/constants.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs +2 -2
- package/es/components/time-picker/src/time-picker-com/basic-time-spinner.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs +2 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-pick.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs +2 -1
- package/es/components/time-picker/src/time-picker-com/panel-time-range.mjs.map +1 -1
- package/es/components/time-picker/src/time-picker.mjs +2 -2
- package/es/components/time-picker/src/time-picker.mjs.map +1 -1
- package/es/components/timeline/index.d.ts +1 -0
- package/es/components/timeline/index.mjs +1 -0
- package/es/components/timeline/index.mjs.map +1 -1
- package/es/components/timeline/src/timeline.mjs +2 -1
- package/es/components/timeline/src/timeline.mjs.map +1 -1
- package/es/components/timeline/src/tokens.d.ts +1 -0
- package/es/components/timeline/src/tokens.mjs +4 -0
- package/es/components/timeline/src/tokens.mjs.map +1 -0
- package/es/components/tooltip/index.mjs +1 -1
- package/es/components/tooltip/src/tooltip.mjs +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +1 -1
- package/es/components/tooltip/src/trigger.mjs +14 -72
- package/es/components/tooltip/src/trigger.mjs.map +1 -1
- package/es/components/tooltip/src/trigger2.mjs +72 -14
- package/es/components/tooltip/src/trigger2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/content.vue.d.ts +2 -1
- package/es/components/tooltip-v2/src/content2.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.d.ts +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs +1 -1
- package/es/components/tooltip-v2/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip-v2/src/tooltip.vue.d.ts +3 -3
- package/es/components/tooltip-v2/src/tooltip2.mjs.map +1 -1
- package/es/components/tree/index.d.ts +1 -0
- package/es/components/tree/index.mjs +1 -0
- package/es/components/tree/index.mjs.map +1 -1
- package/es/components/tree/src/model/useNodeExpandEventBroadcast.mjs +3 -2
- package/es/components/tree/src/model/useNodeExpandEventBroadcast.mjs.map +1 -1
- package/es/components/tree/src/tokens.d.ts +3 -0
- package/es/components/tree/src/tokens.mjs +6 -0
- package/es/components/tree/src/tokens.mjs.map +1 -0
- package/es/components/tree/src/tree-node-content.mjs +3 -2
- package/es/components/tree/src/tree-node-content.mjs.map +1 -1
- package/es/components/tree/src/tree-node.mjs +3 -2
- package/es/components/tree/src/tree-node.mjs.map +1 -1
- package/es/components/tree/src/tree.mjs +2 -1
- package/es/components/tree/src/tree.mjs.map +1 -1
- package/es/components/tree-select/src/tree.mjs +1 -1
- package/es/components/tree-select/src/tree.mjs.map +1 -1
- package/es/index.d.ts +11 -0
- package/es/index.mjs +21 -17
- package/es/index.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version.mjs +1 -1
- package/es/version.mjs.map +1 -1
- package/lib/components/alert/index.js +2 -2
- package/lib/components/alert/src/alert.js +107 -42
- package/lib/components/alert/src/alert.js.map +1 -1
- package/lib/components/alert/src/alert2.js +42 -107
- package/lib/components/alert/src/alert2.js.map +1 -1
- package/lib/components/backtop/index.js +2 -2
- package/lib/components/backtop/src/backtop.js +53 -22
- package/lib/components/backtop/src/backtop.js.map +1 -1
- package/lib/components/backtop/src/backtop2.js +22 -53
- package/lib/components/backtop/src/backtop2.js.map +1 -1
- package/lib/components/badge/index.js +2 -2
- package/lib/components/badge/src/badge.js +71 -32
- package/lib/components/badge/src/badge.js.map +1 -1
- package/lib/components/badge/src/badge2.js +32 -71
- package/lib/components/badge/src/badge2.js.map +1 -1
- package/lib/components/breadcrumb/index.js +2 -2
- package/lib/components/breadcrumb/src/breadcrumb.js +37 -10
- package/lib/components/breadcrumb/src/breadcrumb.js.map +1 -1
- package/lib/components/breadcrumb/src/breadcrumb2.js +10 -37
- package/lib/components/breadcrumb/src/breadcrumb2.js.map +1 -1
- package/lib/components/carousel/index.js +2 -2
- package/lib/components/carousel/src/carousel-item.js +7 -69
- package/lib/components/carousel/src/carousel-item.js.map +1 -1
- package/lib/components/carousel/src/carousel-item2.js +69 -7
- package/lib/components/carousel/src/carousel-item2.js.map +1 -1
- package/lib/components/cascader-panel/src/index.js +1 -1
- package/lib/components/cascader-panel/src/menu.js +1 -1
- package/lib/components/cascader-panel/src/node.js +115 -206
- package/lib/components/cascader-panel/src/node.js.map +1 -1
- package/lib/components/cascader-panel/src/node2.js +206 -115
- package/lib/components/cascader-panel/src/node2.js.map +1 -1
- package/lib/components/cascader-panel/src/store.js +1 -1
- package/lib/components/col/index.js +2 -2
- package/lib/components/col/src/col.js +64 -43
- package/lib/components/col/src/col.js.map +1 -1
- package/lib/components/col/src/col2.js +43 -64
- package/lib/components/col/src/col2.js.map +1 -1
- package/lib/components/collapse/index.js +2 -2
- package/lib/components/collapse/src/collapse-item.js +18 -95
- package/lib/components/collapse/src/collapse-item.js.map +1 -1
- package/lib/components/collapse/src/collapse-item2.js +95 -18
- package/lib/components/collapse/src/collapse-item2.js.map +1 -1
- package/lib/components/collapse/src/use-collapse-item.d.ts +2 -2
- package/lib/components/collapse/src/use-collapse-item.js +9 -2
- package/lib/components/collapse/src/use-collapse-item.js.map +1 -1
- package/lib/components/date-picker/index.js +1 -0
- package/lib/components/date-picker/index.js.map +1 -1
- package/lib/components/date-picker/src/composables/use-panel-date-range.js +2 -1
- package/lib/components/date-picker/src/composables/use-panel-date-range.js.map +1 -1
- package/lib/components/date-picker/src/constants.d.ts +1 -0
- package/lib/components/date-picker/src/constants.js +2 -0
- package/lib/components/date-picker/src/constants.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js +6 -4
- package/lib/components/date-picker/src/date-picker-com/panel-date-pick.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js +4 -2
- package/lib/components/date-picker/src/date-picker-com/panel-date-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.js +4 -2
- package/lib/components/date-picker/src/date-picker-com/panel-month-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker-com/panel-year-range.js +3 -2
- package/lib/components/date-picker/src/date-picker-com/panel-year-range.js.map +1 -1
- package/lib/components/date-picker/src/date-picker.js +2 -2
- package/lib/components/date-picker/src/date-picker.js.map +1 -1
- package/lib/components/descriptions/index.js +2 -2
- package/lib/components/descriptions/src/description.js +127 -26
- package/lib/components/descriptions/src/description.js.map +1 -1
- package/lib/components/descriptions/src/description2.js +26 -127
- package/lib/components/descriptions/src/description2.js.map +1 -1
- package/lib/components/dropdown/index.js +1 -0
- package/lib/components/dropdown/index.js.map +1 -1
- package/lib/components/dropdown/src/dropdown-item-impl.js +1 -1
- package/lib/components/dropdown/src/dropdown-menu.js +1 -1
- package/lib/components/dropdown/src/dropdown.js +1 -1
- package/lib/components/dropdown/src/dropdown2.js +2 -2
- package/lib/components/dropdown/src/dropdown2.js.map +1 -1
- package/lib/components/dropdown/src/tokens.d.ts +1 -0
- package/lib/components/dropdown/src/tokens.js +2 -0
- package/lib/components/dropdown/src/tokens.js.map +1 -1
- package/lib/components/dropdown/src/useDropdown.js +2 -1
- package/lib/components/dropdown/src/useDropdown.js.map +1 -1
- package/lib/components/icon/index.js +2 -2
- package/lib/components/icon/src/icon.js +8 -35
- package/lib/components/icon/src/icon.js.map +1 -1
- package/lib/components/icon/src/icon2.js +35 -8
- package/lib/components/icon/src/icon2.js.map +1 -1
- package/lib/components/image/index.js +2 -2
- package/lib/components/image/src/image.js +225 -68
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image2.js +68 -225
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/index.js +29 -14
- package/lib/components/index.js.map +1 -1
- package/lib/components/menu/index.d.ts +1 -0
- package/lib/components/menu/index.js +3 -0
- package/lib/components/menu/index.js.map +1 -1
- package/lib/components/menu/src/menu-item.js.map +1 -1
- package/lib/components/menu/src/menu-item2.js +6 -3
- package/lib/components/menu/src/menu-item2.js.map +1 -1
- package/lib/components/menu/src/menu.js +3 -2
- package/lib/components/menu/src/menu.js.map +1 -1
- package/lib/components/menu/src/sub-menu.js +4 -3
- package/lib/components/menu/src/sub-menu.js.map +1 -1
- package/lib/components/menu/src/tokens.d.ts +2 -0
- package/lib/components/menu/src/tokens.js +10 -0
- package/lib/components/menu/src/tokens.js.map +1 -0
- package/lib/components/notification/index.js +1 -1
- package/lib/components/notification/src/notification.js +74 -139
- package/lib/components/notification/src/notification.js.map +1 -1
- package/lib/components/notification/src/notification2.js +139 -74
- package/lib/components/notification/src/notification2.js.map +1 -1
- package/lib/components/notification/src/notify.js +2 -2
- package/lib/components/pagination/src/components/prev.js +18 -35
- package/lib/components/pagination/src/components/prev.js.map +1 -1
- package/lib/components/pagination/src/components/prev2.js +35 -18
- package/lib/components/pagination/src/components/prev2.js.map +1 -1
- package/lib/components/pagination/src/components/total.js +26 -6
- package/lib/components/pagination/src/components/total.js.map +1 -1
- package/lib/components/pagination/src/components/total2.js +6 -26
- package/lib/components/pagination/src/components/total2.js.map +1 -1
- package/lib/components/pagination/src/pagination.js +2 -2
- package/lib/components/popover/src/popover.js +1 -1
- package/lib/components/roving-focus-group/index.js +2 -2
- package/lib/components/roving-focus-group/src/roving-focus-group-impl.js +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group.js +31 -27
- package/lib/components/roving-focus-group/src/roving-focus-group.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-group2.js +27 -31
- package/lib/components/roving-focus-group/src/roving-focus-group2.js.map +1 -1
- package/lib/components/roving-focus-group/src/roving-focus-item.js +1 -1
- package/lib/components/select/src/select2.js +16 -18
- package/lib/components/select/src/select2.js.map +1 -1
- package/lib/components/space/src/space.js +13 -7
- package/lib/components/space/src/space.js.map +1 -1
- package/lib/components/steps/index.d.ts +1 -0
- package/lib/components/steps/index.js +2 -0
- package/lib/components/steps/index.js.map +1 -1
- package/lib/components/steps/src/item.vue.d.ts +2 -10
- package/lib/components/steps/src/item2.js +2 -1
- package/lib/components/steps/src/item2.js.map +1 -1
- package/lib/components/steps/src/steps2.js +2 -1
- package/lib/components/steps/src/steps2.js.map +1 -1
- package/lib/components/steps/src/tokens.d.ts +1 -0
- package/lib/components/steps/src/tokens.js +8 -0
- package/lib/components/steps/src/tokens.js.map +1 -0
- package/lib/components/switch/index.js +2 -2
- package/lib/components/switch/src/switch.js +227 -72
- package/lib/components/switch/src/switch.js.map +1 -1
- package/lib/components/switch/src/switch2.js +72 -227
- package/lib/components/switch/src/switch2.js.map +1 -1
- package/lib/components/table-v2/src/components/header.js +2 -1
- package/lib/components/table-v2/src/components/header.js.map +1 -1
- package/lib/components/table-v2/src/table-grid.js +1 -1
- package/lib/components/table-v2/src/table-grid.js.map +1 -1
- package/lib/components/table-v2/src/tokens.d.ts +1 -0
- package/lib/components/table-v2/src/tokens.js +2 -0
- package/lib/components/table-v2/src/tokens.js.map +1 -1
- package/lib/components/text/index.js +2 -2
- package/lib/components/text/src/text.js +67 -21
- package/lib/components/text/src/text.js.map +1 -1
- package/lib/components/text/src/text2.js +21 -67
- package/lib/components/text/src/text2.js.map +1 -1
- package/lib/components/time-picker/index.js +2 -0
- package/lib/components/time-picker/index.js.map +1 -1
- package/lib/components/time-picker/src/common/picker.js +3 -2
- package/lib/components/time-picker/src/common/picker.js.map +1 -1
- package/lib/components/time-picker/src/constants.d.ts +2 -0
- package/lib/components/time-picker/src/constants.js +4 -0
- package/lib/components/time-picker/src/constants.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js +1 -1
- package/lib/components/time-picker/src/time-picker-com/basic-time-spinner.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js +2 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-pick.js.map +1 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.js +2 -1
- package/lib/components/time-picker/src/time-picker-com/panel-time-range.js.map +1 -1
- package/lib/components/time-picker/src/time-picker.js +1 -1
- package/lib/components/time-picker/src/time-picker.js.map +1 -1
- package/lib/components/timeline/index.d.ts +1 -0
- package/lib/components/timeline/index.js +2 -0
- package/lib/components/timeline/index.js.map +1 -1
- package/lib/components/timeline/src/timeline.js +2 -1
- package/lib/components/timeline/src/timeline.js.map +1 -1
- package/lib/components/timeline/src/tokens.d.ts +1 -0
- package/lib/components/timeline/src/tokens.js +8 -0
- package/lib/components/timeline/src/tokens.js.map +1 -0
- package/lib/components/tooltip/index.js +1 -1
- package/lib/components/tooltip/src/tooltip.js +1 -1
- package/lib/components/tooltip/src/tooltip2.js +1 -1
- package/lib/components/tooltip/src/trigger.js +14 -72
- package/lib/components/tooltip/src/trigger.js.map +1 -1
- package/lib/components/tooltip/src/trigger2.js +72 -14
- package/lib/components/tooltip/src/trigger2.js.map +1 -1
- package/lib/components/tooltip-v2/src/content.vue.d.ts +2 -1
- package/lib/components/tooltip-v2/src/content2.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.d.ts +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js +1 -1
- package/lib/components/tooltip-v2/src/tooltip.js.map +1 -1
- package/lib/components/tooltip-v2/src/tooltip.vue.d.ts +3 -3
- package/lib/components/tooltip-v2/src/tooltip2.js.map +1 -1
- package/lib/components/tree/index.d.ts +1 -0
- package/lib/components/tree/index.js +4 -0
- package/lib/components/tree/index.js.map +1 -1
- package/lib/components/tree/src/model/useNodeExpandEventBroadcast.js +3 -2
- package/lib/components/tree/src/model/useNodeExpandEventBroadcast.js.map +1 -1
- package/lib/components/tree/src/tokens.d.ts +3 -0
- package/lib/components/tree/src/tokens.js +12 -0
- package/lib/components/tree/src/tokens.js.map +1 -0
- package/lib/components/tree/src/tree-node-content.js +3 -2
- package/lib/components/tree/src/tree-node-content.js.map +1 -1
- package/lib/components/tree/src/tree-node.js +3 -2
- package/lib/components/tree/src/tree-node.js.map +1 -1
- package/lib/components/tree/src/tree.js +2 -1
- package/lib/components/tree/src/tree.js.map +1 -1
- package/lib/components/tree-select/src/tree.js +1 -1
- package/lib/components/tree-select/src/tree.js.map +1 -1
- package/lib/index.d.ts +11 -0
- package/lib/index.js +29 -14
- 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/theme-chalk/el-radio.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/radio.scss +1 -1
- package/web-types.json +1 -1
@@ -1,233 +1,77 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
3
|
-
import {
|
4
|
-
import {
|
5
|
-
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
6
|
-
import { useFormItem, useFormItemInputId } from '../../form/src/hooks/use-form-item.mjs';
|
7
|
-
import { useFormSize, useFormDisabled } from '../../form/src/hooks/use-form-common-props.mjs';
|
8
|
-
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
9
|
-
import { addUnit } from '../../../utils/dom/style.mjs';
|
1
|
+
import { isValidComponentSize } from '../../../utils/vue/validator.mjs';
|
2
|
+
import { buildProps, definePropType } from '../../../utils/vue/props/runtime.mjs';
|
3
|
+
import { iconPropType } from '../../../utils/vue/icon.mjs';
|
4
|
+
import { useAriaProps } from '../../../hooks/use-aria/index.mjs';
|
10
5
|
import { UPDATE_MODEL_EVENT, CHANGE_EVENT, INPUT_EVENT } from '../../../constants/event.mjs';
|
11
|
-
import {
|
12
|
-
import {
|
13
|
-
import { isBoolean } from '../../../utils/types.mjs';
|
6
|
+
import { isBoolean, isNumber } from '../../../utils/types.mjs';
|
7
|
+
import { isString } from '@vue/shared';
|
14
8
|
|
15
|
-
const
|
16
|
-
|
17
|
-
|
9
|
+
const switchProps = buildProps({
|
10
|
+
modelValue: {
|
11
|
+
type: [Boolean, String, Number],
|
12
|
+
default: false
|
13
|
+
},
|
14
|
+
disabled: Boolean,
|
15
|
+
loading: Boolean,
|
16
|
+
size: {
|
17
|
+
type: String,
|
18
|
+
validator: isValidComponentSize
|
19
|
+
},
|
20
|
+
width: {
|
21
|
+
type: [String, Number],
|
22
|
+
default: ""
|
23
|
+
},
|
24
|
+
inlinePrompt: Boolean,
|
25
|
+
inactiveActionIcon: {
|
26
|
+
type: iconPropType
|
27
|
+
},
|
28
|
+
activeActionIcon: {
|
29
|
+
type: iconPropType
|
30
|
+
},
|
31
|
+
activeIcon: {
|
32
|
+
type: iconPropType
|
33
|
+
},
|
34
|
+
inactiveIcon: {
|
35
|
+
type: iconPropType
|
36
|
+
},
|
37
|
+
activeText: {
|
38
|
+
type: String,
|
39
|
+
default: ""
|
40
|
+
},
|
41
|
+
inactiveText: {
|
42
|
+
type: String,
|
43
|
+
default: ""
|
44
|
+
},
|
45
|
+
activeValue: {
|
46
|
+
type: [Boolean, String, Number],
|
47
|
+
default: true
|
48
|
+
},
|
49
|
+
inactiveValue: {
|
50
|
+
type: [Boolean, String, Number],
|
51
|
+
default: false
|
52
|
+
},
|
53
|
+
name: {
|
54
|
+
type: String,
|
55
|
+
default: ""
|
56
|
+
},
|
57
|
+
validateEvent: {
|
58
|
+
type: Boolean,
|
59
|
+
default: true
|
60
|
+
},
|
61
|
+
beforeChange: {
|
62
|
+
type: definePropType(Function)
|
63
|
+
},
|
64
|
+
id: String,
|
65
|
+
tabindex: {
|
66
|
+
type: [String, Number]
|
67
|
+
},
|
68
|
+
...useAriaProps(["ariaLabel"])
|
18
69
|
});
|
19
|
-
const
|
20
|
-
|
21
|
-
|
22
|
-
|
23
|
-
|
24
|
-
const props = __props;
|
25
|
-
const { formItem } = useFormItem();
|
26
|
-
const switchSize = useFormSize();
|
27
|
-
const ns = useNamespace("switch");
|
28
|
-
const { inputId } = useFormItemInputId(props, {
|
29
|
-
formItemContext: formItem
|
30
|
-
});
|
31
|
-
const switchDisabled = useFormDisabled(computed(() => props.loading));
|
32
|
-
const isControlled = ref(props.modelValue !== false);
|
33
|
-
const input = ref();
|
34
|
-
const core = ref();
|
35
|
-
const switchKls = computed(() => [
|
36
|
-
ns.b(),
|
37
|
-
ns.m(switchSize.value),
|
38
|
-
ns.is("disabled", switchDisabled.value),
|
39
|
-
ns.is("checked", checked.value)
|
40
|
-
]);
|
41
|
-
const labelLeftKls = computed(() => [
|
42
|
-
ns.e("label"),
|
43
|
-
ns.em("label", "left"),
|
44
|
-
ns.is("active", !checked.value)
|
45
|
-
]);
|
46
|
-
const labelRightKls = computed(() => [
|
47
|
-
ns.e("label"),
|
48
|
-
ns.em("label", "right"),
|
49
|
-
ns.is("active", checked.value)
|
50
|
-
]);
|
51
|
-
const coreStyle = computed(() => ({
|
52
|
-
width: addUnit(props.width)
|
53
|
-
}));
|
54
|
-
watch(() => props.modelValue, () => {
|
55
|
-
isControlled.value = true;
|
56
|
-
});
|
57
|
-
const actualValue = computed(() => {
|
58
|
-
return isControlled.value ? props.modelValue : false;
|
59
|
-
});
|
60
|
-
const checked = computed(() => actualValue.value === props.activeValue);
|
61
|
-
if (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {
|
62
|
-
emit(UPDATE_MODEL_EVENT, props.inactiveValue);
|
63
|
-
emit(CHANGE_EVENT, props.inactiveValue);
|
64
|
-
emit(INPUT_EVENT, props.inactiveValue);
|
65
|
-
}
|
66
|
-
watch(checked, (val) => {
|
67
|
-
var _a;
|
68
|
-
input.value.checked = val;
|
69
|
-
if (props.validateEvent) {
|
70
|
-
(_a = formItem == null ? void 0 : formItem.validate) == null ? void 0 : _a.call(formItem, "change").catch((err) => debugWarn(err));
|
71
|
-
}
|
72
|
-
});
|
73
|
-
const handleChange = () => {
|
74
|
-
const val = checked.value ? props.inactiveValue : props.activeValue;
|
75
|
-
emit(UPDATE_MODEL_EVENT, val);
|
76
|
-
emit(CHANGE_EVENT, val);
|
77
|
-
emit(INPUT_EVENT, val);
|
78
|
-
nextTick(() => {
|
79
|
-
input.value.checked = checked.value;
|
80
|
-
});
|
81
|
-
};
|
82
|
-
const switchValue = () => {
|
83
|
-
if (switchDisabled.value)
|
84
|
-
return;
|
85
|
-
const { beforeChange } = props;
|
86
|
-
if (!beforeChange) {
|
87
|
-
handleChange();
|
88
|
-
return;
|
89
|
-
}
|
90
|
-
const shouldChange = beforeChange();
|
91
|
-
const isPromiseOrBool = [
|
92
|
-
isPromise(shouldChange),
|
93
|
-
isBoolean(shouldChange)
|
94
|
-
].includes(true);
|
95
|
-
if (!isPromiseOrBool) {
|
96
|
-
throwError(COMPONENT_NAME, "beforeChange must return type `Promise<boolean>` or `boolean`");
|
97
|
-
}
|
98
|
-
if (isPromise(shouldChange)) {
|
99
|
-
shouldChange.then((result) => {
|
100
|
-
if (result) {
|
101
|
-
handleChange();
|
102
|
-
}
|
103
|
-
}).catch((e) => {
|
104
|
-
debugWarn(COMPONENT_NAME, `some error occurred: ${e}`);
|
105
|
-
});
|
106
|
-
} else if (shouldChange) {
|
107
|
-
handleChange();
|
108
|
-
}
|
109
|
-
};
|
110
|
-
const focus = () => {
|
111
|
-
var _a, _b;
|
112
|
-
(_b = (_a = input.value) == null ? void 0 : _a.focus) == null ? void 0 : _b.call(_a);
|
113
|
-
};
|
114
|
-
onMounted(() => {
|
115
|
-
input.value.checked = checked.value;
|
116
|
-
});
|
117
|
-
expose({
|
118
|
-
focus,
|
119
|
-
checked
|
120
|
-
});
|
121
|
-
return (_ctx, _cache) => {
|
122
|
-
return openBlock(), createElementBlock("div", {
|
123
|
-
class: normalizeClass(unref(switchKls)),
|
124
|
-
onClick: withModifiers(switchValue, ["prevent"])
|
125
|
-
}, [
|
126
|
-
createElementVNode("input", {
|
127
|
-
id: unref(inputId),
|
128
|
-
ref_key: "input",
|
129
|
-
ref: input,
|
130
|
-
class: normalizeClass(unref(ns).e("input")),
|
131
|
-
type: "checkbox",
|
132
|
-
role: "switch",
|
133
|
-
"aria-checked": unref(checked),
|
134
|
-
"aria-disabled": unref(switchDisabled),
|
135
|
-
"aria-label": _ctx.ariaLabel,
|
136
|
-
name: _ctx.name,
|
137
|
-
"true-value": _ctx.activeValue,
|
138
|
-
"false-value": _ctx.inactiveValue,
|
139
|
-
disabled: unref(switchDisabled),
|
140
|
-
tabindex: _ctx.tabindex,
|
141
|
-
onChange: handleChange,
|
142
|
-
onKeydown: withKeys(switchValue, ["enter"])
|
143
|
-
}, null, 42, ["id", "aria-checked", "aria-disabled", "aria-label", "name", "true-value", "false-value", "disabled", "tabindex", "onKeydown"]),
|
144
|
-
!_ctx.inlinePrompt && (_ctx.inactiveIcon || _ctx.inactiveText) ? (openBlock(), createElementBlock("span", {
|
145
|
-
key: 0,
|
146
|
-
class: normalizeClass(unref(labelLeftKls))
|
147
|
-
}, [
|
148
|
-
_ctx.inactiveIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
|
149
|
-
default: withCtx(() => [
|
150
|
-
(openBlock(), createBlock(resolveDynamicComponent(_ctx.inactiveIcon)))
|
151
|
-
]),
|
152
|
-
_: 1
|
153
|
-
})) : createCommentVNode("v-if", true),
|
154
|
-
!_ctx.inactiveIcon && _ctx.inactiveText ? (openBlock(), createElementBlock("span", {
|
155
|
-
key: 1,
|
156
|
-
"aria-hidden": unref(checked)
|
157
|
-
}, toDisplayString(_ctx.inactiveText), 9, ["aria-hidden"])) : createCommentVNode("v-if", true)
|
158
|
-
], 2)) : createCommentVNode("v-if", true),
|
159
|
-
createElementVNode("span", {
|
160
|
-
ref_key: "core",
|
161
|
-
ref: core,
|
162
|
-
class: normalizeClass(unref(ns).e("core")),
|
163
|
-
style: normalizeStyle(unref(coreStyle))
|
164
|
-
}, [
|
165
|
-
_ctx.inlinePrompt ? (openBlock(), createElementBlock("div", {
|
166
|
-
key: 0,
|
167
|
-
class: normalizeClass(unref(ns).e("inner"))
|
168
|
-
}, [
|
169
|
-
_ctx.activeIcon || _ctx.inactiveIcon ? (openBlock(), createBlock(unref(ElIcon), {
|
170
|
-
key: 0,
|
171
|
-
class: normalizeClass(unref(ns).is("icon"))
|
172
|
-
}, {
|
173
|
-
default: withCtx(() => [
|
174
|
-
(openBlock(), createBlock(resolveDynamicComponent(unref(checked) ? _ctx.activeIcon : _ctx.inactiveIcon)))
|
175
|
-
]),
|
176
|
-
_: 1
|
177
|
-
}, 8, ["class"])) : _ctx.activeText || _ctx.inactiveText ? (openBlock(), createElementBlock("span", {
|
178
|
-
key: 1,
|
179
|
-
class: normalizeClass(unref(ns).is("text")),
|
180
|
-
"aria-hidden": !unref(checked)
|
181
|
-
}, toDisplayString(unref(checked) ? _ctx.activeText : _ctx.inactiveText), 11, ["aria-hidden"])) : createCommentVNode("v-if", true)
|
182
|
-
], 2)) : createCommentVNode("v-if", true),
|
183
|
-
createElementVNode("div", {
|
184
|
-
class: normalizeClass(unref(ns).e("action"))
|
185
|
-
}, [
|
186
|
-
_ctx.loading ? (openBlock(), createBlock(unref(ElIcon), {
|
187
|
-
key: 0,
|
188
|
-
class: normalizeClass(unref(ns).is("loading"))
|
189
|
-
}, {
|
190
|
-
default: withCtx(() => [
|
191
|
-
createVNode(unref(Loading))
|
192
|
-
]),
|
193
|
-
_: 1
|
194
|
-
}, 8, ["class"])) : unref(checked) ? renderSlot(_ctx.$slots, "active-action", { key: 1 }, () => [
|
195
|
-
_ctx.activeActionIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
|
196
|
-
default: withCtx(() => [
|
197
|
-
(openBlock(), createBlock(resolveDynamicComponent(_ctx.activeActionIcon)))
|
198
|
-
]),
|
199
|
-
_: 1
|
200
|
-
})) : createCommentVNode("v-if", true)
|
201
|
-
]) : !unref(checked) ? renderSlot(_ctx.$slots, "inactive-action", { key: 2 }, () => [
|
202
|
-
_ctx.inactiveActionIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
|
203
|
-
default: withCtx(() => [
|
204
|
-
(openBlock(), createBlock(resolveDynamicComponent(_ctx.inactiveActionIcon)))
|
205
|
-
]),
|
206
|
-
_: 1
|
207
|
-
})) : createCommentVNode("v-if", true)
|
208
|
-
]) : createCommentVNode("v-if", true)
|
209
|
-
], 2)
|
210
|
-
], 6),
|
211
|
-
!_ctx.inlinePrompt && (_ctx.activeIcon || _ctx.activeText) ? (openBlock(), createElementBlock("span", {
|
212
|
-
key: 1,
|
213
|
-
class: normalizeClass(unref(labelRightKls))
|
214
|
-
}, [
|
215
|
-
_ctx.activeIcon ? (openBlock(), createBlock(unref(ElIcon), { key: 0 }, {
|
216
|
-
default: withCtx(() => [
|
217
|
-
(openBlock(), createBlock(resolveDynamicComponent(_ctx.activeIcon)))
|
218
|
-
]),
|
219
|
-
_: 1
|
220
|
-
})) : createCommentVNode("v-if", true),
|
221
|
-
!_ctx.activeIcon && _ctx.activeText ? (openBlock(), createElementBlock("span", {
|
222
|
-
key: 1,
|
223
|
-
"aria-hidden": !unref(checked)
|
224
|
-
}, toDisplayString(_ctx.activeText), 9, ["aria-hidden"])) : createCommentVNode("v-if", true)
|
225
|
-
], 2)) : createCommentVNode("v-if", true)
|
226
|
-
], 10, ["onClick"]);
|
227
|
-
};
|
228
|
-
}
|
229
|
-
});
|
230
|
-
var Switch = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "switch.vue"]]);
|
70
|
+
const switchEmits = {
|
71
|
+
[UPDATE_MODEL_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val),
|
72
|
+
[CHANGE_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val),
|
73
|
+
[INPUT_EVENT]: (val) => isBoolean(val) || isString(val) || isNumber(val)
|
74
|
+
};
|
231
75
|
|
232
|
-
export {
|
76
|
+
export { switchEmits, switchProps };
|
233
77
|
//# sourceMappingURL=switch2.mjs.map
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.vue"],"sourcesContent":["<template>\n <div :class=\"switchKls\" @click.prevent=\"switchValue\">\n <input\n :id=\"inputId\"\n ref=\"input\"\n :class=\"ns.e('input')\"\n type=\"checkbox\"\n role=\"switch\"\n :aria-checked=\"checked\"\n :aria-disabled=\"switchDisabled\"\n :aria-label=\"ariaLabel\"\n :name=\"name\"\n :true-value=\"activeValue\"\n :false-value=\"inactiveValue\"\n :disabled=\"switchDisabled\"\n :tabindex=\"tabindex\"\n @change=\"handleChange\"\n @keydown.enter=\"switchValue\"\n />\n <span\n v-if=\"!inlinePrompt && (inactiveIcon || inactiveText)\"\n :class=\"labelLeftKls\"\n >\n <el-icon v-if=\"inactiveIcon\">\n <component :is=\"inactiveIcon\" />\n </el-icon>\n <span v-if=\"!inactiveIcon && inactiveText\" :aria-hidden=\"checked\">{{\n inactiveText\n }}</span>\n </span>\n <span ref=\"core\" :class=\"ns.e('core')\" :style=\"coreStyle\">\n <div v-if=\"inlinePrompt\" :class=\"ns.e('inner')\">\n <template v-if=\"activeIcon || inactiveIcon\">\n <el-icon :class=\"ns.is('icon')\">\n <component :is=\"checked ? activeIcon : inactiveIcon\" />\n </el-icon>\n </template>\n <template v-else-if=\"activeText || inactiveText\">\n <span :class=\"ns.is('text')\" :aria-hidden=\"!checked\">\n {{ checked ? activeText : inactiveText }}\n </span>\n </template>\n </div>\n <div :class=\"ns.e('action')\">\n <el-icon v-if=\"loading\" :class=\"ns.is('loading')\">\n <loading />\n </el-icon>\n <slot v-else-if=\"checked\" name=\"active-action\">\n <el-icon v-if=\"activeActionIcon\">\n <component :is=\"activeActionIcon\" />\n </el-icon>\n </slot>\n <slot v-else-if=\"!checked\" name=\"inactive-action\">\n <el-icon v-if=\"inactiveActionIcon\">\n <component :is=\"inactiveActionIcon\" />\n </el-icon>\n </slot>\n </div>\n </span>\n <span\n v-if=\"!inlinePrompt && (activeIcon || activeText)\"\n :class=\"labelRightKls\"\n >\n <el-icon v-if=\"activeIcon\">\n <component :is=\"activeIcon\" />\n </el-icon>\n <span v-if=\"!activeIcon && activeText\" :aria-hidden=\"!checked\">{{\n activeText\n }}</span>\n </span>\n </div>\n</template>\n\n<script lang=\"ts\" setup>\nimport { computed, nextTick, onMounted, ref, watch } from 'vue'\nimport {\n addUnit,\n debugWarn,\n isBoolean,\n isPromise,\n throwError,\n} from '@element-plus/utils'\nimport ElIcon from '@element-plus/components/icon'\nimport {\n useFormDisabled,\n useFormItem,\n useFormItemInputId,\n useFormSize,\n} from '@element-plus/components/form'\nimport { Loading } from '@element-plus/icons-vue'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useNamespace } from '@element-plus/hooks'\nimport { switchEmits, switchProps } from './switch'\nimport type { CSSProperties } from 'vue'\n\nconst COMPONENT_NAME = 'ElSwitch'\ndefineOptions({\n name: COMPONENT_NAME,\n})\n\nconst props = defineProps(switchProps)\nconst emit = defineEmits(switchEmits)\n\nconst { formItem } = useFormItem()\nconst switchSize = useFormSize()\nconst ns = useNamespace('switch')\n\nconst { inputId } = useFormItemInputId(props, {\n formItemContext: formItem,\n})\n\nconst switchDisabled = useFormDisabled(computed(() => props.loading))\nconst isControlled = ref(props.modelValue !== false)\nconst input = ref<HTMLInputElement>()\nconst core = ref<HTMLSpanElement>()\n\nconst switchKls = computed(() => [\n ns.b(),\n ns.m(switchSize.value),\n ns.is('disabled', switchDisabled.value),\n ns.is('checked', checked.value),\n])\n\nconst labelLeftKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'left'),\n ns.is('active', !checked.value),\n])\n\nconst labelRightKls = computed(() => [\n ns.e('label'),\n ns.em('label', 'right'),\n ns.is('active', checked.value),\n])\n\nconst coreStyle = computed<CSSProperties>(() => ({\n width: addUnit(props.width),\n}))\n\nwatch(\n () => props.modelValue,\n () => {\n isControlled.value = true\n }\n)\n\nconst actualValue = computed(() => {\n return isControlled.value ? props.modelValue : false\n})\n\nconst checked = computed(() => actualValue.value === props.activeValue)\n\nif (![props.activeValue, props.inactiveValue].includes(actualValue.value)) {\n emit(UPDATE_MODEL_EVENT, props.inactiveValue)\n emit(CHANGE_EVENT, props.inactiveValue)\n emit(INPUT_EVENT, props.inactiveValue)\n}\n\nwatch(checked, (val) => {\n input.value!.checked = val\n\n if (props.validateEvent) {\n formItem?.validate?.('change').catch((err) => debugWarn(err))\n }\n})\n\nconst handleChange = () => {\n const val = checked.value ? props.inactiveValue : props.activeValue\n emit(UPDATE_MODEL_EVENT, val)\n emit(CHANGE_EVENT, val)\n emit(INPUT_EVENT, val)\n nextTick(() => {\n input.value!.checked = checked.value\n })\n}\n\nconst switchValue = () => {\n if (switchDisabled.value) return\n\n const { beforeChange } = props\n if (!beforeChange) {\n handleChange()\n return\n }\n\n const shouldChange = beforeChange()\n\n const isPromiseOrBool = [\n isPromise(shouldChange),\n isBoolean(shouldChange),\n ].includes(true)\n if (!isPromiseOrBool) {\n throwError(\n COMPONENT_NAME,\n 'beforeChange must return type `Promise<boolean>` or `boolean`'\n )\n }\n\n if (isPromise(shouldChange)) {\n shouldChange\n .then((result) => {\n if (result) {\n handleChange()\n }\n })\n .catch((e) => {\n debugWarn(COMPONENT_NAME, `some error occurred: ${e}`)\n })\n } else if (shouldChange) {\n handleChange()\n }\n}\n\nconst focus = (): void => {\n input.value?.focus?.()\n}\n\nonMounted(() => {\n input.value!.checked = checked.value\n})\n\ndefineExpose({\n /**\n * @description manual focus to the switch component\n **/\n focus,\n /**\n * @description whether Switch is checked\n */\n checked,\n})\n</script>\n"],"names":["_openBlock","_createElementBlock","_normalizeClass","_unref","_withModifiers","_createElementVNode"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"switch2.mjs","sources":["../../../../../../packages/components/switch/src/switch.ts"],"sourcesContent":["import {\n buildProps,\n definePropType,\n iconPropType,\n isBoolean,\n isNumber,\n isString,\n isValidComponentSize,\n} from '@element-plus/utils'\nimport {\n CHANGE_EVENT,\n INPUT_EVENT,\n UPDATE_MODEL_EVENT,\n} from '@element-plus/constants'\nimport { useAriaProps } from '@element-plus/hooks'\nimport type { ComponentSize } from '@element-plus/constants'\nimport type Switch from './switch.vue'\nimport type { ExtractPropTypes, PropType } from 'vue'\n\nexport const switchProps = buildProps({\n /**\n * @description binding value, it should be equivalent to either `active-value` or `inactive-value`, by default it's `boolean` type\n */\n modelValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description whether Switch is disabled\n */\n disabled: Boolean,\n /**\n * @description whether Switch is in loading state\n */\n loading: Boolean,\n /**\n * @description size of Switch\n */\n size: {\n type: String as PropType<ComponentSize>,\n validator: isValidComponentSize,\n },\n /**\n * @description width of Switch\n */\n width: {\n type: [String, Number],\n default: '',\n },\n /**\n * @description whether icon or text is displayed inside dot, only the first character will be rendered for text\n */\n inlinePrompt: Boolean,\n /**\n * @description component of the icon displayed in action when in `off` state\n */\n inactiveActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed in action when in `on` state\n */\n activeActionIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `on` state, overrides `active-text`\n */\n activeIcon: {\n type: iconPropType,\n },\n /**\n * @description component of the icon displayed when in `off` state, overrides `inactive-text`\n */\n inactiveIcon: {\n type: iconPropType,\n },\n /**\n * @description text displayed when in `on` state\n */\n activeText: {\n type: String,\n default: '',\n },\n /**\n * @description text displayed when in `off` state\n */\n inactiveText: {\n type: String,\n default: '',\n },\n /**\n * @description switch value when in `on` state\n */\n activeValue: {\n type: [Boolean, String, Number],\n default: true,\n },\n /**\n * @description switch value when in `off` state\n */\n inactiveValue: {\n type: [Boolean, String, Number],\n default: false,\n },\n /**\n * @description input name of Switch\n */\n name: {\n type: String,\n default: '',\n },\n /**\n * @description whether to trigger form validation\n */\n validateEvent: {\n type: Boolean,\n default: true,\n },\n /**\n * @description before-change hook before the switch state changes. If `false` is returned or a `Promise` is returned and then is rejected, will stop switching\n */\n beforeChange: {\n type: definePropType<() => Promise<boolean> | boolean>(Function),\n },\n /**\n * @description id for input\n */\n id: String,\n /**\n * @description tabindex for input\n */\n tabindex: {\n type: [String, Number],\n },\n ...useAriaProps(['ariaLabel']),\n} as const)\n\nexport type SwitchProps = ExtractPropTypes<typeof switchProps>\n\nexport const switchEmits = {\n [UPDATE_MODEL_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [CHANGE_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n [INPUT_EVENT]: (val: boolean | string | number) =>\n isBoolean(val) || isString(val) || isNumber(val),\n}\nexport type SwitchEmits = typeof switchEmits\n\nexport type SwitchInstance = InstanceType<typeof Switch> & unknown\n"],"names":[],"mappings":";;;;;;;;AAeY,MAAC,WAAW,GAAG,UAAU,CAAC;AACtC,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,QAAQ,EAAE,OAAO;AACnB,EAAE,OAAO,EAAE,OAAO;AAClB,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,SAAS,EAAE,oBAAoB;AACnC,GAAG;AACH,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE,OAAO;AACvB,EAAE,kBAAkB,EAAE;AACtB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,YAAY;AACtB,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,CAAC;AACnC,IAAI,OAAO,EAAE,KAAK;AAClB,GAAG;AACH,EAAE,IAAI,EAAE;AACR,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,OAAO,EAAE,EAAE;AACf,GAAG;AACH,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,OAAO;AACjB,IAAI,OAAO,EAAE,IAAI;AACjB,GAAG;AACH,EAAE,YAAY,EAAE;AAChB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,EAAE,EAAE,MAAM;AACZ,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC;AAC1B,GAAG;AACH,EAAE,GAAG,YAAY,CAAC,CAAC,WAAW,CAAC,CAAC;AAChC,CAAC,EAAE;AACS,MAAC,WAAW,GAAG;AAC3B,EAAE,CAAC,kBAAkB,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AACjF,EAAE,CAAC,YAAY,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC3E,EAAE,CAAC,WAAW,GAAG,CAAC,GAAG,KAAK,SAAS,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC,IAAI,QAAQ,CAAC,GAAG,CAAC;AAC1E;;;;"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { defineComponent, inject, ref, computed, unref, onUpdated, createVNode, nextTick } from 'vue';
|
2
2
|
import { tableV2HeaderProps } from '../header.mjs';
|
3
3
|
import { enforceUnit } from '../utils.mjs';
|
4
|
+
import { TABLE_V2_GRID_INJECTION_KEY } from '../tokens.mjs';
|
4
5
|
import { useNamespace } from '../../../../hooks/use-namespace/index.mjs';
|
5
6
|
import { castArray } from 'lodash-unified';
|
6
7
|
|
@@ -13,7 +14,7 @@ const TableV2Header = defineComponent({
|
|
13
14
|
expose
|
14
15
|
}) {
|
15
16
|
const ns = useNamespace("table-v2");
|
16
|
-
const scrollLeftInfo = inject(
|
17
|
+
const scrollLeftInfo = inject(TABLE_V2_GRID_INJECTION_KEY);
|
17
18
|
const headerRef = ref();
|
18
19
|
const headerStyle = computed(() => enforceUnit({
|
19
20
|
width: props.width,
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"header.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onUpdated,\n ref,\n unref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\n\nimport type { CSSProperties, Ref, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n const scrollLeftInfo = inject<Ref<number>>(
|
1
|
+
{"version":3,"file":"header.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/header.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onUpdated,\n ref,\n unref,\n} from 'vue'\nimport { useNamespace } from '@element-plus/hooks'\nimport { ensureArray } from '@element-plus/utils'\nimport { tableV2HeaderProps } from '../header'\nimport { enforceUnit } from '../utils'\nimport { TABLE_V2_GRID_INJECTION_KEY } from '../tokens'\n\nimport type { CSSProperties, Ref, UnwrapRef } from 'vue'\nimport type { TableV2HeaderProps } from '../header'\nimport type { UseColumnsReturn } from '../composables/use-columns'\n\nconst COMPONENT_NAME = 'ElTableV2Header'\nconst TableV2Header = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2HeaderProps,\n setup(props, { slots, expose }) {\n const ns = useNamespace('table-v2')\n const scrollLeftInfo = inject<Ref<number>>(TABLE_V2_GRID_INJECTION_KEY)\n\n const headerRef = ref<HTMLElement>()\n\n const headerStyle = computed(() =>\n enforceUnit({\n width: props.width,\n height: props.height,\n })\n )\n\n const rowStyle = computed(() =>\n enforceUnit({\n width: props.rowWidth,\n height: props.height,\n })\n )\n\n const headerHeights = computed(() => ensureArray(unref(props.headerHeight)))\n\n const scrollToLeft = (left?: number) => {\n const headerEl = unref(headerRef)\n nextTick(() => {\n headerEl?.scroll &&\n headerEl.scroll({\n left,\n })\n })\n }\n\n const renderFixedRows = () => {\n const fixedRowClassName = ns.e('fixed-header-row')\n\n const { columns, fixedHeaderData, rowHeight } = props\n\n return fixedHeaderData?.map((fixedRowData, fixedRowIndex) => {\n const style: CSSProperties = enforceUnit({\n height: rowHeight,\n width: '100%',\n })\n\n return slots.fixed?.({\n class: fixedRowClassName,\n columns,\n rowData: fixedRowData,\n rowIndex: -(fixedRowIndex + 1),\n style,\n })\n })\n }\n\n const renderDynamicRows = () => {\n const dynamicRowClassName = ns.e('dynamic-header-row')\n const { columns } = props\n\n return unref(headerHeights).map((rowHeight, rowIndex) => {\n const style: CSSProperties = enforceUnit({\n width: '100%',\n height: rowHeight,\n })\n\n return slots.dynamic?.({\n class: dynamicRowClassName,\n columns,\n headerIndex: rowIndex,\n style,\n })\n })\n }\n\n onUpdated(() => {\n if (scrollLeftInfo?.value) {\n scrollToLeft(scrollLeftInfo.value)\n }\n })\n expose({\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft,\n })\n\n return () => {\n if (props.height <= 0) return\n\n return (\n <div\n ref={headerRef}\n class={props.class}\n style={unref(headerStyle)}\n role=\"rowgroup\"\n >\n <div style={unref(rowStyle)} class={ns.e('header')}>\n {renderDynamicRows()}\n {renderFixedRows()}\n </div>\n </div>\n )\n }\n },\n})\n\nexport default TableV2Header\n\nexport type TableV2HeaderInstance = InstanceType<typeof TableV2Header> & {\n /**\n * @description scroll to position based on the provided value\n */\n scrollToLeft: (left?: number) => void\n}\n\nexport type TableV2HeaderRendererParams = {\n class: string\n columns: TableV2HeaderProps['columns']\n columnsStyles: UnwrapRef<UseColumnsReturn['columnsStyles']>\n headerIndex: number\n style: CSSProperties\n}\n\nexport type TableV2HeaderRowRendererParams = {\n rowData: any\n rowIndex: number\n} & Omit<TableV2HeaderRendererParams, 'headerIndex'>\n"],"names":["COMPONENT_NAME","TableV2Header","defineComponent","name","props","tableV2HeaderProps","slots","expose","ns","scrollLeftInfo","inject","headerRef","ref","computed","width","height","rowWidth","ensureArray","headerHeights","scrollToLeft","nextTick","headerEl","left","renderFixedRows","rowHeight","fixedHeaderData","style","enforceUnit","class","fixedRowClassName","columns","rowData","rowIndex","renderDynamicRows","unref","headerIndex","onUpdated","_createVNode","headerStyle"],"mappings":"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"}
|
@@ -1,5 +1,5 @@
|
|
1
1
|
import { defineComponent, inject, provide, onActivated, nextTick, unref, createVNode, ref, computed, watch } from 'vue';
|
2
|
-
import { TableV2InjectionKey } from './tokens.mjs';
|
2
|
+
import { TableV2InjectionKey, TABLE_V2_GRID_INJECTION_KEY } from './tokens.mjs';
|
3
3
|
import { tableV2GridProps } from './grid.mjs';
|
4
4
|
import { sum } from './utils.mjs';
|
5
5
|
import Header from './components/header.mjs';
|
@@ -146,7 +146,7 @@ const TableGrid = defineComponent({
|
|
146
146
|
scrollToRow,
|
147
147
|
scrollLeft
|
148
148
|
} = useTableGrid(props);
|
149
|
-
provide(
|
149
|
+
provide(TABLE_V2_GRID_INJECTION_KEY, scrollLeft);
|
150
150
|
onActivated(async () => {
|
151
151
|
var _a;
|
152
152
|
await nextTick();
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onActivated,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n watch(\n () => props.bodyWidth,\n () => {\n if (isNumber(props.estimatedRowHeight))\n bodyRef.value?.resetAfter({ columnIndex: 0 }, false)\n }\n )\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide('tableV2GridScrollLeft', scrollLeft)\n\n onActivated(async () => {\n await nextTick()\n const scrollTop = bodyRef.value?.states.scrollTop\n scrollTop && scrollToTop(Math.round(scrollTop) + 1)\n })\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","data","rowHeight","estimatedRowHeight","headerHeight","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","$forceUpdate","watch","columnIndex","fixedRowHeight","totalHeight","onItemRendered","resetAfterRowIndex","TableGrid","name","expose","ns","inject","TableV2InjectionKey","scrollTo","scrollToRow","provide","onActivated","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","getRowHeight","onScroll","isDynamicRowEnabled","DynamicSizeGrid","_headerHeight"],"mappings":"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"}
|
1
|
+
{"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onActivated,\n provide,\n ref,\n unref,\n watch,\n} from 'vue'\nimport {\n DynamicSizeGrid,\n FixedSizeGrid,\n} from '@element-plus/components/virtual-list'\nimport { isNumber, isObject } from '@element-plus/utils'\nimport { Header } from './components'\nimport { TABLE_V2_GRID_INJECTION_KEY, TableV2InjectionKey } from './tokens'\nimport { tableV2GridProps } from './grid'\nimport { sum } from './utils'\n\nimport type { UnwrapRef } from 'vue'\nimport type {\n DynamicSizeGridInstance,\n GridDefaultSlotParams,\n GridItemKeyGetter,\n GridItemRenderedEvtParams,\n GridScrollOptions,\n ResetAfterIndex,\n Alignment as ScrollStrategy,\n} from '@element-plus/components/virtual-list'\nimport type { TableV2HeaderInstance } from './components'\nimport type { TableV2GridProps } from './grid'\n\nconst COMPONENT_NAME = 'ElTableV2Grid'\n\nconst useTableGrid = (props: TableV2GridProps) => {\n const headerRef = ref<TableV2HeaderInstance>()\n const bodyRef = ref<DynamicSizeGridInstance>()\n const scrollLeft = ref(0)\n\n const totalHeight = computed(() => {\n const { data, rowHeight, estimatedRowHeight } = props\n\n if (estimatedRowHeight) {\n return\n }\n\n return data.length * (rowHeight as number)\n })\n\n const fixedRowHeight = computed(() => {\n const { fixedData, rowHeight } = props\n\n return (fixedData?.length || 0) * (rowHeight as number)\n })\n\n const headerHeight = computed(() => sum(props.headerHeight))\n\n const gridHeight = computed(() => {\n const { height } = props\n return Math.max(0, height - unref(headerHeight) - unref(fixedRowHeight))\n })\n\n const hasHeader = computed(() => {\n return unref(headerHeight) + unref(fixedRowHeight) > 0\n })\n\n const itemKey: GridItemKeyGetter = ({ data, rowIndex }) =>\n data[rowIndex][props.rowKey]\n\n function onItemRendered({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n }: GridItemRenderedEvtParams) {\n props.onRowsRendered?.({\n rowCacheStart,\n rowCacheEnd,\n rowVisibleStart,\n rowVisibleEnd,\n })\n }\n\n function resetAfterRowIndex(index: number, forceUpdate: boolean) {\n bodyRef.value?.resetAfterRowIndex(index, forceUpdate)\n }\n\n function scrollTo(x: number, y: number): void\n function scrollTo(options: GridScrollOptions): void\n function scrollTo(leftOrOptions: number | GridScrollOptions, top?: number) {\n const header$ = unref(headerRef)\n const body$ = unref(bodyRef)\n\n if (isObject(leftOrOptions)) {\n header$?.scrollToLeft(leftOrOptions.scrollLeft)\n scrollLeft.value = leftOrOptions.scrollLeft!\n body$?.scrollTo(leftOrOptions)\n } else {\n header$?.scrollToLeft(leftOrOptions)\n scrollLeft.value = leftOrOptions\n body$?.scrollTo({\n scrollLeft: leftOrOptions,\n scrollTop: top,\n })\n }\n }\n\n function scrollToTop(scrollTop: number) {\n unref(bodyRef)?.scrollTo({\n scrollTop,\n })\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy) {\n unref(bodyRef)?.scrollToItem(row, 1, strategy)\n }\n\n function forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\n }\n\n watch(\n () => props.bodyWidth,\n () => {\n if (isNumber(props.estimatedRowHeight))\n bodyRef.value?.resetAfter({ columnIndex: 0 }, false)\n }\n )\n\n return {\n bodyRef,\n forceUpdate,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerHeight,\n headerRef,\n totalHeight,\n\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n }\n}\n\nconst TableGrid = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2GridProps,\n setup(props, { slots, expose }) {\n const { ns } = inject(TableV2InjectionKey)!\n\n const {\n bodyRef,\n fixedRowHeight,\n gridHeight,\n hasHeader,\n headerRef,\n headerHeight,\n totalHeight,\n\n forceUpdate,\n itemKey,\n onItemRendered,\n resetAfterRowIndex,\n scrollTo,\n scrollToTop,\n scrollToRow,\n scrollLeft,\n } = useTableGrid(props)\n\n provide(TABLE_V2_GRID_INJECTION_KEY, scrollLeft)\n\n onActivated(async () => {\n await nextTick()\n const scrollTop = bodyRef.value?.states.scrollTop\n scrollTop && scrollToTop(Math.round(scrollTop) + 1)\n })\n\n expose({\n forceUpdate,\n /**\n * @description fetch total height\n */\n totalHeight,\n /**\n * @description scroll to a position\n */\n scrollTo,\n /**\n * @description scroll vertically to position y\n */\n scrollToTop,\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow,\n /**\n * @description reset rendered state after row index\n */\n resetAfterRowIndex,\n })\n\n const getColumnWidth = () => props.bodyWidth\n\n return () => {\n const {\n cache,\n columns,\n data,\n fixedData,\n useIsScrolling,\n scrollbarAlwaysOn,\n scrollbarEndGap,\n scrollbarStartGap,\n style,\n rowHeight,\n bodyWidth,\n estimatedRowHeight,\n headerWidth,\n height,\n width,\n\n getRowHeight,\n onScroll,\n } = props\n\n const isDynamicRowEnabled = isNumber(estimatedRowHeight)\n const Grid = isDynamicRowEnabled ? DynamicSizeGrid : FixedSizeGrid\n const _headerHeight = unref(headerHeight)\n\n return (\n <div role=\"table\" class={[ns.e('table'), props.class]} style={style}>\n <Grid\n ref={bodyRef}\n // special attrs\n data={data}\n useIsScrolling={useIsScrolling}\n itemKey={itemKey}\n // column attrs\n columnCache={0}\n columnWidth={isDynamicRowEnabled ? getColumnWidth : bodyWidth}\n totalColumn={1}\n // row attrs\n totalRow={data.length}\n rowCache={cache}\n rowHeight={isDynamicRowEnabled ? getRowHeight : rowHeight}\n // DOM attrs\n width={width}\n height={unref(gridHeight)}\n class={ns.e('body')}\n role=\"rowgroup\"\n scrollbarStartGap={scrollbarStartGap}\n scrollbarEndGap={scrollbarEndGap}\n scrollbarAlwaysOn={scrollbarAlwaysOn}\n // handlers\n onScroll={onScroll}\n onItemRendered={onItemRendered}\n perfMode={false}\n >\n {{\n default: (params: GridDefaultSlotParams) => {\n const rowData = data[params.rowIndex]\n return slots.row?.({\n ...params,\n columns,\n rowData,\n })\n },\n }}\n </Grid>\n {unref(hasHeader) && (\n <Header\n ref={headerRef}\n class={ns.e('header-wrapper')}\n columns={columns}\n headerData={data}\n headerHeight={props.headerHeight}\n fixedHeaderData={fixedData}\n rowWidth={headerWidth}\n rowHeight={rowHeight}\n width={width}\n height={Math.min(_headerHeight + unref(fixedRowHeight), height)}\n >\n {{\n dynamic: slots.header,\n fixed: slots.row,\n }}\n </Header>\n )}\n </div>\n )\n }\n },\n})\n\nexport default TableGrid\n\nexport type TableGridRowSlotParams = {\n columns: TableV2GridProps['columns']\n rowData: any\n} & GridDefaultSlotParams\n\nexport type TableGridInstance = InstanceType<typeof TableGrid> &\n UnwrapRef<{\n forceUpdate: () => void\n /**\n * @description fetch total height\n */\n totalHeight: number\n\n /**\n * @description scrollTo a position\n * @param { number | ScrollToOptions } arg1\n * @param { number } arg2\n */\n scrollTo(leftOrOptions: number | GridScrollOptions, top?: number): void\n\n /**\n * @description scroll vertically to position y\n */\n scrollToTop(scrollTop: number): void\n /**\n * @description scroll to a given row\n * @params row {Number} which row to scroll to\n * @params @optional strategy {ScrollStrategy} use what strategy to scroll to\n */\n scrollToRow(row: number, strategy: ScrollStrategy): void\n /**\n * @description reset rendered state after row index\n * @param { number } rowIndex\n * @param { boolean } forceUpdate\n */\n resetAfterRowIndex: ResetAfterIndex\n }>\n"],"names":["COMPONENT_NAME","useTableGrid","props","headerRef","ref","bodyRef","scrollLeft","data","rowHeight","estimatedRowHeight","headerHeight","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleEnd","forceUpdate","leftOrOptions","header$","scrollToLeft","value","scrollTop","top","scrollToTop","$forceUpdate","watch","columnIndex","fixedRowHeight","totalHeight","onItemRendered","resetAfterRowIndex","TableGrid","name","expose","ns","inject","TableV2InjectionKey","scrollTo","scrollToRow","provide","onActivated","_createVNode","cache","columns","fixedData","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","getRowHeight","onScroll","isDynamicRowEnabled","DynamicSizeGrid","_headerHeight"],"mappings":"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"}
|
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"tokens.mjs","sources":["../../../../../../packages/components/table-v2/src/tokens.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\n\nexport type TableV2Context = {\n isScrolling: Ref<boolean>\n isResetting: Ref<boolean>\n ns: UseNamespaceReturn\n}\n\nexport const TableV2InjectionKey: InjectionKey<TableV2Context> =\n Symbol('tableV2')\n"],"names":[],"mappings":"AAAY,MAAC,mBAAmB,GAAG,MAAM,CAAC,SAAS;;;;"}
|
1
|
+
{"version":3,"file":"tokens.mjs","sources":["../../../../../../packages/components/table-v2/src/tokens.ts"],"sourcesContent":["import type { InjectionKey, Ref } from 'vue'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\n\nexport type TableV2Context = {\n isScrolling: Ref<boolean>\n isResetting: Ref<boolean>\n ns: UseNamespaceReturn\n}\n\nexport const TableV2InjectionKey: InjectionKey<TableV2Context> =\n Symbol('tableV2')\n\nexport const TABLE_V2_GRID_INJECTION_KEY = 'tableV2GridScrollLeft'\n"],"names":[],"mappings":"AAAY,MAAC,mBAAmB,GAAG,MAAM,CAAC,SAAS,EAAE;AACzC,MAAC,2BAA2B,GAAG;;;;"}
|
@@ -1,26 +1,72 @@
|
|
1
|
-
import {
|
2
|
-
import {
|
1
|
+
import { defineComponent, ref, computed, onMounted, onUpdated, openBlock, createBlock, resolveDynamicComponent, normalizeClass, unref, normalizeStyle, withCtx, renderSlot, useAttrs } from 'vue';
|
2
|
+
import { textProps } from './text2.mjs';
|
3
|
+
import _export_sfc from '../../../_virtual/plugin-vue_export-helper.mjs';
|
4
|
+
import { useFormSize } from '../../form/src/hooks/use-form-common-props.mjs';
|
5
|
+
import { useNamespace } from '../../../hooks/use-namespace/index.mjs';
|
6
|
+
import { isUndefined } from '../../../utils/types.mjs';
|
3
7
|
|
4
|
-
const
|
5
|
-
|
6
|
-
|
7
|
-
|
8
|
-
|
9
|
-
|
10
|
-
|
11
|
-
|
12
|
-
|
13
|
-
|
14
|
-
|
15
|
-
|
16
|
-
|
17
|
-
|
18
|
-
|
19
|
-
|
20
|
-
|
21
|
-
|
8
|
+
const __default__ = defineComponent({
|
9
|
+
name: "ElText"
|
10
|
+
});
|
11
|
+
const _sfc_main = /* @__PURE__ */ defineComponent({
|
12
|
+
...__default__,
|
13
|
+
props: textProps,
|
14
|
+
setup(__props) {
|
15
|
+
const props = __props;
|
16
|
+
const textRef = ref();
|
17
|
+
const textSize = useFormSize();
|
18
|
+
const ns = useNamespace("text");
|
19
|
+
const textKls = computed(() => [
|
20
|
+
ns.b(),
|
21
|
+
ns.m(props.type),
|
22
|
+
ns.m(textSize.value),
|
23
|
+
ns.is("truncated", props.truncated),
|
24
|
+
ns.is("line-clamp", !isUndefined(props.lineClamp))
|
25
|
+
]);
|
26
|
+
const bindTitle = () => {
|
27
|
+
var _a, _b, _c, _d, _e, _f, _g;
|
28
|
+
const inheritTitle = useAttrs().title;
|
29
|
+
if (inheritTitle)
|
30
|
+
return;
|
31
|
+
let shouldAddTitle = false;
|
32
|
+
const text = ((_a = textRef.value) == null ? void 0 : _a.textContent) || "";
|
33
|
+
if (props.truncated) {
|
34
|
+
const width = (_b = textRef.value) == null ? void 0 : _b.offsetWidth;
|
35
|
+
const scrollWidth = (_c = textRef.value) == null ? void 0 : _c.scrollWidth;
|
36
|
+
if (width && scrollWidth && scrollWidth > width) {
|
37
|
+
shouldAddTitle = true;
|
38
|
+
}
|
39
|
+
} else if (!isUndefined(props.lineClamp)) {
|
40
|
+
const height = (_d = textRef.value) == null ? void 0 : _d.offsetHeight;
|
41
|
+
const scrollHeight = (_e = textRef.value) == null ? void 0 : _e.scrollHeight;
|
42
|
+
if (height && scrollHeight && scrollHeight > height) {
|
43
|
+
shouldAddTitle = true;
|
44
|
+
}
|
45
|
+
}
|
46
|
+
if (shouldAddTitle) {
|
47
|
+
(_f = textRef.value) == null ? void 0 : _f.setAttribute("title", text);
|
48
|
+
} else {
|
49
|
+
(_g = textRef.value) == null ? void 0 : _g.removeAttribute("title");
|
50
|
+
}
|
51
|
+
};
|
52
|
+
onMounted(bindTitle);
|
53
|
+
onUpdated(bindTitle);
|
54
|
+
return (_ctx, _cache) => {
|
55
|
+
return openBlock(), createBlock(resolveDynamicComponent(_ctx.tag), {
|
56
|
+
ref_key: "textRef",
|
57
|
+
ref: textRef,
|
58
|
+
class: normalizeClass(unref(textKls)),
|
59
|
+
style: normalizeStyle({ "-webkit-line-clamp": _ctx.lineClamp })
|
60
|
+
}, {
|
61
|
+
default: withCtx(() => [
|
62
|
+
renderSlot(_ctx.$slots, "default")
|
63
|
+
]),
|
64
|
+
_: 3
|
65
|
+
}, 8, ["class", "style"]);
|
66
|
+
};
|
22
67
|
}
|
23
68
|
});
|
69
|
+
var Text = /* @__PURE__ */ _export_sfc(_sfc_main, [["__file", "text.vue"]]);
|
24
70
|
|
25
|
-
export {
|
71
|
+
export { Text as default };
|
26
72
|
//# sourceMappingURL=text.mjs.map
|