element-plus 2.1.10 → 2.1.11
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 +404 -1684
- package/dist/index.full.min.js +6 -6
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +10 -10
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +404 -1684
- 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 +29 -1
- package/es/components/autocomplete/src/autocomplete.mjs +1 -1
- package/es/components/autocomplete/src/autocomplete.vue.d.ts +29 -1
- package/es/components/avatar/src/avatar2.mjs +1 -1
- package/es/components/calendar/src/calendar2.mjs +1 -1
- package/es/components/calendar/src/calendar2.mjs.map +1 -1
- package/es/components/calendar/src/date-table2.mjs +3 -2
- package/es/components/calendar/src/date-table2.mjs.map +1 -1
- package/es/components/cascader/index.d.ts +38 -2
- package/es/components/cascader/src/index.mjs +1 -1
- package/es/components/cascader/src/index.vue.d.ts +19 -1
- package/es/components/col/src/col.d.ts +2 -0
- package/es/components/col/src/col.mjs.map +1 -1
- package/es/components/color-picker/src/index.mjs +4 -1
- package/es/components/color-picker/src/index.mjs.map +1 -1
- package/es/components/descriptions/src/descriptions-cell.mjs +1 -1
- package/es/components/dropdown/src/dropdown.mjs +1 -1
- package/es/components/dropdown/src/dropdown2.mjs +1 -1
- package/es/components/form/src/form-item2.mjs +1 -1
- package/es/components/icon/src/icon2.mjs +1 -1
- package/es/components/image/index.d.ts +8 -0
- package/es/components/image/src/image.d.ts +1 -0
- package/es/components/image/src/image.mjs +4 -0
- package/es/components/image/src/image.mjs.map +1 -1
- package/es/components/image/src/image.vue.d.ts +8 -0
- package/es/components/image/src/image2.mjs +2 -1
- package/es/components/image/src/image2.mjs.map +1 -1
- package/es/components/image-viewer/index.d.ts +4 -0
- package/es/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/es/components/image-viewer/src/image-viewer.mjs +4 -0
- package/es/components/image-viewer/src/image-viewer.mjs.map +1 -1
- package/es/components/image-viewer/src/image-viewer.vue.d.ts +4 -0
- package/es/components/image-viewer/src/image-viewer2.mjs +1 -1
- package/es/components/image-viewer/src/image-viewer2.mjs.map +1 -1
- package/es/components/index.mjs +1 -1
- package/es/components/input/index.d.ts +10 -0
- package/es/components/input/src/input.d.ts +2 -0
- package/es/components/input/src/input.mjs +6 -0
- package/es/components/input/src/input.mjs.map +1 -1
- package/es/components/input/src/input.vue.d.ts +10 -0
- package/es/components/input/src/input2.mjs +30 -17
- package/es/components/input/src/input2.mjs.map +1 -1
- package/es/components/input-number/index.d.ts +20 -0
- package/es/components/input-number/src/input-number.vue.d.ts +20 -0
- package/es/components/popconfirm/src/popconfirm.mjs +1 -1
- package/es/components/popover/src/popover.mjs +1 -1
- package/es/components/scrollbar/src/scrollbar2.mjs +1 -1
- package/es/components/scrollbar/src/thumb.vue.d.ts +16 -16
- package/es/components/scrollbar/src/util.d.ts +18 -18
- package/es/components/scrollbar/src/util.mjs.map +1 -1
- package/es/components/select/src/select.mjs +6 -12
- package/es/components/select/src/select.mjs.map +1 -1
- package/es/components/select/src/useSelect.mjs +1 -1
- package/es/components/select/src/useSelect.mjs.map +1 -1
- package/es/components/select-v2/src/defaults.mjs +1 -1
- package/es/components/table/src/table/style-helper.mjs +1 -4
- package/es/components/table/src/table/style-helper.mjs.map +1 -1
- package/es/components/table-v2/index.d.ts +4 -1
- package/es/components/table-v2/index.mjs +3 -1
- package/es/components/table-v2/index.mjs.map +1 -1
- package/es/components/table-v2/src/column.d.ts +2 -2
- package/es/components/table-v2/src/components/cell.d.ts +4 -0
- package/es/components/table-v2/src/components/cell.mjs +22 -0
- package/es/components/table-v2/src/components/cell.mjs.map +1 -0
- package/{lib/components/table-v2/src → es/components/table-v2/src/components}/expand-icon.d.ts +1 -1
- package/es/components/table-v2/src/components/expand-icon.mjs +26 -0
- package/es/components/table-v2/src/components/expand-icon.mjs.map +1 -0
- package/es/components/table-v2/src/components/header-cell.d.ts +4 -0
- package/es/components/table-v2/src/components/header-cell.mjs +15 -0
- package/es/components/table-v2/src/components/header-cell.mjs.map +1 -0
- package/es/components/table-v2/src/{table-header-row.d.ts → components/header-row.d.ts} +6 -6
- package/es/components/table-v2/src/components/header-row.mjs +40 -0
- package/es/components/table-v2/src/components/header-row.mjs.map +1 -0
- package/{lib/components/table-v2/src/table-header.d.ts → es/components/table-v2/src/components/header.d.ts} +3 -3
- package/es/components/table-v2/src/components/header.mjs +96 -0
- package/es/components/table-v2/src/components/header.mjs.map +1 -0
- package/es/components/table-v2/src/components/index.d.ts +10 -0
- package/es/components/table-v2/src/components/index.mjs +8 -0
- package/es/components/table-v2/src/components/index.mjs.map +1 -0
- package/es/components/table-v2/src/{table-row.d.ts → components/row.d.ts} +18 -19
- package/es/components/table-v2/src/components/row.mjs +204 -0
- package/es/components/table-v2/src/components/row.mjs.map +1 -0
- package/es/components/table-v2/src/{sort-icon.d.ts → components/sort-icon.d.ts} +1 -1
- package/es/components/table-v2/src/components/sort-icon.mjs +19 -0
- package/es/components/table-v2/src/components/sort-icon.mjs.map +1 -0
- package/es/components/table-v2/src/composables/index.d.ts +5 -0
- package/es/components/table-v2/src/composables/index.mjs +6 -0
- package/es/components/table-v2/src/composables/index.mjs.map +1 -0
- package/{lib/components/table-v2/src → es/components/table-v2/src/composables}/use-columns.d.ts +8 -6
- package/es/components/table-v2/src/{use-columns.mjs → composables/use-columns.mjs} +26 -30
- package/es/components/table-v2/src/composables/use-columns.mjs.map +1 -0
- package/es/components/table-v2/src/composables/use-data.d.ts +17 -0
- package/es/components/table-v2/src/composables/use-data.mjs +44 -0
- package/es/components/table-v2/src/composables/use-data.mjs.map +1 -0
- package/es/components/table-v2/src/composables/use-row.d.ts +32 -0
- package/es/components/table-v2/src/composables/use-row.mjs +123 -0
- package/es/components/table-v2/src/composables/use-row.mjs.map +1 -0
- package/es/components/table-v2/src/composables/use-scrollbar.d.ts +26 -0
- package/es/components/table-v2/src/composables/use-scrollbar.mjs +55 -0
- package/es/components/table-v2/src/composables/use-scrollbar.mjs.map +1 -0
- package/es/components/table-v2/src/composables/use-styles.d.ts +25 -0
- package/es/components/table-v2/src/composables/use-styles.mjs +87 -0
- package/es/components/table-v2/src/composables/use-styles.mjs.map +1 -0
- package/es/components/table-v2/src/composables/utils.d.ts +3 -0
- package/es/components/table-v2/src/composables/utils.mjs +26 -0
- package/es/components/table-v2/src/composables/utils.mjs.map +1 -0
- package/es/components/table-v2/src/constants.d.ts +4 -0
- package/es/components/table-v2/src/constants.mjs +6 -1
- package/es/components/table-v2/src/constants.mjs.map +1 -1
- package/es/components/table-v2/src/grid.d.ts +4 -1
- package/es/components/table-v2/src/grid.mjs +5 -0
- package/es/components/table-v2/src/grid.mjs.map +1 -1
- package/es/components/table-v2/src/renderers/cell.d.ts +1 -1
- package/es/components/table-v2/src/renderers/cell.mjs +91 -0
- package/es/components/table-v2/src/renderers/cell.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/empty.d.ts +7 -0
- package/es/components/table-v2/src/renderers/empty.mjs +15 -0
- package/es/components/table-v2/src/renderers/empty.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/footer.d.ts +7 -0
- package/es/components/table-v2/src/renderers/footer.mjs +15 -0
- package/es/components/table-v2/src/renderers/footer.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/header-cell.d.ts +1 -1
- package/es/components/table-v2/src/renderers/header-cell.mjs +65 -0
- package/es/components/table-v2/src/renderers/header-cell.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/header.d.ts +1 -1
- package/es/components/table-v2/src/renderers/header.mjs +39 -0
- package/es/components/table-v2/src/renderers/header.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/left-table.mjs +24 -0
- package/es/components/table-v2/src/renderers/left-table.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/main-table.mjs +22 -0
- package/es/components/table-v2/src/renderers/main-table.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/overlay.d.ts +3 -0
- package/es/components/table-v2/src/renderers/overlay.mjs +15 -0
- package/es/components/table-v2/src/renderers/overlay.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/right-table.mjs +24 -0
- package/es/components/table-v2/src/renderers/right-table.mjs.map +1 -0
- package/es/components/table-v2/src/renderers/row.mjs +77 -0
- package/es/components/table-v2/src/renderers/row.mjs.map +1 -0
- package/es/components/table-v2/src/row.d.ts +6 -1
- package/es/components/table-v2/src/row.mjs.map +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +8 -2
- package/es/components/table-v2/src/table-grid.mjs +221 -0
- package/es/components/table-v2/src/table-grid.mjs.map +1 -0
- package/es/components/table-v2/src/table-v2.d.ts +3 -12
- package/es/components/table-v2/src/table-v2.mjs +250 -0
- package/es/components/table-v2/src/table-v2.mjs.map +1 -0
- package/es/components/table-v2/src/table.d.ts +2 -5
- package/es/components/table-v2/src/table.mjs.map +1 -1
- package/es/components/table-v2/src/types.d.ts +15 -2
- package/es/components/table-v2/src/use-table.d.ts +20 -29
- package/es/components/table-v2/src/use-table.mjs +84 -238
- package/es/components/table-v2/src/use-table.mjs.map +1 -1
- package/es/components/table-v2/src/utils.mjs +1 -1
- package/es/components/table-v2/src/utils.mjs.map +1 -1
- package/es/components/tooltip/index.mjs +2 -2
- package/es/components/tooltip/src/content.mjs +1 -1
- package/es/components/tooltip/src/tooltip.mjs +62 -174
- package/es/components/tooltip/src/tooltip.mjs.map +1 -1
- package/es/components/tooltip/src/tooltip2.mjs +174 -62
- package/es/components/tooltip/src/tooltip2.mjs.map +1 -1
- package/es/components/tooltip/src/trigger.mjs +1 -1
- package/es/components/upload/index.d.ts +16 -12
- package/es/components/upload/src/upload-content.d.ts +1 -1
- package/es/components/upload/src/upload-content.vue.d.ts +4 -3
- package/es/components/upload/src/upload-content2.mjs +3 -1
- package/es/components/upload/src/upload-content2.mjs.map +1 -1
- package/es/components/upload/src/upload-list2.mjs +5 -3
- package/es/components/upload/src/upload-list2.mjs.map +1 -1
- package/es/components/upload/src/upload.d.ts +2 -2
- package/es/components/upload/src/upload.mjs +1 -1
- package/es/components/upload/src/upload.mjs.map +1 -1
- package/es/components/upload/src/upload.vue.d.ts +16 -12
- package/es/components/virtual-list/src/builders/build-grid.d.ts +11 -2
- package/es/components/virtual-list/src/builders/build-grid.mjs +7 -3
- package/es/components/virtual-list/src/builders/build-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/components/dynamic-size-grid.d.ts +11 -2
- package/es/components/virtual-list/src/components/dynamic-size-grid.mjs +4 -2
- package/es/components/virtual-list/src/components/dynamic-size-grid.mjs.map +1 -1
- package/es/components/virtual-list/src/components/fixed-size-grid.d.ts +11 -2
- package/es/components/virtual-list/src/components/scrollbar.d.ts +2 -2
- package/es/components/virtual-list/src/props.d.ts +7 -3
- package/es/components/virtual-list/src/props.mjs +5 -1
- package/es/components/virtual-list/src/props.mjs.map +1 -1
- package/es/components/virtual-list/src/types.d.ts +7 -0
- package/es/components/virtual-list/src/utils.d.ts +10 -5
- package/es/components/virtual-list/src/utils.mjs.map +1 -1
- package/es/constants/index.mjs +1 -1
- package/es/constants/size.d.ts +0 -1
- package/es/constants/size.mjs +1 -4
- package/es/constants/size.mjs.map +1 -1
- package/es/directives/mousewheel/index.mjs +1 -7
- package/es/directives/mousewheel/index.mjs.map +1 -1
- package/es/hooks/index.d.ts +1 -0
- package/es/hooks/index.mjs +1 -0
- package/es/hooks/index.mjs.map +1 -1
- package/es/hooks/use-cursor/index.d.ts +2 -0
- package/es/hooks/use-cursor/index.mjs +46 -0
- package/es/hooks/use-cursor/index.mjs.map +1 -0
- package/es/hooks/use-draggable/index.mjs +1 -1
- package/es/index.mjs +3 -2
- package/es/index.mjs.map +1 -1
- package/es/utils/dom/index.mjs +1 -1
- package/es/utils/dom/style.d.ts +1 -0
- package/es/utils/dom/style.mjs +15 -3
- package/es/utils/dom/style.mjs.map +1 -1
- package/es/utils/index.mjs +2 -2
- package/es/utils/vue/index.d.ts +1 -1
- package/es/utils/vue/index.mjs +1 -1
- package/es/utils/vue/size.d.ts +1 -0
- package/es/utils/vue/size.mjs +9 -0
- package/es/utils/vue/size.mjs.map +1 -0
- 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 +29 -1
- package/lib/components/autocomplete/src/autocomplete.js +1 -1
- package/lib/components/autocomplete/src/autocomplete.vue.d.ts +29 -1
- package/lib/components/avatar/src/avatar2.js +1 -1
- package/lib/components/calendar/src/calendar2.js +1 -1
- package/lib/components/calendar/src/calendar2.js.map +1 -1
- package/lib/components/calendar/src/date-table2.js +3 -2
- package/lib/components/calendar/src/date-table2.js.map +1 -1
- package/lib/components/cascader/index.d.ts +38 -2
- package/lib/components/cascader/src/index.js +1 -1
- package/lib/components/cascader/src/index.vue.d.ts +19 -1
- package/lib/components/col/src/col.d.ts +2 -0
- package/lib/components/col/src/col.js.map +1 -1
- package/lib/components/color-picker/src/index.js +4 -1
- package/lib/components/color-picker/src/index.js.map +1 -1
- package/lib/components/descriptions/src/descriptions-cell.js +1 -1
- package/lib/components/dropdown/src/dropdown.js +1 -1
- package/lib/components/dropdown/src/dropdown2.js +1 -1
- package/lib/components/form/src/form-item2.js +1 -1
- package/lib/components/icon/src/icon2.js +1 -1
- package/lib/components/image/index.d.ts +8 -0
- package/lib/components/image/src/image.d.ts +1 -0
- package/lib/components/image/src/image.js +4 -0
- package/lib/components/image/src/image.js.map +1 -1
- package/lib/components/image/src/image.vue.d.ts +8 -0
- package/lib/components/image/src/image2.js +2 -1
- package/lib/components/image/src/image2.js.map +1 -1
- package/lib/components/image-viewer/index.d.ts +4 -0
- package/lib/components/image-viewer/src/image-viewer.d.ts +1 -0
- package/lib/components/image-viewer/src/image-viewer.js +4 -0
- package/lib/components/image-viewer/src/image-viewer.js.map +1 -1
- package/lib/components/image-viewer/src/image-viewer.vue.d.ts +4 -0
- package/lib/components/image-viewer/src/image-viewer2.js +1 -1
- package/lib/components/image-viewer/src/image-viewer2.js.map +1 -1
- package/lib/components/index.js +1 -1
- package/lib/components/input/index.d.ts +10 -0
- package/lib/components/input/src/input.d.ts +2 -0
- package/lib/components/input/src/input.js +6 -0
- package/lib/components/input/src/input.js.map +1 -1
- package/lib/components/input/src/input.vue.d.ts +10 -0
- package/lib/components/input/src/input2.js +35 -22
- package/lib/components/input/src/input2.js.map +1 -1
- package/lib/components/input-number/index.d.ts +20 -0
- package/lib/components/input-number/src/input-number.vue.d.ts +20 -0
- package/lib/components/popconfirm/src/popconfirm.js +1 -1
- package/lib/components/popover/src/popover.js +1 -1
- package/lib/components/scrollbar/src/scrollbar2.js +1 -1
- package/lib/components/scrollbar/src/thumb.vue.d.ts +16 -16
- package/lib/components/scrollbar/src/util.d.ts +18 -18
- package/lib/components/scrollbar/src/util.js.map +1 -1
- package/lib/components/select/src/select.js +6 -12
- package/lib/components/select/src/select.js.map +1 -1
- package/lib/components/select/src/useSelect.js +1 -1
- package/lib/components/select/src/useSelect.js.map +1 -1
- package/lib/components/select-v2/src/defaults.js +1 -1
- package/lib/components/table/src/table/style-helper.js +1 -4
- package/lib/components/table/src/table/style-helper.js.map +1 -1
- package/lib/components/table-v2/index.d.ts +4 -1
- package/lib/components/table-v2/index.js +13 -0
- package/lib/components/table-v2/index.js.map +1 -1
- package/lib/components/table-v2/src/column.d.ts +2 -2
- package/lib/components/table-v2/src/components/cell.d.ts +4 -0
- package/lib/components/table-v2/src/components/cell.js +26 -0
- package/lib/components/table-v2/src/components/cell.js.map +1 -0
- package/{es/components/table-v2/src → lib/components/table-v2/src/components}/expand-icon.d.ts +1 -1
- package/lib/components/table-v2/src/components/expand-icon.js +30 -0
- package/lib/components/table-v2/src/components/expand-icon.js.map +1 -0
- package/lib/components/table-v2/src/components/header-cell.d.ts +4 -0
- package/lib/components/table-v2/src/components/header-cell.js +19 -0
- package/lib/components/table-v2/src/components/header-cell.js.map +1 -0
- package/lib/components/table-v2/src/{table-header-row.d.ts → components/header-row.d.ts} +6 -6
- package/lib/components/table-v2/src/components/header-row.js +44 -0
- package/lib/components/table-v2/src/components/header-row.js.map +1 -0
- package/{es/components/table-v2/src/table-header.d.ts → lib/components/table-v2/src/components/header.d.ts} +3 -3
- package/lib/components/table-v2/src/components/header.js +100 -0
- package/lib/components/table-v2/src/components/header.js.map +1 -0
- package/lib/components/table-v2/src/components/index.d.ts +10 -0
- package/lib/components/table-v2/src/components/index.js +22 -0
- package/lib/components/table-v2/src/components/index.js.map +1 -0
- package/lib/components/table-v2/src/{table-row.d.ts → components/row.d.ts} +18 -19
- package/lib/components/table-v2/src/components/row.js +208 -0
- package/lib/components/table-v2/src/components/row.js.map +1 -0
- package/lib/components/table-v2/src/{sort-icon.d.ts → components/sort-icon.d.ts} +1 -1
- package/lib/components/table-v2/src/components/sort-icon.js +23 -0
- package/lib/components/table-v2/src/components/sort-icon.js.map +1 -0
- package/lib/components/table-v2/src/composables/index.d.ts +5 -0
- package/lib/components/table-v2/src/composables/index.js +18 -0
- package/lib/components/table-v2/src/composables/index.js.map +1 -0
- package/{es/components/table-v2/src → lib/components/table-v2/src/composables}/use-columns.d.ts +8 -6
- package/lib/components/table-v2/src/{use-columns.js → composables/use-columns.js} +27 -31
- package/lib/components/table-v2/src/composables/use-columns.js.map +1 -0
- package/lib/components/table-v2/src/composables/use-data.d.ts +17 -0
- package/lib/components/table-v2/src/composables/use-data.js +48 -0
- package/lib/components/table-v2/src/composables/use-data.js.map +1 -0
- package/lib/components/table-v2/src/composables/use-row.d.ts +32 -0
- package/lib/components/table-v2/src/composables/use-row.js +127 -0
- package/lib/components/table-v2/src/composables/use-row.js.map +1 -0
- package/lib/components/table-v2/src/composables/use-scrollbar.d.ts +26 -0
- package/lib/components/table-v2/src/composables/use-scrollbar.js +59 -0
- package/lib/components/table-v2/src/composables/use-scrollbar.js.map +1 -0
- package/lib/components/table-v2/src/composables/use-styles.d.ts +25 -0
- package/lib/components/table-v2/src/composables/use-styles.js +91 -0
- package/lib/components/table-v2/src/composables/use-styles.js.map +1 -0
- package/lib/components/table-v2/src/composables/utils.d.ts +3 -0
- package/lib/components/table-v2/src/composables/utils.js +30 -0
- package/lib/components/table-v2/src/composables/utils.js.map +1 -0
- package/lib/components/table-v2/src/constants.d.ts +4 -0
- package/lib/components/table-v2/src/constants.js +6 -0
- package/lib/components/table-v2/src/constants.js.map +1 -1
- package/lib/components/table-v2/src/grid.d.ts +4 -1
- package/lib/components/table-v2/src/grid.js +5 -0
- package/lib/components/table-v2/src/grid.js.map +1 -1
- package/lib/components/table-v2/src/renderers/cell.d.ts +1 -1
- package/lib/components/table-v2/src/renderers/cell.js +95 -0
- package/lib/components/table-v2/src/renderers/cell.js.map +1 -0
- package/lib/components/table-v2/src/renderers/empty.d.ts +7 -0
- package/lib/components/table-v2/src/renderers/empty.js +19 -0
- package/lib/components/table-v2/src/renderers/empty.js.map +1 -0
- package/lib/components/table-v2/src/renderers/footer.d.ts +7 -0
- package/lib/components/table-v2/src/renderers/footer.js +19 -0
- package/lib/components/table-v2/src/renderers/footer.js.map +1 -0
- package/lib/components/table-v2/src/renderers/header-cell.d.ts +1 -1
- package/lib/components/table-v2/src/renderers/header-cell.js +69 -0
- package/lib/components/table-v2/src/renderers/header-cell.js.map +1 -0
- package/lib/components/table-v2/src/renderers/header.d.ts +1 -1
- package/lib/components/table-v2/src/renderers/header.js +43 -0
- package/lib/components/table-v2/src/renderers/header.js.map +1 -0
- package/lib/components/table-v2/src/renderers/left-table.js +28 -0
- package/lib/components/table-v2/src/renderers/left-table.js.map +1 -0
- package/lib/components/table-v2/src/renderers/main-table.js +26 -0
- package/lib/components/table-v2/src/renderers/main-table.js.map +1 -0
- package/lib/components/table-v2/src/renderers/overlay.d.ts +3 -0
- package/lib/components/table-v2/src/renderers/overlay.js +19 -0
- package/lib/components/table-v2/src/renderers/overlay.js.map +1 -0
- package/lib/components/table-v2/src/renderers/right-table.js +28 -0
- package/lib/components/table-v2/src/renderers/right-table.js.map +1 -0
- package/lib/components/table-v2/src/renderers/row.js +81 -0
- package/lib/components/table-v2/src/renderers/row.js.map +1 -0
- package/lib/components/table-v2/src/row.d.ts +6 -1
- package/lib/components/table-v2/src/row.js.map +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +8 -2
- package/lib/components/table-v2/src/table-grid.js +225 -0
- package/lib/components/table-v2/src/table-grid.js.map +1 -0
- package/lib/components/table-v2/src/table-v2.d.ts +3 -12
- package/lib/components/table-v2/src/table-v2.js +254 -0
- package/lib/components/table-v2/src/table-v2.js.map +1 -0
- package/lib/components/table-v2/src/table.d.ts +2 -5
- package/lib/components/table-v2/src/table.js.map +1 -1
- package/lib/components/table-v2/src/types.d.ts +15 -2
- package/lib/components/table-v2/src/use-table.d.ts +20 -29
- package/lib/components/table-v2/src/use-table.js +82 -236
- package/lib/components/table-v2/src/use-table.js.map +1 -1
- package/lib/components/table-v2/src/utils.js +1 -1
- package/lib/components/table-v2/src/utils.js.map +1 -1
- package/lib/components/tooltip/index.js +2 -2
- package/lib/components/tooltip/src/content.js +1 -1
- package/lib/components/tooltip/src/tooltip.js +64 -174
- package/lib/components/tooltip/src/tooltip.js.map +1 -1
- package/lib/components/tooltip/src/tooltip2.js +174 -64
- package/lib/components/tooltip/src/tooltip2.js.map +1 -1
- package/lib/components/tooltip/src/trigger.js +1 -1
- package/lib/components/upload/index.d.ts +16 -12
- package/lib/components/upload/src/upload-content.d.ts +1 -1
- package/lib/components/upload/src/upload-content.vue.d.ts +4 -3
- package/lib/components/upload/src/upload-content2.js +3 -1
- package/lib/components/upload/src/upload-content2.js.map +1 -1
- package/lib/components/upload/src/upload-list2.js +4 -2
- package/lib/components/upload/src/upload-list2.js.map +1 -1
- package/lib/components/upload/src/upload.d.ts +2 -2
- package/lib/components/upload/src/upload.js +1 -1
- package/lib/components/upload/src/upload.js.map +1 -1
- package/lib/components/upload/src/upload.vue.d.ts +16 -12
- package/lib/components/virtual-list/src/builders/build-grid.d.ts +11 -2
- package/lib/components/virtual-list/src/builders/build-grid.js +7 -3
- package/lib/components/virtual-list/src/builders/build-grid.js.map +1 -1
- package/lib/components/virtual-list/src/components/dynamic-size-grid.d.ts +11 -2
- package/lib/components/virtual-list/src/components/dynamic-size-grid.js +4 -2
- package/lib/components/virtual-list/src/components/dynamic-size-grid.js.map +1 -1
- package/lib/components/virtual-list/src/components/fixed-size-grid.d.ts +11 -2
- package/lib/components/virtual-list/src/components/scrollbar.d.ts +2 -2
- package/lib/components/virtual-list/src/props.d.ts +7 -3
- package/lib/components/virtual-list/src/props.js +5 -1
- package/lib/components/virtual-list/src/props.js.map +1 -1
- package/lib/components/virtual-list/src/types.d.ts +7 -0
- package/lib/components/virtual-list/src/utils.d.ts +10 -5
- package/lib/components/virtual-list/src/utils.js.map +1 -1
- package/lib/constants/index.js +0 -1
- package/lib/constants/index.js.map +1 -1
- package/lib/constants/size.d.ts +0 -1
- package/lib/constants/size.js +0 -4
- package/lib/constants/size.js.map +1 -1
- package/lib/directives/mousewheel/index.js +1 -7
- package/lib/directives/mousewheel/index.js.map +1 -1
- package/lib/hooks/index.d.ts +1 -0
- package/lib/hooks/index.js +2 -0
- package/lib/hooks/index.js.map +1 -1
- package/lib/hooks/use-cursor/index.d.ts +2 -0
- package/lib/hooks/use-cursor/index.js +50 -0
- package/lib/hooks/use-cursor/index.js.map +1 -0
- package/lib/hooks/use-draggable/index.js +1 -1
- package/lib/index.js +3 -2
- package/lib/index.js.map +1 -1
- package/lib/utils/dom/index.js +1 -0
- package/lib/utils/dom/index.js.map +1 -1
- package/lib/utils/dom/style.d.ts +1 -0
- package/lib/utils/dom/style.js +13 -0
- package/lib/utils/dom/style.js.map +1 -1
- package/lib/utils/index.js +3 -2
- package/lib/utils/index.js.map +1 -1
- package/lib/utils/vue/index.d.ts +1 -1
- package/lib/utils/vue/index.js +2 -2
- package/lib/utils/vue/size.d.ts +1 -0
- package/lib/utils/vue/size.js +13 -0
- package/lib/utils/vue/size.js.map +1 -0
- package/lib/version.d.ts +1 -1
- package/lib/version.js +1 -1
- package/lib/version.js.map +1 -1
- package/package.json +7 -7
- package/tags.json +1 -1
- package/theme-chalk/el-autocomplete.css +1 -1
- package/theme-chalk/el-date-picker.css +1 -1
- package/theme-chalk/el-input-number.css +1 -1
- package/theme-chalk/el-input.css +1 -1
- package/theme-chalk/el-pagination.css +1 -1
- package/theme-chalk/el-step.css +1 -1
- package/theme-chalk/el-table-v2.css +1 -1
- package/theme-chalk/el-tabs.css +1 -1
- package/theme-chalk/el-time-picker.css +1 -1
- package/theme-chalk/el-upload.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/autocomplete.scss +9 -9
- package/theme-chalk/src/check-tag.scss +5 -5
- package/theme-chalk/src/dark/var.scss +7 -7
- package/theme-chalk/src/date-picker/time-picker.scss +2 -2
- package/theme-chalk/src/date-picker/year-table.scss +2 -2
- package/theme-chalk/src/input-number.scss +0 -1
- package/theme-chalk/src/input.scss +12 -5
- package/theme-chalk/src/pagination.scss +6 -0
- package/theme-chalk/src/step.scss +1 -1
- package/theme-chalk/src/table-v2.scss +30 -6
- package/theme-chalk/src/tabs.scss +1 -1
- package/theme-chalk/src/upload.scss +7 -4
- package/web-types.json +1 -1
- package/es/components/table-v2/src/column-resizer.d.ts +0 -14
- package/es/components/table-v2/src/column-resizer.mjs +0 -24
- package/es/components/table-v2/src/column-resizer.mjs.map +0 -1
- package/es/components/table-v2/src/table-cell.d.ts +0 -9
- package/es/components/table-v2/src/table-column-resizer.d.ts +0 -31
- package/es/components/table-v2/src/table-header-cell.d.ts +0 -8
- package/es/components/table-v2/src/use-columns.mjs.map +0 -1
- package/es/utils/vue/style.d.ts +0 -1
- package/es/utils/vue/style.mjs +0 -19
- package/es/utils/vue/style.mjs.map +0 -1
- package/lib/components/table-v2/src/column-resizer.d.ts +0 -14
- package/lib/components/table-v2/src/column-resizer.js +0 -28
- package/lib/components/table-v2/src/column-resizer.js.map +0 -1
- package/lib/components/table-v2/src/table-cell.d.ts +0 -9
- package/lib/components/table-v2/src/table-column-resizer.d.ts +0 -31
- package/lib/components/table-v2/src/table-header-cell.d.ts +0 -8
- package/lib/components/table-v2/src/use-columns.js.map +0 -1
- package/lib/utils/vue/style.d.ts +0 -1
- package/lib/utils/vue/style.js +0 -23
- package/lib/utils/vue/style.js.map +0 -1
|
@@ -0,0 +1,204 @@
|
|
|
1
|
+
import { inject, ref, computed, unref, nextTick, onMounted, defineComponent, createVNode, mergeProps } from 'vue';
|
|
2
|
+
import '../../../../utils/index.mjs';
|
|
3
|
+
import { tableV2RowProps } from '../row.mjs';
|
|
4
|
+
import { TableV2InjectionKey } from '../tokens.mjs';
|
|
5
|
+
import { placeholderSign } from '../private.mjs';
|
|
6
|
+
import { isNumber } from '@vueuse/core';
|
|
7
|
+
import { isFunction, isArray } from '@vue/shared';
|
|
8
|
+
|
|
9
|
+
const useTableRow = (props) => {
|
|
10
|
+
const {
|
|
11
|
+
isScrolling
|
|
12
|
+
} = inject(TableV2InjectionKey);
|
|
13
|
+
const measured = ref(false);
|
|
14
|
+
const rowRef = ref();
|
|
15
|
+
const measurable = computed(() => {
|
|
16
|
+
return isNumber(props.estimatedRowHeight) && props.rowIndex >= 0;
|
|
17
|
+
});
|
|
18
|
+
const doMeasure = (isInit = false) => {
|
|
19
|
+
const $rowRef = unref(rowRef);
|
|
20
|
+
if (!$rowRef)
|
|
21
|
+
return;
|
|
22
|
+
const {
|
|
23
|
+
columns,
|
|
24
|
+
onRowHeightChange,
|
|
25
|
+
rowKey,
|
|
26
|
+
rowIndex,
|
|
27
|
+
style
|
|
28
|
+
} = props;
|
|
29
|
+
const {
|
|
30
|
+
height
|
|
31
|
+
} = $rowRef.getBoundingClientRect();
|
|
32
|
+
measured.value = true;
|
|
33
|
+
nextTick(() => {
|
|
34
|
+
if (isInit || height !== Number.parseInt(style.height)) {
|
|
35
|
+
const firstColumn = columns[0];
|
|
36
|
+
const isPlaceholder = (firstColumn == null ? void 0 : firstColumn.placeholderSign) === placeholderSign;
|
|
37
|
+
onRowHeightChange == null ? void 0 : onRowHeightChange({
|
|
38
|
+
rowKey,
|
|
39
|
+
height,
|
|
40
|
+
rowIndex
|
|
41
|
+
}, firstColumn && !isPlaceholder && firstColumn.fixed);
|
|
42
|
+
}
|
|
43
|
+
});
|
|
44
|
+
};
|
|
45
|
+
const eventHandlers = computed(() => {
|
|
46
|
+
const {
|
|
47
|
+
rowData,
|
|
48
|
+
rowIndex,
|
|
49
|
+
rowKey,
|
|
50
|
+
onRowHover
|
|
51
|
+
} = props;
|
|
52
|
+
const handlers = props.rowEventHandlers || {};
|
|
53
|
+
const eventHandlers2 = {};
|
|
54
|
+
Object.entries(handlers).forEach(([eventName, handler]) => {
|
|
55
|
+
if (isFunction(handler)) {
|
|
56
|
+
eventHandlers2[eventName] = (event) => {
|
|
57
|
+
handler({
|
|
58
|
+
event,
|
|
59
|
+
rowData,
|
|
60
|
+
rowIndex,
|
|
61
|
+
rowKey
|
|
62
|
+
});
|
|
63
|
+
};
|
|
64
|
+
}
|
|
65
|
+
});
|
|
66
|
+
if (onRowHover) {
|
|
67
|
+
;
|
|
68
|
+
[{
|
|
69
|
+
name: "onMouseleave",
|
|
70
|
+
hovered: false
|
|
71
|
+
}, {
|
|
72
|
+
name: "onMouseenter",
|
|
73
|
+
hovered: true
|
|
74
|
+
}].forEach(({
|
|
75
|
+
name,
|
|
76
|
+
hovered
|
|
77
|
+
}) => {
|
|
78
|
+
const existedHandler = eventHandlers2[name];
|
|
79
|
+
eventHandlers2[name] = (event) => {
|
|
80
|
+
onRowHover({
|
|
81
|
+
event,
|
|
82
|
+
hovered,
|
|
83
|
+
rowData,
|
|
84
|
+
rowIndex,
|
|
85
|
+
rowKey
|
|
86
|
+
});
|
|
87
|
+
existedHandler == null ? void 0 : existedHandler(event);
|
|
88
|
+
};
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
return eventHandlers2;
|
|
92
|
+
});
|
|
93
|
+
const onExpand = (expanded) => {
|
|
94
|
+
const {
|
|
95
|
+
onRowExpand,
|
|
96
|
+
rowData,
|
|
97
|
+
rowIndex,
|
|
98
|
+
rowKey
|
|
99
|
+
} = props;
|
|
100
|
+
onRowExpand == null ? void 0 : onRowExpand({
|
|
101
|
+
expanded,
|
|
102
|
+
rowData,
|
|
103
|
+
rowIndex,
|
|
104
|
+
rowKey
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
onMounted(() => {
|
|
108
|
+
if (unref(measurable)) {
|
|
109
|
+
doMeasure(true);
|
|
110
|
+
}
|
|
111
|
+
});
|
|
112
|
+
return {
|
|
113
|
+
isScrolling,
|
|
114
|
+
measurable,
|
|
115
|
+
measured,
|
|
116
|
+
rowRef,
|
|
117
|
+
eventHandlers,
|
|
118
|
+
onExpand
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
const COMPONENT_NAME = "ElTableV2TableRow";
|
|
122
|
+
const TableV2Row = defineComponent({
|
|
123
|
+
name: COMPONENT_NAME,
|
|
124
|
+
props: tableV2RowProps,
|
|
125
|
+
setup(props, {
|
|
126
|
+
expose,
|
|
127
|
+
slots,
|
|
128
|
+
attrs
|
|
129
|
+
}) {
|
|
130
|
+
const {
|
|
131
|
+
eventHandlers,
|
|
132
|
+
isScrolling,
|
|
133
|
+
measurable,
|
|
134
|
+
measured,
|
|
135
|
+
rowRef,
|
|
136
|
+
onExpand
|
|
137
|
+
} = useTableRow(props);
|
|
138
|
+
expose({
|
|
139
|
+
onExpand
|
|
140
|
+
});
|
|
141
|
+
return () => {
|
|
142
|
+
const {
|
|
143
|
+
columns,
|
|
144
|
+
expandColumnKey,
|
|
145
|
+
depth,
|
|
146
|
+
rowData,
|
|
147
|
+
rowIndex,
|
|
148
|
+
style
|
|
149
|
+
} = props;
|
|
150
|
+
let ColumnCells = columns.map((column, columnIndex) => {
|
|
151
|
+
const expandable = isArray(rowData.children) && rowData.children.length > 0 && column.key === expandColumnKey;
|
|
152
|
+
return slots.cell({
|
|
153
|
+
column,
|
|
154
|
+
columns,
|
|
155
|
+
columnIndex,
|
|
156
|
+
depth,
|
|
157
|
+
rowData,
|
|
158
|
+
rowIndex,
|
|
159
|
+
isScrolling: unref(isScrolling),
|
|
160
|
+
expandIconProps: expandable ? {
|
|
161
|
+
rowData,
|
|
162
|
+
rowIndex,
|
|
163
|
+
onExpand
|
|
164
|
+
} : void 0
|
|
165
|
+
});
|
|
166
|
+
});
|
|
167
|
+
if (slots.row) {
|
|
168
|
+
ColumnCells = slots.row({
|
|
169
|
+
cells: ColumnCells.map((node) => {
|
|
170
|
+
if (isArray(node) && node.length === 1) {
|
|
171
|
+
return node[0];
|
|
172
|
+
}
|
|
173
|
+
return node;
|
|
174
|
+
}),
|
|
175
|
+
columns,
|
|
176
|
+
depth,
|
|
177
|
+
rowData,
|
|
178
|
+
rowIndex,
|
|
179
|
+
isScrolling: unref(isScrolling)
|
|
180
|
+
});
|
|
181
|
+
}
|
|
182
|
+
if (unref(measurable)) {
|
|
183
|
+
const {
|
|
184
|
+
height,
|
|
185
|
+
...exceptHeightStyle
|
|
186
|
+
} = style || {};
|
|
187
|
+
const _measured = unref(measured);
|
|
188
|
+
return createVNode("div", mergeProps({
|
|
189
|
+
"ref": rowRef,
|
|
190
|
+
"class": props.class,
|
|
191
|
+
"style": _measured ? style : exceptHeightStyle
|
|
192
|
+
}, attrs, unref(eventHandlers)), [ColumnCells]);
|
|
193
|
+
}
|
|
194
|
+
return createVNode("div", mergeProps(attrs, {
|
|
195
|
+
"ref": rowRef,
|
|
196
|
+
"class": props.class,
|
|
197
|
+
"style": style
|
|
198
|
+
}, unref(eventHandlers)), [ColumnCells]);
|
|
199
|
+
};
|
|
200
|
+
}
|
|
201
|
+
});
|
|
202
|
+
|
|
203
|
+
export { TableV2Row as default };
|
|
204
|
+
//# sourceMappingURL=row.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"row.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/row.tsx"],"sourcesContent":["import {\n computed,\n defineComponent,\n inject,\n nextTick,\n onMounted,\n ref,\n unref,\n} from 'vue'\nimport { isArray, isFunction, isNumber } from '@element-plus/utils'\nimport { tableV2RowProps } from '../row'\nimport { TableV2InjectionKey } from '../tokens'\nimport { placeholderSign } from '../private'\n\nimport type { RendererElement, RendererNode, VNode } from 'vue'\nimport type { RowEventHandlers, TableV2RowProps } from '../row'\n\ntype CustomizedCellsType = VNode<\n RendererNode,\n RendererElement,\n {\n [key: string]: any\n }\n>[]\n\ntype DefaultCellsType = VNode<\n RendererNode,\n RendererElement,\n {\n [key: string]: any\n }\n>[][]\n\ntype ColumnCellsType = DefaultCellsType | CustomizedCellsType\n\nconst useTableRow = (props: TableV2RowProps) => {\n const { isScrolling } = inject(TableV2InjectionKey)!\n\n const measured = ref(false)\n const rowRef = ref<HTMLElement>()\n const measurable = computed(() => {\n return isNumber(props.estimatedRowHeight) && props.rowIndex >= 0\n })\n\n const doMeasure = (isInit = false) => {\n const $rowRef = unref(rowRef)\n if (!$rowRef) return\n const { columns, onRowHeightChange, rowKey, rowIndex, style } = props\n const { height } = $rowRef.getBoundingClientRect()\n measured.value = true\n\n nextTick(() => {\n if (isInit || height !== Number.parseInt(style!.height as string)) {\n const firstColumn = columns[0]\n const isPlaceholder = firstColumn?.placeholderSign === placeholderSign\n onRowHeightChange?.(\n { rowKey, height, rowIndex },\n firstColumn && !isPlaceholder && firstColumn.fixed\n )\n }\n })\n }\n\n const eventHandlers = computed(() => {\n const { rowData, rowIndex, rowKey, onRowHover } = props\n const handlers = props.rowEventHandlers || ({} as RowEventHandlers<any>)\n const eventHandlers = {} as {\n [key in keyof RowEventHandlers<any>]: (e: Event) => void\n }\n\n Object.entries(handlers).forEach(([eventName, handler]) => {\n if (isFunction(handler)) {\n eventHandlers[eventName as keyof RowEventHandlers<any>] = (\n event: Event\n ) => {\n handler({\n event,\n rowData,\n rowIndex,\n rowKey,\n })\n }\n }\n })\n\n if (onRowHover) {\n ;(\n [\n { name: 'onMouseleave', hovered: false },\n { name: 'onMouseenter', hovered: true },\n ] as const\n ).forEach(({ name, hovered }) => {\n const existedHandler = eventHandlers[name]\n eventHandlers[name] = ((event: MouseEvent) => {\n onRowHover({\n event,\n hovered,\n rowData,\n rowIndex,\n rowKey,\n })\n\n existedHandler?.(event)\n }) as any\n })\n }\n return eventHandlers\n })\n\n const onExpand = (expanded: boolean) => {\n const { onRowExpand, rowData, rowIndex, rowKey } = props\n\n onRowExpand?.({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n })\n }\n\n onMounted(() => {\n if (unref(measurable)) {\n doMeasure(true)\n }\n })\n\n return { isScrolling, measurable, measured, rowRef, eventHandlers, onExpand }\n}\n\nconst COMPONENT_NAME = 'ElTableV2TableRow'\n\nconst TableV2Row = defineComponent({\n name: COMPONENT_NAME,\n props: tableV2RowProps,\n setup(props, { expose, slots, attrs }) {\n const {\n eventHandlers,\n isScrolling,\n measurable,\n measured,\n rowRef,\n\n onExpand,\n } = useTableRow(props)\n\n expose({\n /**\n * @description manually dispatching expand action on row.\n */\n onExpand,\n })\n\n return () => {\n const { columns, expandColumnKey, depth, rowData, rowIndex, style } =\n props\n\n let ColumnCells: ColumnCellsType = columns.map((column, columnIndex) => {\n const expandable =\n isArray(rowData.children) &&\n rowData.children.length > 0 &&\n column.key === expandColumnKey\n\n return slots.cell!({\n column,\n columns,\n columnIndex,\n depth,\n rowData,\n rowIndex,\n isScrolling: unref(isScrolling),\n expandIconProps: expandable\n ? {\n rowData,\n rowIndex,\n onExpand,\n }\n : undefined,\n })\n })\n\n if (slots.row) {\n ColumnCells = slots.row({\n cells: ColumnCells.map((node) => {\n if (isArray(node) && node.length === 1) {\n return node[0]\n }\n return node\n }),\n columns,\n depth,\n rowData,\n rowIndex,\n isScrolling: unref(isScrolling),\n })\n }\n\n if (unref(measurable)) {\n // eslint-disable-next-line @typescript-eslint/no-unused-vars\n const { height, ...exceptHeightStyle } = style || {}\n const _measured = unref(measured)\n return (\n <div\n ref={rowRef}\n class={props.class}\n style={_measured ? style : exceptHeightStyle}\n {...attrs}\n {...unref(eventHandlers)}\n >\n {ColumnCells}\n </div>\n )\n }\n\n return (\n <div\n {...attrs}\n ref={rowRef}\n class={props.class}\n style={style}\n {...unref(eventHandlers)}\n >\n {ColumnCells}\n </div>\n )\n }\n },\n})\n\nexport default TableV2Row\n\nexport type TableV2RowCellRenderParam = {\n column: TableV2RowProps['columns'][number]\n columns: TableV2RowProps['columns']\n columnIndex: number\n depth: number\n rowData: any\n rowIndex: number\n isScrolling: boolean\n expandIconProps?: {\n rowData: any\n rowIndex: number\n onExpand: (expand: boolean) => void\n }\n}\n"],"names":["useTableRow","isScrolling","inject","TableV2InjectionKey","measured","rowRef","ref","isNumber","doMeasure","columns","onRowHeightChange","rowKey","rowIndex","style","height","$rowRef","getBoundingClientRect","value","nextTick","parseInt","firstColumn","placeholderSign","rowData","onRowHover","handlers","props","rowEventHandlers","eventHandlers","Object","forEach","eventName","isFunction","handler","event","name","hovered","existedHandler","onExpand","onRowExpand","expanded","onMounted","measurable","COMPONENT_NAME","TableV2Row","setup","expose","slots","attrs","expandColumnKey","depth","ColumnCells","expandable","column","columnIndex","expandIconProps","undefined","cells","map","isArray","node","_createVNode","_mergeProps","exceptHeightStyle"],"mappings":"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"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { createVNode } from 'vue';
|
|
2
|
+
import { ElIcon } from '../../../icon/index.mjs';
|
|
3
|
+
import { SortUp, SortDown } from '@element-plus/icons-vue';
|
|
4
|
+
import { SortOrder } from '../constants.mjs';
|
|
5
|
+
|
|
6
|
+
const SortIcon = (props) => {
|
|
7
|
+
const {
|
|
8
|
+
sortOrder
|
|
9
|
+
} = props;
|
|
10
|
+
return createVNode(ElIcon, {
|
|
11
|
+
"size": 14,
|
|
12
|
+
"class": props.class
|
|
13
|
+
}, {
|
|
14
|
+
default: () => [sortOrder === SortOrder.ASC ? createVNode(SortUp, null, null) : createVNode(SortDown, null, null)]
|
|
15
|
+
});
|
|
16
|
+
};
|
|
17
|
+
|
|
18
|
+
export { SortIcon as default };
|
|
19
|
+
//# sourceMappingURL=sort-icon.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"sort-icon.mjs","sources":["../../../../../../../packages/components/table-v2/src/components/sort-icon.tsx"],"sourcesContent":["import ElIcon from '@element-plus/components/icon'\nimport { SortDown, SortUp } from '@element-plus/icons-vue'\nimport { SortOrder } from '../constants'\n\nimport type { FunctionalComponent } from 'vue'\n\nexport type SortIconProps = {\n sortOrder: SortOrder\n class?: JSX.IntrinsicAttributes['class']\n}\n\nconst SortIcon: FunctionalComponent<SortIconProps> = (props) => {\n const { sortOrder } = props\n\n return (\n <ElIcon size={14} class={props.class}>\n {sortOrder === SortOrder.ASC ? <SortUp /> : <SortDown />}\n </ElIcon>\n )\n}\n\nexport default SortIcon\n"],"names":["SortIcon","sortOrder","_createVNode"],"mappings":";;;;;;AAWA,EAAMA,MAAAA;AACJ,IAAM,SAAA;AAAEC,GAAAA,GAAAA,KAAAA,CAAAA;AAAF,EAAA,OAANC,WAAA,CAAA,MAAA,EAAA;AAEA,IAAA,MAAA,EAAA,EAAA;AAAA,IAAA,OAAA,EAAA,KAAA,CAAA,KAAA;AAAA,GAAA,EAAA;AAAA,IAAA,OAAA,EAAA,MAAA,CAAA,SAAA,KAAA,SAAA,CAAA,GAAA,GAAAA,WAAA,CAAA,MAAA,EAAA,IAAA,EAAA,IAAA,CAAA,GAAAA,WAAA,CAAA,QAAA,EAAA,IAAA,EAAA,IAAA,CAAA,CAAA;AAAA,GAAA,CAAA,CAAA;AAAA;;;;"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export { useColumns } from './use-columns.mjs';
|
|
2
|
+
export { useScrollbar } from './use-scrollbar.mjs';
|
|
3
|
+
export { useRow } from './use-row.mjs';
|
|
4
|
+
export { useData } from './use-data.mjs';
|
|
5
|
+
export { useStyles } from './use-styles.mjs';
|
|
6
|
+
//# sourceMappingURL=index.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;"}
|
package/{lib/components/table-v2/src → es/components/table-v2/src/composables}/use-columns.d.ts
RENAMED
|
@@ -1,18 +1,20 @@
|
|
|
1
1
|
import type { CSSProperties, Ref } from 'vue';
|
|
2
|
-
import type {
|
|
3
|
-
|
|
4
|
-
declare function useColumns(columns: Ref<
|
|
5
|
-
columns: Ref<
|
|
2
|
+
import type { TableV2Props } from '../table';
|
|
3
|
+
import type { AnyColumns, Column, KeyType } from '../types';
|
|
4
|
+
declare function useColumns(props: TableV2Props, columns: Ref<AnyColumns>, fixed: Ref<boolean>): {
|
|
5
|
+
columns: Ref<AnyColumns>;
|
|
6
6
|
columnsStyles: import("vue").ComputedRef<Record<KeyType, CSSProperties>>;
|
|
7
7
|
columnsTotalWidth: import("vue").ComputedRef<number>;
|
|
8
8
|
fixedColumnsOnLeft: import("vue").ComputedRef<Column<any>[]>;
|
|
9
|
-
|
|
9
|
+
fixedColumnsOnRight: import("vue").ComputedRef<Column<any>[]>;
|
|
10
10
|
hasFixedColumns: import("vue").ComputedRef<number>;
|
|
11
|
-
mainColumns: import("vue").ComputedRef<
|
|
11
|
+
mainColumns: import("vue").ComputedRef<AnyColumns>;
|
|
12
12
|
normalColumns: import("vue").ComputedRef<Column<any>[]>;
|
|
13
13
|
visibleColumns: import("vue").ComputedRef<Column<any>[]>;
|
|
14
14
|
getColumn: (key: KeyType) => Column<any> | undefined;
|
|
15
15
|
getColumnStyle: (key: KeyType) => CSSProperties;
|
|
16
16
|
updateColumnWidth: (column: Column<any>, width: number) => void;
|
|
17
|
+
onColumnSorted: (e: MouseEvent) => void;
|
|
17
18
|
};
|
|
18
19
|
export { useColumns };
|
|
20
|
+
export declare type UseColumnsReturn = ReturnType<typeof useColumns>;
|
|
@@ -1,35 +1,16 @@
|
|
|
1
1
|
import { computed, unref } from 'vue';
|
|
2
|
-
import
|
|
2
|
+
import '../../../../utils/index.mjs';
|
|
3
|
+
import { SortOrder, oppositeOrderMap } from '../constants.mjs';
|
|
4
|
+
import { placeholderSign } from '../private.mjs';
|
|
5
|
+
import { calcColumnStyle } from './utils.mjs';
|
|
6
|
+
import { isObject } from '@vue/shared';
|
|
3
7
|
|
|
4
|
-
|
|
5
|
-
var _a;
|
|
6
|
-
const flex = {
|
|
7
|
-
flexGrow: 0,
|
|
8
|
-
flexShrink: 0
|
|
9
|
-
};
|
|
10
|
-
if (column.fixed) {
|
|
11
|
-
flex.flexShrink = 1;
|
|
12
|
-
}
|
|
13
|
-
const style = {
|
|
14
|
-
...(_a = column.style) != null ? _a : {},
|
|
15
|
-
...flex,
|
|
16
|
-
flexBasis: "auto",
|
|
17
|
-
width: column.width
|
|
18
|
-
};
|
|
19
|
-
if (!fixedColumn) {
|
|
20
|
-
if (column.maxWidth)
|
|
21
|
-
style.maxWidth = column.maxWidth;
|
|
22
|
-
if (column.minWidth)
|
|
23
|
-
style.maxWidth = column.minWidth;
|
|
24
|
-
}
|
|
25
|
-
return style;
|
|
26
|
-
};
|
|
27
|
-
function useColumns(columns, fixed) {
|
|
8
|
+
function useColumns(props, columns, fixed) {
|
|
28
9
|
const visibleColumns = computed(() => {
|
|
29
10
|
return unref(columns).filter((column) => !column.hidden);
|
|
30
11
|
});
|
|
31
12
|
const fixedColumnsOnLeft = computed(() => unref(visibleColumns).filter((column) => column.fixed === "left" || column.fixed === true));
|
|
32
|
-
const
|
|
13
|
+
const fixedColumnsOnRight = computed(() => unref(visibleColumns).filter((column) => column.fixed === "right"));
|
|
33
14
|
const normalColumns = computed(() => unref(visibleColumns).filter((column) => !column.fixed));
|
|
34
15
|
const mainColumns = computed(() => {
|
|
35
16
|
const ret = [];
|
|
@@ -42,7 +23,7 @@ function useColumns(columns, fixed) {
|
|
|
42
23
|
unref(normalColumns).forEach((column) => {
|
|
43
24
|
ret.push(column);
|
|
44
25
|
});
|
|
45
|
-
unref(
|
|
26
|
+
unref(fixedColumnsOnRight).forEach((column) => {
|
|
46
27
|
ret.push({
|
|
47
28
|
...column,
|
|
48
29
|
placeholderSign
|
|
@@ -51,7 +32,7 @@ function useColumns(columns, fixed) {
|
|
|
51
32
|
return ret;
|
|
52
33
|
});
|
|
53
34
|
const hasFixedColumns = computed(() => {
|
|
54
|
-
return unref(fixedColumnsOnLeft).length || unref(
|
|
35
|
+
return unref(fixedColumnsOnLeft).length || unref(fixedColumnsOnRight).length;
|
|
55
36
|
});
|
|
56
37
|
const columnsStyles = computed(() => {
|
|
57
38
|
const _columns = unref(columns);
|
|
@@ -72,19 +53,34 @@ function useColumns(columns, fixed) {
|
|
|
72
53
|
const updateColumnWidth = (column, width) => {
|
|
73
54
|
column.width = width;
|
|
74
55
|
};
|
|
56
|
+
function onColumnSorted(e) {
|
|
57
|
+
var _a;
|
|
58
|
+
const { key } = e.currentTarget.dataset;
|
|
59
|
+
if (!key)
|
|
60
|
+
return;
|
|
61
|
+
const { sortState, sortBy } = props;
|
|
62
|
+
let order = SortOrder.ASC;
|
|
63
|
+
if (isObject(sortState)) {
|
|
64
|
+
order = oppositeOrderMap[sortState[key]];
|
|
65
|
+
} else {
|
|
66
|
+
order = oppositeOrderMap[sortBy.order];
|
|
67
|
+
}
|
|
68
|
+
(_a = props.onColumnSort) == null ? void 0 : _a.call(props, { column: getColumn(key), key, order });
|
|
69
|
+
}
|
|
75
70
|
return {
|
|
76
71
|
columns,
|
|
77
72
|
columnsStyles,
|
|
78
73
|
columnsTotalWidth,
|
|
79
74
|
fixedColumnsOnLeft,
|
|
80
|
-
|
|
75
|
+
fixedColumnsOnRight,
|
|
81
76
|
hasFixedColumns,
|
|
82
77
|
mainColumns,
|
|
83
78
|
normalColumns,
|
|
84
79
|
visibleColumns,
|
|
85
80
|
getColumn,
|
|
86
81
|
getColumnStyle,
|
|
87
|
-
updateColumnWidth
|
|
82
|
+
updateColumnWidth,
|
|
83
|
+
onColumnSorted
|
|
88
84
|
};
|
|
89
85
|
}
|
|
90
86
|
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-columns.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-columns.ts"],"sourcesContent":["import { computed, unref } from 'vue'\nimport { isObject } from '@element-plus/utils'\nimport { SortOrder, oppositeOrderMap } from '../constants'\nimport { placeholderSign } from '../private'\nimport { calcColumnStyle } from './utils'\n\nimport type { CSSProperties, Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type { AnyColumns, Column, KeyType } from '../types'\n\nfunction useColumns(\n props: TableV2Props,\n columns: Ref<AnyColumns>,\n fixed: Ref<boolean>\n) {\n const visibleColumns = computed(() => {\n return unref(columns).filter((column) => !column.hidden)\n })\n\n const fixedColumnsOnLeft = computed(() =>\n unref(visibleColumns).filter(\n (column) => column.fixed === 'left' || column.fixed === true\n )\n )\n\n const fixedColumnsOnRight = computed(() =>\n unref(visibleColumns).filter((column) => column.fixed === 'right')\n )\n\n const normalColumns = computed(() =>\n unref(visibleColumns).filter((column) => !column.fixed)\n )\n\n const mainColumns = computed(() => {\n const ret: AnyColumns = []\n\n unref(fixedColumnsOnLeft).forEach((column) => {\n ret.push({\n ...column,\n placeholderSign,\n })\n })\n\n unref(normalColumns).forEach((column) => {\n ret.push(column)\n })\n\n unref(fixedColumnsOnRight).forEach((column) => {\n ret.push({\n ...column,\n placeholderSign,\n })\n })\n\n return ret\n })\n\n const hasFixedColumns = computed(() => {\n return unref(fixedColumnsOnLeft).length || unref(fixedColumnsOnRight).length\n })\n\n const columnsStyles = computed(() => {\n const _columns = unref(columns)\n\n return _columns.reduce<Record<Column<any>['key'], CSSProperties>>(\n (style, column) => {\n style[column.key] = calcColumnStyle(column, unref(fixed))\n return style\n },\n {}\n )\n })\n\n const columnsTotalWidth = computed(() => {\n return unref(visibleColumns).reduce(\n (width, column) => width + column.width,\n 0\n )\n })\n\n const getColumn = (key: KeyType) => {\n return unref(columns).find((column) => column.key === key)\n }\n\n const getColumnStyle = (key: KeyType) => {\n return unref(columnsStyles)[key]\n }\n\n const updateColumnWidth = (column: Column<any>, width: number) => {\n column.width = width\n }\n\n function onColumnSorted(e: MouseEvent) {\n const { key } = (e.currentTarget as HTMLElement).dataset\n if (!key) return\n const { sortState, sortBy } = props\n\n let order = SortOrder.ASC\n\n if (isObject(sortState)) {\n order = oppositeOrderMap[sortState[key]]\n } else {\n order = oppositeOrderMap[sortBy.order]\n }\n\n props.onColumnSort?.({ column: getColumn(key)!, key, order })\n }\n\n return {\n columns,\n columnsStyles,\n columnsTotalWidth,\n fixedColumnsOnLeft,\n fixedColumnsOnRight,\n hasFixedColumns,\n mainColumns,\n normalColumns,\n visibleColumns,\n\n getColumn,\n getColumnStyle,\n updateColumnWidth,\n onColumnSorted,\n }\n}\n\nexport { useColumns }\nexport type UseColumnsReturn = ReturnType<typeof useColumns>\n"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { TableV2Props } from '../table';
|
|
2
|
+
import type { UseRowReturn } from './use-row';
|
|
3
|
+
declare type UseDataProps = {
|
|
4
|
+
expandedRowKeys: UseRowReturn['expandedRowKeys'];
|
|
5
|
+
lastRenderedRowIndex: UseRowReturn['lastRenderedRowIndex'];
|
|
6
|
+
resetAfterIndex: UseRowReturn['resetAfterIndex'];
|
|
7
|
+
};
|
|
8
|
+
export declare const useData: (props: TableV2Props, { expandedRowKeys, lastRenderedRowIndex, resetAfterIndex }: UseDataProps) => {
|
|
9
|
+
data: import("vue").ComputedRef<any[]>;
|
|
10
|
+
depthMap: import("vue").Ref<{
|
|
11
|
+
[x: string]: number;
|
|
12
|
+
[x: number]: number;
|
|
13
|
+
[x: symbol]: number;
|
|
14
|
+
}>;
|
|
15
|
+
};
|
|
16
|
+
export declare type UseDataReturn = ReturnType<typeof useData>;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ref, computed, unref, watch } from 'vue';
|
|
2
|
+
|
|
3
|
+
const useData = (props, { expandedRowKeys, lastRenderedRowIndex, resetAfterIndex }) => {
|
|
4
|
+
const depthMap = ref({});
|
|
5
|
+
const flattenedData = computed(() => {
|
|
6
|
+
const depths = {};
|
|
7
|
+
const { data: data2, rowKey } = props;
|
|
8
|
+
const _expandedRowKeys = unref(expandedRowKeys);
|
|
9
|
+
if (!_expandedRowKeys || !_expandedRowKeys.length)
|
|
10
|
+
return data2;
|
|
11
|
+
const array = [];
|
|
12
|
+
const keysSet = /* @__PURE__ */ new Set();
|
|
13
|
+
_expandedRowKeys.forEach((x) => keysSet.add(x));
|
|
14
|
+
let copy = data2.slice();
|
|
15
|
+
copy.forEach((x) => depths[x[rowKey]] = 0);
|
|
16
|
+
while (copy.length > 0) {
|
|
17
|
+
const item = copy.shift();
|
|
18
|
+
array.push(item);
|
|
19
|
+
if (keysSet.has(item[rowKey]) && Array.isArray(item.children) && item.children.length > 0) {
|
|
20
|
+
copy = [...item.children, ...copy];
|
|
21
|
+
item.children.forEach((child) => depths[child[rowKey]] = depths[item[rowKey]] + 1);
|
|
22
|
+
}
|
|
23
|
+
}
|
|
24
|
+
depthMap.value = depths;
|
|
25
|
+
return array;
|
|
26
|
+
});
|
|
27
|
+
const data = computed(() => {
|
|
28
|
+
const { data: data2, expandColumnKey } = props;
|
|
29
|
+
return expandColumnKey ? unref(flattenedData) : data2;
|
|
30
|
+
});
|
|
31
|
+
watch(data, (val, prev) => {
|
|
32
|
+
if (val !== prev) {
|
|
33
|
+
lastRenderedRowIndex.value = -1;
|
|
34
|
+
resetAfterIndex(0, true);
|
|
35
|
+
}
|
|
36
|
+
});
|
|
37
|
+
return {
|
|
38
|
+
data,
|
|
39
|
+
depthMap
|
|
40
|
+
};
|
|
41
|
+
};
|
|
42
|
+
|
|
43
|
+
export { useData };
|
|
44
|
+
//# sourceMappingURL=use-data.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-data.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-data.ts"],"sourcesContent":["import { computed, ref, unref, watch } from 'vue'\n\nimport type { TableV2Props } from '../table'\nimport type { KeyType } from '../types'\nimport type { UseRowReturn } from './use-row'\n\ntype UseDataProps = {\n expandedRowKeys: UseRowReturn['expandedRowKeys']\n lastRenderedRowIndex: UseRowReturn['lastRenderedRowIndex']\n resetAfterIndex: UseRowReturn['resetAfterIndex']\n}\n\nexport const useData = (\n props: TableV2Props,\n { expandedRowKeys, lastRenderedRowIndex, resetAfterIndex }: UseDataProps\n) => {\n const depthMap = ref<Record<KeyType, number>>({})\n\n const flattenedData = computed(() => {\n const depths: Record<KeyType, number> = {}\n const { data, rowKey } = props\n\n const _expandedRowKeys = unref(expandedRowKeys)\n\n if (!_expandedRowKeys || !_expandedRowKeys.length) return data\n\n const array: any[] = []\n const keysSet = new Set()\n _expandedRowKeys.forEach((x) => keysSet.add(x))\n\n let copy: any[] = data.slice()\n copy.forEach((x) => (depths[x[rowKey]] = 0))\n while (copy.length > 0) {\n const item = copy.shift()!\n\n array.push(item)\n if (\n keysSet.has(item[rowKey]) &&\n Array.isArray(item.children) &&\n item.children.length > 0\n ) {\n copy = [...item.children, ...copy]\n item.children.forEach(\n (child: any) => (depths[child[rowKey]] = depths[item[rowKey]] + 1)\n )\n }\n }\n\n depthMap.value = depths\n return array\n })\n\n const data = computed(() => {\n const { data, expandColumnKey } = props\n return expandColumnKey ? unref(flattenedData) : data\n })\n\n watch(data, (val, prev) => {\n if (val !== prev) {\n lastRenderedRowIndex.value = -1\n resetAfterIndex(0, true)\n }\n })\n\n return {\n data,\n depthMap,\n }\n}\n\nexport type UseDataReturn = ReturnType<typeof useData>\n"],"names":[],"mappings":";;AACY,MAAC,OAAO,GAAG,CAAC,KAAK,EAAE,EAAE,eAAe,EAAE,oBAAoB,EAAE,eAAe,EAAE,KAAK;AAC9F,EAAE,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,CAAC,CAAC;AAC3B,EAAE,MAAM,aAAa,GAAG,QAAQ,CAAC,MAAM;AACvC,IAAI,MAAM,MAAM,GAAG,EAAE,CAAC;AACtB,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC;AAC1C,IAAI,MAAM,gBAAgB,GAAG,KAAK,CAAC,eAAe,CAAC,CAAC;AACpD,IAAI,IAAI,CAAC,gBAAgB,IAAI,CAAC,gBAAgB,CAAC,MAAM;AACrD,MAAM,OAAO,KAAK,CAAC;AACnB,IAAI,MAAM,KAAK,GAAG,EAAE,CAAC;AACrB,IAAI,MAAM,OAAO,mBAAmB,IAAI,GAAG,EAAE,CAAC;AAC9C,IAAI,gBAAgB,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;AACpD,IAAI,IAAI,IAAI,GAAG,KAAK,CAAC,KAAK,EAAE,CAAC;AAC7B,IAAI,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC/C,IAAI,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,EAAE;AAC5B,MAAM,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,CAAC;AAChC,MAAM,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACvB,MAAM,IAAI,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;AACjG,QAAQ,IAAI,GAAG,CAAC,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,IAAI,CAAC,CAAC;AAC3C,QAAQ,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,GAAG,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;AAC3F,OAAO;AACP,KAAK;AACL,IAAI,QAAQ,CAAC,KAAK,GAAG,MAAM,CAAC;AAC5B,IAAI,OAAO,KAAK,CAAC;AACjB,GAAG,CAAC,CAAC;AACL,EAAE,MAAM,IAAI,GAAG,QAAQ,CAAC,MAAM;AAC9B,IAAI,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE,GAAG,KAAK,CAAC;AACnD,IAAI,OAAO,eAAe,GAAG,KAAK,CAAC,aAAa,CAAC,GAAG,KAAK,CAAC;AAC1D,GAAG,CAAC,CAAC;AACL,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK;AAC7B,IAAI,IAAI,GAAG,KAAK,IAAI,EAAE;AACtB,MAAM,oBAAoB,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC;AACtC,MAAM,eAAe,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;AAC/B,KAAK;AACL,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,IAAI;AACR,IAAI,QAAQ;AACZ,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
import type { Ref } from 'vue';
|
|
2
|
+
import type { TableV2Props } from '../table';
|
|
3
|
+
import type { RowExpandParams, RowHeightChangedParams, RowHoverParams } from '../row';
|
|
4
|
+
import type { FixedDirection, KeyType } from '../types';
|
|
5
|
+
import type { onRowRenderedParams } from '../grid';
|
|
6
|
+
import type { TableGridInstance } from '../table-grid';
|
|
7
|
+
declare type GridInstanceRef = Ref<TableGridInstance | undefined>;
|
|
8
|
+
declare type UseRowProps = {
|
|
9
|
+
mainTableRef: GridInstanceRef;
|
|
10
|
+
leftTableRef: GridInstanceRef;
|
|
11
|
+
rightTableRef: GridInstanceRef;
|
|
12
|
+
onMaybeEndReached: () => void;
|
|
13
|
+
};
|
|
14
|
+
export declare const useRow: (props: TableV2Props, { mainTableRef, leftTableRef, rightTableRef, onMaybeEndReached }: UseRowProps) => {
|
|
15
|
+
hoveringRowKey: import("vue").ShallowRef<KeyType | null>;
|
|
16
|
+
expandedRowKeys: Ref<KeyType[]>;
|
|
17
|
+
lastRenderedRowIndex: Ref<number>;
|
|
18
|
+
isDynamic: import("vue").ComputedRef<boolean>;
|
|
19
|
+
isResetting: import("vue").ShallowRef<boolean>;
|
|
20
|
+
rowHeights: Ref<{
|
|
21
|
+
[x: string]: number;
|
|
22
|
+
[x: number]: number;
|
|
23
|
+
[x: symbol]: number;
|
|
24
|
+
}>;
|
|
25
|
+
resetAfterIndex: (index: number, forceUpdate?: boolean) => void;
|
|
26
|
+
onRowExpanded: ({ expanded, rowData, rowIndex, rowKey, }: RowExpandParams<any>) => void;
|
|
27
|
+
onRowHovered: ({ hovered, rowKey }: RowHoverParams<any>) => void;
|
|
28
|
+
onRowsRendered: (params: onRowRenderedParams) => void;
|
|
29
|
+
onRowHeightChange: ({ rowKey, height, rowIndex }: RowHeightChangedParams, fixedDir: FixedDirection) => void;
|
|
30
|
+
};
|
|
31
|
+
export declare type UseRowReturn = ReturnType<typeof useRow>;
|
|
32
|
+
export {};
|
|
@@ -0,0 +1,123 @@
|
|
|
1
|
+
import { getCurrentInstance, shallowRef, ref, computed, unref, watch } from 'vue';
|
|
2
|
+
import { debounce } from 'lodash-unified';
|
|
3
|
+
import '../../../../utils/index.mjs';
|
|
4
|
+
import { FixedDir } from '../constants.mjs';
|
|
5
|
+
import { isNumber } from '@vueuse/core';
|
|
6
|
+
|
|
7
|
+
const useRow = (props, { mainTableRef, leftTableRef, rightTableRef, onMaybeEndReached }) => {
|
|
8
|
+
const vm = getCurrentInstance();
|
|
9
|
+
const { emit } = vm;
|
|
10
|
+
const isResetting = shallowRef(false);
|
|
11
|
+
const hoveringRowKey = shallowRef(null);
|
|
12
|
+
const expandedRowKeys = ref(props.defaultExpandedRowKeys || []);
|
|
13
|
+
const lastRenderedRowIndex = ref(-1);
|
|
14
|
+
const resetIndex = shallowRef(null);
|
|
15
|
+
const rowHeights = ref({});
|
|
16
|
+
const pendingRowHeights = ref({});
|
|
17
|
+
const leftTableHeights = shallowRef({});
|
|
18
|
+
const mainTableHeights = shallowRef({});
|
|
19
|
+
const rightTableHeights = shallowRef({});
|
|
20
|
+
const isDynamic = computed(() => isNumber(props.estimatedRowHeight));
|
|
21
|
+
function onRowsRendered(params) {
|
|
22
|
+
var _a;
|
|
23
|
+
(_a = props.onRowRendered) == null ? void 0 : _a.call(props, params);
|
|
24
|
+
if (params.rowCacheEnd > unref(lastRenderedRowIndex)) {
|
|
25
|
+
lastRenderedRowIndex.value = params.rowCacheEnd;
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
function onRowHovered({ hovered, rowKey }) {
|
|
29
|
+
hoveringRowKey.value = hovered ? rowKey : null;
|
|
30
|
+
}
|
|
31
|
+
function onRowExpanded({
|
|
32
|
+
expanded,
|
|
33
|
+
rowData,
|
|
34
|
+
rowIndex,
|
|
35
|
+
rowKey
|
|
36
|
+
}) {
|
|
37
|
+
var _a, _b;
|
|
38
|
+
const _expandedRowKeys = [...unref(expandedRowKeys)];
|
|
39
|
+
const currentKeyIndex = _expandedRowKeys.indexOf(rowKey);
|
|
40
|
+
if (expanded) {
|
|
41
|
+
if (currentKeyIndex === -1)
|
|
42
|
+
_expandedRowKeys.push(rowKey);
|
|
43
|
+
} else {
|
|
44
|
+
if (currentKeyIndex > -1)
|
|
45
|
+
_expandedRowKeys.splice(currentKeyIndex, 1);
|
|
46
|
+
}
|
|
47
|
+
expandedRowKeys.value = _expandedRowKeys;
|
|
48
|
+
emit("update:expandedRowKeys", _expandedRowKeys);
|
|
49
|
+
(_a = props.onRowExpand) == null ? void 0 : _a.call(props, {
|
|
50
|
+
expanded,
|
|
51
|
+
rowData,
|
|
52
|
+
rowIndex,
|
|
53
|
+
rowKey
|
|
54
|
+
});
|
|
55
|
+
(_b = props.onExpandedRowsChange) == null ? void 0 : _b.call(props, _expandedRowKeys);
|
|
56
|
+
}
|
|
57
|
+
const flushingRowHeights = debounce(() => {
|
|
58
|
+
var _a, _b, _c, _d;
|
|
59
|
+
isResetting.value = true;
|
|
60
|
+
rowHeights.value = { ...unref(rowHeights), ...unref(pendingRowHeights) };
|
|
61
|
+
resetAfterIndex(unref(resetIndex), false);
|
|
62
|
+
pendingRowHeights.value = {};
|
|
63
|
+
resetIndex.value = null;
|
|
64
|
+
(_a = mainTableRef.value) == null ? void 0 : _a.forceUpdate();
|
|
65
|
+
(_b = leftTableRef.value) == null ? void 0 : _b.forceUpdate();
|
|
66
|
+
(_c = rightTableRef.value) == null ? void 0 : _c.forceUpdate();
|
|
67
|
+
(_d = vm.proxy) == null ? void 0 : _d.$forceUpdate();
|
|
68
|
+
isResetting.value = false;
|
|
69
|
+
}, 0);
|
|
70
|
+
function resetAfterIndex(index, forceUpdate = false) {
|
|
71
|
+
if (!unref(isDynamic))
|
|
72
|
+
return;
|
|
73
|
+
[mainTableRef, leftTableRef, rightTableRef].forEach((tableRef) => {
|
|
74
|
+
const table = unref(tableRef);
|
|
75
|
+
if (table)
|
|
76
|
+
table.resetAfterRowIndex(index, forceUpdate);
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
function resetHeights(rowKey, height, rowIdx) {
|
|
80
|
+
const resetIdx = unref(resetIndex);
|
|
81
|
+
if (resetIdx === null) {
|
|
82
|
+
resetIndex.value = rowIdx;
|
|
83
|
+
} else {
|
|
84
|
+
if (resetIdx > rowIdx) {
|
|
85
|
+
resetIndex.value = rowIdx;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
pendingRowHeights.value[rowKey] = height;
|
|
89
|
+
}
|
|
90
|
+
function onRowHeightChange({ rowKey, height, rowIndex }, fixedDir) {
|
|
91
|
+
if (!fixedDir) {
|
|
92
|
+
mainTableHeights.value[rowKey] = height;
|
|
93
|
+
} else {
|
|
94
|
+
if (fixedDir === FixedDir.RIGHT) {
|
|
95
|
+
rightTableHeights.value[rowKey] = height;
|
|
96
|
+
} else {
|
|
97
|
+
leftTableHeights.value[rowKey] = height;
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
const maximumHeight = Math.max(...[leftTableHeights, rightTableHeights, mainTableHeights].map((records) => records.value[rowKey] || 0));
|
|
101
|
+
if (unref(rowHeights)[rowKey] !== maximumHeight) {
|
|
102
|
+
resetHeights(rowKey, maximumHeight, rowIndex);
|
|
103
|
+
flushingRowHeights();
|
|
104
|
+
}
|
|
105
|
+
}
|
|
106
|
+
watch(lastRenderedRowIndex, () => onMaybeEndReached());
|
|
107
|
+
return {
|
|
108
|
+
hoveringRowKey,
|
|
109
|
+
expandedRowKeys,
|
|
110
|
+
lastRenderedRowIndex,
|
|
111
|
+
isDynamic,
|
|
112
|
+
isResetting,
|
|
113
|
+
rowHeights,
|
|
114
|
+
resetAfterIndex,
|
|
115
|
+
onRowExpanded,
|
|
116
|
+
onRowHovered,
|
|
117
|
+
onRowsRendered,
|
|
118
|
+
onRowHeightChange
|
|
119
|
+
};
|
|
120
|
+
};
|
|
121
|
+
|
|
122
|
+
export { useRow };
|
|
123
|
+
//# sourceMappingURL=use-row.mjs.map
|