@eunomia/elements 1.0.0-beta.5 → 1.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/breakpoints.d.ts +37 -10
- package/dist/breakpoints.js +38 -10
- package/dist/cdn/components/chunks/{chunk-MMLIPCOY.js → chunk-22D3SRFR.js} +1 -1
- package/dist/cdn/components/chunks/chunk-36KLGY6U.js +209 -0
- package/dist/cdn/components/chunks/chunk-3BMACIDO.js +1 -0
- package/dist/cdn/components/chunks/{chunk-IDKZKLJR.js → chunk-3PNGQEG4.js} +24 -11
- package/dist/cdn/components/chunks/{chunk-NBIENHLV.js → chunk-5XPOGBPL.js} +18 -18
- package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
- package/dist/cdn/components/chunks/chunk-62RLISRD.js +1 -0
- package/dist/cdn/components/chunks/{chunk-6ETDXUH2.js → chunk-6FYW5TQU.js} +7 -7
- package/dist/cdn/components/chunks/chunk-AK2DIJX7.js +1 -0
- package/dist/cdn/components/chunks/chunk-B5XMGWM7.js +10 -0
- package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
- package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
- package/dist/cdn/components/chunks/chunk-BVASCT2V.js +109 -0
- package/dist/cdn/components/chunks/{chunk-DKOPI7QA.js → chunk-DGI7TKCU.js} +83 -68
- package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
- package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
- package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
- package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
- package/dist/cdn/components/chunks/chunk-GVS6IUKC.js +1 -0
- package/dist/cdn/components/chunks/chunk-GWLD2I3P.js +8 -0
- package/dist/cdn/components/chunks/{chunk-JRGM3W7I.js → chunk-I4ERDXSM.js} +9 -4
- package/dist/cdn/components/chunks/{chunk-AIS3UICU.js → chunk-J3SZBXM6.js} +11 -7
- package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-LVKMAHMU.js} +11 -1
- package/dist/cdn/components/chunks/{chunk-SD2WHGPF.js → chunk-MQQJ6DID.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
- package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
- package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-MPQP4R54.js → chunk-PXF554MD.js} +10 -9
- package/dist/cdn/components/chunks/chunk-QL5GSW2A.js +1 -0
- package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-QXQ25SQS.js} +24 -20
- package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
- package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-SVGWCKWT.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-2XASWWKR.js → chunk-TFTRCIIK.js} +9 -8
- package/dist/cdn/components/chunks/chunk-TLBXTBMM.js +46 -0
- package/dist/cdn/components/chunks/chunk-UVHVQRPT.js +1 -0
- package/dist/cdn/components/chunks/{chunk-L65WUTXM.js → chunk-UYZR4JXZ.js} +12 -7
- package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
- package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
- package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +1 -0
- package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-OW7XKDCH.js → chunk-Z3OFIE7S.js} +16 -16
- package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
- package/dist/cdn/components/eun-alert.js +33 -18
- package/dist/cdn/components/eun-animate.js +14 -10
- package/dist/cdn/components/eun-badge.js +2 -2
- package/dist/cdn/components/eun-breadcrumb.js +25 -41
- package/dist/cdn/components/eun-button.js +1 -1
- package/dist/cdn/components/eun-calendar.js +67 -65
- package/dist/cdn/components/eun-card.js +34 -19
- package/dist/cdn/components/eun-carousel.js +76 -42
- package/dist/cdn/components/eun-check-card.js +13 -6
- package/dist/cdn/components/eun-checkbox-list.js +11 -8
- package/dist/cdn/components/eun-checkbox.js +1 -1
- package/dist/cdn/components/eun-chip.js +3 -3
- package/dist/cdn/components/eun-collapse.js +56 -27
- package/dist/cdn/components/eun-color-picker.js +79 -86
- package/dist/cdn/components/eun-counter.js +16 -15
- package/dist/cdn/components/eun-date-picker.js +71 -67
- package/dist/cdn/components/eun-description-list.js +152 -0
- package/dist/cdn/components/eun-divider.js +3 -3
- package/dist/cdn/components/eun-drawer.js +34 -20
- package/dist/cdn/components/eun-dropdown-button.js +1 -1
- package/dist/cdn/components/eun-dropdown-item.js +6 -5
- package/dist/cdn/components/eun-fab.js +17 -16
- package/dist/cdn/components/eun-icon.js +1 -1
- package/dist/cdn/components/eun-image-card.js +79 -22
- package/dist/cdn/components/eun-image-carousel.js +92 -47
- package/dist/cdn/components/eun-infinite-list.js +23 -11
- package/dist/cdn/components/eun-input-file.js +20 -19
- package/dist/cdn/components/eun-input-phone.js +17 -16
- package/dist/cdn/components/eun-input.js +1 -1
- package/dist/cdn/components/eun-label.js +4 -4
- package/dist/cdn/components/eun-link.js +78 -29
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +27 -20
- package/dist/cdn/components/eun-pagination.js +24 -19
- package/dist/cdn/components/eun-password-strength.js +19 -11
- package/dist/cdn/components/eun-progress-bar.js +13 -5
- package/dist/cdn/components/eun-radio-card.js +16 -9
- package/dist/cdn/components/eun-radio-list.js +12 -9
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-rating.js +276 -0
- package/dist/cdn/components/eun-scheduler-event-editor.js +10 -10
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +27 -27
- package/dist/cdn/components/eun-search.js +24 -25
- package/dist/cdn/components/eun-select.js +32 -31
- package/dist/cdn/components/eun-sidebar.js +40 -24
- package/dist/cdn/components/eun-skeleton.js +1 -1
- package/dist/cdn/components/eun-slider.js +15 -14
- package/dist/cdn/components/eun-sliding-card.js +8 -4
- package/dist/cdn/components/eun-step.js +22 -10
- package/dist/cdn/components/eun-stepper.js +41 -30
- package/dist/cdn/components/eun-switch.js +10 -8
- package/dist/cdn/components/eun-tab-group.js +24 -19
- package/dist/cdn/components/eun-tab-panel.js +11 -3
- package/dist/cdn/components/eun-tab.js +1 -1
- package/dist/cdn/components/eun-table-action-bar.js +1 -1
- package/dist/cdn/components/eun-table.js +572 -31
- package/dist/cdn/components/eun-tag.js +13 -7
- package/dist/cdn/components/eun-textarea.js +34 -29
- package/dist/cdn/components/eun-time-picker.js +24 -21
- package/dist/cdn/components/eun-toast.js +51 -22
- package/dist/cdn/components/eun-toggle-group.js +57 -36
- package/dist/cdn/components/eun-toggle-item.js +16 -15
- package/dist/cdn/components/eun-toggle.js +12 -10
- package/dist/cdn/components/eun-toolbar.js +64 -54
- package/dist/cdn/components/eun-tooltip.js +30 -14
- package/dist/cdn/styles/breakpoints.scss +8 -0
- package/dist/cdn/styles/eunomia-grid.scss +6 -0
- package/dist/cdn/styles/eunomia-themes.css +1 -1
- package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
- package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
- package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
- package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
- package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
- package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
- package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
- package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
- package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
- package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
- package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
- package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
- package/dist/components/action/button/button.d.ts +9 -3
- package/dist/components/action/button/button.js +10 -4
- package/dist/components/action/button/button.styles.js +61 -41
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +2 -2
- package/dist/components/action/dropdown-button/dropdown-button.js +21 -15
- package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
- package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
- package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
- package/dist/components/action/fab/fab.styles.js +14 -13
- package/dist/components/action/link/link.d.ts +7 -3
- package/dist/components/action/link/link.js +11 -7
- package/dist/components/action/link/link.styles.js +66 -15
- package/dist/components/action/shared-styles/button-palette.styles.js +15 -15
- package/dist/components/action/toggle/toggle-group.d.ts +2 -0
- package/dist/components/action/toggle/toggle-group.js +6 -4
- package/dist/components/action/toggle/toggle-group.styles.d.ts +2 -0
- package/dist/components/action/toggle/toggle-group.styles.js +46 -23
- package/dist/components/action/toggle/toggle-item.styles.js +13 -12
- package/dist/components/action/toggle/toggle.d.ts +2 -0
- package/dist/components/action/toggle/toggle.js +3 -1
- package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
- package/dist/components/action/toggle/toggle.styles.js +12 -8
- package/dist/components/alert/alert/alert.d.ts +11 -7
- package/dist/components/alert/alert/alert.js +13 -14
- package/dist/components/alert/alert/alert.styles.js +32 -15
- package/dist/components/alert/drawer/drawer.d.ts +8 -6
- package/dist/components/alert/drawer/drawer.js +12 -14
- package/dist/components/alert/drawer/drawer.styles.js +26 -10
- package/dist/components/alert/modal/modal.d.ts +13 -11
- package/dist/components/alert/modal/modal.js +17 -27
- package/dist/components/alert/modal/modal.styles.js +16 -7
- package/dist/components/alert/toast/toast.d.ts +9 -5
- package/dist/components/alert/toast/toast.js +11 -13
- package/dist/components/alert/toast/toast.styles.js +49 -18
- package/dist/components/content/badge/badge.js +2 -2
- package/dist/components/content/card/card.d.ts +7 -3
- package/dist/components/content/card/card.js +8 -4
- package/dist/components/content/card/card.styles.js +28 -13
- package/dist/components/content/card/image-card.d.ts +60 -6
- package/dist/components/content/card/image-card.js +120 -11
- package/dist/components/content/card/image-card.styles.js +66 -15
- package/dist/components/content/card/sliding-card.d.ts +2 -0
- package/dist/components/content/card/sliding-card.js +2 -0
- package/dist/components/content/card/sliding-card.styles.js +5 -1
- package/dist/components/content/chip/chip.d.ts +4 -4
- package/dist/components/content/chip/chip.js +8 -8
- package/dist/components/content/collapse/collapse.d.ts +10 -1
- package/dist/components/content/collapse/collapse.js +12 -2
- package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
- package/dist/components/content/collapse/collapse.styles.js +56 -18
- package/dist/components/content/description-list/description-list.d.ts +87 -0
- package/dist/components/content/description-list/description-list.js +107 -0
- package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
- package/dist/components/content/description-list/description-list.styles.js +185 -0
- package/dist/components/content/icon/icon.d.ts +5 -0
- package/dist/components/content/icon/icon.js +5 -0
- package/dist/components/content/icon/icon.style.d.ts +2 -0
- package/dist/components/content/icon/icon.style.js +8 -1
- package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
- package/dist/components/content/image-carousel/image-carousel.js +58 -55
- package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
- package/dist/components/content/password-strength/password-strength.d.ts +21 -6
- package/dist/components/content/password-strength/password-strength.js +37 -16
- package/dist/components/content/password-strength/password-strength.styles.js +9 -1
- package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
- package/dist/components/content/shared-styles/card-link.styles.js +4 -3
- package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
- package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
- package/dist/components/content/tag/tag.d.ts +4 -0
- package/dist/components/content/tag/tag.js +6 -2
- package/dist/components/content/tag/tag.styles.js +14 -4
- package/dist/components/content/tooltip/tooltip.d.ts +3 -2
- package/dist/components/content/tooltip/tooltip.js +12 -19
- package/dist/components/content/tooltip/tooltip.styles.js +25 -7
- package/dist/components/form/checkbox/check-card.d.ts +5 -1
- package/dist/components/form/checkbox/check-card.js +5 -1
- package/dist/components/form/checkbox/check-card.styles.js +13 -4
- package/dist/components/form/checkbox/checkbox-list.d.ts +21 -1
- package/dist/components/form/checkbox/checkbox-list.js +50 -17
- package/dist/components/form/checkbox/checkbox.d.ts +5 -1
- package/dist/components/form/checkbox/checkbox.js +7 -2
- package/dist/components/form/checkbox/checkbox.styles.js +5 -4
- package/dist/components/form/color-picker/color-picker.d.ts +48 -29
- package/dist/components/form/color-picker/color-picker.js +85 -71
- package/dist/components/form/color-picker/color-picker.styles.js +7 -6
- package/dist/components/form/counter/counter.d.ts +26 -19
- package/dist/components/form/counter/counter.js +64 -63
- package/dist/components/form/counter/counter.styles.js +5 -4
- package/dist/components/form/date-picker/date-picker.d.ts +64 -39
- package/dist/components/form/date-picker/date-picker.js +107 -96
- package/dist/components/form/date-picker/date-picker.styles.js +8 -5
- package/dist/components/form/input/input.d.ts +45 -40
- package/dist/components/form/input/input.js +93 -111
- package/dist/components/form/input-file/input-file.d.ts +30 -14
- package/dist/components/form/input-file/input-file.js +43 -40
- package/dist/components/form/input-file/input-file.styles.js +7 -6
- package/dist/components/form/input-phone/input-phone.d.ts +30 -7
- package/dist/components/form/input-phone/input-phone.js +54 -30
- package/dist/components/form/input-phone/input-phone.styles.js +4 -4
- package/dist/components/form/label/label.styles.js +3 -3
- package/dist/components/form/radio/radio-card.d.ts +6 -2
- package/dist/components/form/radio/radio-card.js +6 -2
- package/dist/components/form/radio/radio-card.styles.js +14 -5
- package/dist/components/form/radio/radio-list.d.ts +28 -9
- package/dist/components/form/radio/radio-list.js +61 -32
- package/dist/components/form/radio/radio.d.ts +6 -2
- package/dist/components/form/radio/radio.js +6 -2
- package/dist/components/form/radio/radio.styles.js +4 -4
- package/dist/components/form/rating/rating.d.ts +349 -0
- package/dist/components/form/rating/rating.js +665 -0
- package/dist/components/form/rating/rating.styles.d.ts +1 -0
- package/dist/components/form/rating/rating.styles.js +213 -0
- package/dist/components/form/search/search.d.ts +10 -9
- package/dist/components/form/search/search.js +29 -56
- package/dist/components/form/search/search.styles.js +5 -4
- package/dist/components/form/select/select.d.ts +32 -12
- package/dist/components/form/select/select.js +74 -59
- package/dist/components/form/select/select.styles.js +3 -2
- package/dist/components/form/shared-styles/card.styles.js +5 -4
- package/dist/components/form/shared-styles/field.styles.js +16 -6
- package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
- package/dist/components/form/shared-styles/listbox.styles.js +10 -0
- package/dist/components/form/slider/slider.d.ts +11 -9
- package/dist/components/form/slider/slider.js +14 -14
- package/dist/components/form/slider/slider.styles.js +8 -7
- package/dist/components/form/switch/switch.d.ts +5 -1
- package/dist/components/form/switch/switch.js +5 -1
- package/dist/components/form/switch/switch.styles.js +7 -5
- package/dist/components/form/textarea/textarea.d.ts +96 -24
- package/dist/components/form/textarea/textarea.js +206 -51
- package/dist/components/form/time-picker/time-picker-columns.d.ts +2 -2
- package/dist/components/form/time-picker/time-picker-columns.js +8 -8
- package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
- package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
- package/dist/components/form/time-picker/time-picker.d.ts +30 -10
- package/dist/components/form/time-picker/time-picker.js +81 -64
- package/dist/components/form/time-picker/time-picker.styles.js +4 -3
- package/dist/components/layout/animate/animate.d.ts +37 -15
- package/dist/components/layout/animate/animate.js +36 -16
- package/dist/components/layout/animate/animate.styles.js +11 -18
- package/dist/components/layout/divider/divider.js +1 -1
- package/dist/components/layout/divider/divider.styles.js +1 -1
- package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
- package/dist/components/layout/infinite-list/infinite-list.js +115 -18
- package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
- package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
- package/dist/components/loader/loader/loader.js +2 -2
- package/dist/components/loader/loader/loader.styles.js +17 -13
- package/dist/components/loader/skeleton/skeleton.js +1 -1
- package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
- package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
- package/dist/components/navigation/carousel/carousel.d.ts +55 -11
- package/dist/components/navigation/carousel/carousel.js +101 -43
- package/dist/components/navigation/carousel/carousel.styles.js +65 -22
- package/dist/components/navigation/pagination/pagination.d.ts +23 -21
- package/dist/components/navigation/pagination/pagination.js +30 -53
- package/dist/components/navigation/pagination/pagination.styles.js +8 -3
- package/dist/components/navigation/sidebar/sidebar.d.ts +17 -13
- package/dist/components/navigation/sidebar/sidebar.js +23 -33
- package/dist/components/navigation/sidebar/sidebar.styles.js +32 -14
- package/dist/components/navigation/stepper/step.js +9 -8
- package/dist/components/navigation/stepper/step.styles.js +16 -5
- package/dist/components/navigation/stepper/stepper.js +12 -5
- package/dist/components/navigation/stepper/stepper.styles.js +16 -5
- package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
- package/dist/components/navigation/tabs/tab/tab.js +11 -0
- package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
- package/dist/components/navigation/tabs/tab-group/tab-group.js +9 -10
- package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +21 -16
- package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
- package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
- package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
- package/dist/components/navigation/toolbar/toolbar.d.ts +30 -62
- package/dist/components/navigation/toolbar/toolbar.js +43 -105
- package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
- package/dist/events/table-row-click.event.d.ts +5 -4
- package/dist/events/table-row-click.event.js +10 -5
- package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
- package/dist/features/scheduler/calendar/calendar.js +7 -6
- package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
- package/dist/features/scheduler/scheduler/scheduler.d.ts +8 -8
- package/dist/features/scheduler/scheduler/scheduler.js +24 -47
- package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
- package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +2 -0
- package/dist/features/scheduler/scheduler-event/scheduler-event.js +5 -3
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +11 -5
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +6 -4
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +6 -7
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
- package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
- package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
- package/dist/features/table/table/table-native.styles.d.ts +28 -0
- package/dist/features/table/table/table-native.styles.js +502 -0
- package/dist/features/table/table/table.d.ts +342 -294
- package/dist/features/table/table/table.js +820 -546
- package/dist/features/table/table/table.styles.js +31 -17
- package/dist/features/table/table/table.types.d.ts +11 -20
- package/dist/features/table/table/table.utils.d.ts +6 -36
- package/dist/features/table/table/table.utils.js +16 -65
- package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
- package/dist/features/table/table-action-bar/table-action-bar.js +15 -22
- package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
- package/dist/i18n/en.d.ts +99 -0
- package/dist/i18n/en.js +99 -0
- package/dist/i18n/fr.js +103 -2
- package/dist/index.d.ts +6 -10
- package/dist/index.js +7 -10
- package/dist/mixins/button.mixin.js +3 -2
- package/dist/mixins/check.mixin.js +15 -15
- package/dist/mixins/disabled.mixin.d.ts +5 -0
- package/dist/mixins/disabled.mixin.js +21 -1
- package/dist/mixins/editable.mixin.js +28 -5
- package/dist/mixins/field-appearance.mixin.js +3 -2
- package/dist/mixins/form.mixin.d.ts +21 -1
- package/dist/mixins/form.mixin.js +156 -27
- package/dist/mixins/localizable.mixin.d.ts +1 -1
- package/dist/mixins/localizable.mixin.js +1 -1
- package/dist/mixins/radio.mixin.js +15 -15
- package/dist/mixins/readonly.mixin.d.ts +2 -1
- package/dist/mixins/readonly.mixin.js +10 -3
- package/dist/mixins/validators.mixin.d.ts +7 -1
- package/dist/mixins/validators.mixin.js +36 -17
- package/dist/ssr/alert-ssr.css +187 -0
- package/dist/ssr/animate-ssr.css +3 -2
- package/dist/ssr/badge-ssr.css +67 -0
- package/dist/ssr/breadcrumb-ssr.css +41 -0
- package/dist/ssr/button-ssr.css +319 -0
- package/dist/ssr/card-ssr.css +196 -0
- package/dist/ssr/carousel-ssr.css +238 -0
- package/dist/ssr/checkbox-ssr.css +67 -0
- package/dist/ssr/chip-ssr.css +242 -0
- package/dist/ssr/collapse-ssr.css +151 -0
- package/dist/ssr/description-list-ssr.css +150 -0
- package/dist/ssr/field-ssr.css +163 -0
- package/dist/ssr/icon-ssr.css +266 -0
- package/dist/ssr/image-carousel-ssr.css +24 -0
- package/dist/ssr/links-ssr.css +8 -2
- package/dist/ssr/pagination-ssr.css +4 -0
- package/dist/ssr/rating-ssr.css +254 -0
- package/dist/ssr/sidebar-ssr.css +9 -1
- package/dist/ssr/skeleton-ssr.css +63 -0
- package/dist/ssr/table-ssr.css +472 -0
- package/dist/ssr/tabs-ssr.css +129 -0
- package/dist/ssr/tag-ssr.css +197 -0
- package/dist/ssr/toggle-group-ssr.css +182 -0
- package/dist/ssr/toolbar-ssr.css +34 -1
- package/dist/utils/drag-drop.utils.js +18 -2
- package/dist/utils/dropdown-menu.utils.d.ts +2 -2
- package/dist/utils/dropdown-menu.utils.js +4 -14
- package/dist/utils/implicit-submission.utils.d.ts +18 -0
- package/dist/utils/implicit-submission.utils.js +79 -0
- package/dist/utils/light-dom-styles.utils.d.ts +14 -0
- package/dist/utils/light-dom-styles.utils.js +37 -0
- package/dist/utils/listbox-options.utils.d.ts +11 -0
- package/dist/utils/listbox-options.utils.js +41 -3
- package/dist/utils/media.styles.d.ts +19 -0
- package/dist/utils/media.styles.js +23 -0
- package/dist/utils/motion.utils.d.ts +40 -0
- package/dist/utils/motion.utils.js +51 -0
- package/dist/utils/theme-generator.utils.d.ts +6 -1
- package/dist/utils/theme-generator.utils.js +59 -20
- package/package.json +39 -31
- package/styles/breakpoints.scss +8 -0
- package/styles/eunomia-grid.scss +6 -0
- package/styles/themes/eunomia-theme.scss +4 -3
- package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
- package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
- package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
- package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
- package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
- package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
- package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
- package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
- package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
- package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
- package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
- package/dist/cdn/components/chunks/chunk-32DTNR52.js +0 -1
- package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
- package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
- package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
- package/dist/cdn/components/chunks/chunk-E4IS25H7.js +0 -1
- package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
- package/dist/cdn/components/chunks/chunk-EAKYD33D.js +0 -110
- package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
- package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
- package/dist/cdn/components/chunks/chunk-KBH5PCUO.js +0 -3
- package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
- package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +0 -1
- package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
- package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
- package/dist/cdn/components/chunks/chunk-S2UCEWNG.js +0 -207
- package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +0 -1
- package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
- package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
- package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
- package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
- package/dist/cdn/components/eun-table-cell.js +0 -1
- package/dist/cdn/components/eun-table-column.js +0 -1
- package/dist/cdn/components/eun-table-header.js +0 -1
- package/dist/cdn/components/eun-table-item.js +0 -1
- package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
- package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
- package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
- package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
- package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
- package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
- package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
- package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
- package/dist/features/table/native-table.css +0 -276
- package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
- package/dist/features/table/shared-styles/table-row.styles.js +0 -47
- package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
- package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
- package/dist/features/table/table-cell/table-cell.d.ts +0 -59
- package/dist/features/table/table-cell/table-cell.js +0 -73
- package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
- package/dist/features/table/table-cell/table-cell.styles.js +0 -46
- package/dist/features/table/table-column/table-column.d.ts +0 -73
- package/dist/features/table/table-column/table-column.js +0 -89
- package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
- package/dist/features/table/table-column/table-column.styles.js +0 -51
- package/dist/features/table/table-header/table-header.d.ts +0 -102
- package/dist/features/table/table-header/table-header.js +0 -165
- package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
- package/dist/features/table/table-header/table-header.styles.js +0 -147
- package/dist/features/table/table-item/table-item.d.ts +0 -179
- package/dist/features/table/table-item/table-item.js +0 -291
- package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
- package/dist/features/table/table-item/table-item.styles.js +0 -404
- package/dist/features/table/table-managed/table-managed.d.ts +0 -19
- package/dist/features/table/table-managed/table-managed.js +0 -128
- package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
- package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
- package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
- package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
- package/dist/mixins/table-row.mixin.d.ts +0 -37
- package/dist/mixins/table-row.mixin.js +0 -103
- package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
- package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
- package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
|
@@ -1,106 +1,130 @@
|
|
|
1
1
|
import { LitElement, PropertyValues, TemplateResult } from "lit";
|
|
2
2
|
import { EunomiaTableAction, EunomiaTableColumnDef, EunomiaTableRowActionDef } from "./table.types.js";
|
|
3
|
-
import "
|
|
3
|
+
import "../../../components/form/checkbox/checkbox.js";
|
|
4
|
+
import "../../../components/action/button/button.js";
|
|
5
|
+
import "../../../components/action/dropdown-button/dropdown-button.js";
|
|
6
|
+
import "../../../components/content/icon/icon.js";
|
|
4
7
|
import "../../../components/loader/loader/loader.js";
|
|
8
|
+
import "../../../components/loader/skeleton/skeleton.js";
|
|
5
9
|
/**
|
|
6
10
|
* Tag name of the table component.
|
|
7
11
|
*/
|
|
8
12
|
export declare const EunomiaTableTagName = "eun-table";
|
|
9
|
-
declare const EunomiaTable_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/load-more-sentinel.mixin.js").LoadMoreSentinelMixinInterface> & typeof LitElement;
|
|
13
|
+
declare const EunomiaTable_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/localizable.mixin.js").LocalizableMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/load-more-sentinel.mixin.js").LoadMoreSentinelMixinInterface> & typeof LitElement;
|
|
10
14
|
/**
|
|
11
|
-
* A
|
|
12
|
-
*
|
|
13
|
-
*
|
|
15
|
+
* A data table built on a native `<table>` (`<eun-table><table>…</table></eun-table>`).
|
|
16
|
+
* The table keeps its native semantics (`table`, `row`, `columnheader`,
|
|
17
|
+
* `rowheader`, `cell`), renders before any script runs, and holds any
|
|
18
|
+
* content: tags, icons, buttons, dropdown buttons, links.
|
|
14
19
|
*
|
|
15
|
-
*
|
|
16
|
-
*
|
|
17
|
-
*
|
|
18
|
-
*
|
|
19
|
-
*
|
|
20
|
-
*
|
|
21
|
-
* its own `:host`, inheriting the exact same tracks the browser computed
|
|
22
|
-
* once for the whole grid: this is what keeps `auto`/flexible columns
|
|
23
|
-
* pixel-aligned across every row with zero JS measurement. The track list
|
|
24
|
-
* itself (from `eun-table-column`'s `width`, plus a select/action track
|
|
25
|
-
* when relevant) is computed in `updateColumnsTemplate` and applied as the
|
|
26
|
-
* `--_columns` custom property `table.styles.ts`'s `:host` reads.
|
|
20
|
+
* `eun-table` styles the slotted table from the light DOM and layers the
|
|
21
|
+
* optional behaviors on top: row selection with a checkbox column it
|
|
22
|
+
* generates and a floating action bar, row end actions revealed on hover
|
|
23
|
+
* (cells marked `data-table-action`), clickable rows, sticky header,
|
|
24
|
+
* footer, and columns, loading placeholders, and scroll-driven pagination.
|
|
25
|
+
* Without any of those, it's a plain, read-only table.
|
|
27
26
|
*
|
|
28
|
-
*
|
|
29
|
-
*
|
|
30
|
-
*
|
|
31
|
-
*
|
|
32
|
-
*
|
|
33
|
-
* data-driven renders.
|
|
27
|
+
* A row click follows the link marked `data-table-row-link` in that row,
|
|
28
|
+
* which stays the keyboard way to reach it. Rows are identified by their
|
|
29
|
+
* `data-row-key` attribute. A `<tfoot>` holds
|
|
30
|
+
* summary rows, kept out of the selection. A `<caption>` stays in the
|
|
31
|
+
* table for its semantics, and shows above the table's frame.
|
|
34
32
|
*
|
|
35
|
-
* @slot [default] -
|
|
36
|
-
* @
|
|
37
|
-
* @prop {boolean} [
|
|
33
|
+
* @slot [default] - A native `<table>`, with a `<thead>`, a `<tbody>`, and an optional `<caption>` and `<tfoot>`
|
|
34
|
+
* @csspart frame - The bordered scroll container around the table
|
|
35
|
+
* @prop {boolean} [selectable=false] - Enables row selection (generated checkbox column, select-all, the floating action bar)
|
|
36
|
+
* @prop {boolean} [checkboxAlwaysVisible=false] - Keeps every row's own checkbox visible at all times instead of only on hover/focus/selection
|
|
38
37
|
* @attr {boolean} [checkbox-always-visible=false] - Keeps every row's own checkbox visible at all times instead of only on hover/focus/selection
|
|
39
|
-
* @prop {boolean} [actionAlwaysVisible=false] - Keeps every row
|
|
40
|
-
* @attr {boolean} [action-always-visible=false] - Keeps every row
|
|
41
|
-
* @prop {boolean} [stickyHeader=false] - Pins the
|
|
38
|
+
* @prop {boolean} [actionAlwaysVisible=false] - Keeps every row end action (a `data-table-action` cell's content) visible at all times instead of only on hover/focus ; still hidden while rows are selected
|
|
39
|
+
* @attr {boolean} [action-always-visible=false] - Keeps every row end action visible at all times instead of only on hover/focus
|
|
40
|
+
* @prop {boolean} [stickyHeader=false] - Pins the `<thead>` to the top of the table's own scroll container
|
|
42
41
|
* @attr {boolean} [sticky-header=false] - Pins the header to the top
|
|
42
|
+
* @prop {boolean} [stickyFooter=false] - Pins the `<tfoot>` to the bottom of the table's own scroll container
|
|
43
|
+
* @attr {boolean} [sticky-footer=false] - Pins the footer to the bottom
|
|
43
44
|
* @prop {boolean} [stickyFirstColumn=false] - Pins the first data column to the start edge
|
|
44
45
|
* @attr {boolean} [sticky-first-column=false] - Pins the first data column to the start edge
|
|
45
|
-
* @prop {boolean} [stickyLastColumn=false] - Pins the last data column to the end edge
|
|
46
|
+
* @prop {boolean} [stickyLastColumn=false] - Pins the last data column, and the row end action column, to the end edge
|
|
46
47
|
* @attr {boolean} [sticky-last-column=false] - Pins the last data column to the end edge
|
|
47
|
-
* @prop {boolean} [clearOnEscape=false] - Whether `Escape` clears the selection while the action bar is shown
|
|
48
|
+
* @prop {boolean} [clearOnEscape=false] - Whether `Escape` clears the selection while the action bar is shown
|
|
48
49
|
* @attr {boolean} [clear-on-escape=false] - Whether `Escape` clears the selection while the action bar is shown
|
|
49
|
-
* @prop {Array<string>} [selectedKeys=[]] - The currently selected rows' keys ; settable from outside for a "controlled" table
|
|
50
|
+
* @prop {Array<string>} [selectedKeys=[]] - The currently selected rows' keys ; settable from outside for a "controlled" table
|
|
50
51
|
* @prop {Array<import('./table.types.js').EunomiaTableAction>} [actions=[]] - Custom actions rendered in the floating action bar's center region
|
|
51
|
-
* @prop {string} [selectedLabel='selected'] - Text shown after the count in the action bar's badge
|
|
52
|
+
* @prop {string} [selectedLabel='selected'] - Text shown after the count in the action bar's badge ; translated from `locale` while unset
|
|
52
53
|
* @attr {string} [selected-label='selected'] - Text shown after the count in the action bar's badge
|
|
53
|
-
* @prop {string} [selectAllLabel='Select all'] - Label of the action bar's select-all button while not every row is selected
|
|
54
|
+
* @prop {string} [selectAllLabel='Select all'] - Label of the action bar's select-all button while not every row is selected ; translated from `locale` while unset
|
|
54
55
|
* @attr {string} [select-all-label='Select all'] - Label of the action bar's select-all button
|
|
55
|
-
* @prop {string} [deselectAllLabel='Deselect all'] - Label of the action bar's select-all button once every row is selected
|
|
56
|
+
* @prop {string} [deselectAllLabel='Deselect all'] - Label of the action bar's select-all button once every row is selected ; translated from `locale` while unset
|
|
56
57
|
* @attr {string} [deselect-all-label='Deselect all'] - Label of the action bar's select-all button once every row is selected
|
|
57
|
-
* @prop {string} [selectAllAriaLabel='Select all rows'] - Accessible label for the header's select-all checkbox while not every row is selected
|
|
58
|
+
* @prop {string} [selectAllAriaLabel='Select all rows'] - Accessible label for the header's select-all checkbox while not every row is selected ; translated from `locale` while unset
|
|
58
59
|
* @attr {string} [select-all-aria-label='Select all rows'] - Accessible label for the header's select-all checkbox
|
|
59
|
-
* @prop {string} [deselectAllAriaLabel='Deselect all rows'] - Accessible label for the header's select-all checkbox once every row is selected
|
|
60
|
+
* @prop {string} [deselectAllAriaLabel='Deselect all rows'] - Accessible label for the header's select-all checkbox once every row is selected ; translated from `locale` while unset
|
|
60
61
|
* @attr {string} [deselect-all-aria-label='Deselect all rows'] - Accessible label for the header's select-all checkbox
|
|
61
|
-
* @prop {string} [selectRowAriaLabel='Select row'] - Accessible label prefix for each row's own checkbox
|
|
62
|
+
* @prop {string} [selectRowAriaLabel='Select row'] - Accessible label prefix for each row's own checkbox, followed by the row header's text, or its 1-based row number without one ; translated from `locale` while unset
|
|
62
63
|
* @attr {string} [select-row-aria-label='Select row'] - Accessible label prefix for each row's own checkbox
|
|
63
|
-
* @prop {string} [toolbarAriaLabel='Selection actions'] - Accessible label for the floating action bar itself
|
|
64
|
+
* @prop {string} [toolbarAriaLabel='Selection actions'] - Accessible label for the floating action bar itself ; translated from `locale` while unset
|
|
64
65
|
* @attr {string} [toolbar-aria-label='Selection actions'] - Accessible label for the floating action bar itself
|
|
65
|
-
* @prop {string} [closeActionBarAriaLabel='Clear selection'] - Accessible label for the action bar's close button
|
|
66
|
+
* @prop {string} [closeActionBarAriaLabel='Clear selection'] - Accessible label for the action bar's close button ; translated from `locale` while unset
|
|
66
67
|
* @attr {string} [close-action-bar-aria-label='Clear selection'] - Accessible label for the action bar's close button
|
|
67
|
-
* @prop {Array<import('./table.types.js').EunomiaTableColumnDef<T>>} [columns] - Programmatic alternative to
|
|
68
|
+
* @prop {Array<import('./table.types.js').EunomiaTableColumnDef<T>>} [columns] - Programmatic alternative to authoring the `<table>` : when set, `eun-table` renders the native table itself from `columns`/`data`, and owns its light DOM from then on
|
|
68
69
|
* @prop {Array<T>} [data=[]] - The rows to render, in "managed" mode (see `columns`)
|
|
69
|
-
* @prop {import('./table.types.js').EunomiaTableRowActionDef<T>} [rowAction] - A single row
|
|
70
|
-
* @prop {(row: T, index: number) => string} [rowKey] - Computes each row's stable key, in "managed" mode ; defaults to a DOM-order fallback
|
|
71
|
-
* @
|
|
72
|
-
* @fires {TableActionEvent} euntableaction - Emitted when a floating action bar action is activated
|
|
73
|
-
* @prop {boolean} [loading=false] - Shows `skeletonRows` shimmering placeholder rows in place of the real ones: the header stays visible, only `eun-table-item`s are hidden ; set back to `false` once real data has arrived
|
|
70
|
+
* @prop {import('./table.types.js').EunomiaTableRowActionDef<T>} [rowAction] - A single row end action (button or dropdown), in "managed" mode
|
|
71
|
+
* @prop {(row: T, index: number) => string} [rowKey] - Computes each row's stable key, in "managed" mode ; defaults to a DOM-order fallback
|
|
72
|
+
* @prop {boolean} [loading=false] - Shows `skeletonRows` placeholder rows in place of the body rows ; the header stays visible
|
|
74
73
|
* @prop {number} [skeletonRows=6] - Number of placeholder rows rendered while `loading`
|
|
75
74
|
* @attr {number} [skeleton-rows=6] - Number of placeholder rows rendered while `loading`
|
|
76
|
-
* @prop {boolean} [syncing=false] -
|
|
77
|
-
* @prop {boolean} [clickable=false] - Shows a pointer cursor on
|
|
78
|
-
* @
|
|
79
|
-
* @prop {boolean} [
|
|
80
|
-
* @prop {
|
|
81
|
-
* @prop {number} [pageSize=20] - Number of rows per page: both the unit `eunloadmore` requests are made in, and the chunk size `virtualize` mounts/unmounts as a whole
|
|
75
|
+
* @prop {boolean} [syncing=false] - Sweeps a shimmer across every visible body row without hiding any, for a background refresh. Sets `aria-busy` on the table while set
|
|
76
|
+
* @prop {boolean} [clickable=false] - Shows a pointer cursor on body rows ; a row click fires `euntablerowclick` and follows the row's `data-table-row-link` link regardless, which stays the keyboard way to do the same
|
|
77
|
+
* @prop {boolean} [infinite=false] - Enables scroll-triggered pagination : dispatches `eunloadmore` once the user scrolls near the end of the table's own scroll container and `hasMore` is `true`
|
|
78
|
+
* @prop {boolean} [virtualize=false] - Detaches body row pages far from the current scroll position once the row count exceeds `virtualizeThreshold`, each replaced by a spacer row of the same height
|
|
79
|
+
* @prop {number} [pageSize=20] - Number of rows per page, for both `eunloadmore` and `virtualize`
|
|
82
80
|
* @attr {number} [page-size=20] - Number of rows per page
|
|
83
|
-
* @prop {number} [virtualizeThreshold=100] -
|
|
84
|
-
* @attr {number} [virtualize-threshold=100] -
|
|
85
|
-
* @prop {number} [bufferPages=1] - Number of extra pages kept mounted before and after the page
|
|
86
|
-
* @attr {number} [buffer-pages=1] - Number of extra pages kept mounted before and after the page
|
|
87
|
-
* @prop {boolean} [hasMore=false] - Whether more rows can still be obtained
|
|
81
|
+
* @prop {number} [virtualizeThreshold=100] - Row count above which `virtualize` starts detaching pages
|
|
82
|
+
* @attr {number} [virtualize-threshold=100] - Row count above which `virtualize` starts detaching pages
|
|
83
|
+
* @prop {number} [bufferPages=1] - Number of extra pages kept mounted before and after the page in view
|
|
84
|
+
* @attr {number} [buffer-pages=1] - Number of extra pages kept mounted before and after the page in view
|
|
85
|
+
* @prop {boolean} [hasMore=false] - Whether more rows can still be obtained
|
|
88
86
|
* @attr {boolean} [has-more=false] - Whether more rows can still be obtained
|
|
89
|
-
* @prop {boolean} [loadingMore=false] - Whether a `eunloadmore` request is
|
|
90
|
-
* @attr {boolean} [loading-more=false] - Whether a `eunloadmore` request is
|
|
91
|
-
* @prop {string} [rootMargin='400px'] - How far before the
|
|
92
|
-
* @attr {string} [root-margin='400px'] - How far before the
|
|
93
|
-
* @prop {string} [loadingMoreLabel='Loading more rows…'] - Accessible label passed to the trailing `eun-loader`
|
|
87
|
+
* @prop {boolean} [loadingMore=false] - Whether a `eunloadmore` request is in flight ; set to `true` right before the event fires, reset by the consumer once rows are appended
|
|
88
|
+
* @attr {boolean} [loading-more=false] - Whether a `eunloadmore` request is in flight
|
|
89
|
+
* @prop {string} [rootMargin='400px'] - How far before the end of the table `eunloadmore` triggers, as a CSS-like margin
|
|
90
|
+
* @attr {string} [root-margin='400px'] - How far before the end of the table `eunloadmore` triggers
|
|
91
|
+
* @prop {string} [loadingMoreLabel='Loading more rows…'] - Accessible label passed to the trailing `eun-loader` ; translated from `locale` while unset
|
|
94
92
|
* @attr {string} [loading-more-label='Loading more rows…'] - Accessible label passed to the trailing `eun-loader`
|
|
95
|
-
* @fires {
|
|
96
|
-
* @
|
|
97
|
-
* @
|
|
98
|
-
* @
|
|
99
|
-
* @cssprop [--table-
|
|
100
|
-
* @cssprop [--table-
|
|
101
|
-
* @cssprop [--table-
|
|
102
|
-
* @cssprop [--table-
|
|
103
|
-
* @cssprop [--table-
|
|
93
|
+
* @fires {TableSelectionChangeEvent} euntableselectionchange - Emitted whenever the selection changes, from any source
|
|
94
|
+
* @fires {TableActionEvent} euntableaction - Emitted when a floating action bar action is activated
|
|
95
|
+
* @fires {TableRowClickEvent} euntablerowclick - Emitted on a body row click outside its checkbox, its action cell, and any interactive content, while no row is selected ; cancelable, `preventDefault()` keeps the row's `data-table-row-link` link from being followed
|
|
96
|
+
* @fires {LoadMoreEvent} eunloadmore - Dispatched when `infinite` is set, more rows are needed, and `hasMore` is `true`
|
|
97
|
+
* @cssprop [--table-border-color] - Sets the border color of the frame and the rows
|
|
98
|
+
* @cssprop [--table-background] - Sets the background color of the frame
|
|
99
|
+
* @cssprop [--table-max-height] - Sets a max height, scrolling past it ; `none` by default
|
|
100
|
+
* @cssprop [--table-caption-color] - Sets the text color of the `<caption>`
|
|
101
|
+
* @cssprop [--table-caption-font-size] - Sets the font size of the `<caption>`
|
|
102
|
+
* @cssprop [--table-caption-font-weight] - Sets the font weight of the `<caption>`
|
|
103
|
+
* @cssprop [--table-header-background] - Sets the background color of the header cells
|
|
104
|
+
* @cssprop [--table-footer-background] - Sets the background color of the footer cells
|
|
105
|
+
* @cssprop [--table-row-background] - Sets the background color of the body cells
|
|
106
|
+
* @cssprop [--table-row-hover-background] - Sets the tint of a hovered or focused body row
|
|
107
|
+
* @cssprop [--table-row-selected-background] - Sets the tint of a selected body row
|
|
108
|
+
* @cssprop [--table-row-dragging-background] - Sets the tint of a row being reordered with `createDragReorder`
|
|
109
|
+
* @cssprop [--table-row-transition-duration] - Sets the duration of the hover and selection tint transitions
|
|
110
|
+
* @cssprop [--table-column-color] - Sets the text color of the header cells
|
|
111
|
+
* @cssprop [--table-column-font-weight] - Sets the font weight of the header cells
|
|
112
|
+
* @cssprop [--table-cell-color] - Sets the text color of the cells
|
|
113
|
+
* @cssprop [--table-column-border-color] - Sets the color of a vertical divider between columns ; transparent by default
|
|
114
|
+
* @cssprop [--table-sticky-column-background] - Sets the background color of a sticky column's cells, and of the selection column
|
|
115
|
+
* @cssprop [--table-sticky-row-background] - Sets the background color of the footer cells while `stickyFooter`
|
|
116
|
+
* @cssprop [--table-sticky-border-color] - Sets the color of the edges of a sticky header, footer, or column
|
|
117
|
+
* @cssprop [--table-checkbox-background] - Sets the background color of an unchecked selection checkbox
|
|
118
|
+
* @cssprop [--table-checkbox-border-color] - Sets the border color of an unchecked selection checkbox
|
|
119
|
+
* @cssprop [--table-checkbox-hover] - Sets the background color of an unchecked selection checkbox while hovered
|
|
120
|
+
* @cssprop [--table-action-color] - Sets the text and icon color of a row end action
|
|
121
|
+
* @cssprop [--eun-table-select-col-width] - Sets the width of the selection column ; 40px by default
|
|
122
|
+
* @cssprop [--eun-table-action-col-width] - Sets the width of the row end action column, which stays fixed so a sticky last column lines up with it ; 56px by default, enough for an icon-only button
|
|
123
|
+
* @cssprop [--table-skeleton-stagger] - Delay between each placeholder row's entrance animation, as a CSS time (e.g. `60ms`)
|
|
124
|
+
* @cssprop [--table-skeleton-duration] - Duration of each placeholder row's entrance animation, as a CSS time (e.g. `320ms`)
|
|
125
|
+
* @cssprop [--table-loader-color] - Sets the color of the trailing `eun-loader` shown while `loadingMore`
|
|
126
|
+
* @cssprop [--table-sync-overlay-color] - Sets the highlight color of the `syncing` shimmer sweep
|
|
127
|
+
* @cssprop [--table-sync-duration] - Sets the duration of the `syncing` shimmer sweep, as a CSS time (default `1.6s`)
|
|
104
128
|
* @element eun-table
|
|
105
129
|
* @template T Shape of a data row, in "managed" `columns`/`data` mode.
|
|
106
130
|
*/
|
|
@@ -122,6 +146,8 @@ export declare class EunomiaTable<T extends object = Record<string, unknown>> ex
|
|
|
122
146
|
/** @default false */
|
|
123
147
|
stickyHeader: boolean;
|
|
124
148
|
/** @default false */
|
|
149
|
+
stickyFooter: boolean;
|
|
150
|
+
/** @default false */
|
|
125
151
|
stickyFirstColumn: boolean;
|
|
126
152
|
/** @default false */
|
|
127
153
|
stickyLastColumn: boolean;
|
|
@@ -151,31 +177,56 @@ export declare class EunomiaTable<T extends object = Record<string, unknown>> ex
|
|
|
151
177
|
loadingMore: boolean;
|
|
152
178
|
/** @default 400px */
|
|
153
179
|
rootMargin: string;
|
|
154
|
-
/**
|
|
155
|
-
|
|
180
|
+
/**
|
|
181
|
+
* Translated from `locale` while unset.
|
|
182
|
+
* @default Loading more rows…
|
|
183
|
+
*/
|
|
184
|
+
loadingMoreLabel?: string;
|
|
156
185
|
/** @default [] */
|
|
157
186
|
actions: EunomiaTableAction[];
|
|
158
|
-
/**
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
|
|
167
|
-
|
|
168
|
-
/**
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
*
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
187
|
+
/**
|
|
188
|
+
* Translated from `locale` while unset.
|
|
189
|
+
* @default selected
|
|
190
|
+
*/
|
|
191
|
+
selectedLabel?: string;
|
|
192
|
+
/**
|
|
193
|
+
* Translated from `locale` while unset.
|
|
194
|
+
* @default Select all
|
|
195
|
+
*/
|
|
196
|
+
selectAllLabel?: string;
|
|
197
|
+
/**
|
|
198
|
+
* Translated from `locale` while unset.
|
|
199
|
+
* @default Deselect all
|
|
200
|
+
*/
|
|
201
|
+
deselectAllLabel?: string;
|
|
202
|
+
/**
|
|
203
|
+
* Translated from `locale` while unset.
|
|
204
|
+
* @default Select all rows
|
|
205
|
+
*/
|
|
206
|
+
selectAllAriaLabel?: string;
|
|
207
|
+
/**
|
|
208
|
+
* Translated from `locale` while unset.
|
|
209
|
+
* @default Deselect all rows
|
|
210
|
+
*/
|
|
211
|
+
deselectAllAriaLabel?: string;
|
|
212
|
+
/**
|
|
213
|
+
* Translated from `locale` while unset.
|
|
214
|
+
* @default Select row
|
|
215
|
+
*/
|
|
216
|
+
selectRowAriaLabel?: string;
|
|
217
|
+
/**
|
|
218
|
+
* Translated from `locale` while unset.
|
|
219
|
+
* @default Selection actions
|
|
220
|
+
*/
|
|
221
|
+
toolbarAriaLabel?: string;
|
|
222
|
+
/**
|
|
223
|
+
* Translated from `locale` while unset.
|
|
224
|
+
* @default Clear selection
|
|
225
|
+
*/
|
|
226
|
+
closeActionBarAriaLabel?: string;
|
|
227
|
+
/**
|
|
228
|
+
* Programmatic alternative to authoring the `<table>`. Setting this
|
|
229
|
+
* (even to an empty array) puts the table in "managed" mode.
|
|
179
230
|
*/
|
|
180
231
|
columns?: EunomiaTableColumnDef<T>[];
|
|
181
232
|
/**
|
|
@@ -184,96 +235,98 @@ export declare class EunomiaTable<T extends object = Record<string, unknown>> ex
|
|
|
184
235
|
*/
|
|
185
236
|
data: T[];
|
|
186
237
|
/**
|
|
187
|
-
* A single row
|
|
188
|
-
* data-driven equivalent of a `slot="action"` element.
|
|
238
|
+
* A single row end action (button or dropdown), in "managed" mode.
|
|
189
239
|
*/
|
|
190
240
|
rowAction?: EunomiaTableRowActionDef<T>;
|
|
191
241
|
/**
|
|
192
|
-
* Computes each row's stable key, in "managed" mode
|
|
193
|
-
* DOM-order fallback, same caveat as `eun-table-item`'s own `row-key`.
|
|
242
|
+
* Computes each row's stable key, in "managed" mode.
|
|
194
243
|
*/
|
|
195
244
|
rowKey?: (row: T, index: number) => string;
|
|
196
245
|
/**
|
|
197
|
-
* The current selection,
|
|
198
|
-
*
|
|
199
|
-
* external reads/writes go through the `selectedKeys` accessor, which
|
|
200
|
-
* handles change detection and event dispatch explicitly.
|
|
246
|
+
* The current selection, the source of truth `selectedKeys` reads and
|
|
247
|
+
* writes through.
|
|
201
248
|
* @internal
|
|
202
249
|
*/
|
|
203
250
|
private internalSelection;
|
|
204
251
|
/**
|
|
205
|
-
*
|
|
206
|
-
*
|
|
252
|
+
* The zero-size marker observed to detect the end of the rows, rendered
|
|
253
|
+
* only while `infinite` is set.
|
|
207
254
|
* @internal
|
|
255
|
+
* @readonly
|
|
208
256
|
*/
|
|
209
|
-
private
|
|
257
|
+
private readonly sentinelEl?;
|
|
210
258
|
/**
|
|
211
|
-
* The
|
|
259
|
+
* The framed scroll container wrapping the slotted table. A sticky
|
|
260
|
+
* header, column, or footer sticks relative to it.
|
|
212
261
|
* @internal
|
|
213
262
|
* @readonly
|
|
214
263
|
*/
|
|
215
|
-
private readonly
|
|
264
|
+
private readonly frameEl?;
|
|
216
265
|
/**
|
|
217
|
-
*
|
|
266
|
+
* Watches the table's `<caption>` size, which this element reserves
|
|
267
|
+
* above the frame.
|
|
218
268
|
* @internal
|
|
219
|
-
* @readonly
|
|
220
269
|
*/
|
|
221
|
-
private
|
|
270
|
+
private captionObserver?;
|
|
222
271
|
/**
|
|
223
|
-
*
|
|
224
|
-
* removals, and `width` changes — none of which a `slotchange` on this
|
|
225
|
-
* component's own slot would catch (that only fires when the *assigned*
|
|
226
|
-
* nodes themselves change, not their descendants).
|
|
272
|
+
* The `<caption>` currently watched by {@link captionObserver}.
|
|
227
273
|
* @internal
|
|
228
274
|
*/
|
|
229
|
-
private
|
|
275
|
+
private observedCaption?;
|
|
230
276
|
/**
|
|
231
|
-
*
|
|
232
|
-
*
|
|
277
|
+
* Watches the light DOM for structural changes (rows, cells, sections)
|
|
278
|
+
* so generated cells and row state stay in sync.
|
|
233
279
|
* @internal
|
|
234
280
|
*/
|
|
235
|
-
private
|
|
281
|
+
private mutationObserver?;
|
|
236
282
|
/**
|
|
237
|
-
* The body
|
|
283
|
+
* The resolved key of every body row known at the last sync.
|
|
238
284
|
* @internal
|
|
239
285
|
*/
|
|
240
|
-
private
|
|
286
|
+
private rowKeys;
|
|
287
|
+
/**
|
|
288
|
+
* Whether `aria-rowcount`/`aria-rowindex` were set for `virtualize`, so
|
|
289
|
+
* they're only ever removed by this component.
|
|
290
|
+
* @internal
|
|
291
|
+
*/
|
|
292
|
+
private ariaRowsApplied;
|
|
293
|
+
/**
|
|
294
|
+
* The body row count when the last `eunloadmore` fired, to announce how
|
|
295
|
+
* many rows it added once they arrive.
|
|
296
|
+
* @internal
|
|
297
|
+
*/
|
|
298
|
+
private rowCountBeforeLoad?;
|
|
241
299
|
/**
|
|
242
|
-
* The
|
|
243
|
-
* currently known", rendered directly in this component's own shadow root
|
|
244
|
-
* (a sibling of the default `<slot>`) only while `infinite` is set — see
|
|
245
|
-
* `eun-infinite-list`'s own `#sentinel` for the same pattern.
|
|
300
|
+
* The polite live region announcing rows loaded by `infinite`.
|
|
246
301
|
* @internal
|
|
247
302
|
* @readonly
|
|
248
303
|
*/
|
|
249
|
-
private readonly
|
|
304
|
+
private readonly announcerEl?;
|
|
250
305
|
/**
|
|
251
|
-
*
|
|
252
|
-
*
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
*
|
|
257
|
-
*
|
|
306
|
+
* The body-portaled action bar, while mounted.
|
|
307
|
+
* @internal
|
|
308
|
+
*/
|
|
309
|
+
private actionBarEl?;
|
|
310
|
+
/**
|
|
311
|
+
* Every body row, mounted or virtualized-out, in document order ; only
|
|
312
|
+
* kept up to date while `virtualize` is set.
|
|
258
313
|
* @internal
|
|
259
314
|
*/
|
|
260
|
-
private
|
|
315
|
+
private logicalRows;
|
|
261
316
|
/**
|
|
262
|
-
* Page indices currently mounted
|
|
263
|
-
* host, not replaced by a spacer).
|
|
317
|
+
* Page indices currently mounted.
|
|
264
318
|
* @internal
|
|
265
319
|
*/
|
|
266
320
|
private mountedPages;
|
|
267
321
|
/**
|
|
268
|
-
* Cached
|
|
269
|
-
*
|
|
270
|
-
* state/listeners inside them are ever lost.
|
|
322
|
+
* Cached rows of each virtualized-out page, reattached as-is once the
|
|
323
|
+
* page remounts.
|
|
271
324
|
* @internal
|
|
272
325
|
*/
|
|
273
326
|
private readonly detachedByPage;
|
|
274
327
|
/**
|
|
275
328
|
* Measured height (px) of each page, filled in the first time it's
|
|
276
|
-
* unmounted
|
|
329
|
+
* unmounted.
|
|
277
330
|
* @internal
|
|
278
331
|
*/
|
|
279
332
|
private pageHeights;
|
|
@@ -283,35 +336,12 @@ export declare class EunomiaTable<T extends object = Record<string, unknown>> ex
|
|
|
283
336
|
*/
|
|
284
337
|
private avgRowHeight;
|
|
285
338
|
/**
|
|
286
|
-
*
|
|
287
|
-
* children for `virtualize` (mount/unmount), so the resulting
|
|
288
|
-
* `slotchange` isn't misread as a consumer-driven content change.
|
|
289
|
-
* @internal
|
|
290
|
-
*/
|
|
291
|
-
private mutatingSlot;
|
|
292
|
-
/**
|
|
293
|
-
* Count of `eunloadmore` events dispatched so far ; becomes the event's
|
|
294
|
-
* own `page` field.
|
|
339
|
+
* Count of `eunloadmore` events dispatched so far.
|
|
295
340
|
* @internal
|
|
296
341
|
*/
|
|
297
342
|
private requestedPages;
|
|
298
343
|
/** @internal */
|
|
299
344
|
private resizeObserver?;
|
|
300
|
-
/**
|
|
301
|
-
* The row that last received focus somewhere within it (its own leading
|
|
302
|
-
* stop, or any of its content) — tracked so focus can be restored nearby
|
|
303
|
-
* if that exact row later disconnects (a removal, or `managed` mode's
|
|
304
|
-
* full re-render via `replaceChildren`) while it's what still holds
|
|
305
|
-
* focus. Cleared once consumed by {@link restoreFocusIfLost}.
|
|
306
|
-
* @internal
|
|
307
|
-
*/
|
|
308
|
-
private lastFocusedRow?;
|
|
309
|
-
/**
|
|
310
|
-
* {@link lastFocusedRow}'s row index at the time it was last focused,
|
|
311
|
-
* used to refocus whatever row now sits in that same slot.
|
|
312
|
-
* @internal
|
|
313
|
-
*/
|
|
314
|
-
private lastFocusedRowIndex;
|
|
315
345
|
connectedCallback(): void;
|
|
316
346
|
disconnectedCallback(): void;
|
|
317
347
|
protected firstUpdated(changed: PropertyValues): void;
|
|
@@ -323,236 +353,254 @@ export declare class EunomiaTable<T extends object = Record<string, unknown>> ex
|
|
|
323
353
|
get selectedKeys(): string[];
|
|
324
354
|
set selectedKeys(keys: string[]);
|
|
325
355
|
/**
|
|
326
|
-
*
|
|
327
|
-
* `rowAction`/`rowKey` — see the class doc's "Programmatic `columns`/
|
|
328
|
-
* `data`" section. A no-op unless `columns` is set (light-DOM-authored
|
|
329
|
-
* tables never call this). Previously-selected keys that still exist
|
|
330
|
-
* among the regenerated rows stay selected ; ones that don't (a row was
|
|
331
|
-
* removed from `data`) drop out of the selection.
|
|
356
|
+
* The slotted native table.
|
|
332
357
|
* @private
|
|
333
358
|
*/
|
|
334
|
-
private
|
|
359
|
+
private get tableEl();
|
|
335
360
|
/**
|
|
336
|
-
*
|
|
337
|
-
* logical set (including virtualized-out pages) while `virtualize` is
|
|
338
|
-
* set, the mounted-only `itemEls` otherwise.
|
|
361
|
+
* Whether any body row is currently selected.
|
|
339
362
|
* @private
|
|
340
363
|
*/
|
|
341
|
-
private
|
|
364
|
+
private get selectionActive();
|
|
342
365
|
/**
|
|
343
|
-
*
|
|
344
|
-
*
|
|
345
|
-
* `event.target` is that row itself either way, whether directly focused
|
|
346
|
-
* or retargeted through its own shadow root ; slotted content (an
|
|
347
|
-
* `action` button, ...) instead needs `closest`, since it's a light-DOM
|
|
348
|
-
* descendant rather than something the shadow boundary retargets.
|
|
366
|
+
* Every visible or accessible text the table renders: its own property
|
|
367
|
+
* when set, else the `locale` dictionary's.
|
|
349
368
|
* @private
|
|
350
369
|
*/
|
|
351
|
-
private
|
|
370
|
+
private get labels();
|
|
352
371
|
/**
|
|
353
|
-
*
|
|
354
|
-
*
|
|
355
|
-
*
|
|
356
|
-
* still on it or its content — otherwise that focus would just silently
|
|
357
|
-
* fall back to the document body. Left alone if focus already landed
|
|
358
|
-
* somewhere else on its own (the consumer moved it deliberately before
|
|
359
|
-
* the removal), detected by the document's active element no longer
|
|
360
|
-
* being the body.
|
|
372
|
+
* Re-syncs on structural light DOM changes only: added or removed rows,
|
|
373
|
+
* cells, or sections, and a changed `data-row-key`. A change deeper
|
|
374
|
+
* inside a cell's own content is ignored.
|
|
361
375
|
* @private
|
|
362
376
|
*/
|
|
363
|
-
private
|
|
377
|
+
private readonly handleMutations;
|
|
364
378
|
/**
|
|
365
|
-
*
|
|
366
|
-
*
|
|
367
|
-
*
|
|
368
|
-
* whenever a reactive property that affects children changes (see
|
|
369
|
-
* {@link updated}).
|
|
379
|
+
* Every body row this table currently knows about: the full logical set
|
|
380
|
+
* (including virtualized-out pages) while `virtualize` is set, the
|
|
381
|
+
* mounted rows otherwise.
|
|
370
382
|
* @private
|
|
371
383
|
*/
|
|
372
|
-
private
|
|
373
|
-
/** @private */
|
|
374
|
-
private readonly handleSlotChange;
|
|
384
|
+
private currentRows;
|
|
375
385
|
/**
|
|
376
|
-
*
|
|
377
|
-
* a different element than last time.
|
|
386
|
+
* The body section `virtualize` operates on.
|
|
378
387
|
* @private
|
|
379
388
|
*/
|
|
380
|
-
private
|
|
389
|
+
private get bodyEl();
|
|
381
390
|
/**
|
|
382
|
-
*
|
|
383
|
-
*
|
|
384
|
-
*
|
|
385
|
-
*
|
|
391
|
+
* Pushes the selection and configuration state down onto the slotted
|
|
392
|
+
* table: generated selection cells, row state, action cells, the
|
|
393
|
+
* loading placeholder body, and the action bar. Its own mutations are
|
|
394
|
+
* dropped from the observer queue so they never trigger another sync.
|
|
386
395
|
* @private
|
|
387
396
|
*/
|
|
388
|
-
private
|
|
389
|
-
/**
|
|
390
|
-
|
|
397
|
+
private sync;
|
|
398
|
+
/**
|
|
399
|
+
* Reserves the height of the table's `<caption>` above the frame, where
|
|
400
|
+
* the light DOM sheet positions it, and keeps it up to date as the
|
|
401
|
+
* caption resizes.
|
|
402
|
+
* @private
|
|
403
|
+
*/
|
|
404
|
+
private watchCaption;
|
|
405
|
+
/**
|
|
406
|
+
* Adds the selection column's leading cell to `row` if missing, and
|
|
407
|
+
* returns it.
|
|
408
|
+
* @private
|
|
409
|
+
*/
|
|
410
|
+
private ensureSelectCell;
|
|
391
411
|
/** @private */
|
|
392
|
-
private
|
|
412
|
+
private removeSelectCell;
|
|
413
|
+
/**
|
|
414
|
+
* Returns the checkbox inside a selection cell, creating it if missing.
|
|
415
|
+
* @private
|
|
416
|
+
*/
|
|
417
|
+
private ensureCheckbox;
|
|
418
|
+
/**
|
|
419
|
+
* Adds or removes the header's selection cell, holding the select-all
|
|
420
|
+
* checkbox.
|
|
421
|
+
* @private
|
|
422
|
+
*/
|
|
423
|
+
private syncHeader;
|
|
424
|
+
/**
|
|
425
|
+
* Keeps footer rows aligned with an empty selection cell.
|
|
426
|
+
* @private
|
|
427
|
+
*/
|
|
428
|
+
private syncFooter;
|
|
429
|
+
/**
|
|
430
|
+
* Resolves each body row's key and pushes its selection and action cell
|
|
431
|
+
* state.
|
|
432
|
+
* @private
|
|
433
|
+
*/
|
|
434
|
+
private syncRows;
|
|
393
435
|
/**
|
|
394
|
-
*
|
|
395
|
-
*
|
|
396
|
-
* is set, since they're hidden (`display: none`) and shouldn't be
|
|
397
|
-
* reachable ; otherwise the full logical set (mounted or virtualized-out)
|
|
398
|
-
* while `virtualize` is on, so `Ctrl+End`/`ArrowDown` math stays correct
|
|
399
|
-
* regardless of what's currently mounted (see {@link ensureRowMounted}).
|
|
436
|
+
* The name of a body row: the text of its row header (`<th scope="row">`,
|
|
437
|
+
* or else its first `<th>`), used to label its checkbox.
|
|
400
438
|
* @private
|
|
401
439
|
*/
|
|
402
|
-
private
|
|
440
|
+
private rowName;
|
|
441
|
+
/**
|
|
442
|
+
* Gives every row its position and the table its total row count while
|
|
443
|
+
* `virtualize` is set, so assistive technology announces the real size
|
|
444
|
+
* of the table even though only part of its rows are in the DOM. The
|
|
445
|
+
* count is `-1` (unknown) while `infinite` can still load more.
|
|
446
|
+
* @private
|
|
447
|
+
*/
|
|
448
|
+
private syncAriaRows;
|
|
449
|
+
/**
|
|
450
|
+
* Announces how many rows the last `eunloadmore` added, once they're in.
|
|
451
|
+
* @private
|
|
452
|
+
*/
|
|
453
|
+
private announceLoadedRows;
|
|
454
|
+
/**
|
|
455
|
+
* Adds the placeholder body while `loading`, shaped after the header's
|
|
456
|
+
* own cells so its columns line up, and removes it otherwise.
|
|
457
|
+
* @private
|
|
458
|
+
*/
|
|
459
|
+
private syncSkeleton;
|
|
403
460
|
/** @private */
|
|
404
|
-
private
|
|
461
|
+
private createSkeleton;
|
|
405
462
|
/**
|
|
406
|
-
*
|
|
407
|
-
* delegated up from a row's own `TableRowMixin`. Every row is always its
|
|
408
|
-
* own permanent `Tab` stop (see `TableRowMixin`'s own class doc), so this
|
|
409
|
-
* only ever needs to resolve *which* row and hand it a plain `.focus()`,
|
|
410
|
-
* no column bookkeeping of any kind.
|
|
463
|
+
* The body row `target` belongs to, if any.
|
|
411
464
|
* @private
|
|
412
465
|
*/
|
|
413
|
-
private
|
|
466
|
+
private bodyRowOf;
|
|
414
467
|
/**
|
|
415
|
-
*
|
|
468
|
+
* Whether the click went to interactive content of `row` (a link, a
|
|
469
|
+
* button, an input, a nested eunomia control) rather than to the row.
|
|
416
470
|
* @private
|
|
417
471
|
*/
|
|
418
|
-
private
|
|
472
|
+
private isInteractiveClick;
|
|
419
473
|
/**
|
|
420
|
-
*
|
|
421
|
-
*
|
|
474
|
+
* Toggles a row while rows are selected, otherwise fires
|
|
475
|
+
* {@link TableRowClickEvent}.
|
|
422
476
|
* @private
|
|
423
477
|
*/
|
|
424
|
-
private
|
|
478
|
+
private activateRow;
|
|
425
479
|
/**
|
|
426
|
-
*
|
|
427
|
-
*
|
|
428
|
-
*
|
|
429
|
-
* `Ctrl+End`/a long `ArrowDown` run can target a row several pages away
|
|
430
|
-
* from what's currently mounted.
|
|
480
|
+
* Follows the row's `data-table-row-link` link, if any, keeping the
|
|
481
|
+
* modifier keys so a `Ctrl`/`Cmd` click still opens a new tab. The link
|
|
482
|
+
* stays the row's one keyboard-reachable way to do the same.
|
|
431
483
|
* @private
|
|
432
484
|
*/
|
|
433
|
-
private
|
|
485
|
+
private followRowLink;
|
|
486
|
+
/** @private */
|
|
487
|
+
private readonly handleClick;
|
|
488
|
+
/** @private */
|
|
489
|
+
private readonly handleCheckboxChange;
|
|
434
490
|
/** @private */
|
|
435
491
|
private toggleRow;
|
|
436
492
|
/** @private */
|
|
437
493
|
private toggleSelectAll;
|
|
438
494
|
/**
|
|
439
|
-
* Applies a new selection and fires {@link TableSelectionChangeEvent}
|
|
440
|
-
* the
|
|
441
|
-
* an external `selectedKeys` assignment funnel through, so the event
|
|
442
|
-
* fires consistently either way (the same "always fires, whatever the
|
|
443
|
-
* source" convention `eun-scheduler`'s own `eunperiodchange` uses for its
|
|
444
|
-
* controlled `view`/`displayedDate`).
|
|
495
|
+
* Applies a new selection and fires {@link TableSelectionChangeEvent},
|
|
496
|
+
* whatever the source.
|
|
445
497
|
* @private
|
|
446
498
|
*/
|
|
447
499
|
private setSelection;
|
|
448
500
|
/**
|
|
449
|
-
* Creates the
|
|
501
|
+
* Creates the action bar the first time it's needed, right after the
|
|
502
|
+
* table so it comes next in the `Tab` order, and shows it as a manual
|
|
503
|
+
* popover so it renders above the page whatever the table's ancestors
|
|
504
|
+
* clip or transform.
|
|
450
505
|
* @private
|
|
451
506
|
*/
|
|
452
507
|
private ensureActionBar;
|
|
453
508
|
/**
|
|
454
|
-
* Tears down the
|
|
455
|
-
*
|
|
456
|
-
*
|
|
457
|
-
* (see {@link restoreFocusIfLost}) — except the bar lives outside this
|
|
458
|
-
* component's own DOM subtree entirely, so that row-focused mechanism
|
|
459
|
-
* can't see it ; this restores focus back onto the grid itself (its
|
|
460
|
-
* header, or its first row absent one) instead.
|
|
509
|
+
* Tears down the action bar. If focus was inside it, it
|
|
510
|
+
* moves back to the table's first selection checkbox rather than
|
|
511
|
+
* falling to the document body.
|
|
461
512
|
* @private
|
|
462
513
|
*/
|
|
463
514
|
private teardownActionBar;
|
|
464
515
|
/**
|
|
465
|
-
* Re-dispatches `euntableaction` from `eun-table` itself
|
|
466
|
-
*
|
|
467
|
-
* `document.body`), so its own `bubbles: true, composed: false` event
|
|
468
|
-
* never reaches here on its own — the same reasoning `eun-scheduler`'s
|
|
469
|
-
* `handleEditorCreate` documents for its own embedded (non-portaled but
|
|
470
|
-
* still non-composed) editor.
|
|
516
|
+
* Re-dispatches `euntableaction` from `eun-table` itself, since the
|
|
517
|
+
* action bar is a sibling of this element, not a descendant.
|
|
471
518
|
* @private
|
|
472
519
|
*/
|
|
473
520
|
private readonly handlePortaledAction;
|
|
474
521
|
/** @private */
|
|
475
522
|
private readonly handleEscapeClear;
|
|
476
523
|
/**
|
|
477
|
-
* Mounts
|
|
478
|
-
* selection.
|
|
524
|
+
* Mounts, updates, or unmounts the floating action bar based on the
|
|
525
|
+
* current selection.
|
|
479
526
|
* @private
|
|
480
527
|
*/
|
|
481
528
|
private syncActionBar;
|
|
482
529
|
/**
|
|
483
|
-
*
|
|
484
|
-
*
|
|
485
|
-
*
|
|
486
|
-
* to `eun-table-item` children only (the header is excluded, it's never
|
|
487
|
-
* virtualized). Also recomputes {@link mountedPages} from the rebuilt
|
|
488
|
-
* page count. A no-op unless `virtualize` is set.
|
|
530
|
+
* Renders the native table from `columns`/`data`/`rowAction`/`rowKey`
|
|
531
|
+
* into this element's light DOM. Previously selected keys that no
|
|
532
|
+
* longer match a row drop out of the selection.
|
|
489
533
|
* @private
|
|
490
534
|
*/
|
|
491
|
-
private
|
|
535
|
+
private renderManagedTable;
|
|
536
|
+
/** @private */
|
|
537
|
+
private columnStyle;
|
|
538
|
+
/** @private */
|
|
539
|
+
private renderManagedCell;
|
|
540
|
+
/**
|
|
541
|
+
* Renders a row's `rowAction`: a `eun-dropdown-button` for
|
|
542
|
+
* `type: "dropdown"`, a `eun-button` otherwise.
|
|
543
|
+
* @private
|
|
544
|
+
*/
|
|
545
|
+
private renderRowAction;
|
|
546
|
+
/**
|
|
547
|
+
* Rebuilds {@link logicalRows} from the body, threading each spacer's
|
|
548
|
+
* cached rows back into their position, and recomputes
|
|
549
|
+
* {@link mountedPages}.
|
|
550
|
+
* @private
|
|
551
|
+
*/
|
|
552
|
+
private syncLogicalRows;
|
|
553
|
+
/**
|
|
554
|
+
* Remounts every virtualized-out page, before the light DOM gets
|
|
555
|
+
* re-rendered wholesale.
|
|
556
|
+
* @private
|
|
557
|
+
*/
|
|
558
|
+
private mountAllPages;
|
|
492
559
|
/** @private */
|
|
493
560
|
private readonly handleTableScroll;
|
|
494
561
|
/**
|
|
495
562
|
* Mounts the page range around the current scroll position and
|
|
496
|
-
* virtualizes everything outside it, once the
|
|
497
|
-
* `virtualizeThreshold
|
|
563
|
+
* virtualizes everything outside it, once the row count passes
|
|
564
|
+
* `virtualizeThreshold`.
|
|
498
565
|
* @private
|
|
499
566
|
*/
|
|
500
567
|
private syncPages;
|
|
501
568
|
/**
|
|
502
|
-
* Estimates which page the middle of the
|
|
503
|
-
*
|
|
504
|
-
* average-based estimate otherwise. `this` is the scroll container itself
|
|
505
|
-
* (`:host` sets `overflow: auto`, see table.styles.ts), so its own
|
|
506
|
-
* `scrollTop`/`clientHeight` are read directly.
|
|
569
|
+
* Estimates which page the middle of the viewport falls into, from
|
|
570
|
+
* measured page heights where known, an average otherwise.
|
|
507
571
|
* @private
|
|
508
572
|
*/
|
|
509
573
|
private estimateCenterPage;
|
|
510
574
|
/** @private */
|
|
511
575
|
private estimatePageHeight;
|
|
512
576
|
/**
|
|
513
|
-
* Remounts a virtualized-out page
|
|
514
|
-
*
|
|
515
|
-
* if already mounted), so {@link syncPages} only re-syncs children once
|
|
516
|
-
* per batch rather than once per page.
|
|
577
|
+
* Remounts a virtualized-out page in place of its spacer. Returns
|
|
578
|
+
* whether it did anything.
|
|
517
579
|
* @private
|
|
518
580
|
*/
|
|
519
581
|
private mountPage;
|
|
520
582
|
/**
|
|
521
|
-
*
|
|
522
|
-
*
|
|
523
|
-
*
|
|
524
|
-
* spacer of that height so the scrollbar/scroll position don't jump, and
|
|
525
|
-
* caches the actual nodes for an exact reattach later. Returns whether it
|
|
526
|
-
* actually did anything (a no-op if already virtualized-out, or if the
|
|
527
|
-
* page can't be measured — not currently rendered with real layout).
|
|
583
|
+
* Replaces a mounted page's rows with a single spacer row of the same
|
|
584
|
+
* measured height, caching the rows for an exact reattach later.
|
|
585
|
+
* Returns whether it did anything.
|
|
528
586
|
* @private
|
|
529
587
|
*/
|
|
530
588
|
private unmountPage;
|
|
531
589
|
/**
|
|
532
|
-
* (Re)creates
|
|
590
|
+
* (Re)creates the resize observer and scroll listener once `virtualize`
|
|
533
591
|
* is set, and tears them down once it's cleared.
|
|
534
592
|
* @private
|
|
535
593
|
*/
|
|
536
594
|
private ensureVirtualizeObservers;
|
|
537
595
|
/**
|
|
538
596
|
* Sets up (or re-creates, after `rootMargin` changes) the observer
|
|
539
|
-
* driving {@link maybeLoadMore}
|
|
540
|
-
*
|
|
541
|
-
* container) is used as the observer's `root`.
|
|
597
|
+
* driving {@link maybeLoadMore}, with the frame, the scroll container,
|
|
598
|
+
* as its root.
|
|
542
599
|
* @private
|
|
543
600
|
*/
|
|
544
601
|
private setupTableLoadObserver;
|
|
545
602
|
/** @private */
|
|
546
603
|
private maybeLoadMore;
|
|
547
|
-
/**
|
|
548
|
-
* Renders `skeletonRows` placeholder rows, each shaped like a real
|
|
549
|
-
* `eun-table-item` (same select/data/action cell count, via CSS Subgrid)
|
|
550
|
-
* so they align under the real header's columns. `--_row-index` drives
|
|
551
|
-
* each row's own staggered entrance animation delay (see
|
|
552
|
-
* table-skeleton-row.styles.ts).
|
|
553
|
-
* @private
|
|
554
|
-
*/
|
|
555
|
-
private renderSkeletonRows;
|
|
556
604
|
render(): TemplateResult;
|
|
557
605
|
}
|
|
558
606
|
declare global {
|