@eunomia/elements 1.0.0-beta.9 → 1.0.0
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 +28 -6
- package/dist/angular/forms.d.ts +80 -0
- package/dist/angular/forms.js +267 -0
- package/dist/cdn/components/chunks/chunk-2XPIGFBD.js +1 -0
- package/dist/cdn/components/chunks/chunk-5IUNSTM3.js +1 -0
- package/dist/cdn/components/chunks/chunk-7HXPLZ7C.js +1 -0
- package/dist/cdn/components/chunks/{chunk-J3SZBXM6.js → chunk-A2NO4RSF.js} +7 -7
- package/dist/cdn/components/chunks/{chunk-Q34EQ5HZ.js → chunk-A623JJXJ.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-Y3HOIL64.js → chunk-AW7PU43S.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-FF3I7C3C.js → chunk-DWTNRFWW.js} +1 -3
- package/dist/cdn/components/chunks/chunk-FPNWPMHA.js +1 -0
- package/dist/cdn/components/chunks/chunk-GMWUHGNI.js +319 -0
- package/dist/cdn/components/chunks/{chunk-FQUWHNQT.js → chunk-GXOEPXDW.js} +1 -1
- package/dist/cdn/components/chunks/chunk-HXESKTK2.js +1 -0
- package/dist/cdn/components/chunks/chunk-JDUWKPHW.js +46 -0
- package/dist/cdn/components/chunks/{chunk-D3JJBHXN.js → chunk-JLKCBPD2.js} +2 -2
- package/dist/cdn/components/chunks/chunk-M6ZJHL4Q.js +1 -0
- package/dist/cdn/components/chunks/{chunk-TN3HGHQO.js → chunk-MDSUMP3O.js} +4 -4
- package/dist/cdn/components/chunks/chunk-MSQWOKBB.js +1 -0
- package/dist/cdn/components/chunks/{chunk-3UUZM7X2.js → chunk-NPXRQHUN.js} +3 -3
- package/dist/cdn/components/chunks/chunk-OB7DEGNX.js +1 -0
- package/dist/cdn/components/chunks/{chunk-JANNHW4Q.js → chunk-PADHCLBG.js} +4 -4
- package/dist/cdn/components/chunks/chunk-QMXE3KLT.js +1 -0
- package/dist/cdn/components/chunks/chunk-QNWKRPOW.js +1 -0
- package/dist/cdn/components/chunks/{chunk-KQUUMZ7U.js → chunk-RZF7QQDX.js} +7 -7
- package/dist/cdn/components/chunks/chunk-SCAP7J35.js +1 -0
- package/dist/cdn/components/chunks/chunk-TISMX7UL.js +1 -0
- package/dist/cdn/components/chunks/chunk-TWLI2ZOT.js +1 -0
- package/dist/cdn/components/chunks/chunk-W4VCWRY7.js +210 -0
- package/dist/cdn/components/chunks/{chunk-SZZRMJ65.js → chunk-WEG3KO6T.js} +3 -3
- package/dist/cdn/components/chunks/chunk-WP6ZYBAC.js +1 -0
- package/dist/cdn/components/chunks/{chunk-HGX6GPHM.js → chunk-XCBQ4CKH.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-3UW2LJ7T.js → chunk-XZ3LFOQP.js} +2 -2
- package/dist/cdn/components/eun-alert.js +1 -1
- package/dist/cdn/components/eun-animate.js +92 -180
- package/dist/cdn/components/eun-breadcrumb.js +4 -4
- package/dist/cdn/components/eun-button.js +1 -1
- package/dist/cdn/components/eun-calendar.js +188 -115
- package/dist/cdn/components/eun-card.js +1 -1
- 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 +2 -2
- package/dist/cdn/components/eun-checkbox.js +1 -1
- package/dist/cdn/components/eun-chip.js +11 -15
- package/dist/cdn/components/eun-collapse.js +21 -10
- package/dist/cdn/components/eun-color-picker.js +32 -32
- package/dist/cdn/components/eun-counter.js +8 -8
- package/dist/cdn/components/eun-date-picker.js +83 -79
- package/dist/cdn/components/eun-description-list.js +1 -1
- package/dist/cdn/components/eun-divider.js +9 -8
- package/dist/cdn/components/eun-drawer.js +8 -6
- package/dist/cdn/components/eun-dropdown-button.js +1 -1
- package/dist/cdn/components/eun-dropdown-item.js +4 -4
- package/dist/cdn/components/eun-fab.js +1 -1
- package/dist/cdn/components/eun-image-card.js +2 -2
- package/dist/cdn/components/eun-image-carousel.js +55 -29
- package/dist/cdn/components/eun-infinite-list.js +2 -2
- package/dist/cdn/components/eun-input-file.js +3 -3
- package/dist/cdn/components/eun-input-phone.js +6 -6
- package/dist/cdn/components/eun-input.js +1 -1
- package/dist/cdn/components/eun-label.js +1 -1
- package/dist/cdn/components/eun-link.js +18 -329
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +9 -7
- package/dist/cdn/components/eun-nav-menu.js +363 -0
- package/dist/cdn/components/eun-pagination.js +4 -4
- package/dist/cdn/components/eun-password-strength.js +2 -2
- package/dist/cdn/components/eun-progress-bar.js +1 -1
- package/dist/cdn/components/eun-radio-card.js +4 -4
- package/dist/cdn/components/eun-radio-list.js +1 -1
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-rating.js +9 -9
- package/dist/cdn/components/eun-scheduler-event-editor.js +113 -77
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +137 -79
- package/dist/cdn/components/eun-search.js +6 -6
- package/dist/cdn/components/eun-select.js +1 -1
- package/dist/cdn/components/eun-sidebar.js +23 -14
- package/dist/cdn/components/eun-slider.js +2 -2
- package/dist/cdn/components/eun-sliding-card.js +1 -1
- package/dist/cdn/components/eun-step.js +2 -2
- package/dist/cdn/components/eun-stepper.js +11 -12
- package/dist/cdn/components/eun-switch.js +2 -2
- package/dist/cdn/components/eun-tab-group.js +1 -1
- package/dist/cdn/components/eun-tab-panel.js +1 -1
- package/dist/cdn/components/eun-table-action-bar.js +1 -1
- package/dist/cdn/components/eun-table.js +13 -10
- package/dist/cdn/components/eun-tag.js +1 -1
- package/dist/cdn/components/eun-textarea.js +4 -4
- package/dist/cdn/components/eun-time-picker.js +28 -25
- package/dist/cdn/components/eun-toast.js +8 -8
- package/dist/cdn/components/eun-toggle-group.js +8 -2
- package/dist/cdn/components/eun-toggle-item.js +8 -2
- package/dist/cdn/components/eun-toggle.js +4 -1
- package/dist/cdn/components/eun-toolbar.js +114 -36
- package/dist/cdn/components/eun-tooltip.js +1 -1
- package/dist/cdn/styles/eunomia-themes.css +1 -1
- package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
- package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
- package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
- package/dist/components/action/button/button.styles.js +2 -2
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -0
- package/dist/components/action/dropdown-button/dropdown-button.js +1 -0
- package/dist/components/action/dropdown-button/dropdown-button.styles.js +5 -4
- package/dist/components/action/dropdown-button/dropdown-item.d.ts +1 -0
- package/dist/components/action/dropdown-button/dropdown-item.js +1 -0
- package/dist/components/action/dropdown-button/dropdown-item.styles.js +4 -4
- package/dist/components/action/link/link.d.ts +2 -1
- package/dist/components/action/link/link.js +2 -1
- package/dist/components/action/link/link.styles.d.ts +40 -1
- package/dist/components/action/link/link.styles.js +83 -60
- package/dist/components/action/shared-styles/button-palette.styles.js +1 -1
- package/dist/components/action/toggle/toggle-group.d.ts +1 -0
- package/dist/components/action/toggle/toggle-group.js +1 -0
- package/dist/components/action/toggle/toggle-group.styles.d.ts +1 -0
- package/dist/components/action/toggle/toggle-group.styles.js +9 -2
- package/dist/components/action/toggle/toggle-item.styles.js +8 -2
- package/dist/components/action/toggle/toggle.d.ts +1 -0
- package/dist/components/action/toggle/toggle.js +1 -0
- package/dist/components/action/toggle/toggle.styles.d.ts +1 -0
- package/dist/components/action/toggle/toggle.styles.js +5 -1
- package/dist/components/alert/drawer/drawer.d.ts +14 -13
- package/dist/components/alert/drawer/drawer.js +20 -28
- package/dist/components/alert/modal/modal.d.ts +14 -13
- package/dist/components/alert/modal/modal.js +20 -28
- package/dist/components/alert/modal/modal.styles.js +1 -1
- package/dist/components/alert/toast/toast.d.ts +5 -5
- package/dist/components/alert/toast/toast.js +9 -10
- package/dist/components/alert/toast/toast.styles.js +3 -3
- package/dist/components/content/card/image-card.styles.js +1 -1
- package/dist/components/content/chip/chip.d.ts +7 -9
- package/dist/components/content/chip/chip.js +11 -14
- package/dist/components/content/chip/chip.styles.js +1 -5
- package/dist/components/content/collapse/collapse.d.ts +5 -0
- package/dist/components/content/collapse/collapse.js +7 -0
- package/dist/components/content/collapse/collapse.styles.d.ts +3 -0
- package/dist/components/content/collapse/collapse.styles.js +13 -1
- package/dist/components/content/description-list/description-list.styles.js +1 -1
- package/dist/components/content/image-carousel/image-carousel.d.ts +60 -13
- package/dist/components/content/image-carousel/image-carousel.js +100 -22
- package/dist/components/content/image-carousel/image-carousel.styles.js +32 -6
- package/dist/components/content/password-strength/password-strength.styles.js +1 -1
- package/dist/components/content/progress-bar/progress-bar.styles.js +1 -1
- package/dist/components/content/shared-styles/card-link.styles.js +1 -1
- package/dist/components/content/shared-styles/tone-surface.styles.js +1 -3
- package/dist/components/form/checkbox/check-card.styles.js +2 -2
- package/dist/components/form/checkbox/checkbox-list.d.ts +3 -1
- package/dist/components/form/checkbox/checkbox-list.js +3 -1
- package/dist/components/form/checkbox/checkbox.styles.js +1 -1
- package/dist/components/form/color-picker/color-picker.d.ts +28 -3
- package/dist/components/form/color-picker/color-picker.js +53 -7
- package/dist/components/form/counter/counter.js +1 -1
- package/dist/components/form/counter/counter.styles.js +2 -2
- package/dist/components/form/date-picker/date-picker-day-grid.styles.js +1 -1
- package/dist/components/form/date-picker/date-picker-month-grid.js +1 -1
- package/dist/components/form/date-picker/date-picker.d.ts +50 -13
- package/dist/components/form/date-picker/date-picker.js +178 -43
- package/dist/components/form/input/input.js +1 -4
- package/dist/components/form/input-file/input-file.styles.js +2 -2
- package/dist/components/form/input-phone/input-phone.js +4 -3
- package/dist/components/form/label/label.styles.js +1 -1
- package/dist/components/form/radio/radio-card.styles.js +2 -2
- package/dist/components/form/radio/radio.styles.js +1 -1
- package/dist/components/form/rating/rating.js +3 -5
- package/dist/components/form/rating/rating.styles.js +2 -2
- package/dist/components/form/search/search.d.ts +1 -7
- package/dist/components/form/search/search.js +2 -12
- package/dist/components/form/shared-styles/field.styles.js +2 -2
- package/dist/components/form/slider/slider.styles.js +1 -1
- package/dist/components/form/switch/switch.styles.js +1 -1
- package/dist/components/form/textarea/textarea.js +1 -5
- package/dist/components/form/textarea/textarea.styles.js +2 -2
- package/dist/components/form/time-picker/time-picker-columns.d.ts +4 -1
- package/dist/components/form/time-picker/time-picker-columns.js +64 -15
- package/dist/components/form/time-picker/time-picker-columns.styles.js +5 -1
- package/dist/components/form/time-picker/time-picker-list.d.ts +4 -1
- package/dist/components/form/time-picker/time-picker-list.js +15 -8
- package/dist/components/form/time-picker/time-picker.d.ts +11 -2
- package/dist/components/form/time-picker/time-picker.js +22 -8
- package/dist/components/layout/animate/animate.d.ts +35 -17
- package/dist/components/layout/animate/animate.js +27 -14
- package/dist/components/layout/animate/animate.styles.d.ts +2 -1
- package/dist/components/layout/animate/animate.styles.js +107 -179
- package/dist/components/layout/divider/divider.d.ts +1 -0
- package/dist/components/layout/divider/divider.js +2 -1
- package/dist/components/layout/divider/divider.styles.js +7 -6
- package/dist/components/layout/infinite-list/infinite-list.styles.js +1 -1
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
- package/dist/components/navigation/carousel/carousel.d.ts +23 -14
- package/dist/components/navigation/carousel/carousel.js +39 -27
- package/dist/components/navigation/carousel/carousel.styles.js +16 -8
- package/dist/components/navigation/nav-menu/nav-menu.d.ts +201 -0
- package/dist/components/navigation/nav-menu/nav-menu.js +673 -0
- package/dist/components/navigation/nav-menu/nav-menu.styles.d.ts +1 -0
- package/dist/components/navigation/nav-menu/nav-menu.styles.js +352 -0
- package/dist/components/navigation/pagination/pagination.d.ts +3 -0
- package/dist/components/navigation/pagination/pagination.styles.js +2 -2
- package/dist/components/navigation/sidebar/sidebar.d.ts +8 -10
- package/dist/components/navigation/sidebar/sidebar.js +12 -15
- package/dist/components/navigation/sidebar/sidebar.styles.js +13 -4
- package/dist/components/navigation/stepper/step.styles.js +2 -2
- package/dist/components/navigation/stepper/stepper.d.ts +24 -13
- package/dist/components/navigation/stepper/stepper.js +36 -23
- package/dist/components/navigation/stepper/stepper.styles.js +2 -2
- package/dist/components/navigation/tabs/tab-group/tab-group.js +1 -1
- package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
- package/dist/components/navigation/toolbar/toolbar.d.ts +121 -20
- package/dist/components/navigation/toolbar/toolbar.js +176 -45
- package/dist/components/navigation/toolbar/toolbar.styles.js +113 -28
- package/dist/events/editor-state-change.event.d.ts +28 -0
- package/dist/events/editor-state-change.event.js +22 -0
- package/dist/events/event-cancel.event.d.ts +20 -0
- package/dist/events/event-cancel.event.js +17 -0
- package/dist/events/period-change.event.d.ts +14 -6
- package/dist/events/period-change.event.js +9 -6
- package/dist/features/scheduler/calendar/calendar.d.ts +52 -20
- package/dist/features/scheduler/calendar/calendar.js +84 -36
- package/dist/features/scheduler/calendar/calendar.styles.js +5 -2
- package/dist/features/scheduler/scheduler/scheduler.d.ts +69 -4
- package/dist/features/scheduler/scheduler/scheduler.js +172 -47
- package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -0
- package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +18 -20
- package/dist/features/scheduler/scheduler-event/scheduler-event.js +29 -38
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +102 -18
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +249 -112
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +11 -1
- package/dist/features/scheduler/shared/scheduler-event-popover.d.ts +9 -1
- package/dist/features/scheduler/shared/scheduler-event-popover.js +77 -42
- package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +14 -3
- package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +3 -2
- package/dist/features/scheduler/shared/scheduler-hour-grid.js +53 -46
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +13 -7
- package/dist/features/scheduler/shared/scheduler-month-view.js +1 -1
- package/dist/features/scheduler/shared/scheduler-month-view.styles.js +13 -7
- package/dist/features/scheduler/shared/scheduler-year-view.d.ts +6 -5
- package/dist/features/scheduler/shared/scheduler-year-view.js +11 -7
- package/dist/features/scheduler/shared/scheduler-year-view.styles.js +57 -3
- package/dist/features/scheduler/shared/scheduler.types.d.ts +5 -9
- package/dist/features/scheduler/shared/scheduler.utils.d.ts +61 -0
- package/dist/features/scheduler/shared/scheduler.utils.js +78 -4
- package/dist/features/table/table/table-native.styles.js +8 -4
- package/dist/features/table/table/table.d.ts +2 -1
- package/dist/features/table/table/table.js +2 -1
- package/dist/features/table/table/table.styles.js +6 -4
- package/dist/i18n/en.d.ts +17 -0
- package/dist/i18n/en.js +17 -0
- package/dist/i18n/fr.js +17 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +4 -0
- package/dist/jsx.d.ts +48 -6
- package/dist/mixins/anchor-position.mixin.d.ts +17 -0
- package/dist/mixins/anchor-position.mixin.js +45 -7
- package/dist/mixins/button.mixin.js +2 -1
- package/dist/mixins/check.mixin.js +14 -5
- package/dist/mixins/dialog-surface.mixin.d.ts +1 -1
- package/dist/mixins/dialog-surface.mixin.js +5 -5
- package/dist/mixins/form.mixin.js +33 -13
- package/dist/mixins/localizable.mixin.d.ts +1 -0
- package/dist/mixins/localizable.mixin.js +9 -2
- package/dist/mixins/radio.mixin.js +14 -5
- package/dist/mixins/validators.mixin.js +4 -3
- package/dist/react.d.ts +59 -0
- package/dist/react.js +42 -0
- package/dist/ssr/animate-ssr.css +35 -0
- package/dist/ssr/breadcrumb-ssr.css +3 -3
- package/dist/ssr/button-ssr.css +8 -2
- package/dist/ssr/card-ssr.css +1 -1
- package/dist/ssr/carousel-ssr.css +15 -4
- package/dist/ssr/chip-ssr.css +3 -3
- package/dist/ssr/collapse-ssr.css +2 -2
- package/dist/ssr/description-list-ssr.css +1 -1
- package/dist/ssr/divider-ssr.css +23 -0
- package/dist/ssr/field-ssr.css +245 -42
- package/dist/ssr/image-carousel-ssr.css +2 -4
- package/dist/ssr/links-ssr.css +17 -3
- package/dist/ssr/nav-menu-ssr.css +82 -0
- package/dist/ssr/overlay-ssr.css +4 -0
- package/dist/ssr/scheduler-ssr.css +182 -0
- package/dist/ssr/stepper-ssr.css +136 -0
- package/dist/ssr/table-ssr.css +7 -4
- package/dist/ssr/tag-ssr.css +1 -1
- package/dist/ssr/toolbar-ssr.css +7 -5
- package/dist/utils/css-length.utils.d.ts +14 -0
- package/dist/utils/css-length.utils.js +32 -0
- package/dist/utils/form-validation.utils.d.ts +36 -0
- package/dist/utils/form-validation.utils.js +113 -0
- package/dist/utils/implicit-submission.utils.js +2 -14
- package/dist/utils/interactive-content.utils.d.ts +10 -0
- package/dist/utils/interactive-content.utils.js +43 -0
- package/dist/utils/popover.utils.js +3 -2
- package/dist/utils/scroll-lock.utils.d.ts +9 -1
- package/dist/utils/scroll-lock.utils.js +21 -2
- package/dist/utils/theme-generator.utils.d.ts +1 -0
- package/dist/utils/theme-generator.utils.js +23 -10
- package/dist/utils/validity.utils.d.ts +18 -4
- package/dist/utils/validity.utils.js +74 -4
- package/package.json +34 -3
- package/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
- package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
- package/dist/cdn/components/chunks/chunk-4DRU3IYJ.js +0 -1
- package/dist/cdn/components/chunks/chunk-647ISUF4.js +0 -1
- package/dist/cdn/components/chunks/chunk-6TIEBY34.js +0 -1
- package/dist/cdn/components/chunks/chunk-E6UOI36Q.js +0 -1
- package/dist/cdn/components/chunks/chunk-GNAUNTS5.js +0 -1
- package/dist/cdn/components/chunks/chunk-IJJ67C66.js +0 -1
- package/dist/cdn/components/chunks/chunk-J7ETIRSK.js +0 -1
- package/dist/cdn/components/chunks/chunk-JGV7LHEI.js +0 -1
- package/dist/cdn/components/chunks/chunk-L74LXUGL.js +0 -1
- package/dist/cdn/components/chunks/chunk-MY6ORZJR.js +0 -46
- package/dist/cdn/components/chunks/chunk-QWTFP56P.js +0 -1
- package/dist/cdn/components/chunks/chunk-SFX2LQ4K.js +0 -205
- package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +0 -1
- package/dist/utils/boolean.utils.d.ts +0 -14
- package/dist/utils/boolean.utils.js +0 -20
|
@@ -54,15 +54,15 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
|
|
|
54
54
|
* @prop {EunomiaCarouselNavPlacement} [navPlacement='end'] - Where the previous and next buttons sit within the header row. Has no effect while they're overlaid on the viewport instead
|
|
55
55
|
* @attr {EunomiaCarouselNavPlacement} [nav-placement='end'] - Where the previous and next buttons sit within the header row. Has no effect while they're overlaid on the viewport instead
|
|
56
56
|
* @prop {number} [visibleSlides=1] - How many slides are shown at once
|
|
57
|
-
* @prop {boolean} [fullSlides=
|
|
57
|
+
* @prop {boolean} [fullSlides=false] - Whether the visible slides fill the viewport exactly, or leave part of the next one peeking at the edge
|
|
58
58
|
* @prop {number} [scrollStep=1] - How many slides a previous, next, or dot click advances by, independently of visibleSlides
|
|
59
59
|
* @prop {boolean} [centerSnap=false] - Free continuous scrolling that snaps to whichever slide ends up nearest the center, instead of discrete paging
|
|
60
|
-
* @prop {boolean} [edgeFade=
|
|
60
|
+
* @prop {boolean} [edgeFade=false] - Fades the viewport's edges to hint there's more to scroll, hidden automatically on whichever side is already at its bound
|
|
61
61
|
* @prop {boolean} [loop=false] - Wraps the previous, next, and autoplay controls around at the bounds instead of stopping there, and keeps the previous and next buttons enabled at the bounds instead of disabling them
|
|
62
62
|
* @prop {boolean} [autoplay=false] - Automatically advances by scrollStep on a set interval. Pauses on hover or focus, but renders no pause or play control of its own, so pair this with a visible control of your own calling the public pause and resume methods, since a moving carousel nobody can stop fails accessibility guidelines
|
|
63
63
|
* @prop {number} [autoplayInterval=4000] - Milliseconds between each autoplay advance
|
|
64
|
-
* @prop {boolean} [showArrows=
|
|
65
|
-
* @prop {boolean} [showDots=
|
|
64
|
+
* @prop {boolean} [showArrows=false] - Shows the previous and next buttons
|
|
65
|
+
* @prop {boolean} [showDots=false] - Shows the pagination dots
|
|
66
66
|
* @attr {string} aria-label - The accessible name for the carousel region. Recommended whenever a page has more than one carousel, or its purpose isn't already clear from a preceding heading. Defaults to the localized string for the current locale (English: "Carousel")
|
|
67
67
|
* @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
|
|
68
68
|
* @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
|
|
@@ -107,6 +107,7 @@ declare const EunomiaCarousel_base: import("../../../utils/constructor.type.js")
|
|
|
107
107
|
* @cssprop [--carousel-dot-border-radius] - Sets the corner radius of the pagination dots
|
|
108
108
|
* @cssprop [--carousel-dot-color] - Sets the color of the pagination dots
|
|
109
109
|
* @cssprop [--carousel-dot-active-color] - Sets the color of the active pagination dot
|
|
110
|
+
* @cssprop [--carousel-focus-outline-color] - Sets the keyboard focus outline color of the track, the previous and next controls and the dots
|
|
110
111
|
* @element eun-carousel
|
|
111
112
|
*/
|
|
112
113
|
export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
@@ -151,7 +152,7 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
151
152
|
/**
|
|
152
153
|
* Whether the visible slides fill the viewport exactly, or leave
|
|
153
154
|
* `--carousel-peek-size` of the next one peeking at the edge.
|
|
154
|
-
* @default
|
|
155
|
+
* @default false
|
|
155
156
|
*/
|
|
156
157
|
fullSlides: boolean;
|
|
157
158
|
/**
|
|
@@ -170,8 +171,7 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
170
171
|
* Fades the viewport's edges to hint there's more to scroll — hidden
|
|
171
172
|
* automatically on whichever side is already at its scroll bound (never
|
|
172
173
|
* shown on the left at the very start, or the right at the very end).
|
|
173
|
-
*
|
|
174
|
-
* @default true
|
|
174
|
+
* @default false
|
|
175
175
|
*/
|
|
176
176
|
edgeFade: boolean;
|
|
177
177
|
/**
|
|
@@ -196,12 +196,12 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
196
196
|
autoplayInterval: number;
|
|
197
197
|
/**
|
|
198
198
|
* Shows the previous/next buttons.
|
|
199
|
-
* @default
|
|
199
|
+
* @default false
|
|
200
200
|
*/
|
|
201
201
|
showArrows: boolean;
|
|
202
202
|
/**
|
|
203
203
|
* Shows the pagination dots.
|
|
204
|
-
* @default
|
|
204
|
+
* @default false
|
|
205
205
|
*/
|
|
206
206
|
showDots: boolean;
|
|
207
207
|
/**
|
|
@@ -349,16 +349,25 @@ export declare class EunomiaCarousel extends EunomiaCarousel_base {
|
|
|
349
349
|
*/
|
|
350
350
|
goTo(index: number): void;
|
|
351
351
|
/**
|
|
352
|
-
* Reads a
|
|
353
|
-
* `--carousel-
|
|
354
|
-
*
|
|
355
|
-
*
|
|
352
|
+
* Reads a plain count custom property, such as
|
|
353
|
+
* `--carousel-visible-slides`, off the host as a number, falling back
|
|
354
|
+
* when unset or invalid.
|
|
355
|
+
*
|
|
356
|
+
* @param name the custom property's name.
|
|
357
|
+
* @param fallback the value to use when unset or invalid.
|
|
358
|
+
* @private
|
|
359
|
+
*/
|
|
360
|
+
private getCssNumber;
|
|
361
|
+
/**
|
|
362
|
+
* Reads a length custom property, such as `--carousel-nav-icon-size`,
|
|
363
|
+
* off the host in pixels, so tokens like `2rem` are converted rather
|
|
364
|
+
* than read as `2`. Falls back when unset or invalid.
|
|
356
365
|
*
|
|
357
366
|
* @param name the custom property's name.
|
|
358
367
|
* @param fallback the value to use when unset or invalid.
|
|
359
368
|
* @private
|
|
360
369
|
*/
|
|
361
|
-
private
|
|
370
|
+
private getCssLength;
|
|
362
371
|
/**
|
|
363
372
|
* The track's inline padding in pixels, set by
|
|
364
373
|
* `--carousel-track-padding-inline` to let the track bleed past the
|
|
@@ -7,11 +7,11 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
7
7
|
import { customElement, property, query, queryAssignedElements, state, } from "lit/decorators.js";
|
|
8
8
|
import { html, LitElement, nothing } from "lit";
|
|
9
9
|
import { classMap } from "lit/directives/class-map.js";
|
|
10
|
+
import { readCssLength } from "../../../utils/css-length.utils.js";
|
|
10
11
|
import { debounce } from "../../../utils/time.utils.js";
|
|
11
12
|
import { SlideChangeEvent } from "../../../events/slidechange.event.js";
|
|
12
13
|
import { carouselStyles } from "./carousel.styles.js";
|
|
13
14
|
import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
|
|
14
|
-
import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
|
|
15
15
|
/**
|
|
16
16
|
* Tag name of the carousel component.
|
|
17
17
|
*/
|
|
@@ -45,15 +45,15 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
|
|
|
45
45
|
* @prop {EunomiaCarouselNavPlacement} [navPlacement='end'] - Where the previous and next buttons sit within the header row. Has no effect while they're overlaid on the viewport instead
|
|
46
46
|
* @attr {EunomiaCarouselNavPlacement} [nav-placement='end'] - Where the previous and next buttons sit within the header row. Has no effect while they're overlaid on the viewport instead
|
|
47
47
|
* @prop {number} [visibleSlides=1] - How many slides are shown at once
|
|
48
|
-
* @prop {boolean} [fullSlides=
|
|
48
|
+
* @prop {boolean} [fullSlides=false] - Whether the visible slides fill the viewport exactly, or leave part of the next one peeking at the edge
|
|
49
49
|
* @prop {number} [scrollStep=1] - How many slides a previous, next, or dot click advances by, independently of visibleSlides
|
|
50
50
|
* @prop {boolean} [centerSnap=false] - Free continuous scrolling that snaps to whichever slide ends up nearest the center, instead of discrete paging
|
|
51
|
-
* @prop {boolean} [edgeFade=
|
|
51
|
+
* @prop {boolean} [edgeFade=false] - Fades the viewport's edges to hint there's more to scroll, hidden automatically on whichever side is already at its bound
|
|
52
52
|
* @prop {boolean} [loop=false] - Wraps the previous, next, and autoplay controls around at the bounds instead of stopping there, and keeps the previous and next buttons enabled at the bounds instead of disabling them
|
|
53
53
|
* @prop {boolean} [autoplay=false] - Automatically advances by scrollStep on a set interval. Pauses on hover or focus, but renders no pause or play control of its own, so pair this with a visible control of your own calling the public pause and resume methods, since a moving carousel nobody can stop fails accessibility guidelines
|
|
54
54
|
* @prop {number} [autoplayInterval=4000] - Milliseconds between each autoplay advance
|
|
55
|
-
* @prop {boolean} [showArrows=
|
|
56
|
-
* @prop {boolean} [showDots=
|
|
55
|
+
* @prop {boolean} [showArrows=false] - Shows the previous and next buttons
|
|
56
|
+
* @prop {boolean} [showDots=false] - Shows the pagination dots
|
|
57
57
|
* @attr {string} aria-label - The accessible name for the carousel region. Recommended whenever a page has more than one carousel, or its purpose isn't already clear from a preceding heading. Defaults to the localized string for the current locale (English: "Carousel")
|
|
58
58
|
* @prop {string} [previousLabel] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
|
|
59
59
|
* @attr {string} [previous-label] - The accessible label of the previous control. Defaults to the localized string for the current locale (English: "Previous slide")
|
|
@@ -98,6 +98,7 @@ const ACTIVE_SLIDE_CLASS = "eun-carousel-active-slide";
|
|
|
98
98
|
* @cssprop [--carousel-dot-border-radius] - Sets the corner radius of the pagination dots
|
|
99
99
|
* @cssprop [--carousel-dot-color] - Sets the color of the pagination dots
|
|
100
100
|
* @cssprop [--carousel-dot-active-color] - Sets the color of the active pagination dot
|
|
101
|
+
* @cssprop [--carousel-focus-outline-color] - Sets the keyboard focus outline color of the track, the previous and next controls and the dots
|
|
101
102
|
* @element eun-carousel
|
|
102
103
|
*/
|
|
103
104
|
let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement) {
|
|
@@ -136,9 +137,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
136
137
|
/**
|
|
137
138
|
* Whether the visible slides fill the viewport exactly, or leave
|
|
138
139
|
* `--carousel-peek-size` of the next one peeking at the edge.
|
|
139
|
-
* @default
|
|
140
|
+
* @default false
|
|
140
141
|
*/
|
|
141
|
-
this.fullSlides =
|
|
142
|
+
this.fullSlides = false;
|
|
142
143
|
/**
|
|
143
144
|
* How many slides a prev/next click or a dot jump advances by —
|
|
144
145
|
* independent from `visibleSlides`.
|
|
@@ -155,10 +156,9 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
155
156
|
* Fades the viewport's edges to hint there's more to scroll — hidden
|
|
156
157
|
* automatically on whichever side is already at its scroll bound (never
|
|
157
158
|
* shown on the left at the very start, or the right at the very end).
|
|
158
|
-
*
|
|
159
|
-
* @default true
|
|
159
|
+
* @default false
|
|
160
160
|
*/
|
|
161
|
-
this.edgeFade =
|
|
161
|
+
this.edgeFade = false;
|
|
162
162
|
/**
|
|
163
163
|
* Wraps prev/next/autoplay around at the bounds instead of stopping
|
|
164
164
|
* there ; also keeps the prev/next buttons enabled at the bounds
|
|
@@ -181,14 +181,14 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
181
181
|
this.autoplayInterval = 4000;
|
|
182
182
|
/**
|
|
183
183
|
* Shows the previous/next buttons.
|
|
184
|
-
* @default
|
|
184
|
+
* @default false
|
|
185
185
|
*/
|
|
186
|
-
this.showArrows =
|
|
186
|
+
this.showArrows = false;
|
|
187
187
|
/**
|
|
188
188
|
* Shows the pagination dots.
|
|
189
|
-
* @default
|
|
189
|
+
* @default false
|
|
190
190
|
*/
|
|
191
|
-
this.showDots =
|
|
191
|
+
this.showDots = false;
|
|
192
192
|
/**
|
|
193
193
|
* Index of the currently active slide (see {@link ACTIVE_SLIDE_CLASS}).
|
|
194
194
|
* @internal
|
|
@@ -401,19 +401,31 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
401
401
|
this.goToIndex(index);
|
|
402
402
|
}
|
|
403
403
|
/**
|
|
404
|
-
* Reads a
|
|
405
|
-
* `--carousel-
|
|
406
|
-
*
|
|
407
|
-
* for a length, falling back when unset or invalid.
|
|
404
|
+
* Reads a plain count custom property, such as
|
|
405
|
+
* `--carousel-visible-slides`, off the host as a number, falling back
|
|
406
|
+
* when unset or invalid.
|
|
408
407
|
*
|
|
409
408
|
* @param name the custom property's name.
|
|
410
409
|
* @param fallback the value to use when unset or invalid.
|
|
411
410
|
* @private
|
|
412
411
|
*/
|
|
413
|
-
|
|
412
|
+
getCssNumber(name, fallback) {
|
|
414
413
|
const parsed = Number.parseFloat(getComputedStyle(this).getPropertyValue(name));
|
|
415
414
|
return Number.isNaN(parsed) ? fallback : parsed;
|
|
416
415
|
}
|
|
416
|
+
/**
|
|
417
|
+
* Reads a length custom property, such as `--carousel-nav-icon-size`,
|
|
418
|
+
* off the host in pixels, so tokens like `2rem` are converted rather
|
|
419
|
+
* than read as `2`. Falls back when unset or invalid.
|
|
420
|
+
*
|
|
421
|
+
* @param name the custom property's name.
|
|
422
|
+
* @param fallback the value to use when unset or invalid.
|
|
423
|
+
* @private
|
|
424
|
+
*/
|
|
425
|
+
getCssLength(name, fallback) {
|
|
426
|
+
const px = readCssLength(this, name);
|
|
427
|
+
return Number.isNaN(px) ? fallback : px;
|
|
428
|
+
}
|
|
417
429
|
/**
|
|
418
430
|
* The track's inline padding in pixels, set by
|
|
419
431
|
* `--carousel-track-padding-inline` to let the track bleed past the
|
|
@@ -480,8 +492,8 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
480
492
|
* @private
|
|
481
493
|
*/
|
|
482
494
|
syncCssOverrides() {
|
|
483
|
-
this.effectiveVisibleSlides = Math.max(1, Math.round(this.
|
|
484
|
-
this.effectiveScrollStep = Math.max(1, Math.round(this.
|
|
495
|
+
this.effectiveVisibleSlides = Math.max(1, Math.round(this.getCssNumber("--carousel-visible-slides", this.visibleSlides)));
|
|
496
|
+
this.effectiveScrollStep = Math.max(1, Math.round(this.getCssNumber("--carousel-scroll-step", this.scrollStep)));
|
|
485
497
|
}
|
|
486
498
|
/**
|
|
487
499
|
* Measures, from actual rendered geometry, which slide index the track
|
|
@@ -574,7 +586,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
574
586
|
* @private
|
|
575
587
|
*/
|
|
576
588
|
updateNarrow() {
|
|
577
|
-
const breakpoint = this.
|
|
589
|
+
const breakpoint = this.getCssLength("--carousel-responsive-breakpoint", this.responsiveBreakpoint);
|
|
578
590
|
this.narrow =
|
|
579
591
|
breakpoint > 0 && this.getBoundingClientRect().width < breakpoint;
|
|
580
592
|
}
|
|
@@ -869,7 +881,7 @@ let EunomiaCarousel = class EunomiaCarousel extends LocalizableMixin(LitElement)
|
|
|
869
881
|
>
|
|
870
882
|
<eun-icon
|
|
871
883
|
name=${isPrev ? "chevron_left" : "chevron_right"}
|
|
872
|
-
size=${this.
|
|
884
|
+
size=${this.getCssLength("--carousel-nav-icon-size", 20)}
|
|
873
885
|
></eun-icon>
|
|
874
886
|
</button>
|
|
875
887
|
`;
|
|
@@ -944,7 +956,7 @@ __decorate([
|
|
|
944
956
|
], EunomiaCarousel.prototype, "visibleSlides", void 0);
|
|
945
957
|
__decorate([
|
|
946
958
|
property({
|
|
947
|
-
|
|
959
|
+
type: Boolean,
|
|
948
960
|
reflect: true,
|
|
949
961
|
attribute: "full-slides",
|
|
950
962
|
})
|
|
@@ -957,7 +969,7 @@ __decorate([
|
|
|
957
969
|
], EunomiaCarousel.prototype, "centerSnap", void 0);
|
|
958
970
|
__decorate([
|
|
959
971
|
property({
|
|
960
|
-
|
|
972
|
+
type: Boolean,
|
|
961
973
|
reflect: true,
|
|
962
974
|
attribute: "edge-fade",
|
|
963
975
|
})
|
|
@@ -972,10 +984,10 @@ __decorate([
|
|
|
972
984
|
property({ type: Number, attribute: "autoplay-interval" })
|
|
973
985
|
], EunomiaCarousel.prototype, "autoplayInterval", void 0);
|
|
974
986
|
__decorate([
|
|
975
|
-
property({
|
|
987
|
+
property({ type: Boolean, attribute: "show-arrows" })
|
|
976
988
|
], EunomiaCarousel.prototype, "showArrows", void 0);
|
|
977
989
|
__decorate([
|
|
978
|
-
property({
|
|
990
|
+
property({ type: Boolean, attribute: "show-dots" })
|
|
979
991
|
], EunomiaCarousel.prototype, "showDots", void 0);
|
|
980
992
|
__decorate([
|
|
981
993
|
property({ attribute: "previous-label" })
|
|
@@ -130,8 +130,8 @@ const base = css `
|
|
|
130
130
|
transparent
|
|
131
131
|
);
|
|
132
132
|
}
|
|
133
|
-
:host(:
|
|
134
|
-
:host(:
|
|
133
|
+
:host(:not([edge-fade])) #viewport::before,
|
|
134
|
+
:host(:not([edge-fade])) #viewport::after {
|
|
135
135
|
content: none;
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -172,7 +172,10 @@ const base = css `
|
|
|
172
172
|
flex: 0 0 var(--_centerPadding, 0px);
|
|
173
173
|
}
|
|
174
174
|
#track:focus-visible {
|
|
175
|
-
outline-color: var(
|
|
175
|
+
outline-color: var(
|
|
176
|
+
--carousel-focus-outline-color,
|
|
177
|
+
var(--eun-color-primary-500, #3d6fff)
|
|
178
|
+
);
|
|
176
179
|
outline-offset: 10px;
|
|
177
180
|
}
|
|
178
181
|
|
|
@@ -184,7 +187,7 @@ const base = css `
|
|
|
184
187
|
transition: transform var(--eun-duration-m, 200ms)
|
|
185
188
|
var(--eun-easing-default, ease);
|
|
186
189
|
}
|
|
187
|
-
:host([full-slides]
|
|
190
|
+
:host([full-slides]) ::slotted(:not([slot])) {
|
|
188
191
|
--_slideBasis: max(
|
|
189
192
|
var(--carousel-min-slide-width, 220px),
|
|
190
193
|
calc(
|
|
@@ -196,8 +199,7 @@ const base = css `
|
|
|
196
199
|
)
|
|
197
200
|
);
|
|
198
201
|
}
|
|
199
|
-
:host(:
|
|
200
|
-
::slotted(:not([slot])) {
|
|
202
|
+
:host(:not([full-slides])) ::slotted(:not([slot])) {
|
|
201
203
|
--_slideBasis: max(
|
|
202
204
|
var(--carousel-min-slide-width, 220px),
|
|
203
205
|
calc(
|
|
@@ -261,7 +263,10 @@ const base = css `
|
|
|
261
263
|
);
|
|
262
264
|
}
|
|
263
265
|
.nav:focus-visible {
|
|
264
|
-
outline-color: var(
|
|
266
|
+
outline-color: var(
|
|
267
|
+
--carousel-focus-outline-color,
|
|
268
|
+
var(--eun-color-primary-500, #3d6fff)
|
|
269
|
+
);
|
|
265
270
|
outline-offset: 2px;
|
|
266
271
|
}
|
|
267
272
|
.nav:disabled {
|
|
@@ -323,7 +328,10 @@ const base = css `
|
|
|
323
328
|
var(--eun-easing-default, ease);
|
|
324
329
|
}
|
|
325
330
|
.dot:focus-visible {
|
|
326
|
-
outline-color: var(
|
|
331
|
+
outline-color: var(
|
|
332
|
+
--carousel-focus-outline-color,
|
|
333
|
+
var(--eun-color-primary-500, #3d6fff)
|
|
334
|
+
);
|
|
327
335
|
outline-offset: 2px;
|
|
328
336
|
}
|
|
329
337
|
.dot[aria-current="true"] {
|
|
@@ -0,0 +1,201 @@
|
|
|
1
|
+
import { LitElement, PropertyValues, TemplateResult } from "lit";
|
|
2
|
+
import { EunomiaIconName } from "../../content/icon/icon.type.js";
|
|
3
|
+
/**
|
|
4
|
+
* Tag name of the nav-menu component.
|
|
5
|
+
*/
|
|
6
|
+
export declare const EunomiaNavMenuTagName = "eun-nav-menu";
|
|
7
|
+
/**
|
|
8
|
+
* What opens the panel : hovering the trigger, or only clicking it.
|
|
9
|
+
*/
|
|
10
|
+
export type EunomiaNavMenuTrigger = "hover" | "click";
|
|
11
|
+
/**
|
|
12
|
+
* Where the panel opens relative to its trigger.
|
|
13
|
+
*/
|
|
14
|
+
export type EunomiaNavMenuPlacement = "bottom-start" | "bottom" | "bottom-end" | "top-start" | "top" | "top-end";
|
|
15
|
+
declare const EunomiaNavMenu_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/anchor-position.mixin.js").AnchorPositionMixinInterface> & typeof LitElement;
|
|
16
|
+
/**
|
|
17
|
+
* A site navigation entry that reveals a group of links, such as the pages
|
|
18
|
+
* of a section, in a panel under its trigger. It follows the disclosure
|
|
19
|
+
* navigation pattern : the trigger is a button that shows and hides the
|
|
20
|
+
* panel, and every entry of the panel is a real link, so crawlers follow
|
|
21
|
+
* it, a middle click opens it in a new tab, and a framework's own link
|
|
22
|
+
* component keeps its client-side navigation.
|
|
23
|
+
*
|
|
24
|
+
* Each direct child is one link, wrapped by the menu in its own list item
|
|
25
|
+
* without any attribute being written on it : an eun-link, a native anchor,
|
|
26
|
+
* or a framework's own link component. The trigger shows the current state
|
|
27
|
+
* on its own as soon as one of the links is the current page, and
|
|
28
|
+
* announces it to assistive technology.
|
|
29
|
+
*
|
|
30
|
+
* @slot [default] - The links, one per direct child : an eun-link, which fills its row on its own, a native anchor, or a framework's own link component
|
|
31
|
+
* @slot [label] - The trigger's label as light DOM content, so it's part of the server-rendered HTML. Falls back to label when empty
|
|
32
|
+
* @slot [icon] - Replaces the trigger's leading icon entirely with any content, not just an icon element. Falls back to icon when empty
|
|
33
|
+
* @slot [chevron] - Replaces the trigger's trailing chevron entirely with any content, not just an icon element. Falls back to chevronIcon when empty. Whatever ends up there still rotates while open, unless that rotation is set to zero
|
|
34
|
+
* @prop {string} label - The trigger's text. Ignored once something is slotted into label
|
|
35
|
+
* @prop {import('../../content/icon/icon.type.js').EunomiaIconName} [icon] - An optional decorative icon shown before the label. Ignored once the icon slot has content
|
|
36
|
+
* @prop {import('../../content/icon/icon.type.js').EunomiaIconName} [chevronIcon='keyboard_arrow_down'] - The trailing chevron icon. Ignored once the chevron slot has content
|
|
37
|
+
* @prop {boolean} [hideChevron=false] - Hides the trailing chevron, leaving the label alone in the trigger
|
|
38
|
+
* @prop {'hover' | 'click'} [trigger='hover'] - What opens the panel. With hover, it opens when the pointer rests on the trigger and a click keeps it open. With click, only a click opens and closes it. Touch screens and the keyboard always use the click behavior
|
|
39
|
+
* @prop {'bottom-start' | 'bottom' | 'bottom-end' | 'top-start' | 'top' | 'top-end'} [placement='bottom-start'] - Where the panel opens relative to the trigger. It flips to the other side on its own when there isn't enough room
|
|
40
|
+
* @prop {boolean} [open=false] - Whether the panel is currently open
|
|
41
|
+
* @prop {boolean} [current=false] - Shows the trigger as the current section. Already set on its own when one of the links is the current page, so only needed when the current page isn't one of them
|
|
42
|
+
* @prop {'light' | 'dark'} [theme='light'] - The color theme of the trigger and the panel. Use dark on a dark background, such as a dark toolbar
|
|
43
|
+
* @prop {number} [showDelay=100] - Milliseconds the pointer rests on the trigger before the panel opens, with trigger set to hover
|
|
44
|
+
* @attr {number} [show-delay=100] - Milliseconds the pointer rests on the trigger before the panel opens
|
|
45
|
+
* @prop {number} [hideDelay=200] - Milliseconds before the panel closes once the pointer leaves it, long enough to move from the trigger into the panel, with trigger set to hover
|
|
46
|
+
* @attr {number} [hide-delay=200] - Milliseconds before the panel closes once the pointer leaves it
|
|
47
|
+
* @attr {string} aria-label - The accessible label of the trigger, required when it has no visible label, such as an icon only trigger
|
|
48
|
+
* @fires {ChangeEvent} eunchange - Fired whenever the panel opens or closes from an interaction. Read the new state from open
|
|
49
|
+
* @csspart trigger - The trigger button, for effects its custom properties don't cover, such as an active indicator
|
|
50
|
+
* @csspart panel - The floating panel holding the links
|
|
51
|
+
* @cssprop [--nav-menu-trigger-color] - Sets the text and icon color of the trigger
|
|
52
|
+
* @cssprop [--nav-menu-trigger-color-hover] - Sets the text and icon color of the trigger on hover, on keyboard focus and while open
|
|
53
|
+
* @cssprop [--nav-menu-trigger-color-current] - Sets the text and icon color of the trigger when it's the current section
|
|
54
|
+
* @cssprop [--nav-menu-trigger-background] - Sets the background of the trigger, transparent by default
|
|
55
|
+
* @cssprop [--nav-menu-trigger-background-hover] - Sets the background of the trigger on hover, on keyboard focus and while open
|
|
56
|
+
* @cssprop [--nav-menu-trigger-shadow] - Sets the box shadow of the trigger, none by default
|
|
57
|
+
* @cssprop [--nav-menu-trigger-shadow-hover] - Sets the box shadow of the trigger on hover, on keyboard focus and while open, falling back to --nav-menu-trigger-shadow
|
|
58
|
+
* @cssprop [--nav-menu-trigger-font-size] - Sets the font size of the trigger, inherited from the surrounding text by default
|
|
59
|
+
* @cssprop [--nav-menu-trigger-font-weight] - Sets the font weight of the trigger
|
|
60
|
+
* @cssprop [--nav-menu-trigger-padding] - Sets the padding of the trigger
|
|
61
|
+
* @cssprop [--nav-menu-trigger-padding-block] - Sets the vertical padding of the trigger, as one length applied to both sides. Ignored when --nav-menu-trigger-padding is set
|
|
62
|
+
* @cssprop [--nav-menu-trigger-padding-inline] - Sets the horizontal padding of the trigger, as one length applied to both sides. Ignored when --nav-menu-trigger-padding is set
|
|
63
|
+
* @cssprop [--nav-menu-trigger-gap] - Sets the gap between the trigger's icon, label and chevron
|
|
64
|
+
* @cssprop [--nav-menu-trigger-border-radius] - Sets the corner radius of the trigger and its focus ring
|
|
65
|
+
* @cssprop [--nav-menu-focus-outline-color] - Sets the color of the trigger's focus ring, and of plain anchors in the panel
|
|
66
|
+
* @cssprop [--nav-menu-icon-size] - Sets the size of the leading icon and the chevron, 1.25em by default so they follow the font size
|
|
67
|
+
* @cssprop [--nav-menu-chevron-rotation] - Sets the rotation applied to the chevron while open, 180deg by default. Zero disables it
|
|
68
|
+
* @cssprop [--nav-menu-panel-background] - Sets the background of the panel
|
|
69
|
+
* @cssprop [--nav-menu-panel-border-color] - Sets the border color of the panel
|
|
70
|
+
* @cssprop [--nav-menu-panel-border-radius] - Sets the corner radius of the panel
|
|
71
|
+
* @cssprop [--nav-menu-panel-shadow] - Sets the box shadow of the panel
|
|
72
|
+
* @cssprop [--nav-menu-panel-padding] - Sets the padding of the panel
|
|
73
|
+
* @cssprop [--nav-menu-panel-gap] - Sets the gap between the links of the panel
|
|
74
|
+
* @cssprop [--nav-menu-panel-min-width] - Sets the minimum width of the panel, which is never narrower than the trigger
|
|
75
|
+
* @cssprop [--nav-menu-panel-max-height] - Sets the maximum height of the panel, beyond which it scrolls
|
|
76
|
+
* @cssprop [--nav-menu-offset] - Sets the distance between the trigger and the panel
|
|
77
|
+
* @cssprop [--nav-menu-link-color] - Sets the color of the links in the panel
|
|
78
|
+
* @cssprop [--nav-menu-link-color-hover] - Sets the color of the links in the panel on hover and focus
|
|
79
|
+
* @cssprop [--nav-menu-link-color-current] - Sets the color of the current page's link in the panel
|
|
80
|
+
* @cssprop [--nav-menu-link-background-hover] - Sets the background of the links in the panel on hover and focus
|
|
81
|
+
* @cssprop [--nav-menu-link-padding] - Sets the padding of the links in the panel
|
|
82
|
+
* @cssprop [--nav-menu-link-border-radius] - Sets the corner radius of the links in the panel
|
|
83
|
+
* @cssprop [--nav-menu-transition-duration] - Sets the duration of the panel's open and close animation, the chevron's rotation and the color transitions
|
|
84
|
+
* @element eun-nav-menu
|
|
85
|
+
*/
|
|
86
|
+
export declare class EunomiaNavMenu extends EunomiaNavMenu_base {
|
|
87
|
+
#private;
|
|
88
|
+
/**
|
|
89
|
+
* Styles to import to the component.
|
|
90
|
+
*
|
|
91
|
+
* @static
|
|
92
|
+
* @internal
|
|
93
|
+
* @readonly
|
|
94
|
+
*/
|
|
95
|
+
static readonly styles: import("lit").CSSResult[];
|
|
96
|
+
/**
|
|
97
|
+
* Manual slot assignment : each link is assigned to the slot of its own
|
|
98
|
+
* list item without the menu writing a `slot` attribute on the
|
|
99
|
+
* consumer's elements, which a framework would then reset or report as
|
|
100
|
+
* a hydration mismatch. The named slots are assigned by hand too, from
|
|
101
|
+
* the `slot` attribute the consumer wrote.
|
|
102
|
+
* @internal
|
|
103
|
+
*/
|
|
104
|
+
static readonly shadowRootOptions: ShadowRootInit;
|
|
105
|
+
/**
|
|
106
|
+
* The trigger's text. Only rendered in the shadow root, so the `label`
|
|
107
|
+
* slot is preferred wherever the text must be in the server HTML ;
|
|
108
|
+
* ignored once that slot is filled.
|
|
109
|
+
*/
|
|
110
|
+
label?: string;
|
|
111
|
+
/**
|
|
112
|
+
* Optional decorative icon shown before the label.
|
|
113
|
+
*/
|
|
114
|
+
icon?: EunomiaIconName;
|
|
115
|
+
/**
|
|
116
|
+
* The trailing chevron icon ; ignored once the `chevron` slot has
|
|
117
|
+
* content.
|
|
118
|
+
* @default keyboard_arrow_down
|
|
119
|
+
*/
|
|
120
|
+
chevronIcon: EunomiaIconName;
|
|
121
|
+
/**
|
|
122
|
+
* Hides the trailing chevron.
|
|
123
|
+
* @default false
|
|
124
|
+
*/
|
|
125
|
+
hideChevron: boolean;
|
|
126
|
+
/**
|
|
127
|
+
* What opens the panel. Touch screens and the keyboard always use the
|
|
128
|
+
* click behavior, since they have no hover.
|
|
129
|
+
* @default hover
|
|
130
|
+
*/
|
|
131
|
+
trigger: EunomiaNavMenuTrigger;
|
|
132
|
+
/**
|
|
133
|
+
* Where the panel opens relative to the trigger.
|
|
134
|
+
* @default bottom-start
|
|
135
|
+
*/
|
|
136
|
+
placement: EunomiaNavMenuPlacement;
|
|
137
|
+
/**
|
|
138
|
+
* Indicates whether the panel is currently open.
|
|
139
|
+
* @default false
|
|
140
|
+
*/
|
|
141
|
+
open: boolean;
|
|
142
|
+
/**
|
|
143
|
+
* Shows the trigger as the current section, on top of the state the
|
|
144
|
+
* menu derives from its own links.
|
|
145
|
+
* @default false
|
|
146
|
+
*/
|
|
147
|
+
current: boolean;
|
|
148
|
+
/**
|
|
149
|
+
* The color theme of the trigger and the panel.
|
|
150
|
+
* @default light
|
|
151
|
+
*/
|
|
152
|
+
theme: "light" | "dark";
|
|
153
|
+
/**
|
|
154
|
+
* Milliseconds the pointer rests on the trigger before the panel opens.
|
|
155
|
+
* @default 100
|
|
156
|
+
*/
|
|
157
|
+
showDelay: number;
|
|
158
|
+
/**
|
|
159
|
+
* Milliseconds before the panel closes once the pointer leaves it.
|
|
160
|
+
* @default 200
|
|
161
|
+
*/
|
|
162
|
+
hideDelay: number;
|
|
163
|
+
/**
|
|
164
|
+
* The links, the host's element children without a `slot` attribute.
|
|
165
|
+
* @internal
|
|
166
|
+
*/
|
|
167
|
+
private links;
|
|
168
|
+
/**
|
|
169
|
+
* Whether one of the links is the current page.
|
|
170
|
+
* @internal
|
|
171
|
+
*/
|
|
172
|
+
private hasCurrentLink;
|
|
173
|
+
/**
|
|
174
|
+
* The children assigned to each named slot.
|
|
175
|
+
* @internal
|
|
176
|
+
*/
|
|
177
|
+
private named;
|
|
178
|
+
/**
|
|
179
|
+
* The trigger button.
|
|
180
|
+
* @internal
|
|
181
|
+
* @readonly
|
|
182
|
+
*/
|
|
183
|
+
private readonly triggerEl?;
|
|
184
|
+
/**
|
|
185
|
+
* The panel, a manual popover so it renders in the top layer, above a
|
|
186
|
+
* toolbar's blur or overflow.
|
|
187
|
+
* @internal
|
|
188
|
+
* @readonly
|
|
189
|
+
*/
|
|
190
|
+
private readonly panelEl?;
|
|
191
|
+
connectedCallback(): void;
|
|
192
|
+
disconnectedCallback(): void;
|
|
193
|
+
protected updated(changed: PropertyValues): void;
|
|
194
|
+
render(): TemplateResult;
|
|
195
|
+
}
|
|
196
|
+
declare global {
|
|
197
|
+
interface HTMLElementTagNameMap {
|
|
198
|
+
[EunomiaNavMenuTagName]: EunomiaNavMenu;
|
|
199
|
+
}
|
|
200
|
+
}
|
|
201
|
+
export {};
|