@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
|
@@ -0,0 +1,197 @@
|
|
|
1
|
+
eun-tag:not(:defined) {
|
|
2
|
+
--_bg-default: var(--_tint);
|
|
3
|
+
--_fg-default: var(--_accent);
|
|
4
|
+
--_bg-fill: var(--_solid);
|
|
5
|
+
--_fg-fill: var(--_onSolid);
|
|
6
|
+
--_bg-outline: transparent;
|
|
7
|
+
--_fg-outline: var(--_accent);
|
|
8
|
+
--_bd-outline: var(--_solid);
|
|
9
|
+
--_bg-flat: var(--eun-content-hover, #edeff0);
|
|
10
|
+
--_fg-flat: var(--eun-text-secondary, #484e61);
|
|
11
|
+
--_solid: var(--eun-color-grey-700, #484e61);
|
|
12
|
+
--_onSolid: var(--eun-color-grey-0, #ffffff);
|
|
13
|
+
--_tint: color-mix(
|
|
14
|
+
in srgb,
|
|
15
|
+
var(--eun-color-grey-700, #484e61) 20%,
|
|
16
|
+
transparent
|
|
17
|
+
);
|
|
18
|
+
--_accent: var(--eun-color-grey-900, #000000);
|
|
19
|
+
}
|
|
20
|
+
eun-tag[color="primary"]:not([severity]):not(:defined) {
|
|
21
|
+
--_solid: var(--eun-color-primary-500, #3d6fff);
|
|
22
|
+
--_onSolid: var(--eun-color-on-primary-500, #ffffff);
|
|
23
|
+
--_tint: var(--eun-color-primary-alpha-20, #3d6fff33);
|
|
24
|
+
--_accent: var(--eun-color-primary-500, #3d6fff);
|
|
25
|
+
}
|
|
26
|
+
eun-tag[color="secondary"]:not([severity]):not(:defined) {
|
|
27
|
+
--_solid: var(--eun-color-secondary-500, #e5a030);
|
|
28
|
+
--_onSolid: var(--eun-color-on-secondary-500, #000000de);
|
|
29
|
+
--_tint: var(--eun-color-secondary-alpha-20, #edbd6f33);
|
|
30
|
+
--_accent: var(--eun-color-secondary-500, #e5a030);
|
|
31
|
+
}
|
|
32
|
+
eun-tag[color="light"]:not([severity]):not(:defined) {
|
|
33
|
+
--_solid: var(--eun-color-grey-0, #ffffff);
|
|
34
|
+
--_onSolid: var(--eun-color-grey-900, #000000);
|
|
35
|
+
}
|
|
36
|
+
eun-tag[color="light"][fixed-color]:not([severity]):not(:defined) {
|
|
37
|
+
--_solid: #ffffff;
|
|
38
|
+
--_onSolid: #000000;
|
|
39
|
+
}
|
|
40
|
+
eun-tag[color="dark"]:not([severity]):not(:defined) {
|
|
41
|
+
--_solid: var(--eun-color-grey-800, #071621);
|
|
42
|
+
--_onSolid: var(--eun-color-grey-0, #ffffff);
|
|
43
|
+
}
|
|
44
|
+
eun-tag[color="dark"][fixed-color]:not([severity]):not(:defined) {
|
|
45
|
+
--_solid: #071621;
|
|
46
|
+
--_onSolid: #ffffff;
|
|
47
|
+
}
|
|
48
|
+
eun-tag:is([color="light"], [color="dark"]):not([severity]):not(:defined) {
|
|
49
|
+
--_accent: var(--_solid);
|
|
50
|
+
--_tint: color-mix(in srgb, var(--_solid) 16%, transparent);
|
|
51
|
+
--_bg-default: var(--_solid);
|
|
52
|
+
--_fg-default: var(--_onSolid);
|
|
53
|
+
--_bg-flat: var(--_tint);
|
|
54
|
+
--_fg-flat: var(--_solid);
|
|
55
|
+
}
|
|
56
|
+
eun-tag[severity="info"]:not(:defined) {
|
|
57
|
+
--_solid: var(--eun-color-info-text, #097aa8);
|
|
58
|
+
--_onSolid: #fff;
|
|
59
|
+
--_tint: var(--eun-color-info-alpha-5, #097faf0d);
|
|
60
|
+
--_accent: var(--eun-color-info-text, #097aa8);
|
|
61
|
+
}
|
|
62
|
+
eun-tag[severity="success"]:not(:defined) {
|
|
63
|
+
--_solid: var(--eun-color-success-text, #167f3c);
|
|
64
|
+
--_onSolid: #fff;
|
|
65
|
+
--_tint: var(--eun-color-success-alpha-5, #1a99480d);
|
|
66
|
+
--_accent: var(--eun-color-success-text, #167f3c);
|
|
67
|
+
}
|
|
68
|
+
eun-tag[severity="warning"]:not(:defined) {
|
|
69
|
+
--_solid: var(--eun-color-warning-text, #b94c06);
|
|
70
|
+
--_onSolid: #fff;
|
|
71
|
+
--_tint: var(--eun-color-warning-alpha-5, #c852070d);
|
|
72
|
+
--_accent: var(--eun-color-warning-text, #b94c06);
|
|
73
|
+
}
|
|
74
|
+
eun-tag[severity="critical"]:not(:defined) {
|
|
75
|
+
--_solid: var(--eun-color-critical-text, #aa0014);
|
|
76
|
+
--_onSolid: #fff;
|
|
77
|
+
--_tint: var(--eun-color-critical-alpha-5, #aa00140d);
|
|
78
|
+
--_accent: var(--eun-color-critical-text, #aa0014);
|
|
79
|
+
}
|
|
80
|
+
eun-tag[severity="neutral"]:not(:defined) {
|
|
81
|
+
--_solid: var(--eun-color-grey-700, #484e61);
|
|
82
|
+
--_onSolid: var(--eun-color-grey-0, #ffffff);
|
|
83
|
+
--_tint: var(--eun-surface-sunken-strong, #ecedf0);
|
|
84
|
+
--_accent: var(--eun-color-grey-700, #484e61);
|
|
85
|
+
}
|
|
86
|
+
|
|
87
|
+
eun-tag:not([appearance]):not(:defined),
|
|
88
|
+
eun-tag[appearance="default"]:not(:defined) {
|
|
89
|
+
--_bg: var(--_bg-default);
|
|
90
|
+
--_fg: var(--_fg-default);
|
|
91
|
+
--_bd: transparent;
|
|
92
|
+
}
|
|
93
|
+
eun-tag[appearance="fill"]:not(:defined) {
|
|
94
|
+
--_bg: var(--_bg-fill);
|
|
95
|
+
--_fg: var(--_fg-fill);
|
|
96
|
+
--_bd: transparent;
|
|
97
|
+
}
|
|
98
|
+
eun-tag[appearance="outline"]:not(:defined) {
|
|
99
|
+
--_bg: var(--_bg-outline);
|
|
100
|
+
--_fg: var(--_fg-outline);
|
|
101
|
+
--_bd: var(--_bd-outline);
|
|
102
|
+
}
|
|
103
|
+
eun-tag[appearance="flat"]:not(:defined) {
|
|
104
|
+
--_bg: var(--_bg-flat);
|
|
105
|
+
--_fg: var(--_fg-flat);
|
|
106
|
+
--_bd: transparent;
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
eun-tag:not(:defined) {
|
|
110
|
+
--_padV: var(--eun-space-s, 8px);
|
|
111
|
+
--_padH: calc(var(--eun-space-m, 16px) / 2);
|
|
112
|
+
--_fontSize: var(--eun-font-size-s, 14px);
|
|
113
|
+
--_gap: var(--eun-space-xs, 4px);
|
|
114
|
+
--_iconSize: 18px;
|
|
115
|
+
--_radius: var(--eun-border-radius-m, 5px);
|
|
116
|
+
--_borderWidth: var(--tag-border-width, var(--eun-border-width-s, 1px));
|
|
117
|
+
display: inline-flex;
|
|
118
|
+
align-items: center;
|
|
119
|
+
background: var(--tag-background-color, var(--_bg));
|
|
120
|
+
color: var(--tag-color, var(--_fg));
|
|
121
|
+
border: var(--_borderWidth) solid var(--tag-border-color, var(--_bd));
|
|
122
|
+
border-radius: var(--tag-border-radius, var(--_radius));
|
|
123
|
+
padding: max(
|
|
124
|
+
0px,
|
|
125
|
+
calc(var(--tag-padding-block, var(--_padV)) - var(--_borderWidth))
|
|
126
|
+
)
|
|
127
|
+
max(
|
|
128
|
+
0px,
|
|
129
|
+
calc(var(--tag-padding-inline, var(--_padH)) - var(--_borderWidth))
|
|
130
|
+
);
|
|
131
|
+
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
132
|
+
font-size: var(--tag-font-size, var(--_fontSize));
|
|
133
|
+
font-weight: var(--tag-font-weight, var(--eun-font-weight-m, 500));
|
|
134
|
+
gap: var(--tag-gap, var(--_gap));
|
|
135
|
+
user-select: none;
|
|
136
|
+
}
|
|
137
|
+
eun-tag[size="s"]:not(:defined) {
|
|
138
|
+
--_padV: var(--eun-space-xs, 4px);
|
|
139
|
+
--_padH: var(--eun-space-s, 8px);
|
|
140
|
+
--_fontSize: var(--eun-font-size-xs, 12px);
|
|
141
|
+
--_iconSize: 14px;
|
|
142
|
+
}
|
|
143
|
+
eun-tag[size="l"]:not(:defined) {
|
|
144
|
+
--_padV: var(--eun-space-s, 8px);
|
|
145
|
+
--_padH: var(--eun-space-m, 16px);
|
|
146
|
+
--_fontSize: var(--eun-font-size-m, 16px);
|
|
147
|
+
--_gap: var(--eun-space-s, 8px);
|
|
148
|
+
--_iconSize: 22px;
|
|
149
|
+
}
|
|
150
|
+
eun-tag[rounded]:not(:defined) {
|
|
151
|
+
--_radius: var(--eun-border-radius-xl, 999px);
|
|
152
|
+
}
|
|
153
|
+
eun-tag[uppercase]:not(:defined) {
|
|
154
|
+
letter-spacing: 0.15em;
|
|
155
|
+
text-transform: uppercase;
|
|
156
|
+
}
|
|
157
|
+
eun-tag:not(:defined) > * {
|
|
158
|
+
margin: 0 !important;
|
|
159
|
+
}
|
|
160
|
+
|
|
161
|
+
eun-tag:not(:defined) > [slot="icon"] {
|
|
162
|
+
order: -1;
|
|
163
|
+
}
|
|
164
|
+
eun-tag[hide-icon]:not(:defined) > [slot="icon"] {
|
|
165
|
+
display: none;
|
|
166
|
+
}
|
|
167
|
+
:where(
|
|
168
|
+
eun-tag:not(:defined) > eun-icon[slot="icon"]:not([size]):not(:defined)
|
|
169
|
+
) {
|
|
170
|
+
display: inline-block;
|
|
171
|
+
width: var(--icon-size, 1rem);
|
|
172
|
+
height: var(--icon-size, 1rem);
|
|
173
|
+
}
|
|
174
|
+
eun-tag:is([icon], [severity], [icon-only]):not([hide-icon]):not(
|
|
175
|
+
:has(> [slot="icon"])
|
|
176
|
+
):not(:defined)::before {
|
|
177
|
+
content: "";
|
|
178
|
+
order: -1;
|
|
179
|
+
flex-shrink: 0;
|
|
180
|
+
width: var(--_iconSize);
|
|
181
|
+
height: var(--_iconSize);
|
|
182
|
+
}
|
|
183
|
+
|
|
184
|
+
eun-tag[icon-only]:not(:defined) {
|
|
185
|
+
--_padV: var(--eun-space-s, 8px);
|
|
186
|
+
--_padH: var(--eun-space-s, 8px);
|
|
187
|
+
justify-content: center;
|
|
188
|
+
font-size: 0;
|
|
189
|
+
gap: 0;
|
|
190
|
+
}
|
|
191
|
+
eun-tag[icon-only][size="s"]:not(:defined) {
|
|
192
|
+
--_padV: var(--eun-space-xs, 4px);
|
|
193
|
+
--_padH: var(--eun-space-xs, 4px);
|
|
194
|
+
}
|
|
195
|
+
eun-tag[icon-only]:not(:defined) > :not([slot="icon"]) {
|
|
196
|
+
display: none;
|
|
197
|
+
}
|
package/dist/ssr/toolbar-ssr.css
CHANGED
|
@@ -1,41 +1,79 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
* eun-toolbar documentation's Server-side rendering notes : the default
|
|
6
|
-
* slot (the mobile panel's own content, everything slotted in without a
|
|
7
|
-
* `slot` attribute) is only ever hidden by eun-toolbar's own Shadow DOM,
|
|
8
|
-
* either tucked inside a closed native popover once the element is
|
|
9
|
-
* upgraded and `mobile` is true, or simply never projected anywhere once
|
|
10
|
-
* upgraded and it's false. Server-rendered HTML has no Shadow DOM yet,
|
|
11
|
-
* so that content renders as plain, unstyled light-DOM children instead —
|
|
12
|
-
* visible, unpositioned, and often full-width/height, on top of
|
|
13
|
-
* everything else on the page, until the element upgrades.
|
|
14
|
-
*
|
|
15
|
-
* This stylesheet lives in the host document instead, hiding that exact
|
|
16
|
-
* content through `:not(:defined)`, which is true from first paint and
|
|
17
|
-
* stops matching permanently the moment the browser upgrades the
|
|
18
|
-
* element — handing off to eun-toolbar's own Shadow DOM at exactly the
|
|
19
|
-
* point it takes over, with no gap. Safe regardless of viewport : the
|
|
20
|
-
* content stays exactly as hidden post-upgrade whether `mobile` ends up
|
|
21
|
-
* true (closed popover) or false (never rendered at all), so this never
|
|
22
|
-
* has to guess at the breakpoint.
|
|
23
|
-
*
|
|
24
|
-
* Usage — link it in the page `<head>`, alongside (not instead of)
|
|
25
|
-
* importing "@eunomia/elements/toolbar.js" :
|
|
26
|
-
*
|
|
27
|
-
* <link
|
|
28
|
-
* rel="stylesheet"
|
|
29
|
-
* href="node_modules/@eunomia/elements/dist/ssr/toolbar-ssr.css"
|
|
30
|
-
* />
|
|
31
|
-
*
|
|
32
|
-
* The `start`/`center`/`end` slots aren't covered here : that content is
|
|
33
|
-
* meant to stay visible (and stay part of LCP) before upgrade too, same
|
|
34
|
-
* as after, so hiding it isn't this stylesheet's job. Style its own
|
|
35
|
-
* pre-upgrade layout, if needed, directly with `eun-toolbar:not(:defined)`
|
|
36
|
-
* in the host page's own CSS.
|
|
37
|
-
*/
|
|
38
|
-
|
|
39
|
-
eun-toolbar:not(:defined) > :not([slot]) {
|
|
1
|
+
eun-toolbar:not(:defined) > :not([slot]),
|
|
2
|
+
eun-toolbar:not(:defined) > [slot="skip-links"],
|
|
3
|
+
eun-toolbar:not(:defined) > [slot="menu-icon"],
|
|
4
|
+
eun-toolbar:not(:defined) > [slot="close-icon"] {
|
|
40
5
|
display: none;
|
|
41
6
|
}
|
|
7
|
+
|
|
8
|
+
eun-toolbar:not(:defined) {
|
|
9
|
+
box-sizing: border-box;
|
|
10
|
+
display: flex;
|
|
11
|
+
align-items: center;
|
|
12
|
+
gap: var(--toolbar-gap, 16px);
|
|
13
|
+
width: 100%;
|
|
14
|
+
height: var(--toolbar-height, 72px);
|
|
15
|
+
padding: var(
|
|
16
|
+
--toolbar-padding,
|
|
17
|
+
var(--toolbar-padding-block, 0)
|
|
18
|
+
var(--toolbar-padding-inline, 24px)
|
|
19
|
+
);
|
|
20
|
+
position: sticky;
|
|
21
|
+
top: 0;
|
|
22
|
+
z-index: var(--toolbar-z-index, 100);
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
eun-toolbar[position="fixed"]:not(:defined) {
|
|
26
|
+
position: fixed;
|
|
27
|
+
inset-inline: 0;
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
eun-toolbar[position="static"]:not(:defined) {
|
|
31
|
+
position: static;
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
eun-toolbar:not(:defined) > [slot="start"] {
|
|
35
|
+
order: 1;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
eun-toolbar:not(:defined) > [slot="center"] {
|
|
39
|
+
order: 2;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
eun-toolbar:not(:defined) > [slot="end"] {
|
|
43
|
+
order: 3;
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
eun-toolbar:not(:defined)
|
|
47
|
+
> [slot="center"]:where(:nth-child(1 of [slot="center"])) {
|
|
48
|
+
margin-inline-start: auto;
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
eun-toolbar:not(:defined)
|
|
52
|
+
> [slot="center"]:where(:nth-last-child(1 of [slot="center"])) {
|
|
53
|
+
margin-inline-end: auto;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
eun-toolbar:not(:defined):where(:not(:has(> [slot="center"])))
|
|
57
|
+
> [slot="end"]:where(:nth-child(1 of [slot="end"])) {
|
|
58
|
+
margin-inline-start: auto;
|
|
59
|
+
}
|
|
60
|
+
|
|
61
|
+
eun-toolbar:not(:defined):where(
|
|
62
|
+
:has(> [slot="start"]):has(> [slot="end"]):not(
|
|
63
|
+
:has(> :nth-child(2 of [slot="start"]), > :nth-child(2 of [slot="end"]))
|
|
64
|
+
)
|
|
65
|
+
)
|
|
66
|
+
> :is([slot="start"], [slot="end"]) {
|
|
67
|
+
flex: 1 1 0;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
eun-toolbar:not(:defined):where(
|
|
71
|
+
:has(> [slot="start"]):has(> [slot="end"]):not(
|
|
72
|
+
:has(> :nth-child(2 of [slot="start"]), > :nth-child(2 of [slot="end"]))
|
|
73
|
+
)
|
|
74
|
+
)
|
|
75
|
+
> [slot="end"] {
|
|
76
|
+
display: flex;
|
|
77
|
+
align-items: center;
|
|
78
|
+
justify-content: flex-end;
|
|
79
|
+
}
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
* independent of whether that something is an action being taken or a
|
|
4
4
|
* state being observed. Shared by feedback/display components (alert,
|
|
5
5
|
* toast, chip, tag, tooltip, progress-bar), and partly borrowed by
|
|
6
|
-
* {@link
|
|
6
|
+
* {@link EunomiaActionColor} : a "critical" button and a "critical" alert
|
|
7
7
|
* mean the same thing and must share the same red, or the app ends up with
|
|
8
8
|
* two unrelated definitions of "critical" depending on whether the thing
|
|
9
9
|
* wearing the color is clickable.
|
|
@@ -12,7 +12,9 @@ export type EunomiaSeverity = "info" | "success" | "warning" | "critical" | "neu
|
|
|
12
12
|
/**
|
|
13
13
|
* Canonical color union for interactive/action components (button, fab,
|
|
14
14
|
* dropdown-button, toggle-group/-item, badge, modal's confirm/cancel
|
|
15
|
-
* buttons)
|
|
15
|
+
* buttons), always exposed as `color`, like tag, chip and tooltip's own
|
|
16
|
+
* {@link EunomiaTone} palette. `variant` stays reserved for a shape or
|
|
17
|
+
* style (a field's outline/fill/underline, a loader's dots, ...). Composed of two genuinely different things sharing one visual
|
|
16
18
|
* slot — an action only ever needs one color, never both at once, so they
|
|
17
19
|
* live in a single prop rather than two independently-precedenced ones :
|
|
18
20
|
* - `"primary"` / `"secondary"` : pure emphasis/hierarchy, meaningless
|
|
@@ -26,18 +28,18 @@ export type EunomiaSeverity = "info" | "success" | "warning" | "critical" | "neu
|
|
|
26
28
|
* three do.
|
|
27
29
|
*
|
|
28
30
|
* Most components expose this union as-is ; only a genuine subset (see
|
|
29
|
-
* {@link
|
|
31
|
+
* {@link EunomiaModalConfirmColor}) needs a further narrowing on top of it.
|
|
30
32
|
*/
|
|
31
|
-
export type
|
|
33
|
+
export type EunomiaActionColor = "primary" | "secondary" | Extract<EunomiaSeverity, "critical" | "success" | "warning">;
|
|
32
34
|
/**
|
|
33
|
-
* The two-value {@link
|
|
34
|
-
* `
|
|
35
|
+
* The two-value {@link EunomiaActionColor} subset `eun-modal`'s
|
|
36
|
+
* `confirmColor` uses — a confirm button is only ever the modal's default
|
|
35
37
|
* emphasis or a destructive warning, never `secondary`/`success`/`warning`.
|
|
36
38
|
*/
|
|
37
|
-
export type
|
|
39
|
+
export type EunomiaModalConfirmColor = Extract<EunomiaActionColor, "primary" | "critical">;
|
|
38
40
|
/**
|
|
39
41
|
* Canonical surface-treatment union : how a component's background/border is
|
|
40
|
-
* rendered, independent of its `
|
|
42
|
+
* rendered, independent of its `severity`/`color`. Always named
|
|
41
43
|
* `appearance` on the components that expose it — never `type`, which stays
|
|
42
44
|
* reserved for a native HTML mechanism (e.g. `eun-button`'s `type="submit"`)
|
|
43
45
|
* wherever it appears.
|
|
@@ -53,8 +55,16 @@ export type EunomiaModalConfirmVariant = Extract<EunomiaActionVariant, "primary"
|
|
|
53
55
|
* (elevated, drop shadow) doesn't share that constraint : it's a static
|
|
54
56
|
* effect, not one gated behind interaction, so `eun-card` also exposes it
|
|
55
57
|
* (see {@link EunomiaCardAppearance}) despite being a passive container.
|
|
58
|
+
* `underline` (a bottom border only) is a form field's own look, and
|
|
59
|
+
* `transparent` (the pale tint, see-through instead of opaque) a scheduler
|
|
60
|
+
* event chip's : each belongs to a single family, like `ghost`.
|
|
61
|
+
*
|
|
62
|
+
* `appearance` only ever paints the surface (background, border, shadow)
|
|
63
|
+
* and combines with `color`/`severity`. A property changing what is drawn
|
|
64
|
+
* (a loader's dots or bar, a skeleton's shape) is a `variant` instead,
|
|
65
|
+
* with values of its own that mean nothing outside that component.
|
|
56
66
|
*/
|
|
57
|
-
export type EunomiaAppearance = "default" | "fill" | "outline" | "flat" | "raised" | "ghost";
|
|
67
|
+
export type EunomiaAppearance = "default" | "fill" | "outline" | "flat" | "raised" | "ghost" | "underline" | "transparent";
|
|
58
68
|
/**
|
|
59
69
|
* The four-value {@link EunomiaAppearance} subset feedback/display components
|
|
60
70
|
* (alert, toast, chip, tag, tooltip) actually use — no `raised`/`ghost`,
|
|
@@ -82,9 +92,15 @@ export type EunomiaToggleAppearance = Extract<EunomiaAppearance, "default" | "ou
|
|
|
82
92
|
* share `ghost`'s constraint.
|
|
83
93
|
*/
|
|
84
94
|
export type EunomiaCardAppearance = Extract<EunomiaAppearance, "default" | "fill" | "raised">;
|
|
95
|
+
/**
|
|
96
|
+
* The three-value {@link EunomiaAppearance} subset text-like form fields
|
|
97
|
+
* use : a bordered box (`outline`, their default), a muted background with
|
|
98
|
+
* no border (`flat`), or a bottom border only (`underline`).
|
|
99
|
+
*/
|
|
100
|
+
export type EunomiaFieldAppearance = Extract<EunomiaAppearance, "outline" | "flat" | "underline">;
|
|
85
101
|
/**
|
|
86
102
|
* Canonical decorative, non-semantic palette : a plain brand/neutral color
|
|
87
|
-
* pick with no status meaning, as opposed to {@link
|
|
103
|
+
* pick with no status meaning, as opposed to {@link EunomiaActionColor}/
|
|
88
104
|
* {@link EunomiaSeverity}. Always named `color` on the components that expose
|
|
89
105
|
* it.
|
|
90
106
|
*/
|
|
@@ -3,7 +3,7 @@ const DEFAULT_ACTIVATION_DISTANCE = 4;
|
|
|
3
3
|
const DEFAULT_DRAGGING_ATTRIBUTE = "data-dragging";
|
|
4
4
|
const DEFAULT_AUTO_SCROLL_EDGE = 48;
|
|
5
5
|
const DEFAULT_AUTO_SCROLL_SPEED = 12;
|
|
6
|
-
const SETTLE_TRANSITION = "transform 150ms ease";
|
|
6
|
+
const SETTLE_TRANSITION = "transform var(--eun-duration-s, 150ms) var(--eun-easing-default, ease)";
|
|
7
7
|
const SR_ONLY_STYLE = {
|
|
8
8
|
position: "absolute",
|
|
9
9
|
width: "1px",
|
|
@@ -52,16 +52,32 @@ function isScrollable(el) {
|
|
|
52
52
|
const style = getComputedStyle(el);
|
|
53
53
|
return /(auto|scroll)/.test(style.overflowY + style.overflowX);
|
|
54
54
|
}
|
|
55
|
+
/**
|
|
56
|
+
* Walks up the flat tree (through slots and shadow hosts) rather than the
|
|
57
|
+
* plain DOM tree, so a container slotted into a component that scrolls
|
|
58
|
+
* inside its own shadow root, such as the rows of an `eun-table`, finds
|
|
59
|
+
* that inner scroll container.
|
|
60
|
+
*/
|
|
55
61
|
function findScrollableAncestor(from) {
|
|
56
62
|
let el = from;
|
|
57
63
|
while (el) {
|
|
58
64
|
if (isScrollable(el)) {
|
|
59
65
|
return el;
|
|
60
66
|
}
|
|
61
|
-
el = el
|
|
67
|
+
el = flatTreeParent(el);
|
|
62
68
|
}
|
|
63
69
|
return document.scrollingElement;
|
|
64
70
|
}
|
|
71
|
+
function flatTreeParent(el) {
|
|
72
|
+
if (el.assignedSlot) {
|
|
73
|
+
return el.assignedSlot;
|
|
74
|
+
}
|
|
75
|
+
if (el.parentElement) {
|
|
76
|
+
return el.parentElement;
|
|
77
|
+
}
|
|
78
|
+
const root = el.getRootNode();
|
|
79
|
+
return root instanceof ShadowRoot ? root.host : null;
|
|
80
|
+
}
|
|
65
81
|
/**
|
|
66
82
|
* Attaches drag-to-reorder behavior to `container`'s items. See the module
|
|
67
83
|
* doc comment for what this does and doesn't cover.
|
|
@@ -125,8 +125,8 @@ export declare function handleMenuKeydown(event: KeyboardEvent, entries: HTMLEle
|
|
|
125
125
|
* `eun-dropdown-button` (its root menu and `options`-sourced submenus) and
|
|
126
126
|
* `eun-dropdown-item` (its own submenu) : `0` under `prefers-reduced-motion:
|
|
127
127
|
* reduce`, otherwise `--dropdown-menu-transition-duration` (default
|
|
128
|
-
* `
|
|
129
|
-
* close visual is a JS `Animation` rather than a CSS transition.
|
|
128
|
+
* `--eun-duration-s`) — see `dropdown-button.styles.ts`'s own doc for why
|
|
129
|
+
* the open/close visual is a JS `Animation` rather than a CSS transition.
|
|
130
130
|
*
|
|
131
131
|
* @param el the menu/submenu to read `--dropdown-menu-transition-duration` off.
|
|
132
132
|
*/
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { resolveDurationMs } from "./motion.utils.js";
|
|
1
2
|
/**
|
|
2
3
|
* DOM-only menu mechanics shared by `eun-dropdown-button` (its root menu and
|
|
3
4
|
* `options`-sourced submenus) and `eun-dropdown-item` (its own
|
|
@@ -186,8 +187,8 @@ export function handleMenuKeydown(event, entries, handlers) {
|
|
|
186
187
|
* `eun-dropdown-button` (its root menu and `options`-sourced submenus) and
|
|
187
188
|
* `eun-dropdown-item` (its own submenu) : `0` under `prefers-reduced-motion:
|
|
188
189
|
* reduce`, otherwise `--dropdown-menu-transition-duration` (default
|
|
189
|
-
* `
|
|
190
|
-
* close visual is a JS `Animation` rather than a CSS transition.
|
|
190
|
+
* `--eun-duration-s`) — see `dropdown-button.styles.ts`'s own doc for why
|
|
191
|
+
* the open/close visual is a JS `Animation` rather than a CSS transition.
|
|
191
192
|
*
|
|
192
193
|
* @param el the menu/submenu to read `--dropdown-menu-transition-duration` off.
|
|
193
194
|
*/
|
|
@@ -195,16 +196,5 @@ export function dropdownMenuAnimationDuration(el) {
|
|
|
195
196
|
if (window.matchMedia("(prefers-reduced-motion: reduce)").matches) {
|
|
196
197
|
return 0;
|
|
197
198
|
}
|
|
198
|
-
|
|
199
|
-
.getPropertyValue("--dropdown-menu-transition-duration")
|
|
200
|
-
.trim();
|
|
201
|
-
if (raw) {
|
|
202
|
-
const parsed = raw.endsWith("ms")
|
|
203
|
-
? Number.parseFloat(raw)
|
|
204
|
-
: Number.parseFloat(raw) * 1000;
|
|
205
|
-
if (Number.isFinite(parsed) && parsed >= 0) {
|
|
206
|
-
return parsed;
|
|
207
|
-
}
|
|
208
|
-
}
|
|
209
|
-
return 160;
|
|
199
|
+
return resolveDurationMs(el, "--dropdown-menu-transition-duration", "s", 160);
|
|
210
200
|
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { CSSResult } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Adopts a light DOM sheet into `host`'s root node (the document, or the
|
|
4
|
+
* shadow root it lives in), once per root. A component whose native
|
|
5
|
+
* content (a `<table>`, a `<dl>`) stays in the light DOM styles it this
|
|
6
|
+
* way, since its own shadow root can't reach slotted descendants.
|
|
7
|
+
*
|
|
8
|
+
* Falls back to a `<style>` element where constructable stylesheets
|
|
9
|
+
* aren't supported.
|
|
10
|
+
*
|
|
11
|
+
* @param host the connected element whose root node receives the sheet.
|
|
12
|
+
* @param styles the sheet to adopt.
|
|
13
|
+
*/
|
|
14
|
+
export declare function adoptLightDomStyles(host: Node, styles: CSSResult): void;
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Root nodes each light DOM sheet was already adopted into.
|
|
3
|
+
* @internal
|
|
4
|
+
*/
|
|
5
|
+
const styledRoots = new WeakMap();
|
|
6
|
+
/**
|
|
7
|
+
* Adopts a light DOM sheet into `host`'s root node (the document, or the
|
|
8
|
+
* shadow root it lives in), once per root. A component whose native
|
|
9
|
+
* content (a `<table>`, a `<dl>`) stays in the light DOM styles it this
|
|
10
|
+
* way, since its own shadow root can't reach slotted descendants.
|
|
11
|
+
*
|
|
12
|
+
* Falls back to a `<style>` element where constructable stylesheets
|
|
13
|
+
* aren't supported.
|
|
14
|
+
*
|
|
15
|
+
* @param host the connected element whose root node receives the sheet.
|
|
16
|
+
* @param styles the sheet to adopt.
|
|
17
|
+
*/
|
|
18
|
+
export function adoptLightDomStyles(host, styles) {
|
|
19
|
+
const root = host.getRootNode();
|
|
20
|
+
let roots = styledRoots.get(styles);
|
|
21
|
+
if (!roots) {
|
|
22
|
+
roots = new WeakSet();
|
|
23
|
+
styledRoots.set(styles, roots);
|
|
24
|
+
}
|
|
25
|
+
if (roots.has(root)) {
|
|
26
|
+
return;
|
|
27
|
+
}
|
|
28
|
+
roots.add(root);
|
|
29
|
+
const sheet = styles.styleSheet;
|
|
30
|
+
if (sheet && "adoptedStyleSheets" in root) {
|
|
31
|
+
root.adoptedStyleSheets = [...root.adoptedStyleSheets, sheet];
|
|
32
|
+
return;
|
|
33
|
+
}
|
|
34
|
+
const style = document.createElement("style");
|
|
35
|
+
style.textContent = styles.cssText;
|
|
36
|
+
(root instanceof Document ? root.head : root).appendChild(style);
|
|
37
|
+
}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { CSSResult } from "lit";
|
|
2
|
+
import { EunomiaBreakpoint } from "../breakpoints.js";
|
|
3
|
+
/**
|
|
4
|
+
* {@link mediaBelow} as a value a Lit `css` template accepts, for a
|
|
5
|
+
* component's own `@media` or `@container` rule :
|
|
6
|
+
* `@media ${cssBelow("tablet")} { … }`.
|
|
7
|
+
*
|
|
8
|
+
* @param breakpoint the breakpoint the range stops under.
|
|
9
|
+
* @returns the media condition.
|
|
10
|
+
*/
|
|
11
|
+
export declare function cssBelow(breakpoint: EunomiaBreakpoint): CSSResult;
|
|
12
|
+
/**
|
|
13
|
+
* {@link mediaFrom} as a value a Lit `css` template accepts :
|
|
14
|
+
* `@media ${cssFrom("tablet")} { … }`.
|
|
15
|
+
*
|
|
16
|
+
* @param breakpoint the breakpoint the range starts at.
|
|
17
|
+
* @returns the media condition.
|
|
18
|
+
*/
|
|
19
|
+
export declare function cssFrom(breakpoint: EunomiaBreakpoint): CSSResult;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import { unsafeCSS } from "lit";
|
|
2
|
+
import { mediaBelow, mediaFrom } from "../breakpoints.js";
|
|
3
|
+
/**
|
|
4
|
+
* {@link mediaBelow} as a value a Lit `css` template accepts, for a
|
|
5
|
+
* component's own `@media` or `@container` rule :
|
|
6
|
+
* `@media ${cssBelow("tablet")} { … }`.
|
|
7
|
+
*
|
|
8
|
+
* @param breakpoint the breakpoint the range stops under.
|
|
9
|
+
* @returns the media condition.
|
|
10
|
+
*/
|
|
11
|
+
export function cssBelow(breakpoint) {
|
|
12
|
+
return unsafeCSS(mediaBelow(breakpoint));
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* {@link mediaFrom} as a value a Lit `css` template accepts :
|
|
16
|
+
* `@media ${cssFrom("tablet")} { … }`.
|
|
17
|
+
*
|
|
18
|
+
* @param breakpoint the breakpoint the range starts at.
|
|
19
|
+
* @returns the media condition.
|
|
20
|
+
*/
|
|
21
|
+
export function cssFrom(breakpoint) {
|
|
22
|
+
return unsafeCSS(mediaFrom(breakpoint));
|
|
23
|
+
}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* A step of the shared `--eun-duration-*` scale declared by every theme
|
|
3
|
+
* stylesheet (`xs` 100ms, `s` 150ms, `m` 200ms, `l` 250ms, `xl` 300ms).
|
|
4
|
+
*/
|
|
5
|
+
export type MotionDuration = "xs" | "s" | "m" | "l" | "xl";
|
|
6
|
+
/**
|
|
7
|
+
* A step of the shared `--eun-easing-*` tokens declared by every theme
|
|
8
|
+
* stylesheet (`default` is `ease`, `out` is `ease-out`).
|
|
9
|
+
*/
|
|
10
|
+
export type MotionEasing = "default" | "out";
|
|
11
|
+
/**
|
|
12
|
+
* Converts a CSS time (`200ms`, `0.2s`) into milliseconds.
|
|
13
|
+
*
|
|
14
|
+
* @param raw the CSS time, as read off `getPropertyValue`.
|
|
15
|
+
* @returns the duration in ms, or `undefined` when `raw` is empty, not a
|
|
16
|
+
* number, or negative.
|
|
17
|
+
*/
|
|
18
|
+
export declare function cssTimeToMs(raw: string): number | undefined;
|
|
19
|
+
/**
|
|
20
|
+
* The duration, in ms, of an animation driven from JS (Web Animations API,
|
|
21
|
+
* timers) : the component's own custom property when set, otherwise the
|
|
22
|
+
* shared `--eun-duration-<step>` token, otherwise `fallbackMs` when no
|
|
23
|
+
* theme stylesheet is loaded.
|
|
24
|
+
*
|
|
25
|
+
* @param el the element to read both custom properties off.
|
|
26
|
+
* @param property the component's own custom property, e.g.
|
|
27
|
+
* `--field-listbox-transition-duration`.
|
|
28
|
+
* @param step the `--eun-duration-*` step the component defaults to.
|
|
29
|
+
* @param fallbackMs the value used when neither property resolves.
|
|
30
|
+
*/
|
|
31
|
+
export declare function resolveDurationMs(el: Element, property: string, step: MotionDuration, fallbackMs: number): number;
|
|
32
|
+
/**
|
|
33
|
+
* The timing function of an animation driven from JS : the shared
|
|
34
|
+
* `--eun-easing-<step>` token, or its plain CSS keyword when no theme
|
|
35
|
+
* stylesheet is loaded.
|
|
36
|
+
*
|
|
37
|
+
* @param el the element to read the token off.
|
|
38
|
+
* @param step the `--eun-easing-*` step to read, `default` if omitted.
|
|
39
|
+
*/
|
|
40
|
+
export declare function resolveEasing(el: Element, step?: MotionEasing): string;
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
const EASING_FALLBACKS = {
|
|
2
|
+
default: "ease",
|
|
3
|
+
out: "ease-out",
|
|
4
|
+
};
|
|
5
|
+
/**
|
|
6
|
+
* Converts a CSS time (`200ms`, `0.2s`) into milliseconds.
|
|
7
|
+
*
|
|
8
|
+
* @param raw the CSS time, as read off `getPropertyValue`.
|
|
9
|
+
* @returns the duration in ms, or `undefined` when `raw` is empty, not a
|
|
10
|
+
* number, or negative.
|
|
11
|
+
*/
|
|
12
|
+
export function cssTimeToMs(raw) {
|
|
13
|
+
const value = raw.trim();
|
|
14
|
+
if (!value) {
|
|
15
|
+
return undefined;
|
|
16
|
+
}
|
|
17
|
+
const parsed = value.endsWith("ms")
|
|
18
|
+
? Number.parseFloat(value)
|
|
19
|
+
: Number.parseFloat(value) * 1000;
|
|
20
|
+
return Number.isFinite(parsed) && parsed >= 0 ? parsed : undefined;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* The duration, in ms, of an animation driven from JS (Web Animations API,
|
|
24
|
+
* timers) : the component's own custom property when set, otherwise the
|
|
25
|
+
* shared `--eun-duration-<step>` token, otherwise `fallbackMs` when no
|
|
26
|
+
* theme stylesheet is loaded.
|
|
27
|
+
*
|
|
28
|
+
* @param el the element to read both custom properties off.
|
|
29
|
+
* @param property the component's own custom property, e.g.
|
|
30
|
+
* `--field-listbox-transition-duration`.
|
|
31
|
+
* @param step the `--eun-duration-*` step the component defaults to.
|
|
32
|
+
* @param fallbackMs the value used when neither property resolves.
|
|
33
|
+
*/
|
|
34
|
+
export function resolveDurationMs(el, property, step, fallbackMs) {
|
|
35
|
+
const style = getComputedStyle(el);
|
|
36
|
+
return (cssTimeToMs(style.getPropertyValue(property)) ??
|
|
37
|
+
cssTimeToMs(style.getPropertyValue(`--eun-duration-${step}`)) ??
|
|
38
|
+
fallbackMs);
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* The timing function of an animation driven from JS : the shared
|
|
42
|
+
* `--eun-easing-<step>` token, or its plain CSS keyword when no theme
|
|
43
|
+
* stylesheet is loaded.
|
|
44
|
+
*
|
|
45
|
+
* @param el the element to read the token off.
|
|
46
|
+
* @param step the `--eun-easing-*` step to read, `default` if omitted.
|
|
47
|
+
*/
|
|
48
|
+
export function resolveEasing(el, step = "default") {
|
|
49
|
+
return (getComputedStyle(el).getPropertyValue(`--eun-easing-${step}`).trim() ||
|
|
50
|
+
EASING_FALLBACKS[step]);
|
|
51
|
+
}
|