@eunomia/elements 1.0.0-beta.4 → 1.0.0-beta.6
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 +1 -1
- 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-4MXL6PZC.js → chunk-2Y2EU2CI.js} +28 -28
- package/dist/cdn/components/chunks/chunk-3MTUVMM5.js +1 -0
- package/dist/cdn/components/chunks/chunk-4PI6RDUS.js +1 -0
- package/dist/cdn/components/chunks/chunk-5GKM5DIB.js +1 -0
- package/dist/cdn/components/chunks/chunk-624VJYNA.js +1 -0
- package/dist/cdn/components/chunks/{chunk-5XJLIHAU.js → chunk-7KKWYPHY.js} +4 -2
- package/dist/cdn/components/chunks/chunk-A3X4KD2X.js +1 -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-NHFWATVN.js → chunk-BQFJR2UP.js} +5 -5
- 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-E4IS25H7.js → chunk-G5SBDQQ3.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-LGLQ36QB.js → chunk-GDBPWZN6.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-S2UCEWNG.js → chunk-JYIIWN2P.js} +13 -11
- package/dist/cdn/components/chunks/{chunk-EOWBYZV7.js → chunk-KDN4O5W2.js} +26 -13
- package/dist/cdn/components/chunks/chunk-KSZRQRN4.js +1 -0
- package/dist/cdn/components/chunks/{chunk-PED5ATYN.js → chunk-L2ADCEN7.js} +1 -1
- package/dist/cdn/components/chunks/chunk-LMVW522V.js +1 -0
- package/dist/cdn/components/chunks/{chunk-5XJGYXW7.js → chunk-MOMYII3P.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-SIHZFOTK.js → chunk-MQQ4BGVJ.js} +5 -5
- 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-KBH5PCUO.js → chunk-PE4DAXHQ.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-GSJEJLFA.js → chunk-PMPSJG5V.js} +7 -7
- package/dist/cdn/components/chunks/{chunk-5EVP7YNE.js → chunk-PPCHQG7P.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-EJIX2D4Z.js → chunk-QZ5SHR3I.js} +15 -11
- package/dist/cdn/components/chunks/chunk-RS7TWEMQ.js +1 -0
- package/dist/cdn/components/chunks/chunk-SMTIDNGW.js +1 -0
- package/dist/cdn/components/chunks/{chunk-YGUJJ25C.js → chunk-SZYEBMG6.js} +11 -10
- package/dist/cdn/components/chunks/chunk-UDVB4LAE.js +56 -0
- package/dist/cdn/components/chunks/{chunk-UAGCQF23.js → chunk-UYZR4JXZ.js} +17 -12
- 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-VOTRXBDS.js +38 -0
- package/dist/cdn/components/chunks/{chunk-BMQOI7HX.js → chunk-VYFR364B.js} +128 -74
- package/dist/cdn/components/chunks/{chunk-IJ5WFMK4.js → chunk-XDPRWUKN.js} +7 -6
- package/dist/cdn/components/chunks/{chunk-XH6NREVZ.js → chunk-YITWLCD3.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-BQHYZB2W.js → chunk-ZBN4HTWP.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-RJCJXB7Y.js → chunk-ZKZV2YG5.js} +18 -18
- package/dist/cdn/components/eun-alert.js +24 -16
- package/dist/cdn/components/eun-animate.js +12 -6
- package/dist/cdn/components/eun-badge.js +7 -7
- 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 +68 -66
- package/dist/cdn/components/eun-card.js +67 -13
- package/dist/cdn/components/eun-carousel.js +66 -35
- package/dist/cdn/components/eun-check-card.js +13 -6
- package/dist/cdn/components/eun-checkbox-list.js +4 -4
- package/dist/cdn/components/eun-checkbox.js +1 -1
- package/dist/cdn/components/eun-chip.js +1 -1
- package/dist/cdn/components/eun-collapse.js +87 -39
- package/dist/cdn/components/eun-color-picker.js +54 -53
- package/dist/cdn/components/eun-counter.js +14 -13
- package/dist/cdn/components/eun-date-picker.js +66 -63
- package/dist/cdn/components/eun-description-list.js +152 -0
- package/dist/cdn/components/eun-divider.js +1 -1
- package/dist/cdn/components/eun-drawer.js +26 -12
- 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 +20 -19
- 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 +14 -13
- package/dist/cdn/components/eun-input-phone.js +26 -26
- 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 +174 -27
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +29 -22
- package/dist/cdn/components/eun-pagination.js +17 -12
- package/dist/cdn/components/eun-password-strength.js +6 -2
- 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 +4 -4
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-scheduler-event-editor.js +8 -8
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +42 -42
- package/dist/cdn/components/eun-search.js +21 -20
- package/dist/cdn/components/eun-select.js +12 -11
- package/dist/cdn/components/eun-sidebar.js +34 -20
- 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 +17 -6
- package/dist/cdn/components/eun-stepper.js +17 -6
- package/dist/cdn/components/eun-switch.js +10 -8
- package/dist/cdn/components/eun-tab-group.js +22 -17
- 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 +24 -24
- package/dist/cdn/components/eun-time-picker.js +21 -19
- package/dist/cdn/components/eun-toast.js +36 -16
- package/dist/cdn/components/eun-toggle-group.js +64 -37
- package/dist/cdn/components/eun-toggle-item.js +24 -21
- package/dist/cdn/components/eun-toggle.js +12 -10
- package/dist/cdn/components/eun-toolbar.js +62 -52
- 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 +51 -19
- package/dist/components/action/button/button.js +107 -24
- package/dist/components/action/button/button.styles.js +115 -62
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +10 -10
- package/dist/components/action/dropdown-button/dropdown-button.js +18 -17
- 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.d.ts +7 -6
- package/dist/components/action/fab/fab.js +11 -8
- package/dist/components/action/fab/fab.styles.js +18 -17
- package/dist/components/action/link/link.d.ts +72 -9
- package/dist/components/action/link/link.js +183 -23
- package/dist/components/action/link/link.styles.js +146 -10
- package/dist/components/action/shared-styles/button-palette.styles.d.ts +3 -3
- package/dist/components/action/shared-styles/button-palette.styles.js +29 -29
- package/dist/components/action/toggle/toggle-group.d.ts +17 -5
- package/dist/components/action/toggle/toggle-group.js +46 -19
- package/dist/components/action/toggle/toggle-group.styles.d.ts +4 -1
- package/dist/components/action/toggle/toggle-group.styles.js +56 -27
- package/dist/components/action/toggle/toggle-item.d.ts +4 -4
- package/dist/components/action/toggle/toggle-item.js +2 -2
- package/dist/components/action/toggle/toggle-item.styles.js +20 -17
- package/dist/components/action/toggle/toggle.d.ts +2 -0
- package/dist/components/action/toggle/toggle.js +2 -0
- 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 +2 -0
- package/dist/components/alert/alert/alert.js +2 -0
- package/dist/components/alert/alert/alert.styles.js +23 -13
- package/dist/components/alert/drawer/drawer.d.ts +3 -1
- package/dist/components/alert/drawer/drawer.js +5 -3
- package/dist/components/alert/drawer/drawer.styles.js +25 -9
- package/dist/components/alert/modal/modal.d.ts +11 -9
- package/dist/components/alert/modal/modal.js +15 -13
- package/dist/components/alert/modal/modal.styles.js +16 -7
- package/dist/components/alert/toast/toast.d.ts +2 -0
- package/dist/components/alert/toast/toast.js +2 -0
- package/dist/components/alert/toast/toast.styles.js +37 -15
- package/dist/components/content/badge/badge.d.ts +6 -6
- package/dist/components/content/badge/badge.js +4 -4
- package/dist/components/content/badge/badge.styles.js +4 -4
- package/dist/components/content/card/card.d.ts +39 -7
- package/dist/components/content/card/card.js +71 -7
- package/dist/components/content/card/card.styles.js +58 -11
- package/dist/components/content/card/image-card.d.ts +62 -7
- package/dist/components/content/card/image-card.js +121 -11
- package/dist/components/content/card/image-card.styles.js +66 -15
- package/dist/components/content/card/sliding-card.d.ts +4 -1
- package/dist/components/content/card/sliding-card.js +3 -0
- package/dist/components/content/card/sliding-card.styles.js +5 -1
- package/dist/components/content/collapse/collapse.d.ts +39 -12
- package/dist/components/content/collapse/collapse.js +65 -25
- package/dist/components/content/collapse/collapse.styles.d.ts +10 -1
- package/dist/components/content/collapse/collapse.styles.js +69 -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 +14 -2
- package/dist/components/content/icon/icon.js +54 -22
- package/dist/components/content/icon/icon.style.d.ts +2 -0
- package/dist/components/content/icon/icon.style.js +8 -2
- package/dist/components/content/image-carousel/image-carousel.d.ts +30 -19
- package/dist/components/content/image-carousel/image-carousel.js +48 -45
- package/dist/components/content/image-carousel/image-carousel.styles.js +69 -30
- package/dist/components/content/password-strength/password-strength.styles.js +5 -1
- package/dist/components/content/progress-bar/progress-bar.styles.js +12 -4
- package/dist/components/content/shared-styles/card-link.styles.js +5 -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 +4 -0
- 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 +9 -16
- package/dist/components/content/tooltip/tooltip.styles.js +25 -7
- package/dist/components/form/checkbox/check-card.d.ts +4 -1
- package/dist/components/form/checkbox/check-card.js +4 -1
- package/dist/components/form/checkbox/check-card.styles.js +13 -4
- package/dist/components/form/checkbox/checkbox-list.d.ts +4 -1
- package/dist/components/form/checkbox/checkbox-list.js +11 -7
- package/dist/components/form/checkbox/checkbox.d.ts +4 -1
- package/dist/components/form/checkbox/checkbox.js +4 -1
- package/dist/components/form/checkbox/checkbox.styles.js +2 -2
- package/dist/components/form/color-picker/color-picker.d.ts +10 -4
- package/dist/components/form/color-picker/color-picker.js +23 -25
- package/dist/components/form/color-picker/color-picker.styles.js +6 -5
- package/dist/components/form/counter/counter.d.ts +7 -4
- package/dist/components/form/counter/counter.js +8 -5
- package/dist/components/form/counter/counter.styles.js +10 -9
- package/dist/components/form/date-picker/date-picker.d.ts +40 -36
- package/dist/components/form/date-picker/date-picker.js +35 -45
- package/dist/components/form/date-picker/date-picker.styles.js +13 -10
- package/dist/components/form/input/input.d.ts +10 -4
- package/dist/components/form/input/input.js +12 -6
- package/dist/components/form/input-file/input-file.d.ts +4 -1
- package/dist/components/form/input-file/input-file.js +8 -5
- package/dist/components/form/input-file/input-file.styles.js +3 -2
- package/dist/components/form/input-phone/input-phone.d.ts +11 -5
- package/dist/components/form/input-phone/input-phone.js +16 -20
- package/dist/components/form/input-phone/input-phone.styles.js +16 -16
- package/dist/components/form/label/label.styles.js +3 -3
- package/dist/components/form/radio/radio-card.d.ts +5 -2
- package/dist/components/form/radio/radio-card.js +5 -2
- package/dist/components/form/radio/radio-card.styles.js +14 -5
- package/dist/components/form/radio/radio-list.d.ts +5 -2
- package/dist/components/form/radio/radio-list.js +14 -10
- package/dist/components/form/radio/radio.d.ts +5 -2
- package/dist/components/form/radio/radio.js +5 -2
- package/dist/components/form/radio/radio.styles.js +4 -4
- package/dist/components/form/search/search.d.ts +2 -1
- package/dist/components/form/search/search.js +6 -15
- package/dist/components/form/search/search.styles.js +8 -7
- package/dist/components/form/select/select.d.ts +12 -5
- package/dist/components/form/select/select.js +18 -21
- 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 +21 -11
- package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
- package/dist/components/form/slider/slider.d.ts +4 -1
- package/dist/components/form/slider/slider.js +5 -2
- package/dist/components/form/slider/slider.styles.js +8 -7
- package/dist/components/form/switch/switch.d.ts +4 -1
- package/dist/components/form/switch/switch.js +4 -1
- package/dist/components/form/switch/switch.styles.js +7 -5
- package/dist/components/form/textarea/textarea.d.ts +10 -4
- package/dist/components/form/textarea/textarea.js +18 -12
- 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 +9 -5
- package/dist/components/form/time-picker/time-picker.js +25 -29
- package/dist/components/form/time-picker/time-picker.styles.js +9 -8
- package/dist/components/layout/animate/animate.d.ts +41 -11
- package/dist/components/layout/animate/animate.js +48 -16
- package/dist/components/layout/animate/animate.styles.js +9 -16
- 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.styles.js +3 -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 +30 -10
- package/dist/components/navigation/carousel/carousel.js +37 -18
- package/dist/components/navigation/carousel/carousel.styles.js +60 -20
- package/dist/components/navigation/pagination/pagination.styles.js +8 -3
- package/dist/components/navigation/sidebar/sidebar.d.ts +2 -0
- package/dist/components/navigation/sidebar/sidebar.js +2 -0
- package/dist/components/navigation/sidebar/sidebar.styles.js +27 -11
- package/dist/components/navigation/stepper/step.styles.js +16 -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 +7 -8
- package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +19 -14
- 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 +17 -49
- package/dist/components/navigation/toolbar/toolbar.js +23 -71
- 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 +12 -12
- package/dist/features/scheduler/calendar/calendar.js +15 -14
- package/dist/features/scheduler/calendar/calendar.styles.js +8 -6
- package/dist/features/scheduler/scheduler/scheduler.d.ts +7 -7
- package/dist/features/scheduler/scheduler/scheduler.js +21 -35
- package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -4
- package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +12 -8
- package/dist/features/scheduler/scheduler-event/scheduler-event.js +9 -7
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +16 -10
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +5 -5
- package/dist/features/scheduler/shared/scheduler-event-popover.js +2 -2
- package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +2 -2
- package/dist/features/scheduler/shared/scheduler-hour-grid.js +3 -3
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +3 -3
- package/dist/features/scheduler/shared/scheduler-month-view.d.ts +3 -3
- package/dist/features/scheduler/shared/scheduler-month-view.js +2 -2
- 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 +18 -23
- 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 +18 -25
- package/dist/features/table/table-action-bar/table-action-bar.styles.js +15 -3
- package/dist/i18n/en.d.ts +34 -0
- package/dist/i18n/en.js +34 -0
- package/dist/i18n/fr.js +38 -0
- package/dist/index.d.ts +7 -13
- package/dist/index.js +6 -10
- package/dist/jsx.d.ts +1 -1
- package/dist/mixins/button.mixin.d.ts +10 -9
- package/dist/mixins/button.mixin.js +14 -6
- package/dist/mixins/card-link.mixin.d.ts +3 -2
- package/dist/mixins/card-link.mixin.js +12 -5
- package/dist/mixins/check.mixin.js +4 -5
- package/dist/mixins/disabled.mixin.d.ts +3 -3
- package/dist/mixins/disabled.mixin.js +10 -5
- package/dist/mixins/field-appearance.mixin.d.ts +19 -0
- package/dist/mixins/{field-variant.mixin.js → field-appearance.mixin.js} +11 -11
- package/dist/mixins/form.mixin.d.ts +17 -1
- package/dist/mixins/form.mixin.js +80 -25
- package/dist/mixins/radio.mixin.js +4 -5
- package/dist/mixins/validators.mixin.d.ts +7 -1
- package/dist/mixins/validators.mixin.js +36 -17
- package/dist/ssr/animate-ssr.css +27 -72
- package/dist/ssr/button-ssr.css +319 -0
- package/dist/ssr/card-ssr.css +184 -0
- package/dist/ssr/description-list-ssr.css +150 -0
- package/dist/ssr/links-ssr.css +35 -0
- package/dist/ssr/overlay-ssr.css +0 -41
- package/dist/ssr/rich-text.css +38 -0
- package/dist/ssr/sidebar-ssr.css +0 -38
- package/dist/ssr/table-ssr.css +472 -0
- package/dist/ssr/tag-ssr.css +197 -0
- package/dist/ssr/toolbar-ssr.css +77 -39
- package/dist/types/variant.type.d.ts +26 -10
- 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/light-dom-styles.utils.d.ts +14 -0
- package/dist/utils/light-dom-styles.utils.js +37 -0
- 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/navigation.utils.d.ts +14 -0
- package/dist/utils/navigation.utils.js +33 -0
- package/dist/utils/new-tab-anchor.controller.d.ts +44 -0
- package/dist/utils/new-tab-anchor.controller.js +102 -0
- package/dist/utils/severity-icon.utils.d.ts +1 -1
- package/dist/utils/severity-icon.utils.js +1 -1
- package/dist/utils/theme-generator.utils.d.ts +9 -2
- package/dist/utils/theme-generator.utils.js +62 -21
- package/package.json +24 -29
- 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-2JLDJFYD.js +0 -48
- package/dist/cdn/components/chunks/chunk-A6KGFALA.js +0 -132
- package/dist/cdn/components/chunks/chunk-ATH2OAMU.js +0 -1
- package/dist/cdn/components/chunks/chunk-BKHD4S57.js +0 -1
- 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-E74CM7UG.js +0 -66
- 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-KVYUNKUO.js +0 -27
- 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-T4PTHUYF.js +0 -10
- package/dist/cdn/components/chunks/chunk-T7WABJEJ.js +0 -1
- package/dist/cdn/components/chunks/chunk-VRGRCYIO.js +0 -1
- package/dist/cdn/components/chunks/chunk-X2AUBZD2.js +0 -30
- package/dist/cdn/components/chunks/chunk-XSMCT4DF.js +0 -1
- 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/field-variant.mixin.d.ts +0 -22
- 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,15 +11,16 @@ 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
|
-
import {
|
|
16
|
+
import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
|
|
17
17
|
import { AnchorPositionMixin, } from "../../../mixins/anchor-position.mixin.js";
|
|
18
18
|
import { LocalizableMixin, } from "../../../mixins/localizable.mixin.js";
|
|
19
19
|
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,7 @@ 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";
|
|
36
38
|
/**
|
|
37
39
|
* Tag name of the date-picker component.
|
|
38
40
|
*/
|
|
@@ -55,7 +57,7 @@ const SEGMENT_SPIN_BOUNDS = {
|
|
|
55
57
|
* @internal
|
|
56
58
|
*/
|
|
57
59
|
const Base = DisabledMixin(ValidatorsMixin(LitElement));
|
|
58
|
-
const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(
|
|
60
|
+
const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(FormMixin(Base))))));
|
|
59
61
|
/**
|
|
60
62
|
* A date field entered across segmented numeric day, month, and year
|
|
61
63
|
* inputs, following the same accessible pattern used by several
|
|
@@ -77,7 +79,7 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldVar
|
|
|
77
79
|
* normalized to January first of the selected year. The range mode
|
|
78
80
|
* composes with all three.
|
|
79
81
|
*
|
|
80
|
-
* @prop {'outline' | '
|
|
82
|
+
* @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
|
|
81
83
|
* @prop {'single' | 'range'} [mode='single'] - Whether a single value or a start and end range is picked
|
|
82
84
|
* @prop {'day' | 'month' | 'year'} [granularity='day'] - How precise the picked value is. Controls both the number of segments rendered and which calendar surface opens
|
|
83
85
|
* @prop {Date | null} value - The picked value, in single mode. Normalized to the first of the month or January first of the year outside day granularity
|
|
@@ -96,7 +98,8 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldVar
|
|
|
96
98
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
97
99
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
98
100
|
* @prop {boolean} [required=false] - Whether the field is required
|
|
99
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
101
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
102
|
+
* @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
103
|
* @prop {Array<Validators<Date | null>>} validators - The list of custom validation rules applied to the value
|
|
101
104
|
* @prop {string} [todayLabel='Today'] - The label of the day grid's jump to today shortcut. Only shown with day granularity
|
|
102
105
|
* @prop {string} [applyLabel='Apply'] - The label of the mobile modal's confirm button
|
|
@@ -139,6 +142,9 @@ const EunomiaDatePickerMixinBase = LocalizableMixin(AnchorPositionMixin(FieldVar
|
|
|
139
142
|
* @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
143
|
* @cssprop [--date-picker-panel-background] - Sets the background color of the popover panel
|
|
141
144
|
* @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
|
|
145
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
146
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
147
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
142
148
|
* @element eun-date-picker
|
|
143
149
|
*/
|
|
144
150
|
let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends EunomiaDatePickerMixinBase {
|
|
@@ -372,7 +378,10 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
372
378
|
: [this.rangeSegments.start, this.rangeSegments.end];
|
|
373
379
|
const hasBadInput = groups.some((group) => isPartiallyFilled(group) && !segmentsToDate(group, kinds));
|
|
374
380
|
if (hasBadInput) {
|
|
375
|
-
return {
|
|
381
|
+
return {
|
|
382
|
+
validity: { badInput: true },
|
|
383
|
+
message: this.dictionary.validation.invalidDate,
|
|
384
|
+
};
|
|
376
385
|
}
|
|
377
386
|
if (this.isWithTimeActive()) {
|
|
378
387
|
const format = this.resolvedHourFormat();
|
|
@@ -419,7 +428,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
419
428
|
let message;
|
|
420
429
|
if (this.required && isEmpty) {
|
|
421
430
|
validity.valueMissing = true;
|
|
422
|
-
message =
|
|
431
|
+
message = this.dictionary.validation.valueMissing;
|
|
423
432
|
}
|
|
424
433
|
return { validity, message };
|
|
425
434
|
};
|
|
@@ -447,7 +456,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
447
456
|
this.isModalOpen = true;
|
|
448
457
|
return;
|
|
449
458
|
}
|
|
450
|
-
this.updateComplete.then(() => {
|
|
459
|
+
void this.updateComplete.then(() => {
|
|
451
460
|
const popover = this.popoverEl;
|
|
452
461
|
if (!popover) {
|
|
453
462
|
return;
|
|
@@ -485,7 +494,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
485
494
|
});
|
|
486
495
|
}
|
|
487
496
|
this.observeAnchorVisibility(this.fieldWrapperEl, () => this.closePopover());
|
|
488
|
-
this.updateComplete.then(() => this.focusCalendarCell());
|
|
497
|
+
void this.updateComplete.then(() => this.focusCalendarCell());
|
|
489
498
|
return;
|
|
490
499
|
}
|
|
491
500
|
this.isOpen = false;
|
|
@@ -1083,10 +1092,8 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1083
1092
|
end: dateToSegments(this.rangeValue.end),
|
|
1084
1093
|
};
|
|
1085
1094
|
}
|
|
1086
|
-
if (changed
|
|
1087
|
-
|
|
1088
|
-
changed.has("disabled")) {
|
|
1089
|
-
this.setAttribute("aria-invalid", String(!this.hideError && !this.disabled && !this.valid));
|
|
1095
|
+
if (hasErrorDisplayChange(changed)) {
|
|
1096
|
+
this.setAttribute("aria-invalid", String(this.showError));
|
|
1090
1097
|
}
|
|
1091
1098
|
}
|
|
1092
1099
|
/**
|
|
@@ -1111,7 +1118,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1111
1118
|
* @private
|
|
1112
1119
|
*/
|
|
1113
1120
|
isMobileViewport() {
|
|
1114
|
-
return window.matchMedia(
|
|
1121
|
+
return window.matchMedia(mediaBelow("tablet")).matches;
|
|
1115
1122
|
}
|
|
1116
1123
|
/**
|
|
1117
1124
|
* @private
|
|
@@ -1328,7 +1335,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1328
1335
|
* The popover's open/close animation duration, in ms : `0` if
|
|
1329
1336
|
* `noAnimation` is set or the browser reports `prefers-reduced-motion:
|
|
1330
1337
|
* reduce`, otherwise `--date-picker-panel-transition-duration` (default
|
|
1331
|
-
* `
|
|
1338
|
+
* `--eun-duration-m`).
|
|
1332
1339
|
*
|
|
1333
1340
|
* @param el the popover to read `--date-picker-panel-transition-duration` off.
|
|
1334
1341
|
* @private
|
|
@@ -1338,18 +1345,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1338
1345
|
window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
|
1339
1346
|
return 0;
|
|
1340
1347
|
}
|
|
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;
|
|
1348
|
+
return resolveDurationMs(el, "--date-picker-panel-transition-duration", "m", 200);
|
|
1353
1349
|
}
|
|
1354
1350
|
/**
|
|
1355
1351
|
* Plays the fade/scaleY-in, replacing any {@link popoverAnimation}
|
|
@@ -1367,7 +1363,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1367
1363
|
this.popoverAnimation = popover.animate([
|
|
1368
1364
|
{ opacity: 0, transform: "scaleY(0.01)" },
|
|
1369
1365
|
{ opacity: 1, transform: "scaleY(1)" },
|
|
1370
|
-
], { duration, easing:
|
|
1366
|
+
], { duration, easing: resolveEasing(popover), fill: "forwards" });
|
|
1371
1367
|
}
|
|
1372
1368
|
/**
|
|
1373
1369
|
* Closes the popover, if open — accepting an instant, unanimated close
|
|
@@ -1405,7 +1401,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1405
1401
|
const animation = popover.animate([
|
|
1406
1402
|
{ opacity: 1, transform: "scaleY(1)" },
|
|
1407
1403
|
{ opacity: 0, transform: "scaleY(0.01)" },
|
|
1408
|
-
], { duration, easing:
|
|
1404
|
+
], { duration, easing: resolveEasing(popover), fill: "forwards" });
|
|
1409
1405
|
this.popoverAnimation = animation;
|
|
1410
1406
|
animation.finished
|
|
1411
1407
|
.then(() => {
|
|
@@ -1477,7 +1473,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1477
1473
|
}
|
|
1478
1474
|
this.focusedDate = candidate;
|
|
1479
1475
|
this.syncDisplayedAnchor();
|
|
1480
|
-
this.updateComplete.then(() => this.focusCalendarCell());
|
|
1476
|
+
void this.updateComplete.then(() => this.focusCalendarCell());
|
|
1481
1477
|
}
|
|
1482
1478
|
/**
|
|
1483
1479
|
* Jumps `focusedDate` directly to `date` (no disabled-cell skipping —
|
|
@@ -1490,7 +1486,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1490
1486
|
jumpFocused(date) {
|
|
1491
1487
|
this.focusedDate = date;
|
|
1492
1488
|
this.syncDisplayedAnchor();
|
|
1493
|
-
this.updateComplete.then(() => this.focusCalendarCell());
|
|
1489
|
+
void this.updateComplete.then(() => this.focusCalendarCell());
|
|
1494
1490
|
}
|
|
1495
1491
|
/**
|
|
1496
1492
|
* @private
|
|
@@ -1607,7 +1603,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1607
1603
|
* @private
|
|
1608
1604
|
*/
|
|
1609
1605
|
playSwipeAnimation(direction) {
|
|
1610
|
-
this.updateComplete.then(() => {
|
|
1606
|
+
void this.updateComplete.then(() => {
|
|
1611
1607
|
const el = this.swipeAreaEl;
|
|
1612
1608
|
if (!el) {
|
|
1613
1609
|
return;
|
|
@@ -1868,21 +1864,14 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1868
1864
|
*/
|
|
1869
1865
|
adjustTimeSegment(kind, delta) {
|
|
1870
1866
|
const format = this.resolvedHourFormat();
|
|
1871
|
-
const
|
|
1872
|
-
|
|
1873
|
-
? { min: 1, max: 12 }
|
|
1874
|
-
: { min: 0, max: 23 }
|
|
1875
|
-
: { min: 0, max: 59 };
|
|
1867
|
+
const hourBounds = format === 12 ? { min: 1, max: 12 } : { min: 0, max: 23 };
|
|
1868
|
+
const bounds = kind === "hour" ? hourBounds : { min: 0, max: 59 };
|
|
1876
1869
|
const current = Number(this.timeSegments[kind]);
|
|
1877
1870
|
let next;
|
|
1878
1871
|
if (this.timeSegments[kind] === "" || Number.isNaN(current)) {
|
|
1879
1872
|
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;
|
|
1873
|
+
const hour = format === 12 ? to12Hour(parts.hour).hour : parts.hour;
|
|
1874
|
+
next = kind === "hour" ? hour : parts.minute;
|
|
1886
1875
|
}
|
|
1887
1876
|
else {
|
|
1888
1877
|
next = current + delta;
|
|
@@ -1972,11 +1961,12 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
1972
1961
|
const previous = order[index - 1];
|
|
1973
1962
|
const isHourMinutePair = (previous === "hour" && kind === "minute") ||
|
|
1974
1963
|
(previous === "minute" && kind === "hour");
|
|
1964
|
+
const divider = isHourMinutePair ? ":" : " ";
|
|
1975
1965
|
return html `
|
|
1976
1966
|
${index === 0
|
|
1977
1967
|
? nothing
|
|
1978
1968
|
: html `<span class="segment-divider" aria-hidden="true"
|
|
1979
|
-
>${
|
|
1969
|
+
>${divider}</span
|
|
1980
1970
|
>`}
|
|
1981
1971
|
${this.renderTimeSegment(kind)}
|
|
1982
1972
|
`;
|
|
@@ -2371,7 +2361,7 @@ let EunomiaDatePicker = EunomiaDatePicker_1 = class EunomiaDatePicker extends Eu
|
|
|
2371
2361
|
* @private
|
|
2372
2362
|
*/
|
|
2373
2363
|
renderTimezoneLabel() {
|
|
2374
|
-
if (!this.timezone || isSameTimeZone(this.timezone
|
|
2364
|
+
if (!this.timezone || isSameTimeZone(this.timezone)) {
|
|
2375
2365
|
return nothing;
|
|
2376
2366
|
}
|
|
2377
2367
|
const reference = this.stagingValue ?? new Date();
|
|
@@ -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)) {
|
|
@@ -68,22 +68,22 @@ const datePicker = css `
|
|
|
68
68
|
:host([aria-invalid="true"]) #field-wrapper:focus-within {
|
|
69
69
|
outline-color: var(--_errorColor);
|
|
70
70
|
}
|
|
71
|
-
:host([
|
|
71
|
+
:host([appearance="flat"]) {
|
|
72
72
|
--_background: var(--field-background, var(--eun-content-hover, #edeff0));
|
|
73
73
|
}
|
|
74
|
-
:host([
|
|
74
|
+
:host([appearance="flat"]) #field-wrapper {
|
|
75
75
|
border-color: transparent;
|
|
76
76
|
}
|
|
77
|
-
:host([
|
|
77
|
+
:host([appearance="flat"][aria-invalid="true"]) #field-wrapper {
|
|
78
78
|
box-shadow: inset 0 0 0 var(--eun-border-width-m, 1.5px) var(--_errorColor);
|
|
79
79
|
}
|
|
80
|
-
:host([
|
|
80
|
+
:host([appearance="underline"]) #field-wrapper {
|
|
81
81
|
border: none;
|
|
82
82
|
outline: none;
|
|
83
83
|
border-bottom: var(--eun-border-width-m, 1.5px) solid var(--_borderColor);
|
|
84
84
|
border-radius: 0;
|
|
85
85
|
}
|
|
86
|
-
:host([
|
|
86
|
+
:host([appearance="underline"]) #field-wrapper:focus-within {
|
|
87
87
|
outline: none;
|
|
88
88
|
}
|
|
89
89
|
.segment-group {
|
|
@@ -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 {
|
|
@@ -5,7 +5,7 @@ import { ValidatorsMixinInterface, Validity } from "../../../mixins/validators.m
|
|
|
5
5
|
import { FormMixinInterface } from "../../../mixins/form.mixin.js";
|
|
6
6
|
import { FormLabelMixinInterface } from "../../../mixins/form-label.mixin.js";
|
|
7
7
|
import { EditableMixinInterface } from "../../../mixins/editable.mixin.js";
|
|
8
|
-
import {
|
|
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
11
|
/**
|
|
@@ -20,14 +20,14 @@ export type EunomiaInputType = "text" | "email" | "number" | "tel" | "url" | "se
|
|
|
20
20
|
* Type of the input base used to declare every necessary Mixin interface elements.
|
|
21
21
|
* @internal
|
|
22
22
|
*/
|
|
23
|
-
type EunomiaInputBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface &
|
|
23
|
+
type EunomiaInputBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & EditableMixinInterface & FormLabelMixinInterface & FieldAppearanceMixinInterface;
|
|
24
24
|
declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
25
25
|
/**
|
|
26
26
|
* A single-line text field, supporting several native input types.
|
|
27
27
|
*
|
|
28
28
|
* @slot [icon] - Replaces the leading icon entirely with any content, not just an icon element. Falls back to icon when empty
|
|
29
29
|
* @prop {'text' | 'email' | 'number' | 'tel' | 'url' | 'search' | 'password'} [type='text'] - The native input type to apply
|
|
30
|
-
* @prop {'outline' | '
|
|
30
|
+
* @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
|
|
31
31
|
* @prop {string} label - The title label of the field, rendered through the label component
|
|
32
32
|
* @prop {string} instructions - Instructions displayed below the label
|
|
33
33
|
* @prop {string} placeholder - The placeholder shown when the field is empty
|
|
@@ -37,7 +37,8 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
|
37
37
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
38
38
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
39
39
|
* @prop {boolean} [required=false] - Whether the field is required
|
|
40
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
40
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
41
|
+
* @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
42
|
* @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
|
|
42
43
|
* @prop {EunomiaIconName} icon - An optional leading icon
|
|
43
44
|
* @prop {boolean} [clearable=false] - Whether a clear button is shown when the field has a value
|
|
@@ -64,6 +65,8 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
|
64
65
|
* @cssprop [--field-border-color-focus] - Sets the border color on focus
|
|
65
66
|
* @cssprop [--field-border-radius] - Sets the corner radius of the field
|
|
66
67
|
* @cssprop [--field-padding] - Sets the padding of the field
|
|
68
|
+
* @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
69
|
+
* @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
67
70
|
* @cssprop [--field-text-color] - Sets the text color of the field
|
|
68
71
|
* @cssprop [--field-placeholder-color] - Sets the color of the placeholder
|
|
69
72
|
* @cssprop [--field-icon-color] - Sets the color of the leading icon and action buttons
|
|
@@ -72,6 +75,9 @@ declare const EunomiaInputMixinBase: Constructor<EunomiaInputBase>;
|
|
|
72
75
|
* @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
|
|
73
76
|
* @cssprop [--field-edit-confirm-color] - Sets the color of the confirm button in readonly-available edit mode
|
|
74
77
|
* @cssprop [--field-edit-cancel-color] - Sets the color of the cancel button in readonly-available edit mode
|
|
78
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
79
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
80
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
75
81
|
* @element eun-input
|
|
76
82
|
*/
|
|
77
83
|
export declare class EunomiaInput extends EunomiaInputMixinBase {
|
|
@@ -15,7 +15,7 @@ import { ValidatorsMixin, } from "../../../mixins/validators.mixin.js";
|
|
|
15
15
|
import { FormMixin } from "../../../mixins/form.mixin.js";
|
|
16
16
|
import { FormLabelMixin, } from "../../../mixins/form-label.mixin.js";
|
|
17
17
|
import { EditableMixin, } from "../../../mixins/editable.mixin.js";
|
|
18
|
-
import {
|
|
18
|
+
import { FieldAppearanceMixin, } from "../../../mixins/field-appearance.mixin.js";
|
|
19
19
|
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";
|
|
@@ -29,13 +29,13 @@ export const EunomiaInputTagName = "eun-input";
|
|
|
29
29
|
* @internal
|
|
30
30
|
*/
|
|
31
31
|
const Base = DisabledMixin(ValidatorsMixin(LitElement));
|
|
32
|
-
const EunomiaInputMixinBase =
|
|
32
|
+
const EunomiaInputMixinBase = FieldAppearanceMixin(FormLabelMixin(ReadonlyMixin(EditableMixin(FormMixin(Base)))));
|
|
33
33
|
/**
|
|
34
34
|
* A single-line text field, supporting several native input types.
|
|
35
35
|
*
|
|
36
36
|
* @slot [icon] - Replaces the leading icon entirely with any content, not just an icon element. Falls back to icon when empty
|
|
37
37
|
* @prop {'text' | 'email' | 'number' | 'tel' | 'url' | 'search' | 'password'} [type='text'] - The native input type to apply
|
|
38
|
-
* @prop {'outline' | '
|
|
38
|
+
* @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
|
|
39
39
|
* @prop {string} label - The title label of the field, rendered through the label component
|
|
40
40
|
* @prop {string} instructions - Instructions displayed below the label
|
|
41
41
|
* @prop {string} placeholder - The placeholder shown when the field is empty
|
|
@@ -45,7 +45,8 @@ const EunomiaInputMixinBase = FieldVariantMixin(FormLabelMixin(ReadonlyMixin(Edi
|
|
|
45
45
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
46
46
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
47
47
|
* @prop {boolean} [required=false] - Whether the field is required
|
|
48
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
48
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
49
|
+
* @prop {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
50
|
* @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
|
|
50
51
|
* @prop {EunomiaIconName} icon - An optional leading icon
|
|
51
52
|
* @prop {boolean} [clearable=false] - Whether a clear button is shown when the field has a value
|
|
@@ -72,6 +73,8 @@ const EunomiaInputMixinBase = FieldVariantMixin(FormLabelMixin(ReadonlyMixin(Edi
|
|
|
72
73
|
* @cssprop [--field-border-color-focus] - Sets the border color on focus
|
|
73
74
|
* @cssprop [--field-border-radius] - Sets the corner radius of the field
|
|
74
75
|
* @cssprop [--field-padding] - Sets the padding of the field
|
|
76
|
+
* @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
77
|
+
* @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
75
78
|
* @cssprop [--field-text-color] - Sets the text color of the field
|
|
76
79
|
* @cssprop [--field-placeholder-color] - Sets the color of the placeholder
|
|
77
80
|
* @cssprop [--field-icon-color] - Sets the color of the leading icon and action buttons
|
|
@@ -80,6 +83,9 @@ const EunomiaInputMixinBase = FieldVariantMixin(FormLabelMixin(ReadonlyMixin(Edi
|
|
|
80
83
|
* @cssprop [--field-focus-outline-color] - Sets the color of the focus outline
|
|
81
84
|
* @cssprop [--field-edit-confirm-color] - Sets the color of the confirm button in readonly-available edit mode
|
|
82
85
|
* @cssprop [--field-edit-cancel-color] - Sets the color of the cancel button in readonly-available edit mode
|
|
86
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
87
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
88
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
83
89
|
* @element eun-input
|
|
84
90
|
*/
|
|
85
91
|
let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
@@ -381,7 +387,7 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
381
387
|
: this.type === "email"
|
|
382
388
|
? "email"
|
|
383
389
|
: nothing}
|
|
384
|
-
aria-invalid=${
|
|
390
|
+
aria-invalid=${this.showError}
|
|
385
391
|
aria-label=${ifDefined(this.label)}
|
|
386
392
|
aria-describedby=${hasDescription ? "description" : nothing}
|
|
387
393
|
@input=${this.handleInput}
|
|
@@ -421,7 +427,7 @@ let EunomiaInput = class EunomiaInput extends EunomiaInputMixinBase {
|
|
|
421
427
|
<eun-button
|
|
422
428
|
class="confirm"
|
|
423
429
|
size="s"
|
|
424
|
-
|
|
430
|
+
color="primary"
|
|
425
431
|
appearance="default"
|
|
426
432
|
rounded
|
|
427
433
|
type="button"
|
|
@@ -37,7 +37,8 @@ declare const EunomiaInputFileMixinBase: Constructor<EunomiaInputFileBase>;
|
|
|
37
37
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
38
38
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
39
39
|
* @prop {boolean} [required=false] - Whether at least one file is required
|
|
40
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
40
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
41
|
+
* @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
42
|
* @prop {Array<import('../../../types/form-validators.type.js').Validators<File[]>>} validators - The list of validation rules applied to the field value
|
|
42
43
|
* @prop {string} [dropLabel='Drag and drop files here, or'] - Static text displayed in the dropzone
|
|
43
44
|
* @attr {string} [drop-label='Drag and drop files here, or'] - Static text displayed in the dropzone
|
|
@@ -72,6 +73,8 @@ declare const EunomiaInputFileMixinBase: Constructor<EunomiaInputFileBase>;
|
|
|
72
73
|
* @cssprop [--input-file-item-border-color] - Sets the border color of each item
|
|
73
74
|
* @cssprop [--input-file-gap] - Sets the gap between the dropzone, header, and items
|
|
74
75
|
* @cssprop [--input-file-thumbnail-size] - Sets the minimum size of image thumbnails
|
|
76
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
77
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
75
78
|
* @element eun-input-file
|
|
76
79
|
*/
|
|
77
80
|
export declare class EunomiaInputFile extends EunomiaInputFileMixinBase {
|
|
@@ -44,7 +44,8 @@ const EunomiaInputFileMixinBase = FormLabelMixin(ReadonlyMixin(FormMixin(Base)))
|
|
|
44
44
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
45
45
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
46
46
|
* @prop {boolean} [required=false] - Whether at least one file is required
|
|
47
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
47
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
48
|
+
* @prop {string} [error] - An error computed outside the field, by the form or by the server. While set, the field is invalid and shows this message right away
|
|
48
49
|
* @prop {Array<import('../../../types/form-validators.type.js').Validators<File[]>>} validators - The list of validation rules applied to the field value
|
|
49
50
|
* @prop {string} [dropLabel='Drag and drop files here, or'] - Static text displayed in the dropzone
|
|
50
51
|
* @attr {string} [drop-label='Drag and drop files here, or'] - Static text displayed in the dropzone
|
|
@@ -79,6 +80,8 @@ const EunomiaInputFileMixinBase = FormLabelMixin(ReadonlyMixin(FormMixin(Base)))
|
|
|
79
80
|
* @cssprop [--input-file-item-border-color] - Sets the border color of each item
|
|
80
81
|
* @cssprop [--input-file-gap] - Sets the gap between the dropzone, header, and items
|
|
81
82
|
* @cssprop [--input-file-thumbnail-size] - Sets the minimum size of image thumbnails
|
|
83
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
84
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
82
85
|
* @element eun-input-file
|
|
83
86
|
*/
|
|
84
87
|
let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase {
|
|
@@ -446,7 +449,7 @@ let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase
|
|
|
446
449
|
const next = current.filter((candidate) => candidate !== file);
|
|
447
450
|
this.value = next;
|
|
448
451
|
this.dispatchEvent(new ChangeEvent(this.value));
|
|
449
|
-
this.updateComplete.then(() => {
|
|
452
|
+
void this.updateComplete.then(() => {
|
|
450
453
|
if (!next.length) {
|
|
451
454
|
this.firstFocusable()?.focus();
|
|
452
455
|
return;
|
|
@@ -463,7 +466,7 @@ let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase
|
|
|
463
466
|
this.selected = new Set();
|
|
464
467
|
this.value = [];
|
|
465
468
|
this.dispatchEvent(new ChangeEvent(this.value));
|
|
466
|
-
this.updateComplete.then(() => this.firstFocusable()?.focus());
|
|
469
|
+
void this.updateComplete.then(() => this.firstFocusable()?.focus());
|
|
467
470
|
}
|
|
468
471
|
/**
|
|
469
472
|
* Removes every currently-selected file.
|
|
@@ -475,7 +478,7 @@ let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase
|
|
|
475
478
|
this.selected = new Set();
|
|
476
479
|
this.value = next;
|
|
477
480
|
this.dispatchEvent(new ChangeEvent(this.value));
|
|
478
|
-
this.updateComplete.then(() => this.firstFocusable()?.focus());
|
|
481
|
+
void this.updateComplete.then(() => this.firstFocusable()?.focus());
|
|
479
482
|
}
|
|
480
483
|
toggleSelected(file, checked) {
|
|
481
484
|
const next = new Set(this.selected);
|
|
@@ -594,7 +597,7 @@ let EunomiaInputFile = class EunomiaInputFile extends EunomiaInputFileMixinBase
|
|
|
594
597
|
?multiple=${this.multiple}
|
|
595
598
|
?disabled=${disabled}
|
|
596
599
|
aria-label=${ifDefined(this.label)}
|
|
597
|
-
aria-invalid=${
|
|
600
|
+
aria-invalid=${this.showError}
|
|
598
601
|
aria-describedby=${hasDescription ? "description" : nothing}
|
|
599
602
|
@change=${this.handleNativeChange}
|
|
600
603
|
/>
|
|
@@ -99,8 +99,9 @@ const base = css `
|
|
|
99
99
|
cursor: pointer;
|
|
100
100
|
box-sizing: border-box;
|
|
101
101
|
transition:
|
|
102
|
-
border-color
|
|
103
|
-
background-color
|
|
102
|
+
border-color var(--eun-duration-s, 150ms) var(--eun-easing-default, ease),
|
|
103
|
+
background-color var(--eun-duration-s, 150ms)
|
|
104
|
+
var(--eun-easing-default, ease);
|
|
104
105
|
}
|
|
105
106
|
#dropzone #drop-icon {
|
|
106
107
|
--icon-color: var(--_iconColor);
|
|
@@ -4,7 +4,7 @@ import { ReadonlyMixinInterface } from "../../../mixins/readonly.mixin.js";
|
|
|
4
4
|
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
|
-
import {
|
|
7
|
+
import { FieldAppearanceMixinInterface } from "../../../mixins/field-appearance.mixin.js";
|
|
8
8
|
import { AnchorPositionMixinInterface } from "../../../mixins/anchor-position.mixin.js";
|
|
9
9
|
import { Constructor } from "../../../utils/constructor.type.js";
|
|
10
10
|
/**
|
|
@@ -16,7 +16,7 @@ export declare const EunomiaInputPhoneTagName = "eun-input-phone";
|
|
|
16
16
|
* interface element.
|
|
17
17
|
* @internal
|
|
18
18
|
*/
|
|
19
|
-
type EunomiaInputPhoneBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & FormLabelMixinInterface &
|
|
19
|
+
type EunomiaInputPhoneBase = LitElement & DisabledMixinInterface & ReadonlyMixinInterface & ValidatorsMixinInterface<string> & FormMixinInterface<string> & FormLabelMixinInterface & FieldAppearanceMixinInterface & AnchorPositionMixinInterface;
|
|
20
20
|
declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
|
|
21
21
|
/**
|
|
22
22
|
* A phone number field rendered in two adjacent parts: a compact country
|
|
@@ -38,7 +38,7 @@ declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
|
|
|
38
38
|
* digits only.
|
|
39
39
|
*
|
|
40
40
|
* @slot [default] - An optional list of option elements restricting which countries appear in the dropdown, such as an option with value FR for France. When omitted, every built-in country is available
|
|
41
|
-
* @prop {'outline' | '
|
|
41
|
+
* @prop {'outline' | 'flat' | 'underline'} [appearance='outline'] - How the field's surface is drawn: a bordered box, a muted background with no border, or a bottom border only
|
|
42
42
|
* @prop {string} label - The title label of the field, rendered through the label component
|
|
43
43
|
* @prop {string} instructions - Instructions displayed below the label
|
|
44
44
|
* @prop {string} name - The field name
|
|
@@ -54,7 +54,8 @@ declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
|
|
|
54
54
|
* @prop {boolean} [disabled=false] - Whether the field is disabled
|
|
55
55
|
* @prop {boolean} [readonly=false] - Whether the field is read only
|
|
56
56
|
* @prop {boolean} [required=false] - Whether the field is required
|
|
57
|
-
* @prop {boolean} [hideError=false] - Whether the errors are hidden
|
|
57
|
+
* @prop {boolean} [hideError=false] - Whether the errors are hidden. The hint stays visible
|
|
58
|
+
* @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
|
|
58
59
|
* @prop {Array<Validators<string>>} validators - The list of validation rules applied to the field value
|
|
59
60
|
* @prop {string} [placeholder] - The placeholder shown when the field is empty. Defaults to a generic formatted digit pattern, not a real per-country example, when unset
|
|
60
61
|
* @prop {string} [countrySearchPlaceholder='Search a country…'] - The placeholder of the search field inside the country dropdown
|
|
@@ -70,6 +71,8 @@ declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
|
|
|
70
71
|
* @cssprop [--field-border-color-focus] - Sets the border color on focus
|
|
71
72
|
* @cssprop [--field-border-radius] - Sets the corner radius of the field
|
|
72
73
|
* @cssprop [--field-padding] - Sets the padding of the field
|
|
74
|
+
* @cssprop [--field-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
75
|
+
* @cssprop [--field-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --field-padding is set
|
|
73
76
|
* @cssprop [--field-text-color] - Sets the text color of the field
|
|
74
77
|
* @cssprop [--field-placeholder-color] - Sets the color of the placeholder
|
|
75
78
|
* @cssprop [--field-icon-color] - Sets the color of the country selector button
|
|
@@ -80,6 +83,9 @@ declare const EunomiaInputPhoneMixinBase: Constructor<EunomiaInputPhoneBase>;
|
|
|
80
83
|
* @cssprop [--field-listbox-transition-duration=200ms] - Sets the duration of the dropdown panel's open and close height transition, disabled entirely under reduced motion settings
|
|
81
84
|
* @cssprop [--eun-viewport-inset-top] - Reserves space, such as a page's sticky header height, that the dropdown panel keeps clear of at the top of the viewport. Set on the root or an ancestor rather than on the field itself
|
|
82
85
|
* @cssprop [--eun-viewport-inset-bottom] - The same as eun-viewport-inset-top, reserved at the bottom of the viewport, such as for a sticky footer
|
|
86
|
+
* @cssprop [--field-font-size] - Sets the font size of the field's value and placeholder
|
|
87
|
+
* @cssprop [--field-label-font-size] - Sets the font size of the label
|
|
88
|
+
* @cssprop [--field-message-font-size] - Sets the font size of the hint, error messages and instructions
|
|
83
89
|
* @element eun-input-phone
|
|
84
90
|
*/
|
|
85
91
|
export declare class EunomiaInputPhone extends EunomiaInputPhoneMixinBase {
|
|
@@ -290,7 +296,7 @@ export declare class EunomiaInputPhone extends EunomiaInputPhoneMixinBase {
|
|
|
290
296
|
/**
|
|
291
297
|
* The listbox's open/close animation duration, in ms : `0` under
|
|
292
298
|
* `prefers-reduced-motion: reduce`, otherwise `--field-listbox-
|
|
293
|
-
* transition-duration` (default `
|
|
299
|
+
* transition-duration` (default `--eun-duration-m`) — same custom property
|
|
294
300
|
* `eun-select`/`eun-search` share.
|
|
295
301
|
*
|
|
296
302
|
* @param el the listbox to read `--field-listbox-transition-duration` off.
|