@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
|
@@ -64,22 +64,27 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
|
|
|
64
64
|
* @prop {boolean} [showArrows=true] - Shows the previous and next buttons
|
|
65
65
|
* @prop {boolean} [showDots=true] - Shows the pagination dots
|
|
66
66
|
* @attr {string} aria-label - The accessible name for the carousel region. Defaults to Carousel, and is recommended whenever a page has more than one carousel, or its purpose isn't already clear from a preceding heading
|
|
67
|
-
* @prop {string} [
|
|
68
|
-
* @attr {string} [
|
|
69
|
-
* @prop {string} [
|
|
70
|
-
* @attr {string} [
|
|
67
|
+
* @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
|
|
68
|
+
* @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
|
|
69
|
+
* @prop {string} [nextLabel] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
|
|
70
|
+
* @attr {string} [next-label] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
|
|
71
71
|
* @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
|
|
72
72
|
* @cssprop [--carousel-visible-slides] - Sets how many slides are shown at once, overriding visibleSlides. Meant to be changed from your own media or container queries, so the slide count follows the available space without any script
|
|
73
73
|
* @cssprop [--carousel-scroll-step] - Sets how many slides a previous, next, or dot click advances by, overriding scrollStep. Read again whenever the carousel resizes
|
|
74
74
|
* @cssprop [--carousel-responsive-breakpoint] - Sets the width, in pixels, below which an inline layout moves its buttons into the header row, overriding responsiveBreakpoint. Zero disables the automatic switch. Read again whenever the carousel resizes
|
|
75
75
|
* @cssprop [--carousel-gap] - Sets the gap between slides
|
|
76
76
|
* @cssprop [--carousel-track-padding] - Sets the vertical padding on the track, giving slides' own effects that bleed outside their box, such as a hover shadow, room to render before it gets clipped
|
|
77
|
+
* @cssprop [--carousel-track-padding-top] - Sets the top padding on the track, falling back to --carousel-track-padding
|
|
78
|
+
* @cssprop [--carousel-track-padding-bottom] - Sets the bottom padding on the track, falling back to --carousel-track-padding
|
|
79
|
+
* @cssprop [--carousel-track-padding-inline] - Lets the track bleed past the carousel on both sides by this length, while slides stay aligned on its edges. The next slide and the hover shadows of the edge slides show past the container
|
|
80
|
+
* @cssprop [--carousel-slide-width] - Sets a fixed width for every slide, overriding visibleSlides, fullSlides and --carousel-min-slide-width
|
|
77
81
|
* @cssprop [--carousel-min-slide-width] - Sets the minimum slide width. On a narrow viewport, this wins over visibleSlides so slides never get uncomfortably small
|
|
78
82
|
* @cssprop [--carousel-peek-size] - Sets how much of the next slide peeks at the edge, when fullSlides is off
|
|
79
83
|
* @cssprop [--carousel-fade-display] - Set to none to hide the edge fades through pure CSS, regardless of edgeFade, for instance on a narrow screen where a single slide fills the whole width
|
|
80
84
|
* @cssprop [--carousel-fade-width] - Sets the width of the edge fades
|
|
81
85
|
* @cssprop [--carousel-fade-color] - Sets the color of the edge fades, which fade to transparent
|
|
82
86
|
* @cssprop [--carousel-active-scale] - Sets the scale applied to the active slide
|
|
87
|
+
* @cssprop [--carousel-header-margin] - Sets the space between the header row and the track
|
|
83
88
|
* @cssprop [--carousel-header-gap] - Sets the gap between the title slot and the header navigation buttons
|
|
84
89
|
* @cssprop [--carousel-header-align] - Sets the cross-axis alignment (align-items) between the title slot and the header navigation buttons. Defaults to baseline, which keeps the nav buttons close to the track below regardless of how tall a multi-line title ends up
|
|
85
90
|
* @cssprop [--carousel-nav-display] - Set to none to hide the previous and next buttons through pure CSS, regardless of showArrows
|
|
@@ -88,6 +93,10 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
|
|
|
88
93
|
* @cssprop [--carousel-nav-color] - Sets the icon color of the previous and next buttons
|
|
89
94
|
* @cssprop [--carousel-nav-background] - Sets the background color of the previous and next buttons
|
|
90
95
|
* @cssprop [--carousel-nav-border-color] - Sets the border color of the previous and next buttons
|
|
96
|
+
* @cssprop [--carousel-nav-border-width] - Sets the border width of the previous and next buttons
|
|
97
|
+
* @cssprop [--carousel-nav-hover-background] - Sets the background color of the previous and next buttons on hover
|
|
98
|
+
* @cssprop [--carousel-nav-hover-color] - Sets the icon color of the previous and next buttons on hover
|
|
99
|
+
* @cssprop [--carousel-nav-hover-border-color] - Sets the border color of the previous and next buttons on hover
|
|
91
100
|
* @cssprop [--carousel-nav-shadow] - Sets the shadow of the previous and next buttons in the inline layout, when enabled. Unset for the header layout, and always unset while a button is disabled
|
|
92
101
|
* @cssprop [--carousel-nav-disabled-background] - Sets the background and border color of a disabled previous or next button
|
|
93
102
|
* @cssprop [--carousel-nav-disabled-color] - Sets the icon color of a disabled previous or next button
|
|
@@ -197,15 +206,17 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
197
206
|
*/
|
|
198
207
|
showDots: boolean;
|
|
199
208
|
/**
|
|
200
|
-
* Accessible label of the Previous control.
|
|
201
|
-
*
|
|
209
|
+
* Accessible label of the Previous control. Resolved from the locale
|
|
210
|
+
* dictionary when unset, so it follows `locale` automatically.
|
|
211
|
+
* @default {i18n:carousel.previous}
|
|
202
212
|
*/
|
|
203
|
-
|
|
213
|
+
previousLabel?: string;
|
|
204
214
|
/**
|
|
205
|
-
* Accessible label of the Next control.
|
|
206
|
-
*
|
|
215
|
+
* Accessible label of the Next control. Resolved from the locale
|
|
216
|
+
* dictionary when unset, so it follows `locale` automatically.
|
|
217
|
+
* @default {i18n:carousel.next}
|
|
207
218
|
*/
|
|
208
|
-
|
|
219
|
+
nextLabel?: string;
|
|
209
220
|
/**
|
|
210
221
|
* Index of the currently active slide (see {@link ACTIVE_SLIDE_CLASS}).
|
|
211
222
|
* @internal
|
|
@@ -349,6 +360,38 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
349
360
|
* @private
|
|
350
361
|
*/
|
|
351
362
|
private getCssPixelValue;
|
|
363
|
+
/**
|
|
364
|
+
* The track's inline padding in pixels, set by
|
|
365
|
+
* `--carousel-track-padding-inline` to let the track bleed past the
|
|
366
|
+
* host. Slides rest that far from the track's own edge, so scroll math
|
|
367
|
+
* measured from that edge has to offset by it.
|
|
368
|
+
* @returns the inline padding, `0` when unset.
|
|
369
|
+
* @private
|
|
370
|
+
*/
|
|
371
|
+
private getTrackInset;
|
|
372
|
+
/**
|
|
373
|
+
* Whether the track lays out right to left. Slides then start from the
|
|
374
|
+
* track's right edge and `scrollLeft` runs from `0` down to negative
|
|
375
|
+
* values, so every scroll measurement goes through the logical helpers
|
|
376
|
+
* below instead of reading `left`/`scrollLeft` directly.
|
|
377
|
+
* @private
|
|
378
|
+
*/
|
|
379
|
+
private isRtl;
|
|
380
|
+
/**
|
|
381
|
+
* How far the track has scrolled from its inline start, always positive
|
|
382
|
+
* whatever the direction.
|
|
383
|
+
* @private
|
|
384
|
+
*/
|
|
385
|
+
private getScrollProgress;
|
|
386
|
+
/**
|
|
387
|
+
* Distance from the track's inline-start edge to a rect's own
|
|
388
|
+
* inline-start edge (`left` in LTR, `right` in RTL), positive toward the
|
|
389
|
+
* end of the track.
|
|
390
|
+
* @param rect the measured element's rect.
|
|
391
|
+
* @param trackRect the track's own rect.
|
|
392
|
+
* @private
|
|
393
|
+
*/
|
|
394
|
+
private getInlineStartOffset;
|
|
352
395
|
/**
|
|
353
396
|
* The highest valid slide index a page can start on, without leaving
|
|
354
397
|
* empty space at the end of the track. Measured from the slides' actual
|
|
@@ -543,7 +586,8 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
543
586
|
private updateFromScrollPosition;
|
|
544
587
|
/**
|
|
545
588
|
* Handles keyboard navigation on the track : arrow keys page by
|
|
546
|
-
* `scrollStep`, Home/End jump to the bounds.
|
|
589
|
+
* `scrollStep`, Home/End jump to the bounds. Right to left, the arrows
|
|
590
|
+
* swap so each one still moves toward the side it points to.
|
|
547
591
|
*
|
|
548
592
|
* @param event the native keyboard event.
|
|
549
593
|
* @private
|
|
@@ -54,22 +54,27 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
|
|
|
54
54
|
* @prop {boolean} [showArrows=true] - Shows the previous and next buttons
|
|
55
55
|
* @prop {boolean} [showDots=true] - Shows the pagination dots
|
|
56
56
|
* @attr {string} aria-label - The accessible name for the carousel region. Defaults to Carousel, and is recommended whenever a page has more than one carousel, or its purpose isn't already clear from a preceding heading
|
|
57
|
-
* @prop {string} [
|
|
58
|
-
* @attr {string} [
|
|
59
|
-
* @prop {string} [
|
|
60
|
-
* @attr {string} [
|
|
57
|
+
* @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
|
|
58
|
+
* @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
|
|
59
|
+
* @prop {string} [nextLabel] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
|
|
60
|
+
* @attr {string} [next-label] - The accessible label of the next control. Defaults to the localized string for the current locale (English: "Next slide")
|
|
61
61
|
* @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
|
|
62
62
|
* @cssprop [--carousel-visible-slides] - Sets how many slides are shown at once, overriding visibleSlides. Meant to be changed from your own media or container queries, so the slide count follows the available space without any script
|
|
63
63
|
* @cssprop [--carousel-scroll-step] - Sets how many slides a previous, next, or dot click advances by, overriding scrollStep. Read again whenever the carousel resizes
|
|
64
64
|
* @cssprop [--carousel-responsive-breakpoint] - Sets the width, in pixels, below which an inline layout moves its buttons into the header row, overriding responsiveBreakpoint. Zero disables the automatic switch. Read again whenever the carousel resizes
|
|
65
65
|
* @cssprop [--carousel-gap] - Sets the gap between slides
|
|
66
66
|
* @cssprop [--carousel-track-padding] - Sets the vertical padding on the track, giving slides' own effects that bleed outside their box, such as a hover shadow, room to render before it gets clipped
|
|
67
|
+
* @cssprop [--carousel-track-padding-top] - Sets the top padding on the track, falling back to --carousel-track-padding
|
|
68
|
+
* @cssprop [--carousel-track-padding-bottom] - Sets the bottom padding on the track, falling back to --carousel-track-padding
|
|
69
|
+
* @cssprop [--carousel-track-padding-inline] - Lets the track bleed past the carousel on both sides by this length, while slides stay aligned on its edges. The next slide and the hover shadows of the edge slides show past the container
|
|
70
|
+
* @cssprop [--carousel-slide-width] - Sets a fixed width for every slide, overriding visibleSlides, fullSlides and --carousel-min-slide-width
|
|
67
71
|
* @cssprop [--carousel-min-slide-width] - Sets the minimum slide width. On a narrow viewport, this wins over visibleSlides so slides never get uncomfortably small
|
|
68
72
|
* @cssprop [--carousel-peek-size] - Sets how much of the next slide peeks at the edge, when fullSlides is off
|
|
69
73
|
* @cssprop [--carousel-fade-display] - Set to none to hide the edge fades through pure CSS, regardless of edgeFade, for instance on a narrow screen where a single slide fills the whole width
|
|
70
74
|
* @cssprop [--carousel-fade-width] - Sets the width of the edge fades
|
|
71
75
|
* @cssprop [--carousel-fade-color] - Sets the color of the edge fades, which fade to transparent
|
|
72
76
|
* @cssprop [--carousel-active-scale] - Sets the scale applied to the active slide
|
|
77
|
+
* @cssprop [--carousel-header-margin] - Sets the space between the header row and the track
|
|
73
78
|
* @cssprop [--carousel-header-gap] - Sets the gap between the title slot and the header navigation buttons
|
|
74
79
|
* @cssprop [--carousel-header-align] - Sets the cross-axis alignment (align-items) between the title slot and the header navigation buttons. Defaults to baseline, which keeps the nav buttons close to the track below regardless of how tall a multi-line title ends up
|
|
75
80
|
* @cssprop [--carousel-nav-display] - Set to none to hide the previous and next buttons through pure CSS, regardless of showArrows
|
|
@@ -78,6 +83,10 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
|
|
|
78
83
|
* @cssprop [--carousel-nav-color] - Sets the icon color of the previous and next buttons
|
|
79
84
|
* @cssprop [--carousel-nav-background] - Sets the background color of the previous and next buttons
|
|
80
85
|
* @cssprop [--carousel-nav-border-color] - Sets the border color of the previous and next buttons
|
|
86
|
+
* @cssprop [--carousel-nav-border-width] - Sets the border width of the previous and next buttons
|
|
87
|
+
* @cssprop [--carousel-nav-hover-background] - Sets the background color of the previous and next buttons on hover
|
|
88
|
+
* @cssprop [--carousel-nav-hover-color] - Sets the icon color of the previous and next buttons on hover
|
|
89
|
+
* @cssprop [--carousel-nav-hover-border-color] - Sets the border color of the previous and next buttons on hover
|
|
81
90
|
* @cssprop [--carousel-nav-shadow] - Sets the shadow of the previous and next buttons in the inline layout, when enabled. Unset for the header layout, and always unset while a button is disabled
|
|
82
91
|
* @cssprop [--carousel-nav-disabled-background] - Sets the background and border color of a disabled previous or next button
|
|
83
92
|
* @cssprop [--carousel-nav-disabled-color] - Sets the icon color of a disabled previous or next button
|
|
@@ -180,16 +189,6 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
180
189
|
* @default true
|
|
181
190
|
*/
|
|
182
191
|
this.showDots = true;
|
|
183
|
-
/**
|
|
184
|
-
* Accessible label of the Previous control.
|
|
185
|
-
* @default Previous slide
|
|
186
|
-
*/
|
|
187
|
-
this.ariaLabelPrevious = "Previous slide";
|
|
188
|
-
/**
|
|
189
|
-
* Accessible label of the Next control.
|
|
190
|
-
* @default Next slide
|
|
191
|
-
*/
|
|
192
|
-
this.ariaLabelNext = "Next slide";
|
|
193
192
|
/**
|
|
194
193
|
* Index of the currently active slide (see {@link ACTIVE_SLIDE_CLASS}).
|
|
195
194
|
* @internal
|
|
@@ -415,6 +414,51 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
415
414
|
const parsed = Number.parseFloat(getComputedStyle(this).getPropertyValue(name));
|
|
416
415
|
return Number.isNaN(parsed) ? fallback : parsed;
|
|
417
416
|
}
|
|
417
|
+
/**
|
|
418
|
+
* The track's inline padding in pixels, set by
|
|
419
|
+
* `--carousel-track-padding-inline` to let the track bleed past the
|
|
420
|
+
* host. Slides rest that far from the track's own edge, so scroll math
|
|
421
|
+
* measured from that edge has to offset by it.
|
|
422
|
+
* @returns the inline padding, `0` when unset.
|
|
423
|
+
* @private
|
|
424
|
+
*/
|
|
425
|
+
getTrackInset() {
|
|
426
|
+
if (!this.trackEl) {
|
|
427
|
+
return 0;
|
|
428
|
+
}
|
|
429
|
+
return Number.parseFloat(getComputedStyle(this.trackEl).paddingLeft) || 0;
|
|
430
|
+
}
|
|
431
|
+
/**
|
|
432
|
+
* Whether the track lays out right to left. Slides then start from the
|
|
433
|
+
* track's right edge and `scrollLeft` runs from `0` down to negative
|
|
434
|
+
* values, so every scroll measurement goes through the logical helpers
|
|
435
|
+
* below instead of reading `left`/`scrollLeft` directly.
|
|
436
|
+
* @private
|
|
437
|
+
*/
|
|
438
|
+
isRtl() {
|
|
439
|
+
return !!this.trackEl && getComputedStyle(this.trackEl).direction === "rtl";
|
|
440
|
+
}
|
|
441
|
+
/**
|
|
442
|
+
* How far the track has scrolled from its inline start, always positive
|
|
443
|
+
* whatever the direction.
|
|
444
|
+
* @private
|
|
445
|
+
*/
|
|
446
|
+
getScrollProgress() {
|
|
447
|
+
return this.trackEl ? Math.abs(this.trackEl.scrollLeft) : 0;
|
|
448
|
+
}
|
|
449
|
+
/**
|
|
450
|
+
* Distance from the track's inline-start edge to a rect's own
|
|
451
|
+
* inline-start edge (`left` in LTR, `right` in RTL), positive toward the
|
|
452
|
+
* end of the track.
|
|
453
|
+
* @param rect the measured element's rect.
|
|
454
|
+
* @param trackRect the track's own rect.
|
|
455
|
+
* @private
|
|
456
|
+
*/
|
|
457
|
+
getInlineStartOffset(rect, trackRect) {
|
|
458
|
+
return this.isRtl()
|
|
459
|
+
? trackRect.right - rect.right
|
|
460
|
+
: rect.left - trackRect.left;
|
|
461
|
+
}
|
|
418
462
|
/**
|
|
419
463
|
* Number of pagination dots, derived from how many `scrollStep`-sized
|
|
420
464
|
* jumps it takes to cover every slide. Rounds up so a trailing partial
|
|
@@ -480,12 +524,16 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
480
524
|
}
|
|
481
525
|
const track = this.trackEl;
|
|
482
526
|
const trackRect = track.getBoundingClientRect();
|
|
483
|
-
const
|
|
527
|
+
const maxScroll = Math.max(0, track.scrollWidth - track.clientWidth);
|
|
528
|
+
const scrolled = this.getScrollProgress();
|
|
529
|
+
const inset = this.getTrackInset();
|
|
484
530
|
let max = 0;
|
|
485
531
|
let closestDistance = Infinity;
|
|
486
532
|
this.slides.forEach((slide, index) => {
|
|
487
|
-
const slideStart = slide.getBoundingClientRect()
|
|
488
|
-
|
|
533
|
+
const slideStart = this.getInlineStartOffset(slide.getBoundingClientRect(), trackRect) +
|
|
534
|
+
scrolled -
|
|
535
|
+
inset;
|
|
536
|
+
const distance = Math.abs(slideStart - maxScroll);
|
|
489
537
|
if (distance < closestDistance) {
|
|
490
538
|
closestDistance = distance;
|
|
491
539
|
max = index;
|
|
@@ -512,7 +560,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
512
560
|
this.style.setProperty("--_centerPadding", "0px");
|
|
513
561
|
return;
|
|
514
562
|
}
|
|
515
|
-
const trackWidth = this.trackEl.clientWidth;
|
|
563
|
+
const trackWidth = this.trackEl.clientWidth - 2 * this.getTrackInset();
|
|
516
564
|
const slideWidth = this.slides[0].getBoundingClientRect().width;
|
|
517
565
|
const padding = Math.max(0, (trackWidth - slideWidth) / 2);
|
|
518
566
|
this.style.setProperty("--_centerPadding", `${padding}px`);
|
|
@@ -596,8 +644,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
596
644
|
? ((index % (max + 1)) + (max + 1)) % (max + 1)
|
|
597
645
|
: Math.max(0, Math.min(index, max));
|
|
598
646
|
if (!this.centerSnap && target === max) {
|
|
647
|
+
const maxScroll = this.trackEl.scrollWidth - this.trackEl.clientWidth;
|
|
599
648
|
this.trackEl.scrollTo({
|
|
600
|
-
left: this.
|
|
649
|
+
left: this.isRtl() ? -maxScroll : maxScroll,
|
|
601
650
|
behavior: this.scrollBehavior(),
|
|
602
651
|
});
|
|
603
652
|
return;
|
|
@@ -695,27 +744,20 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
695
744
|
}
|
|
696
745
|
const trackRect = this.trackEl.getBoundingClientRect();
|
|
697
746
|
const reference = this.centerSnap
|
|
698
|
-
? trackRect.
|
|
699
|
-
:
|
|
747
|
+
? trackRect.width / 2
|
|
748
|
+
: this.getTrackInset();
|
|
700
749
|
let closestIndex = 0;
|
|
701
750
|
let closestDistance = Infinity;
|
|
702
751
|
this.slides.forEach((slide, index) => {
|
|
703
752
|
const rect = slide.getBoundingClientRect();
|
|
704
|
-
const
|
|
753
|
+
const start = this.getInlineStartOffset(rect, trackRect);
|
|
754
|
+
const point = this.centerSnap ? start + rect.width / 2 : start;
|
|
705
755
|
const distance = Math.abs(point - reference);
|
|
706
756
|
if (distance < closestDistance) {
|
|
707
757
|
closestDistance = distance;
|
|
708
758
|
closestIndex = index;
|
|
709
759
|
}
|
|
710
760
|
});
|
|
711
|
-
// At the true scroll end, the nearest slide to `reference` can sit past
|
|
712
|
-
// `measureMaxIndex`'s result — e.g. when the slide count doesn't evenly
|
|
713
|
-
// divide into pages, the flush-end scroll position (see the `target ===
|
|
714
|
-
// max` branch in `goToIndex`) reveals a trailing slide that ends up
|
|
715
|
-
// closer to `reference` than the officially "reachable" last page. Left
|
|
716
|
-
// unclamped, `currentIndex` would exceed `maxIndex`, which breaks the
|
|
717
|
-
// pagination dot lookup (no dot matches) and gets `previous()` stuck,
|
|
718
|
-
// since it re-targets that same last-page scroll position every time.
|
|
719
761
|
this.maxIndex = this.measureMaxIndex();
|
|
720
762
|
closestIndex = Math.min(closestIndex, this.maxIndex);
|
|
721
763
|
this.slides.forEach((slide, index) => {
|
|
@@ -723,17 +765,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
723
765
|
});
|
|
724
766
|
const changedIndex = closestIndex !== this.currentIndex;
|
|
725
767
|
this.currentIndex = closestIndex;
|
|
726
|
-
const
|
|
768
|
+
const scrolled = this.getScrollProgress();
|
|
727
769
|
const maxScroll = this.trackEl.scrollWidth - this.trackEl.clientWidth;
|
|
728
|
-
|
|
729
|
-
|
|
770
|
+
const startFade = scrolled > 1 ? "1" : "0";
|
|
771
|
+
const endFade = scrolled < maxScroll - 1 ? "1" : "0";
|
|
772
|
+
const rtl = this.isRtl();
|
|
773
|
+
this.style.setProperty("--_showLeftFade", rtl ? endFade : startFade);
|
|
774
|
+
this.style.setProperty("--_showRightFade", rtl ? startFade : endFade);
|
|
730
775
|
if (changedIndex) {
|
|
731
776
|
this.scheduleAnnounce();
|
|
732
777
|
}
|
|
733
778
|
}
|
|
734
779
|
/**
|
|
735
780
|
* Handles keyboard navigation on the track : arrow keys page by
|
|
736
|
-
* `scrollStep`, Home/End jump to the bounds.
|
|
781
|
+
* `scrollStep`, Home/End jump to the bounds. Right to left, the arrows
|
|
782
|
+
* swap so each one still moves toward the side it points to.
|
|
737
783
|
*
|
|
738
784
|
* @param event the native keyboard event.
|
|
739
785
|
* @private
|
|
@@ -742,11 +788,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
742
788
|
switch (event.key) {
|
|
743
789
|
case "ArrowLeft":
|
|
744
790
|
event.preventDefault();
|
|
745
|
-
this.
|
|
791
|
+
if (this.isRtl()) {
|
|
792
|
+
this.next();
|
|
793
|
+
}
|
|
794
|
+
else {
|
|
795
|
+
this.previous();
|
|
796
|
+
}
|
|
746
797
|
break;
|
|
747
798
|
case "ArrowRight":
|
|
748
799
|
event.preventDefault();
|
|
749
|
-
this.
|
|
800
|
+
if (this.isRtl()) {
|
|
801
|
+
this.previous();
|
|
802
|
+
}
|
|
803
|
+
else {
|
|
804
|
+
this.next();
|
|
805
|
+
}
|
|
750
806
|
break;
|
|
751
807
|
case "Home":
|
|
752
808
|
event.preventDefault();
|
|
@@ -804,7 +860,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
804
860
|
type="button"
|
|
805
861
|
id=${direction}
|
|
806
862
|
class="nav"
|
|
807
|
-
aria-label=${isPrev
|
|
863
|
+
aria-label=${isPrev
|
|
864
|
+
? (this.previousLabel ?? this.dictionary.carousel.previous)
|
|
865
|
+
: (this.nextLabel ?? this.dictionary.carousel.next)}
|
|
808
866
|
aria-controls="track"
|
|
809
867
|
?disabled=${disabled}
|
|
810
868
|
@click=${() => (isPrev ? this.previous() : this.next())}
|
|
@@ -873,10 +931,10 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
873
931
|
*/
|
|
874
932
|
EunomiaCarousel.styles = carouselStyles;
|
|
875
933
|
__decorate([
|
|
876
|
-
property({ reflect: true })
|
|
934
|
+
property({ reflect: true, useDefault: true })
|
|
877
935
|
], EunomiaCarousel.prototype, "layout", void 0);
|
|
878
936
|
__decorate([
|
|
879
|
-
property({ reflect: true, attribute: "nav-placement" })
|
|
937
|
+
property({ reflect: true, attribute: "nav-placement", useDefault: true })
|
|
880
938
|
], EunomiaCarousel.prototype, "navPlacement", void 0);
|
|
881
939
|
__decorate([
|
|
882
940
|
property({ type: Number, attribute: "responsive-breakpoint" })
|
|
@@ -912,11 +970,11 @@ __decorate([
|
|
|
912
970
|
property({ type: Boolean, attribute: "show-dots" })
|
|
913
971
|
], EunomiaCarousel.prototype, "showDots", void 0);
|
|
914
972
|
__decorate([
|
|
915
|
-
property({ attribute: "
|
|
916
|
-
], EunomiaCarousel.prototype, "
|
|
973
|
+
property({ attribute: "previous-label" })
|
|
974
|
+
], EunomiaCarousel.prototype, "previousLabel", void 0);
|
|
917
975
|
__decorate([
|
|
918
|
-
property({ attribute: "
|
|
919
|
-
], EunomiaCarousel.prototype, "
|
|
976
|
+
property({ attribute: "next-label" })
|
|
977
|
+
], EunomiaCarousel.prototype, "nextLabel", void 0);
|
|
920
978
|
__decorate([
|
|
921
979
|
state()
|
|
922
980
|
], EunomiaCarousel.prototype, "currentIndex", void 0);
|
|
@@ -9,11 +9,16 @@ import { css } from "lit";
|
|
|
9
9
|
* [--carousel-fade-display] - Set to `none` to hide the edge fades via pure CSS (e.g. in a container query), regardless of `edgeFade`
|
|
10
10
|
* [--carousel-gap] - Set a custom gap between slides
|
|
11
11
|
* [--carousel-track-padding] - Set a custom vertical padding on the track, giving slides' own effects that bleed outside their box (a hover shadow, `eun-sliding-card`'s bottom fade, ...) room to render before `overflow-y: hidden` clips them
|
|
12
|
+
* [--carousel-track-padding-top] - Set a custom top padding on the track, falling back to --carousel-track-padding
|
|
13
|
+
* [--carousel-track-padding-bottom] - Set a custom bottom padding on the track, falling back to --carousel-track-padding
|
|
14
|
+
* [--carousel-track-padding-inline] - Let the track bleed out of the carousel on both sides by this length, while slides stay aligned on the carousel's edges. Shows the next slide and the edge slides' shadows past the container
|
|
15
|
+
* [--carousel-slide-width] - Set a fixed width for every slide, overriding `visibleSlides`, `fullSlides` and --carousel-min-slide-width
|
|
12
16
|
* [--carousel-min-slide-width] - Set a custom minimum slide width ; on a narrow viewport, this wins over `visibleSlides` so slides never get uncomfortably small — fewer of them just become scrollable off-screen instead
|
|
13
17
|
* [--carousel-peek-size] - Set how much of the next slide peeks at the edge, when `fullSlides` is off
|
|
14
18
|
* [--carousel-fade-width] - Set a custom width for the edge fades
|
|
15
19
|
* [--carousel-fade-color] - Set a custom color for the edge fades (fades to transparent)
|
|
16
20
|
* [--carousel-active-scale] - Set a custom scale applied to the active slide
|
|
21
|
+
* [--carousel-header-margin] - Set a custom space between the header and the track
|
|
17
22
|
* [--carousel-header-gap] - Set a custom gap between the title slot and the header nav buttons
|
|
18
23
|
* [--carousel-header-align] - Set a custom cross-axis alignment (`align-items`) between the title slot and the header nav buttons ; defaults to `baseline`, which keeps the nav buttons close to the track below regardless of how tall a multi-line title ends up
|
|
19
24
|
* [--carousel-nav-display] - Set to `none` to hide the prev/next buttons via pure CSS (e.g. in a media query), regardless of `showArrows`
|
|
@@ -22,6 +27,10 @@ import { css } from "lit";
|
|
|
22
27
|
* [--carousel-nav-color] - Set a custom icon color for the prev/next buttons
|
|
23
28
|
* [--carousel-nav-background] - Set a custom background color for the prev/next buttons
|
|
24
29
|
* [--carousel-nav-border-color] - Set a custom border color for the prev/next buttons
|
|
30
|
+
* [--carousel-nav-border-width] - Set a custom border width for the prev/next buttons
|
|
31
|
+
* [--carousel-nav-hover-background] - Set a custom background color for the prev/next buttons on hover
|
|
32
|
+
* [--carousel-nav-hover-color] - Set a custom icon color for the prev/next buttons on hover
|
|
33
|
+
* [--carousel-nav-hover-border-color] - Set a custom border color for the prev/next buttons on hover
|
|
25
34
|
* [--carousel-nav-shadow] - Set a custom shadow for the `inline`-layout prev/next buttons, when enabled ; unset for `header`'s, and always unset while `disabled`
|
|
26
35
|
* [--carousel-nav-disabled-background] - Set a custom background/border color for a disabled prev/next button
|
|
27
36
|
* [--carousel-nav-disabled-color] - Set a custom icon color for a disabled prev/next button
|
|
@@ -42,6 +51,7 @@ const base = css `
|
|
|
42
51
|
var(--_visibleCount)
|
|
43
52
|
);
|
|
44
53
|
--_snapAlign: start;
|
|
54
|
+
--_trackInline: var(--carousel-track-padding-inline, 0px);
|
|
45
55
|
}
|
|
46
56
|
|
|
47
57
|
.sr-only {
|
|
@@ -61,7 +71,7 @@ const base = css `
|
|
|
61
71
|
align-items: var(--carousel-header-align, flex-end);
|
|
62
72
|
justify-content: space-between;
|
|
63
73
|
gap: var(--carousel-header-gap, var(--eun-space-m, 16px));
|
|
64
|
-
margin-bottom: var(--eun-space-m, 16px);
|
|
74
|
+
margin-bottom: var(--carousel-header-margin, var(--eun-space-m, 16px));
|
|
65
75
|
}
|
|
66
76
|
#carousel-header[hidden] {
|
|
67
77
|
display: none;
|
|
@@ -99,10 +109,11 @@ const base = css `
|
|
|
99
109
|
width: var(--carousel-fade-width, 60px);
|
|
100
110
|
z-index: 2;
|
|
101
111
|
pointer-events: none;
|
|
102
|
-
transition: opacity
|
|
112
|
+
transition: opacity var(--eun-duration-xl, 300ms)
|
|
113
|
+
var(--eun-easing-default, ease);
|
|
103
114
|
}
|
|
104
115
|
#viewport::before {
|
|
105
|
-
left:
|
|
116
|
+
left: calc(-1 * var(--_trackInline));
|
|
106
117
|
opacity: var(--_showLeftFade, 0);
|
|
107
118
|
background: linear-gradient(
|
|
108
119
|
to right,
|
|
@@ -111,7 +122,7 @@ const base = css `
|
|
|
111
122
|
);
|
|
112
123
|
}
|
|
113
124
|
#viewport::after {
|
|
114
|
-
right:
|
|
125
|
+
right: calc(-1 * var(--_trackInline));
|
|
115
126
|
opacity: var(--_showRightFade, 0);
|
|
116
127
|
background: linear-gradient(
|
|
117
128
|
to left,
|
|
@@ -127,7 +138,17 @@ const base = css `
|
|
|
127
138
|
#track {
|
|
128
139
|
display: flex;
|
|
129
140
|
gap: var(--carousel-gap, 16px);
|
|
130
|
-
padding-block: var(
|
|
141
|
+
padding-block: var(
|
|
142
|
+
--carousel-track-padding-top,
|
|
143
|
+
var(--carousel-track-padding, var(--eun-space-l))
|
|
144
|
+
)
|
|
145
|
+
var(
|
|
146
|
+
--carousel-track-padding-bottom,
|
|
147
|
+
var(--carousel-track-padding, var(--eun-space-l))
|
|
148
|
+
);
|
|
149
|
+
padding-inline: var(--_trackInline);
|
|
150
|
+
margin-inline: calc(-1 * var(--_trackInline));
|
|
151
|
+
scroll-padding-inline: var(--_trackInline);
|
|
131
152
|
overflow-x: auto;
|
|
132
153
|
overflow-y: hidden;
|
|
133
154
|
scroll-snap-type: x mandatory;
|
|
@@ -135,7 +156,8 @@ const base = css `
|
|
|
135
156
|
outline: 2px solid transparent;
|
|
136
157
|
outline-offset: 8px;
|
|
137
158
|
border-radius: var(--eun-border-radius-m);
|
|
138
|
-
transition: outline
|
|
159
|
+
transition: outline var(--eun-duration-m, 200ms)
|
|
160
|
+
var(--eun-easing-out, ease-out);
|
|
139
161
|
}
|
|
140
162
|
#track::-webkit-scrollbar {
|
|
141
163
|
display: none;
|
|
@@ -159,10 +181,11 @@ const base = css `
|
|
|
159
181
|
flex-shrink: 0;
|
|
160
182
|
scroll-snap-align: var(--_snapAlign, start);
|
|
161
183
|
scroll-snap-stop: always;
|
|
162
|
-
transition: transform
|
|
184
|
+
transition: transform var(--eun-duration-m, 200ms)
|
|
185
|
+
var(--eun-easing-default, ease);
|
|
163
186
|
}
|
|
164
187
|
:host([full-slides]) ::slotted(:not([slot])) {
|
|
165
|
-
|
|
188
|
+
--_slideBasis: max(
|
|
166
189
|
var(--carousel-min-slide-width, 220px),
|
|
167
190
|
calc(
|
|
168
191
|
(
|
|
@@ -174,7 +197,7 @@ const base = css `
|
|
|
174
197
|
);
|
|
175
198
|
}
|
|
176
199
|
:host(:not([full-slides])) ::slotted(:not([slot])) {
|
|
177
|
-
|
|
200
|
+
--_slideBasis: max(
|
|
178
201
|
var(--carousel-min-slide-width, 220px),
|
|
179
202
|
calc(
|
|
180
203
|
(
|
|
@@ -185,6 +208,9 @@ const base = css `
|
|
|
185
208
|
)
|
|
186
209
|
);
|
|
187
210
|
}
|
|
211
|
+
:host ::slotted(:not([slot])) {
|
|
212
|
+
flex-basis: var(--carousel-slide-width, var(--_slideBasis));
|
|
213
|
+
}
|
|
188
214
|
::slotted(.eun-carousel-active-slide) {
|
|
189
215
|
transform: scale(var(--carousel-active-scale, 1));
|
|
190
216
|
}
|
|
@@ -202,8 +228,8 @@ const base = css `
|
|
|
202
228
|
align-items: center;
|
|
203
229
|
justify-content: center;
|
|
204
230
|
border-radius: 50%;
|
|
205
|
-
border: var(--eun-border-width-s, 1px)
|
|
206
|
-
var(--carousel-nav-border-color, var(--eun-border-color, #dee0e7));
|
|
231
|
+
border: var(--carousel-nav-border-width, var(--eun-border-width-s, 1px))
|
|
232
|
+
solid var(--carousel-nav-border-color, var(--eun-border-color, #dee0e7));
|
|
207
233
|
background: var(
|
|
208
234
|
--carousel-nav-background,
|
|
209
235
|
var(--eun-surface-color, #ffffff)
|
|
@@ -211,14 +237,27 @@ const base = css `
|
|
|
211
237
|
color: var(--carousel-nav-color, var(--eun-text-color, #071621));
|
|
212
238
|
cursor: pointer;
|
|
213
239
|
outline: 2px solid transparent;
|
|
214
|
-
transition: outline 0.2s ease-out;
|
|
215
240
|
transition:
|
|
216
|
-
outline
|
|
217
|
-
opacity
|
|
218
|
-
background-color
|
|
241
|
+
outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
|
|
242
|
+
opacity var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
|
|
243
|
+
background-color var(--eun-duration-m, 200ms)
|
|
244
|
+
var(--eun-easing-default, ease),
|
|
245
|
+
color var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
|
|
246
|
+
border-color var(--eun-duration-m, 200ms) var(--eun-easing-default, ease);
|
|
219
247
|
}
|
|
220
248
|
.nav:hover:not(:disabled) {
|
|
221
|
-
background: var(
|
|
249
|
+
background: var(
|
|
250
|
+
--carousel-nav-hover-background,
|
|
251
|
+
var(--eun-content-hover, #edeff0)
|
|
252
|
+
);
|
|
253
|
+
color: var(
|
|
254
|
+
--carousel-nav-hover-color,
|
|
255
|
+
var(--carousel-nav-color, var(--eun-text-color, #071621))
|
|
256
|
+
);
|
|
257
|
+
border-color: var(
|
|
258
|
+
--carousel-nav-hover-border-color,
|
|
259
|
+
var(--carousel-nav-border-color, var(--eun-border-color, #dee0e7))
|
|
260
|
+
);
|
|
222
261
|
}
|
|
223
262
|
.nav:focus-visible {
|
|
224
263
|
outline-color: var(--eun-color-primary-500, #3d6fff);
|
|
@@ -243,11 +282,14 @@ const base = css `
|
|
|
243
282
|
.nav eun-icon {
|
|
244
283
|
pointer-events: none;
|
|
245
284
|
}
|
|
285
|
+
:host(:dir(rtl)) .nav eun-icon {
|
|
286
|
+
transform: scaleX(-1);
|
|
287
|
+
}
|
|
246
288
|
#prev {
|
|
247
|
-
|
|
289
|
+
inset-inline-start: var(--eun-space-s, 8px);
|
|
248
290
|
}
|
|
249
291
|
#next {
|
|
250
|
-
|
|
292
|
+
inset-inline-end: var(--eun-space-s, 8px);
|
|
251
293
|
}
|
|
252
294
|
#viewport .nav {
|
|
253
295
|
box-shadow: var(--carousel-nav-shadow, 0 2px 10px rgba(15, 23, 42, 0.18));
|
|
@@ -273,10 +315,11 @@ const base = css `
|
|
|
273
315
|
cursor: pointer;
|
|
274
316
|
outline: 2px solid transparent;
|
|
275
317
|
transition:
|
|
276
|
-
width
|
|
277
|
-
outline
|
|
278
|
-
border-radius
|
|
279
|
-
background-color
|
|
318
|
+
width var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
|
|
319
|
+
outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
|
|
320
|
+
border-radius var(--eun-duration-m, 200ms) var(--eun-easing-default, ease),
|
|
321
|
+
background-color var(--eun-duration-m, 200ms)
|
|
322
|
+
var(--eun-easing-default, ease);
|
|
280
323
|
}
|
|
281
324
|
.dot:focus-visible {
|
|
282
325
|
outline-color: var(--eun-color-primary-500, #3d6fff);
|