@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
|
@@ -15,3 +15,17 @@
|
|
|
15
15
|
* @param target the anchor's target, if any.
|
|
16
16
|
*/
|
|
17
17
|
export declare function handleLinkNavigation(host: HTMLElement, event: MouseEvent, href: string | undefined, target?: string | null): void;
|
|
18
|
+
/**
|
|
19
|
+
* Warns once when a host in slotted anchor mode (a native `<a>` as a direct
|
|
20
|
+
* child, `href` unset) still carries link attributes of its own. The
|
|
21
|
+
* anchor is the link in that mode, so `aria-label`, `target`, `rel` and
|
|
22
|
+
* `download` left on the host are ignored without any visible sign : a
|
|
23
|
+
* forgotten `aria-label` ends up on an element with no role, and the link
|
|
24
|
+
* loses its accessible name.
|
|
25
|
+
*
|
|
26
|
+
* @param host the link, button or card whose anchor is slotted.
|
|
27
|
+
*/
|
|
28
|
+
export declare function warnIgnoredHostLinkAttributes(host: HTMLElement & {
|
|
29
|
+
target?: string;
|
|
30
|
+
download?: string;
|
|
31
|
+
}): void;
|
|
@@ -42,3 +42,36 @@ export function handleLinkNavigation(host, event, href, target) {
|
|
|
42
42
|
event.preventDefault();
|
|
43
43
|
}
|
|
44
44
|
}
|
|
45
|
+
/**
|
|
46
|
+
* Hosts already warned by {@link warnIgnoredHostLinkAttributes}, so each
|
|
47
|
+
* one only logs once however often it updates.
|
|
48
|
+
*/
|
|
49
|
+
const warnedHosts = new WeakSet();
|
|
50
|
+
/**
|
|
51
|
+
* Warns once when a host in slotted anchor mode (a native `<a>` as a direct
|
|
52
|
+
* child, `href` unset) still carries link attributes of its own. The
|
|
53
|
+
* anchor is the link in that mode, so `aria-label`, `target`, `rel` and
|
|
54
|
+
* `download` left on the host are ignored without any visible sign : a
|
|
55
|
+
* forgotten `aria-label` ends up on an element with no role, and the link
|
|
56
|
+
* loses its accessible name.
|
|
57
|
+
*
|
|
58
|
+
* @param host the link, button or card whose anchor is slotted.
|
|
59
|
+
*/
|
|
60
|
+
export function warnIgnoredHostLinkAttributes(host) {
|
|
61
|
+
if (warnedHosts.has(host)) {
|
|
62
|
+
return;
|
|
63
|
+
}
|
|
64
|
+
const ignored = ['aria-label', 'target', 'rel', 'download'].filter((name) => host.hasAttribute(name));
|
|
65
|
+
if (!ignored.includes('target') && host.target && host.target !== '_self') {
|
|
66
|
+
ignored.push('target');
|
|
67
|
+
}
|
|
68
|
+
if (!ignored.includes('download') && host.download) {
|
|
69
|
+
ignored.push('download');
|
|
70
|
+
}
|
|
71
|
+
if (!ignored.length) {
|
|
72
|
+
return;
|
|
73
|
+
}
|
|
74
|
+
warnedHosts.add(host);
|
|
75
|
+
console.warn(`<${host.localName}>: ${ignored.join(', ')} ignored on the host, since ` +
|
|
76
|
+
'the slotted <a> is the link. Move them onto the <a> itself.', host);
|
|
77
|
+
}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import { ReactiveController, ReactiveControllerHost } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Class of a visually-hidden "opens in a new tab" text the consumer writes
|
|
4
|
+
* inside the slotted anchor, hidden by `links-ssr.css`. It's part of the
|
|
5
|
+
* anchor's accessible name and of the server-rendered HTML, so it's
|
|
6
|
+
* announced everywhere, links lists and no-JS pages included, and the
|
|
7
|
+
* controller then leaves the anchor's `aria-description` alone.
|
|
8
|
+
*/
|
|
9
|
+
export declare const NEW_TAB_HINT_CLASS = "eun-new-tab-hint";
|
|
10
|
+
/**
|
|
11
|
+
* Announces a slotted anchor opening in a new tab, for a link, button or
|
|
12
|
+
* card whose native `<a>` is slotted as a direct child. The anchor belongs
|
|
13
|
+
* to the consumer (and to their framework, which would undo or trip over an
|
|
14
|
+
* injected child during hydration), so the hint goes on its
|
|
15
|
+
* `aria-description` rather than into its content, leaving its text and
|
|
16
|
+
* `aria-label` untouched. A description the consumer set themselves is
|
|
17
|
+
* never overwritten, and only the one this controller wrote is ever removed.
|
|
18
|
+
* A description only reaches some assistive technology, so an anchor
|
|
19
|
+
* holding a {@link NEW_TAB_HINT_CLASS} text of its own gets none.
|
|
20
|
+
*
|
|
21
|
+
* The anchor's `target` and content can change after the first render (a
|
|
22
|
+
* framework re-render), which no `slotchange` reports, so they're observed
|
|
23
|
+
* directly and re-render the host, whose visible new-tab icon keys off
|
|
24
|
+
* {@link isBlank}.
|
|
25
|
+
*/
|
|
26
|
+
export declare class NewTabAnchorController implements ReactiveController {
|
|
27
|
+
#private;
|
|
28
|
+
private readonly host;
|
|
29
|
+
private readonly getAnchor;
|
|
30
|
+
private readonly getHint;
|
|
31
|
+
/**
|
|
32
|
+
* @param host the link, button or card.
|
|
33
|
+
* @param getAnchor returns the slotted anchor, or null outside that mode.
|
|
34
|
+
* @param getHint returns the localized "opens in a new tab" wording.
|
|
35
|
+
*/
|
|
36
|
+
constructor(host: ReactiveControllerHost & HTMLElement, getAnchor: () => HTMLAnchorElement | null, getHint: () => string);
|
|
37
|
+
/**
|
|
38
|
+
* Whether the slotted anchor, if any, opens in a new tab.
|
|
39
|
+
*/
|
|
40
|
+
get isBlank(): boolean;
|
|
41
|
+
hostConnected(): void;
|
|
42
|
+
hostDisconnected(): void;
|
|
43
|
+
hostUpdated(): void;
|
|
44
|
+
}
|
|
@@ -0,0 +1,102 @@
|
|
|
1
|
+
var __classPrivateFieldGet = (this && this.__classPrivateFieldGet) || function (receiver, state, kind, f) {
|
|
2
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a getter");
|
|
3
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot read private member from an object whose class did not declare it");
|
|
4
|
+
return kind === "m" ? f : kind === "a" ? f.call(receiver) : f ? f.value : state.get(receiver);
|
|
5
|
+
};
|
|
6
|
+
var __classPrivateFieldSet = (this && this.__classPrivateFieldSet) || function (receiver, state, value, kind, f) {
|
|
7
|
+
if (kind === "m") throw new TypeError("Private method is not writable");
|
|
8
|
+
if (kind === "a" && !f) throw new TypeError("Private accessor was defined without a setter");
|
|
9
|
+
if (typeof state === "function" ? receiver !== state || !f : !state.has(receiver)) throw new TypeError("Cannot write private member to an object whose class did not declare it");
|
|
10
|
+
return (kind === "a" ? f.call(receiver, value) : f ? f.value = value : state.set(receiver, value)), value;
|
|
11
|
+
};
|
|
12
|
+
var _NewTabAnchorController_instances, _NewTabAnchorController_described, _NewTabAnchorController_observer, _NewTabAnchorController_clear;
|
|
13
|
+
/**
|
|
14
|
+
* Class of a visually-hidden "opens in a new tab" text the consumer writes
|
|
15
|
+
* inside the slotted anchor, hidden by `links-ssr.css`. It's part of the
|
|
16
|
+
* anchor's accessible name and of the server-rendered HTML, so it's
|
|
17
|
+
* announced everywhere, links lists and no-JS pages included, and the
|
|
18
|
+
* controller then leaves the anchor's `aria-description` alone.
|
|
19
|
+
*/
|
|
20
|
+
export const NEW_TAB_HINT_CLASS = "eun-new-tab-hint";
|
|
21
|
+
/**
|
|
22
|
+
* Announces a slotted anchor opening in a new tab, for a link, button or
|
|
23
|
+
* card whose native `<a>` is slotted as a direct child. The anchor belongs
|
|
24
|
+
* to the consumer (and to their framework, which would undo or trip over an
|
|
25
|
+
* injected child during hydration), so the hint goes on its
|
|
26
|
+
* `aria-description` rather than into its content, leaving its text and
|
|
27
|
+
* `aria-label` untouched. A description the consumer set themselves is
|
|
28
|
+
* never overwritten, and only the one this controller wrote is ever removed.
|
|
29
|
+
* A description only reaches some assistive technology, so an anchor
|
|
30
|
+
* holding a {@link NEW_TAB_HINT_CLASS} text of its own gets none.
|
|
31
|
+
*
|
|
32
|
+
* The anchor's `target` and content can change after the first render (a
|
|
33
|
+
* framework re-render), which no `slotchange` reports, so they're observed
|
|
34
|
+
* directly and re-render the host, whose visible new-tab icon keys off
|
|
35
|
+
* {@link isBlank}.
|
|
36
|
+
*/
|
|
37
|
+
export class NewTabAnchorController {
|
|
38
|
+
/**
|
|
39
|
+
* @param host the link, button or card.
|
|
40
|
+
* @param getAnchor returns the slotted anchor, or null outside that mode.
|
|
41
|
+
* @param getHint returns the localized "opens in a new tab" wording.
|
|
42
|
+
*/
|
|
43
|
+
constructor(host, getAnchor, getHint) {
|
|
44
|
+
_NewTabAnchorController_instances.add(this);
|
|
45
|
+
this.host = host;
|
|
46
|
+
this.getAnchor = getAnchor;
|
|
47
|
+
this.getHint = getHint;
|
|
48
|
+
/**
|
|
49
|
+
* The anchor this controller last wrote `aria-description` on, so it can
|
|
50
|
+
* clear it once the anchor stops opening in a new tab or is swapped out.
|
|
51
|
+
*/
|
|
52
|
+
_NewTabAnchorController_described.set(this, void 0);
|
|
53
|
+
_NewTabAnchorController_observer.set(this, new MutationObserver((records) => {
|
|
54
|
+
const anchor = this.getAnchor();
|
|
55
|
+
if (anchor && records.some((record) => anchor.contains(record.target))) {
|
|
56
|
+
this.host.requestUpdate();
|
|
57
|
+
}
|
|
58
|
+
}));
|
|
59
|
+
host.addController(this);
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* Whether the slotted anchor, if any, opens in a new tab.
|
|
63
|
+
*/
|
|
64
|
+
get isBlank() {
|
|
65
|
+
return this.getAnchor()?.target === "_blank";
|
|
66
|
+
}
|
|
67
|
+
hostConnected() {
|
|
68
|
+
__classPrivateFieldGet(this, _NewTabAnchorController_observer, "f").observe(this.host, {
|
|
69
|
+
subtree: true,
|
|
70
|
+
childList: true,
|
|
71
|
+
attributeFilter: ["target"],
|
|
72
|
+
});
|
|
73
|
+
}
|
|
74
|
+
hostDisconnected() {
|
|
75
|
+
__classPrivateFieldGet(this, _NewTabAnchorController_observer, "f").disconnect();
|
|
76
|
+
}
|
|
77
|
+
hostUpdated() {
|
|
78
|
+
const anchor = this.getAnchor();
|
|
79
|
+
if (__classPrivateFieldGet(this, _NewTabAnchorController_described, "f") && __classPrivateFieldGet(this, _NewTabAnchorController_described, "f") !== anchor) {
|
|
80
|
+
__classPrivateFieldGet(this, _NewTabAnchorController_instances, "m", _NewTabAnchorController_clear).call(this);
|
|
81
|
+
}
|
|
82
|
+
if (!anchor) {
|
|
83
|
+
return;
|
|
84
|
+
}
|
|
85
|
+
const ownHint = !!anchor.querySelector(`.${NEW_TAB_HINT_CLASS}`);
|
|
86
|
+
if (!this.isBlank || ownHint) {
|
|
87
|
+
if (__classPrivateFieldGet(this, _NewTabAnchorController_described, "f") === anchor) {
|
|
88
|
+
__classPrivateFieldGet(this, _NewTabAnchorController_instances, "m", _NewTabAnchorController_clear).call(this);
|
|
89
|
+
}
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
if (__classPrivateFieldGet(this, _NewTabAnchorController_described, "f") !== anchor && anchor.hasAttribute("aria-description")) {
|
|
93
|
+
return;
|
|
94
|
+
}
|
|
95
|
+
anchor.setAttribute("aria-description", this.getHint());
|
|
96
|
+
__classPrivateFieldSet(this, _NewTabAnchorController_described, anchor, "f");
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
_NewTabAnchorController_described = new WeakMap(), _NewTabAnchorController_observer = new WeakMap(), _NewTabAnchorController_instances = new WeakSet(), _NewTabAnchorController_clear = function _NewTabAnchorController_clear() {
|
|
100
|
+
__classPrivateFieldGet(this, _NewTabAnchorController_described, "f")?.removeAttribute("aria-description");
|
|
101
|
+
__classPrivateFieldSet(this, _NewTabAnchorController_described, undefined, "f");
|
|
102
|
+
};
|
|
@@ -21,7 +21,7 @@ export declare const SEVERITY_ICONS: {
|
|
|
21
21
|
* difference in what `severity` means on each family of component :
|
|
22
22
|
* - `"icon"` (the default) — action components (`eun-button`,
|
|
23
23
|
* `eun-dropdown-button`) and `eun-chip`, where `severity` only ever
|
|
24
|
-
* drives the icon, never the color (color stays on `
|
|
24
|
+
* drives the icon, never the color (color stays on `color`) ;
|
|
25
25
|
* an explicit `icon` naming something more specific than the generic
|
|
26
26
|
* severity glyph should still win.
|
|
27
27
|
* - `"severity"` — `eun-alert`/`eun-toast`/`eun-tag`, where `severity`
|
|
@@ -23,7 +23,7 @@ export const SEVERITY_ICONS = {
|
|
|
23
23
|
* difference in what `severity` means on each family of component :
|
|
24
24
|
* - `"icon"` (the default) — action components (`eun-button`,
|
|
25
25
|
* `eun-dropdown-button`) and `eun-chip`, where `severity` only ever
|
|
26
|
-
* drives the icon, never the color (color stays on `
|
|
26
|
+
* drives the icon, never the color (color stays on `color`) ;
|
|
27
27
|
* an explicit `icon` naming something more specific than the generic
|
|
28
28
|
* severity glyph should still win.
|
|
29
29
|
* - `"severity"` — `eun-alert`/`eun-toast`/`eun-tag`, where `severity`
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Only `buildPalette`, `buildTints`, `initializeTheme`, and
|
|
9
9
|
* `buildThemeCss` (plus the types their signatures need) are exported
|
|
10
|
-
* from `index.ts
|
|
10
|
+
* from `index.ts`, and this file is also published as-is as the
|
|
11
|
+
* `./theme.js` subpath. It must stay free of imports and side effects for
|
|
12
|
+
* that subpath to remain safe on a server. Everything
|
|
11
13
|
* else below, the raw color math, the shade/tint step definitions, is
|
|
12
14
|
* kept file-private on purpose: none of it is meant to be reached on its
|
|
13
15
|
* own, it exists to be composed by those four, and every extra export
|
|
@@ -46,7 +48,7 @@ export declare function buildTints(primaryHex: EunomiaHexColor, isDark: boolean)
|
|
|
46
48
|
* custom brand from two hex seed colors by composing `buildPalette` and
|
|
47
49
|
* `buildTints` above, then writing every result straight onto
|
|
48
50
|
* `document.documentElement`, both 11-step shade scales, their `on-*`
|
|
49
|
-
* text colors, the
|
|
51
|
+
* text colors, the `alpha-*` tokens, and the `-tint`
|
|
50
52
|
* neutrals. Everything else (grey scale, spacing, radius, shadows,
|
|
51
53
|
* semantic state colors) still comes from whichever base theme class or
|
|
52
54
|
* `data-theme` is already applied; this deliberately doesn't touch those.
|
|
@@ -68,6 +70,11 @@ export declare function initializeTheme(primary: EunomiaHexColor, secondary: Eun
|
|
|
68
70
|
export interface EunomiaThemeCssOptions {
|
|
69
71
|
surfaceColor?: EunomiaHexColor;
|
|
70
72
|
darkSurfaceColor?: EunomiaHexColor;
|
|
73
|
+
darkSecondaryColor?: EunomiaHexColor;
|
|
74
|
+
inverseSurfaceColor?: EunomiaHexColor;
|
|
75
|
+
darkInverseSurfaceColor?: EunomiaHexColor;
|
|
76
|
+
textColor?: EunomiaHexColor;
|
|
77
|
+
darkTextColor?: EunomiaHexColor;
|
|
71
78
|
fontFamily?: string;
|
|
72
79
|
brand?: string;
|
|
73
80
|
}
|
|
@@ -7,7 +7,9 @@
|
|
|
7
7
|
*
|
|
8
8
|
* Only `buildPalette`, `buildTints`, `initializeTheme`, and
|
|
9
9
|
* `buildThemeCss` (plus the types their signatures need) are exported
|
|
10
|
-
* from `index.ts
|
|
10
|
+
* from `index.ts`, and this file is also published as-is as the
|
|
11
|
+
* `./theme.js` subpath. It must stay free of imports and side effects for
|
|
12
|
+
* that subpath to remain safe on a server. Everything
|
|
11
13
|
* else below, the raw color math, the shade/tint step definitions, is
|
|
12
14
|
* kept file-private on purpose: none of it is meant to be reached on its
|
|
13
15
|
* own, it exists to be composed by those four, and every extra export
|
|
@@ -157,12 +159,12 @@ export function buildPalette(baseHex, isDark) {
|
|
|
157
159
|
};
|
|
158
160
|
});
|
|
159
161
|
}
|
|
160
|
-
const
|
|
161
|
-
{ name: "
|
|
162
|
-
{ name: "
|
|
163
|
-
{ name: "
|
|
164
|
-
{ name: "
|
|
165
|
-
{ name: "
|
|
162
|
+
const ALPHA_TOKENS = [
|
|
163
|
+
{ name: "alpha-5", alpha: 0.05 },
|
|
164
|
+
{ name: "alpha-10", alpha: 0.1 },
|
|
165
|
+
{ name: "alpha-20", alpha: 0.2 },
|
|
166
|
+
{ name: "alpha-30", alpha: 0.3 },
|
|
167
|
+
{ name: "alpha-40", alpha: 0.4 },
|
|
166
168
|
];
|
|
167
169
|
/**
|
|
168
170
|
* 5% of the effective `primary-500` (already dark-accessible-adjusted in
|
|
@@ -202,25 +204,44 @@ export function buildTints(primaryHex, isDark) {
|
|
|
202
204
|
contentPressedTint: mix(LIGHT_TINT_BASE.contentPressed, primary500, TINT_RATIO),
|
|
203
205
|
};
|
|
204
206
|
}
|
|
207
|
+
/**
|
|
208
|
+
* The muted `--eun-text-secondary` for a custom text color: `text` mixed
|
|
209
|
+
* 30% toward `surface`, backed off in 5% steps until it still clears WCAG
|
|
210
|
+
* AA against that surface.
|
|
211
|
+
*/
|
|
212
|
+
function secondaryText(text, surface) {
|
|
213
|
+
let percent = 30;
|
|
214
|
+
let result = mix(text, surface, percent / 100);
|
|
215
|
+
while (contrastRatio(result, surface) < MIN_CONTRAST && percent > 0) {
|
|
216
|
+
percent -= 5;
|
|
217
|
+
result = mix(text, surface, percent / 100);
|
|
218
|
+
}
|
|
219
|
+
return result;
|
|
220
|
+
}
|
|
205
221
|
/**
|
|
206
222
|
* Every custom property a custom brand sets for one mode, as ordered
|
|
207
223
|
* `[property, value]` pairs: both 11-step shade scales, their `on-*`
|
|
208
|
-
* text colors, the
|
|
209
|
-
* the `-tint` neutrals, and `--eun-font-family
|
|
210
|
-
* Shared by `initializeTheme` and `buildThemeCss`
|
|
211
|
-
* stylesheet output can never drift apart.
|
|
224
|
+
* text colors, the `alpha-*` tokens, the surface color,
|
|
225
|
+
* the `-tint` neutrals, and `--eun-font-family`, the inverse surface and
|
|
226
|
+
* the text colors when they are passed. Shared by `initializeTheme` and `buildThemeCss`
|
|
227
|
+
* so the inline and the stylesheet output can never drift apart.
|
|
212
228
|
*/
|
|
213
|
-
function buildThemeTokens(primary, secondary, isDark,
|
|
229
|
+
function buildThemeTokens(primary, secondary, isDark, options) {
|
|
230
|
+
const { surfaceColor, fontFamily, darkSecondaryColor, inverseSurfaceColor, textColor, } = options;
|
|
214
231
|
const tokens = [];
|
|
215
|
-
for (const [type, seed] of [
|
|
216
|
-
["primary", primary],
|
|
217
|
-
[
|
|
232
|
+
for (const [type, seed, checkDark] of [
|
|
233
|
+
["primary", primary, isDark],
|
|
234
|
+
[
|
|
235
|
+
"secondary",
|
|
236
|
+
darkSecondaryColor ?? secondary,
|
|
237
|
+
isDark && !darkSecondaryColor,
|
|
238
|
+
],
|
|
218
239
|
]) {
|
|
219
|
-
for (const shade of buildPalette(seed,
|
|
240
|
+
for (const shade of buildPalette(seed, checkDark)) {
|
|
220
241
|
tokens.push([`--eun-color-${type}-${shade.name}`, shade.value]);
|
|
221
242
|
tokens.push([`--eun-color-on-${type}-${shade.name}`, shade.on]);
|
|
222
243
|
}
|
|
223
|
-
for (const token of
|
|
244
|
+
for (const token of ALPHA_TOKENS) {
|
|
224
245
|
tokens.push([
|
|
225
246
|
`--eun-color-${type}-${token.name}`,
|
|
226
247
|
toRgba(seed, token.alpha),
|
|
@@ -228,6 +249,12 @@ function buildThemeTokens(primary, secondary, isDark, surfaceColor, fontFamily)
|
|
|
228
249
|
}
|
|
229
250
|
}
|
|
230
251
|
tokens.push(["--eun-surface-color", surfaceColor]);
|
|
252
|
+
if (inverseSurfaceColor) {
|
|
253
|
+
tokens.push(["--eun-surface-inverse", inverseSurfaceColor], ["--eun-text-on-inverse", pickOnColor(inverseSurfaceColor)]);
|
|
254
|
+
}
|
|
255
|
+
if (textColor) {
|
|
256
|
+
tokens.push(["--eun-text-color", textColor], ["--eun-text-secondary", secondaryText(textColor, surfaceColor)]);
|
|
257
|
+
}
|
|
231
258
|
if (fontFamily) {
|
|
232
259
|
tokens.push(["--eun-font-family", fontFamily]);
|
|
233
260
|
}
|
|
@@ -244,7 +271,7 @@ function buildThemeTokens(primary, secondary, isDark, surfaceColor, fontFamily)
|
|
|
244
271
|
* custom brand from two hex seed colors by composing `buildPalette` and
|
|
245
272
|
* `buildTints` above, then writing every result straight onto
|
|
246
273
|
* `document.documentElement`, both 11-step shade scales, their `on-*`
|
|
247
|
-
* text colors, the
|
|
274
|
+
* text colors, the `alpha-*` tokens, and the `-tint`
|
|
248
275
|
* neutrals. Everything else (grey scale, spacing, radius, shadows,
|
|
249
276
|
* semantic state colors) still comes from whichever base theme class or
|
|
250
277
|
* `data-theme` is already applied; this deliberately doesn't touch those.
|
|
@@ -264,7 +291,10 @@ function buildThemeTokens(primary, secondary, isDark, surfaceColor, fontFamily)
|
|
|
264
291
|
*/
|
|
265
292
|
export function initializeTheme(primary, secondary, isDark = false, surfaceColor = "#ffffff", darkSurfaceColor = DARK_SURFACE, fontFamily) {
|
|
266
293
|
const root = document.documentElement.style;
|
|
267
|
-
const tokens = buildThemeTokens(primary, secondary, isDark,
|
|
294
|
+
const tokens = buildThemeTokens(primary, secondary, isDark, {
|
|
295
|
+
surfaceColor: isDark ? darkSurfaceColor : surfaceColor,
|
|
296
|
+
fontFamily,
|
|
297
|
+
});
|
|
268
298
|
for (const [property, value] of tokens) {
|
|
269
299
|
root.setProperty(property, value);
|
|
270
300
|
}
|
|
@@ -281,9 +311,20 @@ export function initializeTheme(primary, secondary, isDark = false, surfaceColor
|
|
|
281
311
|
* switching mode is just a `data-theme` change, no regeneration needed.
|
|
282
312
|
*/
|
|
283
313
|
export function buildThemeCss(primary, secondary, options = {}) {
|
|
284
|
-
const { surfaceColor = "#ffffff", darkSurfaceColor = DARK_SURFACE, fontFamily, brand = "custom", } = options;
|
|
314
|
+
const { surfaceColor = "#ffffff", darkSurfaceColor = DARK_SURFACE, darkSecondaryColor, inverseSurfaceColor, darkInverseSurfaceColor = inverseSurfaceColor, textColor, darkTextColor, fontFamily, brand = "custom", } = options;
|
|
285
315
|
const rule = (selector, isDark) => {
|
|
286
|
-
const tokens = buildThemeTokens(primary, secondary, isDark,
|
|
316
|
+
const tokens = buildThemeTokens(primary, secondary, isDark, {
|
|
317
|
+
surfaceColor: isDark ? darkSurfaceColor : surfaceColor,
|
|
318
|
+
fontFamily,
|
|
319
|
+
darkSecondaryColor: isDark ? darkSecondaryColor : undefined,
|
|
320
|
+
inverseSurfaceColor: isDark
|
|
321
|
+
? darkInverseSurfaceColor
|
|
322
|
+
: inverseSurfaceColor,
|
|
323
|
+
textColor: isDark ? darkTextColor : textColor,
|
|
324
|
+
});
|
|
325
|
+
if (isDark && textColor && !darkTextColor) {
|
|
326
|
+
tokens.push(["--eun-text-color", "var(--eun-color-grey-800)"], ["--eun-text-secondary", "var(--eun-color-grey-700)"]);
|
|
327
|
+
}
|
|
287
328
|
const body = tokens
|
|
288
329
|
.map(([property, value]) => ` ${property}: ${value};`)
|
|
289
330
|
.join("\n");
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@eunomia/elements",
|
|
3
|
-
"version": "1.0.0-beta.
|
|
4
|
-
"description": "Eunomia
|
|
3
|
+
"version": "1.0.0-beta.6",
|
|
4
|
+
"description": "Eunomia the framework-agnostic web component design system",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"homepage": "https://eunomia-ds.vercel.app",
|
|
7
7
|
"license": "SEE LICENSE IN LICENSE",
|
|
@@ -25,10 +25,6 @@
|
|
|
25
25
|
"types": "./dist/components/content/badge/badge.d.ts",
|
|
26
26
|
"default": "./dist/components/content/badge/badge.js"
|
|
27
27
|
},
|
|
28
|
-
"./breadcrumb-item.js": {
|
|
29
|
-
"types": "./dist/components/navigation/breadcrumb/breadcrumb-item.d.ts",
|
|
30
|
-
"default": "./dist/components/navigation/breadcrumb/breadcrumb-item.js"
|
|
31
|
-
},
|
|
32
28
|
"./breadcrumb.js": {
|
|
33
29
|
"types": "./dist/components/navigation/breadcrumb/breadcrumb.d.ts",
|
|
34
30
|
"default": "./dist/components/navigation/breadcrumb/breadcrumb.js"
|
|
@@ -81,6 +77,10 @@
|
|
|
81
77
|
"types": "./dist/components/form/date-picker/date-picker.d.ts",
|
|
82
78
|
"default": "./dist/components/form/date-picker/date-picker.js"
|
|
83
79
|
},
|
|
80
|
+
"./description-list.js": {
|
|
81
|
+
"types": "./dist/components/content/description-list/description-list.d.ts",
|
|
82
|
+
"default": "./dist/components/content/description-list/description-list.js"
|
|
83
|
+
},
|
|
84
84
|
"./divider.js": {
|
|
85
85
|
"types": "./dist/components/layout/divider/divider.d.ts",
|
|
86
86
|
"default": "./dist/components/layout/divider/divider.js"
|
|
@@ -233,26 +233,6 @@
|
|
|
233
233
|
"types": "./dist/features/table/table-action-bar/table-action-bar.d.ts",
|
|
234
234
|
"default": "./dist/features/table/table-action-bar/table-action-bar.js"
|
|
235
235
|
},
|
|
236
|
-
"./table-cell.js": {
|
|
237
|
-
"types": "./dist/features/table/table-cell/table-cell.d.ts",
|
|
238
|
-
"default": "./dist/features/table/table-cell/table-cell.js"
|
|
239
|
-
},
|
|
240
|
-
"./table-column.js": {
|
|
241
|
-
"types": "./dist/features/table/table-column/table-column.d.ts",
|
|
242
|
-
"default": "./dist/features/table/table-column/table-column.js"
|
|
243
|
-
},
|
|
244
|
-
"./table-header.js": {
|
|
245
|
-
"types": "./dist/features/table/table-header/table-header.d.ts",
|
|
246
|
-
"default": "./dist/features/table/table-header/table-header.js"
|
|
247
|
-
},
|
|
248
|
-
"./table-item.js": {
|
|
249
|
-
"types": "./dist/features/table/table-item/table-item.d.ts",
|
|
250
|
-
"default": "./dist/features/table/table-item/table-item.js"
|
|
251
|
-
},
|
|
252
|
-
"./table-skeleton-row.js": {
|
|
253
|
-
"types": "./dist/features/table/table-skeleton-row/table-skeleton-row.d.ts",
|
|
254
|
-
"default": "./dist/features/table/table-skeleton-row/table-skeleton-row.js"
|
|
255
|
-
},
|
|
256
236
|
"./table.js": {
|
|
257
237
|
"types": "./dist/features/table/table/table.d.ts",
|
|
258
238
|
"default": "./dist/features/table/table/table.js"
|
|
@@ -297,6 +277,14 @@
|
|
|
297
277
|
"types": "./dist/utils/rich-text.utils.d.ts",
|
|
298
278
|
"default": "./dist/utils/rich-text.utils.js"
|
|
299
279
|
},
|
|
280
|
+
"./theme.js": {
|
|
281
|
+
"types": "./dist/utils/theme-generator.utils.d.ts",
|
|
282
|
+
"default": "./dist/utils/theme-generator.utils.js"
|
|
283
|
+
},
|
|
284
|
+
"./breakpoints.js": {
|
|
285
|
+
"types": "./dist/breakpoints.d.ts",
|
|
286
|
+
"default": "./dist/breakpoints.js"
|
|
287
|
+
},
|
|
300
288
|
"./jsx": {
|
|
301
289
|
"types": "./dist/jsx.d.ts",
|
|
302
290
|
"default": "./dist/jsx.js"
|
|
@@ -307,7 +295,13 @@
|
|
|
307
295
|
"./toolbar-ssr.css": "./dist/ssr/toolbar-ssr.css",
|
|
308
296
|
"./sidebar-ssr.css": "./dist/ssr/sidebar-ssr.css",
|
|
309
297
|
"./overlay-ssr.css": "./dist/ssr/overlay-ssr.css",
|
|
310
|
-
"./
|
|
298
|
+
"./links-ssr.css": "./dist/ssr/links-ssr.css",
|
|
299
|
+
"./button-ssr.css": "./dist/ssr/button-ssr.css",
|
|
300
|
+
"./tag-ssr.css": "./dist/ssr/tag-ssr.css",
|
|
301
|
+
"./card-ssr.css": "./dist/ssr/card-ssr.css",
|
|
302
|
+
"./rich-text.css": "./dist/ssr/rich-text.css",
|
|
303
|
+
"./table-ssr.css": "./dist/ssr/table-ssr.css",
|
|
304
|
+
"./description-list-ssr.css": "./dist/ssr/description-list-ssr.css"
|
|
311
305
|
},
|
|
312
306
|
"files": [
|
|
313
307
|
"dist",
|
|
@@ -320,12 +314,13 @@
|
|
|
320
314
|
"./dist/features/**/*.js"
|
|
321
315
|
],
|
|
322
316
|
"scripts": {
|
|
323
|
-
"build": "tsc --noEmit",
|
|
317
|
+
"build": "tsc --noEmit -p tsconfig.build.json",
|
|
324
318
|
"build:dist": "node scripts/build-dist.mjs",
|
|
325
319
|
"build:dist:watch": "tsc -p tsconfig.build.json && node scripts/copy-assets.mjs && node scripts/generate-exports.mjs && tsc -p tsconfig.build.json --watch",
|
|
326
320
|
"build:cdn": "node scripts/build-cdn.mjs",
|
|
327
321
|
"prepublishOnly": "npm run build:dist && npm run build:cdn",
|
|
328
|
-
"lint": "eslint . --config ../eslint.config.js",
|
|
322
|
+
"lint": "eslint . --config ../eslint.config.js && node scripts/breakpoints.mjs --check",
|
|
323
|
+
"breakpoints": "node scripts/breakpoints.mjs",
|
|
329
324
|
"test": "web-test-runner --config ../web-test-runner.config.mjs",
|
|
330
325
|
"test:coverage": "web-test-runner --config ../web-test-runner.config.mjs --coverage"
|
|
331
326
|
},
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// Short entry point for the breakpoints : the `eunomia-below-*` and
|
|
2
|
+
// `eunomia-from-*` mixins, and the `$map-device-width` scale they read.
|
|
3
|
+
//
|
|
4
|
+
// @use "@eunomia/elements/styles/breakpoints" as *;
|
|
5
|
+
//
|
|
6
|
+
// Emits no CSS, so it can be used in every stylesheet that needs it.
|
|
7
|
+
@forward "./tools/mixins/media-queries/eunomia-media-queries.mixin.scss";
|
|
8
|
+
@forward "./tools/variables/eunomia.breakpoints.scss";
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
// Grid utility classes, emitted once at the top level. Every theme entry
|
|
2
|
+
// file uses this module, and Sass outputs a module's CSS only once per
|
|
3
|
+
// compilation, so loading several themes never duplicates the classes.
|
|
4
|
+
@use "./tools/mixins/layout/eunomia-grid.mixin.scss" as *;
|
|
5
|
+
|
|
6
|
+
@include eunomia-grid-layouts();
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
-
@use
|
|
2
|
-
@use
|
|
1
|
+
@use "./../tools/indexes/eunomia-tools.index.scss" as *;
|
|
2
|
+
@use "./mixins/eunomia-scales.mixin.scss" as *;
|
|
3
|
+
@use "./../eunomia-grid.scss";
|
|
3
4
|
|
|
4
5
|
@mixin default-settings {
|
|
5
6
|
@include eunomia-font-family();
|
|
@@ -9,10 +10,10 @@
|
|
|
9
10
|
@include eunomia-border-radius();
|
|
10
11
|
@include eunomia-border-width();
|
|
11
12
|
@include eunomia-shadows();
|
|
13
|
+
@include eunomia-motion();
|
|
12
14
|
@include eunomia-alpha();
|
|
13
15
|
@include eunomia-height();
|
|
14
16
|
@include eunomia-breakpoints();
|
|
15
|
-
@include eunomia-grid-layouts();
|
|
16
17
|
}
|
|
17
18
|
|
|
18
19
|
.eunomia-theme {
|
|
@@ -48,7 +48,10 @@
|
|
|
48
48
|
$result: $color;
|
|
49
49
|
$guard: 0;
|
|
50
50
|
|
|
51
|
-
@while eunomia-contrast-ratio($result, $surface) <
|
|
51
|
+
@while eunomia-contrast-ratio($result, $surface) <
|
|
52
|
+
$min-contrast and
|
|
53
|
+
$guard <
|
|
54
|
+
60
|
|
52
55
|
{
|
|
53
56
|
$result: color.adjust($result, $lightness: $step, $space: hsl);
|
|
54
57
|
$guard: $guard + 1;
|
|
@@ -64,3 +67,33 @@
|
|
|
64
67
|
|
|
65
68
|
@return rgb($r, $g, $b);
|
|
66
69
|
}
|
|
70
|
+
|
|
71
|
+
@function eunomia-light-accessible(
|
|
72
|
+
$color,
|
|
73
|
+
$surface: #ffffff,
|
|
74
|
+
$min-contrast: 4.5,
|
|
75
|
+
$min-lightness: 10%,
|
|
76
|
+
$step: 1.5%
|
|
77
|
+
) {
|
|
78
|
+
$result: $color;
|
|
79
|
+
$guard: 0;
|
|
80
|
+
|
|
81
|
+
@while eunomia-contrast-ratio($result, $surface) <
|
|
82
|
+
$min-contrast and
|
|
83
|
+
$guard <
|
|
84
|
+
60
|
|
85
|
+
{
|
|
86
|
+
$result: color.adjust($result, $lightness: -$step, $space: hsl);
|
|
87
|
+
$guard: $guard + 1;
|
|
88
|
+
|
|
89
|
+
@if color.channel($result, "lightness", $space: hsl) <= $min-lightness {
|
|
90
|
+
$guard: 60;
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
|
|
94
|
+
$r: math.round(color.channel($result, "red"));
|
|
95
|
+
$g: math.round(color.channel($result, "green"));
|
|
96
|
+
$b: math.round(color.channel($result, "blue"));
|
|
97
|
+
|
|
98
|
+
@return rgb($r, $g, $b);
|
|
99
|
+
}
|
|
@@ -32,6 +32,8 @@
|
|
|
32
32
|
--eun-text-disabled-color: #8d93aa;
|
|
33
33
|
--eun-text-readonly-color: #c1c9d6;
|
|
34
34
|
--eun-disabled-content: #c1c9d6;
|
|
35
|
+
--eun-surface-inverse: #0b1620;
|
|
36
|
+
--eun-text-on-inverse: #f5f7fa;
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
@mixin eunomia-dark-neutrals {
|
|
@@ -68,4 +70,6 @@
|
|
|
68
70
|
--eun-text-disabled-color: var(--eun-color-grey-500);
|
|
69
71
|
--eun-text-readonly-color: var(--eun-color-grey-400);
|
|
70
72
|
--eun-disabled-content: var(--eun-color-grey-400);
|
|
73
|
+
--eun-surface-inverse: #0b1620;
|
|
74
|
+
--eun-text-on-inverse: #f5f7fa;
|
|
71
75
|
}
|