@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
|
@@ -11,7 +11,7 @@ import { classMap } from "lit/directives/class-map.js";
|
|
|
11
11
|
import { DisabledMixin, } from "../../../mixins/disabled.mixin.js";
|
|
12
12
|
import { ReadonlyMixin, } from "../../../mixins/readonly.mixin.js";
|
|
13
13
|
import { ValidatorsMixin, } from "../../../mixins/validators.mixin.js";
|
|
14
|
-
import { FormMixin } from "../../../mixins/form.mixin.js";
|
|
14
|
+
import { FormMixin, hasErrorDisplayChange, } from "../../../mixins/form.mixin.js";
|
|
15
15
|
import { FormLabelMixin, } from "../../../mixins/form-label.mixin.js";
|
|
16
16
|
import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
|
|
17
17
|
import { AnchorPositionMixin, } from "../../../mixins/anchor-position.mixin.js";
|
|
@@ -20,6 +20,7 @@ import { ChangeEvent } from "../../../events/change.event.js";
|
|
|
20
20
|
import { addDays, addMonths, addYears, formatDateRange, isSameMonth, isSameYear, isWeekend, startOfDay, startOfMonth, startOfWeek, } from "../../../utils/date.utils.js";
|
|
21
21
|
import { dateToSegments, getSegmentOrder, isSegmentGroupComplete, segmentKindsForGranularity, segmentsToDate, } from "../../../utils/date-segments.utils.js";
|
|
22
22
|
import { checkTimeOfDayBounds, clockSegmentKinds, clockSegmentsToTime, getClockSegmentOrder, isClockSegmentGroupComplete, parseTimeOfDay, resolveHourFormat, timeToClockSegments, to12Hour, to24Hour, togglePeriod, } from "../../../utils/clock.utils.js";
|
|
23
|
+
import { mediaBelow } from "../../../breakpoints.js";
|
|
23
24
|
import { getRuntimeTimeZone, getTimeZoneOffsetLabel, getZonedParts, isSameTimeZone, setZonedTime, zonedTimeToUtc, } from "../../../utils/timezone.utils.js";
|
|
24
25
|
import { renderTimePickerColumns } from "../time-picker/time-picker-columns.js";
|
|
25
26
|
import { timePickerColumnsStyles } from "../time-picker/time-picker-columns.styles.js";
|
|
@@ -33,6 +34,8 @@ import { isWebKit } from "../../../utils/browser.utils.js";
|
|
|
33
34
|
import { isDisabledDay, renderDatePickerDayGrid, } from "./date-picker-day-grid.js";
|
|
34
35
|
import { isDisabledMonth, renderDatePickerMonthGrid, } from "./date-picker-month-grid.js";
|
|
35
36
|
import { getYearPageStart, isDisabledYear, renderDatePickerYearGrid, } from "./date-picker-year-grid.js";
|
|
37
|
+
import { resolveDurationMs, resolveEasing, } from "../../../utils/motion.utils.js";
|
|
38
|
+
import { isImplicitSubmissionKey, submitImplicitly, } from "../../../utils/implicit-submission.utils.js";
|
|
36
39
|
/**
|
|
37
40
|
* Tag name of the date-picker component.
|
|
38
41
|
*/
|
|
@@ -96,12 +99,14 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
|
|
|
96
99
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
97
100
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
98
101
|
* @prop {boolean} [required=false] - Whether the field is required
|
|
99
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
102
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
103
|
+
* @prop {boolean} [invalid=false] - Shows the field as invalid without any message, for an error displayed elsewhere
|
|
104
|
+
* @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
|
|
100
105
|
* @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
|
|
101
106
|
* @prop {string} [todayLabel='Today'] - The label of the day grid's jump to today shortcut. Only shown with day granularity
|
|
102
107
|
* @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
|
|
103
|
-
* @prop {string} [cancelLabel
|
|
104
|
-
* @prop {string} [
|
|
108
|
+
* @prop {string} [cancelLabel] - The label of the mobile modal's cancel button. Defaults to the localized string for the current locale (English: "Cancel")
|
|
109
|
+
* @prop {string} [calendarLabel] - The accessible label of the trailing calendar button. Defaults to the localized string for the current locale (English: "Open calendar")
|
|
105
110
|
* @prop {string} [dayPlaceholder='jj'] - The placeholder shown in the empty day segment
|
|
106
111
|
* @prop {string} [monthPlaceholder='mm'] - The placeholder shown in the empty month segment
|
|
107
112
|
* @prop {string} [yearPlaceholder='yyyy'] - The placeholder shown in the empty year segment
|
|
@@ -139,11 +144,43 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldApp
|
|
|
139
144
|
* @cssprop [--date-picker-range-background] - Sets a background tint for every cell in a picked range, start, end, and in between alike, in range mode, one uniform color across the whole span
|
|
140
145
|
* @cssprop [--date-picker-panel-background] - Sets the background color of the popover panel
|
|
141
146
|
* @cssprop [--date-picker-panel-transition-duration=200ms] - Sets the duration of the popover panel's open and close transition, disabled entirely by the no-animation attribute or reduced motion settings
|
|
147
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
148
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
149
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
142
150
|
* @element eun-date-picker
|
|
143
151
|
*/
|
|
144
152
|
let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends EunomiaDatePickerMixinBase {
|
|
153
|
+
/**
|
|
154
|
+
* The default value applied on connection and form reset, in `single`
|
|
155
|
+
* mode. Overrides the `defaultValue` accessor inherited from `FormMixin`
|
|
156
|
+
* only to swap its attribute converter : the mixin's generic one always
|
|
157
|
+
* splits `default-value` on commas (appropriate for e.g. a multi-select's
|
|
158
|
+
* array value), which would silently produce the wrong thing for a
|
|
159
|
+
* `Date`. The actual get/set logic (applying the default when the field
|
|
160
|
+
* resets) still comes from `FormMixin` itself, via `super`.
|
|
161
|
+
* @default-value-format yyyy-mm-dd
|
|
162
|
+
*/
|
|
163
|
+
get defaultValue() {
|
|
164
|
+
return super.defaultValue;
|
|
165
|
+
}
|
|
166
|
+
set defaultValue(value) {
|
|
167
|
+
// @ts-expect-error — see comment above ; FormMixin's real setter exists.
|
|
168
|
+
super.defaultValue = value;
|
|
169
|
+
}
|
|
170
|
+
/**
|
|
171
|
+
* Lifecycle callback triggered when the component is connected to the
|
|
172
|
+
* DOM. `FormMixin`'s own `connectedCallback` already applies
|
|
173
|
+
* `defaultValue` to `value` for `mode="single"` ; this applies
|
|
174
|
+
* {@link defaultRangeValue} to `rangeValue` the same way for
|
|
175
|
+
* `mode="range"`, which `FormMixin` has no knowledge of.
|
|
176
|
+
*/
|
|
145
177
|
constructor() {
|
|
146
|
-
super(
|
|
178
|
+
super();
|
|
179
|
+
/**
|
|
180
|
+
* Every change is a complete choice, so its error shows right away.
|
|
181
|
+
* @internal
|
|
182
|
+
*/
|
|
183
|
+
this.errorOnChange = true;
|
|
147
184
|
/**
|
|
148
185
|
* Whether a single value or a start/end range is picked.
|
|
149
186
|
* @default single
|
|
@@ -223,16 +260,6 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
223
260
|
* @default Apply
|
|
224
261
|
*/
|
|
225
262
|
this.applyLabel = "Apply";
|
|
226
|
-
/**
|
|
227
|
-
* Label of the mobile modal's cancel button.
|
|
228
|
-
* @default Cancel
|
|
229
|
-
*/
|
|
230
|
-
this.cancelLabel = "Cancel";
|
|
231
|
-
/**
|
|
232
|
-
* Accessible label of the trailing calendar button.
|
|
233
|
-
* @default Open calendar
|
|
234
|
-
*/
|
|
235
|
-
this.ariaLabelCalendar = "Open calendar";
|
|
236
263
|
/**
|
|
237
264
|
* Placeholder shown in the empty day segment.
|
|
238
265
|
* @default jj
|
|
@@ -354,6 +381,25 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
354
381
|
minute: "",
|
|
355
382
|
period: "",
|
|
356
383
|
};
|
|
384
|
+
/**
|
|
385
|
+
* Submits the owning form on Enter in one of the field's segments, as a
|
|
386
|
+
* native date input does, since the browser never does it from a
|
|
387
|
+
* shadow root. Left alone while the panel is open, and on keys a
|
|
388
|
+
* segment already handles, such as Enter toggling the AM/PM segment.
|
|
389
|
+
* @private
|
|
390
|
+
*/
|
|
391
|
+
this.handleImplicitSubmission = (event) => {
|
|
392
|
+
const form = this.internals.form;
|
|
393
|
+
const origin = event.composedPath()[0];
|
|
394
|
+
if (!form ||
|
|
395
|
+
this.isOpen ||
|
|
396
|
+
!(origin instanceof Element && origin.matches(".segment")) ||
|
|
397
|
+
!isImplicitSubmissionKey(event)) {
|
|
398
|
+
return;
|
|
399
|
+
}
|
|
400
|
+
event.preventDefault();
|
|
401
|
+
submitImplicitly(form);
|
|
402
|
+
};
|
|
357
403
|
/**
|
|
358
404
|
* Reads local validation state : a partially/invalidly typed segment
|
|
359
405
|
* group reports as invalid, matching native constraint validation's
|
|
@@ -372,7 +418,10 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
372
418
|
: [this.rangeSegments.start, this.rangeSegments.end];
|
|
373
419
|
const hasBadInput = groups.some((group) => isPartiallyFilled(group) && !segmentsToDate(group, kinds));
|
|
374
420
|
if (hasBadInput) {
|
|
375
|
-
return {
|
|
421
|
+
return {
|
|
422
|
+
validity: { badInput: true },
|
|
423
|
+
message: this.dictionary.validation.invalidDate,
|
|
424
|
+
};
|
|
376
425
|
}
|
|
377
426
|
if (this.isWithTimeActive()) {
|
|
378
427
|
const format = this.resolvedHourFormat();
|
|
@@ -419,7 +468,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
419
468
|
let message;
|
|
420
469
|
if (this.required && isEmpty) {
|
|
421
470
|
validity.valueMissing = true;
|
|
422
|
-
message =
|
|
471
|
+
message = this.dictionary.validation.valueMissing;
|
|
423
472
|
}
|
|
424
473
|
return { validity, message };
|
|
425
474
|
};
|
|
@@ -447,7 +496,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
447
496
|
this.isModalOpen = true;
|
|
448
497
|
return;
|
|
449
498
|
}
|
|
450
|
-
this.updateComplete.then(() => {
|
|
499
|
+
void this.updateComplete.then(() => {
|
|
451
500
|
const popover = this.popoverEl;
|
|
452
501
|
if (!popover) {
|
|
453
502
|
return;
|
|
@@ -485,7 +534,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
485
534
|
});
|
|
486
535
|
}
|
|
487
536
|
this.observeAnchorVisibility(this.fieldWrapperEl, () => this.closePopover());
|
|
488
|
-
this.updateComplete.then(() => this.focusCalendarCell());
|
|
537
|
+
void this.updateComplete.then(() => this.focusCalendarCell());
|
|
489
538
|
return;
|
|
490
539
|
}
|
|
491
540
|
this.isOpen = false;
|
|
@@ -969,31 +1018,8 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
969
1018
|
break;
|
|
970
1019
|
}
|
|
971
1020
|
};
|
|
1021
|
+
this.addEventListener("keydown", this.handleImplicitSubmission);
|
|
972
1022
|
}
|
|
973
|
-
/**
|
|
974
|
-
* The default value applied on connection and form reset, in `single`
|
|
975
|
-
* mode. Overrides the `defaultValue` accessor inherited from `FormMixin`
|
|
976
|
-
* only to swap its attribute converter : the mixin's generic one always
|
|
977
|
-
* splits `default-value` on commas (appropriate for e.g. a multi-select's
|
|
978
|
-
* array value), which would silently produce the wrong thing for a
|
|
979
|
-
* `Date`. The actual get/set logic (applying the default when the field
|
|
980
|
-
* resets) still comes from `FormMixin` itself, via `super`.
|
|
981
|
-
* @default-value-format yyyy-mm-dd
|
|
982
|
-
*/
|
|
983
|
-
get defaultValue() {
|
|
984
|
-
return super.defaultValue;
|
|
985
|
-
}
|
|
986
|
-
set defaultValue(value) {
|
|
987
|
-
// @ts-expect-error — see comment above ; FormMixin's real setter exists.
|
|
988
|
-
super.defaultValue = value;
|
|
989
|
-
}
|
|
990
|
-
/**
|
|
991
|
-
* Lifecycle callback triggered when the component is connected to the
|
|
992
|
-
* DOM. `FormMixin`'s own `connectedCallback` already applies
|
|
993
|
-
* `defaultValue` to `value` for `mode="single"` ; this applies
|
|
994
|
-
* {@link defaultRangeValue} to `rangeValue` the same way for
|
|
995
|
-
* `mode="range"`, which `FormMixin` has no knowledge of.
|
|
996
|
-
*/
|
|
997
1023
|
connectedCallback() {
|
|
998
1024
|
super.connectedCallback?.();
|
|
999
1025
|
if (this.mode === "range" && this.defaultRangeValue) {
|
|
@@ -1083,12 +1109,18 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1083
1109
|
end: dateToSegments(this.rangeValue.end),
|
|
1084
1110
|
};
|
|
1085
1111
|
}
|
|
1086
|
-
if (changed
|
|
1087
|
-
|
|
1088
|
-
changed.has("disabled")) {
|
|
1089
|
-
this.setAttribute("aria-invalid", String(!this.hideError && !this.disabled && !this.valid));
|
|
1112
|
+
if (hasErrorDisplayChange(changed)) {
|
|
1113
|
+
this.setAttribute("aria-invalid", String(this.showError));
|
|
1090
1114
|
}
|
|
1091
1115
|
}
|
|
1116
|
+
/**
|
|
1117
|
+
* The host is never a tab stop of its own : sequential navigation goes
|
|
1118
|
+
* straight to the controls inside, in both directions, and
|
|
1119
|
+
* {@link focus} covers a direct call on the host.
|
|
1120
|
+
*/
|
|
1121
|
+
get hostTabStop() {
|
|
1122
|
+
return false;
|
|
1123
|
+
}
|
|
1092
1124
|
/**
|
|
1093
1125
|
* Returns the first segment field to focus/anchor on validation errors.
|
|
1094
1126
|
*
|
|
@@ -1111,7 +1143,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1111
1143
|
* @private
|
|
1112
1144
|
*/
|
|
1113
1145
|
isMobileViewport() {
|
|
1114
|
-
return window.matchMedia(
|
|
1146
|
+
return window.matchMedia(mediaBelow("tablet")).matches;
|
|
1115
1147
|
}
|
|
1116
1148
|
/**
|
|
1117
1149
|
* @private
|
|
@@ -1328,7 +1360,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1328
1360
|
* The popover's open/close animation duration, in ms : `0` if
|
|
1329
1361
|
* `noAnimation` is set or the browser reports `prefers-reduced-motion:
|
|
1330
1362
|
* reduce`, otherwise `--date-picker-panel-transition-duration` (default
|
|
1331
|
-
* `
|
|
1363
|
+
* `--eun-duration-m`).
|
|
1332
1364
|
*
|
|
1333
1365
|
* @param el the popover to read `--date-picker-panel-transition-duration` off.
|
|
1334
1366
|
* @private
|
|
@@ -1338,18 +1370,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1338
1370
|
window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
|
1339
1371
|
return 0;
|
|
1340
1372
|
}
|
|
1341
|
-
|
|
1342
|
-
.getPropertyValue("--date-picker-panel-transition-duration")
|
|
1343
|
-
.trim();
|
|
1344
|
-
if (raw) {
|
|
1345
|
-
const parsed = raw.endsWith("ms")
|
|
1346
|
-
? Number.parseFloat(raw)
|
|
1347
|
-
: Number.parseFloat(raw) * 1000;
|
|
1348
|
-
if (Number.isFinite(parsed) && parsed >= 0) {
|
|
1349
|
-
return parsed;
|
|
1350
|
-
}
|
|
1351
|
-
}
|
|
1352
|
-
return 200;
|
|
1373
|
+
return resolveDurationMs(el, "--date-picker-panel-transition-duration", "m", 200);
|
|
1353
1374
|
}
|
|
1354
1375
|
/**
|
|
1355
1376
|
* Plays the fade/scaleY-in, replacing any {@link popoverAnimation}
|
|
@@ -1367,7 +1388,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1367
1388
|
this.popoverAnimation = popover.animate([
|
|
1368
1389
|
{ opacity: 0, transform: "scaleY(0.01)" },
|
|
1369
1390
|
{ opacity: 1, transform: "scaleY(1)" },
|
|
1370
|
-
], { duration, easing:
|
|
1391
|
+
], { duration, easing: resolveEasing(popover), fill: "forwards" });
|
|
1371
1392
|
}
|
|
1372
1393
|
/**
|
|
1373
1394
|
* Closes the popover, if open — accepting an instant, unanimated close
|
|
@@ -1405,7 +1426,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1405
1426
|
const animation = popover.animate([
|
|
1406
1427
|
{ opacity: 1, transform: "scaleY(1)" },
|
|
1407
1428
|
{ opacity: 0, transform: "scaleY(0.01)" },
|
|
1408
|
-
], { duration, easing:
|
|
1429
|
+
], { duration, easing: resolveEasing(popover), fill: "forwards" });
|
|
1409
1430
|
this.popoverAnimation = animation;
|
|
1410
1431
|
animation.finished
|
|
1411
1432
|
.then(() => {
|
|
@@ -1477,7 +1498,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1477
1498
|
}
|
|
1478
1499
|
this.focusedDate = candidate;
|
|
1479
1500
|
this.syncDisplayedAnchor();
|
|
1480
|
-
this.updateComplete.then(() => this.focusCalendarCell());
|
|
1501
|
+
void this.updateComplete.then(() => this.focusCalendarCell());
|
|
1481
1502
|
}
|
|
1482
1503
|
/**
|
|
1483
1504
|
* Jumps `focusedDate` directly to `date` (no disabled-cell skipping —
|
|
@@ -1490,7 +1511,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1490
1511
|
jumpFocused(date) {
|
|
1491
1512
|
this.focusedDate = date;
|
|
1492
1513
|
this.syncDisplayedAnchor();
|
|
1493
|
-
this.updateComplete.then(() => this.focusCalendarCell());
|
|
1514
|
+
void this.updateComplete.then(() => this.focusCalendarCell());
|
|
1494
1515
|
}
|
|
1495
1516
|
/**
|
|
1496
1517
|
* @private
|
|
@@ -1607,7 +1628,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1607
1628
|
* @private
|
|
1608
1629
|
*/
|
|
1609
1630
|
playSwipeAnimation(direction) {
|
|
1610
|
-
this.updateComplete.then(() => {
|
|
1631
|
+
void this.updateComplete.then(() => {
|
|
1611
1632
|
const el = this.swipeAreaEl;
|
|
1612
1633
|
if (!el) {
|
|
1613
1634
|
return;
|
|
@@ -1868,21 +1889,14 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1868
1889
|
*/
|
|
1869
1890
|
adjustTimeSegment(kind, delta) {
|
|
1870
1891
|
const format = this.resolvedHourFormat();
|
|
1871
|
-
const
|
|
1872
|
-
|
|
1873
|
-
? { min: 1, max: 12 }
|
|
1874
|
-
: { min: 0, max: 23 }
|
|
1875
|
-
: { min: 0, max: 59 };
|
|
1892
|
+
const hourBounds = format === 12 ? { min: 1, max: 12 } : { min: 0, max: 23 };
|
|
1893
|
+
const bounds = kind === "hour" ? hourBounds : { min: 0, max: 59 };
|
|
1876
1894
|
const current = Number(this.timeSegments[kind]);
|
|
1877
1895
|
let next;
|
|
1878
1896
|
if (this.timeSegments[kind] === "" || Number.isNaN(current)) {
|
|
1879
1897
|
const parts = getZonedParts(this.value ?? new Date(), this.timezone);
|
|
1880
|
-
|
|
1881
|
-
|
|
1882
|
-
? format === 12
|
|
1883
|
-
? to12Hour(parts.hour).hour
|
|
1884
|
-
: parts.hour
|
|
1885
|
-
: parts.minute;
|
|
1898
|
+
const hour = format === 12 ? to12Hour(parts.hour).hour : parts.hour;
|
|
1899
|
+
next = kind === "hour" ? hour : parts.minute;
|
|
1886
1900
|
}
|
|
1887
1901
|
else {
|
|
1888
1902
|
next = current + delta;
|
|
@@ -1972,11 +1986,12 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1972
1986
|
const previous = order[index - 1];
|
|
1973
1987
|
const isHourMinutePair = (previous === "hour" && kind === "minute") ||
|
|
1974
1988
|
(previous === "minute" && kind === "hour");
|
|
1989
|
+
const divider = isHourMinutePair ? ":" : " ";
|
|
1975
1990
|
return html `
|
|
1976
1991
|
${index === 0
|
|
1977
1992
|
? nothing
|
|
1978
1993
|
: html `<span class="segment-divider" aria-hidden="true"
|
|
1979
|
-
>${
|
|
1994
|
+
>${divider}</span
|
|
1980
1995
|
>`}
|
|
1981
1996
|
${this.renderTimeSegment(kind)}
|
|
1982
1997
|
`;
|
|
@@ -2043,6 +2058,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
2043
2058
|
data-target=${target}
|
|
2044
2059
|
role="group"
|
|
2045
2060
|
aria-label=${groupLabel}
|
|
2061
|
+
aria-describedby=${this.description?.length ? "description" : nothing}
|
|
2046
2062
|
>
|
|
2047
2063
|
${order.map((kind, index) => html `
|
|
2048
2064
|
${index > 0
|
|
@@ -2083,7 +2099,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
2083
2099
|
maxlength=${maxLength}
|
|
2084
2100
|
size=${maxLength}
|
|
2085
2101
|
placeholder=${this.placeholderFor(kind)}
|
|
2086
|
-
aria-label=${
|
|
2102
|
+
aria-label=${this.dictionary.datePicker[kind]}
|
|
2087
2103
|
.value=${values[kind]}
|
|
2088
2104
|
?disabled=${this.disabled}
|
|
2089
2105
|
?readonly=${this.readonly}
|
|
@@ -2242,15 +2258,16 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
2242
2258
|
${this.mode === "single"
|
|
2243
2259
|
? this.renderSegmentGroup("value", this.label ?? this.headingFor())
|
|
2244
2260
|
: html `
|
|
2245
|
-
${this.renderSegmentGroup("start",
|
|
2261
|
+
${this.renderSegmentGroup("start", this.dictionary.datePicker.startDate)}
|
|
2246
2262
|
<span class="range-separator" aria-hidden="true">–</span>
|
|
2247
|
-
${this.renderSegmentGroup("end",
|
|
2263
|
+
${this.renderSegmentGroup("end", this.dictionary.datePicker.endDate)}
|
|
2248
2264
|
`}
|
|
2249
2265
|
${this.isWithTimeActive() ? this.renderTimeSegmentGroup() : nothing}
|
|
2250
2266
|
<button
|
|
2251
2267
|
type="button"
|
|
2252
2268
|
id="calendar-trigger"
|
|
2253
|
-
aria-label=${this.
|
|
2269
|
+
aria-label=${this.calendarLabel ??
|
|
2270
|
+
this.dictionary.datePicker.openCalendar}
|
|
2254
2271
|
aria-haspopup="dialog"
|
|
2255
2272
|
aria-expanded=${this.isOpen || this.isModalOpen ? "true" : "false"}
|
|
2256
2273
|
?disabled=${this.disabled}
|
|
@@ -2371,7 +2388,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
2371
2388
|
* @private
|
|
2372
2389
|
*/
|
|
2373
2390
|
renderTimezoneLabel() {
|
|
2374
|
-
if (!this.timezone || isSameTimeZone(this.timezone
|
|
2391
|
+
if (!this.timezone || isSameTimeZone(this.timezone)) {
|
|
2375
2392
|
return nothing;
|
|
2376
2393
|
}
|
|
2377
2394
|
const reference = this.stagingValue ?? new Date();
|
|
@@ -2399,7 +2416,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
2399
2416
|
id="popover-cancel"
|
|
2400
2417
|
@click=${this.handlePopoverCancel}
|
|
2401
2418
|
>
|
|
2402
|
-
${this.cancelLabel}
|
|
2419
|
+
${this.cancelLabel ?? this.dictionary.common.cancel}
|
|
2403
2420
|
</eun-button>
|
|
2404
2421
|
<eun-button id="popover-apply" @click=${this.handlePopoverApply}>
|
|
2405
2422
|
${this.applyLabel}
|
|
@@ -2425,7 +2442,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
2425
2442
|
?open=${this.isModalOpen}
|
|
2426
2443
|
.closeable=${false}
|
|
2427
2444
|
confirm-label=${this.applyLabel}
|
|
2428
|
-
cancel-label=${this.cancelLabel}
|
|
2445
|
+
cancel-label=${this.cancelLabel ?? this.dictionary.common.cancel}
|
|
2429
2446
|
aria-label=${this.label ?? this.headingFor()}
|
|
2430
2447
|
@eunconfirm=${this.handleModalConfirm}
|
|
2431
2448
|
@euncancel=${this.handleModalCancel}
|
|
@@ -2451,7 +2468,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
2451
2468
|
id="cancel"
|
|
2452
2469
|
@click=${() => this.modalEl?.cancel()}
|
|
2453
2470
|
>
|
|
2454
|
-
${this.cancelLabel}
|
|
2471
|
+
${this.cancelLabel ?? this.dictionary.common.cancel}
|
|
2455
2472
|
</eun-button>
|
|
2456
2473
|
<eun-button id="confirm" @click=${() => this.modalEl?.confirm()}>
|
|
2457
2474
|
${this.applyLabel}
|
|
@@ -2488,10 +2505,10 @@ EunomiaDatePicker.styles = [
|
|
|
2488
2505
|
*/
|
|
2489
2506
|
EunomiaDatePicker.SWIPE_THRESHOLD_PX = 40;
|
|
2490
2507
|
__decorate([
|
|
2491
|
-
property({ reflect: true })
|
|
2508
|
+
property({ reflect: true, useDefault: true })
|
|
2492
2509
|
], EunomiaDatePicker.prototype, "mode", void 0);
|
|
2493
2510
|
__decorate([
|
|
2494
|
-
property({ reflect: true })
|
|
2511
|
+
property({ reflect: true, useDefault: true })
|
|
2495
2512
|
], EunomiaDatePicker.prototype, "granularity", void 0);
|
|
2496
2513
|
__decorate([
|
|
2497
2514
|
property({
|
|
@@ -2551,8 +2568,8 @@ __decorate([
|
|
|
2551
2568
|
property({ attribute: "cancel-label" })
|
|
2552
2569
|
], EunomiaDatePicker.prototype, "cancelLabel", void 0);
|
|
2553
2570
|
__decorate([
|
|
2554
|
-
property({ attribute: "
|
|
2555
|
-
], EunomiaDatePicker.prototype, "
|
|
2571
|
+
property({ attribute: "calendar-label" })
|
|
2572
|
+
], EunomiaDatePicker.prototype, "calendarLabel", void 0);
|
|
2556
2573
|
__decorate([
|
|
2557
2574
|
property({ attribute: "day-placeholder" })
|
|
2558
2575
|
], EunomiaDatePicker.prototype, "dayPlaceholder", void 0);
|
|
@@ -2678,12 +2695,6 @@ function todaysSegmentPart(kind) {
|
|
|
2678
2695
|
return today.getDate();
|
|
2679
2696
|
}
|
|
2680
2697
|
}
|
|
2681
|
-
/**
|
|
2682
|
-
* @private
|
|
2683
|
-
*/
|
|
2684
|
-
function capitalize(value) {
|
|
2685
|
-
return value.charAt(0).toUpperCase() + value.slice(1);
|
|
2686
|
-
}
|
|
2687
2698
|
/**
|
|
2688
2699
|
* Parses an ISO (`yyyy-mm-dd`) date string, as used by the `default-value`
|
|
2689
2700
|
* and `default-range-value` attributes. Returns `null` for an empty or
|
|
@@ -41,8 +41,8 @@ const datePicker = css `
|
|
|
41
41
|
outline: 1px solid transparent;
|
|
42
42
|
box-sizing: border-box;
|
|
43
43
|
transition:
|
|
44
|
-
border-color
|
|
45
|
-
outline-color
|
|
44
|
+
border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
|
|
45
|
+
outline-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease);
|
|
46
46
|
}
|
|
47
47
|
:host(:not([aria-readonly="true"]))
|
|
48
48
|
#field-wrapper:hover:not(:has(:disabled)) {
|
|
@@ -154,7 +154,8 @@ const datePicker = css `
|
|
|
154
154
|
color: var(--_iconColor);
|
|
155
155
|
outline: 2px solid transparent;
|
|
156
156
|
cursor: pointer;
|
|
157
|
-
transition: outline
|
|
157
|
+
transition: outline var(--eun-duration-m, 200ms)
|
|
158
|
+
var(--eun-easing-out, ease-out);
|
|
158
159
|
}
|
|
159
160
|
#calendar-trigger:hover:not(:disabled) {
|
|
160
161
|
color: var(--_textColor);
|
|
@@ -247,10 +248,12 @@ const datePicker = css `
|
|
|
247
248
|
}
|
|
248
249
|
}
|
|
249
250
|
#calendar-swipe-area.slide-in-next {
|
|
250
|
-
animation: eun-date-picker-slide-in-next
|
|
251
|
+
animation: eun-date-picker-slide-in-next var(--eun-duration-m, 200ms)
|
|
252
|
+
var(--eun-easing-out, ease-out);
|
|
251
253
|
}
|
|
252
254
|
#calendar-swipe-area.slide-in-previous {
|
|
253
|
-
animation: eun-date-picker-slide-in-previous
|
|
255
|
+
animation: eun-date-picker-slide-in-previous var(--eun-duration-m, 200ms)
|
|
256
|
+
var(--eun-easing-out, ease-out);
|
|
254
257
|
}
|
|
255
258
|
:host([no-animation]) #calendar-swipe-area.slide-in-next,
|
|
256
259
|
:host([no-animation]) #calendar-swipe-area.slide-in-previous {
|
|
@@ -8,6 +8,7 @@ import { EditableMixinInterface } from "../../../mixins/editable.mixin.js";
|
|
|
8
8
|
import { FieldAppearanceMixinInterface } from "../../../mixins/field-appearance.mixin.js";
|
|
9
9
|
import { EunomiaIconName } from "../../content/icon/icon.type.js";
|
|
10
10
|
import { Constructor } from "../../../utils/constructor.type.js";
|
|
11
|
+
import { LocalizableMixinInterface } from "../../../mixins/localizable.mixin.js";
|
|
11
12
|
/**
|
|
12
13
|
* Tag name of the input component.
|
|
13
14
|
*/
|
|
@@ -20,7 +21,7 @@ export type EunomiaInputType = "text" | "email" | "number" | "tel" | "url" | "se
|
|
|
20
21
|
* Type of the input base used to declare every necessary Mixin interface elements.
|
|
21
22
|
* @internal
|
|
22
23
|
*/
|
|
23
|
-
type EunomiaInputBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface;
|
|
24
|
+
type EunomiaInputBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface & LocalizableMixinInterface;
|
|
24
25
|
declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
25
26
|
/**
|
|
26
27
|
* A single-line text field, supporting several native input types.
|
|
@@ -37,7 +38,9 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
|
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 the field 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<Validators<string>>} validators - The list of validation rules applied to the field value
|
|
42
45
|
* @prop {EunomiaIconName} icon - An optional leading icon
|
|
43
46
|
* @prop {boolean} [clearable=false] - Whether a clear button is shown when the field has a value
|
|
@@ -50,12 +53,12 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
|
50
53
|
* @prop {string} min - The native minimum constraint forwarded to the field
|
|
51
54
|
* @prop {string} max - The native maximum constraint forwarded to the field
|
|
52
55
|
* @prop {string} step - The native step constraint forwarded to the field
|
|
53
|
-
* @prop {string} [emptyValueLabel
|
|
54
|
-
* @prop {string} [confirmLabel
|
|
55
|
-
* @prop {string} [cancelLabel
|
|
56
|
-
* @prop {string} [
|
|
57
|
-
* @prop {string} [
|
|
58
|
-
* @prop {string} [
|
|
56
|
+
* @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")
|
|
57
|
+
* @prop {string} [confirmLabel] - The label of the confirm button in edit mode. Defaults to the localized string for the current locale (English: "Save")
|
|
58
|
+
* @prop {string} [cancelLabel] - The label of the cancel button in edit mode. Defaults to the localized string for the current locale (English: "Cancel")
|
|
59
|
+
* @prop {string} [clearLabel] - The accessible label of the clear button. Defaults to the localized string for the current locale (English: "Clear field")
|
|
60
|
+
* @prop {string} [showPasswordLabel] - The accessible label of the show password button. Defaults to the localized string for the current locale (English: "Show password")
|
|
61
|
+
* @prop {string} [hidePasswordLabel] - The accessible label of the hide password button. Defaults to the localized string for the current locale (English: "Hide password")
|
|
59
62
|
* @fires {ChangeEvent} eunchange - Fired on every value change
|
|
60
63
|
* @fires {CommitEvent} euncommit - Fired when an edit is confirmed in readonlyAvailable mode
|
|
61
64
|
* @cssprop [--field-background] - Sets the background color of the field
|
|
@@ -64,6 +67,8 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
|
64
67
|
* @cssprop [--field-border-color-focus] - Sets the border color on focus
|
|
65
68
|
* @cssprop [--field-border-radius] - Sets the corner radius of the field
|
|
66
69
|
* @cssprop [--field-padding] - Sets the padding of the field
|
|
70
|
+
* @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
71
|
+
* @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
67
72
|
* @cssprop [--field-text-color] - Sets the text color of the field
|
|
68
73
|
* @cssprop [--field-placeholder-color] - Sets the color of the placeholder
|
|
69
74
|
* @cssprop [--field-icon-color] - Sets the color of the leading icon and action buttons
|
|
@@ -72,6 +77,9 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
|
72
77
|
* @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
|
|
73
78
|
* @cssprop [--field-edit-confirm-color] - Sets the color of the confirm button in readonly-available edit mode
|
|
74
79
|
* @cssprop [--field-edit-cancel-color] - Sets the color of the cancel button in readonly-available edit mode
|
|
80
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
81
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
82
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
75
83
|
* @element eun-input
|
|
76
84
|
*/
|
|
77
85
|
export declare class EunomiaInput extends EunomiaInputMixinBase {
|
|
@@ -143,34 +151,34 @@ export declare class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
143
151
|
step?: string;
|
|
144
152
|
/**
|
|
145
153
|
* Text displayed in place of the value when readonly and empty.
|
|
146
|
-
*
|
|
154
|
+
* Falls back to the localized string for the current locale when unset.
|
|
147
155
|
*/
|
|
148
|
-
emptyValueLabel
|
|
156
|
+
emptyValueLabel?: string;
|
|
149
157
|
/**
|
|
150
158
|
* Label of the confirm button in edit mode.
|
|
151
|
-
*
|
|
159
|
+
* Falls back to the localized string for the current locale when unset.
|
|
152
160
|
*/
|
|
153
|
-
confirmLabel
|
|
161
|
+
confirmLabel?: string;
|
|
154
162
|
/**
|
|
155
163
|
* Label of the cancel button in edit mode.
|
|
156
|
-
*
|
|
164
|
+
* Falls back to the localized string for the current locale when unset.
|
|
157
165
|
*/
|
|
158
|
-
cancelLabel
|
|
166
|
+
cancelLabel?: string;
|
|
159
167
|
/**
|
|
160
168
|
* Accessible label of the clear button.
|
|
161
|
-
*
|
|
169
|
+
* Falls back to the localized string for the current locale when unset.
|
|
162
170
|
*/
|
|
163
|
-
|
|
171
|
+
clearLabel?: string;
|
|
164
172
|
/**
|
|
165
173
|
* Accessible label of the show-password button.
|
|
166
|
-
*
|
|
174
|
+
* Falls back to the localized string for the current locale when unset.
|
|
167
175
|
*/
|
|
168
|
-
|
|
176
|
+
showPasswordLabel?: string;
|
|
169
177
|
/**
|
|
170
178
|
* Accessible label of the hide-password button.
|
|
171
|
-
*
|
|
179
|
+
* Falls back to the localized string for the current locale when unset.
|
|
172
180
|
*/
|
|
173
|
-
|
|
181
|
+
hidePasswordLabel?: string;
|
|
174
182
|
/**
|
|
175
183
|
* Whether the password's plain value is currently revealed.
|
|
176
184
|
* @internal
|
|
@@ -207,28 +215,25 @@ export declare class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
207
215
|
* @protected
|
|
208
216
|
*/
|
|
209
217
|
protected focusTarget(): HTMLElement | undefined;
|
|
218
|
+
constructor();
|
|
219
|
+
/**
|
|
220
|
+
* Submits the owning form on Enter in the field, as a native text input
|
|
221
|
+
* does, since the browser never does it from a shadow root. Listened to
|
|
222
|
+
* on the host so a handler inside, such as `eun-search` picking a
|
|
223
|
+
* suggestion, can claim the key first. Skipped while editing in
|
|
224
|
+
* `readonlyAvailable` mode, whose own buttons confirm the edit.
|
|
225
|
+
* @private
|
|
226
|
+
*/
|
|
227
|
+
private readonly handleImplicitSubmission;
|
|
228
|
+
/**
|
|
229
|
+
* The host is never a tab stop of its own : sequential navigation goes
|
|
230
|
+
* straight to the native field inside, in both directions, and
|
|
231
|
+
* {@link focus} covers a direct call on the host.
|
|
232
|
+
*/
|
|
233
|
+
protected get hostTabStop(): boolean;
|
|
210
234
|
/**
|
|
211
235
|
* Lifecycle hook called whenever reactive properties change. Focuses the
|
|
212
|
-
* field when entering edit mode
|
|
213
|
-
* after every `disabled` change.
|
|
214
|
-
*
|
|
215
|
-
* `DisabledMixin` puts a real `tabindex="0"` on the host so Tab still
|
|
216
|
-
* reaches it while enabled — appropriate for a component whose host
|
|
217
|
-
* *is* the sole interactive surface, but this one always has its own
|
|
218
|
-
* focusable native field nested inside instead, and keeping the host
|
|
219
|
-
* itself as a *second*, independent tab stop right next to it broke
|
|
220
|
-
* Shift+Tab : landing back on the host is a genuine stop of its own as
|
|
221
|
-
* far as the browser's own backward sequential-navigation is concerned,
|
|
222
|
-
* and redirecting focus straight back into the field from there (this
|
|
223
|
-
* class's previous approach) fights that navigation mid-flight, leaving
|
|
224
|
-
* focus stranded on the host with nothing focused inside it. Removing
|
|
225
|
-
* the attribute instead lets sequential focus navigation descend
|
|
226
|
-
* straight into the field on its own, correctly in both directions, with
|
|
227
|
-
* no separate host stop and no redirect involved at all — this class's
|
|
228
|
-
* own `focus()` method (see below) covers a direct, explicit call on the
|
|
229
|
-
* host, the one case that genuinely still needs one. The disabled case
|
|
230
|
-
* still gets an explicit `-1` so a disabled field is skipped entirely
|
|
231
|
-
* rather than becoming its own (empty) stop.
|
|
236
|
+
* field when entering edit mode.
|
|
232
237
|
*
|
|
233
238
|
* @param _changedProperties - Map of changed properties
|
|
234
239
|
*/
|