@eunomia/elements 1.0.0-beta.5 → 1.0.0-beta.7
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -2
- package/dist/breakpoints.d.ts +37 -10
- package/dist/breakpoints.js +38 -10
- package/dist/cdn/components/chunks/{chunk-MMLIPCOY.js → chunk-22D3SRFR.js} +1 -1
- package/dist/cdn/components/chunks/chunk-36KLGY6U.js +209 -0
- package/dist/cdn/components/chunks/chunk-3BMACIDO.js +1 -0
- package/dist/cdn/components/chunks/{chunk-IDKZKLJR.js → chunk-3PNGQEG4.js} +24 -11
- package/dist/cdn/components/chunks/{chunk-NBIENHLV.js → chunk-5XPOGBPL.js} +18 -18
- package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
- package/dist/cdn/components/chunks/chunk-62RLISRD.js +1 -0
- package/dist/cdn/components/chunks/{chunk-6ETDXUH2.js → chunk-6FYW5TQU.js} +7 -7
- package/dist/cdn/components/chunks/chunk-AK2DIJX7.js +1 -0
- package/dist/cdn/components/chunks/chunk-B5XMGWM7.js +10 -0
- package/dist/cdn/components/chunks/chunk-BKZGTCMF.js +1 -0
- package/dist/cdn/components/chunks/{chunk-GW3VP2L7.js → chunk-BO3JOEWM.js} +1 -1
- package/dist/cdn/components/chunks/chunk-BVASCT2V.js +109 -0
- package/dist/cdn/components/chunks/{chunk-DKOPI7QA.js → chunk-DGI7TKCU.js} +83 -68
- package/dist/cdn/components/chunks/chunk-EUWUDCBZ.js +1 -0
- package/dist/cdn/components/chunks/{chunk-P32B7BFD.js → chunk-FF3I7C3C.js} +15 -15
- package/dist/cdn/components/chunks/{chunk-74AOAB4X.js → chunk-FOILAXLL.js} +6 -5
- package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
- package/dist/cdn/components/chunks/chunk-GVS6IUKC.js +1 -0
- package/dist/cdn/components/chunks/chunk-GWLD2I3P.js +8 -0
- package/dist/cdn/components/chunks/{chunk-JRGM3W7I.js → chunk-I4ERDXSM.js} +9 -4
- package/dist/cdn/components/chunks/{chunk-AIS3UICU.js → chunk-J3SZBXM6.js} +11 -7
- package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-LVKMAHMU.js} +11 -1
- package/dist/cdn/components/chunks/{chunk-SD2WHGPF.js → chunk-MQQJ6DID.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-A4EQSU36.js → chunk-O7PHBLH2.js} +1 -1
- package/dist/cdn/components/chunks/chunk-PD62MBOJ.js +1 -0
- package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-MPQP4R54.js → chunk-PXF554MD.js} +10 -9
- package/dist/cdn/components/chunks/chunk-QL5GSW2A.js +1 -0
- package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-QXQ25SQS.js} +24 -20
- package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
- package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-SVGWCKWT.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-2XASWWKR.js → chunk-TFTRCIIK.js} +9 -8
- package/dist/cdn/components/chunks/chunk-TLBXTBMM.js +46 -0
- package/dist/cdn/components/chunks/chunk-UVHVQRPT.js +1 -0
- package/dist/cdn/components/chunks/{chunk-L65WUTXM.js → chunk-UYZR4JXZ.js} +12 -7
- package/dist/cdn/components/chunks/chunk-VG6NAAIV.js +1 -0
- package/dist/cdn/components/chunks/chunk-VJCNHMQZ.js +10 -0
- package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +1 -0
- package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-OW7XKDCH.js → chunk-Z3OFIE7S.js} +16 -16
- package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
- package/dist/cdn/components/eun-alert.js +33 -18
- package/dist/cdn/components/eun-animate.js +14 -10
- package/dist/cdn/components/eun-badge.js +2 -2
- package/dist/cdn/components/eun-breadcrumb.js +25 -41
- package/dist/cdn/components/eun-button.js +1 -1
- package/dist/cdn/components/eun-calendar.js +67 -65
- package/dist/cdn/components/eun-card.js +34 -19
- package/dist/cdn/components/eun-carousel.js +76 -42
- package/dist/cdn/components/eun-check-card.js +13 -6
- package/dist/cdn/components/eun-checkbox-list.js +11 -8
- package/dist/cdn/components/eun-checkbox.js +1 -1
- package/dist/cdn/components/eun-chip.js +3 -3
- package/dist/cdn/components/eun-collapse.js +56 -27
- package/dist/cdn/components/eun-color-picker.js +79 -86
- package/dist/cdn/components/eun-counter.js +16 -15
- package/dist/cdn/components/eun-date-picker.js +71 -67
- package/dist/cdn/components/eun-description-list.js +152 -0
- package/dist/cdn/components/eun-divider.js +3 -3
- package/dist/cdn/components/eun-drawer.js +34 -20
- package/dist/cdn/components/eun-dropdown-button.js +1 -1
- package/dist/cdn/components/eun-dropdown-item.js +6 -5
- package/dist/cdn/components/eun-fab.js +17 -16
- package/dist/cdn/components/eun-icon.js +1 -1
- package/dist/cdn/components/eun-image-card.js +79 -22
- package/dist/cdn/components/eun-image-carousel.js +92 -47
- package/dist/cdn/components/eun-infinite-list.js +23 -11
- package/dist/cdn/components/eun-input-file.js +20 -19
- package/dist/cdn/components/eun-input-phone.js +17 -16
- package/dist/cdn/components/eun-input.js +1 -1
- package/dist/cdn/components/eun-label.js +4 -4
- package/dist/cdn/components/eun-link.js +78 -29
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +27 -20
- package/dist/cdn/components/eun-pagination.js +24 -19
- package/dist/cdn/components/eun-password-strength.js +19 -11
- package/dist/cdn/components/eun-progress-bar.js +13 -5
- package/dist/cdn/components/eun-radio-card.js +16 -9
- package/dist/cdn/components/eun-radio-list.js +12 -9
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-rating.js +276 -0
- package/dist/cdn/components/eun-scheduler-event-editor.js +10 -10
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +27 -27
- package/dist/cdn/components/eun-search.js +24 -25
- package/dist/cdn/components/eun-select.js +32 -31
- package/dist/cdn/components/eun-sidebar.js +40 -24
- package/dist/cdn/components/eun-skeleton.js +1 -1
- package/dist/cdn/components/eun-slider.js +15 -14
- package/dist/cdn/components/eun-sliding-card.js +8 -4
- package/dist/cdn/components/eun-step.js +22 -10
- package/dist/cdn/components/eun-stepper.js +41 -30
- package/dist/cdn/components/eun-switch.js +10 -8
- package/dist/cdn/components/eun-tab-group.js +24 -19
- package/dist/cdn/components/eun-tab-panel.js +11 -3
- package/dist/cdn/components/eun-tab.js +1 -1
- package/dist/cdn/components/eun-table-action-bar.js +1 -1
- package/dist/cdn/components/eun-table.js +572 -31
- package/dist/cdn/components/eun-tag.js +13 -7
- package/dist/cdn/components/eun-textarea.js +34 -29
- package/dist/cdn/components/eun-time-picker.js +24 -21
- package/dist/cdn/components/eun-toast.js +51 -22
- package/dist/cdn/components/eun-toggle-group.js +57 -36
- package/dist/cdn/components/eun-toggle-item.js +16 -15
- package/dist/cdn/components/eun-toggle.js +12 -10
- package/dist/cdn/components/eun-toolbar.js +64 -54
- package/dist/cdn/components/eun-tooltip.js +30 -14
- package/dist/cdn/styles/breakpoints.scss +8 -0
- package/dist/cdn/styles/eunomia-grid.scss +6 -0
- package/dist/cdn/styles/eunomia-themes.css +1 -1
- package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
- package/dist/cdn/styles/themes/eunomia-theme.scss +4 -3
- package/dist/cdn/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
- package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
- package/dist/cdn/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
- package/dist/cdn/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
- package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
- package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
- package/dist/cdn/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
- package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
- package/dist/cdn/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
- package/dist/cdn/styles/tools/variables/eunomia.breakpoints.scss +4 -0
- package/dist/components/action/button/button.d.ts +9 -3
- package/dist/components/action/button/button.js +10 -4
- package/dist/components/action/button/button.styles.js +61 -41
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +2 -2
- package/dist/components/action/dropdown-button/dropdown-button.js +21 -15
- package/dist/components/action/dropdown-button/dropdown-button.styles.js +3 -2
- package/dist/components/action/dropdown-button/dropdown-item.js +5 -6
- package/dist/components/action/dropdown-button/dropdown-item.styles.js +3 -2
- package/dist/components/action/fab/fab.styles.js +14 -13
- package/dist/components/action/link/link.d.ts +7 -3
- package/dist/components/action/link/link.js +11 -7
- package/dist/components/action/link/link.styles.js +66 -15
- package/dist/components/action/shared-styles/button-palette.styles.js +15 -15
- package/dist/components/action/toggle/toggle-group.d.ts +2 -0
- package/dist/components/action/toggle/toggle-group.js +6 -4
- package/dist/components/action/toggle/toggle-group.styles.d.ts +2 -0
- package/dist/components/action/toggle/toggle-group.styles.js +46 -23
- package/dist/components/action/toggle/toggle-item.styles.js +13 -12
- package/dist/components/action/toggle/toggle.d.ts +2 -0
- package/dist/components/action/toggle/toggle.js +3 -1
- package/dist/components/action/toggle/toggle.styles.d.ts +2 -0
- package/dist/components/action/toggle/toggle.styles.js +12 -8
- package/dist/components/alert/alert/alert.d.ts +11 -7
- package/dist/components/alert/alert/alert.js +13 -14
- package/dist/components/alert/alert/alert.styles.js +32 -15
- package/dist/components/alert/drawer/drawer.d.ts +8 -6
- package/dist/components/alert/drawer/drawer.js +12 -14
- package/dist/components/alert/drawer/drawer.styles.js +26 -10
- package/dist/components/alert/modal/modal.d.ts +13 -11
- package/dist/components/alert/modal/modal.js +17 -27
- package/dist/components/alert/modal/modal.styles.js +16 -7
- package/dist/components/alert/toast/toast.d.ts +9 -5
- package/dist/components/alert/toast/toast.js +11 -13
- package/dist/components/alert/toast/toast.styles.js +49 -18
- package/dist/components/content/badge/badge.js +2 -2
- package/dist/components/content/card/card.d.ts +7 -3
- package/dist/components/content/card/card.js +8 -4
- package/dist/components/content/card/card.styles.js +28 -13
- package/dist/components/content/card/image-card.d.ts +60 -6
- package/dist/components/content/card/image-card.js +120 -11
- package/dist/components/content/card/image-card.styles.js +66 -15
- package/dist/components/content/card/sliding-card.d.ts +2 -0
- package/dist/components/content/card/sliding-card.js +2 -0
- package/dist/components/content/card/sliding-card.styles.js +5 -1
- package/dist/components/content/chip/chip.d.ts +4 -4
- package/dist/components/content/chip/chip.js +8 -8
- package/dist/components/content/collapse/collapse.d.ts +10 -1
- package/dist/components/content/collapse/collapse.js +12 -2
- package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
- package/dist/components/content/collapse/collapse.styles.js +56 -18
- package/dist/components/content/description-list/description-list.d.ts +87 -0
- package/dist/components/content/description-list/description-list.js +107 -0
- package/dist/components/content/description-list/description-list.styles.d.ts +1 -0
- package/dist/components/content/description-list/description-list.styles.js +185 -0
- package/dist/components/content/icon/icon.d.ts +5 -0
- package/dist/components/content/icon/icon.js +5 -0
- package/dist/components/content/icon/icon.style.d.ts +2 -0
- package/dist/components/content/icon/icon.style.js +8 -1
- package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
- package/dist/components/content/image-carousel/image-carousel.js +58 -55
- package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
- package/dist/components/content/password-strength/password-strength.d.ts +21 -6
- package/dist/components/content/password-strength/password-strength.js +37 -16
- package/dist/components/content/password-strength/password-strength.styles.js +9 -1
- package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
- package/dist/components/content/shared-styles/card-link.styles.js +4 -3
- package/dist/components/content/shared-styles/tone-surface.styles.d.ts +5 -0
- package/dist/components/content/shared-styles/tone-surface.styles.js +19 -14
- package/dist/components/content/tag/tag.d.ts +4 -0
- package/dist/components/content/tag/tag.js +6 -2
- package/dist/components/content/tag/tag.styles.js +14 -4
- package/dist/components/content/tooltip/tooltip.d.ts +3 -2
- package/dist/components/content/tooltip/tooltip.js +12 -19
- package/dist/components/content/tooltip/tooltip.styles.js +25 -7
- package/dist/components/form/checkbox/check-card.d.ts +5 -1
- package/dist/components/form/checkbox/check-card.js +5 -1
- package/dist/components/form/checkbox/check-card.styles.js +13 -4
- package/dist/components/form/checkbox/checkbox-list.d.ts +21 -1
- package/dist/components/form/checkbox/checkbox-list.js +50 -17
- package/dist/components/form/checkbox/checkbox.d.ts +5 -1
- package/dist/components/form/checkbox/checkbox.js +7 -2
- package/dist/components/form/checkbox/checkbox.styles.js +5 -4
- package/dist/components/form/color-picker/color-picker.d.ts +48 -29
- package/dist/components/form/color-picker/color-picker.js +85 -71
- package/dist/components/form/color-picker/color-picker.styles.js +7 -6
- package/dist/components/form/counter/counter.d.ts +26 -19
- package/dist/components/form/counter/counter.js +64 -63
- package/dist/components/form/counter/counter.styles.js +5 -4
- package/dist/components/form/date-picker/date-picker.d.ts +64 -39
- package/dist/components/form/date-picker/date-picker.js +107 -96
- package/dist/components/form/date-picker/date-picker.styles.js +8 -5
- package/dist/components/form/input/input.d.ts +45 -40
- package/dist/components/form/input/input.js +93 -111
- package/dist/components/form/input-file/input-file.d.ts +30 -14
- package/dist/components/form/input-file/input-file.js +43 -40
- package/dist/components/form/input-file/input-file.styles.js +7 -6
- package/dist/components/form/input-phone/input-phone.d.ts +30 -7
- package/dist/components/form/input-phone/input-phone.js +54 -30
- package/dist/components/form/input-phone/input-phone.styles.js +4 -4
- package/dist/components/form/label/label.styles.js +3 -3
- package/dist/components/form/radio/radio-card.d.ts +6 -2
- package/dist/components/form/radio/radio-card.js +6 -2
- package/dist/components/form/radio/radio-card.styles.js +14 -5
- package/dist/components/form/radio/radio-list.d.ts +28 -9
- package/dist/components/form/radio/radio-list.js +61 -32
- package/dist/components/form/radio/radio.d.ts +6 -2
- package/dist/components/form/radio/radio.js +6 -2
- package/dist/components/form/radio/radio.styles.js +4 -4
- package/dist/components/form/rating/rating.d.ts +349 -0
- package/dist/components/form/rating/rating.js +665 -0
- package/dist/components/form/rating/rating.styles.d.ts +1 -0
- package/dist/components/form/rating/rating.styles.js +213 -0
- package/dist/components/form/search/search.d.ts +10 -9
- package/dist/components/form/search/search.js +29 -56
- package/dist/components/form/search/search.styles.js +5 -4
- package/dist/components/form/select/select.d.ts +32 -12
- package/dist/components/form/select/select.js +74 -59
- package/dist/components/form/select/select.styles.js +3 -2
- package/dist/components/form/shared-styles/card.styles.js +5 -4
- package/dist/components/form/shared-styles/field.styles.js +16 -6
- package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
- package/dist/components/form/shared-styles/listbox.styles.js +10 -0
- package/dist/components/form/slider/slider.d.ts +11 -9
- package/dist/components/form/slider/slider.js +14 -14
- package/dist/components/form/slider/slider.styles.js +8 -7
- package/dist/components/form/switch/switch.d.ts +5 -1
- package/dist/components/form/switch/switch.js +5 -1
- package/dist/components/form/switch/switch.styles.js +7 -5
- package/dist/components/form/textarea/textarea.d.ts +96 -24
- package/dist/components/form/textarea/textarea.js +206 -51
- package/dist/components/form/time-picker/time-picker-columns.d.ts +2 -2
- package/dist/components/form/time-picker/time-picker-columns.js +8 -8
- package/dist/components/form/time-picker/time-picker-columns.styles.js +4 -2
- package/dist/components/form/time-picker/time-picker-list.styles.js +2 -1
- package/dist/components/form/time-picker/time-picker.d.ts +30 -10
- package/dist/components/form/time-picker/time-picker.js +81 -64
- package/dist/components/form/time-picker/time-picker.styles.js +4 -3
- package/dist/components/layout/animate/animate.d.ts +37 -15
- package/dist/components/layout/animate/animate.js +36 -16
- package/dist/components/layout/animate/animate.styles.js +11 -18
- package/dist/components/layout/divider/divider.js +1 -1
- package/dist/components/layout/divider/divider.styles.js +1 -1
- package/dist/components/layout/infinite-list/infinite-list.d.ts +33 -10
- package/dist/components/layout/infinite-list/infinite-list.js +115 -18
- package/dist/components/layout/infinite-list/infinite-list.styles.d.ts +3 -0
- package/dist/components/layout/infinite-list/infinite-list.styles.js +17 -5
- package/dist/components/loader/loader/loader.js +2 -2
- package/dist/components/loader/loader/loader.styles.js +17 -13
- package/dist/components/loader/skeleton/skeleton.js +1 -1
- package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +31 -45
- package/dist/components/navigation/breadcrumb/breadcrumb.js +111 -77
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.d.ts +3 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +22 -26
- package/dist/components/navigation/carousel/carousel.d.ts +55 -11
- package/dist/components/navigation/carousel/carousel.js +101 -43
- package/dist/components/navigation/carousel/carousel.styles.js +65 -22
- package/dist/components/navigation/pagination/pagination.d.ts +23 -21
- package/dist/components/navigation/pagination/pagination.js +30 -53
- package/dist/components/navigation/pagination/pagination.styles.js +8 -3
- package/dist/components/navigation/sidebar/sidebar.d.ts +17 -13
- package/dist/components/navigation/sidebar/sidebar.js +23 -33
- package/dist/components/navigation/sidebar/sidebar.styles.js +32 -14
- package/dist/components/navigation/stepper/step.js +9 -8
- package/dist/components/navigation/stepper/step.styles.js +16 -5
- package/dist/components/navigation/stepper/stepper.js +12 -5
- package/dist/components/navigation/stepper/stepper.styles.js +16 -5
- package/dist/components/navigation/tabs/tab/tab.d.ts +11 -0
- package/dist/components/navigation/tabs/tab/tab.js +11 -0
- package/dist/components/navigation/tabs/tab/tab.styles.js +22 -16
- package/dist/components/navigation/tabs/tab-group/tab-group.js +9 -10
- package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +21 -16
- package/dist/components/navigation/tabs/tab-panel/tab-panel.d.ts +4 -0
- package/dist/components/navigation/tabs/tab-panel/tab-panel.js +4 -0
- package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +18 -1
- package/dist/components/navigation/toolbar/toolbar.d.ts +30 -62
- package/dist/components/navigation/toolbar/toolbar.js +43 -105
- package/dist/components/navigation/toolbar/toolbar.styles.js +59 -36
- package/dist/events/table-row-click.event.d.ts +5 -4
- package/dist/events/table-row-click.event.js +10 -5
- package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
- package/dist/features/scheduler/calendar/calendar.js +7 -6
- package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
- package/dist/features/scheduler/scheduler/scheduler.d.ts +8 -8
- package/dist/features/scheduler/scheduler/scheduler.js +24 -47
- package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
- package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +2 -0
- package/dist/features/scheduler/scheduler-event/scheduler-event.js +5 -3
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +11 -5
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +6 -4
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +6 -7
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
- package/dist/features/scheduler/shared/scheduler-month-view.styles.js +2 -2
- package/dist/features/scheduler/shared/scheduler-year-view.styles.js +2 -2
- package/dist/features/table/table/table-native.styles.d.ts +28 -0
- package/dist/features/table/table/table-native.styles.js +502 -0
- package/dist/features/table/table/table.d.ts +342 -294
- package/dist/features/table/table/table.js +820 -546
- package/dist/features/table/table/table.styles.js +31 -17
- package/dist/features/table/table/table.types.d.ts +11 -20
- package/dist/features/table/table/table.utils.d.ts +6 -36
- package/dist/features/table/table/table.utils.js +16 -65
- package/dist/features/table/table-action-bar/table-action-bar.d.ts +33 -16
- package/dist/features/table/table-action-bar/table-action-bar.js +15 -22
- package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
- package/dist/i18n/en.d.ts +99 -0
- package/dist/i18n/en.js +99 -0
- package/dist/i18n/fr.js +103 -2
- package/dist/index.d.ts +6 -10
- package/dist/index.js +7 -10
- package/dist/mixins/button.mixin.js +3 -2
- package/dist/mixins/check.mixin.js +15 -15
- package/dist/mixins/disabled.mixin.d.ts +5 -0
- package/dist/mixins/disabled.mixin.js +21 -1
- package/dist/mixins/editable.mixin.js +28 -5
- package/dist/mixins/field-appearance.mixin.js +3 -2
- package/dist/mixins/form.mixin.d.ts +21 -1
- package/dist/mixins/form.mixin.js +156 -27
- package/dist/mixins/localizable.mixin.d.ts +1 -1
- package/dist/mixins/localizable.mixin.js +1 -1
- package/dist/mixins/radio.mixin.js +15 -15
- package/dist/mixins/readonly.mixin.d.ts +2 -1
- package/dist/mixins/readonly.mixin.js +10 -3
- package/dist/mixins/validators.mixin.d.ts +7 -1
- package/dist/mixins/validators.mixin.js +36 -17
- package/dist/ssr/alert-ssr.css +187 -0
- package/dist/ssr/animate-ssr.css +3 -2
- package/dist/ssr/badge-ssr.css +67 -0
- package/dist/ssr/breadcrumb-ssr.css +41 -0
- package/dist/ssr/button-ssr.css +319 -0
- package/dist/ssr/card-ssr.css +196 -0
- package/dist/ssr/carousel-ssr.css +238 -0
- package/dist/ssr/checkbox-ssr.css +67 -0
- package/dist/ssr/chip-ssr.css +242 -0
- package/dist/ssr/collapse-ssr.css +151 -0
- package/dist/ssr/description-list-ssr.css +150 -0
- package/dist/ssr/field-ssr.css +163 -0
- package/dist/ssr/icon-ssr.css +266 -0
- package/dist/ssr/image-carousel-ssr.css +24 -0
- package/dist/ssr/links-ssr.css +8 -2
- package/dist/ssr/pagination-ssr.css +4 -0
- package/dist/ssr/rating-ssr.css +254 -0
- package/dist/ssr/sidebar-ssr.css +9 -1
- package/dist/ssr/skeleton-ssr.css +63 -0
- package/dist/ssr/table-ssr.css +472 -0
- package/dist/ssr/tabs-ssr.css +129 -0
- package/dist/ssr/tag-ssr.css +197 -0
- package/dist/ssr/toggle-group-ssr.css +182 -0
- package/dist/ssr/toolbar-ssr.css +34 -1
- package/dist/utils/drag-drop.utils.js +18 -2
- package/dist/utils/dropdown-menu.utils.d.ts +2 -2
- package/dist/utils/dropdown-menu.utils.js +4 -14
- package/dist/utils/implicit-submission.utils.d.ts +18 -0
- package/dist/utils/implicit-submission.utils.js +79 -0
- package/dist/utils/light-dom-styles.utils.d.ts +14 -0
- package/dist/utils/light-dom-styles.utils.js +37 -0
- package/dist/utils/listbox-options.utils.d.ts +11 -0
- package/dist/utils/listbox-options.utils.js +41 -3
- package/dist/utils/media.styles.d.ts +19 -0
- package/dist/utils/media.styles.js +23 -0
- package/dist/utils/motion.utils.d.ts +40 -0
- package/dist/utils/motion.utils.js +51 -0
- package/dist/utils/theme-generator.utils.d.ts +6 -1
- package/dist/utils/theme-generator.utils.js +59 -20
- package/package.json +39 -31
- package/styles/breakpoints.scss +8 -0
- package/styles/eunomia-grid.scss +6 -0
- package/styles/themes/eunomia-theme.scss +4 -3
- package/styles/themes/mixins/eunomia-a11y-color.mixin.scss +34 -1
- package/styles/themes/mixins/eunomia-neutrals.mixin.scss +4 -0
- package/styles/themes/mixins/eunomia-states.mixin.scss +36 -12
- package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +3 -2
- package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +10 -10
- package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +3 -2
- package/styles/tools/indexes/eunomia-media-queries.index.scss +1 -3
- package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
- package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +117 -53
- package/styles/tools/mixins/media-queries/eunomia-media-queries.mixin.scss +69 -0
- package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +28 -4
- package/styles/tools/mixins/settings/eunomia-motion.mixin.scss +9 -0
- package/styles/tools/variables/eunomia.breakpoints.scss +4 -0
- package/dist/cdn/components/chunks/chunk-32DTNR52.js +0 -1
- package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
- package/dist/cdn/components/chunks/chunk-CEDHJUUH.js +0 -1
- package/dist/cdn/components/chunks/chunk-D2M4BV5Y.js +0 -328
- package/dist/cdn/components/chunks/chunk-E4IS25H7.js +0 -1
- package/dist/cdn/components/chunks/chunk-E74CM7UG.js +0 -66
- package/dist/cdn/components/chunks/chunk-EAKYD33D.js +0 -110
- package/dist/cdn/components/chunks/chunk-EST3M4AO.js +0 -1
- package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +0 -1
- package/dist/cdn/components/chunks/chunk-KBH5PCUO.js +0 -3
- package/dist/cdn/components/chunks/chunk-KVYUNKUO.js +0 -27
- package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +0 -1
- package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +0 -38
- package/dist/cdn/components/chunks/chunk-PCM7D3YF.js +0 -84
- package/dist/cdn/components/chunks/chunk-S2UCEWNG.js +0 -207
- package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +0 -1
- package/dist/cdn/components/chunks/chunk-T4PTHUYF.js +0 -10
- package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
- package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
- package/dist/cdn/components/eun-breadcrumb-item.js +0 -93
- package/dist/cdn/components/eun-table-cell.js +0 -1
- package/dist/cdn/components/eun-table-column.js +0 -1
- package/dist/cdn/components/eun-table-header.js +0 -1
- package/dist/cdn/components/eun-table-item.js +0 -1
- package/dist/cdn/components/eun-table-skeleton-row.js +0 -1
- package/dist/cdn/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
- package/dist/cdn/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
- package/dist/cdn/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
- package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +0 -77
- package/dist/components/navigation/breadcrumb/breadcrumb-item.js +0 -130
- package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.d.ts +0 -6
- package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +0 -78
- package/dist/features/table/native-table.css +0 -276
- package/dist/features/table/shared-styles/table-row.styles.d.ts +0 -7
- package/dist/features/table/shared-styles/table-row.styles.js +0 -47
- package/dist/features/table/shared-styles/table-shared.styles.d.ts +0 -23
- package/dist/features/table/shared-styles/table-shared.styles.js +0 -33
- package/dist/features/table/table-cell/table-cell.d.ts +0 -59
- package/dist/features/table/table-cell/table-cell.js +0 -73
- package/dist/features/table/table-cell/table-cell.styles.d.ts +0 -1
- package/dist/features/table/table-cell/table-cell.styles.js +0 -46
- package/dist/features/table/table-column/table-column.d.ts +0 -73
- package/dist/features/table/table-column/table-column.js +0 -89
- package/dist/features/table/table-column/table-column.styles.d.ts +0 -1
- package/dist/features/table/table-column/table-column.styles.js +0 -51
- package/dist/features/table/table-header/table-header.d.ts +0 -102
- package/dist/features/table/table-header/table-header.js +0 -165
- package/dist/features/table/table-header/table-header.styles.d.ts +0 -1
- package/dist/features/table/table-header/table-header.styles.js +0 -147
- package/dist/features/table/table-item/table-item.d.ts +0 -179
- package/dist/features/table/table-item/table-item.js +0 -291
- package/dist/features/table/table-item/table-item.styles.d.ts +0 -1
- package/dist/features/table/table-item/table-item.styles.js +0 -404
- package/dist/features/table/table-managed/table-managed.d.ts +0 -19
- package/dist/features/table/table-managed/table-managed.js +0 -128
- package/dist/features/table/table-skeleton-row/table-skeleton-row.d.ts +0 -46
- package/dist/features/table/table-skeleton-row/table-skeleton-row.js +0 -110
- package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.d.ts +0 -12
- package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +0 -65
- package/dist/mixins/table-row.mixin.d.ts +0 -37
- package/dist/mixins/table-row.mixin.js +0 -103
- package/styles/tools/mixins/media-queries/eunomia-device.mixin.scss +0 -14
- package/styles/tools/mixins/media-queries/eunomia-gte.mixin.scss +0 -26
- package/styles/tools/mixins/media-queries/eunomia-lte.mixin.scss +0 -26
|
@@ -21,7 +21,9 @@ import { ChangeEvent } from "../../../events/change.event.js";
|
|
|
21
21
|
import { formLabelsStyles } from "../shared-styles/form-labels.styles.js";
|
|
22
22
|
import { selectStyles } from "./select.styles.js";
|
|
23
23
|
import { isWebKit } from "../../../utils/browser.utils.js";
|
|
24
|
-
import { parseListboxOptions, renderHighlightedLabel, } from "../../../utils/listbox-options.utils.js";
|
|
24
|
+
import { parseListboxOptions, renderHighlightedLabel, renderListboxRows, } from "../../../utils/listbox-options.utils.js";
|
|
25
|
+
import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
|
|
26
|
+
import { LocalizableMixin, } from "../../../mixins/localizable.mixin.js";
|
|
25
27
|
/**
|
|
26
28
|
* Tag name of the select component.
|
|
27
29
|
*/
|
|
@@ -31,7 +33,7 @@ export const EunomiaSelectTagName = "eun-select";
|
|
|
31
33
|
* @internal
|
|
32
34
|
*/
|
|
33
35
|
const Base = DisabledMixin(ValidatorsMixin(LitElement));
|
|
34
|
-
const EunomiaSelectMixinBase = AnchorPositionMixin(FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(EditableMixin(FormMixin(Base))))));
|
|
36
|
+
const EunomiaSelectMixinBase = LocalizableMixin(AnchorPositionMixin(FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(EditableMixin(FormMixin(Base)))))));
|
|
35
37
|
/**
|
|
36
38
|
* A field that picks one or more values from a list of option and optgroup
|
|
37
39
|
* children. Set searchable to let the field also filter that list as the
|
|
@@ -67,7 +69,9 @@ const EunomiaSelectMixinBase = AnchorPositionMixin(FieldAppearanceMixin(FormLabe
|
|
|
67
69
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
68
70
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
69
71
|
* @prop {boolean} [required=false] - Whether a selection is required
|
|
70
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
72
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
73
|
+
* @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
|
|
74
|
+
* @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
|
|
71
75
|
* @prop {Array<Validators<string | string[]>>} validators - The list of validation rules applied to the field value
|
|
72
76
|
* @prop {EunomiaIconName} icon - An optional leading icon
|
|
73
77
|
* @prop {string} [placeholder] - The placeholder shown when the field is empty. Defaults to searchPlaceholder when searchable, and selectPlaceholder otherwise
|
|
@@ -77,10 +81,10 @@ const EunomiaSelectMixinBase = AnchorPositionMixin(FieldAppearanceMixin(FormLabe
|
|
|
77
81
|
* @attr {string} [select-placeholder='Select…'] - The fallback for placeholder when searchable isn't set
|
|
78
82
|
* @prop {boolean} [readonlyAvailable=false] - Whether the field can switch between a static display and an editable one
|
|
79
83
|
* @attr {boolean} [readonly-available=false] - Whether the field can switch between a static display and an editable one
|
|
80
|
-
* @prop {string} [emptyValueLabel
|
|
84
|
+
* @prop {string} [emptyValueLabel] - Text displayed in place of the value when readonly and empty. Defaults to the localized string for the current locale (English: "No value set")
|
|
81
85
|
* @prop {string} [noResultsLabel='No results'] - Text displayed in the dropdown when no option matches the search
|
|
82
|
-
* @prop {string} [confirmLabel
|
|
83
|
-
* @attr {string} [confirm-label
|
|
86
|
+
* @prop {string} [confirmLabel] - The label of the confirm button, shown while editing in readonlyAvailable mode or while multiple and the dropdown is open. Set to an empty string to hide the button entirely. Defaults to the localized string for the current locale (English: "Confirm")
|
|
87
|
+
* @attr {string} [confirm-label] - The label of the confirm button, shown while editing in readonlyAvailable mode or while multiple and the dropdown is open. Set to an empty string to hide the button entirely. Defaults to the localized string for the current locale (English: "Confirm")
|
|
84
88
|
* @prop {boolean} [noAnimation=false] - Disables the dropdown panel's open and close height transition, on top of the automatic reduced motion handling
|
|
85
89
|
* @prop {boolean} [loading=false] - Whether options are currently being fetched. Shows a spinning loading indicator in place of the dropdown arrow, and a single disabled loading row instead of the option list. Has no effect while native, beyond the arrow swap
|
|
86
90
|
* @prop {string} [loadingLabel='Loading…'] - The accessible label announced by the loading indicator while loading is set
|
|
@@ -93,9 +97,12 @@ const EunomiaSelectMixinBase = AnchorPositionMixin(FieldAppearanceMixin(FormLabe
|
|
|
93
97
|
* @cssprop [--field-border-color-focus] - Sets the border color on focus
|
|
94
98
|
* @cssprop [--field-border-radius] - Sets the corner radius of the field
|
|
95
99
|
* @cssprop [--field-padding] - Sets the padding of the field
|
|
100
|
+
* @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
101
|
+
* @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
96
102
|
* @cssprop [--field-text-color] - Sets the text color of the field
|
|
97
103
|
* @cssprop [--field-placeholder-color] - Sets the color of the placeholder
|
|
98
104
|
* @cssprop [--field-icon-color] - Sets the color of the leading icon and the dropdown arrow
|
|
105
|
+
* @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the search component
|
|
99
106
|
* @cssprop [--field-error-color] - Sets the color of the error message
|
|
100
107
|
* @cssprop [--field-hint-color] - Sets the color of the hint message
|
|
101
108
|
* @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
|
|
@@ -109,11 +116,19 @@ const EunomiaSelectMixinBase = AnchorPositionMixin(FieldAppearanceMixin(FormLabe
|
|
|
109
116
|
* @cssprop [--field-listbox-transition-duration=200ms] - Sets the duration of the dropdown panel's open and close height transition, disabled entirely by the no-animation attribute or reduced motion settings
|
|
110
117
|
* @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the dropdown panel keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
|
|
111
118
|
* @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
|
|
119
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
120
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
121
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
112
122
|
* @element eun-select
|
|
113
123
|
*/
|
|
114
124
|
let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectMixinBase {
|
|
115
125
|
constructor() {
|
|
116
126
|
super(...arguments);
|
|
127
|
+
/**
|
|
128
|
+
* Every change is a complete choice, so its error shows right away.
|
|
129
|
+
* @internal
|
|
130
|
+
*/
|
|
131
|
+
this.errorOnChange = true;
|
|
117
132
|
/**
|
|
118
133
|
* Indicates whether the field filters its options as the user types.
|
|
119
134
|
* When false, the field is read-only and driven by Arrow keys, `Enter`,
|
|
@@ -157,27 +172,11 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
157
172
|
* @default Select…
|
|
158
173
|
*/
|
|
159
174
|
this.selectPlaceholder = "Select…";
|
|
160
|
-
/**
|
|
161
|
-
* Text displayed in place of the value when readonly and empty.
|
|
162
|
-
* @default No value set
|
|
163
|
-
*/
|
|
164
|
-
this.emptyValueLabel = "No value set";
|
|
165
175
|
/**
|
|
166
176
|
* Text displayed in the dropdown when no option matches the search.
|
|
167
177
|
* @default No results
|
|
168
178
|
*/
|
|
169
179
|
this.noResultsLabel = "No results";
|
|
170
|
-
/**
|
|
171
|
-
* Label of the confirm button — shown while editing in `readonlyAvailable`
|
|
172
|
-
* mode, or while `multiple` and the dropdown is open (see the class doc).
|
|
173
|
-
* Slot content into `confirm` instead for anything richer than plain text
|
|
174
|
-
* (an icon, for instance) ; slotted content, when present, overrides this.
|
|
175
|
-
* Set to an empty string to hide the button entirely — e.g. for a
|
|
176
|
-
* `readonlyAvailable` field where picking an option is already confirmation
|
|
177
|
-
* enough on its own, and the extra button would just be clutter.
|
|
178
|
-
* @default Confirm
|
|
179
|
-
*/
|
|
180
|
-
this.confirmLabel = "Confirm";
|
|
181
180
|
/**
|
|
182
181
|
* Indicates whether options are currently being fetched (e.g. a
|
|
183
182
|
* server-filtered `searchable` field). Shows a spinning `eun-loader` in
|
|
@@ -507,7 +506,8 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
507
506
|
* @internal
|
|
508
507
|
*/
|
|
509
508
|
get hasConfirmContent() {
|
|
510
|
-
return this.hasConfirmSlot ||
|
|
509
|
+
return (this.hasConfirmSlot ||
|
|
510
|
+
!!(this.confirmLabel ?? this.dictionary.common.confirm));
|
|
511
511
|
}
|
|
512
512
|
/**
|
|
513
513
|
* The normalised search query driving both filtering and highlighting.
|
|
@@ -600,9 +600,22 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
600
600
|
}
|
|
601
601
|
if (_changedProperties.has("readonly") ||
|
|
602
602
|
_changedProperties.has("disabled")) {
|
|
603
|
-
|
|
603
|
+
if (this.disabled || this.readonly) {
|
|
604
|
+
this.setAttribute("tabindex", "-1");
|
|
605
|
+
}
|
|
606
|
+
else {
|
|
607
|
+
this.removeAttribute("tabindex");
|
|
608
|
+
}
|
|
604
609
|
}
|
|
605
610
|
}
|
|
611
|
+
/**
|
|
612
|
+
* The host is never a tab stop of its own : sequential navigation goes
|
|
613
|
+
* straight to the controls inside, in both directions, and
|
|
614
|
+
* {@link focus} covers a direct call on the host.
|
|
615
|
+
*/
|
|
616
|
+
get hostTabStop() {
|
|
617
|
+
return false;
|
|
618
|
+
}
|
|
606
619
|
/**
|
|
607
620
|
* Returns the field element to focus/anchor on validation errors.
|
|
608
621
|
*
|
|
@@ -656,7 +669,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
656
669
|
* The listbox's open/close animation duration, in ms : `0` if `
|
|
657
670
|
* noAnimation` is set or the browser reports `prefers-reduced-motion:
|
|
658
671
|
* reduce`, otherwise `--field-listbox-transition-duration` (default
|
|
659
|
-
* `
|
|
672
|
+
* `--eun-duration-m`).
|
|
660
673
|
*
|
|
661
674
|
* @param el the listbox to read `--field-listbox-transition-duration` off.
|
|
662
675
|
* @private
|
|
@@ -666,18 +679,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
666
679
|
window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
|
667
680
|
return 0;
|
|
668
681
|
}
|
|
669
|
-
|
|
670
|
-
.getPropertyValue("--field-listbox-transition-duration")
|
|
671
|
-
.trim();
|
|
672
|
-
if (raw) {
|
|
673
|
-
const parsed = raw.endsWith("ms")
|
|
674
|
-
? Number.parseFloat(raw)
|
|
675
|
-
: Number.parseFloat(raw) * 1000;
|
|
676
|
-
if (Number.isFinite(parsed) && parsed >= 0) {
|
|
677
|
-
return parsed;
|
|
678
|
-
}
|
|
679
|
-
}
|
|
680
|
-
return 200;
|
|
682
|
+
return resolveDurationMs(el, "--field-listbox-transition-duration", "m", 200);
|
|
681
683
|
}
|
|
682
684
|
/**
|
|
683
685
|
* Plays the fade/scaleY-in, replacing any {@link listboxAnimation}
|
|
@@ -695,7 +697,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
695
697
|
this.listboxAnimation = listbox.animate([
|
|
696
698
|
{ opacity: 0, transform: "scaleY(0.01)" },
|
|
697
699
|
{ opacity: 1, transform: "scaleY(1)" },
|
|
698
|
-
], { duration, easing:
|
|
700
|
+
], { duration, easing: resolveEasing(listbox), fill: "forwards" });
|
|
699
701
|
}
|
|
700
702
|
/**
|
|
701
703
|
* Closes the dropdown panel, if open. All state cleanup happens in
|
|
@@ -738,7 +740,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
738
740
|
const animation = listbox.animate([
|
|
739
741
|
{ opacity: 1, transform: "scaleY(1)" },
|
|
740
742
|
{ opacity: 0, transform: "scaleY(0.01)" },
|
|
741
|
-
], { duration, easing:
|
|
743
|
+
], { duration, easing: resolveEasing(listbox), fill: "forwards" });
|
|
742
744
|
this.listboxAnimation = animation;
|
|
743
745
|
animation.finished
|
|
744
746
|
.then(() => {
|
|
@@ -932,6 +934,27 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
932
934
|
}
|
|
933
935
|
break;
|
|
934
936
|
}
|
|
937
|
+
case " ": {
|
|
938
|
+
// Space opens the list, then picks the highlighted option, as in
|
|
939
|
+
// a select-only combobox, unless it continues a type-ahead search
|
|
940
|
+
// or is typed into the search text.
|
|
941
|
+
if (this.searchable || this.typeaheadBuffer) {
|
|
942
|
+
if (!this.searchable) {
|
|
943
|
+
this.handleTypeahead(event);
|
|
944
|
+
}
|
|
945
|
+
break;
|
|
946
|
+
}
|
|
947
|
+
event.preventDefault();
|
|
948
|
+
if (!this.isOpen) {
|
|
949
|
+
this.openListbox();
|
|
950
|
+
break;
|
|
951
|
+
}
|
|
952
|
+
const option = this.filteredOptions[this.highlightedIndex];
|
|
953
|
+
if (option) {
|
|
954
|
+
this.handleSelect(option);
|
|
955
|
+
}
|
|
956
|
+
break;
|
|
957
|
+
}
|
|
935
958
|
default:
|
|
936
959
|
if (!this.searchable) {
|
|
937
960
|
this.handleTypeahead(event);
|
|
@@ -991,27 +1014,17 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
991
1014
|
return renderHighlightedLabel(label, this.effectiveQuery);
|
|
992
1015
|
}
|
|
993
1016
|
/**
|
|
994
|
-
* Renders the dropdown's option rows,
|
|
995
|
-
*
|
|
1017
|
+
* Renders the dropdown's option rows, grouped under their `optgroup`
|
|
1018
|
+
* label (see {@link renderListboxRows}).
|
|
996
1019
|
*
|
|
997
1020
|
* @param options the options to render, already filtered.
|
|
998
1021
|
* @returns the rendered rows.
|
|
999
1022
|
* @private
|
|
1000
1023
|
*/
|
|
1001
1024
|
renderOptionRows(options) {
|
|
1002
|
-
|
|
1003
|
-
let lastGroup;
|
|
1004
|
-
options.forEach((option, index) => {
|
|
1005
|
-
if (option.group !== lastGroup) {
|
|
1006
|
-
lastGroup = option.group;
|
|
1007
|
-
if (option.group) {
|
|
1008
|
-
rows.push(html `<li class="group-label" role="presentation">
|
|
1009
|
-
${option.group}
|
|
1010
|
-
</li>`);
|
|
1011
|
-
}
|
|
1012
|
-
}
|
|
1025
|
+
return renderListboxRows(options, (option, index) => {
|
|
1013
1026
|
const selected = this.isSelected(option);
|
|
1014
|
-
|
|
1027
|
+
return html `
|
|
1015
1028
|
<li
|
|
1016
1029
|
id="listbox-option-${index}"
|
|
1017
1030
|
role="option"
|
|
@@ -1037,9 +1050,8 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
1037
1050
|
? this.renderHighlighted(option.label)
|
|
1038
1051
|
: option.label}
|
|
1039
1052
|
</li>
|
|
1040
|
-
|
|
1053
|
+
`;
|
|
1041
1054
|
});
|
|
1042
|
-
return rows;
|
|
1043
1055
|
}
|
|
1044
1056
|
/**
|
|
1045
1057
|
* Whether the confirm trigger should render at all right now — while
|
|
@@ -1092,7 +1104,9 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
1092
1104
|
}
|
|
1093
1105
|
return html `
|
|
1094
1106
|
<button type="button" id="confirm-link" @click=${this.handleConfirmClick}>
|
|
1095
|
-
<slot name="confirm"
|
|
1107
|
+
<slot name="confirm"
|
|
1108
|
+
>${this.confirmLabel ?? this.dictionary.common.confirm}</slot
|
|
1109
|
+
>
|
|
1096
1110
|
</button>
|
|
1097
1111
|
`;
|
|
1098
1112
|
}
|
|
@@ -1115,7 +1129,8 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
1115
1129
|
>
|
|
1116
1130
|
<slot name="readonly-content">
|
|
1117
1131
|
<span class=${classMap({ empty: !label })}
|
|
1118
|
-
>${label ||
|
|
1132
|
+
>${label ||
|
|
1133
|
+
(this.emptyValueLabel ?? this.dictionary.common.noValue)}</span
|
|
1119
1134
|
>
|
|
1120
1135
|
</slot>
|
|
1121
1136
|
</div>
|
|
@@ -1176,7 +1191,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
1176
1191
|
aria-describedby=${hasDescription ? "description" : nothing}
|
|
1177
1192
|
?disabled=${this.disabled || this.readonly}
|
|
1178
1193
|
?required=${this.required}
|
|
1179
|
-
aria-invalid=${
|
|
1194
|
+
aria-invalid=${this.showError}
|
|
1180
1195
|
@change=${this.handleNativeChange}
|
|
1181
1196
|
></select>
|
|
1182
1197
|
${this.showConfirmLink ? this.renderConfirmLink() : nothing}
|
|
@@ -1225,7 +1240,7 @@ let EunomiaSelect = EunomiaSelect_1 = class EunomiaSelect extends EunomiaSelectM
|
|
|
1225
1240
|
?disabled=${this.disabled}
|
|
1226
1241
|
?readonly=${this.readonly || !this.searchable}
|
|
1227
1242
|
aria-required=${this.required ? "true" : "false"}
|
|
1228
|
-
aria-invalid=${
|
|
1243
|
+
aria-invalid=${this.showError}
|
|
1229
1244
|
@pointerdown=${this.handleFieldPointerDown}
|
|
1230
1245
|
@focus=${this.handleFieldActivate}
|
|
1231
1246
|
@click=${this.handleFieldActivate}
|
|
@@ -28,7 +28,8 @@ const select = css `
|
|
|
28
28
|
pointer-events: none;
|
|
29
29
|
color: var(--_iconColor);
|
|
30
30
|
font-size: var(--eun-font-size-s, 14px);
|
|
31
|
-
transition: transform
|
|
31
|
+
transition: transform var(--eun-duration-s, 150ms)
|
|
32
|
+
var(--eun-easing-default, ease);
|
|
32
33
|
}
|
|
33
34
|
#select-arrow.open {
|
|
34
35
|
transform: rotate(180deg);
|
|
@@ -37,7 +38,7 @@ const select = css `
|
|
|
37
38
|
position: absolute;
|
|
38
39
|
right: var(--eun-space-m, 16px);
|
|
39
40
|
pointer-events: none;
|
|
40
|
-
color: var(--_iconColor);
|
|
41
|
+
color: var(--field-loader-color, var(--_iconColor));
|
|
41
42
|
}
|
|
42
43
|
.has-icon #field {
|
|
43
44
|
padding-inline-start: calc(
|
|
@@ -69,9 +69,9 @@ const base = css `
|
|
|
69
69
|
outline: 2px solid transparent;
|
|
70
70
|
cursor: pointer;
|
|
71
71
|
transition:
|
|
72
|
-
outline
|
|
73
|
-
border-color
|
|
74
|
-
background
|
|
72
|
+
outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
|
|
73
|
+
border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
|
|
74
|
+
background var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
|
|
75
75
|
user-select: none;
|
|
76
76
|
}
|
|
77
77
|
|
|
@@ -82,7 +82,8 @@ const base = css `
|
|
|
82
82
|
display: block;
|
|
83
83
|
color: var(--_iconColor);
|
|
84
84
|
margin-block-end: var(--eun-space-s, 8px);
|
|
85
|
-
transition: color
|
|
85
|
+
transition: color var(--eun-duration-s, 150ms)
|
|
86
|
+
var(--eun-easing-default, ease);
|
|
86
87
|
}
|
|
87
88
|
|
|
88
89
|
slot {
|
|
@@ -9,11 +9,16 @@ import { css } from "lit";
|
|
|
9
9
|
* [--field-border-color-focus] - Set a custom border color on focus state
|
|
10
10
|
* [--field-border-radius] - Set a custom border radius to the field
|
|
11
11
|
* [--field-padding] - Set a custom padding to the field
|
|
12
|
+
* [--field-padding-block] - Set a custom vertical padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
13
|
+
* [--field-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
12
14
|
* [--field-text-color] - Set a custom text color
|
|
13
15
|
* [--field-placeholder-color] - Set a custom placeholder color
|
|
14
16
|
* [--field-icon-color] - Set a custom color to the leading icon and action buttons
|
|
15
17
|
* [--field-error-color] - Set a custom color to the error state content
|
|
16
18
|
* [--field-hint-color] - Set a custom color to the hint message
|
|
19
|
+
* [--field-font-size] - Set a custom font size for the field's value and placeholder
|
|
20
|
+
* [--field-label-font-size] - Set a custom font size for the label (see label.styles.ts)
|
|
21
|
+
* [--field-message-font-size] - Set a custom font size for the hint, error and instructions (see form-labels.styles.ts)
|
|
17
22
|
* [--field-focus-outline-color] - Set a custom color to the focus outline
|
|
18
23
|
* [--field-edit-confirm-color] - Set a custom color for the confirm button in `readonly-available` edit mode
|
|
19
24
|
* [--field-edit-cancel-color] - Set a custom color for the cancel button in `readonly-available` edit mode
|
|
@@ -38,14 +43,18 @@ const base = css `
|
|
|
38
43
|
--field-focus-outline-color,
|
|
39
44
|
var(--eun-color-primary-500, #3d6fff)
|
|
40
45
|
);
|
|
41
|
-
--_borderRadius: var(
|
|
46
|
+
--_borderRadius: var(
|
|
47
|
+
--field-border-radius,
|
|
48
|
+
var(--eun-border-radius-m, 8px)
|
|
49
|
+
);
|
|
42
50
|
--_padding: var(
|
|
43
51
|
--field-padding,
|
|
44
|
-
var(--
|
|
52
|
+
var(--field-padding-block, var(--eun-space-s, 8px))
|
|
53
|
+
var(--field-padding-inline, var(--eun-space-s, 8px))
|
|
45
54
|
);
|
|
46
55
|
--_shadow: var(--field-shadow, none);
|
|
47
56
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
48
|
-
font-size: var(--eun-font-size-s, 14px);
|
|
57
|
+
font-size: var(--field-font-size, var(--eun-font-size-s, 14px));
|
|
49
58
|
display: block;
|
|
50
59
|
width: 100%;
|
|
51
60
|
outline: none;
|
|
@@ -72,8 +81,8 @@ const base = css `
|
|
|
72
81
|
box-shadow: var(--_shadow);
|
|
73
82
|
box-sizing: border-box;
|
|
74
83
|
transition:
|
|
75
|
-
border-color
|
|
76
|
-
outline-color
|
|
84
|
+
border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
|
|
85
|
+
outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
|
|
77
86
|
appearance: none;
|
|
78
87
|
}
|
|
79
88
|
#field::placeholder {
|
|
@@ -176,7 +185,8 @@ const base = css `
|
|
|
176
185
|
border-radius: var(--_borderRadius);
|
|
177
186
|
box-sizing: border-box;
|
|
178
187
|
cursor: text;
|
|
179
|
-
transition: background-color
|
|
188
|
+
transition: background-color var(--eun-duration-s, 150ms)
|
|
189
|
+
var(--eun-easing-default, ease);
|
|
180
190
|
}
|
|
181
191
|
#readonly-display:hover {
|
|
182
192
|
background-color: var(--eun-content-hover, #edeff0);
|
|
@@ -4,7 +4,7 @@ const base = css `
|
|
|
4
4
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
5
5
|
display: block;
|
|
6
6
|
margin-block-start: var(--eun-space-xs, 4px);
|
|
7
|
-
font-size: var(--eun-font-size-xs, 12px);
|
|
7
|
+
font-size: var(--field-message-font-size, var(--eun-font-size-xs, 12px));
|
|
8
8
|
margin-block: 0;
|
|
9
9
|
}
|
|
10
10
|
#description span {
|
|
@@ -89,7 +89,17 @@ const listbox = css `
|
|
|
89
89
|
text-align: center;
|
|
90
90
|
color: var(--_placeholderColor);
|
|
91
91
|
}
|
|
92
|
+
#listbox li.option-group {
|
|
93
|
+
padding: 0;
|
|
94
|
+
cursor: default;
|
|
95
|
+
}
|
|
96
|
+
#listbox .group-options {
|
|
97
|
+
margin: 0;
|
|
98
|
+
padding: 0;
|
|
99
|
+
list-style: none;
|
|
100
|
+
}
|
|
92
101
|
#listbox .group-label {
|
|
102
|
+
padding: var(--eun-space-s, 8px) var(--eun-space-m, 16px);
|
|
93
103
|
cursor: default;
|
|
94
104
|
padding-block-end: var(--eun-space-xxs, 1.6px);
|
|
95
105
|
font-size: var(--eun-font-size-xs, 12px);
|
|
@@ -45,7 +45,9 @@ declare const EunomiaSliderMixinBase: Constructor<EunomiaSliderBase>;
|
|
|
45
45
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
46
46
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
47
47
|
* @prop {boolean} [required=false] - Present for API consistency with every other field, but inert here, since a slider's value can never be empty the way a text field's can
|
|
48
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
48
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
49
|
+
* @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
|
|
50
|
+
* @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
|
|
49
51
|
* @attr {boolean} [hide-error=false] - Whether the errors are hidden
|
|
50
52
|
* @prop {boolean} [hideTooltip=false] - Hides the floating value bubble that otherwise appears above the thumb while dragging or focused
|
|
51
53
|
* @attr {boolean} [hide-tooltip=false] - Hides the floating value bubble that otherwise appears above the thumb while dragging or focused
|
|
@@ -71,6 +73,8 @@ declare const EunomiaSliderMixinBase: Constructor<EunomiaSliderBase>;
|
|
|
71
73
|
* @cssprop [--slider-error-color] - Sets the color of the error message
|
|
72
74
|
* @cssprop [--slider-hint-color] - Sets the color of the hint message
|
|
73
75
|
* @cssprop [--slider-focus-outline-color] - Sets the color of the focus outline drawn around the thumb
|
|
76
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
77
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
74
78
|
* @element eun-slider
|
|
75
79
|
*/
|
|
76
80
|
export declare class EunomiaSlider extends EunomiaSliderMixinBase {
|
|
@@ -175,14 +179,6 @@ export declare class EunomiaSlider extends EunomiaSliderMixinBase {
|
|
|
175
179
|
private hasFocus;
|
|
176
180
|
connectedCallback(): void;
|
|
177
181
|
disconnectedCallback(): void;
|
|
178
|
-
/**
|
|
179
|
-
* Redirects focus to the native field whenever the host itself receives
|
|
180
|
-
* it — the same pattern `eun-counter`/`eun-input` use, so the host stays
|
|
181
|
-
* in the tab order (`DisabledMixin`) rather than excluded via
|
|
182
|
-
* `tabindex="-1"`, which would break Tab from reaching the field at all.
|
|
183
|
-
* @private
|
|
184
|
-
*/
|
|
185
|
-
private readonly handleHostFocus;
|
|
186
182
|
/**
|
|
187
183
|
* The value a native `<input type="range">` with no `value` attribute
|
|
188
184
|
* resolves to on its own.
|
|
@@ -240,6 +236,12 @@ export declare class EunomiaSlider extends EunomiaSliderMixinBase {
|
|
|
240
236
|
* @private
|
|
241
237
|
*/
|
|
242
238
|
private get tickValues();
|
|
239
|
+
/**
|
|
240
|
+
* The host is never a tab stop of its own : sequential navigation goes
|
|
241
|
+
* straight to the controls inside, in both directions, and
|
|
242
|
+
* {@link focus} covers a direct call on the host.
|
|
243
|
+
*/
|
|
244
|
+
protected get hostTabStop(): boolean;
|
|
243
245
|
/**
|
|
244
246
|
* Returns the field element to focus/anchor on validation errors.
|
|
245
247
|
*
|
|
@@ -57,7 +57,9 @@ const EunomiaSliderMixinBase = FormLabelMixin(ReadonlyMixin(FormMixin(Base)));
|
|
|
57
57
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
58
58
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
59
59
|
* @prop {boolean} [required=false] - Present for API consistency with every other field, but inert here, since a slider's value can never be empty the way a text field's can
|
|
60
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
60
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
61
|
+
* @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
|
|
62
|
+
* @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
|
|
61
63
|
* @attr {boolean} [hide-error=false] - Whether the errors are hidden
|
|
62
64
|
* @prop {boolean} [hideTooltip=false] - Hides the floating value bubble that otherwise appears above the thumb while dragging or focused
|
|
63
65
|
* @attr {boolean} [hide-tooltip=false] - Hides the floating value bubble that otherwise appears above the thumb while dragging or focused
|
|
@@ -83,6 +85,8 @@ const EunomiaSliderMixinBase = FormLabelMixin(ReadonlyMixin(FormMixin(Base)));
|
|
|
83
85
|
* @cssprop [--slider-error-color] - Sets the color of the error message
|
|
84
86
|
* @cssprop [--slider-hint-color] - Sets the color of the hint message
|
|
85
87
|
* @cssprop [--slider-focus-outline-color] - Sets the color of the focus outline drawn around the thumb
|
|
88
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
89
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
86
90
|
* @element eun-slider
|
|
87
91
|
*/
|
|
88
92
|
let EunomiaSlider = class EunomiaSlider extends EunomiaSliderMixinBase {
|
|
@@ -130,16 +134,6 @@ let EunomiaSlider = class EunomiaSlider extends EunomiaSliderMixinBase {
|
|
|
130
134
|
* @internal
|
|
131
135
|
*/
|
|
132
136
|
this.hasFocus = false;
|
|
133
|
-
/**
|
|
134
|
-
* Redirects focus to the native field whenever the host itself receives
|
|
135
|
-
* it — the same pattern `eun-counter`/`eun-input` use, so the host stays
|
|
136
|
-
* in the tab order (`DisabledMixin`) rather than excluded via
|
|
137
|
-
* `tabindex="-1"`, which would break Tab from reaching the field at all.
|
|
138
|
-
* @private
|
|
139
|
-
*/
|
|
140
|
-
this.handleHostFocus = () => {
|
|
141
|
-
this.fieldEl?.focus();
|
|
142
|
-
};
|
|
143
137
|
/**
|
|
144
138
|
* Updates the value from dragging or a keyboard-driven native step, and
|
|
145
139
|
* notifies consumers — fires on every native `input` event, so live and
|
|
@@ -253,10 +247,8 @@ let EunomiaSlider = class EunomiaSlider extends EunomiaSliderMixinBase {
|
|
|
253
247
|
connectedCallback() {
|
|
254
248
|
super.connectedCallback?.();
|
|
255
249
|
this.value ??= this.clamp(this.defaultRangeValue);
|
|
256
|
-
this.addEventListener("focus", this.handleHostFocus);
|
|
257
250
|
}
|
|
258
251
|
disconnectedCallback() {
|
|
259
|
-
this.removeEventListener("focus", this.handleHostFocus);
|
|
260
252
|
window.removeEventListener("pointerup", this.handlePointerUp);
|
|
261
253
|
window.removeEventListener("pointercancel", this.handlePointerUp);
|
|
262
254
|
super.disconnectedCallback?.();
|
|
@@ -358,6 +350,14 @@ let EunomiaSlider = class EunomiaSlider extends EunomiaSliderMixinBase {
|
|
|
358
350
|
values.push(this.max);
|
|
359
351
|
return values;
|
|
360
352
|
}
|
|
353
|
+
/**
|
|
354
|
+
* The host is never a tab stop of its own : sequential navigation goes
|
|
355
|
+
* straight to the controls inside, in both directions, and
|
|
356
|
+
* {@link focus} covers a direct call on the host.
|
|
357
|
+
*/
|
|
358
|
+
get hostTabStop() {
|
|
359
|
+
return false;
|
|
360
|
+
}
|
|
361
361
|
/**
|
|
362
362
|
* Returns the field element to focus/anchor on validation errors.
|
|
363
363
|
*
|
|
@@ -431,7 +431,7 @@ let EunomiaSlider = class EunomiaSlider extends EunomiaSliderMixinBase {
|
|
|
431
431
|
step=${this.step}
|
|
432
432
|
.value=${String(value)}
|
|
433
433
|
?disabled=${this.disabled}
|
|
434
|
-
aria-invalid=${
|
|
434
|
+
aria-invalid=${this.showError}
|
|
435
435
|
aria-label=${ifDefined(this.label)}
|
|
436
436
|
aria-describedby=${hasDescription ? "description" : nothing}
|
|
437
437
|
@input=${this.handleInput}
|
|
@@ -96,7 +96,8 @@ const base = css `
|
|
|
96
96
|
border-radius: 50%;
|
|
97
97
|
background: var(--_tickColor);
|
|
98
98
|
transform: translate(-50%, -50%);
|
|
99
|
-
transition: background-color
|
|
99
|
+
transition: background-color var(--eun-duration-s, 150ms)
|
|
100
|
+
var(--eun-easing-default, ease);
|
|
100
101
|
}
|
|
101
102
|
|
|
102
103
|
.tick.tick-active {
|
|
@@ -173,9 +174,9 @@ const base = css `
|
|
|
173
174
|
outline: 2px solid transparent;
|
|
174
175
|
cursor: grab;
|
|
175
176
|
transition:
|
|
176
|
-
transform
|
|
177
|
-
outline
|
|
178
|
-
outline-color
|
|
177
|
+
transform var(--eun-duration-xs, 100ms) var(--eun-easing-default, ease),
|
|
178
|
+
outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
|
|
179
|
+
outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
|
|
179
180
|
}
|
|
180
181
|
|
|
181
182
|
#field:active::-webkit-slider-thumb {
|
|
@@ -211,9 +212,9 @@ const base = css `
|
|
|
211
212
|
outline: 2px solid transparent;
|
|
212
213
|
cursor: grab;
|
|
213
214
|
transition:
|
|
214
|
-
outline
|
|
215
|
-
transform
|
|
216
|
-
outline-color
|
|
215
|
+
outline var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
|
|
216
|
+
transform var(--eun-duration-xs, 100ms) var(--eun-easing-default, ease),
|
|
217
|
+
outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
|
|
217
218
|
}
|
|
218
219
|
|
|
219
220
|
#field:active::-moz-range-thumb {
|
|
@@ -38,7 +38,9 @@ declare const EunomiaSwitchMixinBase: Constructor<EunomiaSwitchBase>;
|
|
|
38
38
|
* @prop {boolean} [readonly=false] - Whether the switch is read only
|
|
39
39
|
* @prop {boolean} [hideIcon=false] - Whether the icon inside the thumb is hidden
|
|
40
40
|
* @attr {boolean} [hide-icon=false] - Whether the icon inside the thumb is hidden
|
|
41
|
-
* @prop {boolean} [hideError=false] - Whether the
|
|
41
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
42
|
+
* @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
|
|
43
|
+
* @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
|
|
42
44
|
* @attr {boolean} [hide-error=false] - Whether the error message is hidden
|
|
43
45
|
* @prop {boolean} [required=false] - Whether the switch must be turned on to be valid
|
|
44
46
|
* @prop {string} name - The name of the switch field
|
|
@@ -62,6 +64,8 @@ declare const EunomiaSwitchMixinBase: Constructor<EunomiaSwitchBase>;
|
|
|
62
64
|
* @cssprop [--switch-error-color] - Sets the color of the error message
|
|
63
65
|
* @cssprop [--switch-hint-color] - Sets the color of the hint message
|
|
64
66
|
* @cssprop [--switch-focus-outline-color] - Sets the color of the focus outline
|
|
67
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
68
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
65
69
|
* @fires click - Fired when the switch is clicked
|
|
66
70
|
* @fires {ChangeEvent} eunchange - Fired when the switch's checked state changes
|
|
67
71
|
* @element eun-switch
|
|
@@ -43,7 +43,9 @@ const EunomiaSwitchMixinBase = CheckMixin(ReadonlyMixin(FormMixin(DisabledMixin(
|
|
|
43
43
|
* @prop {boolean} [readonly=false] - Whether the switch is read only
|
|
44
44
|
* @prop {boolean} [hideIcon=false] - Whether the icon inside the thumb is hidden
|
|
45
45
|
* @attr {boolean} [hide-icon=false] - Whether the icon inside the thumb is hidden
|
|
46
|
-
* @prop {boolean} [hideError=false] - Whether the
|
|
46
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
47
|
+
* @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
|
|
48
|
+
* @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
|
|
47
49
|
* @attr {boolean} [hide-error=false] - Whether the error message is hidden
|
|
48
50
|
* @prop {boolean} [required=false] - Whether the switch must be turned on to be valid
|
|
49
51
|
* @prop {string} name - The name of the switch field
|
|
@@ -67,6 +69,8 @@ const EunomiaSwitchMixinBase = CheckMixin(ReadonlyMixin(FormMixin(DisabledMixin(
|
|
|
67
69
|
* @cssprop [--switch-error-color] - Sets the color of the error message
|
|
68
70
|
* @cssprop [--switch-hint-color] - Sets the color of the hint message
|
|
69
71
|
* @cssprop [--switch-focus-outline-color] - Sets the color of the focus outline
|
|
72
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
73
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
70
74
|
* @fires click - Fired when the switch is clicked
|
|
71
75
|
* @fires {ChangeEvent} eunchange - Fired when the switch's checked state changes
|
|
72
76
|
* @element eun-switch
|
|
@@ -39,7 +39,7 @@ const base = css `
|
|
|
39
39
|
);
|
|
40
40
|
--_trackBorderWidth: var(--eun-border-width-s, 1px);
|
|
41
41
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
42
|
-
font-size: var(--eun-font-size-s, 14px);
|
|
42
|
+
font-size: var(--field-label-font-size, var(--eun-font-size-s, 14px));
|
|
43
43
|
display: flex;
|
|
44
44
|
width: 100%;
|
|
45
45
|
outline: none;
|
|
@@ -166,9 +166,10 @@ const base = css `
|
|
|
166
166
|
box-sizing: border-box;
|
|
167
167
|
outline: 2px solid transparent;
|
|
168
168
|
transition:
|
|
169
|
-
background-color
|
|
170
|
-
|
|
171
|
-
|
|
169
|
+
background-color var(--eun-duration-s, 150ms)
|
|
170
|
+
var(--eun-easing-default, ease),
|
|
171
|
+
outline var(--eun-duration-xl, 300ms) var(--eun-easing-default, ease),
|
|
172
|
+
border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
|
|
172
173
|
}
|
|
173
174
|
|
|
174
175
|
#thumb {
|
|
@@ -183,7 +184,8 @@ const base = css `
|
|
|
183
184
|
display: flex;
|
|
184
185
|
align-items: center;
|
|
185
186
|
justify-content: center;
|
|
186
|
-
transition: transform
|
|
187
|
+
transition: transform var(--eun-duration-s, 150ms)
|
|
188
|
+
var(--eun-easing-default, ease);
|
|
187
189
|
}
|
|
188
190
|
:host([aria-checked="true"]) #thumb {
|
|
189
191
|
transform: translateX(
|