@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
|
@@ -20,6 +20,8 @@ import { ChangeEvent } from "../../../events/change.event.js";
|
|
|
20
20
|
import { formLabelsStyles } from "../shared-styles/form-labels.styles.js";
|
|
21
21
|
import { inputStyles } from "./input.styles.js";
|
|
22
22
|
import { pickValidity } from "../../../utils/validity.utils.js";
|
|
23
|
+
import { isImplicitSubmissionKey, submitImplicitly, } from "../../../utils/implicit-submission.utils.js";
|
|
24
|
+
import { LocalizableMixin, } from "../../../mixins/localizable.mixin.js";
|
|
23
25
|
/**
|
|
24
26
|
* Tag name of the input component.
|
|
25
27
|
*/
|
|
@@ -29,7 +31,7 @@ export const EunomiaInputTagName = "eun-input";
|
|
|
29
31
|
* @internal
|
|
30
32
|
*/
|
|
31
33
|
const Base = DisabledMixin(ValidatorsMixin(LitElement));
|
|
32
|
-
const EunomiaInputMixinBase = FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(EditableMixin(FormMixin(Base)))));
|
|
34
|
+
const EunomiaInputMixinBase = LocalizableMixin(FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(EditableMixin(FormMixin(Base))))));
|
|
33
35
|
/**
|
|
34
36
|
* A single-line text field, supporting several native input types.
|
|
35
37
|
*
|
|
@@ -45,7 +47,9 @@ const EunomiaInputMixinBase = FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(
|
|
|
45
47
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
46
48
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
47
49
|
* @prop {boolean} [required=false] - Whether the field is required
|
|
48
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
50
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
51
|
+
* @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
|
|
52
|
+
* @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
53
|
* @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
|
|
50
54
|
* @prop {EunomiaIconName} icon - An optional leading icon
|
|
51
55
|
* @prop {boolean} [clearable=false] - Whether a clear button is shown when the field has a value
|
|
@@ -58,12 +62,12 @@ const EunomiaInputMixinBase = FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(
|
|
|
58
62
|
* @prop {string} min - The native minimum constraint forwarded to the field
|
|
59
63
|
* @prop {string} max - The native maximum constraint forwarded to the field
|
|
60
64
|
* @prop {string} step - The native step constraint forwarded to the field
|
|
61
|
-
* @prop {string} [emptyValueLabel
|
|
62
|
-
* @prop {string} [confirmLabel
|
|
63
|
-
* @prop {string} [cancelLabel
|
|
64
|
-
* @prop {string} [
|
|
65
|
-
* @prop {string} [
|
|
66
|
-
* @prop {string} [
|
|
65
|
+
* @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")
|
|
66
|
+
* @prop {string} [confirmLabel] - The label of the confirm button in edit mode. Defaults to the localized string for the current locale (English: "Save")
|
|
67
|
+
* @prop {string} [cancelLabel] - The label of the cancel button in edit mode. Defaults to the localized string for the current locale (English: "Cancel")
|
|
68
|
+
* @prop {string} [clearLabel] - The accessible label of the clear button. Defaults to the localized string for the current locale (English: "Clear field")
|
|
69
|
+
* @prop {string} [showPasswordLabel] - The accessible label of the show password button. Defaults to the localized string for the current locale (English: "Show password")
|
|
70
|
+
* @prop {string} [hidePasswordLabel] - The accessible label of the hide password button. Defaults to the localized string for the current locale (English: "Hide password")
|
|
67
71
|
* @fires {ChangeEvent} eunchange - Fired on every value change
|
|
68
72
|
* @fires {CommitEvent} euncommit - Fired when an edit is confirmed in readonlyAvailable mode
|
|
69
73
|
* @cssprop [--field-background] - Sets the background color of the field
|
|
@@ -72,6 +76,8 @@ const EunomiaInputMixinBase = FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(
|
|
|
72
76
|
* @cssprop [--field-border-color-focus] - Sets the border color on focus
|
|
73
77
|
* @cssprop [--field-border-radius] - Sets the corner radius of the field
|
|
74
78
|
* @cssprop [--field-padding] - Sets the padding of the field
|
|
79
|
+
* @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
80
|
+
* @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
75
81
|
* @cssprop [--field-text-color] - Sets the text color of the field
|
|
76
82
|
* @cssprop [--field-placeholder-color] - Sets the color of the placeholder
|
|
77
83
|
* @cssprop [--field-icon-color] - Sets the color of the leading icon and action buttons
|
|
@@ -80,11 +86,46 @@ const EunomiaInputMixinBase = FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(
|
|
|
80
86
|
* @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
|
|
81
87
|
* @cssprop [--field-edit-confirm-color] - Sets the color of the confirm button in readonly-available edit mode
|
|
82
88
|
* @cssprop [--field-edit-cancel-color] - Sets the color of the cancel button in readonly-available edit mode
|
|
89
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
90
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
91
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
83
92
|
* @element eun-input
|
|
84
93
|
*/
|
|
85
94
|
let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
95
|
+
/**
|
|
96
|
+
* The default value applied on connection and form reset. Overrides the
|
|
97
|
+
* `defaultValue` accessor inherited from `FormMixin` only to drop its
|
|
98
|
+
* generic attribute converter, which always splits `default-value` on
|
|
99
|
+
* commas (appropriate for an array-valued field, not this component's
|
|
100
|
+
* plain `string` value) — `default-value="foo,bar"` would otherwise be
|
|
101
|
+
* parsed as `['foo', 'bar']` and silently assigned to a `string`-typed
|
|
102
|
+
* `value`. The actual get/set logic still comes from `FormMixin` itself,
|
|
103
|
+
* via `super`.
|
|
104
|
+
*/
|
|
105
|
+
get defaultValue() {
|
|
106
|
+
return super.defaultValue;
|
|
107
|
+
}
|
|
108
|
+
set defaultValue(value) {
|
|
109
|
+
// `FormMixinInterface.defaultValue` is declared getter-only (the
|
|
110
|
+
// mixin's real class has a working setter too — the interface used to
|
|
111
|
+
// type this component's base just omits it), so TS treats this as
|
|
112
|
+
// read-only even though it's correct and necessary at runtime.
|
|
113
|
+
// @ts-expect-error — see comment above ; FormMixin's real setter exists.
|
|
114
|
+
super.defaultValue = value;
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* The element a direct `.focus()` call on the host actually focuses.
|
|
118
|
+
* Defaults to the native field ; overridden by a subclass whose real,
|
|
119
|
+
* visible focusable proxy is something else — e.g. `eun-search`'s
|
|
120
|
+
* `panel` mode, whose native field lives inside a closed modal and isn't
|
|
121
|
+
* a valid focus target until it's open.
|
|
122
|
+
* @protected
|
|
123
|
+
*/
|
|
124
|
+
focusTarget() {
|
|
125
|
+
return this.fieldEl;
|
|
126
|
+
}
|
|
86
127
|
constructor() {
|
|
87
|
-
super(
|
|
128
|
+
super();
|
|
88
129
|
/**
|
|
89
130
|
* The native input type to apply.
|
|
90
131
|
* @default text
|
|
@@ -100,36 +141,6 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
100
141
|
* @default off
|
|
101
142
|
*/
|
|
102
143
|
this.autocomplete = "off";
|
|
103
|
-
/**
|
|
104
|
-
* Text displayed in place of the value when readonly and empty.
|
|
105
|
-
* @default No value set
|
|
106
|
-
*/
|
|
107
|
-
this.emptyValueLabel = "No value set";
|
|
108
|
-
/**
|
|
109
|
-
* Label of the confirm button in edit mode.
|
|
110
|
-
* @default Save
|
|
111
|
-
*/
|
|
112
|
-
this.confirmLabel = "Save";
|
|
113
|
-
/**
|
|
114
|
-
* Label of the cancel button in edit mode.
|
|
115
|
-
* @default Cancel
|
|
116
|
-
*/
|
|
117
|
-
this.cancelLabel = "Cancel";
|
|
118
|
-
/**
|
|
119
|
-
* Accessible label of the clear button.
|
|
120
|
-
* @default Clear field
|
|
121
|
-
*/
|
|
122
|
-
this.ariaLabelClear = "Clear field";
|
|
123
|
-
/**
|
|
124
|
-
* Accessible label of the show-password button.
|
|
125
|
-
* @default Show password
|
|
126
|
-
*/
|
|
127
|
-
this.ariaLabelShowPassword = "Show password";
|
|
128
|
-
/**
|
|
129
|
-
* Accessible label of the hide-password button.
|
|
130
|
-
* @default Hide password
|
|
131
|
-
*/
|
|
132
|
-
this.ariaLabelHidePassword = "Hide password";
|
|
133
144
|
/**
|
|
134
145
|
* Whether the password's plain value is currently revealed.
|
|
135
146
|
* @internal
|
|
@@ -144,6 +155,25 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
144
155
|
this.handleIconSlotChange = () => {
|
|
145
156
|
this.requestUpdate();
|
|
146
157
|
};
|
|
158
|
+
/**
|
|
159
|
+
* Submits the owning form on Enter in the field, as a native text input
|
|
160
|
+
* does, since the browser never does it from a shadow root. Listened to
|
|
161
|
+
* on the host so a handler inside, such as `eun-search` picking a
|
|
162
|
+
* suggestion, can claim the key first. Skipped while editing in
|
|
163
|
+
* `readonlyAvailable` mode, whose own buttons confirm the edit.
|
|
164
|
+
* @private
|
|
165
|
+
*/
|
|
166
|
+
this.handleImplicitSubmission = (event) => {
|
|
167
|
+
const form = this.internals.form;
|
|
168
|
+
if (!form ||
|
|
169
|
+
event.composedPath()[0] !== this.fieldEl ||
|
|
170
|
+
!isImplicitSubmissionKey(event) ||
|
|
171
|
+
(this.readonlyAvailable && this.editing)) {
|
|
172
|
+
return;
|
|
173
|
+
}
|
|
174
|
+
event.preventDefault();
|
|
175
|
+
submitImplicitly(form);
|
|
176
|
+
};
|
|
147
177
|
/**
|
|
148
178
|
* Reads native HTML constraint validation from the underlying field element
|
|
149
179
|
* (`required`, `minlength`, `maxlength`, `pattern`, `min`, `max`, `type="email"`, etc.).
|
|
@@ -163,61 +193,19 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
163
193
|
"badInput",
|
|
164
194
|
]);
|
|
165
195
|
};
|
|
196
|
+
this.addEventListener("keydown", this.handleImplicitSubmission);
|
|
166
197
|
}
|
|
167
198
|
/**
|
|
168
|
-
* The
|
|
169
|
-
*
|
|
170
|
-
*
|
|
171
|
-
* commas (appropriate for an array-valued field, not this component's
|
|
172
|
-
* plain `string` value) — `default-value="foo,bar"` would otherwise be
|
|
173
|
-
* parsed as `['foo', 'bar']` and silently assigned to a `string`-typed
|
|
174
|
-
* `value`. The actual get/set logic still comes from `FormMixin` itself,
|
|
175
|
-
* via `super`.
|
|
199
|
+
* The host is never a tab stop of its own : sequential navigation goes
|
|
200
|
+
* straight to the native field inside, in both directions, and
|
|
201
|
+
* {@link focus} covers a direct call on the host.
|
|
176
202
|
*/
|
|
177
|
-
get
|
|
178
|
-
return
|
|
179
|
-
}
|
|
180
|
-
set defaultValue(value) {
|
|
181
|
-
// `FormMixinInterface.defaultValue` is declared getter-only (the
|
|
182
|
-
// mixin's real class has a working setter too — the interface used to
|
|
183
|
-
// type this component's base just omits it), so TS treats this as
|
|
184
|
-
// read-only even though it's correct and necessary at runtime.
|
|
185
|
-
// @ts-expect-error — see comment above ; FormMixin's real setter exists.
|
|
186
|
-
super.defaultValue = value;
|
|
187
|
-
}
|
|
188
|
-
/**
|
|
189
|
-
* The element a direct `.focus()` call on the host actually focuses.
|
|
190
|
-
* Defaults to the native field ; overridden by a subclass whose real,
|
|
191
|
-
* visible focusable proxy is something else — e.g. `eun-search`'s
|
|
192
|
-
* `panel` mode, whose native field lives inside a closed modal and isn't
|
|
193
|
-
* a valid focus target until it's open.
|
|
194
|
-
* @protected
|
|
195
|
-
*/
|
|
196
|
-
focusTarget() {
|
|
197
|
-
return this.fieldEl;
|
|
203
|
+
get hostTabStop() {
|
|
204
|
+
return false;
|
|
198
205
|
}
|
|
199
206
|
/**
|
|
200
207
|
* Lifecycle hook called whenever reactive properties change. Focuses the
|
|
201
|
-
* field when entering edit mode
|
|
202
|
-
* after every `disabled` change.
|
|
203
|
-
*
|
|
204
|
-
* `DisabledMixin` puts a real `tabindex="0"` on the host so Tab still
|
|
205
|
-
* reaches it while enabled — appropriate for a component whose host
|
|
206
|
-
* *is* the sole interactive surface, but this one always has its own
|
|
207
|
-
* focusable native field nested inside instead, and keeping the host
|
|
208
|
-
* itself as a *second*, independent tab stop right next to it broke
|
|
209
|
-
* Shift+Tab : landing back on the host is a genuine stop of its own as
|
|
210
|
-
* far as the browser's own backward sequential-navigation is concerned,
|
|
211
|
-
* and redirecting focus straight back into the field from there (this
|
|
212
|
-
* class's previous approach) fights that navigation mid-flight, leaving
|
|
213
|
-
* focus stranded on the host with nothing focused inside it. Removing
|
|
214
|
-
* the attribute instead lets sequential focus navigation descend
|
|
215
|
-
* straight into the field on its own, correctly in both directions, with
|
|
216
|
-
* no separate host stop and no redirect involved at all — this class's
|
|
217
|
-
* own `focus()` method (see below) covers a direct, explicit call on the
|
|
218
|
-
* host, the one case that genuinely still needs one. The disabled case
|
|
219
|
-
* still gets an explicit `-1` so a disabled field is skipped entirely
|
|
220
|
-
* rather than becoming its own (empty) stop.
|
|
208
|
+
* field when entering edit mode.
|
|
221
209
|
*
|
|
222
210
|
* @param _changedProperties - Map of changed properties
|
|
223
211
|
*/
|
|
@@ -226,14 +214,6 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
226
214
|
if (_changedProperties.has("editing") && this.editing) {
|
|
227
215
|
this.fieldEl?.focus();
|
|
228
216
|
}
|
|
229
|
-
if (_changedProperties.has("disabled")) {
|
|
230
|
-
if (this.disabled) {
|
|
231
|
-
this.setAttribute("tabindex", "-1");
|
|
232
|
-
}
|
|
233
|
-
else {
|
|
234
|
-
this.removeAttribute("tabindex");
|
|
235
|
-
}
|
|
236
|
-
}
|
|
237
217
|
}
|
|
238
218
|
/**
|
|
239
219
|
* Returns the field element to focus/anchor on validation errors.
|
|
@@ -298,7 +278,9 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
298
278
|
@keydown=${(event) => (event.key === "Enter" || event.key === " ") && this.startEdit()}
|
|
299
279
|
>
|
|
300
280
|
<span class=${classMap({ empty: !hasValue })}
|
|
301
|
-
>${hasValue
|
|
281
|
+
>${hasValue
|
|
282
|
+
? this.value
|
|
283
|
+
: (this.emptyValueLabel ?? this.dictionary.common.noValue)}</span
|
|
302
284
|
>
|
|
303
285
|
</div>
|
|
304
286
|
`;
|
|
@@ -381,7 +363,7 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
381
363
|
: this.type === "email"
|
|
382
364
|
? "email"
|
|
383
365
|
: nothing}
|
|
384
|
-
aria-invalid=${
|
|
366
|
+
aria-invalid=${this.showError}
|
|
385
367
|
aria-label=${ifDefined(this.label)}
|
|
386
368
|
aria-describedby=${hasDescription ? "description" : nothing}
|
|
387
369
|
@input=${this.handleInput}
|
|
@@ -391,7 +373,7 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
391
373
|
type="button"
|
|
392
374
|
id="clear"
|
|
393
375
|
@click=${this.handleClear}
|
|
394
|
-
aria-label=${this.
|
|
376
|
+
aria-label=${this.clearLabel ?? this.dictionary.input.clear}
|
|
395
377
|
tabindex="-1"
|
|
396
378
|
>
|
|
397
379
|
<eun-icon name="cancel" size="16"></eun-icon>
|
|
@@ -403,10 +385,10 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
403
385
|
id="password-toggle"
|
|
404
386
|
@click=${this.togglePasswordVisibility}
|
|
405
387
|
aria-label=${this.showPassword
|
|
406
|
-
? this.
|
|
407
|
-
: this.
|
|
388
|
+
? (this.hidePasswordLabel ?? this.dictionary.input.hidePassword)
|
|
389
|
+
: (this.showPasswordLabel ??
|
|
390
|
+
this.dictionary.input.showPassword)}
|
|
408
391
|
aria-pressed=${this.showPassword}
|
|
409
|
-
tabindex="-1"
|
|
410
392
|
>
|
|
411
393
|
<eun-icon
|
|
412
394
|
name=${this.showPassword ? "visibility_off" : "visibility"}
|
|
@@ -426,7 +408,7 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
426
408
|
rounded
|
|
427
409
|
type="button"
|
|
428
410
|
@click=${this.confirmEdit}
|
|
429
|
-
>${this.confirmLabel}</eun-button
|
|
411
|
+
>${this.confirmLabel ?? this.dictionary.common.save}</eun-button
|
|
430
412
|
>
|
|
431
413
|
<eun-button
|
|
432
414
|
class="cancel"
|
|
@@ -435,7 +417,7 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
435
417
|
rounded
|
|
436
418
|
type="button"
|
|
437
419
|
@click=${this.cancelEdit}
|
|
438
|
-
>${this.cancelLabel}</eun-button
|
|
420
|
+
>${this.cancelLabel ?? this.dictionary.common.cancel}</eun-button
|
|
439
421
|
>
|
|
440
422
|
</div>
|
|
441
423
|
`)}
|
|
@@ -477,7 +459,7 @@ EunomiaInput.styles = [
|
|
|
477
459
|
formLabelsStyles.hintMessages,
|
|
478
460
|
];
|
|
479
461
|
__decorate([
|
|
480
|
-
property({ reflect: true })
|
|
462
|
+
property({ reflect: true, useDefault: true })
|
|
481
463
|
], EunomiaInput.prototype, "type", void 0);
|
|
482
464
|
__decorate([
|
|
483
465
|
property({ attribute: "default-value" })
|
|
@@ -522,14 +504,14 @@ __decorate([
|
|
|
522
504
|
property({ attribute: "cancel-label" })
|
|
523
505
|
], EunomiaInput.prototype, "cancelLabel", void 0);
|
|
524
506
|
__decorate([
|
|
525
|
-
property({ attribute: "
|
|
526
|
-
], EunomiaInput.prototype, "
|
|
507
|
+
property({ attribute: "clear-label" })
|
|
508
|
+
], EunomiaInput.prototype, "clearLabel", void 0);
|
|
527
509
|
__decorate([
|
|
528
|
-
property({ attribute: "
|
|
529
|
-
], EunomiaInput.prototype, "
|
|
510
|
+
property({ attribute: "show-password-label" })
|
|
511
|
+
], EunomiaInput.prototype, "showPasswordLabel", void 0);
|
|
530
512
|
__decorate([
|
|
531
|
-
property({ attribute: "
|
|
532
|
-
], EunomiaInput.prototype, "
|
|
513
|
+
property({ attribute: "hide-password-label" })
|
|
514
|
+
], EunomiaInput.prototype, "hidePasswordLabel", void 0);
|
|
533
515
|
__decorate([
|
|
534
516
|
state()
|
|
535
517
|
], EunomiaInput.prototype, "showPassword", void 0);
|
|
@@ -5,6 +5,7 @@ import { ValidatorsMixinInterface } from "../../../mixins/validators.mixin.js";
|
|
|
5
5
|
import { FormMixinInterface } from "../../../mixins/form.mixin.js";
|
|
6
6
|
import { FormLabelMixinInterface } from "../../../mixins/form-label.mixin.js";
|
|
7
7
|
import { Constructor } from "../../../utils/constructor.type.js";
|
|
8
|
+
import { LocalizableMixinInterface } from "../../../mixins/localizable.mixin.js";
|
|
8
9
|
/**
|
|
9
10
|
* Tag name of the input-file component.
|
|
10
11
|
*/
|
|
@@ -18,7 +19,7 @@ export type EunomiaInputFileKind = "image" | "file";
|
|
|
18
19
|
* Type of the input-file base used to declare every necessary Mixin interface elements.
|
|
19
20
|
* @internal
|
|
20
21
|
*/
|
|
21
|
-
type EunomiaInputFileBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<File[]> & FormMixinInterface<File[]> & FormLabelMixinInterface;
|
|
22
|
+
type EunomiaInputFileBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<File[]> & FormMixinInterface<File[]> & FormLabelMixinInterface & LocalizableMixinInterface;
|
|
22
23
|
declare const EunomiaInputFileMixinBase: Constructor<EunomiaInputFileBase>;
|
|
23
24
|
/**
|
|
24
25
|
* A file upload field with a dropzone, showing image thumbnails or generic
|
|
@@ -37,24 +38,26 @@ declare const EunomiaInputFileMixinBase: Constructor<EunomiaInputFileBase>;
|
|
|
37
38
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
38
39
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
39
40
|
* @prop {boolean} [required=false] - Whether at least one file is required
|
|
40
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
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
|
|
41
44
|
* @prop {Array<import('../../../types/form-validators.type.js').Validators<File[]>>} validators - The list of validation rules applied to the field value
|
|
42
45
|
* @prop {string} [dropLabel='Drag and drop files here, or'] - Static text displayed in the dropzone
|
|
43
46
|
* @attr {string} [drop-label='Drag and drop files here, or'] - Static text displayed in the dropzone
|
|
44
47
|
* @prop {string} [browseLabel='browse files'] - The visible text of the dropzone's browse link
|
|
45
48
|
* @attr {string} [browse-label='browse files'] - The visible text of the dropzone's browse link
|
|
46
|
-
* @prop {string} [
|
|
47
|
-
* @attr {string} [
|
|
48
|
-
* @prop {string} [
|
|
49
|
-
* @attr {string} [
|
|
49
|
+
* @prop {string} [removeLabel] - The accessible label of each item's remove button. Defaults to the localized string for the current locale (English: "Remove file")
|
|
50
|
+
* @attr {string} [remove-label] - The accessible label of each item's remove button. Defaults to the localized string for the current locale (English: "Remove file")
|
|
51
|
+
* @prop {string} [selectLabel] - The accessible label prefix of each item's checkbox. Defaults to the localized string for the current locale (English: "Select file")
|
|
52
|
+
* @attr {string} [select-label] - The accessible label prefix of each item's checkbox. Defaults to the localized string for the current locale (English: "Select file")
|
|
50
53
|
* @prop {string} [removeAllLabel='Remove all'] - The label of the always-available bulk clear action
|
|
51
54
|
* @attr {string} [remove-all-label='Remove all'] - The label of the always-available bulk clear action
|
|
52
55
|
* @prop {string} [selectAllLabel='Select all'] - The label of the selection toolbar's select-all checkbox
|
|
53
56
|
* @attr {string} [select-all-label='Select all'] - The label of the selection toolbar's select-all checkbox
|
|
54
57
|
* @prop {string} [deleteSelectedLabel='Delete selected'] - The label of the selection toolbar's bulk delete button
|
|
55
58
|
* @attr {string} [delete-selected-label='Delete selected'] - The label of the selection toolbar's bulk delete button
|
|
56
|
-
* @prop {string} [
|
|
57
|
-
* @attr {string} [
|
|
59
|
+
* @prop {string} [openLabel] - Appended to each item's accessible name. Defaults to the localized string for the current locale (English: "Open in a new tab")
|
|
60
|
+
* @attr {string} [open-label] - Appended to each item's accessible name. Defaults to the localized string for the current locale (English: "Open in a new tab")
|
|
58
61
|
* @fires {ChangeEvent} eunchange - Fired whenever the selected files change
|
|
59
62
|
* @fires {FileRejectEvent} eunfilereject - Fired whenever one or more offered files are rejected, for the wrong type or exceeding the size or count limit
|
|
60
63
|
* @cssprop [--input-file-border-color] - Sets the border color of the dropzone
|
|
@@ -72,6 +75,8 @@ declare const EunomiaInputFileMixinBase: Constructor<EunomiaInputFileBase>;
|
|
|
72
75
|
* @cssprop [--input-file-item-border-color] - Sets the border color of each item
|
|
73
76
|
* @cssprop [--input-file-gap] - Sets the gap between the dropzone, header, and items
|
|
74
77
|
* @cssprop [--input-file-thumbnail-size] - Sets the minimum size of image thumbnails
|
|
78
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
79
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
75
80
|
* @element eun-input-file
|
|
76
81
|
*/
|
|
77
82
|
export declare class EunomiaInputFile extends EunomiaInputFileMixinBase {
|
|
@@ -82,6 +87,11 @@ export declare class EunomiaInputFile extends EunomiaInputFileMixinBase {
|
|
|
82
87
|
* @internal
|
|
83
88
|
*/
|
|
84
89
|
static styles: CSSResultGroup;
|
|
90
|
+
/**
|
|
91
|
+
* Every change is a complete choice, so its error shows right away.
|
|
92
|
+
* @internal
|
|
93
|
+
*/
|
|
94
|
+
errorOnChange: boolean;
|
|
85
95
|
/**
|
|
86
96
|
* Accepted content kind: image thumbnails vs. generic file rows.
|
|
87
97
|
* @default image
|
|
@@ -125,15 +135,15 @@ export declare class EunomiaInputFile extends EunomiaInputFileMixinBase {
|
|
|
125
135
|
/**
|
|
126
136
|
* Accessible label prefix of each item's remove button (suffixed with the
|
|
127
137
|
* file name).
|
|
128
|
-
*
|
|
138
|
+
* Falls back to the localized string for the current locale when unset.
|
|
129
139
|
*/
|
|
130
|
-
|
|
140
|
+
removeLabel?: string;
|
|
131
141
|
/**
|
|
132
142
|
* Accessible label prefix of each item's checkbox (suffixed with the file
|
|
133
143
|
* name), when `selectable`.
|
|
134
|
-
*
|
|
144
|
+
* Falls back to the localized string for the current locale when unset.
|
|
135
145
|
*/
|
|
136
|
-
|
|
146
|
+
selectLabel?: string;
|
|
137
147
|
/**
|
|
138
148
|
* Label of the always-available bulk clear action, shown once at least one
|
|
139
149
|
* file is present.
|
|
@@ -154,9 +164,9 @@ export declare class EunomiaInputFile extends EunomiaInputFileMixinBase {
|
|
|
154
164
|
/**
|
|
155
165
|
* Appended to each item's accessible name (its primary action is opening
|
|
156
166
|
* the file in a new tab).
|
|
157
|
-
*
|
|
167
|
+
* Falls back to the localized string for the current locale when unset.
|
|
158
168
|
*/
|
|
159
|
-
|
|
169
|
+
openLabel?: string;
|
|
160
170
|
/**
|
|
161
171
|
* Whether a drag carrying files is currently over the host — reflected so
|
|
162
172
|
* `:host([dragging])` can drive the dropzone's highlight.
|
|
@@ -220,6 +230,12 @@ export declare class EunomiaInputFile extends EunomiaInputFileMixinBase {
|
|
|
220
230
|
* @param changedProperties - Map of changed properties
|
|
221
231
|
*/
|
|
222
232
|
protected updated(changedProperties: PropertyValues): void;
|
|
233
|
+
/**
|
|
234
|
+
* The host is never a tab stop of its own : sequential navigation goes
|
|
235
|
+
* straight to the controls inside, in both directions, and
|
|
236
|
+
* {@link focus} covers a direct call on the host.
|
|
237
|
+
*/
|
|
238
|
+
protected get hostTabStop(): boolean;
|
|
223
239
|
/**
|
|
224
240
|
* Returns the element to focus/anchor on validation errors.
|
|
225
241
|
*
|