@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,29 +1,30 @@
|
|
|
1
|
-
import{a as
|
|
1
|
+
import{a as C,b as J}from"./chunks/chunk-3PNGQEG4.js";import"./chunks/chunk-SVGWCKWT.js";import{a as Y,b as X}from"./chunks/chunk-ZYC7DHES.js";import"./chunks/chunk-QXQ25SQS.js";import{a as G}from"./chunks/chunk-VG6NAAIV.js";import"./chunks/chunk-PXF554MD.js";import"./chunks/chunk-EUWUDCBZ.js";import"./chunks/chunk-I4ERDXSM.js";import"./chunks/chunk-TFTRCIIK.js";import"./chunks/chunk-AK2DIJX7.js";import{b as x,c as k,d as U,e as W,f as T}from"./chunks/chunk-VJCNHMQZ.js";import"./chunks/chunk-624VJYNA.js";import"./chunks/chunk-TLBXTBMM.js";import"./chunks/chunk-YYCEPZUN.js";import"./chunks/chunk-DGI7TKCU.js";import"./chunks/chunk-Z3OFIE7S.js";import"./chunks/chunk-3BMACIDO.js";import"./chunks/chunk-UP4M7TER.js";import"./chunks/chunk-22D3SRFR.js";import"./chunks/chunk-PD62MBOJ.js";import"./chunks/chunk-BKZGTCMF.js";import"./chunks/chunk-3MTUVMM5.js";import"./chunks/chunk-5GKM5DIB.js";import{a as A}from"./chunks/chunk-PPCHQG7P.js";import"./chunks/chunk-O7PHBLH2.js";import{a as q,b as V,c as I}from"./chunks/chunk-SGM2X2TC.js";import{a as j}from"./chunks/chunk-62RLISRD.js";import"./chunks/chunk-QL5GSW2A.js";import{a as o,f as _,h as S,j as s,k as K,l as L,p as m,q as N,r as R,t as D,u as F}from"./chunks/chunk-YITWLCD3.js";var Q=(b,v,e)=>{let t=new Map;for(let a=v;a<=e;a++)t.set(b[a],a);return t},Z=V(class extends I{constructor(b){if(super(b),b.type!==q.CHILD)throw Error("repeat() can only be used in text expressions")}dt(b,v,e){let t;e===void 0?e=v:v!==void 0&&(t=v);let a=[],r=[],i=0;for(let c of b)a[i]=t?t(c,i):i,r[i]=e(c,i),i++;return{values:r,keys:a}}render(b,v,e){return this.dt(b,v,e).values}update(b,[v,e,t]){let a=W(b),{values:r,keys:i}=this.dt(v,e,t);if(!Array.isArray(a))return this.ut=i,r;let c=this.ut??=[],l=[],u,f,d=0,h=a.length-1,p=0,g=r.length-1;for(;d<=h&&p<=g;)if(a[d]===null)d++;else if(a[h]===null)h--;else if(c[d]===i[p])l[p]=k(a[d],r[p]),d++,p++;else if(c[h]===i[g])l[g]=k(a[h],r[g]),h--,g--;else if(c[d]===i[g])l[g]=k(a[d],r[g]),x(b,l[g+1],a[d]),d++,g--;else if(c[h]===i[p])l[p]=k(a[h],r[p]),x(b,a[d],a[h]),h--,p++;else if(u===void 0&&(u=Q(i,p,g),f=Q(c,d,h)),u.has(c[d]))if(u.has(c[h])){let y=f.get(i[p]),B=y!==void 0?a[y]:null;if(B===null){let $=x(b,a[d]);k($,r[p]),l[p]=$}else l[p]=k(B,r[p]),x(b,a[d],B),a[y]=null;p++}else T(a[h]),h--;else T(a[d]),d++;for(;p<=g;){let y=x(b,l[g+1]);k(y,r[p]),l[p++]=y}for(;d<=h;){let y=a[d++];y!==null&&T(y)}return this.ut=i,U(b,l),N}});function O(b,v){return b?.length?b:`__row-${v}`}function ee(b){switch(b){case"center":return"center";case"right":return"end";case"left":return"start";default:return}}var M=class b extends Event{static{this.eventName="euntableselectionchange"}constructor(v){super(b.eventName,{bubbles:!0,composed:!1}),this.selectedKeys=v,this.selectedCount=v.length}};var z=class b extends Event{static{this.eventName="euntablerowclick"}constructor(v){super(b.eventName,{bubbles:!0,cancelable:!0,composed:!1}),this.rowKey=v}};var re=S`
|
|
2
2
|
:host {
|
|
3
|
-
display:
|
|
4
|
-
|
|
5
|
-
|
|
3
|
+
display: flex;
|
|
4
|
+
flex-direction: column;
|
|
5
|
+
position: relative;
|
|
6
|
+
box-sizing: border-box;
|
|
7
|
+
max-height: var(--table-max-height, none);
|
|
8
|
+
padding-top: var(--_table-caption-height, 0px);
|
|
9
|
+
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
#frame {
|
|
13
|
+
flex: 1 1 auto;
|
|
14
|
+
min-height: 0;
|
|
6
15
|
box-sizing: border-box;
|
|
7
16
|
border: var(--eun-border-width-s, 1px) solid
|
|
8
17
|
var(--table-border-color, var(--eun-border-color, #dee0e7));
|
|
9
18
|
border-radius: var(--eun-border-radius-m, 10px);
|
|
10
19
|
background: var(--table-background, var(--eun-surface-color, #ffffff));
|
|
11
20
|
overflow: auto;
|
|
12
|
-
max-height: var(--table-max-height, none);
|
|
13
|
-
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
:host([loading]) ::slotted(eun-table-item) {
|
|
17
|
-
display: none;
|
|
18
21
|
}
|
|
19
22
|
|
|
20
23
|
#table-sentinel {
|
|
21
|
-
grid-column: 1 / -1;
|
|
22
24
|
block-size: 1px;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
#table-loading-row {
|
|
26
|
-
grid-column: 1 / -1;
|
|
27
28
|
display: flex;
|
|
28
29
|
align-items: center;
|
|
29
30
|
justify-content: center;
|
|
@@ -34,22 +35,562 @@ import{a as F}from"./chunks/chunk-KVYUNKUO.js";import{a as O}from"./chunks/chunk
|
|
|
34
35
|
#table-loading-row[hidden] {
|
|
35
36
|
display: none;
|
|
36
37
|
}
|
|
37
|
-
`,q=_;var S="eun-table-row-spacer",G=44,U="eun-table",a=class extends M(I){constructor(){super(...arguments);this.selectable=!1;this.checkboxAlwaysVisible=!1;this.actionAlwaysVisible=!1;this.stickyHeader=!1;this.stickyFirstColumn=!1;this.stickyLastColumn=!1;this.clearOnEscape=!1;this.loading=!1;this.skeletonRows=6;this.syncing=!1;this.clickable=!1;this.infinite=!1;this.virtualize=!1;this.pageSize=20;this.virtualizeThreshold=100;this.bufferPages=1;this.hasMore=!1;this.loadingMore=!1;this.rootMargin="400px";this.loadingMoreLabel="Loading more rows\u2026";this.actions=[];this.selectedLabel="selected";this.selectAllLabel="Select all";this.deselectAllLabel="Deselect all";this.selectAllAriaLabel="Select all rows";this.deselectAllAriaLabel="Deselect all rows";this.selectRowAriaLabel="Select row";this.toolbarAriaLabel="Selection actions";this.closeActionBarAriaLabel="Clear selection";this.data=[];this.internalSelection=new Set;this.hasAction=!1;this.logicalItems=[];this.mountedPages=new Set;this.detachedByPage=new Map;this.pageHeights=[];this.avgRowHeight=G;this.mutatingSlot=!1;this.requestedPages=0;this.lastFocusedRowIndex=-1;this.handleFocusIn=e=>{let t=e.target.closest(`${p}, ${f}`);if(!t)return;let i=this.rowIndexOf(t);i<0||(this.lastFocusedRow=t,this.lastFocusedRowIndex=i)};this.handleSlotChange=()=>{this.mutatingSlot||(this.virtualize&&this.syncLogicalItems(),this.syncChildren(),this.restoreFocusIfLost(),this.virtualize&&this.scheduleAnimationFrame(()=>this.syncPages()),this.infinite&&this.reobserveSentinel(this.sentinelEl))};this.handlePortaledAction=e=>{let t=e;this.dispatchEvent(new g(t.key,t.optionKey))};this.handleEscapeClear=e=>{e.key==="Escape"&&this.setSelection(new Set)};this.handleTableScroll=()=>{this.scheduleAnimationFrame(()=>this.syncPages())}}connectedCallback(){super.connectedCallback?.(),this.hasAttribute("role")||this.setAttribute("role","grid"),this.addEventListener("focusin",this.handleFocusIn)}disconnectedCallback(){this.removeEventListener("focusin",this.handleFocusIn),this.headerObserver?.disconnect(),this.teardownActionBar(),this.teardownLoadMoreSentinel(),this.resizeObserver?.disconnect(),super.disconnectedCallback?.()}firstUpdated(e){super.firstUpdated(e),this.virtualize&&this.syncLogicalItems(),this.syncChildren(),this.ensureVirtualizeObservers(),this.infinite&&this.setupTableLoadObserver()}updated(e){super.updated(e),e.has("selectable")&&(this.selectable?this.setAttribute("aria-multiselectable","true"):this.removeAttribute("aria-multiselectable")),e.has("syncing")&&(this.syncing?this.setAttribute("aria-busy","true"):this.removeAttribute("aria-busy")),["columns","data","rowAction","rowKey"].some(s=>e.has(s))&&this.regenerateManagedChildren(),["selectable","checkboxAlwaysVisible","actionAlwaysVisible","stickyHeader","stickyFirstColumn","stickyLastColumn","internalSelection","actions","selectedLabel","selectAllLabel","deselectAllLabel","selectAllAriaLabel","deselectAllAriaLabel","selectRowAriaLabel","toolbarAriaLabel","closeActionBarAriaLabel","loading","clickable","syncing"].some(s=>e.has(s))&&this.syncChildren(),e.has("virtualize")&&this.ensureVirtualizeObservers(),this.virtualize&&(e.has("pageSize")||e.has("virtualizeThreshold")||e.has("bufferPages"))&&this.scheduleAnimationFrame(()=>this.syncPages()),(e.has("infinite")||e.has("rootMargin"))&&(this.infinite?this.setupTableLoadObserver():(this.loadObserver?.disconnect(),this.loadObserver=void 0))}get selectedKeys(){return Array.from(this.internalSelection)}set selectedKeys(e){this.setSelection(new Set(e))}regenerateManagedChildren(){let e=this.columns;if(!e)return;let t=N(e),i=this.data.map((h,u)=>D(h,u,e,this.rowKey,this.rowAction));this.detachedByPage.clear(),this.pageHeights=[],this.mutatingSlot=!0,this.replaceChildren(t,...i),queueMicrotask(()=>{this.mutatingSlot=!1});let s=new Set(i.map(h=>h.rowKey)),o=new Set([...this.internalSelection].filter(h=>s.has(h)));o.size!==this.internalSelection.size&&(this.internalSelection=o),this.virtualize&&this.syncLogicalItems(),this.syncChildren(),this.restoreFocusIfLost(),this.virtualize&&this.scheduleAnimationFrame(()=>this.syncPages()),this.infinite&&this.reobserveSentinel(this.sentinelEl)}currentItems(){return this.virtualize?this.logicalItems:this.itemEls}restoreFocusIfLost(){if(!this.lastFocusedRow||this.lastFocusedRow.isConnected)return;let e=this.lastFocusedRowIndex;this.lastFocusedRow=void 0,this.lastFocusedRowIndex=-1,this.ownerDocument.activeElement===this.ownerDocument.body&&this.focusRowAt(e)}syncChildren(){let e=this.headerEls[0],t=this.currentItems();this.watchHeaderColumns(e),this.updateColumnsTemplate(e,t),this.wireHeader(e),this.wireItems(t),this.syncActionBar()}watchHeaderColumns(e){this.observedHeader!==e&&(this.headerObserver?.disconnect(),this.observedHeader=e,e&&(this.headerObserver=new MutationObserver(()=>this.syncChildren()),this.headerObserver.observe(e,{childList:!0,attributes:!0,attributeFilter:["width"],subtree:!0})))}updateColumnsTemplate(e,t){let s=(e?Array.from(e.querySelectorAll(":scope > eun-table-column")):[]).map(h=>h.width);this.hasAction=t.some(h=>!!h.querySelector(':scope > [slot="action"]'));let o=x(s,{selectable:this.selectable,hasAction:this.hasAction});this.style.setProperty("--_columns",o)}wireHeader(e){e&&(e.selectable=this.selectable,e.hasAction=this.hasAction,e.sticky=this.stickyHeader,e.stickyFirstColumn=this.stickyFirstColumn,e.stickyLastColumn=this.stickyLastColumn,e.selectedCount=this.internalSelection.size,e.totalCount=this.currentItems().length,e.selectAllAriaLabel=this.selectAllAriaLabel,e.deselectAllAriaLabel=this.deselectAllAriaLabel,e.onSelectAllToggle=()=>this.toggleSelectAll(),e.requestAdjacentRow=t=>this.moveFocus(this.rowIndexOf(e),t),e.requestGridEdge=t=>this.moveToGridEdge(t))}wireItems(e){e.forEach((t,i)=>{let s=m(t.rowKey,i);t.resolvedKey=s,t.selectable=this.selectable,t.hasAction=this.hasAction,t.checkboxAlwaysVisible=this.checkboxAlwaysVisible,t.actionAlwaysVisible=this.actionAlwaysVisible,t.stickyFirstColumn=this.stickyFirstColumn,t.stickyLastColumn=this.stickyLastColumn,t.clickable=this.clickable,t.syncing=this.syncing,t.selected=this.internalSelection.has(s),t.selectionActive=this.selectable&&this.internalSelection.size>0,t.selectCheckboxLabel=`${this.selectRowAriaLabel} ${i+1}`,t.onToggleSelected=()=>this.toggleRow(s),t.requestAdjacentRow=o=>this.moveFocus(this.rowIndexOf(t),o),t.requestGridEdge=o=>this.moveToGridEdge(o)})}allRows(){let e=this.headerEls[0];if(this.loading)return e?[e]:[];let t=this.currentItems();return e?[e,...t]:[...t]}rowIndexOf(e){return this.allRows().indexOf(e)}moveFocus(e,t){this.focusRowAt(e+t)}moveToGridEdge(e){let t=this.allRows();t.length&&this.focusRowAt(e==="start"?0:t.length-1)}focusRowAt(e){let t=this.allRows();if(!t.length)return;let i=Math.max(0,Math.min(e,t.length-1));this.ensureRowMounted(t,i),this.allRows()[i]?.focus()}ensureRowMounted(e,t){if(!this.virtualize)return;let i=e[t];if(!i||i.isConnected)return;let s=this.logicalItems.indexOf(i);if(s<0)return;let o=Math.floor(s/this.pageSize);this.mountPage(o)&&this.syncChildren()}toggleRow(e){let t=new Set(this.internalSelection);t.has(e)?t.delete(e):t.add(e),this.setSelection(t)}toggleSelectAll(){let e=this.currentItems();if(e.length>0&&this.internalSelection.size===e.length){this.setSelection(new Set);return}this.setSelection(new Set(e.map((i,s)=>m(i.rowKey,s))))}setSelection(e){this.internalSelection=e,this.dispatchEvent(new v(Array.from(e)))}ensureActionBar(){return this.actionBarEl||(this.actionBarEl=document.createElement(H),this.actionBarEl.addEventListener(g.eventName,this.handlePortaledAction),document.body.appendChild(this.actionBarEl)),this.actionBarEl}teardownActionBar(){if(!this.actionBarEl)return;let e=this.actionBarEl.contains(this.ownerDocument.activeElement);this.actionBarEl.removeEventListener(g.eventName,this.handlePortaledAction),document.removeEventListener("keydown",this.handleEscapeClear),this.actionBarEl.remove(),this.actionBarEl=void 0,e&&this.focusRowAt(0)}syncActionBar(){if(!this.selectable||this.internalSelection.size===0){this.teardownActionBar();return}let e=!!this.actionBarEl,t=this.ensureActionBar();!e&&this.clearOnEscape&&document.addEventListener("keydown",this.handleEscapeClear),t.selectedCount=this.internalSelection.size,t.totalCount=this.currentItems().length,t.actions=this.actions,t.toolbarAriaLabel=this.toolbarAriaLabel,t.selectedLabel=this.selectedLabel,t.selectAllLabel=this.selectAllLabel,t.deselectAllLabel=this.deselectAllLabel,t.closeAriaLabel=this.closeActionBarAriaLabel,t.onSelectAll=()=>this.toggleSelectAll(),t.onClose=()=>this.setSelection(new Set)}syncLogicalItems(){let e=[];for(let s of Array.from(this.children))if(s instanceof HTMLElement){if(s.classList.contains(S)){let o=Number(s.dataset.eunPage);e.push(...this.detachedByPage.get(o)??[]);continue}s.tagName.toLowerCase()===f&&e.push(s)}this.logicalItems=e;let t=Math.ceil(e.length/this.pageSize),i=new Set;for(let s=0;s<t;s++)this.detachedByPage.has(s)||i.add(s);this.mountedPages=i}syncPages(){let e=this.logicalItems.length;if(e===0)return;let t=Math.ceil(e/this.pageSize),i=!1;if(e<=this.virtualizeThreshold)for(let s=0;s<t;s++)i=this.mountPage(s)||i;else{if(this.clientHeight===0)return;let s=this.estimateCenterPage(t),o=Math.max(0,s-this.bufferPages),h=Math.min(t-1,s+this.bufferPages);for(let u=0;u<t;u++)u>=o&&u<=h?i=this.mountPage(u)||i:i=this.unmountPage(u)||i}i&&this.syncChildren()}estimateCenterPage(e){let t=this.scrollTop+this.clientHeight/2,i=0;for(let s=0;s<e;s++){let o=this.pageHeights[s]??this.estimatePageHeight(s);if(t<i+o)return s;i+=o}return Math.max(0,e-1)}estimatePageHeight(e){let t=Math.ceil(this.logicalItems.length/this.pageSize);return(e===t-1?this.logicalItems.length-e*this.pageSize:this.pageSize)*this.avgRowHeight}mountPage(e){if(this.mountedPages.has(e))return!1;let t=this.detachedByPage.get(e);if(!t||t.length===0)return!1;let i=this.querySelector(`.${S}[data-eun-page="${e}"]`);if(this.mutatingSlot=!0,i){for(let s of t)i.before(s);i.remove()}else for(let s of t)this.append(s);return queueMicrotask(()=>{this.mutatingSlot=!1}),this.detachedByPage.delete(e),this.mountedPages.add(e),!0}unmountPage(e){if(!this.mountedPages.has(e))return!1;let t=e*this.pageSize,i=Math.min(t+this.pageSize,this.logicalItems.length),s=this.logicalItems.slice(t,i).filter(y=>y.isConnected);if(s.length===0)return!1;let o=s[0],u=s[s.length-1].getBoundingClientRect().bottom-o.getBoundingClientRect().top;if(u<=0)return!1;this.pageHeights[e]=u,this.avgRowHeight=(this.avgRowHeight+u/s.length)/2;let d=document.createElement("div");d.className=S,d.dataset.eunPage=String(e),d.style.gridColumn="1 / -1",d.style.blockSize=`${u}px`,d.setAttribute("aria-hidden","true"),this.mutatingSlot=!0,o.before(d);for(let y of s)y.remove();return queueMicrotask(()=>{this.mutatingSlot=!1}),this.detachedByPage.set(e,s),this.mountedPages.delete(e),!0}ensureVirtualizeObservers(){if(!this.virtualize){this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.removeEventListener("scroll",this.handleTableScroll),this.syncHandle&&(cancelAnimationFrame(this.syncHandle),this.syncHandle=void 0);return}this.resizeObserver||(this.resizeObserver=new ResizeObserver(()=>this.scheduleAnimationFrame(()=>this.syncPages())),this.resizeObserver.observe(this),this.addEventListener("scroll",this.handleTableScroll,{passive:!0})),this.scheduleAnimationFrame(()=>this.syncPages())}setupTableLoadObserver(){this.setupLoadObserver(this.sentinelEl,this,this.rootMargin,()=>this.maybeLoadMore())}maybeLoadMore(){this.loadingMore||!this.hasMore||(this.loadingMore=!0,this.requestedPages+=1,this.dispatchEvent(new z(this.requestedPages,this.pageSize)))}renderSkeletonRows(){let e=this.querySelector(":scope > eun-table-header"),t=this.columns?.length??e?.querySelectorAll(":scope > eun-table-column").length??0;return b`
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
38
|
+
|
|
39
|
+
.visually-hidden {
|
|
40
|
+
position: absolute;
|
|
41
|
+
inline-size: 1px;
|
|
42
|
+
block-size: 1px;
|
|
43
|
+
padding: 0;
|
|
44
|
+
margin: -1px;
|
|
45
|
+
overflow: hidden;
|
|
46
|
+
clip: rect(0, 0, 0, 0);
|
|
47
|
+
white-space: nowrap;
|
|
48
|
+
border: 0;
|
|
49
|
+
}
|
|
50
|
+
`,te=re;var ae=S`
|
|
51
|
+
eun-table > table {
|
|
52
|
+
--_table-select-width: var(--eun-table-select-col-width, 40px);
|
|
53
|
+
--_table-action-width: var(--eun-table-action-col-width, 56px);
|
|
54
|
+
--_table-transition: var(
|
|
55
|
+
--table-row-transition-duration,
|
|
56
|
+
var(--eun-duration-m, 200ms)
|
|
57
|
+
)
|
|
58
|
+
var(--eun-easing-default, ease);
|
|
59
|
+
width: 100%;
|
|
60
|
+
border-collapse: separate;
|
|
61
|
+
border-spacing: 0;
|
|
62
|
+
box-sizing: border-box;
|
|
63
|
+
font-size: var(--eun-font-size-s, 13px);
|
|
64
|
+
color: var(--table-cell-color, var(--eun-text-color, #071621));
|
|
65
|
+
}
|
|
66
|
+
|
|
67
|
+
eun-table > table > caption {
|
|
68
|
+
caption-side: top;
|
|
69
|
+
box-sizing: border-box;
|
|
70
|
+
padding: 0 0 var(--eun-space-s, 8px);
|
|
71
|
+
text-align: start;
|
|
72
|
+
font-size: var(--table-caption-font-size, var(--eun-font-size-m, 1rem));
|
|
73
|
+
font-weight: var(
|
|
74
|
+
--table-caption-font-weight,
|
|
75
|
+
var(--eun-font-weight-m, 500)
|
|
76
|
+
);
|
|
77
|
+
color: var(--table-caption-color, var(--eun-text-color, #071621));
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
eun-table:not(:defined) {
|
|
81
|
+
display: block;
|
|
82
|
+
overflow-x: auto;
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
eun-table:not(:defined) > table {
|
|
86
|
+
border: var(--eun-border-width-s, 1px) solid
|
|
87
|
+
var(--table-border-color, var(--eun-border-color, #dee0e7));
|
|
88
|
+
border-radius: var(--eun-border-radius-m, 10px);
|
|
89
|
+
background: var(--table-background, var(--eun-surface-color, #ffffff));
|
|
90
|
+
}
|
|
91
|
+
|
|
92
|
+
eun-table:defined > table > caption {
|
|
93
|
+
position: absolute;
|
|
94
|
+
top: 0;
|
|
95
|
+
inset-inline: 0;
|
|
96
|
+
}
|
|
97
|
+
|
|
98
|
+
eun-table > table > * > tr > :is(th, td) {
|
|
99
|
+
box-sizing: border-box;
|
|
100
|
+
padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
|
|
101
|
+
text-align: start;
|
|
102
|
+
vertical-align: middle;
|
|
103
|
+
background-color: var(
|
|
104
|
+
--table-row-background,
|
|
105
|
+
var(--eun-surface-color, #ffffff)
|
|
106
|
+
);
|
|
107
|
+
--_table-divider-end: var(--table-column-border-color, transparent);
|
|
108
|
+
--_table-divider-start: transparent;
|
|
109
|
+
--_table-tint: transparent;
|
|
110
|
+
box-shadow:
|
|
111
|
+
inset -1px 0 0 var(--_table-divider-end),
|
|
112
|
+
inset 1px 0 0 var(--_table-divider-start),
|
|
113
|
+
inset 0 0 0 9999px var(--_table-tint);
|
|
114
|
+
border-bottom: var(--eun-border-width-s, 1px) solid
|
|
115
|
+
var(--table-border-color, var(--eun-border-color, #dee0e7));
|
|
116
|
+
transition:
|
|
117
|
+
background-color var(--_table-transition),
|
|
118
|
+
box-shadow var(--_table-transition);
|
|
119
|
+
}
|
|
120
|
+
|
|
121
|
+
eun-table > table > * > tr > :is(th, td) > eun-icon {
|
|
122
|
+
display: inline-flex;
|
|
123
|
+
vertical-align: middle;
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
eun-table > table > * > tr > :is(th, td):last-child {
|
|
127
|
+
--_table-divider-end: transparent;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
eun-table > table > :last-child > tr:last-child > :is(th, td) {
|
|
131
|
+
border-bottom: none;
|
|
132
|
+
}
|
|
133
|
+
|
|
134
|
+
eun-table > table > thead > tr > :is(th, td) {
|
|
135
|
+
background-color: var(
|
|
136
|
+
--table-header-background,
|
|
137
|
+
var(--eun-surface-color, #ffffff)
|
|
138
|
+
);
|
|
139
|
+
font-weight: var(--table-column-font-weight, var(--eun-font-weight-m, 500));
|
|
140
|
+
color: var(--table-column-color, var(--eun-text-secondary, #484e61));
|
|
141
|
+
white-space: nowrap;
|
|
142
|
+
}
|
|
143
|
+
|
|
144
|
+
eun-table > table > tbody > tr > th {
|
|
145
|
+
font-weight: var(--eun-font-weight-m, 500);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
eun-table > table > tfoot > tr > :is(th, td) {
|
|
149
|
+
background-color: var(
|
|
150
|
+
--table-footer-background,
|
|
151
|
+
var(--table-row-background, var(--eun-surface-color, #ffffff))
|
|
152
|
+
);
|
|
153
|
+
font-weight: var(--eun-font-weight-m, 500);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
eun-table
|
|
157
|
+
> table
|
|
158
|
+
> tbody:not([data-table-skeleton])
|
|
159
|
+
> tr:not([data-selected]):is(:hover, :focus-within)
|
|
160
|
+
> :is(th, td) {
|
|
161
|
+
--_table-tint: var(
|
|
162
|
+
--table-row-hover-background,
|
|
163
|
+
var(--eun-content-hover, #edeff0)
|
|
164
|
+
);
|
|
165
|
+
}
|
|
166
|
+
|
|
167
|
+
eun-table > table > tbody > tr[data-selected] > :is(th, td) {
|
|
168
|
+
--_table-tint: var(
|
|
169
|
+
--table-row-selected-background,
|
|
170
|
+
var(--eun-color-primary-alpha-10, rgba(18, 123, 185, 0.08))
|
|
171
|
+
);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
eun-table:is([selectable], [clickable]) > table > tbody > tr {
|
|
175
|
+
cursor: pointer;
|
|
176
|
+
}
|
|
177
|
+
|
|
178
|
+
eun-table > table > tbody > tr[data-dragging] {
|
|
179
|
+
position: relative;
|
|
180
|
+
z-index: 3;
|
|
181
|
+
cursor: grabbing;
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
eun-table > table > tbody > tr[data-dragging] > :is(th, td) {
|
|
185
|
+
--_table-tint: var(
|
|
186
|
+
--table-row-dragging-background,
|
|
187
|
+
var(--eun-color-primary-alpha-10, rgba(18, 123, 185, 0.08))
|
|
188
|
+
);
|
|
189
|
+
border-bottom-color: transparent;
|
|
190
|
+
}
|
|
191
|
+
|
|
192
|
+
eun-table > table > * > tr > [data-table-select] {
|
|
193
|
+
position: sticky;
|
|
194
|
+
inset-inline-start: 0;
|
|
195
|
+
z-index: 1;
|
|
196
|
+
width: var(--_table-select-width);
|
|
197
|
+
min-width: var(--_table-select-width);
|
|
198
|
+
padding: 0 0 0 var(--eun-space-s, 8px);
|
|
199
|
+
text-align: center;
|
|
200
|
+
background-color: var(
|
|
201
|
+
--table-sticky-column-background,
|
|
202
|
+
var(--table-row-background, var(--eun-surface-color, #ffffff))
|
|
203
|
+
);
|
|
204
|
+
--_table-divider-end: var(
|
|
205
|
+
--table-sticky-border-color,
|
|
206
|
+
var(--table-column-border-color, transparent)
|
|
207
|
+
);
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
eun-table > table > thead > tr > [data-table-select] {
|
|
211
|
+
background-color: var(
|
|
212
|
+
--table-sticky-column-background,
|
|
213
|
+
var(--table-header-background, var(--eun-surface-color, #ffffff))
|
|
214
|
+
);
|
|
215
|
+
}
|
|
216
|
+
|
|
217
|
+
eun-table > table [data-table-select] eun-checkbox {
|
|
218
|
+
vertical-align: middle;
|
|
219
|
+
font-size: calc(var(--checkbox-size, 16px) + 2px);
|
|
220
|
+
--checkbox-border-color: var(
|
|
221
|
+
--table-checkbox-border-color,
|
|
222
|
+
var(--eun-color-grey-600, #666e8a)
|
|
223
|
+
);
|
|
224
|
+
--checkbox-background: var(
|
|
225
|
+
--table-checkbox-background,
|
|
226
|
+
var(--eun-surface-color, #ffffff)
|
|
227
|
+
);
|
|
228
|
+
--checkbox-background-hover: var(
|
|
229
|
+
--table-checkbox-hover,
|
|
230
|
+
var(--eun-color-grey-200, #ecedf0)
|
|
231
|
+
);
|
|
232
|
+
}
|
|
233
|
+
|
|
234
|
+
eun-table > table > tbody > tr > [data-table-select] eun-checkbox {
|
|
235
|
+
opacity: 0;
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
eun-table
|
|
239
|
+
> table
|
|
240
|
+
> tbody
|
|
241
|
+
> tr:is(:hover, :focus-within, [data-selected])
|
|
242
|
+
> [data-table-select]
|
|
243
|
+
eun-checkbox,
|
|
244
|
+
eun-table:is([selection-active], [checkbox-always-visible])
|
|
245
|
+
> table
|
|
246
|
+
> tbody
|
|
247
|
+
> tr
|
|
248
|
+
> [data-table-select]
|
|
249
|
+
eun-checkbox {
|
|
250
|
+
opacity: 1;
|
|
251
|
+
}
|
|
252
|
+
|
|
253
|
+
eun-table > table > * > tr > [data-table-action] {
|
|
254
|
+
width: var(--_table-action-width);
|
|
255
|
+
min-width: var(--_table-action-width);
|
|
256
|
+
max-width: var(--_table-action-width);
|
|
257
|
+
padding-inline-start: 0;
|
|
258
|
+
text-align: end;
|
|
259
|
+
white-space: nowrap;
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
eun-table > table > tbody > tr > [data-table-action] > * {
|
|
263
|
+
opacity: 0;
|
|
264
|
+
--button-text: var(--table-action-color);
|
|
265
|
+
}
|
|
266
|
+
|
|
267
|
+
eun-table
|
|
268
|
+
> table
|
|
269
|
+
> tbody
|
|
270
|
+
> tr:is(:hover, :focus-within)
|
|
271
|
+
> [data-table-action]
|
|
272
|
+
> *,
|
|
273
|
+
eun-table[action-always-visible]
|
|
274
|
+
> table
|
|
275
|
+
> tbody
|
|
276
|
+
> tr
|
|
277
|
+
> [data-table-action]
|
|
278
|
+
> *,
|
|
279
|
+
eun-table > table > tbody > tr > [data-table-action] > [open] {
|
|
280
|
+
opacity: 1;
|
|
281
|
+
}
|
|
282
|
+
|
|
283
|
+
eun-table[selection-active] > table > tbody > tr > [data-table-action] > * {
|
|
284
|
+
opacity: 0 !important;
|
|
285
|
+
}
|
|
286
|
+
|
|
287
|
+
@media (hover: none) {
|
|
288
|
+
eun-table > table > tbody > tr > [data-table-select] eun-checkbox,
|
|
289
|
+
eun-table > table > tbody > tr > [data-table-action] > * {
|
|
290
|
+
opacity: 1;
|
|
291
|
+
}
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
eun-table[sticky-header] > table > thead > tr > :is(th, td) {
|
|
295
|
+
position: sticky;
|
|
296
|
+
top: 0;
|
|
297
|
+
z-index: 4;
|
|
298
|
+
border-bottom-color: var(
|
|
299
|
+
--table-sticky-border-color,
|
|
300
|
+
var(--table-border-color, var(--eun-border-color, #dee0e7))
|
|
301
|
+
);
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
eun-table[sticky-footer] > table > tfoot > tr > :is(th, td) {
|
|
305
|
+
position: sticky;
|
|
306
|
+
bottom: 0;
|
|
307
|
+
z-index: 3;
|
|
308
|
+
background-color: var(
|
|
309
|
+
--table-sticky-row-background,
|
|
310
|
+
var(
|
|
311
|
+
--table-footer-background,
|
|
312
|
+
var(--table-row-background, var(--eun-surface-color, #ffffff))
|
|
313
|
+
)
|
|
314
|
+
);
|
|
315
|
+
border-top: var(--eun-border-width-s, 1px) solid
|
|
316
|
+
var(
|
|
317
|
+
--table-sticky-border-color,
|
|
318
|
+
var(--table-border-color, var(--eun-border-color, #dee0e7))
|
|
319
|
+
);
|
|
320
|
+
}
|
|
321
|
+
|
|
322
|
+
eun-table[sticky-first-column]
|
|
323
|
+
> table
|
|
324
|
+
> *
|
|
325
|
+
> tr
|
|
326
|
+
> :is(
|
|
327
|
+
:first-child:not([data-table-select]),
|
|
328
|
+
[data-table-select] + :is(th, td)
|
|
329
|
+
) {
|
|
330
|
+
position: sticky;
|
|
331
|
+
inset-inline-start: 0;
|
|
332
|
+
z-index: 2;
|
|
333
|
+
background-color: var(
|
|
334
|
+
--table-sticky-column-background,
|
|
335
|
+
var(--table-row-background, var(--eun-surface-color, #ffffff))
|
|
336
|
+
);
|
|
337
|
+
--_table-divider-end: var(
|
|
338
|
+
--table-sticky-border-color,
|
|
339
|
+
var(--table-column-border-color, transparent)
|
|
340
|
+
);
|
|
341
|
+
}
|
|
342
|
+
|
|
343
|
+
eun-table[sticky-first-column]
|
|
344
|
+
> table
|
|
345
|
+
> *
|
|
346
|
+
> tr
|
|
347
|
+
> [data-table-select]
|
|
348
|
+
+ :is(th, td):not([data-table-select]) {
|
|
349
|
+
inset-inline-start: var(--_table-select-width);
|
|
350
|
+
}
|
|
351
|
+
|
|
352
|
+
eun-table[sticky-last-column]
|
|
353
|
+
> table
|
|
354
|
+
> *
|
|
355
|
+
> tr
|
|
356
|
+
> :is(:last-child, :nth-last-child(2):has(+ [data-table-action])) {
|
|
357
|
+
position: sticky;
|
|
358
|
+
inset-inline-end: 0;
|
|
359
|
+
z-index: 2;
|
|
360
|
+
background-color: var(
|
|
361
|
+
--table-sticky-column-background,
|
|
362
|
+
var(--table-row-background, var(--eun-surface-color, #ffffff))
|
|
363
|
+
);
|
|
364
|
+
--_table-divider-start: var(
|
|
365
|
+
--table-sticky-border-color,
|
|
366
|
+
var(--table-column-border-color, transparent)
|
|
367
|
+
);
|
|
368
|
+
}
|
|
369
|
+
|
|
370
|
+
eun-table[sticky-last-column]
|
|
371
|
+
> table
|
|
372
|
+
> *
|
|
373
|
+
> tr
|
|
374
|
+
> :nth-last-child(2):has(+ [data-table-action]) {
|
|
375
|
+
inset-inline-end: var(--_table-action-width);
|
|
376
|
+
}
|
|
377
|
+
|
|
378
|
+
eun-table[sticky-last-column]
|
|
379
|
+
> table
|
|
380
|
+
> *
|
|
381
|
+
> tr
|
|
382
|
+
> [data-table-action][data-table-action] {
|
|
383
|
+
--_table-divider-start: transparent;
|
|
384
|
+
}
|
|
385
|
+
|
|
386
|
+
eun-table[sticky-first-column]
|
|
387
|
+
> table
|
|
388
|
+
> thead
|
|
389
|
+
> tr
|
|
390
|
+
> :is(
|
|
391
|
+
:first-child:not([data-table-select]),
|
|
392
|
+
[data-table-select] + :is(th, td)
|
|
393
|
+
),
|
|
394
|
+
eun-table[sticky-last-column]
|
|
395
|
+
> table
|
|
396
|
+
> thead
|
|
397
|
+
> tr
|
|
398
|
+
> :is(:last-child, :nth-last-child(2):has(+ [data-table-action])) {
|
|
399
|
+
background-color: var(
|
|
400
|
+
--table-sticky-column-background,
|
|
401
|
+
var(--table-header-background, var(--eun-surface-color, #ffffff))
|
|
402
|
+
);
|
|
403
|
+
}
|
|
404
|
+
|
|
405
|
+
eun-table[sticky-header] > table > thead > tr > [data-table-select],
|
|
406
|
+
eun-table[sticky-header][sticky-first-column]
|
|
407
|
+
> table
|
|
408
|
+
> thead
|
|
409
|
+
> tr
|
|
410
|
+
> :is(
|
|
411
|
+
:first-child:not([data-table-select]),
|
|
412
|
+
[data-table-select] + :is(th, td)
|
|
413
|
+
),
|
|
414
|
+
eun-table[sticky-header][sticky-last-column]
|
|
415
|
+
> table
|
|
416
|
+
> thead
|
|
417
|
+
> tr
|
|
418
|
+
> :is(:last-child, :nth-last-child(2):has(+ [data-table-action])) {
|
|
419
|
+
z-index: 5;
|
|
420
|
+
}
|
|
421
|
+
|
|
422
|
+
eun-table[loading] > table > tbody:not([data-table-skeleton]) {
|
|
423
|
+
display: none;
|
|
424
|
+
}
|
|
425
|
+
|
|
426
|
+
eun-table > table > tbody[data-table-skeleton] > tr {
|
|
427
|
+
opacity: 0;
|
|
428
|
+
animation: eun-table-skeleton-row-enter
|
|
429
|
+
var(--table-skeleton-duration, 320ms) var(--eun-easing-default, ease)
|
|
430
|
+
forwards;
|
|
431
|
+
animation-delay: calc(
|
|
432
|
+
var(--table-skeleton-stagger, 60ms) * var(--_row-index, 0)
|
|
433
|
+
);
|
|
434
|
+
}
|
|
435
|
+
|
|
436
|
+
eun-table > table > tbody[data-table-skeleton] > tr > td {
|
|
437
|
+
padding-block: var(--eun-space-m, 16px);
|
|
438
|
+
}
|
|
439
|
+
|
|
440
|
+
eun-table > table > tbody[data-table-skeleton] > tr > td[data-table-select] {
|
|
441
|
+
padding-inline-start: calc(var(--eun-space-s, 8px) + 3px);
|
|
442
|
+
}
|
|
443
|
+
|
|
444
|
+
eun-table > table > tbody[data-table-skeleton] eun-skeleton {
|
|
445
|
+
display: inline-block;
|
|
446
|
+
vertical-align: middle;
|
|
447
|
+
}
|
|
448
|
+
|
|
449
|
+
:where(eun-table[syncing] > table > tbody > tr > :is(th, td)) {
|
|
450
|
+
position: relative;
|
|
451
|
+
}
|
|
452
|
+
|
|
453
|
+
eun-table[syncing] > table > tbody > tr > :is(th, td)::after {
|
|
454
|
+
content: "";
|
|
455
|
+
position: absolute;
|
|
456
|
+
inset: 0 var(--eun-border-width-s, 1px) var(--eun-border-width-s, 1px);
|
|
457
|
+
pointer-events: none;
|
|
458
|
+
background-image: linear-gradient(
|
|
459
|
+
90deg,
|
|
460
|
+
transparent 0%,
|
|
461
|
+
var(--table-sync-overlay-color, var(--eun-surface-color, #ffffff)) 50%,
|
|
462
|
+
transparent 100%
|
|
463
|
+
);
|
|
464
|
+
background-size: 200% 100%;
|
|
465
|
+
background-attachment: fixed;
|
|
466
|
+
animation: eun-table-row-sync-shimmer var(--table-sync-duration, 1.6s)
|
|
467
|
+
ease-in-out infinite;
|
|
468
|
+
}
|
|
469
|
+
|
|
470
|
+
eun-table > table > tbody > tr.eun-table-row-spacer > td {
|
|
471
|
+
padding: 0;
|
|
472
|
+
border: none;
|
|
473
|
+
background: none;
|
|
474
|
+
box-shadow: none;
|
|
475
|
+
}
|
|
476
|
+
|
|
477
|
+
eun-table > table > tbody > tr.eun-table-row-spacer > td::after {
|
|
478
|
+
content: none;
|
|
479
|
+
}
|
|
480
|
+
|
|
481
|
+
.eun-table-visually-hidden {
|
|
482
|
+
position: absolute;
|
|
483
|
+
width: 1px;
|
|
484
|
+
height: 1px;
|
|
485
|
+
padding: 0;
|
|
486
|
+
margin: -1px;
|
|
487
|
+
overflow: hidden;
|
|
488
|
+
clip: rect(0 0 0 0);
|
|
489
|
+
white-space: nowrap;
|
|
490
|
+
border: 0;
|
|
491
|
+
}
|
|
492
|
+
|
|
493
|
+
@keyframes eun-table-skeleton-row-enter {
|
|
494
|
+
from {
|
|
495
|
+
opacity: 0;
|
|
496
|
+
transform: translateY(4px);
|
|
497
|
+
}
|
|
498
|
+
to {
|
|
499
|
+
opacity: 1;
|
|
500
|
+
transform: none;
|
|
501
|
+
}
|
|
502
|
+
}
|
|
503
|
+
|
|
504
|
+
@keyframes eun-table-row-sync-shimmer {
|
|
505
|
+
0% {
|
|
506
|
+
background-position: -200% 0;
|
|
507
|
+
}
|
|
508
|
+
100% {
|
|
509
|
+
background-position: 200% 0;
|
|
510
|
+
}
|
|
511
|
+
}
|
|
512
|
+
|
|
513
|
+
@media (prefers-reduced-motion: reduce) {
|
|
514
|
+
eun-table > table > tbody[data-table-skeleton] > tr {
|
|
515
|
+
animation: none;
|
|
516
|
+
opacity: 1;
|
|
517
|
+
}
|
|
518
|
+
|
|
519
|
+
eun-table[syncing] > table > tbody > tr > :is(th, td)::after {
|
|
520
|
+
animation: none;
|
|
521
|
+
}
|
|
522
|
+
}
|
|
523
|
+
`;var ie="eun-table",w="data-table-select",E="data-table-action",ne="data-table-row-link",H="data-table-skeleton",oe="data-selected",P="eun-table-row-spacer",le=44,se='a[href], button, input, select, textarea, summary, label, [contenteditable=""], [contenteditable="true"], [role="button"], [role="link"], [role="checkbox"], [role="switch"], [role="menuitem"]',n=class extends j(X(F)){constructor(){super(...arguments);this.selectable=!1;this.checkboxAlwaysVisible=!1;this.actionAlwaysVisible=!1;this.stickyHeader=!1;this.stickyFooter=!1;this.stickyFirstColumn=!1;this.stickyLastColumn=!1;this.clearOnEscape=!1;this.loading=!1;this.skeletonRows=6;this.syncing=!1;this.clickable=!1;this.infinite=!1;this.virtualize=!1;this.pageSize=20;this.virtualizeThreshold=100;this.bufferPages=1;this.hasMore=!1;this.loadingMore=!1;this.rootMargin="400px";this.actions=[];this.data=[];this.internalSelection=new Set;this.rowKeys=new Map;this.ariaRowsApplied=!1;this.logicalRows=[];this.mountedPages=new Set;this.detachedByPage=new Map;this.pageHeights=[];this.avgRowHeight=le;this.requestedPages=0;this.handleMutations=e=>{e.some(a=>{if(a.type==="attributes")return!0;let r=a.target;return r===this||/^(TABLE|THEAD|TBODY|TFOOT|TR)$/.test(r.nodeName??"")})&&(this.sync(),this.announceLoadedRows(),this.virtualize&&this.scheduleAnimationFrame(()=>this.syncPages()),this.infinite&&this.reobserveSentinel(this.sentinelEl))};this.handleClick=e=>{let t=e.target;if(t.closest?.(`[${w}]`)){t.closest("eun-checkbox")?.indeterminate&&this.toggleSelectAll();return}let r=this.bodyRowOf(t);!r||t.closest(`[${E}]`)||this.isInteractiveClick(e,r)||this.activateRow(r,e)};this.handleCheckboxChange=e=>{let t=e.target,a=t.closest?.(`[${w}]`);if(!a||t.nodeName!=="EUN-CHECKBOX")return;let r=a.parentElement;if(r.parentElement?.nodeName==="THEAD"){this.toggleSelectAll();return}let i=this.rowKeys.get(r);i!==void 0&&this.toggleRow(i)};this.handlePortaledAction=e=>{let t=e;e.stopPropagation(),this.dispatchEvent(new C(t.key,t.optionKey))};this.handleEscapeClear=e=>{e.key==="Escape"&&this.setSelection(new Set)};this.handleTableScroll=()=>{this.scheduleAnimationFrame(()=>this.syncPages())}}connectedCallback(){super.connectedCallback?.(),G(this,ae),this.addEventListener("click",this.handleClick),this.addEventListener("eunchange",this.handleCheckboxChange),this.mutationObserver=new MutationObserver(this.handleMutations),this.mutationObserver.observe(this,{childList:!0,subtree:!0,attributes:!0,attributeFilter:["data-row-key"]}),this.hasUpdated&&this.sync()}disconnectedCallback(){this.removeEventListener("click",this.handleClick),this.removeEventListener("eunchange",this.handleCheckboxChange),this.mutationObserver?.disconnect(),this.mutationObserver=void 0,this.teardownActionBar(),this.teardownLoadMoreSentinel(),this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.captionObserver?.disconnect(),this.captionObserver=void 0,this.observedCaption=void 0,super.disconnectedCallback?.()}firstUpdated(e){super.firstUpdated(e),this.sync(),this.ensureVirtualizeObservers(),this.infinite&&this.setupTableLoadObserver()}updated(e){super.updated(e);let t=["columns","data","rowAction","rowKey"];this.columns&&t.some(r=>e.has(r))&&this.renderManagedTable(),["columns","data","rowAction","rowKey","selectable","stickyHeader","loading","virtualize","infinite","hasMore","skeletonRows","syncing","internalSelection","actions","selectedLabel","selectAllLabel","deselectAllLabel","selectAllAriaLabel","deselectAllAriaLabel","selectRowAriaLabel","toolbarAriaLabel","closeActionBarAriaLabel","locale"].some(r=>e.has(r))&&this.sync(),e.has("virtualize")&&this.ensureVirtualizeObservers(),this.virtualize&&(e.has("pageSize")||e.has("virtualizeThreshold")||e.has("bufferPages"))&&this.scheduleAnimationFrame(()=>this.syncPages()),(e.has("infinite")||e.has("rootMargin")||e.has("loading"))&&(this.infinite?this.setupTableLoadObserver():(this.loadObserver?.disconnect(),this.loadObserver=void 0))}get selectedKeys(){return Array.from(this.internalSelection)}set selectedKeys(e){this.setSelection(new Set(e))}get tableEl(){return this.querySelector(":scope > table")}get selectionActive(){return this.selectable&&this.internalSelection.size>0}get labels(){let e=this.dictionary.table;return{...e,loadingMore:this.loadingMoreLabel??e.loadingMore,selected:this.selectedLabel??e.selected,selectAll:this.selectAllLabel??e.selectAll,deselectAll:this.deselectAllLabel??e.deselectAll,selectAllRows:this.selectAllAriaLabel??e.selectAllRows,deselectAllRows:this.deselectAllAriaLabel??e.deselectAllRows,selectRow:this.selectRowAriaLabel??e.selectRow,selectionActions:this.toolbarAriaLabel??e.selectionActions,clearSelection:this.closeActionBarAriaLabel??e.clearSelection}}currentRows(){if(this.virtualize)return this.logicalRows;let e=this.tableEl;return e?Array.from(e.tBodies).filter(t=>!t.hasAttribute(H)).flatMap(t=>Array.from(t.rows)).filter(t=>!t.classList.contains(P)):[]}get bodyEl(){let e=this.tableEl;return e?Array.from(e.tBodies).find(t=>!t.hasAttribute(H)):void 0}sync(){this.virtualize&&this.syncLogicalRows();let e=this.tableEl;e&&(this.syncHeader(e),this.syncFooter(e),this.syncRows(this.currentRows()),this.syncSkeleton(e),this.syncAriaRows(e),this.syncing||this.loading?e.setAttribute("aria-busy","true"):e.removeAttribute("aria-busy")),this.watchCaption(e?.caption??void 0),this.toggleAttribute("selection-active",this.selectionActive),this.syncActionBar(),this.mutationObserver?.takeRecords()}watchCaption(e){if(e===this.observedCaption)return;if(this.captionObserver?.disconnect(),this.observedCaption=e,!e){this.style.removeProperty("--_table-caption-height");return}let t=()=>{this.style.setProperty("--_table-caption-height",`${e.getBoundingClientRect().height}px`)};this.captionObserver??=new ResizeObserver(()=>this.observedCaption?t():void 0),this.captionObserver.observe(e),t()}ensureSelectCell(e,t){let a=e.cells[0];if(a?.hasAttribute(w))return a;let r=document.createElement(t);return r.setAttribute(w,""),e.prepend(r),r}removeSelectCell(e){let t=e.cells[0];t?.hasAttribute(w)&&t.remove()}ensureCheckbox(e){let t=e.querySelector("eun-checkbox");return t||(t=document.createElement("eun-checkbox"),t.setAttribute("tabindex","0"),e.replaceChildren(t)),t}syncHeader(e){let t=e.tHead?Array.from(e.tHead.rows):[],[a,...r]=t;if(r.forEach(h=>this.removeSelectCell(h)),!a)return;if(!this.selectable){this.removeSelectCell(a);return}let i=this.ensureSelectCell(a,"th");i.setAttribute("scope","col"),i.rowSpan=t.length;let c=this.labels,l=this.currentRows().length,u=this.internalSelection.size,f=l>0&&u===l,d=this.ensureCheckbox(i);d.checked=f,d.indeterminate=u>0&&!f,d.disabled=l===0,d.setAttribute("aria-label",f?c.deselectAllRows:c.selectAllRows)}syncFooter(e){(e.tFoot?Array.from(e.tFoot.rows):[]).forEach(a=>{this.selectable?this.ensureSelectCell(a,"td").replaceChildren():this.removeSelectCell(a)})}syncRows(e){let t=new Map,a=this.selectionActive,r=this.labels;e.forEach((i,c)=>{let l=O(i.dataset.rowKey,c);t.set(i,l);let u=this.selectable&&this.internalSelection.has(l);if(i.toggleAttribute(oe,u),this.selectable){let f=this.ensureCheckbox(this.ensureSelectCell(i,"td"));f.checked=u,f.setAttribute("aria-label",`${r.selectRow} ${this.rowName(i)??c+1}`)}else this.removeSelectCell(i);for(let f of Array.from(i.cells))f.hasAttribute(E)&&(f.inert=a)}),this.rowKeys=t}rowName(e){return(e.querySelector(':scope > th[scope="row"]')??e.querySelector(`:scope > th:not([${w}])`))?.textContent?.replace(/\s+/g," ").trim()||void 0}syncAriaRows(e){if(!this.virtualize){this.ariaRowsApplied&&(e.removeAttribute("aria-rowcount"),e.querySelectorAll("tr[aria-rowindex]").forEach(a=>a.removeAttribute("aria-rowindex")),this.ariaRowsApplied=!1);return}let t=[...e.tHead?Array.from(e.tHead.rows):[],...this.logicalRows,...e.tFoot?Array.from(e.tFoot.rows):[]];e.setAttribute("aria-rowcount",this.infinite&&this.hasMore?"-1":String(t.length)),t.forEach((a,r)=>a.setAttribute("aria-rowindex",String(r+1))),this.ariaRowsApplied=!0}announceLoadedRows(){if(this.rowCountBeforeLoad===void 0||!this.announcerEl)return;let e=this.currentRows().length-this.rowCountBeforeLoad;e<=0||(this.rowCountBeforeLoad=void 0,this.announcerEl.textContent=this.dictionary.table.rowsLoaded(e))}syncSkeleton(e){let t=e.querySelector(`:scope > tbody[${H}]`);if(!this.loading){t?.remove();return}let a=e.tHead?.rows[0]?Array.from(e.tHead.rows[0].cells).filter(u=>!u.hasAttribute(w)):[],r=[this.selectable,this.skeletonRows,...a.map(u=>`${u.colSpan}${u.hasAttribute(E)?"a":""}`)].join(",");if(t?.dataset.tableSkeleton===r)return;let i=document.createElement("tbody");i.setAttribute(H,r),i.setAttribute("aria-hidden","true");for(let u=0;u<this.skeletonRows;u++){let f=i.insertRow();if(f.style.setProperty("--_row-index",String(u)),this.selectable){let d=f.insertCell();d.setAttribute(w,""),d.append(this.createSkeleton("18px","18px","4px"))}for(let d of a){let h=f.insertCell();h.colSpan=d.colSpan,d.hasAttribute(E)?(h.setAttribute(E,""),h.append(this.createSkeleton("28px","28px","8px"))):h.append(this.createSkeleton("50%","14px","4px"))}}if(t){t.replaceWith(i);return}let c=Array.from(e.tBodies),l=c[c.length-1];l?l.after(i):e.tFoot?e.tFoot.before(i):e.append(i)}createSkeleton(e,t,a){let r=document.createElement("eun-skeleton");return r.setAttribute("variant","rect"),r.setAttribute("width",e),r.setAttribute("height",t),r.setAttribute("radius",a),e.endsWith("%")&&(r.style.width=e),r}bodyRowOf(e){let t=e.closest?.("tr");return t&&this.rowKeys.has(t)?t:void 0}isInteractiveClick(e,t){for(let a of e.composedPath()){if(a===t)return!1;if(a instanceof Element&&a.matches(se))return!0}return!1}activateRow(e,t){let a=this.rowKeys.get(e)??"";if(this.selectionActive){this.toggleRow(a);return}let r=new z(a);this.dispatchEvent(r),r.defaultPrevented||this.followRowLink(e,t)}followRowLink(e,t){let a=e.querySelector(`[${ne}]`);if(!a)return;((a.matches("a[href]")?a:null)??a.querySelector("a[href]")??a.shadowRoot?.querySelector("a[href]")??a).dispatchEvent(new MouseEvent("click",{bubbles:!0,cancelable:!0,composed:!0,ctrlKey:t.ctrlKey,metaKey:t.metaKey,shiftKey:t.shiftKey,altKey:t.altKey}))}toggleRow(e){let t=new Set(this.internalSelection);t.has(e)?t.delete(e):t.add(e),this.setSelection(t)}toggleSelectAll(){let e=Array.from(this.rowKeys.values()),t=e.length>0&&e.every(a=>this.internalSelection.has(a));this.setSelection(t?new Set:new Set(e))}setSelection(e){this.internalSelection=e,this.dispatchEvent(new M(Array.from(e)))}ensureActionBar(){if(!this.actionBarEl){let e=document.createElement(J);e.setAttribute("popover","manual"),e.addEventListener(C.eventName,this.handlePortaledAction),this.after(e),e.showPopover?.(),this.actionBarEl=e}return this.actionBarEl}teardownActionBar(){if(!this.actionBarEl)return;let e=this.actionBarEl.contains(this.ownerDocument.activeElement);this.actionBarEl.removeEventListener(C.eventName,this.handlePortaledAction),document.removeEventListener("keydown",this.handleEscapeClear),this.actionBarEl.remove(),this.actionBarEl=void 0,e&&this.querySelector(`[${w}] eun-checkbox:not([disabled])`)?.focus()}syncActionBar(){if(!this.selectionActive){this.teardownActionBar();return}let e=!!this.actionBarEl,t=this.ensureActionBar();!e&&this.clearOnEscape&&document.addEventListener("keydown",this.handleEscapeClear),t.selectedCount=this.internalSelection.size,t.totalCount=this.rowKeys.size,t.actions=this.actions;let a=this.labels;t.toolbarAriaLabel=a.selectionActions,t.selectedLabel=a.selected,t.selectAllLabel=a.selectAll,t.deselectAllLabel=a.deselectAll,t.closeAriaLabel=a.clearSelection,t.onSelectAll=()=>this.toggleSelectAll(),t.onClose=()=>this.setSelection(new Set)}renderManagedTable(){let e=this.columns??[],t=this.data.map((i,c)=>this.rowKey?this.rowKey(i,c):O(void 0,c));this.mountAllPages(),D(m`<table>
|
|
524
|
+
<thead>
|
|
525
|
+
<tr>
|
|
526
|
+
${e.map(i=>m`<th
|
|
527
|
+
scope="col"
|
|
528
|
+
style=${A(this.columnStyle(i,!0))}
|
|
529
|
+
aria-sort=${A(i.sort)}
|
|
530
|
+
>
|
|
531
|
+
${i.label}
|
|
532
|
+
</th>`)}
|
|
533
|
+
${this.rowAction?m`<th scope="col" data-table-action>
|
|
534
|
+
<span class="eun-table-visually-hidden"
|
|
535
|
+
>${this.rowAction.label??this.labels.rowActions}</span
|
|
536
|
+
>
|
|
537
|
+
</th>`:R}
|
|
538
|
+
</tr>
|
|
539
|
+
</thead>
|
|
540
|
+
<tbody>
|
|
541
|
+
${Z(this.data,(i,c)=>t[c],(i,c)=>m`<tr data-row-key=${t[c]}>
|
|
542
|
+
${e.map(l=>m`<td
|
|
543
|
+
style=${A(this.columnStyle(l,!1))}
|
|
544
|
+
>
|
|
545
|
+
${this.renderManagedCell(l,i,c)}
|
|
546
|
+
</td>`)}
|
|
547
|
+
${this.rowAction?m`<td data-table-action>
|
|
548
|
+
${this.renderRowAction(this.rowAction,i,c)}
|
|
549
|
+
</td>`:R}
|
|
550
|
+
</tr>`)}
|
|
551
|
+
</tbody>
|
|
552
|
+
</table>`,this);let a=new Set(t),r=new Set([...this.internalSelection].filter(i=>a.has(i)));r.size!==this.internalSelection.size&&(this.internalSelection=r),this.virtualize&&this.scheduleAnimationFrame(()=>this.syncPages()),this.infinite&&this.reobserveSentinel(this.sentinelEl)}columnStyle(e,t){let a=[];t&&e.width&&a.push(`width: ${e.width}`);let r=ee(e.align);return r&&a.push(`text-align: ${r}`),a.length?a.join("; "):void 0}renderManagedCell(e,t,a){let r=t[e.key];return e.render?e.render(r,t,a):r==null?"":String(r)}renderRowAction(e,t,a){return e.type==="dropdown"?m`<eun-dropdown-button
|
|
553
|
+
size="xs"
|
|
554
|
+
appearance="ghost"
|
|
555
|
+
icon=${A(e.icon)}
|
|
556
|
+
label=${A(e.icon?void 0:e.label)}
|
|
557
|
+
aria-label=${e.label??this.labels.rowActions}
|
|
558
|
+
.options=${e.options(t)}
|
|
559
|
+
.disabledKeys=${e.disabledKeys?.(t)??[]}
|
|
560
|
+
?disabled=${e.disabled?.(t)??!1}
|
|
561
|
+
@eunselect=${r=>e.onSelect(r.key,t,a)}
|
|
562
|
+
></eun-dropdown-button>`:m`<eun-button
|
|
563
|
+
size="xs"
|
|
564
|
+
appearance=${e.color?"default":"ghost"}
|
|
565
|
+
color=${A(e.color)}
|
|
566
|
+
aria-label=${e.label}
|
|
567
|
+
?disabled=${e.disabled?.(t)??!1}
|
|
568
|
+
@click=${()=>e.onClick(t,a)}
|
|
569
|
+
>
|
|
570
|
+
${e.icon?m`<eun-icon name=${e.icon} size="16"></eun-icon>`:e.label}
|
|
571
|
+
</eun-button>`}syncLogicalRows(){let e=[];for(let r of Array.from(this.bodyEl?.rows??[]))r.classList.contains(P)?e.push(...this.detachedByPage.get(Number(r.dataset.eunPage))??[]):e.push(r);this.logicalRows=e;let t=Math.ceil(e.length/this.pageSize),a=new Set;for(let r=0;r<t;r++)this.detachedByPage.has(r)||a.add(r);this.mountedPages=a}mountAllPages(){for(let e of Array.from(this.detachedByPage.keys()))this.mountPage(e);this.detachedByPage.clear(),this.pageHeights=[],this.mutationObserver?.takeRecords()}syncPages(){let e=this.logicalRows.length;if(e===0)return;let t=Math.ceil(e/this.pageSize),a=!1;if(e<=this.virtualizeThreshold)for(let r=0;r<t;r++)a=this.mountPage(r)||a;else{if(!this.frameEl?.clientHeight)return;let r=this.estimateCenterPage(t),i=Math.max(0,r-this.bufferPages),c=Math.min(t-1,r+this.bufferPages);for(let l=0;l<t;l++)l>=i&&l<=c?a=this.mountPage(l)||a:a=this.unmountPage(l)||a}a&&this.sync()}estimateCenterPage(e){let t=this.frameEl,a=t?t.scrollTop+t.clientHeight/2:0,r=0;for(let i=0;i<e;i++){let c=this.pageHeights[i]??this.estimatePageHeight(i);if(a<r+c)return i;r+=c}return Math.max(0,e-1)}estimatePageHeight(e){let t=Math.ceil(this.logicalRows.length/this.pageSize);return(e===t-1?this.logicalRows.length-e*this.pageSize:this.pageSize)*this.avgRowHeight}mountPage(e){let t=this.detachedByPage.get(e);if(this.mountedPages.has(e)||!t?.length)return!1;let a=this.bodyEl?.querySelector(`:scope > .${P}[data-eun-page="${e}"]`);return a?(a.before(...t),a.remove()):this.bodyEl?.append(...t),this.detachedByPage.delete(e),this.mountedPages.add(e),!0}unmountPage(e){if(!this.mountedPages.has(e))return!1;let t=e*this.pageSize,a=Math.min(t+this.pageSize,this.logicalRows.length),r=this.logicalRows.slice(t,a).filter(d=>d.isConnected);if(r.length===0)return!1;let i=r[0],l=r[r.length-1].getBoundingClientRect().bottom-i.getBoundingClientRect().top;if(l<=0)return!1;this.pageHeights[e]=l,this.avgRowHeight=(this.avgRowHeight+l/r.length)/2;let u=document.createElement("tr");u.className=P,u.dataset.eunPage=String(e),u.setAttribute("aria-hidden","true");let f=u.insertCell();return f.colSpan=1e3,f.style.blockSize=`${l}px`,i.before(u),r.forEach(d=>d.remove()),this.detachedByPage.set(e,r),this.mountedPages.delete(e),!0}ensureVirtualizeObservers(){if(!this.virtualize){this.resizeObserver?.disconnect(),this.resizeObserver=void 0,this.frameEl?.removeEventListener("scroll",this.handleTableScroll),this.syncHandle&&(cancelAnimationFrame(this.syncHandle),this.syncHandle=void 0);return}!this.resizeObserver&&this.frameEl&&(this.resizeObserver=new ResizeObserver(()=>this.scheduleAnimationFrame(()=>this.syncPages())),this.resizeObserver.observe(this.frameEl),this.frameEl.addEventListener("scroll",this.handleTableScroll,{passive:!0})),this.sync(),this.scheduleAnimationFrame(()=>this.syncPages())}setupTableLoadObserver(){this.setupLoadObserver(this.sentinelEl,this.frameEl??this,this.rootMargin,()=>this.maybeLoadMore())}maybeLoadMore(){this.loadingMore||!this.hasMore||(this.loadingMore=!0,this.rowCountBeforeLoad=this.currentRows().length,this.requestedPages+=1,this.dispatchEvent(new Y(this.requestedPages,this.pageSize)))}render(){return m`
|
|
572
|
+
<div id="frame" part="frame">
|
|
573
|
+
<slot></slot>
|
|
574
|
+
${!this.loading&&this.infinite?m`
|
|
575
|
+
<div id="table-sentinel" aria-hidden="true"></div>
|
|
576
|
+
<div id="table-loading-row" ?hidden=${!this.loadingMore}>
|
|
577
|
+
<eun-loader label=${this.labels.loadingMore}></eun-loader>
|
|
578
|
+
</div>
|
|
579
|
+
`:R}
|
|
580
|
+
</div>
|
|
581
|
+
<div
|
|
582
|
+
id="announcer"
|
|
583
|
+
role="status"
|
|
584
|
+
aria-live="polite"
|
|
585
|
+
class="visually-hidden"
|
|
586
|
+
></div>
|
|
587
|
+
`}};n.styles=te,o([s({type:Boolean,reflect:!0})],n.prototype,"selectable",2),o([s({type:Boolean,reflect:!0,attribute:"checkbox-always-visible"})],n.prototype,"checkboxAlwaysVisible",2),o([s({type:Boolean,reflect:!0,attribute:"action-always-visible"})],n.prototype,"actionAlwaysVisible",2),o([s({type:Boolean,reflect:!0,attribute:"sticky-header"})],n.prototype,"stickyHeader",2),o([s({type:Boolean,reflect:!0,attribute:"sticky-footer"})],n.prototype,"stickyFooter",2),o([s({type:Boolean,reflect:!0,attribute:"sticky-first-column"})],n.prototype,"stickyFirstColumn",2),o([s({type:Boolean,reflect:!0,attribute:"sticky-last-column"})],n.prototype,"stickyLastColumn",2),o([s({type:Boolean,reflect:!0,attribute:"clear-on-escape"})],n.prototype,"clearOnEscape",2),o([s({type:Boolean,reflect:!0})],n.prototype,"loading",2),o([s({attribute:"skeleton-rows",type:Number})],n.prototype,"skeletonRows",2),o([s({type:Boolean,reflect:!0})],n.prototype,"syncing",2),o([s({type:Boolean,reflect:!0})],n.prototype,"clickable",2),o([s({type:Boolean,reflect:!0})],n.prototype,"infinite",2),o([s({type:Boolean,reflect:!0})],n.prototype,"virtualize",2),o([s({attribute:"page-size",type:Number})],n.prototype,"pageSize",2),o([s({attribute:"virtualize-threshold",type:Number})],n.prototype,"virtualizeThreshold",2),o([s({attribute:"buffer-pages",type:Number})],n.prototype,"bufferPages",2),o([s({attribute:"has-more",type:Boolean,reflect:!0})],n.prototype,"hasMore",2),o([s({attribute:"loading-more",type:Boolean,reflect:!0})],n.prototype,"loadingMore",2),o([s({attribute:"root-margin"})],n.prototype,"rootMargin",2),o([s({attribute:"loading-more-label"})],n.prototype,"loadingMoreLabel",2),o([s({attribute:!1})],n.prototype,"actions",2),o([s({attribute:"selected-label"})],n.prototype,"selectedLabel",2),o([s({attribute:"select-all-label"})],n.prototype,"selectAllLabel",2),o([s({attribute:"deselect-all-label"})],n.prototype,"deselectAllLabel",2),o([s({attribute:"select-all-aria-label"})],n.prototype,"selectAllAriaLabel",2),o([s({attribute:"deselect-all-aria-label"})],n.prototype,"deselectAllAriaLabel",2),o([s({attribute:"select-row-aria-label"})],n.prototype,"selectRowAriaLabel",2),o([s({attribute:"toolbar-aria-label"})],n.prototype,"toolbarAriaLabel",2),o([s({attribute:"close-action-bar-aria-label"})],n.prototype,"closeActionBarAriaLabel",2),o([s({attribute:!1})],n.prototype,"columns",2),o([s({attribute:!1})],n.prototype,"data",2),o([s({attribute:!1})],n.prototype,"rowAction",2),o([s({attribute:!1})],n.prototype,"rowKey",2),o([K()],n.prototype,"internalSelection",2),o([L("#table-sentinel")],n.prototype,"sentinelEl",2),o([L("#frame")],n.prototype,"frameEl",2),o([L("#announcer")],n.prototype,"announcerEl",2),n=o([_(ie)],n);export{n as EunomiaTable,ie as EunomiaTableTagName};
|
|
588
|
+
/*! Bundled license information:
|
|
589
|
+
|
|
590
|
+
lit-html/directives/repeat.js:
|
|
591
|
+
(**
|
|
592
|
+
* @license
|
|
593
|
+
* Copyright 2017 Google LLC
|
|
594
|
+
* SPDX-License-Identifier: BSD-3-Clause
|
|
595
|
+
*)
|
|
596
|
+
*/
|