@eunomia/elements 1.0.0-beta.2 → 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-2JLDJFYD.js +48 -0
- 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-AQQMW353.js → chunk-GSJEJLFA.js} +3 -3
- package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +1 -0
- 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-74HHV4CX.js → chunk-NHFWATVN.js} +2 -2
- 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-7WTSHE7M.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/chunks/chunk-YYCEPZUN.js +1 -0
- package/dist/cdn/components/eun-alert.js +65 -45
- package/dist/cdn/components/eun-animate.js +178 -2
- 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 +29 -12
- package/dist/cdn/components/eun-carousel.js +36 -28
- 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 -210
- package/dist/cdn/components/eun-collapse.js +20 -26
- package/dist/cdn/components/eun-color-picker.js +28 -28
- package/dist/cdn/components/eun-counter.js +11 -11
- 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 +20 -20
- package/dist/cdn/components/eun-input-phone.js +14 -14
- 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 +3 -3
- 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 +39 -18
- package/dist/cdn/components/eun-sidebar.js +10 -10
- package/dist/cdn/components/eun-skeleton.js +1 -1
- package/dist/cdn/components/eun-slider.js +9 -9
- package/dist/cdn/components/eun-sliding-card.js +7 -10
- 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 -122
- package/dist/cdn/components/eun-textarea.js +28 -28
- 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 +42 -25
- package/dist/cdn/components/eun-toggle.js +13 -10
- package/dist/cdn/components/eun-toolbar.js +28 -19
- 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 +7 -6
- package/dist/components/action/button/button.js +7 -6
- package/dist/components/action/button/button.styles.js +143 -373
- 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 +162 -46
- 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 +38 -21
- package/dist/components/action/toggle/toggle.d.ts +1 -1
- package/dist/components/action/toggle/toggle.js +2 -2
- 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 +27 -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 -6
- 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 -210
- package/dist/components/content/collapse/collapse.styles.js +10 -16
- package/dist/components/content/icon/icon.d.ts +48 -5
- package/dist/components/content/icon/icon.js +92 -20
- 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 -121
- 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-list.js +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.js +9 -7
- 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.js +3 -3
- 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.js +3 -3
- 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/input.js +2 -2
- package/dist/components/form/input-file/input-file.d.ts +1 -1
- package/dist/components/form/input-file/input-file.js +5 -5
- 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.js +3 -3
- 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-list.js +2 -2
- 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 +17 -1
- package/dist/components/form/select/select.js +28 -5
- package/dist/components/form/select/select.styles.js +16 -5
- 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.js +2 -2
- 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.js +4 -4
- 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.js +3 -3
- package/dist/components/form/time-picker/time-picker.styles.js +8 -8
- package/dist/components/layout/animate/animate.d.ts +40 -5
- package/dist/components/layout/animate/animate.js +30 -11
- package/dist/components/layout/animate/animate.styles.d.ts +1 -1
- package/dist/components/layout/animate/animate.styles.js +191 -1
- 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 +20 -8
- 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 +24 -0
- package/dist/components/navigation/toolbar/toolbar.js +30 -2
- package/dist/components/navigation/toolbar/toolbar.styles.js +20 -10
- package/dist/events/change.event.d.ts +13 -1
- package/dist/events/change.event.js +2 -1
- 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 +5 -5
- package/dist/index.js +6 -3
- 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/check.mixin.js +6 -2
- package/dist/mixins/editable.mixin.d.ts +1 -1
- package/dist/mixins/form.mixin.d.ts +9 -1
- package/dist/mixins/form.mixin.js +110 -14
- package/dist/mixins/overflow-navigation.mixin.js +2 -1
- package/dist/mixins/radio.mixin.d.ts +1 -1
- package/dist/mixins/radio.mixin.js +6 -2
- package/dist/mixins/validators.mixin.d.ts +9 -3
- package/dist/ssr/animate-ssr.css +149 -0
- package/dist/ssr/overlay-ssr.css +57 -0
- package/dist/ssr/sidebar-ssr.css +57 -0
- package/dist/ssr/toolbar-ssr.css +41 -0
- 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 +14 -3
- 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-27Q2SLRY.js +0 -603
- package/dist/cdn/components/chunks/chunk-2IQUMAMI.js +0 -38
- package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
- package/dist/cdn/components/chunks/chunk-7Q6AHVI5.js +0 -1
- package/dist/cdn/components/chunks/chunk-DENMN3WH.js +0 -48
- package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
- package/dist/cdn/components/chunks/chunk-ONYUXQV2.js +0 -1
- package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
- package/dist/components/layout/animate/animate-ssr.css +0 -64
|
@@ -100,4 +100,194 @@ const base = css `
|
|
|
100
100
|
}
|
|
101
101
|
}
|
|
102
102
|
`;
|
|
103
|
-
|
|
103
|
+
/**
|
|
104
|
+
* \`tablet-animation\`/\`mobile-animation\` overrides — pure CSS \`@media\`
|
|
105
|
+
* switches, mirroring \`base\` above per animation value, so no JS ever
|
|
106
|
+
* needs to read the actual viewport width (see \`animate.ts\`'s own
|
|
107
|
+
* \`tabletAnimation\`/\`mobileAnimation\` doc comments). Placed after \`base\`
|
|
108
|
+
* so equal-specificity ties (e.g. both \`animation="fade"\` and
|
|
109
|
+
* \`tablet-animation="none"\` present at once) resolve in the narrower
|
|
110
|
+
* breakpoint's favor by source order, once its \`@media\` condition is true.
|
|
111
|
+
*
|
|
112
|
+
* \`max-width\` values match \`EUNOMIA_BREAKPOINTS.tablet\`/\`.mobile\`
|
|
113
|
+
* (\`breakpoints.ts\`) — hardcoded here since a plain CSS \`@media\` query
|
|
114
|
+
* can't read a JS constant.
|
|
115
|
+
*/
|
|
116
|
+
const breakpoints = css `
|
|
117
|
+
@media (max-width: 768px) {
|
|
118
|
+
:host([tablet-animation="none"]) {
|
|
119
|
+
opacity: 1;
|
|
120
|
+
transform: none;
|
|
121
|
+
transition-property: none;
|
|
122
|
+
}
|
|
123
|
+
|
|
124
|
+
:host([tablet-animation="fade"]) {
|
|
125
|
+
opacity: 0;
|
|
126
|
+
transition-property: opacity;
|
|
127
|
+
}
|
|
128
|
+
:host([tablet-animation="fade"][in-view]) {
|
|
129
|
+
opacity: 1;
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
:host([tablet-animation="scroll-right"]) {
|
|
133
|
+
transform: translateX(calc(-1 * var(--_distance)));
|
|
134
|
+
transition-property: transform;
|
|
135
|
+
}
|
|
136
|
+
:host([tablet-animation="scroll-right"][in-view]) {
|
|
137
|
+
transform: translateX(0);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
:host([tablet-animation="scroll-left"]) {
|
|
141
|
+
transform: translateX(var(--_distance));
|
|
142
|
+
transition-property: transform;
|
|
143
|
+
}
|
|
144
|
+
:host([tablet-animation="scroll-left"][in-view]) {
|
|
145
|
+
transform: translateX(0);
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
:host([tablet-animation="scroll-top"]) {
|
|
149
|
+
transform: translateY(var(--_distance));
|
|
150
|
+
transition-property: transform;
|
|
151
|
+
}
|
|
152
|
+
:host([tablet-animation="scroll-top"][in-view]) {
|
|
153
|
+
transform: translateY(0);
|
|
154
|
+
}
|
|
155
|
+
|
|
156
|
+
:host([tablet-animation="scroll-bottom"]) {
|
|
157
|
+
transform: translateY(calc(-1 * var(--_distance)));
|
|
158
|
+
transition-property: transform;
|
|
159
|
+
}
|
|
160
|
+
:host([tablet-animation="scroll-bottom"][in-view]) {
|
|
161
|
+
transform: translateY(0);
|
|
162
|
+
}
|
|
163
|
+
|
|
164
|
+
:host([tablet-animation="faded-scroll-right"]) {
|
|
165
|
+
opacity: 0;
|
|
166
|
+
transform: translateX(calc(-1 * var(--_distance)));
|
|
167
|
+
transition-property: opacity, transform;
|
|
168
|
+
}
|
|
169
|
+
:host([tablet-animation="faded-scroll-right"][in-view]) {
|
|
170
|
+
opacity: 1;
|
|
171
|
+
transform: translateX(0);
|
|
172
|
+
}
|
|
173
|
+
|
|
174
|
+
:host([tablet-animation="faded-scroll-left"]) {
|
|
175
|
+
opacity: 0;
|
|
176
|
+
transform: translateX(var(--_distance));
|
|
177
|
+
transition-property: opacity, transform;
|
|
178
|
+
}
|
|
179
|
+
:host([tablet-animation="faded-scroll-left"][in-view]) {
|
|
180
|
+
opacity: 1;
|
|
181
|
+
transform: translateX(0);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
:host([tablet-animation="faded-scroll-top"]) {
|
|
185
|
+
opacity: 0;
|
|
186
|
+
transform: translateY(var(--_distance));
|
|
187
|
+
transition-property: opacity, transform;
|
|
188
|
+
}
|
|
189
|
+
:host([tablet-animation="faded-scroll-top"][in-view]) {
|
|
190
|
+
opacity: 1;
|
|
191
|
+
transform: translateY(0);
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
:host([tablet-animation="faded-scroll-bottom"]) {
|
|
195
|
+
opacity: 0;
|
|
196
|
+
transform: translateY(calc(-1 * var(--_distance)));
|
|
197
|
+
transition-property: opacity, transform;
|
|
198
|
+
}
|
|
199
|
+
:host([tablet-animation="faded-scroll-bottom"][in-view]) {
|
|
200
|
+
opacity: 1;
|
|
201
|
+
transform: translateY(0);
|
|
202
|
+
}
|
|
203
|
+
}
|
|
204
|
+
|
|
205
|
+
@media (max-width: 600px) {
|
|
206
|
+
:host([mobile-animation="none"]) {
|
|
207
|
+
opacity: 1;
|
|
208
|
+
transform: none;
|
|
209
|
+
transition-property: none;
|
|
210
|
+
}
|
|
211
|
+
|
|
212
|
+
:host([mobile-animation="fade"]) {
|
|
213
|
+
opacity: 0;
|
|
214
|
+
transition-property: opacity;
|
|
215
|
+
}
|
|
216
|
+
:host([mobile-animation="fade"][in-view]) {
|
|
217
|
+
opacity: 1;
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
:host([mobile-animation="scroll-right"]) {
|
|
221
|
+
transform: translateX(calc(-1 * var(--_distance)));
|
|
222
|
+
transition-property: transform;
|
|
223
|
+
}
|
|
224
|
+
:host([mobile-animation="scroll-right"][in-view]) {
|
|
225
|
+
transform: translateX(0);
|
|
226
|
+
}
|
|
227
|
+
|
|
228
|
+
:host([mobile-animation="scroll-left"]) {
|
|
229
|
+
transform: translateX(var(--_distance));
|
|
230
|
+
transition-property: transform;
|
|
231
|
+
}
|
|
232
|
+
:host([mobile-animation="scroll-left"][in-view]) {
|
|
233
|
+
transform: translateX(0);
|
|
234
|
+
}
|
|
235
|
+
|
|
236
|
+
:host([mobile-animation="scroll-top"]) {
|
|
237
|
+
transform: translateY(var(--_distance));
|
|
238
|
+
transition-property: transform;
|
|
239
|
+
}
|
|
240
|
+
:host([mobile-animation="scroll-top"][in-view]) {
|
|
241
|
+
transform: translateY(0);
|
|
242
|
+
}
|
|
243
|
+
|
|
244
|
+
:host([mobile-animation="scroll-bottom"]) {
|
|
245
|
+
transform: translateY(calc(-1 * var(--_distance)));
|
|
246
|
+
transition-property: transform;
|
|
247
|
+
}
|
|
248
|
+
:host([mobile-animation="scroll-bottom"][in-view]) {
|
|
249
|
+
transform: translateY(0);
|
|
250
|
+
}
|
|
251
|
+
|
|
252
|
+
:host([mobile-animation="faded-scroll-right"]) {
|
|
253
|
+
opacity: 0;
|
|
254
|
+
transform: translateX(calc(-1 * var(--_distance)));
|
|
255
|
+
transition-property: opacity, transform;
|
|
256
|
+
}
|
|
257
|
+
:host([mobile-animation="faded-scroll-right"][in-view]) {
|
|
258
|
+
opacity: 1;
|
|
259
|
+
transform: translateX(0);
|
|
260
|
+
}
|
|
261
|
+
|
|
262
|
+
:host([mobile-animation="faded-scroll-left"]) {
|
|
263
|
+
opacity: 0;
|
|
264
|
+
transform: translateX(var(--_distance));
|
|
265
|
+
transition-property: opacity, transform;
|
|
266
|
+
}
|
|
267
|
+
:host([mobile-animation="faded-scroll-left"][in-view]) {
|
|
268
|
+
opacity: 1;
|
|
269
|
+
transform: translateX(0);
|
|
270
|
+
}
|
|
271
|
+
|
|
272
|
+
:host([mobile-animation="faded-scroll-top"]) {
|
|
273
|
+
opacity: 0;
|
|
274
|
+
transform: translateY(var(--_distance));
|
|
275
|
+
transition-property: opacity, transform;
|
|
276
|
+
}
|
|
277
|
+
:host([mobile-animation="faded-scroll-top"][in-view]) {
|
|
278
|
+
opacity: 1;
|
|
279
|
+
transform: translateY(0);
|
|
280
|
+
}
|
|
281
|
+
|
|
282
|
+
:host([mobile-animation="faded-scroll-bottom"]) {
|
|
283
|
+
opacity: 0;
|
|
284
|
+
transform: translateY(calc(-1 * var(--_distance)));
|
|
285
|
+
transition-property: opacity, transform;
|
|
286
|
+
}
|
|
287
|
+
:host([mobile-animation="faded-scroll-bottom"][in-view]) {
|
|
288
|
+
opacity: 1;
|
|
289
|
+
transform: translateY(0);
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
`;
|
|
293
|
+
export const animateStyles = [base, breakpoints];
|
|
@@ -100,11 +100,11 @@ const bar = css `
|
|
|
100
100
|
overflow: hidden;
|
|
101
101
|
border-radius: var(
|
|
102
102
|
--loader-bar-border-radius,
|
|
103
|
-
var(--eun-
|
|
103
|
+
var(--eun-border-radius-full, 999px)
|
|
104
104
|
);
|
|
105
105
|
background: var(
|
|
106
106
|
--loader-bar-track-color,
|
|
107
|
-
var(--eun-
|
|
107
|
+
var(--eun-surface-sunken-strong, #ecedf0)
|
|
108
108
|
);
|
|
109
109
|
}
|
|
110
110
|
|
|
@@ -9,10 +9,13 @@ import { css } from "lit";
|
|
|
9
9
|
*/
|
|
10
10
|
export const skeletonStyles = css `
|
|
11
11
|
:host {
|
|
12
|
-
--_color: var(
|
|
12
|
+
--_color: var(
|
|
13
|
+
--skeleton-color,
|
|
14
|
+
var(--eun-surface-sunken-strong, #ecedf0)
|
|
15
|
+
);
|
|
13
16
|
--_highlight: var(
|
|
14
17
|
--skeleton-highlight-color,
|
|
15
|
-
var(--eun-
|
|
18
|
+
var(--eun-surface-sunken, #f7f8fa)
|
|
16
19
|
);
|
|
17
20
|
display: block;
|
|
18
21
|
width: 100%;
|
|
@@ -31,16 +34,16 @@ export const skeletonStyles = css `
|
|
|
31
34
|
animation: eun-skeleton-shimmer 1.6s ease-in-out infinite;
|
|
32
35
|
border-radius: var(
|
|
33
36
|
--skeleton-border-radius,
|
|
34
|
-
var(--eun-
|
|
37
|
+
var(--eun-border-radius-m, 8px)
|
|
35
38
|
);
|
|
36
39
|
}
|
|
37
40
|
:host([variant="circle"]) span {
|
|
38
|
-
border-radius: var(--eun-
|
|
41
|
+
border-radius: var(--eun-border-radius-xl, 999px);
|
|
39
42
|
}
|
|
40
43
|
:host([variant="text"]) span {
|
|
41
44
|
border-radius: var(
|
|
42
45
|
--skeleton-border-radius,
|
|
43
|
-
var(--eun-
|
|
46
|
+
var(--eun-border-radius-s, 5px)
|
|
44
47
|
);
|
|
45
48
|
}
|
|
46
49
|
@keyframes eun-skeleton-shimmer {
|
|
@@ -17,6 +17,7 @@ export declare const EunomiaBreadcrumbItemTagName = "eun-breadcrumb-item";
|
|
|
17
17
|
* @prop {string} [href] - The URL this step links to. Renders as plain, unlinked text when unset, such as a category that groups pages but isn't itself a page
|
|
18
18
|
* @prop {boolean} [current=false] - Marks this as the trail's current, unlinked page, regardless of href
|
|
19
19
|
* @prop {EunomiaIconName} [icon] - An optional leading icon shown before the slotted label. Purely decorative, so it never substitutes for the label's own visible text
|
|
20
|
+
* @fires {NavigationEvent} eunnavigate - Fired before following the step's link, so a client-side router can intercept the navigation. Cancelable
|
|
20
21
|
* @element eun-breadcrumb-item
|
|
21
22
|
*/
|
|
22
23
|
export declare class EunomiaBreadcrumbItem extends LitElement {
|
|
@@ -60,6 +61,12 @@ export declare class EunomiaBreadcrumbItem extends LitElement {
|
|
|
60
61
|
* @private
|
|
61
62
|
*/
|
|
62
63
|
private handleIconSlotChange;
|
|
64
|
+
/**
|
|
65
|
+
* Dispatches `eunnavigate` before the browser follows the link, so an
|
|
66
|
+
* SPA router can take over the navigation.
|
|
67
|
+
* @private
|
|
68
|
+
*/
|
|
69
|
+
private handleClick;
|
|
63
70
|
connectedCallback(): void;
|
|
64
71
|
render(): TemplateResult;
|
|
65
72
|
}
|
|
@@ -9,6 +9,7 @@ import { html, LitElement, nothing } from "lit";
|
|
|
9
9
|
import { classMap } from "lit/directives/class-map.js";
|
|
10
10
|
import { ifDefined } from "lit/directives/if-defined.js";
|
|
11
11
|
import { breadcrumbItemStyles } from "./breadcrumb-item.styles.js";
|
|
12
|
+
import { handleLinkNavigation } from "../../../utils/navigation.utils.js";
|
|
12
13
|
/**
|
|
13
14
|
* Tag name of the breadcrumb item component.
|
|
14
15
|
*/
|
|
@@ -26,6 +27,7 @@ export const EunomiaBreadcrumbItemTagName = "eun-breadcrumb-item";
|
|
|
26
27
|
* @prop {string} [href] - The URL this step links to. Renders as plain, unlinked text when unset, such as a category that groups pages but isn't itself a page
|
|
27
28
|
* @prop {boolean} [current=false] - Marks this as the trail's current, unlinked page, regardless of href
|
|
28
29
|
* @prop {EunomiaIconName} [icon] - An optional leading icon shown before the slotted label. Purely decorative, so it never substitutes for the label's own visible text
|
|
30
|
+
* @fires {NavigationEvent} eunnavigate - Fired before following the step's link, so a client-side router can intercept the navigation. Cancelable
|
|
29
31
|
* @element eun-breadcrumb-item
|
|
30
32
|
*/
|
|
31
33
|
let EunomiaBreadcrumbItem = class EunomiaBreadcrumbItem extends LitElement {
|
|
@@ -47,6 +49,14 @@ let EunomiaBreadcrumbItem = class EunomiaBreadcrumbItem extends LitElement {
|
|
|
47
49
|
this.requestUpdate();
|
|
48
50
|
};
|
|
49
51
|
}
|
|
52
|
+
/**
|
|
53
|
+
* Dispatches `eunnavigate` before the browser follows the link, so an
|
|
54
|
+
* SPA router can take over the navigation.
|
|
55
|
+
* @private
|
|
56
|
+
*/
|
|
57
|
+
handleClick(event) {
|
|
58
|
+
handleLinkNavigation(this, event, this.href);
|
|
59
|
+
}
|
|
50
60
|
connectedCallback() {
|
|
51
61
|
super.connectedCallback?.();
|
|
52
62
|
if (!this.hasAttribute("role")) {
|
|
@@ -75,7 +85,11 @@ let EunomiaBreadcrumbItem = class EunomiaBreadcrumbItem extends LitElement {
|
|
|
75
85
|
></span>`;
|
|
76
86
|
}
|
|
77
87
|
else if (this.href) {
|
|
78
|
-
label = html `<a
|
|
88
|
+
label = html `<a
|
|
89
|
+
id="label"
|
|
90
|
+
href=${this.href}
|
|
91
|
+
aria-label=${ariaLabel}
|
|
92
|
+
@click=${this.handleClick}
|
|
79
93
|
>${icon}<slot></slot
|
|
80
94
|
></a>`;
|
|
81
95
|
}
|
|
@@ -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);
|