@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
|
@@ -0,0 +1,213 @@
|
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Base style for rating.
|
|
4
|
+
*
|
|
5
|
+
* Custom css variables:
|
|
6
|
+
* [--rating-size] - Set a custom width/height for each icon
|
|
7
|
+
* [--rating-gap] - Set a custom space between two icons
|
|
8
|
+
* [--rating-color] - Set a custom color to the filled icons
|
|
9
|
+
* [--rating-empty-color] - Set a custom color to the empty icons
|
|
10
|
+
* [--rating-error-color] - Set a custom color to the error message, and to the empty icons while in error
|
|
11
|
+
* [--rating-hint-color] - Set a custom color to the hint message
|
|
12
|
+
* [--rating-focus-outline-color] - Set a custom color to the focus outline drawn around the focused icon and the clear button
|
|
13
|
+
*/
|
|
14
|
+
const base = css `
|
|
15
|
+
:host {
|
|
16
|
+
--_iconSize: var(--rating-size, 24px);
|
|
17
|
+
--_gap: var(--rating-gap, var(--eun-space-xs, 4px));
|
|
18
|
+
--_color: var(--rating-color, var(--eun-color-primary-500, #3d6fff));
|
|
19
|
+
--_emptyColor: var(
|
|
20
|
+
--rating-empty-color,
|
|
21
|
+
color-mix(
|
|
22
|
+
in srgb,
|
|
23
|
+
var(--eun-text-color, #071621) 55%,
|
|
24
|
+
var(--eun-surface-color, #ffffff)
|
|
25
|
+
)
|
|
26
|
+
);
|
|
27
|
+
--_errorColor: var(
|
|
28
|
+
--rating-error-color,
|
|
29
|
+
var(--eun-color-critical-100, #aa0014)
|
|
30
|
+
);
|
|
31
|
+
--_hintColor: var(--rating-hint-color, var(--eun-text-secondary, #484e61));
|
|
32
|
+
--_focusIndicator: var(
|
|
33
|
+
--rating-focus-outline-color,
|
|
34
|
+
var(--eun-color-primary-500, #3d6fff)
|
|
35
|
+
);
|
|
36
|
+
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
37
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
38
|
+
display: inline-block;
|
|
39
|
+
vertical-align: middle;
|
|
40
|
+
outline: none;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
#wrapper {
|
|
44
|
+
display: flex;
|
|
45
|
+
flex-direction: column;
|
|
46
|
+
gap: var(--eun-space-xs, 4px);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
#control {
|
|
50
|
+
display: flex;
|
|
51
|
+
align-items: center;
|
|
52
|
+
gap: var(--eun-space-s, 8px);
|
|
53
|
+
}
|
|
54
|
+
|
|
55
|
+
#items {
|
|
56
|
+
display: flex;
|
|
57
|
+
gap: var(--_gap);
|
|
58
|
+
cursor: pointer;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
.item {
|
|
62
|
+
position: relative;
|
|
63
|
+
flex: none;
|
|
64
|
+
width: var(--_iconSize);
|
|
65
|
+
height: var(--_iconSize);
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
:host([display-only]) #items {
|
|
69
|
+
cursor: default;
|
|
70
|
+
}
|
|
71
|
+
|
|
72
|
+
.icon {
|
|
73
|
+
position: absolute;
|
|
74
|
+
inset: 0;
|
|
75
|
+
pointer-events: none;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.icon eun-icon {
|
|
79
|
+
--icon-size: var(--_iconSize);
|
|
80
|
+
display: block;
|
|
81
|
+
width: var(--_iconSize);
|
|
82
|
+
height: var(--_iconSize);
|
|
83
|
+
}
|
|
84
|
+
|
|
85
|
+
.empty {
|
|
86
|
+
--icon-color: var(--_emptyColor);
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
.fill {
|
|
90
|
+
position: absolute;
|
|
91
|
+
inset-block: 0;
|
|
92
|
+
inset-inline-start: 0;
|
|
93
|
+
overflow: hidden;
|
|
94
|
+
--icon-color: var(--_color);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.fill eun-icon {
|
|
98
|
+
flex: none;
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
input {
|
|
102
|
+
position: absolute;
|
|
103
|
+
inset-block: 0;
|
|
104
|
+
inset-inline-start: 0;
|
|
105
|
+
width: 100%;
|
|
106
|
+
height: 100%;
|
|
107
|
+
margin: 0;
|
|
108
|
+
opacity: 0;
|
|
109
|
+
appearance: none;
|
|
110
|
+
pointer-events: none;
|
|
111
|
+
}
|
|
112
|
+
|
|
113
|
+
input.half {
|
|
114
|
+
width: 50%;
|
|
115
|
+
}
|
|
116
|
+
|
|
117
|
+
input.end {
|
|
118
|
+
inset-inline-start: 50%;
|
|
119
|
+
width: 50%;
|
|
120
|
+
}
|
|
121
|
+
|
|
122
|
+
.focus-ring {
|
|
123
|
+
position: absolute;
|
|
124
|
+
inset: -3px;
|
|
125
|
+
border-radius: var(--eun-border-radius-s, 4px);
|
|
126
|
+
outline: 2px solid transparent;
|
|
127
|
+
pointer-events: none;
|
|
128
|
+
transition: outline-color var(--eun-duration-s, 150ms)
|
|
129
|
+
var(--eun-easing-default, ease);
|
|
130
|
+
}
|
|
131
|
+
|
|
132
|
+
.focus-ring.half {
|
|
133
|
+
inset-inline-end: 50%;
|
|
134
|
+
}
|
|
135
|
+
|
|
136
|
+
input:focus-visible + .focus-ring {
|
|
137
|
+
outline-color: var(--_focusIndicator);
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
#clear {
|
|
141
|
+
display: inline-flex;
|
|
142
|
+
align-items: center;
|
|
143
|
+
justify-content: center;
|
|
144
|
+
min-width: 24px;
|
|
145
|
+
min-height: 24px;
|
|
146
|
+
padding: 2px;
|
|
147
|
+
border: none;
|
|
148
|
+
border-radius: 50%;
|
|
149
|
+
background: transparent;
|
|
150
|
+
color: var(--eun-text-secondary, #484e61);
|
|
151
|
+
cursor: pointer;
|
|
152
|
+
outline: 2px solid transparent;
|
|
153
|
+
outline-offset: 2px;
|
|
154
|
+
--icon-size: 18px;
|
|
155
|
+
transition:
|
|
156
|
+
background-color var(--eun-duration-s, 150ms)
|
|
157
|
+
var(--eun-easing-default, ease),
|
|
158
|
+
outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
#clear:hover {
|
|
162
|
+
background: var(--eun-content-hover, #9696961a);
|
|
163
|
+
}
|
|
164
|
+
|
|
165
|
+
#clear:active {
|
|
166
|
+
background: var(--eun-content-pressed, #e4e6e8);
|
|
167
|
+
}
|
|
168
|
+
|
|
169
|
+
#clear:focus-visible {
|
|
170
|
+
outline-color: var(--_focusIndicator);
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
#items[aria-invalid="true"] {
|
|
174
|
+
--_emptyColor: var(--_errorColor);
|
|
175
|
+
}
|
|
176
|
+
|
|
177
|
+
:host([aria-readonly="true"]) {
|
|
178
|
+
--_color: var(--eun-readonly-color, #666e8a);
|
|
179
|
+
}
|
|
180
|
+
|
|
181
|
+
:host([aria-readonly="true"]) #items {
|
|
182
|
+
cursor: default;
|
|
183
|
+
}
|
|
184
|
+
|
|
185
|
+
:host([aria-disabled="true"]) {
|
|
186
|
+
--_color: var(--eun-text-disabled-color, #8d93aa);
|
|
187
|
+
--_emptyColor: var(--eun-disabled-content, #c1c9d6);
|
|
188
|
+
}
|
|
189
|
+
|
|
190
|
+
:host([aria-disabled="true"]) #items {
|
|
191
|
+
cursor: not-allowed;
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@media (forced-colors: active) {
|
|
195
|
+
.fill {
|
|
196
|
+
--icon-color: CanvasText;
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
.empty {
|
|
200
|
+
--icon-color: CanvasText;
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
input:focus-visible + .focus-ring,
|
|
204
|
+
#clear:focus-visible {
|
|
205
|
+
outline-color: Highlight;
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
:host([aria-disabled="true"]) .icon eun-icon {
|
|
209
|
+
--icon-color: GrayText;
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
`;
|
|
213
|
+
export const ratingStyles = base;
|
|
@@ -26,7 +26,7 @@ declare const EunomiaSearch_base: import("../../../utils/constructor.type.js").C
|
|
|
26
26
|
* @slot results - Content rendered below the field inside the panel, such as a result list. Only relevant when panel is set
|
|
27
27
|
* @prop {boolean} [shortcut=false] - Enables the Ctrl+K or Cmd+K global shortcut and its visual key hint badge
|
|
28
28
|
* @prop {boolean} [panel=false] - Opens a modal command palette panel on shortcut or click instead of focusing inline
|
|
29
|
-
* @prop {string} [
|
|
29
|
+
* @prop {string} [panelLabel] - The accessible name of the panel's dialog, used when label isn't set. Defaults to the localized string for the current locale (English: "Search")
|
|
30
30
|
* @prop {boolean} [loading=false] - Whether a search request is currently in flight. Shows a spinning loading indicator in place of the clear button or shortcut hint on the inline field only. Ignored on the panel trigger and the panel's own field, which stay static, so reflect the loading state on the results slot instead
|
|
31
31
|
* @prop {string} [loadingLabel='Loading…'] - The accessible label announced by the loading indicator while loading is set
|
|
32
32
|
* @prop {boolean} [suggestions=false] - Opens a dropdown listbox showing light DOM option and optgroup children matching the typed value, highlighting the matched substring. Ignored while panel is set
|
|
@@ -38,6 +38,7 @@ declare const EunomiaSearch_base: import("../../../utils/constructor.type.js").C
|
|
|
38
38
|
* @cssprop [--field-match-background] - Sets the background of the matched search substring, none by default. Shared with the select component
|
|
39
39
|
* @cssprop [--field-match-font-weight] - Sets the font weight of the matched search substring. Shared with the select component
|
|
40
40
|
* @cssprop [--field-match-text-decoration] - Sets the text decoration, such as underline, of the matched search substring, none by default. Shared with the select component
|
|
41
|
+
* @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the select component
|
|
41
42
|
* @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the suggestions dropdown keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
|
|
42
43
|
* @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
|
|
43
44
|
* @element eun-search
|
|
@@ -53,7 +54,8 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
|
|
|
53
54
|
/**
|
|
54
55
|
* Always `"search"` — enforced in `willUpdate`, since `EunomiaInput` declares
|
|
55
56
|
* `type` as a plain property (not an accessor), which TypeScript doesn't
|
|
56
|
-
* allow overriding as a getter/setter pair from a subclass.
|
|
57
|
+
* allow overriding as a getter/setter pair from a subclass. Never
|
|
58
|
+
* reflected, since it can't differ from its default.
|
|
57
59
|
* @default search
|
|
58
60
|
*/
|
|
59
61
|
type: EunomiaInputType;
|
|
@@ -90,9 +92,9 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
|
|
|
90
92
|
* Accessible name of the panel's dialog, used as `eun-modal`'s `aria-label`
|
|
91
93
|
* since the panel renders no visible heading. Ignored when `label` is set
|
|
92
94
|
* (used instead, since it already names the field itself).
|
|
93
|
-
*
|
|
95
|
+
* Falls back to the localized string for the current locale when unset.
|
|
94
96
|
*/
|
|
95
|
-
|
|
97
|
+
panelLabel?: string;
|
|
96
98
|
/**
|
|
97
99
|
* Indicates whether a search request is currently in flight. Shows a
|
|
98
100
|
* spinning `eun-loader` in place of the clear button/shortcut hint on the
|
|
@@ -199,7 +201,7 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
|
|
|
199
201
|
*/
|
|
200
202
|
protected willUpdate(changedProperties: PropertyValues): void;
|
|
201
203
|
/**
|
|
202
|
-
*
|
|
204
|
+
* Sends a direct `focus()` call on the host to
|
|
203
205
|
* the collapsed trigger button while `panel` is set, instead of the
|
|
204
206
|
* inherited default (the native field) : that field lives inside the
|
|
205
207
|
* still-closed modal at this point, and focusing hidden popover content
|
|
@@ -270,7 +272,7 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
|
|
|
270
272
|
/**
|
|
271
273
|
* The listbox's open/close animation duration, in ms : `0` under
|
|
272
274
|
* `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
|
|
273
|
-
* transition-duration` (default `
|
|
275
|
+
* transition-duration` (default `--eun-duration-m`).
|
|
274
276
|
*
|
|
275
277
|
* @param el the listbox to read `--field-listbox-transition-duration` off.
|
|
276
278
|
* @private
|
|
@@ -359,9 +361,8 @@ export declare class EunomiaSearch extends EunomiaSearch_base {
|
|
|
359
361
|
*/
|
|
360
362
|
private readonly handleSuggestionsPopoverToggle;
|
|
361
363
|
/**
|
|
362
|
-
* Renders the dropdown's option rows,
|
|
363
|
-
*
|
|
364
|
-
* and highlighting the matched substring — same rendering as
|
|
364
|
+
* Renders the dropdown's option rows, grouped under their `optgroup`
|
|
365
|
+
* label (see {@link renderListboxRows}), and highlighting the matched substring — same rendering as
|
|
365
366
|
* `eun-select`'s own `renderOptionRows`, minus the `multiple` checkbox
|
|
366
367
|
* (search has no multi-select concept) and the `selected` state now
|
|
367
368
|
* meaning "exactly matches the current value" rather than "is the stored
|
|
@@ -14,8 +14,9 @@ import { searchStyles } from "./search.styles.js";
|
|
|
14
14
|
import { AnchorPositionMixin } from "../../../mixins/anchor-position.mixin.js";
|
|
15
15
|
import { ChangeEvent } from "../../../events/change.event.js";
|
|
16
16
|
import { listboxStyles, listboxAnchorPositioningStyles, } from "../shared-styles/listbox.styles.js";
|
|
17
|
-
import { parseListboxOptions, renderHighlightedLabel, } from "../../../utils/listbox-options.utils.js";
|
|
17
|
+
import { parseListboxOptions, renderHighlightedLabel, renderListboxRows, } from "../../../utils/listbox-options.utils.js";
|
|
18
18
|
import { isWebKit } from "../../../utils/browser.utils.js";
|
|
19
|
+
import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
|
|
19
20
|
/**
|
|
20
21
|
* Tag name of the search component.
|
|
21
22
|
*/
|
|
@@ -40,7 +41,7 @@ export const EunomiaSearchTagName = "eun-search";
|
|
|
40
41
|
* @slot results - Content rendered below the field inside the panel, such as a result list. Only relevant when panel is set
|
|
41
42
|
* @prop {boolean} [shortcut=false] - Enables the Ctrl+K or Cmd+K global shortcut and its visual key hint badge
|
|
42
43
|
* @prop {boolean} [panel=false] - Opens a modal command palette panel on shortcut or click instead of focusing inline
|
|
43
|
-
* @prop {string} [
|
|
44
|
+
* @prop {string} [panelLabel] - The accessible name of the panel's dialog, used when label isn't set. Defaults to the localized string for the current locale (English: "Search")
|
|
44
45
|
* @prop {boolean} [loading=false] - Whether a search request is currently in flight. Shows a spinning loading indicator in place of the clear button or shortcut hint on the inline field only. Ignored on the panel trigger and the panel's own field, which stay static, so reflect the loading state on the results slot instead
|
|
45
46
|
* @prop {string} [loadingLabel='Loading…'] - The accessible label announced by the loading indicator while loading is set
|
|
46
47
|
* @prop {boolean} [suggestions=false] - Opens a dropdown listbox showing light DOM option and optgroup children matching the typed value, highlighting the matched substring. Ignored while panel is set
|
|
@@ -52,6 +53,7 @@ export const EunomiaSearchTagName = "eun-search";
|
|
|
52
53
|
* @cssprop [--field-match-background] - Sets the background of the matched search substring, none by default. Shared with the select component
|
|
53
54
|
* @cssprop [--field-match-font-weight] - Sets the font weight of the matched search substring. Shared with the select component
|
|
54
55
|
* @cssprop [--field-match-text-decoration] - Sets the text decoration, such as underline, of the matched search substring, none by default. Shared with the select component
|
|
56
|
+
* @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the select component
|
|
55
57
|
* @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the suggestions dropdown keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
|
|
56
58
|
* @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
|
|
57
59
|
* @element eun-search
|
|
@@ -62,7 +64,8 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
62
64
|
/**
|
|
63
65
|
* Always `"search"` — enforced in `willUpdate`, since `EunomiaInput` declares
|
|
64
66
|
* `type` as a plain property (not an accessor), which TypeScript doesn't
|
|
65
|
-
* allow overriding as a getter/setter pair from a subclass.
|
|
67
|
+
* allow overriding as a getter/setter pair from a subclass. Never
|
|
68
|
+
* reflected, since it can't differ from its default.
|
|
66
69
|
* @default search
|
|
67
70
|
*/
|
|
68
71
|
this.type = "search";
|
|
@@ -95,13 +98,6 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
95
98
|
* @default false
|
|
96
99
|
*/
|
|
97
100
|
this.panel = false;
|
|
98
|
-
/**
|
|
99
|
-
* Accessible name of the panel's dialog, used as `eun-modal`'s `aria-label`
|
|
100
|
-
* since the panel renders no visible heading. Ignored when `label` is set
|
|
101
|
-
* (used instead, since it already names the field itself).
|
|
102
|
-
* @default Search
|
|
103
|
-
*/
|
|
104
|
-
this.ariaLabelPanel = "Search";
|
|
105
101
|
/**
|
|
106
102
|
* Indicates whether a search request is currently in flight. Shows a
|
|
107
103
|
* spinning `eun-loader` in place of the clear button/shortcut hint on the
|
|
@@ -311,7 +307,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
311
307
|
}
|
|
312
308
|
}
|
|
313
309
|
/**
|
|
314
|
-
*
|
|
310
|
+
* Sends a direct `focus()` call on the host to
|
|
315
311
|
* the collapsed trigger button while `panel` is set, instead of the
|
|
316
312
|
* inherited default (the native field) : that field lives inside the
|
|
317
313
|
* still-closed modal at this point, and focusing hidden popover content
|
|
@@ -426,7 +422,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
426
422
|
/**
|
|
427
423
|
* The listbox's open/close animation duration, in ms : `0` under
|
|
428
424
|
* `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
|
|
429
|
-
* transition-duration` (default `
|
|
425
|
+
* transition-duration` (default `--eun-duration-m`).
|
|
430
426
|
*
|
|
431
427
|
* @param el the listbox to read `--field-listbox-transition-duration` off.
|
|
432
428
|
* @private
|
|
@@ -435,18 +431,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
435
431
|
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
|
436
432
|
return 0;
|
|
437
433
|
}
|
|
438
|
-
|
|
439
|
-
.getPropertyValue("--field-listbox-transition-duration")
|
|
440
|
-
.trim();
|
|
441
|
-
if (raw) {
|
|
442
|
-
const parsed = raw.endsWith("ms")
|
|
443
|
-
? Number.parseFloat(raw)
|
|
444
|
-
: Number.parseFloat(raw) * 1000;
|
|
445
|
-
if (Number.isFinite(parsed) && parsed >= 0) {
|
|
446
|
-
return parsed;
|
|
447
|
-
}
|
|
448
|
-
}
|
|
449
|
-
return 200;
|
|
434
|
+
return resolveDurationMs(el, "--field-listbox-transition-duration", "m", 200);
|
|
450
435
|
}
|
|
451
436
|
/**
|
|
452
437
|
* Plays the fade/scaleY-in, replacing any {@link listboxAnimation}
|
|
@@ -464,7 +449,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
464
449
|
this.listboxAnimation = listbox.animate([
|
|
465
450
|
{ opacity: 0, transform: "scaleY(0.01)" },
|
|
466
451
|
{ opacity: 1, transform: "scaleY(1)" },
|
|
467
|
-
], { duration, easing:
|
|
452
|
+
], { duration, easing: resolveEasing(listbox), fill: "forwards" });
|
|
468
453
|
}
|
|
469
454
|
/**
|
|
470
455
|
* Closes the suggestions dropdown, if open. All state cleanup happens in
|
|
@@ -502,7 +487,7 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
502
487
|
const animation = listbox.animate([
|
|
503
488
|
{ opacity: 1, transform: "scaleY(1)" },
|
|
504
489
|
{ opacity: 0, transform: "scaleY(0.01)" },
|
|
505
|
-
], { duration, easing:
|
|
490
|
+
], { duration, easing: resolveEasing(listbox), fill: "forwards" });
|
|
506
491
|
this.listboxAnimation = animation;
|
|
507
492
|
animation.finished
|
|
508
493
|
.then(() => {
|
|
@@ -529,9 +514,8 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
529
514
|
this.closeSuggestions();
|
|
530
515
|
}
|
|
531
516
|
/**
|
|
532
|
-
* Renders the dropdown's option rows,
|
|
533
|
-
*
|
|
534
|
-
* and highlighting the matched substring — same rendering as
|
|
517
|
+
* Renders the dropdown's option rows, grouped under their `optgroup`
|
|
518
|
+
* label (see {@link renderListboxRows}), and highlighting the matched substring — same rendering as
|
|
535
519
|
* `eun-select`'s own `renderOptionRows`, minus the `multiple` checkbox
|
|
536
520
|
* (search has no multi-select concept) and the `selected` state now
|
|
537
521
|
* meaning "exactly matches the current value" rather than "is the stored
|
|
@@ -542,40 +526,27 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
542
526
|
* @private
|
|
543
527
|
*/
|
|
544
528
|
renderSuggestionOptionRows(options) {
|
|
545
|
-
const rows = [];
|
|
546
529
|
const query = this.effectiveQuery;
|
|
547
|
-
|
|
548
|
-
options.forEach((option, index) => {
|
|
549
|
-
if (option.group !== lastGroup) {
|
|
550
|
-
lastGroup = option.group;
|
|
551
|
-
if (option.group) {
|
|
552
|
-
rows.push(html `<li class="group-label" role="presentation">
|
|
553
|
-
${option.group}
|
|
554
|
-
</li>`);
|
|
555
|
-
}
|
|
556
|
-
}
|
|
557
|
-
rows.push(html `
|
|
530
|
+
return renderListboxRows(options, (option, index) => html `
|
|
558
531
|
<li
|
|
559
532
|
id="listbox-option-${index}"
|
|
560
533
|
role="option"
|
|
561
534
|
aria-selected=${option.label.toLowerCase() === query}
|
|
562
535
|
class=${classMap({
|
|
563
|
-
|
|
564
|
-
|
|
565
|
-
|
|
536
|
+
highlighted: index === this.highlightedIndex,
|
|
537
|
+
selected: option.label.toLowerCase() === query,
|
|
538
|
+
})}
|
|
566
539
|
@mousedown=${(event) => {
|
|
567
|
-
|
|
568
|
-
|
|
569
|
-
|
|
540
|
+
event.preventDefault();
|
|
541
|
+
this.handleSelect(option);
|
|
542
|
+
}}
|
|
570
543
|
@mouseenter=${() => {
|
|
571
|
-
|
|
572
|
-
|
|
544
|
+
this.highlightedIndex = index;
|
|
545
|
+
}}
|
|
573
546
|
>
|
|
574
547
|
${renderHighlightedLabel(option.label, query)}
|
|
575
548
|
</li>
|
|
576
549
|
`);
|
|
577
|
-
});
|
|
578
|
-
return rows;
|
|
579
550
|
}
|
|
580
551
|
/**
|
|
581
552
|
* Renders the suggestions dropdown panel itself — only ever rendered
|
|
@@ -791,10 +762,12 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
791
762
|
field.removeAttribute("role");
|
|
792
763
|
field.removeAttribute("aria-expanded");
|
|
793
764
|
field.removeAttribute("aria-controls");
|
|
765
|
+
field.removeAttribute("aria-autocomplete");
|
|
794
766
|
field.removeAttribute("aria-activedescendant");
|
|
795
767
|
return;
|
|
796
768
|
}
|
|
797
769
|
field.setAttribute("role", "combobox");
|
|
770
|
+
field.setAttribute("aria-autocomplete", "list");
|
|
798
771
|
field.setAttribute("aria-expanded", this.isOpen ? "true" : "false");
|
|
799
772
|
field.setAttribute("aria-controls", "listbox");
|
|
800
773
|
if (this.highlightedIndex >= 0) {
|
|
@@ -844,7 +817,8 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
844
817
|
kind="search"
|
|
845
818
|
hide-actions
|
|
846
819
|
.closeable=${false}
|
|
847
|
-
aria-label=${this.label ||
|
|
820
|
+
aria-label=${this.label ||
|
|
821
|
+
(this.panelLabel ?? this.dictionary.search.panel)}
|
|
848
822
|
>
|
|
849
823
|
<div id="panel-field">
|
|
850
824
|
${this.renderField(description !== nothing)}
|
|
@@ -867,7 +841,6 @@ let EunomiaSearch = EunomiaSearch_1 = class EunomiaSearch extends AnchorPosition
|
|
|
867
841
|
EunomiaSearch.styles = [
|
|
868
842
|
EunomiaInput.styles,
|
|
869
843
|
listboxStyles,
|
|
870
|
-
// Never shipped to WebKit — see listboxAnchorPositioningStyles's own doc.
|
|
871
844
|
...(isWebKit ? [] : [listboxAnchorPositioningStyles]),
|
|
872
845
|
searchStyles,
|
|
873
846
|
];
|
|
@@ -878,7 +851,7 @@ EunomiaSearch.styles = [
|
|
|
878
851
|
*/
|
|
879
852
|
EunomiaSearch.FIELD_POINTER_DOWN_WINDOW_MS = 100;
|
|
880
853
|
__decorate([
|
|
881
|
-
property({ reflect: true })
|
|
854
|
+
property({ reflect: true, converter: { toAttribute: () => null } })
|
|
882
855
|
], EunomiaSearch.prototype, "type", void 0);
|
|
883
856
|
__decorate([
|
|
884
857
|
property()
|
|
@@ -893,8 +866,8 @@ __decorate([
|
|
|
893
866
|
property({ type: Boolean })
|
|
894
867
|
], EunomiaSearch.prototype, "panel", void 0);
|
|
895
868
|
__decorate([
|
|
896
|
-
property({ attribute: "
|
|
897
|
-
], EunomiaSearch.prototype, "
|
|
869
|
+
property({ attribute: "panel-label" })
|
|
870
|
+
], EunomiaSearch.prototype, "panelLabel", void 0);
|
|
898
871
|
__decorate([
|
|
899
872
|
property({ type: Boolean, reflect: true })
|
|
900
873
|
], EunomiaSearch.prototype, "loading", void 0);
|
|
@@ -26,15 +26,16 @@ const search = css `
|
|
|
26
26
|
:host([loading]) #clear {
|
|
27
27
|
display: none;
|
|
28
28
|
}
|
|
29
|
+
#field-loader {
|
|
30
|
+
color: var(--field-loader-color, var(--_iconColor));
|
|
31
|
+
}
|
|
29
32
|
#field-wrapper #field-loader {
|
|
30
33
|
position: absolute;
|
|
31
34
|
right: var(--eun-space-s, 8px);
|
|
32
35
|
pointer-events: none;
|
|
33
|
-
color: var(--_iconColor);
|
|
34
36
|
}
|
|
35
37
|
#search-trigger #field-loader {
|
|
36
38
|
flex-shrink: 0;
|
|
37
|
-
color: var(--_iconColor);
|
|
38
39
|
}
|
|
39
40
|
#search-trigger {
|
|
40
41
|
position: relative;
|
|
@@ -54,8 +55,8 @@ const search = css `
|
|
|
54
55
|
appearance: none;
|
|
55
56
|
outline: 1px solid transparent;
|
|
56
57
|
transition:
|
|
57
|
-
outline
|
|
58
|
-
border-color
|
|
58
|
+
outline var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
|
|
59
|
+
border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
|
|
59
60
|
}
|
|
60
61
|
:host(:not([aria-disabled="true"])) #search-trigger:hover {
|
|
61
62
|
border-color: var(
|
|
@@ -9,6 +9,7 @@ import { FieldAppearanceMixinInterface } from "../../../mixins/field-appearance.
|
|
|
9
9
|
import { AnchorPositionMixinInterface } from "../../../mixins/anchor-position.mixin.js";
|
|
10
10
|
import { EunomiaIconName } from "../../content/icon/icon.type.js";
|
|
11
11
|
import { Constructor } from "../../../utils/constructor.type.js";
|
|
12
|
+
import { LocalizableMixinInterface } from "../../../mixins/localizable.mixin.js";
|
|
12
13
|
/**
|
|
13
14
|
* Tag name of the select component.
|
|
14
15
|
*/
|
|
@@ -22,7 +23,7 @@ type SelectValue = string | string[];
|
|
|
22
23
|
* Type of the select base used to declare every necessary Mixin interface elements.
|
|
23
24
|
* @internal
|
|
24
25
|
*/
|
|
25
|
-
type EunomiaSelectBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<SelectValue> & FormMixinInterface<SelectValue> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface & AnchorPositionMixinInterface;
|
|
26
|
+
type EunomiaSelectBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<SelectValue> & FormMixinInterface<SelectValue> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface & AnchorPositionMixinInterface & LocalizableMixinInterface;
|
|
26
27
|
declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
|
|
27
28
|
/**
|
|
28
29
|
* A field that picks one or more values from a list of option and optgroup
|
|
@@ -59,7 +60,9 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
|
|
|
59
60
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
60
61
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
61
62
|
* @prop {boolean} [required=false] - Whether a selection is required
|
|
62
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
63
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
64
|
+
* @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
|
|
65
|
+
* @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
|
|
63
66
|
* @prop {Array<Validators<string | string[]>>} validators - The list of validation rules applied to the field value
|
|
64
67
|
* @prop {EunomiaIconName} icon - An optional leading icon
|
|
65
68
|
* @prop {string} [placeholder] - The placeholder shown when the field is empty. Defaults to searchPlaceholder when searchable, and selectPlaceholder otherwise
|
|
@@ -69,10 +72,10 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
|
|
|
69
72
|
* @attr {string} [select-placeholder='Select…'] - The fallback for placeholder when searchable isn't set
|
|
70
73
|
* @prop {boolean} [readonlyAvailable=false] - Whether the field can switch between a static display and an editable one
|
|
71
74
|
* @attr {boolean} [readonly-available=false] - Whether the field can switch between a static display and an editable one
|
|
72
|
-
* @prop {string} [emptyValueLabel
|
|
75
|
+
* @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")
|
|
73
76
|
* @prop {string} [noResultsLabel='No results'] - Text displayed in the dropdown when no option matches the search
|
|
74
|
-
* @prop {string} [confirmLabel
|
|
75
|
-
* @attr {string} [confirm-label
|
|
77
|
+
* @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")
|
|
78
|
+
* @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")
|
|
76
79
|
* @prop {boolean} [noAnimation=false] - Disables the dropdown panel's open and close height transition, on top of the automatic reduced motion handling
|
|
77
80
|
* @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
|
|
78
81
|
* @prop {string} [loadingLabel='Loading…'] - The accessible label announced by the loading indicator while loading is set
|
|
@@ -85,9 +88,12 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
|
|
|
85
88
|
* @cssprop [--field-border-color-focus] - Sets the border color on focus
|
|
86
89
|
* @cssprop [--field-border-radius] - Sets the corner radius of the field
|
|
87
90
|
* @cssprop [--field-padding] - Sets the padding of the field
|
|
91
|
+
* @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
92
|
+
* @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
88
93
|
* @cssprop [--field-text-color] - Sets the text color of the field
|
|
89
94
|
* @cssprop [--field-placeholder-color] - Sets the color of the placeholder
|
|
90
95
|
* @cssprop [--field-icon-color] - Sets the color of the leading icon and the dropdown arrow
|
|
96
|
+
* @cssprop [--field-loader-color] - Sets the color of the spinner shown while loading, the icon color by default. Shared with the search component
|
|
91
97
|
* @cssprop [--field-error-color] - Sets the color of the error message
|
|
92
98
|
* @cssprop [--field-hint-color] - Sets the color of the hint message
|
|
93
99
|
* @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
|
|
@@ -101,6 +107,9 @@ declare const EunomiaSelectMixinBase: Constructor<EunomiaSelectBase>;
|
|
|
101
107
|
* @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
|
|
102
108
|
* @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
|
|
103
109
|
* @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
|
|
110
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
111
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
112
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
104
113
|
* @element eun-select
|
|
105
114
|
*/
|
|
106
115
|
export declare class EunomiaSelect extends EunomiaSelectMixinBase {
|
|
@@ -112,6 +121,11 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
|
|
|
112
121
|
* @readonly
|
|
113
122
|
*/
|
|
114
123
|
static readonly styles: (import("lit").CSSResult | import("lit").CSSResult[])[];
|
|
124
|
+
/**
|
|
125
|
+
* Every change is a complete choice, so its error shows right away.
|
|
126
|
+
* @internal
|
|
127
|
+
*/
|
|
128
|
+
errorOnChange: boolean;
|
|
115
129
|
/**
|
|
116
130
|
* The default value applied on connection and form reset. Overrides the
|
|
117
131
|
* `defaultValue` accessor inherited from `FormMixin` only to drop its
|
|
@@ -208,9 +222,9 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
|
|
|
208
222
|
selectPlaceholder: string;
|
|
209
223
|
/**
|
|
210
224
|
* Text displayed in place of the value when readonly and empty.
|
|
211
|
-
*
|
|
225
|
+
* Falls back to the localized string for the current locale when unset.
|
|
212
226
|
*/
|
|
213
|
-
emptyValueLabel
|
|
227
|
+
emptyValueLabel?: string;
|
|
214
228
|
/**
|
|
215
229
|
* Text displayed in the dropdown when no option matches the search.
|
|
216
230
|
* @default No results
|
|
@@ -224,9 +238,9 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
|
|
|
224
238
|
* Set to an empty string to hide the button entirely — e.g. for a
|
|
225
239
|
* `readonlyAvailable` field where picking an option is already confirmation
|
|
226
240
|
* enough on its own, and the extra button would just be clutter.
|
|
227
|
-
*
|
|
241
|
+
* Falls back to the localized string for the current locale when unset.
|
|
228
242
|
*/
|
|
229
|
-
confirmLabel
|
|
243
|
+
confirmLabel?: string;
|
|
230
244
|
/**
|
|
231
245
|
* Indicates whether options are currently being fetched (e.g. a
|
|
232
246
|
* server-filtered `searchable` field). Shows a spinning `eun-loader` in
|
|
@@ -476,6 +490,12 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
|
|
|
476
490
|
* @param _changedProperties - Map of changed properties
|
|
477
491
|
*/
|
|
478
492
|
protected updated(_changedProperties: PropertyValues): void;
|
|
493
|
+
/**
|
|
494
|
+
* The host is never a tab stop of its own : sequential navigation goes
|
|
495
|
+
* straight to the controls inside, in both directions, and
|
|
496
|
+
* {@link focus} covers a direct call on the host.
|
|
497
|
+
*/
|
|
498
|
+
protected get hostTabStop(): boolean;
|
|
479
499
|
/**
|
|
480
500
|
* Returns the field element to focus/anchor on validation errors.
|
|
481
501
|
*
|
|
@@ -506,7 +526,7 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
|
|
|
506
526
|
* The listbox's open/close animation duration, in ms : `0` if `
|
|
507
527
|
* noAnimation` is set or the browser reports `prefers-reduced-motion:
|
|
508
528
|
* reduce`, otherwise `--field-listbox-transition-duration` (default
|
|
509
|
-
* `
|
|
529
|
+
* `--eun-duration-m`).
|
|
510
530
|
*
|
|
511
531
|
* @param el the listbox to read `--field-listbox-transition-duration` off.
|
|
512
532
|
* @private
|
|
@@ -700,8 +720,8 @@ export declare class EunomiaSelect extends EunomiaSelectMixinBase {
|
|
|
700
720
|
*/
|
|
701
721
|
private renderHighlighted;
|
|
702
722
|
/**
|
|
703
|
-
* Renders the dropdown's option rows,
|
|
704
|
-
*
|
|
723
|
+
* Renders the dropdown's option rows, grouped under their `optgroup`
|
|
724
|
+
* label (see {@link renderListboxRows}).
|
|
705
725
|
*
|
|
706
726
|
* @param options the options to render, already filtered.
|
|
707
727
|
* @returns the rendered rows.
|