@eunomia/elements 1.0.0-beta.3 → 1.0.0-beta.5
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-EAGGN3ZI.js → chunk-2XASWWKR.js} +9 -9
- package/dist/cdn/components/chunks/chunk-32DTNR52.js +1 -0
- package/dist/cdn/components/chunks/chunk-3MTUVMM5.js +1 -0
- package/dist/cdn/components/chunks/chunk-5GKM5DIB.js +1 -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-TBKKTJOX.js → chunk-6ETDXUH2.js} +3 -3
- 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-NEYBPT3D.js → chunk-AIS3UICU.js} +9 -9
- package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
- package/dist/cdn/components/chunks/chunk-DKOPI7QA.js +415 -0
- package/dist/cdn/components/chunks/{chunk-53QH6MPM.js → chunk-EAKYD33D.js} +3 -3
- package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
- package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-IDKZKLJR.js} +7 -7
- package/dist/cdn/components/chunks/chunk-JRGM3W7I.js +53 -0
- package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-L65WUTXM.js} +12 -12
- package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +1 -0
- package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
- package/dist/cdn/components/chunks/chunk-MPQP4R54.js +263 -0
- package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-NBIENHLV.js} +6 -6
- package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
- package/dist/cdn/components/chunks/chunk-OW7XKDCH.js +124 -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-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
- package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-SD2WHGPF.js} +7 -6
- package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +1 -0
- package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
- package/dist/cdn/components/eun-alert.js +65 -45
- package/dist/cdn/components/eun-animate.js +5 -3
- package/dist/cdn/components/eun-badge.js +8 -8
- 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 +20 -20
- package/dist/cdn/components/eun-card.js +61 -13
- 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 +49 -29
- package/dist/cdn/components/eun-color-picker.js +13 -13
- package/dist/cdn/components/eun-counter.js +15 -15
- package/dist/cdn/components/eun-date-picker.js +62 -62
- package/dist/cdn/components/eun-drawer.js +12 -12
- 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 +18 -18
- 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 +28 -28
- 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 +134 -18
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +21 -21
- 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 +9 -9
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +26 -26
- package/dist/cdn/components/eun-search.js +21 -21
- 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 +23 -23
- package/dist/cdn/components/eun-time-picker.js +32 -32
- package/dist/cdn/components/eun-toast.js +40 -36
- package/dist/cdn/components/eun-toggle-group.js +213 -72
- package/dist/cdn/components/eun-toggle-item.js +49 -30
- package/dist/cdn/components/eun-toggle.js +12 -9
- package/dist/cdn/components/eun-toolbar.js +15 -8
- 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 +44 -15
- package/dist/components/action/button/button.js +100 -20
- package/dist/components/action/button/button.styles.js +179 -393
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +13 -6
- package/dist/components/action/dropdown-button/dropdown-button.js +16 -5
- 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 +7 -4
- package/dist/components/action/fab/fab.js +11 -6
- package/dist/components/action/fab/fab.styles.js +26 -49
- package/dist/components/action/link/link.d.ts +115 -6
- package/dist/components/action/link/link.js +245 -21
- package/dist/components/action/link/link.styles.js +105 -3
- 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 +55 -11
- package/dist/components/action/toggle/toggle-group.js +193 -52
- package/dist/components/action/toggle/toggle-group.styles.d.ts +7 -5
- package/dist/components/action/toggle/toggle-group.styles.js +166 -41
- package/dist/components/action/toggle/toggle-item.d.ts +4 -4
- package/dist/components/action/toggle/toggle-item.js +2 -2
- package/dist/components/action/toggle/toggle-item.styles.js +45 -26
- 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.js +1 -1
- package/dist/components/alert/drawer/drawer.styles.js +3 -3
- package/dist/components/alert/modal/modal.d.ts +8 -8
- package/dist/components/alert/modal/modal.js +11 -11
- 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.d.ts +6 -6
- package/dist/components/content/badge/badge.js +4 -4
- package/dist/components/content/badge/badge.styles.js +5 -5
- package/dist/components/content/card/card.d.ts +36 -8
- package/dist/components/content/card/card.js +68 -8
- package/dist/components/content/card/card.styles.js +52 -11
- package/dist/components/content/card/image-card.d.ts +3 -2
- package/dist/components/content/card/image-card.js +2 -1
- package/dist/components/content/card/image-card.styles.js +17 -10
- package/dist/components/content/card/sliding-card.d.ts +2 -1
- package/dist/components/content/card/sliding-card.js +1 -0
- 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.d.ts +29 -11
- package/dist/components/content/collapse/collapse.js +53 -23
- package/dist/components/content/collapse/collapse.styles.js +23 -9
- package/dist/components/content/icon/icon.d.ts +12 -2
- package/dist/components/content/icon/icon.js +52 -22
- package/dist/components/content/icon/icon.style.d.ts +2 -0
- package/dist/components/content/icon/icon.style.js +5 -2
- 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/card-link.styles.js +1 -0
- 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 +3 -3
- package/dist/components/form/color-picker/color-picker.js +4 -4
- package/dist/components/form/color-picker/color-picker.styles.js +7 -7
- package/dist/components/form/counter/counter.d.ts +3 -3
- package/dist/components/form/counter/counter.js +3 -3
- package/dist/components/form/counter/counter.styles.js +12 -12
- 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 +3 -3
- package/dist/components/form/date-picker/date-picker.js +3 -3
- package/dist/components/form/date-picker/date-picker.styles.js +17 -17
- package/dist/components/form/input/input.d.ts +3 -3
- package/dist/components/form/input/input.js +4 -4
- 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 +3 -3
- package/dist/components/form/input-phone/input-phone.js +3 -3
- package/dist/components/form/input-phone/input-phone.styles.js +19 -19
- 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 +9 -9
- package/dist/components/form/select/select.d.ts +3 -3
- package/dist/components/form/select/select.js +3 -3
- 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 +12 -12
- 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 +3 -3
- 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 +3 -3
- package/dist/components/form/time-picker/time-picker.js +3 -3
- package/dist/components/form/time-picker/time-picker.styles.js +13 -13
- package/dist/components/layout/animate/animate.d.ts +8 -0
- package/dist/components/layout/animate/animate.js +20 -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.d.ts +6 -6
- package/dist/features/scheduler/calendar/calendar.js +10 -10
- package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
- package/dist/features/scheduler/scheduler/scheduler.d.ts +6 -6
- package/dist/features/scheduler/scheduler/scheduler.js +13 -13
- package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +10 -8
- package/dist/features/scheduler/scheduler-event/scheduler-event.js +7 -7
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +8 -8
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +5 -5
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
- package/dist/features/scheduler/shared/scheduler-event-popover.js +2 -2
- package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
- package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +2 -2
- package/dist/features/scheduler/shared/scheduler-hour-grid.js +3 -3
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
- package/dist/features/scheduler/shared/scheduler-month-view.d.ts +3 -3
- package/dist/features/scheduler/shared/scheduler-month-view.js +2 -2
- 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/table.types.d.ts +7 -3
- package/dist/features/table/table-action-bar/table-action-bar.js +3 -3
- 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-managed/table-managed.js +2 -2
- package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
- package/dist/i18n/en.d.ts +3 -0
- package/dist/i18n/en.js +3 -0
- package/dist/i18n/fr.js +3 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +5 -2
- package/dist/jsx.d.ts +19 -6
- package/dist/mixins/button.mixin.d.ts +11 -9
- package/dist/mixins/button.mixin.js +23 -5
- package/dist/mixins/card-link.mixin.d.ts +3 -2
- package/dist/mixins/card-link.mixin.js +12 -5
- package/dist/mixins/check.mixin.d.ts +1 -1
- package/dist/mixins/disabled.mixin.d.ts +3 -3
- package/dist/mixins/disabled.mixin.js +10 -5
- package/dist/mixins/editable.mixin.d.ts +1 -1
- package/dist/mixins/field-appearance.mixin.d.ts +19 -0
- package/dist/mixins/{field-variant.mixin.js → field-appearance.mixin.js} +11 -11
- 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/ssr/animate-ssr.css +26 -72
- package/dist/ssr/links-ssr.css +35 -0
- package/dist/ssr/overlay-ssr.css +0 -41
- package/dist/ssr/rich-text.css +38 -0
- package/dist/ssr/sidebar-ssr.css +0 -38
- package/dist/ssr/toolbar-ssr.css +73 -39
- package/dist/types/variant.type.d.ts +26 -10
- package/dist/utils/navigation.utils.d.ts +14 -0
- package/dist/utils/navigation.utils.js +33 -0
- package/dist/utils/new-tab-anchor.controller.d.ts +44 -0
- package/dist/utils/new-tab-anchor.controller.js +102 -0
- package/dist/utils/rich-text.utils.d.ts +33 -0
- package/dist/utils/rich-text.utils.js +140 -49
- package/dist/utils/severity-icon.utils.d.ts +1 -1
- package/dist/utils/severity-icon.utils.js +1 -1
- package/dist/utils/theme-generator.utils.d.ts +26 -3
- package/dist/utils/theme-generator.utils.js +68 -21
- package/package.json +13 -2
- 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-3LMI7KUA.js +0 -48
- package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
- package/dist/cdn/components/chunks/chunk-ATH2OAMU.js +0 -1
- package/dist/cdn/components/chunks/chunk-BKHD4S57.js +0 -1
- 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-T7WABJEJ.js +0 -1
- package/dist/cdn/components/chunks/chunk-XSMCT4DF.js +0 -1
- package/dist/cdn/components/chunks/chunk-Z6PJYSC3.js +0 -622
- package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
- package/dist/mixins/field-variant.mixin.d.ts +0 -22
|
@@ -11,7 +11,7 @@ import { ReadonlyMixin, } from "../../../mixins/readonly.mixin.js";
|
|
|
11
11
|
import { ValidatorsMixin, } from "../../../mixins/validators.mixin.js";
|
|
12
12
|
import { FormMixin } from "../../../mixins/form.mixin.js";
|
|
13
13
|
import { FormLabelMixin, } from "../../../mixins/form-label.mixin.js";
|
|
14
|
-
import {
|
|
14
|
+
import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
|
|
15
15
|
import { AnchorPositionMixin, } from "../../../mixins/anchor-position.mixin.js";
|
|
16
16
|
import { LocalizableMixin, } from "../../../mixins/localizable.mixin.js";
|
|
17
17
|
import { ChangeEvent } from "../../../events/change.event.js";
|
|
@@ -34,7 +34,7 @@ export const EunomiaTimePickerTagName = "eun-time-picker";
|
|
|
34
34
|
* @internal
|
|
35
35
|
*/
|
|
36
36
|
const Base = DisabledMixin(ValidatorsMixin(LitElement));
|
|
37
|
-
const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(
|
|
37
|
+
const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(FormMixin(Base))))));
|
|
38
38
|
/**
|
|
39
39
|
* A time field entered across segmented numeric hour and minute inputs,
|
|
40
40
|
* plus an AM/PM toggle segment at a 12-hour format, with a trailing clock
|
|
@@ -53,7 +53,7 @@ const EunomiaTimePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldVar
|
|
|
53
53
|
* each hour, minute, and period column is its own spin button, grouped
|
|
54
54
|
* under a labeled group.
|
|
55
55
|
*
|
|
56
|
-
* @prop {'outline' | '
|
|
56
|
+
* @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
|
|
57
57
|
* @prop {Date | null} value - The picked instant
|
|
58
58
|
* @prop {Date | null} defaultValue - The default value applied when the field connects, and restored on form reset
|
|
59
59
|
* @prop {string} [timezone] - The time zone the hour and minute are displayed and edited in. Defaults to the runtime's own
|
|
@@ -21,7 +21,7 @@ const timePicker = css `
|
|
|
21
21
|
width: 100%;
|
|
22
22
|
color: var(--_textColor);
|
|
23
23
|
background-color: var(--_background);
|
|
24
|
-
border: var(--eun-
|
|
24
|
+
border: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
|
|
25
25
|
border-radius: var(--_borderRadius);
|
|
26
26
|
padding: var(--eun-space-xs, 4px) var(--eun-space-xs, 4px)
|
|
27
27
|
var(--eun-space-xs, 4px) var(--eun-space-s, 8px);
|
|
@@ -55,22 +55,22 @@ const timePicker = css `
|
|
|
55
55
|
:host([aria-invalid="true"]) #field-wrapper:focus-within {
|
|
56
56
|
outline-color: var(--_errorColor);
|
|
57
57
|
}
|
|
58
|
-
:host([
|
|
58
|
+
:host([appearance="flat"]) {
|
|
59
59
|
--_background: var(--field-background, var(--eun-content-hover, #edeff0));
|
|
60
60
|
}
|
|
61
|
-
:host([
|
|
61
|
+
:host([appearance="flat"]) #field-wrapper {
|
|
62
62
|
border-color: transparent;
|
|
63
63
|
}
|
|
64
|
-
:host([
|
|
65
|
-
box-shadow: inset 0 0 0 var(--eun-
|
|
64
|
+
:host([appearance="flat"][aria-invalid="true"]) #field-wrapper {
|
|
65
|
+
box-shadow: inset 0 0 0 var(--eun-border-width-m, 1.5px) var(--_errorColor);
|
|
66
66
|
}
|
|
67
|
-
:host([
|
|
67
|
+
:host([appearance="underline"]) #field-wrapper {
|
|
68
68
|
border: none;
|
|
69
69
|
outline: none;
|
|
70
|
-
border-bottom: var(--eun-
|
|
70
|
+
border-bottom: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
|
|
71
71
|
border-radius: 0;
|
|
72
72
|
}
|
|
73
|
-
:host([
|
|
73
|
+
:host([appearance="underline"]) #field-wrapper:focus-within {
|
|
74
74
|
outline: none;
|
|
75
75
|
}
|
|
76
76
|
.segment-group {
|
|
@@ -114,7 +114,7 @@ const timePicker = css `
|
|
|
114
114
|
justify-content: center;
|
|
115
115
|
margin-inline-start: auto;
|
|
116
116
|
border: none;
|
|
117
|
-
border-radius: var(--eun-
|
|
117
|
+
border-radius: var(--eun-border-radius-s, 5px);
|
|
118
118
|
background: none;
|
|
119
119
|
padding: var(--eun-space-xxs, 1.6px);
|
|
120
120
|
color: var(--_iconColor);
|
|
@@ -144,14 +144,14 @@ const timePicker = css `
|
|
|
144
144
|
#timezone-label {
|
|
145
145
|
margin-block-start: var(--eun-space-xxs, 1.6px);
|
|
146
146
|
color: var(--_hintColor);
|
|
147
|
-
font-size: var(--eun-
|
|
147
|
+
font-size: var(--eun-font-size-xs, 12px);
|
|
148
148
|
}
|
|
149
149
|
#clock-popover {
|
|
150
150
|
position: fixed;
|
|
151
151
|
top: var(--_anchorTop, 0);
|
|
152
152
|
left: var(--_anchorLeft, 0);
|
|
153
153
|
margin: 0;
|
|
154
|
-
border: var(--eun-
|
|
154
|
+
border: var(--eun-border-width-s, 1px) solid
|
|
155
155
|
var(--_borderColor, var(--eun-color-grey-300, #dee0e7));
|
|
156
156
|
border-radius: var(--_borderRadius);
|
|
157
157
|
background: var(
|
|
@@ -180,8 +180,8 @@ const timePicker = css `
|
|
|
180
180
|
#modal-time-heading {
|
|
181
181
|
padding: var(--eun-space-m, 16px) var(--eun-space-m, 16px) 0;
|
|
182
182
|
color: var(--_textColor);
|
|
183
|
-
font-size: var(--eun-
|
|
184
|
-
font-weight: var(--eun-
|
|
183
|
+
font-size: var(--eun-font-size-l, 20px);
|
|
184
|
+
font-weight: var(--eun-font-weight-l, 700);
|
|
185
185
|
}
|
|
186
186
|
#modal-time {
|
|
187
187
|
--modal-padding: 0;
|
|
@@ -129,6 +129,14 @@ export declare class EunomiaAnimate extends LitElement {
|
|
|
129
129
|
* @private
|
|
130
130
|
*/
|
|
131
131
|
private teardownObserver;
|
|
132
|
+
/**
|
|
133
|
+
* Forwards `duration`/`delay` to the host's transition through a
|
|
134
|
+
* shadow-internal `<style>`, only when they differ from the stylesheet's
|
|
135
|
+
* own defaults : an inline style on the host would be a hydration
|
|
136
|
+
* mismatch for an SSR framework, since the server never renders it.
|
|
137
|
+
* @private
|
|
138
|
+
*/
|
|
139
|
+
private renderTiming;
|
|
132
140
|
render(): TemplateResult;
|
|
133
141
|
}
|
|
134
142
|
declare global {
|
|
@@ -5,7 +5,7 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
5
5
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
6
|
};
|
|
7
7
|
import { customElement, property } from "lit/decorators.js";
|
|
8
|
-
import { html, LitElement } from "lit";
|
|
8
|
+
import { html, LitElement, nothing } from "lit";
|
|
9
9
|
import { animateStyles } from "./animate.styles.js";
|
|
10
10
|
/**
|
|
11
11
|
* Tag name of the animate component.
|
|
@@ -105,12 +105,6 @@ let EunomiaAnimate = class EunomiaAnimate extends LitElement {
|
|
|
105
105
|
}
|
|
106
106
|
updated(changed) {
|
|
107
107
|
super.updated(changed);
|
|
108
|
-
if (changed.has("duration")) {
|
|
109
|
-
this.style.setProperty("--_duration", `${this.duration}ms`);
|
|
110
|
-
}
|
|
111
|
-
if (changed.has("delay")) {
|
|
112
|
-
this.style.setProperty("--_delay", `${this.delay}ms`);
|
|
113
|
-
}
|
|
114
108
|
if (this.isConnected &&
|
|
115
109
|
(changed.has("animation") ||
|
|
116
110
|
changed.has("tabletAnimation") ||
|
|
@@ -155,8 +149,26 @@ let EunomiaAnimate = class EunomiaAnimate extends LitElement {
|
|
|
155
149
|
this.observer?.disconnect();
|
|
156
150
|
this.observer = undefined;
|
|
157
151
|
}
|
|
152
|
+
/**
|
|
153
|
+
* Forwards `duration`/`delay` to the host's transition through a
|
|
154
|
+
* shadow-internal `<style>`, only when they differ from the stylesheet's
|
|
155
|
+
* own defaults : an inline style on the host would be a hydration
|
|
156
|
+
* mismatch for an SSR framework, since the server never renders it.
|
|
157
|
+
* @private
|
|
158
|
+
*/
|
|
159
|
+
renderTiming() {
|
|
160
|
+
const rules = [
|
|
161
|
+
this.duration !== 600 ? `--_duration: ${Number(this.duration)}ms;` : "",
|
|
162
|
+
this.delay !== 0 ? `--_delay: ${Number(this.delay)}ms;` : "",
|
|
163
|
+
].join("");
|
|
164
|
+
return rules
|
|
165
|
+
? html `<style>
|
|
166
|
+
:host { ${rules} }
|
|
167
|
+
</style>`
|
|
168
|
+
: nothing;
|
|
169
|
+
}
|
|
158
170
|
render() {
|
|
159
|
-
return html
|
|
171
|
+
return html `${this.renderTiming()}<slot></slot>`;
|
|
160
172
|
}
|
|
161
173
|
};
|
|
162
174
|
/**
|
|
@@ -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);
|