@element-plus/nightly 0.0.20220506 → 0.0.20220507
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 +509 -398
- package/dist/index.full.min.js +17 -17
- package/dist/index.full.min.js.map +1 -1
- package/dist/index.full.min.mjs +17 -17
- package/dist/index.full.min.mjs.map +1 -1
- package/dist/index.full.mjs +508 -399
- 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/component2.mjs +2 -1
- package/es/component2.mjs.map +1 -1
- package/es/components/calendar/index.mjs +1 -1
- package/es/components/calendar/index2.mjs +2 -2
- package/es/components/calendar/src/calendar.mjs +1 -1
- package/es/components/calendar/src/calendar3.mjs +15 -237
- package/es/components/calendar/src/calendar3.mjs.map +1 -1
- package/es/components/calendar/src/calendar4.mjs +237 -15
- package/es/components/calendar/src/calendar4.mjs.map +1 -1
- package/es/components/calendar/src/date-table.mjs +1 -1
- package/es/components/calendar/src/date-table3.mjs +31 -153
- package/es/components/calendar/src/date-table3.mjs.map +1 -1
- package/es/components/calendar/src/date-table4.mjs +153 -31
- package/es/components/calendar/src/date-table4.mjs.map +1 -1
- package/es/components/image/index.mjs +1 -1
- package/es/components/image/index2.mjs +2 -2
- package/es/components/image/src/image.mjs +1 -1
- package/es/components/image/src/image3.mjs +52 -220
- package/es/components/image/src/image3.mjs.map +1 -1
- package/es/components/image/src/image4.mjs +220 -52
- package/es/components/image/src/image4.mjs.map +1 -1
- package/es/components/index.mjs +4 -3
- package/es/components/index.mjs.map +1 -1
- package/es/components/index2.mjs +1 -1
- package/es/components/popconfirm/index.d.ts +1182 -5
- package/es/components/popconfirm/src/popconfirm.vue.d.ts +1182 -5
- package/es/components/popconfirm/src/popconfirm4.mjs +74 -85
- package/es/components/popconfirm/src/popconfirm4.mjs.map +1 -1
- package/es/components/table-v2/index.d.ts +33 -6
- package/es/components/table-v2/index.mjs +2 -1
- package/es/components/table-v2/index.mjs.map +1 -1
- package/es/components/table-v2/index2.mjs +4 -1
- package/es/components/table-v2/index2.mjs.map +1 -1
- package/es/components/table-v2/src/auto-resizer.d.ts +12 -0
- package/es/components/table-v2/src/auto-resizer.mjs +2 -0
- package/es/components/table-v2/src/auto-resizer.mjs.map +1 -0
- package/es/components/table-v2/src/auto-resizer2.mjs +13 -0
- package/es/components/table-v2/src/auto-resizer2.mjs.map +1 -0
- package/es/components/table-v2/src/components/auto-resizer.d.ts +23 -0
- package/es/components/table-v2/src/components/auto-resizer.mjs +39 -0
- package/es/components/table-v2/src/components/auto-resizer.mjs.map +1 -0
- package/es/components/table-v2/src/components/row.d.ts +9 -9
- package/es/components/table-v2/src/components/row.mjs.map +1 -1
- package/es/components/table-v2/src/composables/index.d.ts +1 -0
- package/es/components/table-v2/src/composables/index.mjs +1 -0
- package/es/components/table-v2/src/composables/index.mjs.map +1 -1
- package/es/components/table-v2/src/composables/index2.mjs +1 -0
- package/es/components/table-v2/src/composables/index2.mjs.map +1 -1
- package/es/components/table-v2/src/composables/use-auto-resize.d.ts +7 -0
- package/es/components/table-v2/src/composables/use-auto-resize.mjs +2 -0
- package/es/components/table-v2/src/composables/use-auto-resize.mjs.map +1 -0
- package/es/components/table-v2/src/composables/use-auto-resize2.mjs +39 -0
- package/es/components/table-v2/src/composables/use-auto-resize2.mjs.map +1 -0
- package/es/components/table-v2/src/composables/use-row.d.ts +2 -2
- package/es/components/table-v2/src/composables/use-row2.mjs.map +1 -1
- package/es/components/table-v2/src/composables/use-scrollbar.d.ts +3 -1
- package/es/components/table-v2/src/composables/use-scrollbar2.mjs +5 -0
- package/es/components/table-v2/src/composables/use-scrollbar2.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 +12 -3
- package/es/components/table-v2/src/renderers/cell.mjs.map +1 -1
- package/es/components/table-v2/src/row.d.ts +18 -18
- package/es/components/table-v2/src/row2.mjs.map +1 -1
- package/es/components/table-v2/src/table-grid.d.ts +7 -1
- package/es/components/table-v2/src/table-grid.mjs +9 -2
- package/es/components/table-v2/src/table-grid.mjs.map +1 -1
- package/es/components/table-v2/src/table-v2.d.ts +36 -7
- package/es/components/table-v2/src/table-v2.mjs +15 -2
- package/es/components/table-v2/src/table-v2.mjs.map +1 -1
- package/es/components/table-v2/src/table.d.ts +9 -5
- package/es/components/table-v2/src/table2.mjs +6 -0
- package/es/components/table-v2/src/table2.mjs.map +1 -1
- package/es/components/table-v2/src/types.d.ts +6 -6
- package/es/components/table-v2/src/use-table.d.ts +3 -2
- package/es/components/table-v2/src/use-table2.mjs +2 -0
- package/es/components/table-v2/src/use-table2.mjs.map +1 -1
- package/es/components/virtual-list/src/hooks/use-grid-wheel2.mjs +4 -0
- package/es/components/virtual-list/src/hooks/use-grid-wheel2.mjs.map +1 -1
- package/es/index.mjs +4 -3
- package/es/index.mjs.map +1 -1
- package/es/version.d.ts +1 -1
- package/es/version2.mjs +1 -1
- package/es/version2.mjs.map +1 -1
- package/lib/component2.js +130 -129
- package/lib/component2.js.map +1 -1
- package/lib/components/calendar/index.js +1 -1
- package/lib/components/calendar/index2.js +2 -2
- package/lib/components/calendar/src/calendar.js +1 -1
- package/lib/components/calendar/src/calendar3.js +16 -241
- package/lib/components/calendar/src/calendar3.js.map +1 -1
- package/lib/components/calendar/src/calendar4.js +241 -16
- package/lib/components/calendar/src/calendar4.js.map +1 -1
- package/lib/components/calendar/src/date-table.js +1 -1
- package/lib/components/calendar/src/date-table3.js +35 -158
- package/lib/components/calendar/src/date-table3.js.map +1 -1
- package/lib/components/calendar/src/date-table4.js +158 -35
- package/lib/components/calendar/src/date-table4.js.map +1 -1
- package/lib/components/image/index.js +1 -1
- package/lib/components/image/index2.js +2 -2
- package/lib/components/image/src/image.js +1 -1
- package/lib/components/image/src/image3.js +53 -220
- package/lib/components/image/src/image3.js.map +1 -1
- package/lib/components/image/src/image4.js +220 -53
- package/lib/components/image/src/image4.js.map +1 -1
- package/lib/components/index.js +5 -2
- package/lib/components/index.js.map +1 -1
- package/lib/components/index2.js +1 -0
- package/lib/components/index2.js.map +1 -1
- package/lib/components/popconfirm/index.d.ts +1182 -5
- package/lib/components/popconfirm/src/popconfirm.vue.d.ts +1182 -5
- package/lib/components/popconfirm/src/popconfirm4.js +80 -91
- package/lib/components/popconfirm/src/popconfirm4.js.map +1 -1
- package/lib/components/table-v2/index.d.ts +33 -6
- package/lib/components/table-v2/index.js +3 -0
- package/lib/components/table-v2/index.js.map +1 -1
- package/lib/components/table-v2/index2.js +5 -0
- package/lib/components/table-v2/index2.js.map +1 -1
- package/lib/components/table-v2/src/auto-resizer.d.ts +12 -0
- package/lib/components/table-v2/src/auto-resizer.js +10 -0
- package/lib/components/table-v2/src/auto-resizer.js.map +1 -0
- package/lib/components/table-v2/src/auto-resizer2.js +17 -0
- package/lib/components/table-v2/src/auto-resizer2.js.map +1 -0
- package/lib/components/table-v2/src/components/auto-resizer.d.ts +23 -0
- package/lib/components/table-v2/src/components/auto-resizer.js +43 -0
- package/lib/components/table-v2/src/components/auto-resizer.js.map +1 -0
- package/lib/components/table-v2/src/components/row.d.ts +9 -9
- package/lib/components/table-v2/src/components/row.js.map +1 -1
- package/lib/components/table-v2/src/composables/index.d.ts +1 -0
- package/lib/components/table-v2/src/composables/index.js +2 -0
- package/lib/components/table-v2/src/composables/index.js.map +1 -1
- package/lib/components/table-v2/src/composables/index2.js +2 -0
- package/lib/components/table-v2/src/composables/index2.js.map +1 -1
- package/lib/components/table-v2/src/composables/use-auto-resize.d.ts +7 -0
- package/lib/components/table-v2/src/composables/use-auto-resize.js +10 -0
- package/lib/components/table-v2/src/composables/use-auto-resize.js.map +1 -0
- package/lib/components/table-v2/src/composables/use-auto-resize2.js +43 -0
- package/lib/components/table-v2/src/composables/use-auto-resize2.js.map +1 -0
- package/lib/components/table-v2/src/composables/use-row.d.ts +2 -2
- package/lib/components/table-v2/src/composables/use-row2.js.map +1 -1
- package/lib/components/table-v2/src/composables/use-scrollbar.d.ts +3 -1
- package/lib/components/table-v2/src/composables/use-scrollbar2.js +5 -0
- package/lib/components/table-v2/src/composables/use-scrollbar2.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 +11 -2
- package/lib/components/table-v2/src/renderers/cell.js.map +1 -1
- package/lib/components/table-v2/src/row.d.ts +18 -18
- package/lib/components/table-v2/src/row2.js.map +1 -1
- package/lib/components/table-v2/src/table-grid.d.ts +7 -1
- package/lib/components/table-v2/src/table-grid.js +9 -2
- package/lib/components/table-v2/src/table-grid.js.map +1 -1
- package/lib/components/table-v2/src/table-v2.d.ts +36 -7
- package/lib/components/table-v2/src/table-v2.js +15 -2
- package/lib/components/table-v2/src/table-v2.js.map +1 -1
- package/lib/components/table-v2/src/table.d.ts +9 -5
- package/lib/components/table-v2/src/table2.js +6 -0
- package/lib/components/table-v2/src/table2.js.map +1 -1
- package/lib/components/table-v2/src/types.d.ts +6 -6
- package/lib/components/table-v2/src/use-table.d.ts +3 -2
- package/lib/components/table-v2/src/use-table2.js +2 -0
- package/lib/components/table-v2/src/use-table2.js.map +1 -1
- package/lib/components/virtual-list/src/hooks/use-grid-wheel2.js +4 -0
- package/lib/components/virtual-list/src/hooks/use-grid-wheel2.js.map +1 -1
- package/lib/index.js +5 -2
- package/lib/index.js.map +1 -1
- package/lib/version.d.ts +1 -1
- package/lib/version2.js +1 -1
- package/lib/version2.js.map +1 -1
- package/package.json +2 -2
- package/tags.json +1 -1
- package/theme-chalk/el-button.css +1 -1
- package/theme-chalk/el-date-picker.css +1 -1
- package/theme-chalk/el-table-v2.css +1 -1
- package/theme-chalk/el-time-picker.css +1 -1
- package/theme-chalk/el-time-select.css +1 -1
- package/theme-chalk/index.css +1 -1
- package/theme-chalk/src/button.scss +2 -0
- package/theme-chalk/src/date-picker/picker-panel.scss +1 -1
- package/theme-chalk/src/table-v2.scss +5 -0
- package/web-types.json +1 -1
- package/es/components/table-v2/src/column.d.ts +0 -19
- package/es/components/table-v2/src/column.mjs +0 -2
- package/es/components/table-v2/src/column.mjs.map +0 -1
- package/es/components/table-v2/src/column2.mjs +0 -41
- package/es/components/table-v2/src/column2.mjs.map +0 -1
- package/lib/components/table-v2/src/column.d.ts +0 -19
- package/lib/components/table-v2/src/column.js +0 -10
- package/lib/components/table-v2/src/column.js.map +0 -1
- package/lib/components/table-v2/src/column2.js +0 -45
- package/lib/components/table-v2/src/column2.js.map +0 -1
|
@@ -3,4 +3,5 @@ export { useScrollbar } from './use-scrollbar2.mjs';
|
|
|
3
3
|
export { useRow } from './use-row2.mjs';
|
|
4
4
|
export { useData } from './use-data2.mjs';
|
|
5
5
|
export { useStyles } from './use-styles2.mjs';
|
|
6
|
+
export { useAutoResize } from './use-auto-resize2.mjs';
|
|
6
7
|
//# sourceMappingURL=index2.mjs.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"index2.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":";;;;;"}
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { AutoResizerProps } from '../auto-resizer';
|
|
2
|
+
declare const useAutoResize: (props: AutoResizerProps) => {
|
|
3
|
+
sizer: import("vue").Ref<HTMLElement | undefined>;
|
|
4
|
+
width: import("vue").Ref<number>;
|
|
5
|
+
height: import("vue").Ref<number>;
|
|
6
|
+
};
|
|
7
|
+
export { useAutoResize };
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-auto-resize.mjs","sources":[],"sourcesContent":[],"names":[],"mappings":""}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { ref, onMounted, onBeforeUnmount, watch } from 'vue';
|
|
2
|
+
import { useResizeObserver } from '@vueuse/core';
|
|
3
|
+
|
|
4
|
+
const useAutoResize = (props) => {
|
|
5
|
+
const sizer = ref();
|
|
6
|
+
const width$ = ref(0);
|
|
7
|
+
const height$ = ref(0);
|
|
8
|
+
let resizerStopper;
|
|
9
|
+
onMounted(() => {
|
|
10
|
+
resizerStopper = useResizeObserver(sizer, ([entry]) => {
|
|
11
|
+
const { width, height } = entry.contentRect;
|
|
12
|
+
const { paddingLeft, paddingRight, paddingTop, paddingBottom } = getComputedStyle(entry.target);
|
|
13
|
+
const left = Number.parseInt(paddingLeft) || 0;
|
|
14
|
+
const right = Number.parseInt(paddingRight) || 0;
|
|
15
|
+
const top = Number.parseInt(paddingTop) || 0;
|
|
16
|
+
const bottom = Number.parseInt(paddingBottom) || 0;
|
|
17
|
+
width$.value = width - left - right;
|
|
18
|
+
height$.value = height - top - bottom;
|
|
19
|
+
}).stop;
|
|
20
|
+
});
|
|
21
|
+
onBeforeUnmount(() => {
|
|
22
|
+
resizerStopper == null ? void 0 : resizerStopper();
|
|
23
|
+
});
|
|
24
|
+
watch([width$, height$], ([width, height]) => {
|
|
25
|
+
var _a;
|
|
26
|
+
(_a = props.onResize) == null ? void 0 : _a.call(props, {
|
|
27
|
+
width,
|
|
28
|
+
height
|
|
29
|
+
});
|
|
30
|
+
});
|
|
31
|
+
return {
|
|
32
|
+
sizer,
|
|
33
|
+
width: width$,
|
|
34
|
+
height: height$
|
|
35
|
+
};
|
|
36
|
+
};
|
|
37
|
+
|
|
38
|
+
export { useAutoResize };
|
|
39
|
+
//# sourceMappingURL=use-auto-resize2.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"use-auto-resize2.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-auto-resize.ts"],"sourcesContent":["import { onBeforeUnmount, onMounted, ref, watch } from 'vue'\nimport { useResizeObserver } from '@vueuse/core'\n\nimport type { AutoResizerProps } from '../auto-resizer'\n\nconst useAutoResize = (props: AutoResizerProps) => {\n const sizer = ref<HTMLElement>()\n const width$ = ref(0)\n const height$ = ref(0)\n\n let resizerStopper: ReturnType<typeof useResizeObserver>['stop']\n onMounted(() => {\n resizerStopper = useResizeObserver(sizer, ([entry]) => {\n const { width, height } = entry.contentRect\n const { paddingLeft, paddingRight, paddingTop, paddingBottom } =\n getComputedStyle(entry.target)\n\n const left = Number.parseInt(paddingLeft) || 0\n const right = Number.parseInt(paddingRight) || 0\n const top = Number.parseInt(paddingTop) || 0\n const bottom = Number.parseInt(paddingBottom) || 0\n\n width$.value = width - left - right\n height$.value = height - top - bottom\n }).stop\n })\n\n onBeforeUnmount(() => {\n resizerStopper?.()\n })\n\n watch([width$, height$], ([width, height]) => {\n props.onResize?.({\n width,\n height,\n })\n })\n\n return {\n sizer,\n width: width$,\n height: height$,\n }\n}\n\nexport { useAutoResize }\n"],"names":[],"mappings":";;;AAEK,MAAC,aAAa,GAAG,CAAC,KAAK,KAAK;AACjC,EAAE,MAAM,KAAK,GAAG,GAAG,EAAE,CAAC;AACtB,EAAE,MAAM,MAAM,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACxB,EAAE,MAAM,OAAO,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC;AACzB,EAAE,IAAI,cAAc,CAAC;AACrB,EAAE,SAAS,CAAC,MAAM;AAClB,IAAI,cAAc,GAAG,iBAAiB,CAAC,KAAK,EAAE,CAAC,CAAC,KAAK,CAAC,KAAK;AAC3D,MAAM,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,KAAK,CAAC,WAAW,CAAC;AAClD,MAAM,MAAM,EAAE,WAAW,EAAE,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,GAAG,gBAAgB,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;AACtG,MAAM,MAAM,IAAI,GAAG,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,CAAC;AACrD,MAAM,MAAM,KAAK,GAAG,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;AACvD,MAAM,MAAM,GAAG,GAAG,MAAM,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC;AACnD,MAAM,MAAM,MAAM,GAAG,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC;AACzD,MAAM,MAAM,CAAC,KAAK,GAAG,KAAK,GAAG,IAAI,GAAG,KAAK,CAAC;AAC1C,MAAM,OAAO,CAAC,KAAK,GAAG,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC;AAC5C,KAAK,CAAC,CAAC,IAAI,CAAC;AACZ,GAAG,CAAC,CAAC;AACL,EAAE,eAAe,CAAC,MAAM;AACxB,IAAI,cAAc,IAAI,IAAI,GAAG,KAAK,CAAC,GAAG,cAAc,EAAE,CAAC;AACvD,GAAG,CAAC,CAAC;AACL,EAAE,KAAK,CAAC,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,CAAC,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK;AAChD,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE;AAC5D,MAAM,KAAK;AACX,MAAM,MAAM;AACZ,KAAK,CAAC,CAAC;AACP,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,KAAK;AACT,IAAI,KAAK,EAAE,MAAM;AACjB,IAAI,MAAM,EAAE,OAAO;AACnB,GAAG,CAAC;AACJ;;;;"}
|
|
@@ -23,8 +23,8 @@ export declare const useRow: (props: TableV2Props, { mainTableRef, leftTableRef,
|
|
|
23
23
|
[x: symbol]: number;
|
|
24
24
|
}>;
|
|
25
25
|
resetAfterIndex: (index: number, forceUpdate?: boolean) => void;
|
|
26
|
-
onRowExpanded: ({ expanded, rowData, rowIndex, rowKey, }: RowExpandParams
|
|
27
|
-
onRowHovered: ({ hovered, rowKey }: RowHoverParams
|
|
26
|
+
onRowExpanded: ({ expanded, rowData, rowIndex, rowKey, }: RowExpandParams) => void;
|
|
27
|
+
onRowHovered: ({ hovered, rowKey }: RowHoverParams) => void;
|
|
28
28
|
onRowsRendered: (params: onRowRenderedParams) => void;
|
|
29
29
|
onRowHeightChange: ({ rowKey, height, rowIndex }: RowHeightChangedParams, fixedDir: FixedDirection) => void;
|
|
30
30
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-row2.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-row.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n ref,\n shallowRef,\n unref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { isNumber } from '@element-plus/utils'\nimport { FixedDir } from '../constants'\n\nimport type { Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type {\n RowExpandParams,\n RowHeightChangedParams,\n RowHoverParams,\n} from '../row'\nimport type { FixedDirection, KeyType } from '../types'\nimport type { onRowRenderedParams } from '../grid'\nimport type { TableGridInstance } from '../table-grid'\n\ntype Heights = Record<KeyType, number>\ntype GridInstanceRef = Ref<TableGridInstance | undefined>\n\ntype UseRowProps = {\n mainTableRef: GridInstanceRef\n leftTableRef: GridInstanceRef\n rightTableRef: GridInstanceRef\n\n onMaybeEndReached: () => void\n}\n\nexport const useRow = (\n props: TableV2Props,\n { mainTableRef, leftTableRef, rightTableRef, onMaybeEndReached }: UseRowProps\n) => {\n const vm = getCurrentInstance()!\n const { emit } = vm\n const isResetting = shallowRef(false)\n const hoveringRowKey = shallowRef<KeyType | null>(null)\n const expandedRowKeys = ref<KeyType[]>(props.defaultExpandedRowKeys || [])\n const lastRenderedRowIndex = ref(-1)\n const resetIndex = shallowRef<number | null>(null)\n const rowHeights = ref<Heights>({})\n const pendingRowHeights = ref<Heights>({})\n const leftTableHeights = shallowRef<Heights>({})\n const mainTableHeights = shallowRef<Heights>({})\n const rightTableHeights = shallowRef<Heights>({})\n const isDynamic = computed(() => isNumber(props.estimatedRowHeight))\n\n function onRowsRendered(params: onRowRenderedParams) {\n props.onRowsRendered?.(params)\n\n if (params.rowCacheEnd > unref(lastRenderedRowIndex)) {\n lastRenderedRowIndex.value = params.rowCacheEnd\n }\n }\n\n function onRowHovered({ hovered, rowKey }: RowHoverParams
|
|
1
|
+
{"version":3,"file":"use-row2.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-row.ts"],"sourcesContent":["import {\n computed,\n getCurrentInstance,\n ref,\n shallowRef,\n unref,\n watch,\n} from 'vue'\nimport { debounce } from 'lodash-unified'\nimport { isNumber } from '@element-plus/utils'\nimport { FixedDir } from '../constants'\n\nimport type { Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type {\n RowExpandParams,\n RowHeightChangedParams,\n RowHoverParams,\n} from '../row'\nimport type { FixedDirection, KeyType } from '../types'\nimport type { onRowRenderedParams } from '../grid'\nimport type { TableGridInstance } from '../table-grid'\n\ntype Heights = Record<KeyType, number>\ntype GridInstanceRef = Ref<TableGridInstance | undefined>\n\ntype UseRowProps = {\n mainTableRef: GridInstanceRef\n leftTableRef: GridInstanceRef\n rightTableRef: GridInstanceRef\n\n onMaybeEndReached: () => void\n}\n\nexport const useRow = (\n props: TableV2Props,\n { mainTableRef, leftTableRef, rightTableRef, onMaybeEndReached }: UseRowProps\n) => {\n const vm = getCurrentInstance()!\n const { emit } = vm\n const isResetting = shallowRef(false)\n const hoveringRowKey = shallowRef<KeyType | null>(null)\n const expandedRowKeys = ref<KeyType[]>(props.defaultExpandedRowKeys || [])\n const lastRenderedRowIndex = ref(-1)\n const resetIndex = shallowRef<number | null>(null)\n const rowHeights = ref<Heights>({})\n const pendingRowHeights = ref<Heights>({})\n const leftTableHeights = shallowRef<Heights>({})\n const mainTableHeights = shallowRef<Heights>({})\n const rightTableHeights = shallowRef<Heights>({})\n const isDynamic = computed(() => isNumber(props.estimatedRowHeight))\n\n function onRowsRendered(params: onRowRenderedParams) {\n props.onRowsRendered?.(params)\n\n if (params.rowCacheEnd > unref(lastRenderedRowIndex)) {\n lastRenderedRowIndex.value = params.rowCacheEnd\n }\n }\n\n function onRowHovered({ hovered, rowKey }: RowHoverParams) {\n hoveringRowKey.value = hovered ? rowKey : null\n }\n\n function onRowExpanded({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n }: RowExpandParams) {\n const _expandedRowKeys = [...unref(expandedRowKeys)]\n const currentKeyIndex = _expandedRowKeys.indexOf(rowKey)\n if (expanded) {\n if (currentKeyIndex === -1) _expandedRowKeys.push(rowKey)\n } else {\n if (currentKeyIndex > -1) _expandedRowKeys.splice(currentKeyIndex, 1)\n }\n expandedRowKeys.value = _expandedRowKeys\n\n emit('update:expandedRowKeys', _expandedRowKeys)\n props.onRowExpand?.({\n expanded,\n rowData,\n rowIndex,\n rowKey,\n })\n // If this is not controlled, then use this to notify changes\n props.onExpandedRowsChange?.(_expandedRowKeys)\n }\n\n const flushingRowHeights = debounce(() => {\n isResetting.value = true\n rowHeights.value = { ...unref(rowHeights), ...unref(pendingRowHeights) }\n resetAfterIndex(unref(resetIndex)!, false)\n pendingRowHeights.value = {}\n // force update\n resetIndex.value = null\n mainTableRef.value?.forceUpdate()\n leftTableRef.value?.forceUpdate()\n rightTableRef.value?.forceUpdate()\n vm.proxy?.$forceUpdate()\n isResetting.value = false\n }, 0)\n\n function resetAfterIndex(index: number, forceUpdate = false) {\n if (!unref(isDynamic)) return\n ;[mainTableRef, leftTableRef, rightTableRef].forEach((tableRef) => {\n const table = unref(tableRef)\n if (table) table.resetAfterRowIndex(index, forceUpdate)\n })\n }\n\n function resetHeights(rowKey: KeyType, height: number, rowIdx: number) {\n const resetIdx = unref(resetIndex)\n if (resetIdx === null) {\n resetIndex.value = rowIdx\n } else {\n if (resetIdx > rowIdx) {\n resetIndex.value = rowIdx\n }\n }\n\n pendingRowHeights.value[rowKey] = height\n }\n\n function onRowHeightChange(\n { rowKey, height, rowIndex }: RowHeightChangedParams,\n fixedDir: FixedDirection\n ) {\n if (!fixedDir) {\n mainTableHeights.value[rowKey] = height\n } else {\n if (fixedDir === FixedDir.RIGHT) {\n rightTableHeights.value[rowKey] = height\n } else {\n leftTableHeights.value[rowKey] = height\n }\n }\n\n const maximumHeight = Math.max(\n ...[leftTableHeights, rightTableHeights, mainTableHeights].map(\n (records) => records.value[rowKey] || 0\n )\n )\n\n if (unref(rowHeights)[rowKey] !== maximumHeight) {\n resetHeights(rowKey, maximumHeight, rowIndex)\n flushingRowHeights()\n }\n }\n // when rendered row changes, maybe reaching the bottom\n watch(lastRenderedRowIndex, () => onMaybeEndReached())\n\n return {\n hoveringRowKey,\n expandedRowKeys,\n lastRenderedRowIndex,\n isDynamic,\n isResetting,\n rowHeights,\n\n resetAfterIndex,\n onRowExpanded,\n onRowHovered,\n onRowsRendered,\n onRowHeightChange,\n }\n}\n\nexport type UseRowReturn = ReturnType<typeof useRow>\n"],"names":[],"mappings":"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"}
|
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { Ref } from 'vue';
|
|
2
|
+
import type { Alignment as ScrollStrategy } from 'element-plus/es/components/virtual-list';
|
|
2
3
|
import type { TableV2Props } from '../table';
|
|
3
4
|
import type { TableGridInstance } from '../table-grid';
|
|
4
5
|
export declare type ScrollPos = {
|
|
@@ -12,6 +13,7 @@ declare type UseScrollBarProps = {
|
|
|
12
13
|
rightTableRef: GridInstanceRef;
|
|
13
14
|
onMaybeEndReached: () => void;
|
|
14
15
|
};
|
|
16
|
+
export type { ScrollStrategy };
|
|
15
17
|
export declare const useScrollbar: (props: TableV2Props, { mainTableRef, leftTableRef, rightTableRef, onMaybeEndReached, }: UseScrollBarProps) => {
|
|
16
18
|
scrollPos: Ref<{
|
|
17
19
|
scrollLeft: number;
|
|
@@ -20,7 +22,7 @@ export declare const useScrollbar: (props: TableV2Props, { mainTableRef, leftTab
|
|
|
20
22
|
scrollTo: (params: ScrollPos) => void;
|
|
21
23
|
scrollToLeft: (scrollLeft: number) => void;
|
|
22
24
|
scrollToTop: (scrollTop: number) => void;
|
|
25
|
+
scrollToRow: (row: number, strategy?: ScrollStrategy) => void;
|
|
23
26
|
onScroll: (params: ScrollPos) => void;
|
|
24
27
|
onVerticalScroll: ({ scrollTop }: ScrollPos) => void;
|
|
25
28
|
};
|
|
26
|
-
export {};
|
|
@@ -37,6 +37,10 @@ const useScrollbar = (props, {
|
|
|
37
37
|
if (scrollTop !== currentScrollTop)
|
|
38
38
|
scrollToTop(scrollTop);
|
|
39
39
|
}
|
|
40
|
+
function scrollToRow(row, strategy = "auto") {
|
|
41
|
+
var _a;
|
|
42
|
+
(_a = mainTableRef.value) == null ? void 0 : _a.scrollToRow(row, strategy);
|
|
43
|
+
}
|
|
40
44
|
watch(() => unref(scrollPos).scrollTop, (cur, prev) => {
|
|
41
45
|
if (cur > prev)
|
|
42
46
|
onMaybeEndReached();
|
|
@@ -46,6 +50,7 @@ const useScrollbar = (props, {
|
|
|
46
50
|
scrollTo,
|
|
47
51
|
scrollToLeft,
|
|
48
52
|
scrollToTop,
|
|
53
|
+
scrollToRow,
|
|
49
54
|
onScroll,
|
|
50
55
|
onVerticalScroll
|
|
51
56
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"use-scrollbar2.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-scrollbar.ts"],"sourcesContent":["import { ref, unref, watch } from 'vue'\n\nimport type { Ref } from 'vue'\nimport type { TableV2Props } from '../table'\nimport type { TableGridInstance } from '../table-grid'\n\nexport type ScrollPos = { scrollLeft: number; scrollTop: number }\ntype GridInstanceRef = Ref<TableGridInstance | undefined>\n\ntype UseScrollBarProps = {\n mainTableRef: GridInstanceRef\n leftTableRef: GridInstanceRef\n rightTableRef: GridInstanceRef\n\n onMaybeEndReached: () => void\n}\n\nexport const useScrollbar = (\n props: TableV2Props,\n {\n mainTableRef,\n leftTableRef,\n rightTableRef,\n onMaybeEndReached,\n }: UseScrollBarProps\n) => {\n const scrollPos = ref<ScrollPos>({ scrollLeft: 0, scrollTop: 0 })\n\n function doScroll(params: ScrollPos) {\n const { scrollTop } = params\n\n mainTableRef.value?.scrollTo(params)\n leftTableRef.value?.scrollToTop(scrollTop)\n rightTableRef.value?.scrollToTop(scrollTop)\n }\n\n // methods\n function scrollTo(params: ScrollPos) {\n scrollPos.value = params\n\n doScroll(params)\n }\n\n function scrollToTop(scrollTop: number) {\n scrollPos.value.scrollTop = scrollTop\n\n doScroll(unref(scrollPos))\n }\n\n function scrollToLeft(scrollLeft: number) {\n scrollPos.value.scrollLeft = scrollLeft\n\n mainTableRef.value?.scrollTo?.(unref(scrollPos))\n }\n\n function onScroll(params: ScrollPos) {\n scrollTo(params)\n props.onScroll?.(params)\n }\n\n function onVerticalScroll({ scrollTop }: ScrollPos) {\n const { scrollTop: currentScrollTop } = unref(scrollPos)\n if (scrollTop !== currentScrollTop) scrollToTop(scrollTop)\n }\n\n // When scrollTop changes, maybe reaching the bottom\n watch(\n () => unref(scrollPos).scrollTop,\n (cur, prev) => {\n if (cur > prev) onMaybeEndReached()\n }\n )\n\n return {\n scrollPos,\n\n scrollTo,\n scrollToLeft,\n scrollToTop,\n onScroll,\n onVerticalScroll,\n }\n}\n"],"names":[],"mappings":";;AACY,MAAC,YAAY,GAAG,CAAC,KAAK,EAAE;AACpC,EAAE,YAAY;AACd,EAAE,YAAY;AACd,EAAE,aAAa;AACf,EAAE,iBAAiB;AACnB,CAAC,KAAK;AACN,EAAE,MAAM,SAAS,GAAG,GAAG,CAAC,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,EAAE,CAAC,CAAC;AACzD,EAAE,SAAS,QAAQ,CAAC,MAAM,EAAE;AAC5B,IAAI,IAAI,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;AACnB,IAAI,MAAM,EAAE,SAAS,EAAE,GAAG,MAAM,CAAC;AACjC,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrE,IAAI,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC3E,IAAI,CAAC,EAAE,GAAG,aAAa,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;AAC5E,GAAG;AACH,EAAE,SAAS,QAAQ,CAAC,MAAM,EAAE;AAC5B,IAAI,SAAS,CAAC,KAAK,GAAG,MAAM,CAAC;AAC7B,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,GAAG;AACH,EAAE,SAAS,WAAW,CAAC,SAAS,EAAE;AAClC,IAAI,SAAS,CAAC,KAAK,CAAC,SAAS,GAAG,SAAS,CAAC;AAC1C,IAAI,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AAC/B,GAAG;AACH,EAAE,SAAS,YAAY,CAAC,UAAU,EAAE;AACpC,IAAI,IAAI,EAAE,EAAE,EAAE,CAAC;AACf,IAAI,SAAS,CAAC,KAAK,CAAC,UAAU,GAAG,UAAU,CAAC;AAC5C,IAAI,CAAC,EAAE,GAAG,CAAC,EAAE,GAAG,YAAY,CAAC,KAAK,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;AACrH,GAAG;AACH,EAAE,SAAS,QAAQ,CAAC,MAAM,EAAE;AAC5B,IAAI,IAAI,EAAE,CAAC;AACX,IAAI,QAAQ,CAAC,MAAM,CAAC,CAAC;AACrB,IAAI,CAAC,EAAE,GAAG,KAAK,CAAC,QAAQ,KAAK,IAAI,GAAG,KAAK,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;AACpE,GAAG;AACH,EAAE,SAAS,gBAAgB,CAAC,EAAE,SAAS,EAAE,EAAE;AAC3C,IAAI,MAAM,EAAE,SAAS,EAAE,gBAAgB,EAAE,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;AAC7D,IAAI,IAAI,SAAS,KAAK,gBAAgB;AACtC,MAAM,WAAW,CAAC,SAAS,CAAC,CAAC;AAC7B,GAAG;AACH,EAAE,KAAK,CAAC,MAAM,KAAK,CAAC,SAAS,CAAC,CAAC,SAAS,EAAE,CAAC,GAAG,EAAE,IAAI,KAAK;AACzD,IAAI,IAAI,GAAG,GAAG,IAAI;AAClB,MAAM,iBAAiB,EAAE,CAAC;AAC1B,GAAG,CAAC,CAAC;AACL,EAAE,OAAO;AACT,IAAI,SAAS;AACb,IAAI,QAAQ;AACZ,IAAI,YAAY;AAChB,IAAI,WAAW;AACf,IAAI,QAAQ;AACZ,IAAI,gBAAgB;AACpB,GAAG,CAAC;AACJ;;;;"}
|
|
1
|
+
{"version":3,"file":"use-scrollbar2.mjs","sources":["../../../../../../../packages/components/table-v2/src/composables/use-scrollbar.ts"],"sourcesContent":["import { ref, unref, watch } from 'vue'\n\nimport type { Ref } from 'vue'\nimport type { Alignment as ScrollStrategy } from '@element-plus/components/virtual-list'\nimport type { TableV2Props } from '../table'\nimport type { TableGridInstance } from '../table-grid'\n\nexport type ScrollPos = { scrollLeft: number; scrollTop: number }\ntype GridInstanceRef = Ref<TableGridInstance | undefined>\n\ntype UseScrollBarProps = {\n mainTableRef: GridInstanceRef\n leftTableRef: GridInstanceRef\n rightTableRef: GridInstanceRef\n\n onMaybeEndReached: () => void\n}\n\nexport type { ScrollStrategy }\n\nexport const useScrollbar = (\n props: TableV2Props,\n {\n mainTableRef,\n leftTableRef,\n rightTableRef,\n onMaybeEndReached,\n }: UseScrollBarProps\n) => {\n const scrollPos = ref<ScrollPos>({ scrollLeft: 0, scrollTop: 0 })\n\n function doScroll(params: ScrollPos) {\n const { scrollTop } = params\n\n mainTableRef.value?.scrollTo(params)\n leftTableRef.value?.scrollToTop(scrollTop)\n rightTableRef.value?.scrollToTop(scrollTop)\n }\n\n // methods\n function scrollTo(params: ScrollPos) {\n scrollPos.value = params\n\n doScroll(params)\n }\n\n function scrollToTop(scrollTop: number) {\n scrollPos.value.scrollTop = scrollTop\n\n doScroll(unref(scrollPos))\n }\n\n function scrollToLeft(scrollLeft: number) {\n scrollPos.value.scrollLeft = scrollLeft\n\n mainTableRef.value?.scrollTo?.(unref(scrollPos))\n }\n\n function onScroll(params: ScrollPos) {\n scrollTo(params)\n props.onScroll?.(params)\n }\n\n function onVerticalScroll({ scrollTop }: ScrollPos) {\n const { scrollTop: currentScrollTop } = unref(scrollPos)\n if (scrollTop !== currentScrollTop) scrollToTop(scrollTop)\n }\n\n function scrollToRow(row: number, strategy: ScrollStrategy = 'auto') {\n mainTableRef.value?.scrollToRow(row, strategy)\n }\n\n // When scrollTop changes, maybe reaching the bottom\n watch(\n () => unref(scrollPos).scrollTop,\n (cur, prev) => {\n if (cur > prev) onMaybeEndReached()\n }\n )\n\n return {\n scrollPos,\n\n scrollTo,\n scrollToLeft,\n scrollToTop,\n scrollToRow,\n onScroll,\n onVerticalScroll,\n }\n}\n"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { TableV2RowCellRenderParam } from '../components';
|
|
|
3
3
|
import type { UseNamespaceReturn } from 'element-plus/es/hooks';
|
|
4
4
|
import type { UseTableReturn } from '../use-table';
|
|
5
5
|
import type { TableV2Props } from '../table';
|
|
6
|
-
declare type CellRendererProps = TableV2RowCellRenderParam & Pick<TableV2Props, 'expandColumnKey' | 'indentSize' | 'iconSize' | 'rowKey'> & UnwrapNestedRefs<Pick<UseTableReturn, 'expandedRowKeys'>> & {
|
|
6
|
+
declare type CellRendererProps = TableV2RowCellRenderParam & Pick<TableV2Props, 'cellProps' | 'expandColumnKey' | 'indentSize' | 'iconSize' | 'rowKey'> & UnwrapNestedRefs<Pick<UseTableReturn, 'expandedRowKeys'>> & {
|
|
7
7
|
ns: UseNamespaceReturn;
|
|
8
8
|
};
|
|
9
9
|
declare const CellRenderer: FunctionalComponent<CellRendererProps>;
|
|
@@ -4,7 +4,7 @@ import '../../../../utils/index2.mjs';
|
|
|
4
4
|
import '../components/index2.mjs';
|
|
5
5
|
import { Alignment } from '../constants2.mjs';
|
|
6
6
|
import { placeholderSign } from '../private2.mjs';
|
|
7
|
-
import { enforceUnit, componentToSlot } from '../utils2.mjs';
|
|
7
|
+
import { enforceUnit, componentToSlot, tryCall } from '../utils2.mjs';
|
|
8
8
|
import TableV2Cell from '../components/cell.mjs';
|
|
9
9
|
import { isFunction, isObject } from '@vue/shared';
|
|
10
10
|
import ExpandIcon from '../components/expand-icon.mjs';
|
|
@@ -21,6 +21,7 @@ const CellRenderer = ({
|
|
|
21
21
|
style,
|
|
22
22
|
expandedRowKeys,
|
|
23
23
|
ns,
|
|
24
|
+
cellProps: _cellProps,
|
|
24
25
|
expandColumnKey,
|
|
25
26
|
indentSize,
|
|
26
27
|
iconSize,
|
|
@@ -49,6 +50,14 @@ const CellRenderer = ({
|
|
|
49
50
|
rowData,
|
|
50
51
|
rowIndex
|
|
51
52
|
}) : get(rowData, dataKey != null ? dataKey : "");
|
|
53
|
+
const extraCellProps = tryCall(_cellProps, {
|
|
54
|
+
cellData,
|
|
55
|
+
columns,
|
|
56
|
+
column,
|
|
57
|
+
columnIndex,
|
|
58
|
+
rowIndex,
|
|
59
|
+
rowData
|
|
60
|
+
});
|
|
52
61
|
const cellProps = {
|
|
53
62
|
class: ns.e("cell-text"),
|
|
54
63
|
columns,
|
|
@@ -80,10 +89,10 @@ const CellRenderer = ({
|
|
|
80
89
|
}, null);
|
|
81
90
|
}
|
|
82
91
|
}
|
|
83
|
-
return createVNode("div", {
|
|
92
|
+
return createVNode("div", mergeProps({
|
|
84
93
|
"class": kls,
|
|
85
94
|
"style": cellStyle
|
|
86
|
-
}, [IconOrPlaceholder, Cell]);
|
|
95
|
+
}, extraCellProps), [IconOrPlaceholder, Cell]);
|
|
87
96
|
};
|
|
88
97
|
CellRenderer.inheritAttrs = false;
|
|
89
98
|
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cell.mjs","sources":["../../../../../../../packages/components/table-v2/src/renderers/cell.tsx"],"sourcesContent":["import { get } from 'lodash-unified'\nimport { isFunction, isObject } from '@element-plus/utils'\nimport { ExpandIcon, TableCell } from '../components'\nimport { Alignment } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs, VNode } from 'vue'\nimport type { CellRendererParams } from '../types'\nimport type { TableV2RowCellRenderParam } from '../components'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\ntype CellRendererProps = TableV2RowCellRenderParam &\n Pick
|
|
1
|
+
{"version":3,"file":"cell.mjs","sources":["../../../../../../../packages/components/table-v2/src/renderers/cell.tsx"],"sourcesContent":["import { get } from 'lodash-unified'\nimport { isFunction, isObject } from '@element-plus/utils'\nimport { ExpandIcon, TableCell } from '../components'\nimport { Alignment } from '../constants'\nimport { placeholderSign } from '../private'\nimport { componentToSlot, enforceUnit, tryCall } from '../utils'\n\nimport type { FunctionalComponent, UnwrapNestedRefs, VNode } from 'vue'\nimport type { CellRendererParams } from '../types'\nimport type { TableV2RowCellRenderParam } from '../components'\nimport type { UseNamespaceReturn } from '@element-plus/hooks'\nimport type { UseTableReturn } from '../use-table'\nimport type { TableV2Props } from '../table'\n\ntype CellRendererProps = TableV2RowCellRenderParam &\n Pick<\n TableV2Props,\n 'cellProps' | 'expandColumnKey' | 'indentSize' | 'iconSize' | 'rowKey'\n > &\n UnwrapNestedRefs<Pick<UseTableReturn, 'expandedRowKeys'>> & {\n ns: UseNamespaceReturn\n }\n\nconst CellRenderer: FunctionalComponent<CellRendererProps> = (\n {\n // renderer props\n columns,\n column,\n columnIndex,\n depth,\n expandIconProps,\n isScrolling,\n rowData,\n rowIndex,\n // from use-table\n style,\n expandedRowKeys,\n ns,\n // derived props\n cellProps: _cellProps,\n expandColumnKey,\n indentSize,\n iconSize,\n rowKey,\n },\n { slots }\n) => {\n const cellStyle = enforceUnit(style)\n\n if (column.placeholderSign === placeholderSign) {\n return <div class={ns.em('row-cell', 'placeholder')} style={cellStyle} />\n }\n const { cellRenderer, dataKey, dataGetter } = column\n\n const columnCellRenderer = componentToSlot(cellRenderer)\n\n const CellComponent =\n columnCellRenderer ||\n slots.default ||\n ((props: CellRendererParams<any>) => <TableCell {...props} />)\n\n const cellData = isFunction(dataGetter)\n ? dataGetter({ columns, column, columnIndex, rowData, rowIndex })\n : get(rowData, dataKey ?? '')\n\n const extraCellProps = tryCall(_cellProps, {\n cellData,\n columns,\n column,\n columnIndex,\n rowIndex,\n rowData,\n })\n\n const cellProps = {\n class: ns.e('cell-text'),\n columns,\n column,\n columnIndex,\n cellData,\n isScrolling,\n rowData,\n rowIndex,\n }\n\n const Cell = CellComponent(cellProps)\n\n const kls = [\n ns.e('row-cell'),\n column.align === Alignment.CENTER && ns.is('align-center'),\n column.align === Alignment.RIGHT && ns.is('align-right'),\n ]\n\n const expandable = rowIndex >= 0 && column.key === expandColumnKey\n const expanded = rowIndex >= 0 && expandedRowKeys.includes(rowData[rowKey])\n\n let IconOrPlaceholder: VNode | undefined\n const iconStyle = `margin-inline-start: ${depth * indentSize}px;`\n if (expandable) {\n if (isObject(expandIconProps)) {\n IconOrPlaceholder = (\n <ExpandIcon\n {...expandIconProps}\n class={[ns.e('expand-icon'), ns.is('expanded', expanded)]}\n size={iconSize}\n expanded={expanded}\n style={iconStyle}\n expandable\n />\n )\n } else {\n IconOrPlaceholder = (\n <div\n style={[\n iconStyle,\n `width: ${iconSize}px; height: ${iconSize}px;`,\n ].join(' ')}\n />\n )\n }\n }\n\n return (\n <div class={kls} style={cellStyle} {...extraCellProps}>\n {IconOrPlaceholder}\n {Cell}\n </div>\n )\n}\n\nCellRenderer.inheritAttrs = false\n\nexport default CellRenderer\n"],"names":["CellRenderer","columns","column","columnIndex","depth","expandIconProps","isScrolling","rowData","rowIndex","style","expandedRowKeys","ns","cellProps","expandColumnKey","indentSize","iconSize","rowKey","slots","cellStyle","_createVNode","TableCell","cellRenderer","dataKey","dataGetter","default","cellData","extraCellProps","class","_mergeProps","kls","e","align","expandable","expanded","iconStyle","IconOrPlaceholder"],"mappings":"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"}
|
|
@@ -1,33 +1,33 @@
|
|
|
1
1
|
import type { CSSProperties, ExtractPropTypes } from 'vue';
|
|
2
2
|
import type { FixedDirection, KeyType, RowCommonParams } from './types';
|
|
3
|
-
export declare type RowExpandParams
|
|
3
|
+
export declare type RowExpandParams = {
|
|
4
4
|
expanded: boolean;
|
|
5
5
|
rowKey: KeyType;
|
|
6
|
-
} & RowCommonParams
|
|
7
|
-
export declare type RowHoverParams
|
|
6
|
+
} & RowCommonParams;
|
|
7
|
+
export declare type RowHoverParams = {
|
|
8
8
|
event: MouseEvent;
|
|
9
9
|
hovered: boolean;
|
|
10
10
|
rowKey: KeyType;
|
|
11
|
-
} & RowCommonParams
|
|
12
|
-
export declare type RowEventHandlerParams
|
|
11
|
+
} & RowCommonParams;
|
|
12
|
+
export declare type RowEventHandlerParams = {
|
|
13
13
|
rowKey: KeyType;
|
|
14
14
|
event: Event;
|
|
15
|
-
} & RowCommonParams
|
|
15
|
+
} & RowCommonParams;
|
|
16
16
|
export declare type RowHeightChangedParams = {
|
|
17
17
|
rowKey: KeyType;
|
|
18
18
|
height: number;
|
|
19
19
|
rowIndex: number;
|
|
20
20
|
};
|
|
21
|
-
export declare type RowExpandHandler
|
|
22
|
-
export declare type RowHoverHandler
|
|
23
|
-
export declare type RowEventHandler
|
|
21
|
+
export declare type RowExpandHandler = (params: RowExpandParams) => void;
|
|
22
|
+
export declare type RowHoverHandler = (params: RowHoverParams) => void;
|
|
23
|
+
export declare type RowEventHandler = (params: RowEventHandlerParams) => void;
|
|
24
24
|
export declare type RowHeightChangeHandler = (row: RowHeightChangedParams, fixedDirection: boolean | FixedDirection | undefined) => void;
|
|
25
|
-
export declare type RowEventHandlers
|
|
26
|
-
onClick?: RowEventHandler
|
|
27
|
-
onContextmenu?: RowEventHandler
|
|
28
|
-
onDblclick?: RowEventHandler
|
|
29
|
-
onMouseenter?: RowEventHandler
|
|
30
|
-
onMouseleave?: RowEventHandler
|
|
25
|
+
export declare type RowEventHandlers = {
|
|
26
|
+
onClick?: RowEventHandler;
|
|
27
|
+
onContextmenu?: RowEventHandler;
|
|
28
|
+
onDblclick?: RowEventHandler;
|
|
29
|
+
onMouseenter?: RowEventHandler;
|
|
30
|
+
onMouseleave?: RowEventHandler;
|
|
31
31
|
};
|
|
32
32
|
export declare const tableV2RowProps: {
|
|
33
33
|
readonly class: StringConstructor;
|
|
@@ -43,11 +43,11 @@ export declare const tableV2RowProps: {
|
|
|
43
43
|
readonly __elPropsReservedKey: true;
|
|
44
44
|
};
|
|
45
45
|
readonly isScrolling: BooleanConstructor;
|
|
46
|
-
readonly onRowExpand: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<RowExpandHandler
|
|
47
|
-
readonly onRowHover: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<RowHoverHandler
|
|
46
|
+
readonly onRowExpand: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<RowExpandHandler>, unknown, unknown, unknown, unknown>;
|
|
47
|
+
readonly onRowHover: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<RowHoverHandler>, unknown, unknown, unknown, unknown>;
|
|
48
48
|
readonly onRowHeightChange: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<RowHeightChangeHandler>, unknown, unknown, unknown, unknown>;
|
|
49
49
|
readonly rowData: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<any>, unknown, true, unknown, unknown>;
|
|
50
|
-
readonly rowEventHandlers: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<RowEventHandlers
|
|
50
|
+
readonly rowEventHandlers: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<RowEventHandlers>, unknown, unknown, unknown, unknown>;
|
|
51
51
|
readonly rowIndex: import("element-plus/es/utils").BuildPropReturn<NumberConstructor, unknown, true, unknown, unknown>;
|
|
52
52
|
readonly rowKey: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<KeyType>, "id", unknown, unknown, unknown>;
|
|
53
53
|
readonly style: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<CSSProperties>, unknown, unknown, unknown, unknown>;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"row2.mjs","sources":["../../../../../../packages/components/table-v2/src/row.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { virtualizedGridProps } from '@element-plus/components/virtual-list'\nimport { columns, expandColumnKey, rowKey } from './common'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { FixedDirection, KeyType, RowCommonParams } from './types'\n\nexport type RowExpandParams
|
|
1
|
+
{"version":3,"file":"row2.mjs","sources":["../../../../../../packages/components/table-v2/src/row.ts"],"sourcesContent":["import { buildProps, definePropType } from '@element-plus/utils'\nimport { virtualizedGridProps } from '@element-plus/components/virtual-list'\nimport { columns, expandColumnKey, rowKey } from './common'\n\nimport type { CSSProperties, ExtractPropTypes } from 'vue'\nimport type { FixedDirection, KeyType, RowCommonParams } from './types'\n\nexport type RowExpandParams = {\n expanded: boolean\n rowKey: KeyType\n} & RowCommonParams\n\nexport type RowHoverParams = {\n event: MouseEvent\n hovered: boolean\n rowKey: KeyType\n} & RowCommonParams\n\nexport type RowEventHandlerParams = {\n rowKey: KeyType\n event: Event\n} & RowCommonParams\n\nexport type RowHeightChangedParams = {\n rowKey: KeyType\n height: number\n rowIndex: number\n}\n\nexport type RowExpandHandler = (params: RowExpandParams) => void\nexport type RowHoverHandler = (params: RowHoverParams) => void\nexport type RowEventHandler = (params: RowEventHandlerParams) => void\nexport type RowHeightChangeHandler = (\n row: RowHeightChangedParams,\n fixedDirection: boolean | FixedDirection | undefined\n) => void\n\nexport type RowEventHandlers = {\n onClick?: RowEventHandler\n onContextmenu?: RowEventHandler\n onDblclick?: RowEventHandler\n onMouseenter?: RowEventHandler\n onMouseleave?: RowEventHandler\n}\n\nexport const tableV2RowProps = buildProps({\n class: String,\n columns,\n columnsStyles: {\n type: definePropType<Record<KeyType, CSSProperties>>(Object),\n required: true,\n },\n depth: Number,\n expandColumnKey,\n estimatedRowHeight: {\n ...virtualizedGridProps.estimatedRowHeight,\n default: undefined,\n },\n isScrolling: Boolean,\n onRowExpand: {\n type: definePropType<RowExpandHandler>(Function),\n },\n onRowHover: {\n type: definePropType<RowHoverHandler>(Function),\n },\n onRowHeightChange: {\n type: definePropType<RowHeightChangeHandler>(Function),\n },\n rowData: {\n type: definePropType<any>(Object),\n required: true,\n },\n rowEventHandlers: {\n type: definePropType<RowEventHandlers>(Object),\n },\n rowIndex: {\n type: Number,\n required: true,\n },\n /**\n * Unique item key\n */\n rowKey,\n style: {\n type: definePropType<CSSProperties>(Object),\n },\n} as const)\n\nexport type TableV2RowProps = ExtractPropTypes<typeof tableV2RowProps>\n"],"names":[],"mappings":";;;;;;AAGY,MAAC,eAAe,GAAG,UAAU,CAAC;AAC1C,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,OAAO;AACT,EAAE,aAAa,EAAE;AACjB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,KAAK,EAAE,MAAM;AACf,EAAE,eAAe;AACjB,EAAE,kBAAkB,EAAE;AACtB,IAAI,GAAG,oBAAoB,CAAC,kBAAkB;AAC9C,IAAI,OAAO,EAAE,KAAK,CAAC;AACnB,GAAG;AACH,EAAE,WAAW,EAAE,OAAO;AACtB,EAAE,WAAW,EAAE;AACf,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,UAAU,EAAE;AACd,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,iBAAiB,EAAE;AACrB,IAAI,IAAI,EAAE,cAAc,CAAC,QAAQ,CAAC;AAClC,GAAG;AACH,EAAE,OAAO,EAAE;AACX,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,gBAAgB,EAAE;AACpB,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,EAAE,QAAQ,EAAE;AACZ,IAAI,IAAI,EAAE,MAAM;AAChB,IAAI,QAAQ,EAAE,IAAI;AAClB,GAAG;AACH,EAAE,MAAM;AACR,EAAE,KAAK,EAAE;AACT,IAAI,IAAI,EAAE,cAAc,CAAC,MAAM,CAAC;AAChC,GAAG;AACH,CAAC;;;;"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { UnwrapRef } from 'vue';
|
|
2
|
-
import type { GridDefaultSlotParams, GridScrollOptions, ResetAfterIndex } from 'element-plus/es/components/virtual-list';
|
|
2
|
+
import type { GridDefaultSlotParams, GridScrollOptions, ResetAfterIndex, Alignment as ScrollStrategy } from 'element-plus/es/components/virtual-list';
|
|
3
3
|
import type { TableV2GridProps } from './grid';
|
|
4
4
|
declare const TableGrid: import("vue").DefineComponent<{
|
|
5
5
|
readonly columns: import("element-plus/es/utils").BuildPropReturn<import("element-plus/es/utils").PropWrapper<import("./common").AnyColumn[]>, unknown, true, unknown, unknown>;
|
|
@@ -95,6 +95,12 @@ export declare type TableGridInstance = InstanceType<typeof TableGrid> & UnwrapR
|
|
|
95
95
|
* @description scroll vertically to position y
|
|
96
96
|
*/
|
|
97
97
|
scrollToTop(scrollTop: number): void;
|
|
98
|
+
/**
|
|
99
|
+
* @description scroll to a given row
|
|
100
|
+
* @params row {Number} which row to scroll to
|
|
101
|
+
* @params @optional strategy {ScrollStrategy} use what strategy to scroll to
|
|
102
|
+
*/
|
|
103
|
+
scrollToRow(row: number, strategy: ScrollStrategy): void;
|
|
98
104
|
/**
|
|
99
105
|
* @description reset rendered state after row index
|
|
100
106
|
* @param { number } rowIndex
|
|
@@ -87,6 +87,10 @@ const useTableGrid = (props) => {
|
|
|
87
87
|
scrollTop
|
|
88
88
|
});
|
|
89
89
|
}
|
|
90
|
+
function scrollToRow(row, strategy) {
|
|
91
|
+
var _a;
|
|
92
|
+
(_a = unref(bodyRef)) == null ? void 0 : _a.scrollToItem(row, 1, strategy);
|
|
93
|
+
}
|
|
90
94
|
function forceUpdate() {
|
|
91
95
|
var _a, _b;
|
|
92
96
|
(_a = unref(bodyRef)) == null ? void 0 : _a.$forceUpdate();
|
|
@@ -105,7 +109,8 @@ const useTableGrid = (props) => {
|
|
|
105
109
|
onItemRendered,
|
|
106
110
|
resetAfterRowIndex,
|
|
107
111
|
scrollTo,
|
|
108
|
-
scrollToTop
|
|
112
|
+
scrollToTop,
|
|
113
|
+
scrollToRow
|
|
109
114
|
};
|
|
110
115
|
};
|
|
111
116
|
const TableGrid = defineComponent({
|
|
@@ -131,13 +136,15 @@ const TableGrid = defineComponent({
|
|
|
131
136
|
onItemRendered,
|
|
132
137
|
resetAfterRowIndex,
|
|
133
138
|
scrollTo,
|
|
134
|
-
scrollToTop
|
|
139
|
+
scrollToTop,
|
|
140
|
+
scrollToRow
|
|
135
141
|
} = useTableGrid(props);
|
|
136
142
|
expose({
|
|
137
143
|
forceUpdate,
|
|
138
144
|
totalHeight,
|
|
139
145
|
scrollTo,
|
|
140
146
|
scrollToTop,
|
|
147
|
+
scrollToRow,
|
|
141
148
|
resetAfterRowIndex
|
|
142
149
|
});
|
|
143
150
|
const getColumnWidth = () => props.bodyWidth;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, unref } 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} 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\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 (!header$ || !body$) return\n\n if (isObject(leftOrOptions)) {\n header$.scrollToLeft(leftOrOptions.scrollLeft)\n body$.scrollTo(leftOrOptions)\n } else {\n header$.scrollToLeft(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 forceUpdate() {\n unref(bodyRef)?.$forceUpdate()\n unref(headerRef)?.$forceUpdate()\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 }\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 } = useTableGrid(props)\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 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 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 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","data","rowHeight","estimatedRowHeight","fixedData","headerHeight","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleStart","rowVisibleEnd","onRowsRendered","forceUpdate","header$","scrollToLeft","leftOrOptions","body$","scrollLeft","scrollTop","scrollToTop","fixedRowHeight","totalHeight","resetAfterRowIndex","scrollTo","TableGrid","name","setup","slots","expose","ns","inject","TableV2InjectionKey","onItemRendered","_createVNode","cache","columns","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","getRowHeight","onScroll","Header","length","isDynamicRowEnabled"],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"table-grid.mjs","sources":["../../../../../../packages/components/table-v2/src/table-grid.tsx"],"sourcesContent":["import { computed, defineComponent, inject, ref, unref } 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\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 (!header$ || !body$) return\n\n if (isObject(leftOrOptions)) {\n header$.scrollToLeft(leftOrOptions.scrollLeft)\n body$.scrollTo(leftOrOptions)\n } else {\n header$.scrollToLeft(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 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 }\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 } = useTableGrid(props)\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 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","data","rowHeight","estimatedRowHeight","fixedData","headerHeight","gridHeight","height","Math","max","unref","hasHeader","itemKey","rowIndex","rowCacheStart","rowCacheEnd","rowVisibleStart","rowVisibleEnd","onRowsRendered","forceUpdate","header$","scrollToLeft","leftOrOptions","body$","scrollLeft","scrollTop","scrollToTop","row","fixedRowHeight","totalHeight","onItemRendered","scrollTo","scrollToRow","TableGrid","name","setup","slots","expose","ns","inject","TableV2InjectionKey","resetAfterRowIndex","cache","columns","useIsScrolling","scrollbarAlwaysOn","scrollbarEndGap","scrollbarStartGap","style","bodyWidth","headerWidth","width","getRowHeight","onScroll","isDynamicRowEnabled","Grid","_headerHeight","_createVNode","Header","e","class"],"mappings":";;;;;;;;;;;;;AAwBA,MAAMA,cAAc,GAAG,eAAvB,CAAA;;AAEA,EAAMC,MAAAA,SAAAA,GAAgBC,GAAAA,EAAAA,CAAD;AACnB,EAAMC,MAAAA,OAAAA,GAAYC,GAAAA,EAAG,CAArB;AACA,EAAMC,MAAAA,WAAUD,GAAhB,QAAA,CAAA,MAAA;AAEA,IAAA,MAAiB;AACf,MAAM,IAAA;AAAEE,MAAAA,SAAF;AAAQC,MAAAA,kBAAR;AAAmBC,KAAAA,GAAAA,KAAAA,CAAAA;AAAnB,IAAA,IAA0CN,kBAAhD,EAAA;;AAEA,KAAA;AACE,IAAA,OAAA,IAAA,CAAA,MAAA,GAAA,SAAA,CAAA;AACD,GAAA,CAAA,CAAA;;AAED,IAAA,MAAA;AACD,MARD,SAAA;AAUA,MAAA,SAAoB;AAClB,KAAM,GAAA,KAAA,CAAA;AAAEO,IAAAA,OAAF,CAAA,CAAA,SAAA,IAAA,IAAA,GAAA,KAAA,CAAA,GAAA,SAAA,CAAA,MAAA,KAAA,CAAA,IAAA,SAAA,CAAA;AAAaF,GAAAA,CAAAA,CAAAA;AAAb,EAAA,MAA2BL,YAAjC,GAAA,QAAA,CAAA,MAAA,GAAA,CAAA,KAAA,CAAA,YAAA,CAAA,CAAA,CAAA;AAEA,EAAA,MAAA,UAAiB,GAAA,QAAT,CAAqB;AAC9B,IAJD,MAAA;AAMA,MAAMQ,MAAAA;AAEN,KAAA,GAAMC,KAAU,CAAA;AACd,IAAM,OAAA,IAAA,CAAA,GAAA,CAAA,CAAA,EAAA,MAAA,GAAA,KAAA,CAAA,YAAA,CAAA,GAAA,KAAA,CAAA,cAAA,CAAA,CAAA,CAAA;AAAEC,GAAAA,CAAAA,CAAAA;AAAF,EAAA,MAAaV,SAAnB,GAAA,QAAA,CAAA,MAAA;AACA,IAAA,OAAOW,KAAKC,CAAAA,YAAa,CAAA,GAAQ,KAACJ,eAAf,CAA+BK,KAAK;AACxD,GAH0B,CAA3B,CAAA;AAKA,EAAA,MAAMC,OAAS,GAAA,CAAA;AACb,IAAOD,IAAAA;AACR,IAFD,QAAA;;AAIA,EAAME,SAAAA,cAA8B,CAAA;AAAEX,IAAAA,aAAF;AAAQY,IAAAA,WAAAA;AAAR,IAAD,eAC5BA;;AAEP,GAAA,EAAA;AACEC,IAAAA,IADsB,EAAA,CAAA;AAEtBC,IAAAA,CAFsB,EAAA,GAAA,KAAA,CAAA,cAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA;AAGtBC,MAHsB,aAAA;AAItBC,MAAAA,WAAAA;AAJsB,MAKM,eAAA;AAC5BpB,MAAAA,aAAMqB;AACJJ,KAAAA,CAAAA,CADqB;AAErBC,GAAAA;AACAC,EAAAA,SAHqB,kBAAA,CAAA,KAAA,EAAA,YAAA,EAAA;AAIrBC,IAAAA,IAAAA,EAAAA,CAAAA;AAJqB,IAAvB,CAAA,EAAA,GAAA,OAAA,CAAA,KAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,kBAAA,CAAA,KAAA,EAAA,YAAA,CAAA,CAAA;AAMD,GAAA;;AAED,IAAA,MAAA,OAAA,GAAA,KAAA,CAAA,SAAA,CAAA,CAA2CE;AACzCnB,IAAAA,MAAAA,KAAA,GAAA;AACD,IAAA,IAAA,CAAA,OAAA,IAAA,CAAA,KAAA;;AAID,IAAA,IAAA,QAAA,CAAA,aAAA,CAAA,EAAA;AACE,MAAA,OAAa,CAAA,YAASF,cAAtB,CAAA,UAAA,CAAA,CAAA;AACA,MAAA,KAAW,CAAA,QAAQ,CAAA,aAAnB,CAAA,CAAA;AAEA,KAAA,MAAKsB;;AAEL,MAAA,KAAY,CAAA,QAAA,CAAA;AACVA,kBAAQC,EAAAA,aAAaC;AACrBC,QAAK,SAAL,EAAA,GAAA;AACD,OAAM,CAAA,CAAA;AACLH,KAAAA;AACAG,GAAAA;AACEC,EAAAA,SAAAA,WADa,CAAA,SAAA,EAAA;AAEbC,IAAAA,IAAAA;AAFa,IAAf,CAAA,EAAA,GAAA,KAAA,CAAA,OAAA,CAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,QAAA,CAAA;AAID,MAAA,SAAA;AACF,KAAA,CAAA,CAAA;;AAED,EAASC,SAAAA,WAAT,CAAqBD,GAAAA,EAAAA,QAAmB,EAAA;AACtCf,IAAAA,MAAMV,CAAAA;AACJyB,IAAAA,CAAAA,EAAAA,GAAAA,KAAAA,CAAAA,OAAAA,CAAAA,KAAAA,IAAAA,GAAAA,KAAAA,CAAAA,GAAAA,EAAAA,CAAAA,YAAAA,CAAAA,GAAAA,EAAAA,CAAAA,EAAAA,QAAAA,CAAAA,CAAAA;AADuB,GAAzB;AAGD,EAAA,SAAA,WAAA,GAAA;;AAED,IAAA,CAAA,EAAA,GAAA,KAAA,CAAA,OAAqBE,CAArB,YAAA,KAA4D,CAAA,GAAA,EAAA,CAAA,YAAA,EAAA,CAAA;AAC1DjB,IAAAA,CAAAA,EAAAA,GAAMV,KAAAA,CAAAA,SAAN,CAAA,KAAA,IAAA,GAAkC,KAAlC,CAAA,GAAA,EAAA,CAAA,YAAA,EAAA,CAAA;AACD,GAAA;;AAED,IAAA,OAASmB;AACPT,IAAAA,WAAK;AACLA,IAAAA,cAAK;AACN,IAAA,UAAA;;AAED,IAAO,YAAA;AACLV,IAAAA,SADK;AAELmB,IAAAA,WAFK;AAGLS,IAAAA,OAHK;AAILtB,IAAAA,cAJK;AAKLK,IAAAA,kBALK;AAMLN,IAAAA,QANK;AAOLP,IAAAA,WAPK;AAQL+B,IAAAA,WARK;AAULjB,GAAAA,CAAAA;AACAkB,CAAAA,CAAAA;AAXK,MAAA,SAAA,GAAA,eAAA,CAAA;AAaLC,EAAAA,IAbK,EAAA,cAAA;AAcLL,EAAAA,KAdK,EAAA,gBAAA;AAeLM,EAAAA,KAAAA,CAAAA,KAAAA,EAAAA;AAfK,IAAP,KAAA;AAiBD,IAxGD,MAAA;;AA0GA,IAAMC,MAAAA;AACJC,MAAI,EAAEvC;AACNE,KAAAA,SAFgC,CAAA,mBAAA,CAAA,CAAA;;AAGhCsC,MAAAA,OAAK;AAAUC,MAAF,cAAA;AAASC,MAAAA,UAAAA;AAAT,MAAmB,SAAA;AAC9B,MAAM,SAAA;AAAEC,MAAAA,YAAAA;AAAF,MAASC,WAAOC;AAEtB,MAAM,WAAA;AACJxC,MAAAA,OADI;AAEJ4B,MAAAA,cAFI;AAGJtB,MAAAA,kBAHI;AAIJK,MAAAA,QAJI;AAKJb,MAAAA,WALI;AAMJO,MAAAA,WANI;AAOJwB,KAAAA,GAPI,YAAA,CAAA,KAAA,CAAA,CAAA;AASJV,IAAAA,MATI,CAAA;AAUJP,MAAAA,WAVI;AAWJkB,MAAAA,WAXI;AAYJW,MAAAA,QAZI;AAaJV,MAAAA,WAbI;AAcJL,MAAAA,WAdI;AAeJM,MAAAA,kBAAAA;AAfI,KAgBFpC,CAAAA,CAAAA;AAEJyC,IAAAA,MAAM,cAAC,GAAA,MAAA,KAAA,CAAA,SAAA,CAAA;AACLlB,IAAAA,OADK,MAAA;;AAEL,QAAA,KAAA;AACN,QAAA,OAAA;AACA,QAAA,IAAA;AACMU,QALK,SAAA;;AAML,QAAA,iBAAA;AACN,QAAA,eAAA;AACA,QAAA,iBAAA;AACME,QATK,KAAA;;AAUL,QAAA,SAAA;AACN,QAAA,kBAAA;AACA,QAAA,WAAA;AACML,QAbK,MAAA;;AAcL,QAAA,YAAA;AACN,QAAA,QAAA;AACA,OAAA,GAAA,KAAA,CAAA;AACA,MAAA,MAAA,mBAAA,GAAA,QAAA,CAAA,kBAAA,CAAA,CAAA;AACA,MAAA,MAAA,IAAA,GAAA,mBAAA,GAAA,eAAA,GAAA,aAAA,CAAA;AACMM,MAAAA,MAnBK,aAAA,GAAA,KAAA,CAAA,YAAA,CAAA,CAAA;;AAoBL,QAAA,MAAA,EAAA,OAAA;AACN,QAAA,OAAA,EAAA,CAAA,EAAA,CAAA,CAAA,CAAA,OAAA,CAAA,EAAA,KAAA,CAAA,KAAA,CAAA;AACA,QAAA,OAAA,EAAA,KAAA;AACMS,OAAAA,EAAAA,CAAAA,WAAAA,CAAAA,IAAAA,EAAAA;AAvBK,QAAP,KAAA,EAAA,OAAA;;AA0BA,QAAA,gBAAoB,EAAA,cAApB;;AAEA,QAAA,aAAa,EAAA,CAAA;AACX,QAAM,aAAA,EAAA,mBAAA,GAAA,cAAA,GAAA,SAAA;AACJC,QAAAA,aADI,EAAA,CAAA;AAEJC,QAAAA,UAFI,EAAA,IAAA,CAAA,MAAA;AAGJ1C,QAAAA,UAHI,EAAA,KAAA;AAIJG,QAAAA,WAJI,EAAA,mBAAA,GAAA,YAAA,GAAA,SAAA;AAKJwC,QAAAA,OALI,EAAA,KAAA;AAMJC,QAAAA,QANI,EAAA,KAAA,CAAA,UAAA,CAAA;AAOJC,QAAAA,OAPI,EAAA,EAAA,CAAA,CAAA,CAAA,MAAA,CAAA;AAQJC,QAAAA,mBARI,EAAA,iBAAA;AASJC,QAAAA,iBATI,EAAA,eAAA;AAUJ9C,QAAAA,mBAVI,EAAA,iBAAA;AAWJ+C,QAAAA,UAXI,EAAA,QAAA;AAYJ9C,QAAAA,gBAZI,EAAA,cAAA;AAaJ+C,QAAAA,UAbI,EAAA,KAAA;AAcJ3C,OAAAA,EAdI;AAeJ4C,QAAAA,OAfI,EAAA,CAAA,MAAA,KAAA;AAiBJC,UAjBI,IAAA,EAAA,CAAA;AAkBJC,UAAAA,MAAAA,OAAAA,GAAAA,IAAAA,CAAAA,MAAAA,CAAAA,QAAAA,CAAAA,CAAAA;AAlBI,UAmBFxD,OAnBJ,CAAA,EAAA,GAAA,KAAA,CAAA,GAAA,KAAA,IAAA,GAAA,KAAA,CAAA,GAAA,EAAA,CAAA,IAAA,CAAA,KAAA,EAAA;AAqBA,YAAMyD,GAAmB,MAAA;AACzB,YAAMC,OAAOD;;AACb,WAAA,CAAME,CAAa;;AAEnB,OAAA,CAAA,EAAA,KAAA,CAAA,SAAA,CAAA,IAAAC,WAAA,CAAAC,aAAA,EAAA;AAAA,QAAA,KAAA,EAAA,SAAA;AAAA,QAC2B,OAAA,EAAA,EAAG,CAAA,CAACC,CAAH,gBAAoB,CAACC;AADjD,QACgEZ,SAAAA,EAAAA,OAAAA;AADhE,QAAA,YAAA,EAAA,IAAA;AAAA,QAAA,cAAA,EAAA,KAAA,CAAA,YAAA;AAAA,QAAA,iBAAA,EAAA,SAAA;AAAA,QAAA,UAAA,EAAA,WAAA;AAAA,QAAA,WAOepC,EAPf,SAAA;AAAA,QAAA,OAAA,EAAA,KAAA;AAAA,QAAA,QAAA,EAAA,IAAA,CAUmB0C,GAAmB,CAAA,aAAA,GAAA,KAAA,CAAA,cAVtC,CAAA,EAAA,MAAA,CAAA;AAAA,OAAA,EAAA;AAAA,QAagBrD,OAAAA,EAAAA,KAAAA,CAAAA,MAbhB;AAAA,QAAA,KAAA,EAAA,KAcgByC,CAdhB,GAAA;AAAA,OAAA,CAAA,CAAA,CAAA,CAAA;AAAA,KAAA,CAAA;AAAA,GAkBchC;AAlBd,CAAA;;;;"}
|