@eunomia/elements 1.0.0-beta.3 → 1.0.0-beta.4
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 +1 -1
- package/dist/cdn/components/chunks/{chunk-3LMI7KUA.js → chunk-2JLDJFYD.js} +1 -1
- package/dist/cdn/components/chunks/chunk-4MXL6PZC.js +124 -0
- package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
- package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
- package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
- package/dist/cdn/components/chunks/chunk-BMQOI7HX.js +371 -0
- package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
- package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-EJIX2D4Z.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-EOWBYZV7.js} +2 -2
- package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
- package/dist/cdn/components/chunks/{chunk-TBKKTJOX.js → chunk-GSJEJLFA.js} +3 -3
- package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-IJ5WFMK4.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
- package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
- package/dist/cdn/components/chunks/{chunk-53QH6MPM.js → chunk-NHFWATVN.js} +1 -1
- package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
- package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
- package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
- package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-RJCJXB7Y.js} +5 -5
- package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
- package/dist/cdn/components/chunks/{chunk-EAGGN3ZI.js → chunk-SIHZFOTK.js} +9 -9
- package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-UAGCQF23.js} +7 -7
- package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
- package/dist/cdn/components/chunks/chunk-YGUJJ25C.js +263 -0
- package/dist/cdn/components/eun-alert.js +65 -45
- package/dist/cdn/components/eun-badge.js +1 -1
- package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
- package/dist/cdn/components/eun-breadcrumb.js +11 -7
- package/dist/cdn/components/eun-button.js +1 -1
- package/dist/cdn/components/eun-calendar.js +16 -16
- package/dist/cdn/components/eun-card.js +21 -12
- package/dist/cdn/components/eun-carousel.js +35 -27
- package/dist/cdn/components/eun-check-card.js +3 -3
- package/dist/cdn/components/eun-checkbox-list.js +3 -3
- package/dist/cdn/components/eun-checkbox.js +1 -1
- package/dist/cdn/components/eun-chip.js +45 -207
- package/dist/cdn/components/eun-collapse.js +13 -12
- package/dist/cdn/components/eun-color-picker.js +12 -12
- package/dist/cdn/components/eun-counter.js +8 -8
- package/dist/cdn/components/eun-date-picker.js +50 -50
- package/dist/cdn/components/eun-drawer.js +3 -3
- package/dist/cdn/components/eun-dropdown-button.js +1 -1
- package/dist/cdn/components/eun-dropdown-item.js +6 -6
- package/dist/cdn/components/eun-fab.js +31 -53
- package/dist/cdn/components/eun-icon.js +1 -1
- package/dist/cdn/components/eun-image-card.js +18 -11
- package/dist/cdn/components/eun-image-carousel.js +16 -16
- package/dist/cdn/components/eun-infinite-list.js +1 -1
- package/dist/cdn/components/eun-input-file.js +12 -12
- package/dist/cdn/components/eun-input-phone.js +13 -13
- 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 +29 -11
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +6 -6
- package/dist/cdn/components/eun-pagination.js +3 -3
- package/dist/cdn/components/eun-password-strength.js +9 -6
- package/dist/cdn/components/eun-progress-bar.js +13 -13
- package/dist/cdn/components/eun-radio-card.js +2 -2
- package/dist/cdn/components/eun-radio-list.js +1 -1
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-scheduler-event-editor.js +2 -2
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +10 -10
- package/dist/cdn/components/eun-search.js +7 -7
- package/dist/cdn/components/eun-select.js +10 -10
- package/dist/cdn/components/eun-sidebar.js +9 -9
- package/dist/cdn/components/eun-skeleton.js +1 -1
- package/dist/cdn/components/eun-slider.js +8 -8
- package/dist/cdn/components/eun-sliding-card.js +4 -3
- package/dist/cdn/components/eun-step.js +8 -8
- package/dist/cdn/components/eun-stepper.js +8 -8
- package/dist/cdn/components/eun-switch.js +10 -10
- package/dist/cdn/components/eun-tab-group.js +19 -11
- package/dist/cdn/components/eun-tab-panel.js +1 -1
- 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-cell.js +1 -1
- package/dist/cdn/components/eun-table-column.js +1 -1
- package/dist/cdn/components/eun-table-header.js +1 -1
- package/dist/cdn/components/eun-table-item.js +1 -1
- package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
- package/dist/cdn/components/eun-table.js +3 -3
- package/dist/cdn/components/eun-tag.js +34 -126
- package/dist/cdn/components/eun-textarea.js +22 -22
- package/dist/cdn/components/eun-time-picker.js +25 -25
- package/dist/cdn/components/eun-toast.js +40 -36
- package/dist/cdn/components/eun-toggle-group.js +199 -66
- package/dist/cdn/components/eun-toggle-item.js +41 -24
- package/dist/cdn/components/eun-toggle.js +11 -8
- package/dist/cdn/components/eun-toolbar.js +14 -7
- package/dist/cdn/components/eun-tooltip.js +122 -87
- 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 +1 -0
- package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
- package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
- package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
- package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
- package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
- package/dist/components/action/button/button.d.ts +2 -0
- package/dist/components/action/button/button.js +2 -0
- package/dist/components/action/button/button.styles.js +132 -384
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +7 -0
- package/dist/components/action/dropdown-button/dropdown-button.js +11 -0
- package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
- package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
- package/dist/components/action/fab/fab.d.ts +3 -1
- package/dist/components/action/fab/fab.js +3 -1
- package/dist/components/action/fab/fab.styles.js +26 -49
- package/dist/components/action/link/link.d.ts +50 -0
- package/dist/components/action/link/link.js +69 -1
- package/dist/components/action/link/link.styles.js +19 -2
- package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
- package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
- package/dist/components/action/toggle/toggle-group.d.ts +41 -7
- package/dist/components/action/toggle/toggle-group.js +161 -45
- package/dist/components/action/toggle/toggle-group.styles.d.ts +6 -5
- package/dist/components/action/toggle/toggle-group.styles.js +152 -35
- package/dist/components/action/toggle/toggle-item.styles.js +37 -20
- package/dist/components/action/toggle/toggle.d.ts +1 -1
- package/dist/components/action/toggle/toggle.js +1 -1
- package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
- package/dist/components/action/toggle/toggle.styles.js +13 -10
- package/dist/components/alert/alert/alert.d.ts +4 -3
- package/dist/components/alert/alert/alert.js +4 -3
- package/dist/components/alert/alert/alert.styles.js +57 -36
- package/dist/components/alert/drawer/drawer.styles.js +3 -3
- package/dist/components/alert/modal/modal.styles.js +6 -6
- package/dist/components/alert/toast/toast.d.ts +4 -3
- package/dist/components/alert/toast/toast.js +4 -3
- package/dist/components/alert/toast/toast.styles.js +41 -36
- package/dist/components/content/badge/badge.styles.js +1 -1
- package/dist/components/content/card/card.d.ts +4 -4
- package/dist/components/content/card/card.js +4 -4
- package/dist/components/content/card/card.styles.js +19 -10
- package/dist/components/content/card/image-card.d.ts +1 -1
- package/dist/components/content/card/image-card.js +1 -1
- package/dist/components/content/card/image-card.styles.js +17 -10
- package/dist/components/content/card/sliding-card.styles.js +3 -2
- package/dist/components/content/chip/chip.d.ts +16 -7
- package/dist/components/content/chip/chip.js +18 -6
- package/dist/components/content/chip/chip.styles.d.ts +1 -1
- package/dist/components/content/chip/chip.styles.js +43 -207
- package/dist/components/content/collapse/collapse.styles.js +10 -9
- package/dist/components/content/icon/icon.style.js +1 -1
- package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
- package/dist/components/content/password-strength/password-strength.styles.js +7 -4
- package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
- package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
- package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
- package/dist/components/content/tag/tag.d.ts +16 -6
- package/dist/components/content/tag/tag.js +19 -6
- package/dist/components/content/tag/tag.styles.d.ts +1 -1
- package/dist/components/content/tag/tag.styles.js +40 -125
- package/dist/components/content/tooltip/tooltip.d.ts +15 -4
- package/dist/components/content/tooltip/tooltip.js +21 -4
- package/dist/components/content/tooltip/tooltip.styles.js +115 -79
- package/dist/components/form/checkbox/check-card.styles.js +2 -2
- package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
- package/dist/components/form/checkbox/checkbox.d.ts +1 -1
- package/dist/components/form/checkbox/checkbox.styles.js +6 -6
- package/dist/components/form/color-picker/color-picker.d.ts +1 -1
- package/dist/components/form/color-picker/color-picker.styles.js +7 -7
- package/dist/components/form/counter/counter.d.ts +1 -1
- package/dist/components/form/counter/counter.styles.js +7 -7
- package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
- package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
- package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
- package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
- package/dist/components/form/date-picker/date-picker.d.ts +1 -1
- package/dist/components/form/date-picker/date-picker.styles.js +12 -12
- package/dist/components/form/input/input.d.ts +1 -1
- package/dist/components/form/input-file/input-file.d.ts +1 -1
- package/dist/components/form/input-file/input-file.styles.js +9 -9
- package/dist/components/form/input-phone/input-phone.d.ts +1 -1
- package/dist/components/form/input-phone/input-phone.styles.js +7 -7
- package/dist/components/form/label/label.styles.js +4 -4
- package/dist/components/form/radio/radio-card.styles.js +1 -1
- package/dist/components/form/radio/radio-list.d.ts +1 -1
- package/dist/components/form/radio/radio.d.ts +1 -1
- package/dist/components/form/radio/radio.styles.js +2 -2
- package/dist/components/form/search/search.styles.js +6 -6
- package/dist/components/form/select/select.d.ts +1 -1
- package/dist/components/form/select/select.styles.js +6 -6
- package/dist/components/form/shared-styles/card.styles.js +1 -1
- package/dist/components/form/shared-styles/field.styles.js +7 -7
- package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
- package/dist/components/form/shared-styles/listbox.styles.js +6 -6
- package/dist/components/form/slider/slider.d.ts +1 -1
- package/dist/components/form/slider/slider.styles.js +6 -6
- package/dist/components/form/switch/switch.d.ts +1 -1
- package/dist/components/form/switch/switch.styles.js +8 -8
- package/dist/components/form/textarea/textarea.d.ts +1 -1
- package/dist/components/form/textarea/textarea.styles.js +6 -6
- package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
- package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
- package/dist/components/form/time-picker/time-picker.d.ts +1 -1
- package/dist/components/form/time-picker/time-picker.styles.js +8 -8
- package/dist/components/loader/loader/loader.styles.js +2 -2
- package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
- package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
- package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
- package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
- package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
- package/dist/components/navigation/carousel/carousel.d.ts +40 -6
- package/dist/components/navigation/carousel/carousel.js +61 -12
- package/dist/components/navigation/carousel/carousel.styles.js +19 -7
- package/dist/components/navigation/pagination/pagination.styles.js +3 -3
- package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
- package/dist/components/navigation/stepper/step.styles.js +8 -8
- package/dist/components/navigation/stepper/stepper.styles.js +8 -8
- package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
- package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
- package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
- package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
- package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
- package/dist/components/navigation/toolbar/toolbar.d.ts +2 -0
- package/dist/components/navigation/toolbar/toolbar.js +2 -0
- package/dist/components/navigation/toolbar/toolbar.styles.js +16 -7
- package/dist/features/scheduler/calendar/calendar.js +1 -1
- package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
- package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
- package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
- package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
- package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
- package/dist/features/table/native-table.css +11 -11
- package/dist/features/table/table/table.styles.js +2 -2
- package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
- package/dist/features/table/table-cell/table-cell.styles.js +2 -2
- package/dist/features/table/table-column/table-column.styles.js +3 -3
- package/dist/features/table/table-header/table-header.styles.js +4 -4
- package/dist/features/table/table-item/table-item.styles.js +6 -6
- package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.js +5 -2
- package/dist/jsx.d.ts +18 -5
- package/dist/mixins/button.mixin.d.ts +1 -0
- package/dist/mixins/button.mixin.js +10 -0
- package/dist/mixins/check.mixin.d.ts +1 -1
- package/dist/mixins/editable.mixin.d.ts +1 -1
- package/dist/mixins/form.mixin.d.ts +5 -1
- package/dist/mixins/form.mixin.js +32 -12
- package/dist/mixins/overflow-navigation.mixin.js +2 -1
- package/dist/mixins/radio.mixin.d.ts +1 -1
- package/dist/mixins/validators.mixin.d.ts +9 -3
- package/dist/utils/rich-text.utils.d.ts +33 -0
- package/dist/utils/rich-text.utils.js +140 -49
- package/dist/utils/theme-generator.utils.d.ts +24 -3
- package/dist/utils/theme-generator.utils.js +66 -21
- package/package.json +6 -1
- package/styles/themes/eunomia-theme.scss +1 -0
- package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
- package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
- package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
- package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
- package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
- package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
- package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
- package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
- package/dist/cdn/components/chunks/chunk-KNM5QHDK.js +0 -38
- package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
- package/dist/cdn/components/chunks/chunk-Z6PJYSC3.js +0 -622
- package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
|
@@ -9,7 +9,7 @@ export const breadcrumbItemStyles = css `
|
|
|
9
9
|
display: inline-flex;
|
|
10
10
|
align-items: center;
|
|
11
11
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
12
|
-
font-size: var(--eun-
|
|
12
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
13
13
|
}
|
|
14
14
|
#label {
|
|
15
15
|
max-width: var(--breadcrumb-item-max-width, 240px);
|
|
@@ -35,7 +35,7 @@ export const breadcrumbItemStyles = css `
|
|
|
35
35
|
a#label {
|
|
36
36
|
color: var(--breadcrumb-link-color, var(--eun-color-primary-500, #3d6fff));
|
|
37
37
|
text-decoration: none;
|
|
38
|
-
border-radius: var(--eun-
|
|
38
|
+
border-radius: var(--eun-border-radius-s, 5px);
|
|
39
39
|
outline: 2px solid transparent;
|
|
40
40
|
transition:
|
|
41
41
|
color var(--breadcrumb-transition-duration, 0.2s) ease-out,
|
|
@@ -59,7 +59,7 @@ export const breadcrumbItemStyles = css `
|
|
|
59
59
|
}
|
|
60
60
|
span#label {
|
|
61
61
|
color: var(--breadcrumb-current-color, var(--eun-text-secondary, #484e61));
|
|
62
|
-
font-weight: var(--eun-
|
|
62
|
+
font-weight: var(--eun-font-weight-m, 500);
|
|
63
63
|
}
|
|
64
64
|
#separator {
|
|
65
65
|
margin-inline: var(--breadcrumb-separator-gap, var(--eun-space-s, 8px));
|
|
@@ -37,6 +37,7 @@ export type EunomiaBreadcrumbItemData = {
|
|
|
37
37
|
* @cssprop [--breadcrumb-item-max-width] - Sets the maximum width of each step, beyond which its label truncates with an ellipsis
|
|
38
38
|
* @cssprop [--breadcrumb-gap] - Sets the row gap, used when the trail wraps onto multiple lines
|
|
39
39
|
* @cssprop [--breadcrumb-transition-duration] - Sets the duration of the link hover color transition
|
|
40
|
+
* @fires {NavigationEvent} eunnavigate - Fired before following a step's link, so a client-side router can intercept the navigation. Cancelable
|
|
40
41
|
* @element eun-breadcrumb
|
|
41
42
|
*/
|
|
42
43
|
export declare class EunomiaBreadcrumb extends LitElement {
|
|
@@ -8,6 +8,7 @@ import { customElement, property } from "lit/decorators.js";
|
|
|
8
8
|
import { html, LitElement, nothing } from "lit";
|
|
9
9
|
import { classMap } from "lit/directives/class-map.js";
|
|
10
10
|
import { breadcrumbStyles } from "./breadcrumb.styles.js";
|
|
11
|
+
import { handleLinkNavigation } from "../../../utils/navigation.utils.js";
|
|
11
12
|
/**
|
|
12
13
|
* Tag name of the breadcrumb component.
|
|
13
14
|
*/
|
|
@@ -37,6 +38,7 @@ export const EunomiaBreadcrumbTagName = "eun-breadcrumb";
|
|
|
37
38
|
* @cssprop [--breadcrumb-item-max-width] - Sets the maximum width of each step, beyond which its label truncates with an ellipsis
|
|
38
39
|
* @cssprop [--breadcrumb-gap] - Sets the row gap, used when the trail wraps onto multiple lines
|
|
39
40
|
* @cssprop [--breadcrumb-transition-duration] - Sets the duration of the link hover color transition
|
|
41
|
+
* @fires {NavigationEvent} eunnavigate - Fired before following a step's link, so a client-side router can intercept the navigation. Cancelable
|
|
40
42
|
* @element eun-breadcrumb
|
|
41
43
|
*/
|
|
42
44
|
let EunomiaBreadcrumb = class EunomiaBreadcrumb extends LitElement {
|
|
@@ -109,7 +111,11 @@ let EunomiaBreadcrumb = class EunomiaBreadcrumb extends LitElement {
|
|
|
109
111
|
const separator = html `<span class="separator" aria-hidden="true"></span>`;
|
|
110
112
|
if (item.href) {
|
|
111
113
|
return html `<li>
|
|
112
|
-
<a
|
|
114
|
+
<a
|
|
115
|
+
href=${item.href}
|
|
116
|
+
@click=${(event) => handleLinkNavigation(this, event, item.href)}
|
|
117
|
+
>${icon}${item.label}</a
|
|
118
|
+
>${separator}
|
|
113
119
|
</li>`;
|
|
114
120
|
}
|
|
115
121
|
return html `<li><span>${icon}${item.label}</span>${separator}</li>`;
|
|
@@ -18,7 +18,7 @@ export const breadcrumbStyles = css `
|
|
|
18
18
|
:host {
|
|
19
19
|
display: block;
|
|
20
20
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
21
|
-
font-size: var(--eun-
|
|
21
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
22
22
|
}
|
|
23
23
|
#list {
|
|
24
24
|
display: flex;
|
|
@@ -55,7 +55,7 @@ export const breadcrumbStyles = css `
|
|
|
55
55
|
#list li > a {
|
|
56
56
|
color: var(--breadcrumb-link-color, var(--eun-color-primary-500, #3d6fff));
|
|
57
57
|
text-decoration: none;
|
|
58
|
-
border-radius: var(--eun-
|
|
58
|
+
border-radius: var(--eun-border-radius-s, 5px);
|
|
59
59
|
outline: 2px solid transparent;
|
|
60
60
|
transition:
|
|
61
61
|
color var(--breadcrumb-transition-duration, 0.2s) ease-out,
|
|
@@ -79,7 +79,7 @@ export const breadcrumbStyles = css `
|
|
|
79
79
|
}
|
|
80
80
|
#list li > span {
|
|
81
81
|
color: var(--breadcrumb-current-color, var(--eun-text-secondary, #484e61));
|
|
82
|
-
font-weight: var(--eun-
|
|
82
|
+
font-weight: var(--eun-font-weight-m, 500);
|
|
83
83
|
}
|
|
84
84
|
#list li > .separator {
|
|
85
85
|
margin-inline: var(--breadcrumb-separator-gap, var(--eun-space-s, 8px));
|
|
@@ -69,10 +69,14 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
|
|
|
69
69
|
* @prop {string} [ariaLabelNext='Next slide'] - The accessible label of the next control
|
|
70
70
|
* @attr {string} [aria-label-next='Next slide'] - The accessible label of the next control
|
|
71
71
|
* @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
|
|
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
|
+
* @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
|
+
* @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
|
|
72
75
|
* @cssprop [--carousel-gap] - Sets the gap between slides
|
|
73
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
|
|
74
77
|
* @cssprop [--carousel-min-slide-width] - Sets the minimum slide width. On a narrow viewport, this wins over visibleSlides so slides never get uncomfortably small
|
|
75
78
|
* @cssprop [--carousel-peek-size] - Sets how much of the next slide peeks at the edge, when fullSlides is off
|
|
79
|
+
* @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
|
|
76
80
|
* @cssprop [--carousel-fade-width] - Sets the width of the edge fades
|
|
77
81
|
* @cssprop [--carousel-fade-color] - Sets the color of the edge fades, which fade to transparent
|
|
78
82
|
* @cssprop [--carousel-active-scale] - Sets the scale applied to the active slide
|
|
@@ -240,6 +244,21 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
240
244
|
* @internal
|
|
241
245
|
*/
|
|
242
246
|
private narrow;
|
|
247
|
+
/**
|
|
248
|
+
* The slide count actually in effect : `--carousel-visible-slides` when
|
|
249
|
+
* set on the host (or inherited from an ancestor, e.g. from a consumer's
|
|
250
|
+
* own container query), `visibleSlides` otherwise. Only the live-region
|
|
251
|
+
* announcement needs it on the JS side, since slide sizing reads the
|
|
252
|
+
* custom property directly in CSS. Refreshed by {@link syncCssOverrides}.
|
|
253
|
+
* @internal
|
|
254
|
+
*/
|
|
255
|
+
private effectiveVisibleSlides;
|
|
256
|
+
/**
|
|
257
|
+
* The scroll step actually in effect : `--carousel-scroll-step` when set,
|
|
258
|
+
* `scrollStep` otherwise. Refreshed by {@link syncCssOverrides}.
|
|
259
|
+
* @internal
|
|
260
|
+
*/
|
|
261
|
+
private effectiveScrollStep;
|
|
243
262
|
/**
|
|
244
263
|
* The scrollable track.
|
|
245
264
|
* @internal
|
|
@@ -320,9 +339,10 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
320
339
|
*/
|
|
321
340
|
goTo(index: number): void;
|
|
322
341
|
/**
|
|
323
|
-
* Reads a
|
|
324
|
-
*
|
|
325
|
-
*
|
|
342
|
+
* Reads a numeric custom property (a length such as
|
|
343
|
+
* `--carousel-nav-icon-size`, or a plain count such as
|
|
344
|
+
* `--carousel-visible-slides`) off the host as a plain number, pixels
|
|
345
|
+
* for a length, falling back when unset or invalid.
|
|
326
346
|
*
|
|
327
347
|
* @param name the custom property's name.
|
|
328
348
|
* @param fallback the value to use when unset or invalid.
|
|
@@ -351,6 +371,17 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
351
371
|
* @private
|
|
352
372
|
*/
|
|
353
373
|
private get pageCount();
|
|
374
|
+
/**
|
|
375
|
+
* Re-reads the custom properties that override a numeric prop
|
|
376
|
+
* (`--carousel-visible-slides`, `--carousel-scroll-step`), so a
|
|
377
|
+
* consumer's own media or container query can change them without any
|
|
378
|
+
* script. Runs on first render, whenever the matching prop changes, and
|
|
379
|
+
* on every resize : a query flipping these values almost always goes
|
|
380
|
+
* together with the carousel itself changing size, which is what the
|
|
381
|
+
* {@link resizeObserver} already watches.
|
|
382
|
+
* @private
|
|
383
|
+
*/
|
|
384
|
+
private syncCssOverrides;
|
|
354
385
|
/**
|
|
355
386
|
* Measures, from actual rendered geometry, which slide index the track
|
|
356
387
|
* will end up settling on once scrolled all the way to its true
|
|
@@ -400,8 +431,9 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
400
431
|
*/
|
|
401
432
|
private updateCenterPadding;
|
|
402
433
|
/**
|
|
403
|
-
* Re-measures the host's own width against
|
|
404
|
-
*
|
|
434
|
+
* Re-measures the host's own width against the breakpoint in effect
|
|
435
|
+
* (`--carousel-responsive-breakpoint` when set, {@link responsiveBreakpoint}
|
|
436
|
+
* otherwise), driving {@link narrow}. A breakpoint of `0` (or less)
|
|
405
437
|
* disables the auto-switch outright, leaving `narrow` permanently
|
|
406
438
|
* `false`.
|
|
407
439
|
* @private
|
|
@@ -449,7 +481,9 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
449
481
|
*/
|
|
450
482
|
private goToIndex;
|
|
451
483
|
/**
|
|
452
|
-
* Advances (or retreats) by
|
|
484
|
+
* Advances (or retreats) by the scroll step in effect (see
|
|
485
|
+
* {@link effectiveScrollStep}), re-read first so a custom property that
|
|
486
|
+
* changed without a resize is still honored.
|
|
453
487
|
*
|
|
454
488
|
* @param direction `1` for next, `-1` for previous.
|
|
455
489
|
* @private
|
|
@@ -59,10 +59,14 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
|
|
|
59
59
|
* @prop {string} [ariaLabelNext='Next slide'] - The accessible label of the next control
|
|
60
60
|
* @attr {string} [aria-label-next='Next slide'] - The accessible label of the next control
|
|
61
61
|
* @fires {SlideChangeEvent} eunslidechange - Fired once the active slide settles on a new index
|
|
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
|
+
* @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
|
+
* @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
|
|
62
65
|
* @cssprop [--carousel-gap] - Sets the gap between slides
|
|
63
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
|
|
64
67
|
* @cssprop [--carousel-min-slide-width] - Sets the minimum slide width. On a narrow viewport, this wins over visibleSlides so slides never get uncomfortably small
|
|
65
68
|
* @cssprop [--carousel-peek-size] - Sets how much of the next slide peeks at the edge, when fullSlides is off
|
|
69
|
+
* @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
|
|
66
70
|
* @cssprop [--carousel-fade-width] - Sets the width of the edge fades
|
|
67
71
|
* @cssprop [--carousel-fade-color] - Sets the color of the edge fades, which fade to transparent
|
|
68
72
|
* @cssprop [--carousel-active-scale] - Sets the scale applied to the active slide
|
|
@@ -224,6 +228,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
224
228
|
* @internal
|
|
225
229
|
*/
|
|
226
230
|
this.narrow = false;
|
|
231
|
+
/**
|
|
232
|
+
* The slide count actually in effect : `--carousel-visible-slides` when
|
|
233
|
+
* set on the host (or inherited from an ancestor, e.g. from a consumer's
|
|
234
|
+
* own container query), `visibleSlides` otherwise. Only the live-region
|
|
235
|
+
* announcement needs it on the JS side, since slide sizing reads the
|
|
236
|
+
* custom property directly in CSS. Refreshed by {@link syncCssOverrides}.
|
|
237
|
+
* @internal
|
|
238
|
+
*/
|
|
239
|
+
this.effectiveVisibleSlides = 1;
|
|
240
|
+
/**
|
|
241
|
+
* The scroll step actually in effect : `--carousel-scroll-step` when set,
|
|
242
|
+
* `scrollStep` otherwise. Refreshed by {@link syncCssOverrides}.
|
|
243
|
+
* @internal
|
|
244
|
+
*/
|
|
245
|
+
this.effectiveScrollStep = 1;
|
|
227
246
|
/**
|
|
228
247
|
* Observes the host's own size, so the active slide / edge fades stay
|
|
229
248
|
* correct after a layout change that isn't a scroll (an orientation
|
|
@@ -242,6 +261,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
242
261
|
}
|
|
243
262
|
this.resizeRaf = requestAnimationFrame(() => {
|
|
244
263
|
this.resizeRaf = undefined;
|
|
264
|
+
this.syncCssOverrides();
|
|
245
265
|
this.updateFromScrollPosition();
|
|
246
266
|
this.updateCenterPadding();
|
|
247
267
|
this.updateNarrow();
|
|
@@ -330,6 +350,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
330
350
|
}
|
|
331
351
|
firstUpdated(changed) {
|
|
332
352
|
super.firstUpdated(changed);
|
|
353
|
+
this.syncCssOverrides();
|
|
333
354
|
this.resizeObserver.observe(this);
|
|
334
355
|
}
|
|
335
356
|
updated(changed) {
|
|
@@ -337,6 +358,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
337
358
|
if (changed.has("visibleSlides")) {
|
|
338
359
|
this.style.setProperty("--_visibleCount", String(Math.max(1, this.visibleSlides)));
|
|
339
360
|
}
|
|
361
|
+
if (changed.has("visibleSlides") || changed.has("scrollStep")) {
|
|
362
|
+
this.syncCssOverrides();
|
|
363
|
+
}
|
|
340
364
|
if (changed.has("centerSnap")) {
|
|
341
365
|
this.style.setProperty("--_snapAlign", this.centerSnap ? "center" : "start");
|
|
342
366
|
this.updateCenterPadding();
|
|
@@ -378,9 +402,10 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
378
402
|
this.goToIndex(index);
|
|
379
403
|
}
|
|
380
404
|
/**
|
|
381
|
-
* Reads a
|
|
382
|
-
*
|
|
383
|
-
*
|
|
405
|
+
* Reads a numeric custom property (a length such as
|
|
406
|
+
* `--carousel-nav-icon-size`, or a plain count such as
|
|
407
|
+
* `--carousel-visible-slides`) off the host as a plain number, pixels
|
|
408
|
+
* for a length, falling back when unset or invalid.
|
|
384
409
|
*
|
|
385
410
|
* @param name the custom property's name.
|
|
386
411
|
* @param fallback the value to use when unset or invalid.
|
|
@@ -398,7 +423,21 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
398
423
|
* @private
|
|
399
424
|
*/
|
|
400
425
|
get pageCount() {
|
|
401
|
-
return Math.ceil(this.maxIndex /
|
|
426
|
+
return Math.ceil(this.maxIndex / this.effectiveScrollStep) + 1;
|
|
427
|
+
}
|
|
428
|
+
/**
|
|
429
|
+
* Re-reads the custom properties that override a numeric prop
|
|
430
|
+
* (`--carousel-visible-slides`, `--carousel-scroll-step`), so a
|
|
431
|
+
* consumer's own media or container query can change them without any
|
|
432
|
+
* script. Runs on first render, whenever the matching prop changes, and
|
|
433
|
+
* on every resize : a query flipping these values almost always goes
|
|
434
|
+
* together with the carousel itself changing size, which is what the
|
|
435
|
+
* {@link resizeObserver} already watches.
|
|
436
|
+
* @private
|
|
437
|
+
*/
|
|
438
|
+
syncCssOverrides() {
|
|
439
|
+
this.effectiveVisibleSlides = Math.max(1, Math.round(this.getCssPixelValue("--carousel-visible-slides", this.visibleSlides)));
|
|
440
|
+
this.effectiveScrollStep = Math.max(1, Math.round(this.getCssPixelValue("--carousel-scroll-step", this.scrollStep)));
|
|
402
441
|
}
|
|
403
442
|
/**
|
|
404
443
|
* Measures, from actual rendered geometry, which slide index the track
|
|
@@ -479,16 +518,17 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
479
518
|
this.style.setProperty("--_centerPadding", `${padding}px`);
|
|
480
519
|
}
|
|
481
520
|
/**
|
|
482
|
-
* Re-measures the host's own width against
|
|
483
|
-
*
|
|
521
|
+
* Re-measures the host's own width against the breakpoint in effect
|
|
522
|
+
* (`--carousel-responsive-breakpoint` when set, {@link responsiveBreakpoint}
|
|
523
|
+
* otherwise), driving {@link narrow}. A breakpoint of `0` (or less)
|
|
484
524
|
* disables the auto-switch outright, leaving `narrow` permanently
|
|
485
525
|
* `false`.
|
|
486
526
|
* @private
|
|
487
527
|
*/
|
|
488
528
|
updateNarrow() {
|
|
529
|
+
const breakpoint = this.getCssPixelValue("--carousel-responsive-breakpoint", this.responsiveBreakpoint);
|
|
489
530
|
this.narrow =
|
|
490
|
-
|
|
491
|
-
this.getBoundingClientRect().width < this.responsiveBreakpoint;
|
|
531
|
+
breakpoint > 0 && this.getBoundingClientRect().width < breakpoint;
|
|
492
532
|
}
|
|
493
533
|
/**
|
|
494
534
|
* Re-scans the default slot for its current slides, and (re)applies the
|
|
@@ -573,13 +613,16 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
573
613
|
});
|
|
574
614
|
}
|
|
575
615
|
/**
|
|
576
|
-
* Advances (or retreats) by
|
|
616
|
+
* Advances (or retreats) by the scroll step in effect (see
|
|
617
|
+
* {@link effectiveScrollStep}), re-read first so a custom property that
|
|
618
|
+
* changed without a resize is still honored.
|
|
577
619
|
*
|
|
578
620
|
* @param direction `1` for next, `-1` for previous.
|
|
579
621
|
* @private
|
|
580
622
|
*/
|
|
581
623
|
step(direction) {
|
|
582
|
-
this.
|
|
624
|
+
this.syncCssOverrides();
|
|
625
|
+
this.goToIndex(this.currentIndex + direction * this.effectiveScrollStep);
|
|
583
626
|
}
|
|
584
627
|
/**
|
|
585
628
|
* Starts the autoplay timer, if not already running, autoplay is on,
|
|
@@ -632,7 +675,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
632
675
|
return "";
|
|
633
676
|
}
|
|
634
677
|
const start = this.currentIndex + 1;
|
|
635
|
-
const visible = Math.max(1, Math.min(this.
|
|
678
|
+
const visible = Math.max(1, Math.min(this.effectiveVisibleSlides, this.slideCount - this.currentIndex));
|
|
636
679
|
const end = Math.min(start + visible - 1, this.slideCount);
|
|
637
680
|
return end > start
|
|
638
681
|
? `Showing slides ${start} to ${end} of ${this.slideCount}`
|
|
@@ -721,7 +764,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
721
764
|
if (!this.showDots || this.pageCount <= 1) {
|
|
722
765
|
return nothing;
|
|
723
766
|
}
|
|
724
|
-
const step =
|
|
767
|
+
const step = this.effectiveScrollStep;
|
|
725
768
|
const currentPage = Math.round(this.currentIndex / step);
|
|
726
769
|
return html `
|
|
727
770
|
<div
|
|
@@ -892,6 +935,12 @@ __decorate([
|
|
|
892
935
|
__decorate([
|
|
893
936
|
state()
|
|
894
937
|
], EunomiaCarousel.prototype, "narrow", void 0);
|
|
938
|
+
__decorate([
|
|
939
|
+
state()
|
|
940
|
+
], EunomiaCarousel.prototype, "effectiveVisibleSlides", void 0);
|
|
941
|
+
__decorate([
|
|
942
|
+
state()
|
|
943
|
+
], EunomiaCarousel.prototype, "effectiveScrollStep", void 0);
|
|
895
944
|
__decorate([
|
|
896
945
|
query("#track")
|
|
897
946
|
], EunomiaCarousel.prototype, "trackEl", void 0);
|
|
@@ -3,6 +3,10 @@ import { css } from "lit";
|
|
|
3
3
|
* Base style for the carousel component.
|
|
4
4
|
*
|
|
5
5
|
* Custom css variables:
|
|
6
|
+
* [--carousel-visible-slides] - Set how many slides are shown at once, overriding `visibleSlides` ; meant for the consumer's own media/container queries
|
|
7
|
+
* [--carousel-scroll-step] - Set how many slides a prev/next/dot click advances by, overriding `scrollStep`
|
|
8
|
+
* [--carousel-responsive-breakpoint] - Set the width (px) below which an `inline` layout moves its buttons into the header row, overriding `responsiveBreakpoint`
|
|
9
|
+
* [--carousel-fade-display] - Set to `none` to hide the edge fades via pure CSS (e.g. in a container query), regardless of `edgeFade`
|
|
6
10
|
* [--carousel-gap] - Set a custom gap between slides
|
|
7
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
|
|
8
12
|
* [--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
|
|
@@ -33,6 +37,10 @@ const base = css `
|
|
|
33
37
|
:host {
|
|
34
38
|
display: block;
|
|
35
39
|
--_visibleCount: 1;
|
|
40
|
+
--_effectiveVisibleCount: var(
|
|
41
|
+
--carousel-visible-slides,
|
|
42
|
+
var(--_visibleCount)
|
|
43
|
+
);
|
|
36
44
|
--_snapAlign: start;
|
|
37
45
|
}
|
|
38
46
|
|
|
@@ -84,6 +92,7 @@ const base = css `
|
|
|
84
92
|
#viewport::before,
|
|
85
93
|
#viewport::after {
|
|
86
94
|
content: "";
|
|
95
|
+
display: var(--carousel-fade-display, block);
|
|
87
96
|
position: absolute;
|
|
88
97
|
top: 0;
|
|
89
98
|
bottom: 0;
|
|
@@ -125,7 +134,7 @@ const base = css `
|
|
|
125
134
|
scrollbar-width: none;
|
|
126
135
|
outline: 2px solid transparent;
|
|
127
136
|
outline-offset: 8px;
|
|
128
|
-
border-radius: var(--eun-
|
|
137
|
+
border-radius: var(--eun-border-radius-m);
|
|
129
138
|
transition: outline 0.2s ease-out;
|
|
130
139
|
}
|
|
131
140
|
#track::-webkit-scrollbar {
|
|
@@ -156,8 +165,11 @@ const base = css `
|
|
|
156
165
|
flex-basis: max(
|
|
157
166
|
var(--carousel-min-slide-width, 220px),
|
|
158
167
|
calc(
|
|
159
|
-
(
|
|
160
|
-
|
|
168
|
+
(
|
|
169
|
+
100% - (var(--_effectiveVisibleCount) - 1) *
|
|
170
|
+
var(--carousel-gap, 16px)
|
|
171
|
+
) /
|
|
172
|
+
var(--_effectiveVisibleCount)
|
|
161
173
|
)
|
|
162
174
|
);
|
|
163
175
|
}
|
|
@@ -167,9 +179,9 @@ const base = css `
|
|
|
167
179
|
calc(
|
|
168
180
|
(
|
|
169
181
|
100% - var(--carousel-peek-size, 32px) -
|
|
170
|
-
(var(--
|
|
182
|
+
(var(--_effectiveVisibleCount) - 1) * var(--carousel-gap, 16px)
|
|
171
183
|
) /
|
|
172
|
-
var(--
|
|
184
|
+
var(--_effectiveVisibleCount)
|
|
173
185
|
)
|
|
174
186
|
);
|
|
175
187
|
}
|
|
@@ -190,7 +202,7 @@ const base = css `
|
|
|
190
202
|
align-items: center;
|
|
191
203
|
justify-content: center;
|
|
192
204
|
border-radius: 50%;
|
|
193
|
-
border: var(--eun-
|
|
205
|
+
border: var(--eun-border-width-s, 1px) solid
|
|
194
206
|
var(--carousel-nav-border-color, var(--eun-border-color, #dee0e7));
|
|
195
207
|
background: var(
|
|
196
208
|
--carousel-nav-background,
|
|
@@ -274,7 +286,7 @@ const base = css `
|
|
|
274
286
|
width: calc(var(--carousel-dot-size, 6px) * 3.5);
|
|
275
287
|
border-radius: var(
|
|
276
288
|
--carousel-dot-border-radius,
|
|
277
|
-
var(--eun-
|
|
289
|
+
var(--eun-border-radius-full, 999px)
|
|
278
290
|
);
|
|
279
291
|
background: var(
|
|
280
292
|
--carousel-dot-active-color,
|
|
@@ -55,8 +55,8 @@ export const paginationStyles = css `
|
|
|
55
55
|
height: var(--pagination-item-size, 32px);
|
|
56
56
|
padding-inline: var(--eun-space-xs, 4px);
|
|
57
57
|
font-family: inherit;
|
|
58
|
-
font-size: var(--pagination-font-size, var(--eun-
|
|
59
|
-
font-weight: var(--eun-
|
|
58
|
+
font-size: var(--pagination-font-size, var(--eun-font-size-s, 14px));
|
|
59
|
+
font-weight: var(--eun-font-weight-m, 500);
|
|
60
60
|
line-height: 1;
|
|
61
61
|
}
|
|
62
62
|
:host([show-labels]) button.control {
|
|
@@ -71,7 +71,7 @@ export const paginationStyles = css `
|
|
|
71
71
|
border: none;
|
|
72
72
|
border-radius: var(
|
|
73
73
|
--pagination-border-radius,
|
|
74
|
-
var(--eun-
|
|
74
|
+
var(--eun-border-radius-m, 8px)
|
|
75
75
|
);
|
|
76
76
|
background: transparent;
|
|
77
77
|
color: var(--pagination-item-color, var(--eun-text-secondary, #484e61));
|
|
@@ -34,14 +34,14 @@ const base = css `
|
|
|
34
34
|
box-sizing: border-box;
|
|
35
35
|
width: var(--_width);
|
|
36
36
|
transition: width var(--_transitionDuration) ease;
|
|
37
|
-
border-inline-end: var(--eun-
|
|
37
|
+
border-inline-end: var(--eun-border-width-s, 1px) solid var(--_borderColor);
|
|
38
38
|
}
|
|
39
39
|
:host([dragging]) {
|
|
40
40
|
transition: none;
|
|
41
41
|
}
|
|
42
42
|
:host([position="end"]) {
|
|
43
43
|
border-inline-end: none;
|
|
44
|
-
border-inline-start: var(--eun-
|
|
44
|
+
border-inline-start: var(--eun-border-width-s, 1px) solid var(--_borderColor);
|
|
45
45
|
}
|
|
46
46
|
:host([collapsed][collapse-mode="mini"]) {
|
|
47
47
|
--_width: var(--_miniWidth);
|
|
@@ -80,8 +80,8 @@ const base = css `
|
|
|
80
80
|
}
|
|
81
81
|
#heading {
|
|
82
82
|
margin: 0;
|
|
83
|
-
font-size: var(--eun-
|
|
84
|
-
font-weight: var(--eun-
|
|
83
|
+
font-size: var(--eun-font-size-l, 18px);
|
|
84
|
+
font-weight: var(--eun-font-weight-l, 700);
|
|
85
85
|
color: inherit;
|
|
86
86
|
}
|
|
87
87
|
#body {
|
|
@@ -89,7 +89,7 @@ const base = css `
|
|
|
89
89
|
min-height: 0;
|
|
90
90
|
overflow-y: auto;
|
|
91
91
|
padding: var(--_gap) var(--_padding);
|
|
92
|
-
font-size: var(--eun-
|
|
92
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
93
93
|
}
|
|
94
94
|
#footer {
|
|
95
95
|
flex: none;
|
|
@@ -139,8 +139,8 @@ const base = css `
|
|
|
139
139
|
height: 28px;
|
|
140
140
|
padding: 0;
|
|
141
141
|
background: var(--_background);
|
|
142
|
-
border: var(--eun-
|
|
143
|
-
border-radius: var(--eun-
|
|
142
|
+
border: var(--eun-border-width-s, 1px) solid var(--_borderColor);
|
|
143
|
+
border-radius: var(--eun-border-radius-xl, 999px);
|
|
144
144
|
color: var(--eun-text-secondary, #484e61);
|
|
145
145
|
cursor: pointer;
|
|
146
146
|
transition: background-color 0.15s ease;
|
|
@@ -161,12 +161,12 @@ const base = css `
|
|
|
161
161
|
width: 100%;
|
|
162
162
|
padding: var(--eun-space-s, 8px) var(--_padding);
|
|
163
163
|
border: none;
|
|
164
|
-
border-top: var(--eun-
|
|
164
|
+
border-top: var(--eun-border-width-s, 1px) solid var(--_borderColor);
|
|
165
165
|
border-radius: 0;
|
|
166
166
|
background: transparent;
|
|
167
167
|
color: var(--eun-text-secondary, #484e61);
|
|
168
168
|
font: inherit;
|
|
169
|
-
font-size: var(--eun-
|
|
169
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
170
170
|
text-align: start;
|
|
171
171
|
cursor: pointer;
|
|
172
172
|
transition: background-color 0.15s ease;
|
|
@@ -61,7 +61,7 @@ export const stepStyles = css `
|
|
|
61
61
|
text-align: left;
|
|
62
62
|
outline: 2px solid transparent;
|
|
63
63
|
outline-offset: 2px;
|
|
64
|
-
border-radius: var(--eun-
|
|
64
|
+
border-radius: var(--eun-border-radius-m, 8px);
|
|
65
65
|
flex: 0 1 auto;
|
|
66
66
|
min-width: 0;
|
|
67
67
|
}
|
|
@@ -100,17 +100,17 @@ export const stepStyles = css `
|
|
|
100
100
|
height: var(--_indicatorSize);
|
|
101
101
|
border-radius: var(
|
|
102
102
|
--stepper-indicator-border-radius,
|
|
103
|
-
var(--eun-
|
|
103
|
+
var(--eun-border-radius-xl, 999px)
|
|
104
104
|
);
|
|
105
105
|
background: var(
|
|
106
106
|
--stepper-indicator-background,
|
|
107
107
|
var(--eun-content-hover, #edeff0)
|
|
108
108
|
);
|
|
109
109
|
color: var(--stepper-indicator-color, var(--eun-text-secondary, #484e61));
|
|
110
|
-
font-size: var(--stepper-indicator-font-size, var(--eun-
|
|
110
|
+
font-size: var(--stepper-indicator-font-size, var(--eun-font-size-xs, 12px));
|
|
111
111
|
font-weight: var(
|
|
112
112
|
--stepper-indicator-font-weight,
|
|
113
|
-
var(--eun-
|
|
113
|
+
var(--eun-font-weight-m, 500)
|
|
114
114
|
);
|
|
115
115
|
transition:
|
|
116
116
|
background var(--stepper-transition-duration, 0.2s) ease-out,
|
|
@@ -163,18 +163,18 @@ export const stepStyles = css `
|
|
|
163
163
|
min-width: 0;
|
|
164
164
|
}
|
|
165
165
|
.label {
|
|
166
|
-
font-size: var(--stepper-label-font-size, var(--eun-
|
|
167
|
-
font-weight: var(--stepper-label-font-weight, var(--eun-
|
|
166
|
+
font-size: var(--stepper-label-font-size, var(--eun-font-size-s, 14px));
|
|
167
|
+
font-weight: var(--stepper-label-font-weight, var(--eun-font-weight-m, 500));
|
|
168
168
|
color: var(--stepper-label-color, var(--eun-text-color, #071621));
|
|
169
169
|
}
|
|
170
170
|
:host([status="current"]) .label {
|
|
171
171
|
color: var(--stepper-label-color-current, var(--eun-text-color, #071621));
|
|
172
|
-
font-weight: var(--eun-
|
|
172
|
+
font-weight: var(--eun-font-weight-l, 700);
|
|
173
173
|
}
|
|
174
174
|
.description {
|
|
175
175
|
font-size: var(
|
|
176
176
|
--stepper-description-font-size,
|
|
177
|
-
var(--eun-
|
|
177
|
+
var(--eun-font-size-xs, 12px)
|
|
178
178
|
);
|
|
179
179
|
color: var(--stepper-description-color, var(--eun-text-secondary, #484e61));
|
|
180
180
|
}
|
|
@@ -161,7 +161,7 @@ export const stepperStyles = css `
|
|
|
161
161
|
text-align: left;
|
|
162
162
|
outline: 2px solid transparent;
|
|
163
163
|
outline-offset: 2px;
|
|
164
|
-
border-radius: var(--eun-
|
|
164
|
+
border-radius: var(--eun-border-radius-m, 8px);
|
|
165
165
|
}
|
|
166
166
|
|
|
167
167
|
.step-control.has-description {
|
|
@@ -199,17 +199,17 @@ export const stepperStyles = css `
|
|
|
199
199
|
height: var(--_indicatorSize);
|
|
200
200
|
border-radius: var(
|
|
201
201
|
--stepper-indicator-border-radius,
|
|
202
|
-
var(--eun-
|
|
202
|
+
var(--eun-border-radius-xl, 999px)
|
|
203
203
|
);
|
|
204
204
|
background: var(
|
|
205
205
|
--stepper-indicator-background,
|
|
206
206
|
var(--eun-content-hover, #edeff0)
|
|
207
207
|
);
|
|
208
208
|
color: var(--stepper-indicator-color, var(--eun-text-secondary, #484e61));
|
|
209
|
-
font-size: var(--stepper-indicator-font-size, var(--eun-
|
|
209
|
+
font-size: var(--stepper-indicator-font-size, var(--eun-font-size-xs, 12px));
|
|
210
210
|
font-weight: var(
|
|
211
211
|
--stepper-indicator-font-weight,
|
|
212
|
-
var(--eun-
|
|
212
|
+
var(--eun-font-weight-m, 500)
|
|
213
213
|
);
|
|
214
214
|
transition:
|
|
215
215
|
background var(--stepper-transition-duration, 0.2s) ease-out,
|
|
@@ -304,18 +304,18 @@ export const stepperStyles = css `
|
|
|
304
304
|
min-width: 0;
|
|
305
305
|
}
|
|
306
306
|
.label {
|
|
307
|
-
font-size: var(--stepper-label-font-size, var(--eun-
|
|
308
|
-
font-weight: var(--stepper-label-font-weight, var(--eun-
|
|
307
|
+
font-size: var(--stepper-label-font-size, var(--eun-font-size-s, 14px));
|
|
308
|
+
font-weight: var(--stepper-label-font-weight, var(--eun-font-weight-m, 500));
|
|
309
309
|
color: var(--stepper-label-color, var(--eun-text-color, #071621));
|
|
310
310
|
}
|
|
311
311
|
li.step[data-status="current"] .label {
|
|
312
312
|
color: var(--stepper-label-color-current, var(--eun-text-color, #071621));
|
|
313
|
-
font-weight: var(--eun-
|
|
313
|
+
font-weight: var(--eun-font-weight-l, 700);
|
|
314
314
|
}
|
|
315
315
|
.description {
|
|
316
316
|
font-size: var(
|
|
317
317
|
--stepper-description-font-size,
|
|
318
|
-
var(--eun-
|
|
318
|
+
var(--eun-font-size-xs, 12px)
|
|
319
319
|
);
|
|
320
320
|
color: var(--stepper-description-color, var(--eun-text-secondary, #484e61));
|
|
321
321
|
}
|
|
@@ -38,8 +38,8 @@ const base = css `
|
|
|
38
38
|
--_border: var(--tab-border);
|
|
39
39
|
--_border-radius: var(--tab-border-radius, 8px);
|
|
40
40
|
--_pointerEvents: all;
|
|
41
|
-
font-size: var(--eun-
|
|
42
|
-
font-weight: var(--eun-
|
|
41
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
42
|
+
font-weight: var(--eun-font-weight-m, 500);
|
|
43
43
|
outline: none;
|
|
44
44
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
45
45
|
z-index: 1;
|
|
@@ -110,7 +110,7 @@ const base = css `
|
|
|
110
110
|
:host([icon]) div slot[name="icon"],
|
|
111
111
|
div[has-icon] slot[name="icon"] {
|
|
112
112
|
grid-area: icon;
|
|
113
|
-
font-size: var(--eun-
|
|
113
|
+
font-size: var(--eun-font-size-m, 16px);
|
|
114
114
|
line-height: 1;
|
|
115
115
|
display: block;
|
|
116
116
|
}
|
|
@@ -137,7 +137,7 @@ const base = css `
|
|
|
137
137
|
--tab-notification-color,
|
|
138
138
|
var(--eun-color-critical-100, #aa0014)
|
|
139
139
|
);
|
|
140
|
-
border-radius: var(--eun-
|
|
140
|
+
border-radius: var(--eun-border-radius-xl, 999px);
|
|
141
141
|
transition: scale 0.2s cubic-bezier(0.35, 0.92, 0.65, 1.28);
|
|
142
142
|
scale: 1;
|
|
143
143
|
place-self: var(--_badge-place, start);
|
|
@@ -165,7 +165,7 @@ const base = css `
|
|
|
165
165
|
|
|
166
166
|
@media (min-width: ${EUNOMIA_BREAKPOINTS.tablet}px) {
|
|
167
167
|
:host {
|
|
168
|
-
font-size: var(--eun-
|
|
168
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
169
169
|
}
|
|
170
170
|
:host([badge]) div::after {
|
|
171
171
|
--_y-correction: none;
|