@eunomia/elements 1.0.0-beta.2 → 1.0.0-beta.4
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/cdn/components/chunks/chunk-2JLDJFYD.js +48 -0
- package/dist/cdn/components/chunks/chunk-4MXL6PZC.js +124 -0
- package/dist/cdn/components/chunks/{chunk-32KRPOPV.js → chunk-5XJGYXW7.js} +6 -6
- package/dist/cdn/components/chunks/{chunk-O2HNWH65.js → chunk-5XJLIHAU.js} +7 -7
- package/dist/cdn/components/chunks/{chunk-5GF2Q3NR.js → chunk-74AOAB4X.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-WYMBUIKX.js → chunk-A6KGFALA.js} +4 -4
- package/dist/cdn/components/chunks/chunk-BMQOI7HX.js +371 -0
- package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
- package/dist/cdn/components/chunks/{chunk-NEYBPT3D.js → chunk-EJIX2D4Z.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-EOWBYZV7.js} +2 -2
- package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
- package/dist/cdn/components/chunks/{chunk-AQQMW353.js → chunk-GSJEJLFA.js} +3 -3
- package/dist/cdn/components/chunks/chunk-GU6BVMFJ.js +1 -0
- package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-IJ5WFMK4.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
- package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
- package/dist/cdn/components/chunks/{chunk-74HHV4CX.js → chunk-NHFWATVN.js} +2 -2
- package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
- package/dist/cdn/components/chunks/chunk-P32B7BFD.js +118 -0
- package/dist/cdn/components/chunks/{chunk-ZPFHTJSS.js → chunk-PCM7D3YF.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-ABYEBP57.js → chunk-PED5ATYN.js} +11 -8
- package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-RJCJXB7Y.js} +5 -5
- package/dist/cdn/components/chunks/{chunk-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
- package/dist/cdn/components/chunks/{chunk-7WTSHE7M.js → chunk-SIHZFOTK.js} +9 -9
- package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-UAGCQF23.js} +7 -7
- package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
- package/dist/cdn/components/chunks/chunk-YGUJJ25C.js +263 -0
- package/dist/cdn/components/chunks/chunk-YYCEPZUN.js +1 -0
- package/dist/cdn/components/eun-alert.js +65 -45
- package/dist/cdn/components/eun-animate.js +178 -2
- package/dist/cdn/components/eun-badge.js +1 -1
- package/dist/cdn/components/eun-breadcrumb-item.js +14 -10
- package/dist/cdn/components/eun-breadcrumb.js +11 -7
- package/dist/cdn/components/eun-button.js +1 -1
- package/dist/cdn/components/eun-calendar.js +16 -16
- package/dist/cdn/components/eun-card.js +29 -12
- package/dist/cdn/components/eun-carousel.js +36 -28
- package/dist/cdn/components/eun-check-card.js +3 -3
- package/dist/cdn/components/eun-checkbox-list.js +3 -3
- package/dist/cdn/components/eun-checkbox.js +1 -1
- package/dist/cdn/components/eun-chip.js +45 -210
- package/dist/cdn/components/eun-collapse.js +20 -26
- package/dist/cdn/components/eun-color-picker.js +28 -28
- package/dist/cdn/components/eun-counter.js +11 -11
- package/dist/cdn/components/eun-date-picker.js +50 -50
- package/dist/cdn/components/eun-drawer.js +3 -3
- package/dist/cdn/components/eun-dropdown-button.js +1 -1
- package/dist/cdn/components/eun-dropdown-item.js +6 -6
- package/dist/cdn/components/eun-fab.js +31 -53
- package/dist/cdn/components/eun-icon.js +1 -1
- package/dist/cdn/components/eun-image-card.js +18 -11
- package/dist/cdn/components/eun-image-carousel.js +16 -16
- package/dist/cdn/components/eun-infinite-list.js +1 -1
- package/dist/cdn/components/eun-input-file.js +20 -20
- package/dist/cdn/components/eun-input-phone.js +14 -14
- 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 +29 -11
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +6 -6
- package/dist/cdn/components/eun-pagination.js +3 -3
- package/dist/cdn/components/eun-password-strength.js +9 -6
- package/dist/cdn/components/eun-progress-bar.js +13 -13
- package/dist/cdn/components/eun-radio-card.js +2 -2
- package/dist/cdn/components/eun-radio-list.js +3 -3
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-scheduler-event-editor.js +2 -2
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +10 -10
- package/dist/cdn/components/eun-search.js +7 -7
- package/dist/cdn/components/eun-select.js +39 -18
- package/dist/cdn/components/eun-sidebar.js +10 -10
- package/dist/cdn/components/eun-skeleton.js +1 -1
- package/dist/cdn/components/eun-slider.js +9 -9
- package/dist/cdn/components/eun-sliding-card.js +7 -10
- package/dist/cdn/components/eun-step.js +8 -8
- package/dist/cdn/components/eun-stepper.js +8 -8
- package/dist/cdn/components/eun-switch.js +10 -10
- package/dist/cdn/components/eun-tab-group.js +19 -11
- package/dist/cdn/components/eun-tab-panel.js +1 -1
- 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-cell.js +1 -1
- package/dist/cdn/components/eun-table-column.js +1 -1
- package/dist/cdn/components/eun-table-header.js +1 -1
- package/dist/cdn/components/eun-table-item.js +1 -1
- package/dist/cdn/components/eun-table-skeleton-row.js +1 -1
- package/dist/cdn/components/eun-table.js +3 -3
- package/dist/cdn/components/eun-tag.js +34 -122
- package/dist/cdn/components/eun-textarea.js +28 -28
- package/dist/cdn/components/eun-time-picker.js +25 -25
- package/dist/cdn/components/eun-toast.js +40 -36
- package/dist/cdn/components/eun-toggle-group.js +199 -66
- package/dist/cdn/components/eun-toggle-item.js +42 -25
- package/dist/cdn/components/eun-toggle.js +13 -10
- package/dist/cdn/components/eun-toolbar.js +28 -19
- package/dist/cdn/components/eun-tooltip.js +122 -87
- 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 +1 -0
- package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
- 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 +2 -0
- package/dist/cdn/styles/tools/indexes/eunomia-tools.index.scss +1 -0
- package/dist/cdn/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
- package/dist/cdn/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
- package/dist/cdn/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
- package/dist/cdn/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
- package/dist/components/action/button/button.d.ts +7 -6
- package/dist/components/action/button/button.js +7 -6
- package/dist/components/action/button/button.styles.js +143 -373
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +7 -0
- package/dist/components/action/dropdown-button/dropdown-button.js +11 -0
- package/dist/components/action/dropdown-button/dropdown-button.styles.js +8 -8
- package/dist/components/action/dropdown-button/dropdown-item.styles.js +6 -6
- package/dist/components/action/fab/fab.d.ts +3 -1
- package/dist/components/action/fab/fab.js +3 -1
- package/dist/components/action/fab/fab.styles.js +26 -49
- package/dist/components/action/link/link.d.ts +50 -0
- package/dist/components/action/link/link.js +69 -1
- package/dist/components/action/link/link.styles.js +19 -2
- package/dist/components/action/shared-styles/button-palette.styles.d.ts +27 -0
- package/dist/components/action/shared-styles/button-palette.styles.js +151 -0
- package/dist/components/action/toggle/toggle-group.d.ts +41 -7
- package/dist/components/action/toggle/toggle-group.js +162 -46
- package/dist/components/action/toggle/toggle-group.styles.d.ts +6 -5
- package/dist/components/action/toggle/toggle-group.styles.js +152 -35
- package/dist/components/action/toggle/toggle-item.styles.js +38 -21
- package/dist/components/action/toggle/toggle.d.ts +1 -1
- package/dist/components/action/toggle/toggle.js +2 -2
- package/dist/components/action/toggle/toggle.styles.d.ts +2 -2
- package/dist/components/action/toggle/toggle.styles.js +13 -10
- package/dist/components/alert/alert/alert.d.ts +4 -3
- package/dist/components/alert/alert/alert.js +4 -3
- package/dist/components/alert/alert/alert.styles.js +57 -36
- package/dist/components/alert/drawer/drawer.styles.js +3 -3
- package/dist/components/alert/modal/modal.styles.js +6 -6
- package/dist/components/alert/toast/toast.d.ts +4 -3
- package/dist/components/alert/toast/toast.js +4 -3
- package/dist/components/alert/toast/toast.styles.js +41 -36
- package/dist/components/content/badge/badge.styles.js +1 -1
- package/dist/components/content/card/card.d.ts +4 -4
- package/dist/components/content/card/card.js +4 -4
- package/dist/components/content/card/card.styles.js +27 -10
- package/dist/components/content/card/image-card.d.ts +1 -1
- package/dist/components/content/card/image-card.js +1 -1
- package/dist/components/content/card/image-card.styles.js +17 -10
- package/dist/components/content/card/sliding-card.styles.js +3 -6
- package/dist/components/content/chip/chip.d.ts +16 -7
- package/dist/components/content/chip/chip.js +18 -6
- package/dist/components/content/chip/chip.styles.d.ts +1 -1
- package/dist/components/content/chip/chip.styles.js +43 -210
- package/dist/components/content/collapse/collapse.styles.js +10 -16
- package/dist/components/content/icon/icon.d.ts +48 -5
- package/dist/components/content/icon/icon.js +92 -20
- package/dist/components/content/icon/icon.style.js +1 -1
- package/dist/components/content/image-carousel/image-carousel.styles.js +14 -14
- package/dist/components/content/password-strength/password-strength.styles.js +7 -4
- package/dist/components/content/progress-bar/progress-bar.styles.js +9 -9
- package/dist/components/content/shared-styles/tone-surface.styles.d.ts +31 -0
- package/dist/components/content/shared-styles/tone-surface.styles.js +149 -0
- package/dist/components/content/tag/tag.d.ts +16 -6
- package/dist/components/content/tag/tag.js +19 -6
- package/dist/components/content/tag/tag.styles.d.ts +1 -1
- package/dist/components/content/tag/tag.styles.js +40 -121
- package/dist/components/content/tooltip/tooltip.d.ts +15 -4
- package/dist/components/content/tooltip/tooltip.js +21 -4
- package/dist/components/content/tooltip/tooltip.styles.js +115 -79
- package/dist/components/form/checkbox/check-card.styles.js +2 -2
- package/dist/components/form/checkbox/checkbox-list.d.ts +1 -1
- package/dist/components/form/checkbox/checkbox-list.js +1 -1
- package/dist/components/form/checkbox/checkbox.d.ts +1 -1
- package/dist/components/form/checkbox/checkbox.styles.js +6 -6
- package/dist/components/form/color-picker/color-picker.d.ts +1 -1
- package/dist/components/form/color-picker/color-picker.js +9 -7
- package/dist/components/form/color-picker/color-picker.styles.js +7 -7
- package/dist/components/form/counter/counter.d.ts +1 -1
- package/dist/components/form/counter/counter.js +3 -3
- package/dist/components/form/counter/counter.styles.js +7 -7
- package/dist/components/form/date-picker/date-picker-day-grid.styles.js +2 -2
- package/dist/components/form/date-picker/date-picker-grid.styles.js +15 -15
- package/dist/components/form/date-picker/date-picker-month-grid.styles.js +1 -1
- package/dist/components/form/date-picker/date-picker-year-grid.styles.js +1 -1
- package/dist/components/form/date-picker/date-picker.d.ts +1 -1
- package/dist/components/form/date-picker/date-picker.js +3 -3
- package/dist/components/form/date-picker/date-picker.styles.js +12 -12
- package/dist/components/form/input/input.d.ts +1 -1
- package/dist/components/form/input/input.js +2 -2
- package/dist/components/form/input-file/input-file.d.ts +1 -1
- package/dist/components/form/input-file/input-file.js +5 -5
- package/dist/components/form/input-file/input-file.styles.js +9 -9
- package/dist/components/form/input-phone/input-phone.d.ts +1 -1
- package/dist/components/form/input-phone/input-phone.js +3 -3
- package/dist/components/form/input-phone/input-phone.styles.js +7 -7
- package/dist/components/form/label/label.styles.js +4 -4
- package/dist/components/form/radio/radio-card.styles.js +1 -1
- package/dist/components/form/radio/radio-list.d.ts +1 -1
- package/dist/components/form/radio/radio-list.js +2 -2
- package/dist/components/form/radio/radio.d.ts +1 -1
- package/dist/components/form/radio/radio.styles.js +2 -2
- package/dist/components/form/search/search.styles.js +6 -6
- package/dist/components/form/select/select.d.ts +17 -1
- package/dist/components/form/select/select.js +28 -5
- package/dist/components/form/select/select.styles.js +16 -5
- package/dist/components/form/shared-styles/card.styles.js +1 -1
- package/dist/components/form/shared-styles/field.styles.js +7 -7
- package/dist/components/form/shared-styles/form-labels.styles.js +1 -1
- package/dist/components/form/shared-styles/listbox.styles.js +6 -6
- package/dist/components/form/slider/slider.d.ts +1 -1
- package/dist/components/form/slider/slider.js +2 -2
- package/dist/components/form/slider/slider.styles.js +6 -6
- package/dist/components/form/switch/switch.d.ts +1 -1
- package/dist/components/form/switch/switch.styles.js +8 -8
- package/dist/components/form/textarea/textarea.d.ts +1 -1
- package/dist/components/form/textarea/textarea.js +4 -4
- package/dist/components/form/textarea/textarea.styles.js +6 -6
- package/dist/components/form/time-picker/time-picker-columns.styles.js +6 -6
- package/dist/components/form/time-picker/time-picker-list.styles.js +2 -2
- package/dist/components/form/time-picker/time-picker.d.ts +1 -1
- package/dist/components/form/time-picker/time-picker.js +3 -3
- package/dist/components/form/time-picker/time-picker.styles.js +8 -8
- package/dist/components/layout/animate/animate.d.ts +40 -5
- package/dist/components/layout/animate/animate.js +30 -11
- package/dist/components/layout/animate/animate.styles.d.ts +1 -1
- package/dist/components/layout/animate/animate.styles.js +191 -1
- package/dist/components/loader/loader/loader.styles.js +2 -2
- package/dist/components/loader/skeleton/skeleton.styles.js +8 -5
- package/dist/components/navigation/breadcrumb/breadcrumb-item.d.ts +7 -0
- package/dist/components/navigation/breadcrumb/breadcrumb-item.js +15 -1
- package/dist/components/navigation/breadcrumb/breadcrumb-item.styles.js +3 -3
- package/dist/components/navigation/breadcrumb/breadcrumb.d.ts +1 -0
- package/dist/components/navigation/breadcrumb/breadcrumb.js +7 -1
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
- package/dist/components/navigation/carousel/carousel.d.ts +40 -6
- package/dist/components/navigation/carousel/carousel.js +61 -12
- package/dist/components/navigation/carousel/carousel.styles.js +20 -8
- package/dist/components/navigation/pagination/pagination.styles.js +3 -3
- package/dist/components/navigation/sidebar/sidebar.styles.js +9 -9
- package/dist/components/navigation/stepper/step.styles.js +8 -8
- package/dist/components/navigation/stepper/stepper.styles.js +8 -8
- package/dist/components/navigation/tabs/tab/tab.styles.js +5 -5
- package/dist/components/navigation/tabs/tab-group/tab-group.d.ts +9 -0
- package/dist/components/navigation/tabs/tab-group/tab-group.js +19 -2
- package/dist/components/navigation/tabs/tab-group/tab-group.styles.js +12 -4
- package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
- package/dist/components/navigation/toolbar/toolbar.d.ts +24 -0
- package/dist/components/navigation/toolbar/toolbar.js +30 -2
- package/dist/components/navigation/toolbar/toolbar.styles.js +20 -10
- package/dist/events/change.event.d.ts +13 -1
- package/dist/events/change.event.js +2 -1
- package/dist/features/scheduler/calendar/calendar.js +1 -1
- package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
- package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
- package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +1 -1
- package/dist/features/scheduler/shared/scheduler-month-view.styles.js +1 -1
- package/dist/features/scheduler/shared/scheduler-year-view.styles.js +1 -1
- package/dist/features/table/native-table.css +11 -11
- package/dist/features/table/table/table.styles.js +2 -2
- package/dist/features/table/table-action-bar/table-action-bar.styles.js +2 -2
- package/dist/features/table/table-cell/table-cell.styles.js +2 -2
- package/dist/features/table/table-column/table-column.styles.js +3 -3
- package/dist/features/table/table-header/table-header.styles.js +4 -4
- package/dist/features/table/table-item/table-item.styles.js +6 -6
- package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +6 -3
- package/dist/jsx.d.ts +18 -5
- package/dist/mixins/button.mixin.d.ts +1 -0
- package/dist/mixins/button.mixin.js +10 -0
- package/dist/mixins/check.mixin.d.ts +1 -1
- package/dist/mixins/check.mixin.js +6 -2
- package/dist/mixins/editable.mixin.d.ts +1 -1
- package/dist/mixins/form.mixin.d.ts +9 -1
- package/dist/mixins/form.mixin.js +110 -14
- package/dist/mixins/overflow-navigation.mixin.js +2 -1
- package/dist/mixins/radio.mixin.d.ts +1 -1
- package/dist/mixins/radio.mixin.js +6 -2
- package/dist/mixins/validators.mixin.d.ts +9 -3
- package/dist/ssr/animate-ssr.css +149 -0
- package/dist/ssr/overlay-ssr.css +57 -0
- package/dist/ssr/sidebar-ssr.css +57 -0
- package/dist/ssr/toolbar-ssr.css +41 -0
- package/dist/utils/rich-text.utils.d.ts +33 -0
- package/dist/utils/rich-text.utils.js +140 -49
- package/dist/utils/theme-generator.utils.d.ts +24 -3
- package/dist/utils/theme-generator.utils.js +66 -21
- package/package.json +14 -3
- package/styles/themes/eunomia-theme.scss +1 -0
- package/styles/themes/mixins/eunomia-neutrals.mixin.scss +71 -0
- package/styles/themes/prebuilt-themes/eunomia/eunomia-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/eunomia/eunomia.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/eunomia/eunomia.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/fire/eunomia-fire-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/fire/eunomia-fire.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/forest/eunomia-forest-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/forest/eunomia-forest.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/gold/eunomia-gold-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/gold/eunomia-gold.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.scss +2 -0
- package/styles/themes/prebuilt-themes/violet/eunomia-violet-dark.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/violet/eunomia-violet.mixin.scss +3 -13
- package/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.scss +2 -0
- package/styles/tools/indexes/eunomia-tools.index.scss +1 -0
- package/styles/tools/mixins/settings/eunomia-alpha.mixin.scss +39 -0
- package/styles/tools/mixins/settings/eunomia-border.mixin.scss +3 -3
- package/styles/tools/mixins/settings/eunomia-font.mixin.scss +12 -12
- package/styles/tools/mixins/settings/eunomia-radius.mixin.scss +4 -4
- package/dist/cdn/components/chunks/chunk-27Q2SLRY.js +0 -603
- package/dist/cdn/components/chunks/chunk-2IQUMAMI.js +0 -38
- package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
- package/dist/cdn/components/chunks/chunk-7Q6AHVI5.js +0 -1
- package/dist/cdn/components/chunks/chunk-DENMN3WH.js +0 -48
- package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
- package/dist/cdn/components/chunks/chunk-ONYUXQV2.js +0 -1
- package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
- package/dist/components/layout/animate/animate-ssr.css +0 -64
|
@@ -4,6 +4,18 @@ import { EunomiaIconName, EunomiaIconType } from "./icon.type.js";
|
|
|
4
4
|
* Tag name of the icon component.
|
|
5
5
|
*/
|
|
6
6
|
export declare const EunomiaIconTagName = "eun-icon";
|
|
7
|
+
/**
|
|
8
|
+
* Sets the URL the icon SVGs are served from, laid out as
|
|
9
|
+
* `<baseUrl>/<shape>/<name>.svg` (the `icons` folder shipped next to this
|
|
10
|
+
* component in the package). Needed when a bundler such as Turbopack
|
|
11
|
+
* rewrites `import.meta.url` to a `file:` URL, which can't be fetched from
|
|
12
|
+
* the browser. Copy or symlink that folder into your public assets, then
|
|
13
|
+
* call this once before any icon renders, e.g.
|
|
14
|
+
* `setIconBaseUrl("/eunomia-icons")`.
|
|
15
|
+
*
|
|
16
|
+
* @param url - Absolute or root-relative URL of the icons folder
|
|
17
|
+
*/
|
|
18
|
+
export declare function setIconBaseUrl(url: string): void;
|
|
7
19
|
/**
|
|
8
20
|
* An SVG-based icon that loads and renders dynamically based on its name.
|
|
9
21
|
*
|
|
@@ -55,6 +67,26 @@ export declare class EunomiaIcon extends LitElement {
|
|
|
55
67
|
* Gets the current size value set for the icon.
|
|
56
68
|
*/
|
|
57
69
|
get size(): string | undefined;
|
|
70
|
+
/**
|
|
71
|
+
* Registers this icon so a later `setIconBaseUrl` call can reload it.
|
|
72
|
+
*/
|
|
73
|
+
connectedCallback(): void;
|
|
74
|
+
/**
|
|
75
|
+
* Unregisters this icon, so a detached one isn't kept alive or reloaded.
|
|
76
|
+
*/
|
|
77
|
+
disconnectedCallback(): void;
|
|
78
|
+
/**
|
|
79
|
+
* Re-fetches the current icon, used when the icons' base URL changes
|
|
80
|
+
* after this icon already tried (and possibly failed) to load.
|
|
81
|
+
*
|
|
82
|
+
* @internal
|
|
83
|
+
*/
|
|
84
|
+
reload(): void;
|
|
85
|
+
/**
|
|
86
|
+
* Loads the SVG whenever `name` or `shape` changes.
|
|
87
|
+
*
|
|
88
|
+
* @param _changedProperties - The properties changed by this update
|
|
89
|
+
*/
|
|
58
90
|
protected updated(_changedProperties: PropertyValues): void;
|
|
59
91
|
/**
|
|
60
92
|
* Dynamically imports the SVG markup for the given icon name
|
|
@@ -65,11 +97,22 @@ export declare class EunomiaIcon extends LitElement {
|
|
|
65
97
|
private updateSvg;
|
|
66
98
|
/**
|
|
67
99
|
* Fetches the raw markup for a single icon file, co-located with this
|
|
68
|
-
* component (see `./icons/<shape>/<name>.svg`)
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
100
|
+
* component (see `./icons/<shape>/<name>.svg`). Deliberately never
|
|
101
|
+
* passes a templated path straight to `new URL(...)` : Turbopack
|
|
102
|
+
* special-cases that exact call shape (a string with `${...}`
|
|
103
|
+
* interpolation as the first argument) for static asset resolution
|
|
104
|
+
* even when the base is routed through `MODULE_URL` rather than a bare
|
|
105
|
+
* `import.meta.url` literal — with ~5500 icon files across 2
|
|
106
|
+
* interpolated segments, it can't resolve the pattern and silently
|
|
107
|
+
* falls back to a single wrong file for every request instead of
|
|
108
|
+
* erroring. Building the URL from `MODULE_URL`'s own directory via
|
|
109
|
+
* plain string ops keeps every `new URL()` call single-argument and
|
|
110
|
+
* literal-free, so there's no templated call shape left for any
|
|
111
|
+
* bundler to intercept. This still resolves correctly unbundled,
|
|
112
|
+
* straight off the filesystem/CDN, exactly like the original
|
|
113
|
+
* `new URL(templatedPath, import.meta.url)` would have. A base set
|
|
114
|
+
* through `setIconBaseUrl` takes priority, and a bundler-rewritten
|
|
115
|
+
* `file:` module URL throws an explicit error instead of a CSP one.
|
|
73
116
|
*
|
|
74
117
|
* @param shape - Icon subfolder to fetch from
|
|
75
118
|
* @param name - Icon file name, without extension
|
|
@@ -30,20 +30,39 @@ export const EunomiaIconTagName = "eun-icon";
|
|
|
30
30
|
const ICON_KEYWORD_REGEX = new RegExp(`_(outline|round|sharp)$`);
|
|
31
31
|
/**
|
|
32
32
|
* This module's own URL, captured once as a plain string rather than
|
|
33
|
-
* read inline
|
|
34
|
-
*
|
|
35
|
-
*
|
|
36
|
-
*
|
|
37
|
-
*
|
|
38
|
-
* the
|
|
39
|
-
* where every request resolves to the same wrong file regardless of
|
|
40
|
-
* the name/shape asked for. Routing the base through this variable
|
|
41
|
-
* keeps that call shape out of `fetchIconSvg` in every bundler, so the
|
|
42
|
-
* lookup is a plain runtime `fetch` against a file already shipped,
|
|
43
|
-
* byte-for-byte, at this path (see `scripts/copy-assets.mjs`) — the
|
|
44
|
-
* same result, whether bundled or not.
|
|
33
|
+
* read inline, so `fetchIconSvg` never has to pass a templated path
|
|
34
|
+
* straight to `new URL(...)` — see that method's own doc comment for why
|
|
35
|
+
* that call shape is unsafe under Turbopack across ~5500 icon files.
|
|
36
|
+
* `import.meta.url` itself still needs reading somewhere, just not as
|
|
37
|
+
* part of a `new URL(<literal-with-interpolation>, ...)` call, which is
|
|
38
|
+
* the specific shape bundlers key their static asset resolution off of.
|
|
45
39
|
*/
|
|
46
40
|
const MODULE_URL = import.meta.url;
|
|
41
|
+
/**
|
|
42
|
+
* Base URL set through `setIconBaseUrl`, taking priority over the URL
|
|
43
|
+
* derived from `MODULE_URL` when defined.
|
|
44
|
+
*/
|
|
45
|
+
let iconBaseUrl;
|
|
46
|
+
/**
|
|
47
|
+
* Icons currently in the DOM, so `setIconBaseUrl` can reload the ones
|
|
48
|
+
* that already tried to load before the base URL was set.
|
|
49
|
+
*/
|
|
50
|
+
const connectedIcons = new Set();
|
|
51
|
+
/**
|
|
52
|
+
* Sets the URL the icon SVGs are served from, laid out as
|
|
53
|
+
* `<baseUrl>/<shape>/<name>.svg` (the `icons` folder shipped next to this
|
|
54
|
+
* component in the package). Needed when a bundler such as Turbopack
|
|
55
|
+
* rewrites `import.meta.url` to a `file:` URL, which can't be fetched from
|
|
56
|
+
* the browser. Copy or symlink that folder into your public assets, then
|
|
57
|
+
* call this once before any icon renders, e.g.
|
|
58
|
+
* `setIconBaseUrl("/eunomia-icons")`.
|
|
59
|
+
*
|
|
60
|
+
* @param url - Absolute or root-relative URL of the icons folder
|
|
61
|
+
*/
|
|
62
|
+
export function setIconBaseUrl(url) {
|
|
63
|
+
iconBaseUrl = url.endsWith("/") ? url.slice(0, -1) : url;
|
|
64
|
+
connectedIcons.forEach((icon) => icon.reload());
|
|
65
|
+
}
|
|
47
66
|
/**
|
|
48
67
|
* An SVG-based icon that loads and renders dynamically based on its name.
|
|
49
68
|
*
|
|
@@ -98,6 +117,34 @@ let EunomiaIcon = class EunomiaIcon extends LitElement {
|
|
|
98
117
|
get size() {
|
|
99
118
|
return __classPrivateFieldGet(this, _EunomiaIcon_size, "f");
|
|
100
119
|
}
|
|
120
|
+
/**
|
|
121
|
+
* Registers this icon so a later `setIconBaseUrl` call can reload it.
|
|
122
|
+
*/
|
|
123
|
+
connectedCallback() {
|
|
124
|
+
super.connectedCallback();
|
|
125
|
+
connectedIcons.add(this);
|
|
126
|
+
}
|
|
127
|
+
/**
|
|
128
|
+
* Unregisters this icon, so a detached one isn't kept alive or reloaded.
|
|
129
|
+
*/
|
|
130
|
+
disconnectedCallback() {
|
|
131
|
+
super.disconnectedCallback();
|
|
132
|
+
connectedIcons.delete(this);
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Re-fetches the current icon, used when the icons' base URL changes
|
|
136
|
+
* after this icon already tried (and possibly failed) to load.
|
|
137
|
+
*
|
|
138
|
+
* @internal
|
|
139
|
+
*/
|
|
140
|
+
reload() {
|
|
141
|
+
this.updateSvg(this.name);
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Loads the SVG whenever `name` or `shape` changes.
|
|
145
|
+
*
|
|
146
|
+
* @param _changedProperties - The properties changed by this update
|
|
147
|
+
*/
|
|
101
148
|
updated(_changedProperties) {
|
|
102
149
|
if (_changedProperties.has("name") || _changedProperties.has("shape")) {
|
|
103
150
|
this.updateSvg(this.name);
|
|
@@ -125,24 +172,49 @@ let EunomiaIcon = class EunomiaIcon extends LitElement {
|
|
|
125
172
|
if (targetShape === "default") {
|
|
126
173
|
return;
|
|
127
174
|
}
|
|
128
|
-
this.fetchIconSvg("default", baseName)
|
|
175
|
+
this.fetchIconSvg("default", baseName)
|
|
176
|
+
.then((svg) => {
|
|
129
177
|
this.svgMarkup = svg;
|
|
130
|
-
})
|
|
178
|
+
})
|
|
179
|
+
.catch(() => undefined);
|
|
131
180
|
});
|
|
132
181
|
}
|
|
133
182
|
/**
|
|
134
183
|
* Fetches the raw markup for a single icon file, co-located with this
|
|
135
|
-
* component (see `./icons/<shape>/<name>.svg`)
|
|
136
|
-
*
|
|
137
|
-
*
|
|
138
|
-
*
|
|
139
|
-
*
|
|
184
|
+
* component (see `./icons/<shape>/<name>.svg`). Deliberately never
|
|
185
|
+
* passes a templated path straight to `new URL(...)` : Turbopack
|
|
186
|
+
* special-cases that exact call shape (a string with `${...}`
|
|
187
|
+
* interpolation as the first argument) for static asset resolution
|
|
188
|
+
* even when the base is routed through `MODULE_URL` rather than a bare
|
|
189
|
+
* `import.meta.url` literal — with ~5500 icon files across 2
|
|
190
|
+
* interpolated segments, it can't resolve the pattern and silently
|
|
191
|
+
* falls back to a single wrong file for every request instead of
|
|
192
|
+
* erroring. Building the URL from `MODULE_URL`'s own directory via
|
|
193
|
+
* plain string ops keeps every `new URL()` call single-argument and
|
|
194
|
+
* literal-free, so there's no templated call shape left for any
|
|
195
|
+
* bundler to intercept. This still resolves correctly unbundled,
|
|
196
|
+
* straight off the filesystem/CDN, exactly like the original
|
|
197
|
+
* `new URL(templatedPath, import.meta.url)` would have. A base set
|
|
198
|
+
* through `setIconBaseUrl` takes priority, and a bundler-rewritten
|
|
199
|
+
* `file:` module URL throws an explicit error instead of a CSP one.
|
|
140
200
|
*
|
|
141
201
|
* @param shape - Icon subfolder to fetch from
|
|
142
202
|
* @param name - Icon file name, without extension
|
|
143
203
|
*/
|
|
144
204
|
async fetchIconSvg(shape, name) {
|
|
145
|
-
|
|
205
|
+
let url;
|
|
206
|
+
if (iconBaseUrl) {
|
|
207
|
+
url = `${iconBaseUrl}/${shape}/${name}.svg`;
|
|
208
|
+
}
|
|
209
|
+
else {
|
|
210
|
+
const moduleUrl = new URL(MODULE_URL);
|
|
211
|
+
if (moduleUrl.protocol === "file:") {
|
|
212
|
+
throw new Error("eun-icon can't locate its icons: the bundler rewrote import.meta.url to a file: URL. Serve the icons folder and call setIconBaseUrl().");
|
|
213
|
+
}
|
|
214
|
+
const moduleDir = moduleUrl.pathname.slice(0, moduleUrl.pathname.lastIndexOf("/"));
|
|
215
|
+
moduleUrl.pathname = `${moduleDir}/icons/${shape}/${name}.svg`;
|
|
216
|
+
url = moduleUrl.href;
|
|
217
|
+
}
|
|
146
218
|
const response = await fetch(url);
|
|
147
219
|
if (!response.ok) {
|
|
148
220
|
throw new Error(`Icon not found: ${url}`);
|
|
@@ -25,7 +25,7 @@ export const iconStyles = css `
|
|
|
25
25
|
fill: var(--_color);
|
|
26
26
|
color: var(--_color);
|
|
27
27
|
background-color: var(--_background);
|
|
28
|
-
border-radius: var(--icon-border-radius, var(--eun-
|
|
28
|
+
border-radius: var(--icon-border-radius, var(--eun-border-radius-m, 8px));
|
|
29
29
|
text-decoration: none;
|
|
30
30
|
display: inline-block;
|
|
31
31
|
user-select: none;
|
|
@@ -55,11 +55,11 @@ const base = css `
|
|
|
55
55
|
aspect-ratio: var(--image-carousel-aspect-ratio, 4 / 3);
|
|
56
56
|
border-radius: var(
|
|
57
57
|
--image-carousel-border-radius,
|
|
58
|
-
var(--eun-
|
|
58
|
+
var(--eun-border-radius-m, 8px)
|
|
59
59
|
);
|
|
60
60
|
background: var(
|
|
61
61
|
--image-carousel-background,
|
|
62
|
-
var(--eun-
|
|
62
|
+
var(--eun-surface-sunken, #f7f8fa)
|
|
63
63
|
);
|
|
64
64
|
outline: 3px solid transparent;
|
|
65
65
|
transition: outline-color 0.2s ease-out;
|
|
@@ -242,10 +242,10 @@ const base = css `
|
|
|
242
242
|
bottom: var(--eun-space-s, 8px);
|
|
243
243
|
z-index: 3;
|
|
244
244
|
padding: 2px 8px;
|
|
245
|
-
border-radius: var(--eun-
|
|
245
|
+
border-radius: var(--eun-border-radius-full, 999px);
|
|
246
246
|
background: rgba(7, 22, 33, 0.55);
|
|
247
247
|
color: #fff;
|
|
248
|
-
font-size: var(--eun-
|
|
248
|
+
font-size: var(--eun-font-size-xs, 12px);
|
|
249
249
|
pointer-events: none;
|
|
250
250
|
}
|
|
251
251
|
|
|
@@ -268,8 +268,8 @@ const base = css `
|
|
|
268
268
|
width: var(--image-carousel-thumbnail-size, 64px);
|
|
269
269
|
height: var(--image-carousel-thumbnail-size, 64px);
|
|
270
270
|
overflow: hidden;
|
|
271
|
-
border: var(--eun-
|
|
272
|
-
border-radius: var(--eun-
|
|
271
|
+
border: var(--eun-border-width-m, 1.5px) solid transparent;
|
|
272
|
+
border-radius: var(--eun-border-radius-s, 6px);
|
|
273
273
|
cursor: pointer;
|
|
274
274
|
opacity: 0.6;
|
|
275
275
|
outline: 2px solid transparent;
|
|
@@ -326,7 +326,7 @@ const base = css `
|
|
|
326
326
|
}
|
|
327
327
|
.dot[aria-current="true"] {
|
|
328
328
|
width: calc(var(--image-carousel-dot-size, 8px) * 3.5);
|
|
329
|
-
border-radius: var(--eun-
|
|
329
|
+
border-radius: var(--eun-border-radius-full, 999px);
|
|
330
330
|
background: var(
|
|
331
331
|
--image-carousel-dot-active-color,
|
|
332
332
|
var(--eun-color-primary-500, #3d6fff)
|
|
@@ -362,7 +362,7 @@ const base = css `
|
|
|
362
362
|
object-fit: contain;
|
|
363
363
|
border-radius: var(
|
|
364
364
|
--image-carousel-lightbox-image-radius,
|
|
365
|
-
var(--eun-
|
|
365
|
+
var(--eun-border-radius-m, 8px)
|
|
366
366
|
);
|
|
367
367
|
}
|
|
368
368
|
|
|
@@ -409,10 +409,10 @@ const base = css `
|
|
|
409
409
|
transform: translateX(-50%);
|
|
410
410
|
z-index: 3;
|
|
411
411
|
padding: 4px 10px;
|
|
412
|
-
border-radius: var(--eun-
|
|
412
|
+
border-radius: var(--eun-border-radius-full, 999px);
|
|
413
413
|
background: rgba(0, 0, 0, 0.55);
|
|
414
414
|
color: #fff;
|
|
415
|
-
font-size: var(--eun-
|
|
415
|
+
font-size: var(--eun-font-size-xs, 12px);
|
|
416
416
|
}
|
|
417
417
|
|
|
418
418
|
#lightbox-grid {
|
|
@@ -425,7 +425,7 @@ const base = css `
|
|
|
425
425
|
padding: var(--eun-space-s, 8px);
|
|
426
426
|
overflow-y: auto;
|
|
427
427
|
background: var(--eun-surface-color, #ffffff);
|
|
428
|
-
border-left: var(--eun-
|
|
428
|
+
border-left: var(--eun-border-width-s, 1px) solid
|
|
429
429
|
var(--eun-border-color, #dee0e7);
|
|
430
430
|
}
|
|
431
431
|
.grid-item {
|
|
@@ -433,8 +433,8 @@ const base = css `
|
|
|
433
433
|
box-sizing: border-box;
|
|
434
434
|
aspect-ratio: 1;
|
|
435
435
|
overflow: hidden;
|
|
436
|
-
border: var(--eun-
|
|
437
|
-
border-radius: var(--eun-
|
|
436
|
+
border: var(--eun-border-width-m, 1.5px) solid transparent;
|
|
437
|
+
border-radius: var(--eun-border-radius-s, 6px);
|
|
438
438
|
cursor: pointer;
|
|
439
439
|
opacity: 0.7;
|
|
440
440
|
transition:
|
|
@@ -471,7 +471,7 @@ const base = css `
|
|
|
471
471
|
max-height: none;
|
|
472
472
|
overflow-x: auto;
|
|
473
473
|
overflow-y: hidden;
|
|
474
|
-
border-top: var(--eun-
|
|
474
|
+
border-top: var(--eun-border-width-s, 1px) solid
|
|
475
475
|
var(--eun-border-color, #dee0e7);
|
|
476
476
|
border-left: none;
|
|
477
477
|
}
|
|
@@ -76,11 +76,11 @@ const base = css `
|
|
|
76
76
|
height: var(--password-strength-track-height, 6px);
|
|
77
77
|
border-radius: var(
|
|
78
78
|
--password-strength-border-radius,
|
|
79
|
-
var(--eun-
|
|
79
|
+
var(--eun-border-radius-full, 999px)
|
|
80
80
|
);
|
|
81
81
|
background: var(
|
|
82
82
|
--password-strength-track-color,
|
|
83
|
-
var(--eun-
|
|
83
|
+
var(--eun-surface-sunken-strong, #ecedf0)
|
|
84
84
|
);
|
|
85
85
|
transition: background-color
|
|
86
86
|
var(--password-strength-transition-duration, 0.3s) ease;
|
|
@@ -97,7 +97,10 @@ const base = css `
|
|
|
97
97
|
display: flex;
|
|
98
98
|
align-items: baseline;
|
|
99
99
|
gap: var(--eun-space-xxs, 1.6px);
|
|
100
|
-
font-size: var(
|
|
100
|
+
font-size: var(
|
|
101
|
+
--password-strength-font-size,
|
|
102
|
+
var(--eun-font-size-xs, 12px)
|
|
103
|
+
);
|
|
101
104
|
}
|
|
102
105
|
|
|
103
106
|
#caption {
|
|
@@ -110,7 +113,7 @@ const base = css `
|
|
|
110
113
|
#level-name {
|
|
111
114
|
font-weight: var(
|
|
112
115
|
--password-strength-level-font-weight,
|
|
113
|
-
var(--eun-
|
|
116
|
+
var(--eun-font-weight-m, 600)
|
|
114
117
|
);
|
|
115
118
|
color: var(
|
|
116
119
|
--_levelColor,
|
|
@@ -106,7 +106,7 @@ const base = css `
|
|
|
106
106
|
color: var(--progress-bar-corner-color, var(--eun-text-secondary, #484e61));
|
|
107
107
|
font-size: var(
|
|
108
108
|
--progress-bar-corner-font-size,
|
|
109
|
-
var(--eun-
|
|
109
|
+
var(--eun-font-size-xs, 12px)
|
|
110
110
|
);
|
|
111
111
|
}
|
|
112
112
|
|
|
@@ -127,11 +127,11 @@ const base = css `
|
|
|
127
127
|
border: none;
|
|
128
128
|
border-radius: var(
|
|
129
129
|
--progress-bar-border-radius,
|
|
130
|
-
var(--eun-
|
|
130
|
+
var(--eun-border-radius-full, 999px)
|
|
131
131
|
);
|
|
132
132
|
background: var(
|
|
133
133
|
--progress-bar-track-color,
|
|
134
|
-
var(--eun-
|
|
134
|
+
var(--eun-surface-sunken-strong, #ecedf0)
|
|
135
135
|
);
|
|
136
136
|
}
|
|
137
137
|
|
|
@@ -141,11 +141,11 @@ const base = css `
|
|
|
141
141
|
height: var(--progress-bar-track-height, 8px);
|
|
142
142
|
border-radius: var(
|
|
143
143
|
--progress-bar-border-radius,
|
|
144
|
-
var(--eun-
|
|
144
|
+
var(--eun-border-radius-full, 999px)
|
|
145
145
|
);
|
|
146
146
|
background: var(
|
|
147
147
|
--progress-bar-track-color,
|
|
148
|
-
var(--eun-
|
|
148
|
+
var(--eun-surface-sunken-strong, #ecedf0)
|
|
149
149
|
);
|
|
150
150
|
}
|
|
151
151
|
|
|
@@ -153,7 +153,7 @@ const base = css `
|
|
|
153
153
|
background: var(--_optimumColor);
|
|
154
154
|
border-radius: var(
|
|
155
155
|
--progress-bar-border-radius,
|
|
156
|
-
var(--eun-
|
|
156
|
+
var(--eun-border-radius-full, 999px)
|
|
157
157
|
);
|
|
158
158
|
transition: width var(--progress-bar-transition-duration, 0.3s) ease;
|
|
159
159
|
}
|
|
@@ -162,7 +162,7 @@ const base = css `
|
|
|
162
162
|
background: var(--_subOptimumColor);
|
|
163
163
|
border-radius: var(
|
|
164
164
|
--progress-bar-border-radius,
|
|
165
|
-
var(--eun-
|
|
165
|
+
var(--eun-border-radius-full, 999px)
|
|
166
166
|
);
|
|
167
167
|
transition: width var(--progress-bar-transition-duration, 0.3s) ease;
|
|
168
168
|
}
|
|
@@ -171,7 +171,7 @@ const base = css `
|
|
|
171
171
|
background: var(--_subSubOptimumColor);
|
|
172
172
|
border-radius: var(
|
|
173
173
|
--progress-bar-border-radius,
|
|
174
|
-
var(--eun-
|
|
174
|
+
var(--eun-border-radius-full, 999px)
|
|
175
175
|
);
|
|
176
176
|
transition: width var(--progress-bar-transition-duration, 0.3s) ease;
|
|
177
177
|
}
|
|
@@ -180,7 +180,7 @@ const base = css `
|
|
|
180
180
|
border: none;
|
|
181
181
|
border-radius: var(
|
|
182
182
|
--progress-bar-border-radius,
|
|
183
|
-
var(--eun-
|
|
183
|
+
var(--eun-border-radius-full, 999px)
|
|
184
184
|
);
|
|
185
185
|
background: var(--_optimumColor);
|
|
186
186
|
transition: width var(--progress-bar-transition-duration, 0.3s) ease;
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Shared surface resolution for the display components that take a `color`
|
|
3
|
+
* (`primary`, `secondary`, `light`, `medium`, `dark`), a `severity` and an
|
|
4
|
+
* `appearance` (`default`, `fill`, `outline`, `flat`) : `eun-tag` and
|
|
5
|
+
* `eun-chip`. Keeping it in one place means the two can never drift apart.
|
|
6
|
+
*
|
|
7
|
+
* The surface is resolved in two independent steps, so every palette works
|
|
8
|
+
* with every appearance and neither needs to know about the other :
|
|
9
|
+
*
|
|
10
|
+
* 1. A palette (`severity`, else `color`) fills the same few slots :
|
|
11
|
+
* `--_solid` (the strong color), `--_onSolid` (text on top of it),
|
|
12
|
+
* `--_tint` (its pale wash) and `--_accent` (text on the wash or on a
|
|
13
|
+
* transparent surface).
|
|
14
|
+
* 2. An appearance reads those slots into the final `--_bg`, `--_fg` and
|
|
15
|
+
* `--_bd`, set on the host.
|
|
16
|
+
*
|
|
17
|
+
* The component's own stylesheet then reads `--_bg`, `--_fg` and `--_bd`
|
|
18
|
+
* *behind* its public `--<component>-*` custom properties, so those always
|
|
19
|
+
* win, whatever the palette and appearance.
|
|
20
|
+
*
|
|
21
|
+
* `light` and `dark` are absolute colors : white and black, whatever the
|
|
22
|
+
* appearance. They have no pale wash, so `default` is as solid as `fill`, and
|
|
23
|
+
* `flat` is a faint wash of their own color rather than the neutral surface
|
|
24
|
+
* every other palette shares. By default they follow the grey scale, which
|
|
25
|
+
* flips with the active theme ; the `fixed-color` attribute pins them to the
|
|
26
|
+
* light theme's white and black instead.
|
|
27
|
+
*
|
|
28
|
+
* A component can override a slot on its own host to adapt it, for example
|
|
29
|
+
* `--_bg-outline` when its outline surface isn't transparent.
|
|
30
|
+
*/
|
|
31
|
+
export declare const toneSurfaceStyles: import("lit").CSSResult;
|
|
@@ -0,0 +1,149 @@
|
|
|
1
|
+
import { css } from "lit";
|
|
2
|
+
/**
|
|
3
|
+
* Shared surface resolution for the display components that take a `color`
|
|
4
|
+
* (`primary`, `secondary`, `light`, `medium`, `dark`), a `severity` and an
|
|
5
|
+
* `appearance` (`default`, `fill`, `outline`, `flat`) : `eun-tag` and
|
|
6
|
+
* `eun-chip`. Keeping it in one place means the two can never drift apart.
|
|
7
|
+
*
|
|
8
|
+
* The surface is resolved in two independent steps, so every palette works
|
|
9
|
+
* with every appearance and neither needs to know about the other :
|
|
10
|
+
*
|
|
11
|
+
* 1. A palette (`severity`, else `color`) fills the same few slots :
|
|
12
|
+
* `--_solid` (the strong color), `--_onSolid` (text on top of it),
|
|
13
|
+
* `--_tint` (its pale wash) and `--_accent` (text on the wash or on a
|
|
14
|
+
* transparent surface).
|
|
15
|
+
* 2. An appearance reads those slots into the final `--_bg`, `--_fg` and
|
|
16
|
+
* `--_bd`, set on the host.
|
|
17
|
+
*
|
|
18
|
+
* The component's own stylesheet then reads `--_bg`, `--_fg` and `--_bd`
|
|
19
|
+
* *behind* its public `--<component>-*` custom properties, so those always
|
|
20
|
+
* win, whatever the palette and appearance.
|
|
21
|
+
*
|
|
22
|
+
* `light` and `dark` are absolute colors : white and black, whatever the
|
|
23
|
+
* appearance. They have no pale wash, so `default` is as solid as `fill`, and
|
|
24
|
+
* `flat` is a faint wash of their own color rather than the neutral surface
|
|
25
|
+
* every other palette shares. By default they follow the grey scale, which
|
|
26
|
+
* flips with the active theme ; the `fixed-color` attribute pins them to the
|
|
27
|
+
* light theme's white and black instead.
|
|
28
|
+
*
|
|
29
|
+
* A component can override a slot on its own host to adapt it, for example
|
|
30
|
+
* `--_bg-outline` when its outline surface isn't transparent.
|
|
31
|
+
*/
|
|
32
|
+
export const toneSurfaceStyles = css `
|
|
33
|
+
:host {
|
|
34
|
+
/* How each appearance reads the palette slots. */
|
|
35
|
+
--_bg-default: var(--_tint);
|
|
36
|
+
--_fg-default: var(--_accent);
|
|
37
|
+
--_bg-fill: var(--_solid);
|
|
38
|
+
--_fg-fill: var(--_onSolid);
|
|
39
|
+
--_bg-outline: transparent;
|
|
40
|
+
--_fg-outline: var(--_accent);
|
|
41
|
+
--_bd-outline: var(--_solid);
|
|
42
|
+
--_bg-flat: var(--eun-content-hover, #edeff0);
|
|
43
|
+
--_fg-flat: var(--eun-text-secondary, #484e61);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
/* Step 1 : palettes. "medium" is also the fallback before "color" reflects. */
|
|
47
|
+
:host(:not([color]):not([severity])),
|
|
48
|
+
:host([color="medium"]:not([severity])) {
|
|
49
|
+
--_solid: var(--eun-color-grey-700, #484e61);
|
|
50
|
+
--_onSolid: var(--eun-color-grey-0, #ffffff);
|
|
51
|
+
--_tint: color-mix(
|
|
52
|
+
in srgb,
|
|
53
|
+
var(--eun-color-grey-700, #484e61) 20%,
|
|
54
|
+
transparent
|
|
55
|
+
);
|
|
56
|
+
--_accent: var(--eun-color-grey-900, #000000);
|
|
57
|
+
}
|
|
58
|
+
:host([color="primary"]:not([severity])) {
|
|
59
|
+
--_solid: var(--eun-color-primary-500, #3d6fff);
|
|
60
|
+
--_onSolid: var(--eun-color-on-primary-500, #ffffff);
|
|
61
|
+
--_tint: var(--eun-color-primary-transparent, #3d6fff33);
|
|
62
|
+
--_accent: var(--eun-color-primary-500, #3d6fff);
|
|
63
|
+
}
|
|
64
|
+
:host([color="secondary"]:not([severity])) {
|
|
65
|
+
--_solid: var(--eun-color-secondary-500, #e5a030);
|
|
66
|
+
--_onSolid: var(--eun-color-on-secondary-500, #000000de);
|
|
67
|
+
--_tint: var(--eun-color-secondary-transparent, #e5a03033);
|
|
68
|
+
--_accent: var(--eun-color-secondary-500, #e5a030);
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
:host([color="light"]:not([severity])) {
|
|
72
|
+
--_solid: var(--eun-color-grey-0, #ffffff);
|
|
73
|
+
--_onSolid: var(--eun-color-grey-900, #000000);
|
|
74
|
+
}
|
|
75
|
+
:host([color="light"][fixed-color]:not([severity])) {
|
|
76
|
+
--_solid: #ffffff;
|
|
77
|
+
--_onSolid: #000000;
|
|
78
|
+
}
|
|
79
|
+
:host([color="dark"]:not([severity])) {
|
|
80
|
+
--_solid: var(--eun-color-grey-800, #071621);
|
|
81
|
+
--_onSolid: var(--eun-color-grey-0, #ffffff);
|
|
82
|
+
}
|
|
83
|
+
:host([color="dark"][fixed-color]:not([severity])) {
|
|
84
|
+
--_solid: #071621;
|
|
85
|
+
--_onSolid: #ffffff;
|
|
86
|
+
}
|
|
87
|
+
:host([color="light"]:not([severity])),
|
|
88
|
+
:host([color="dark"]:not([severity])) {
|
|
89
|
+
--_accent: var(--_solid);
|
|
90
|
+
--_tint: color-mix(in srgb, var(--_solid) 16%, transparent);
|
|
91
|
+
--_bg-default: var(--_solid);
|
|
92
|
+
--_fg-default: var(--_onSolid);
|
|
93
|
+
--_bg-flat: var(--_tint);
|
|
94
|
+
--_fg-flat: var(--_solid);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
:host([severity="info"]) {
|
|
98
|
+
--_solid: var(--eun-color-info-100, #097faf);
|
|
99
|
+
--_onSolid: #fff;
|
|
100
|
+
--_tint: var(--eun-color-info-30, #f0f7fa);
|
|
101
|
+
--_accent: var(--eun-color-info-100, #097faf);
|
|
102
|
+
}
|
|
103
|
+
:host([severity="success"]) {
|
|
104
|
+
--_solid: var(--eun-color-success-100, #1a9948);
|
|
105
|
+
--_onSolid: #fff;
|
|
106
|
+
--_tint: var(--eun-color-success-30, #f1f9f4);
|
|
107
|
+
--_accent: var(--eun-color-success-100, #1a9948);
|
|
108
|
+
}
|
|
109
|
+
:host([severity="warning"]) {
|
|
110
|
+
--_solid: var(--eun-color-warning-100, #c85207);
|
|
111
|
+
--_onSolid: #fff;
|
|
112
|
+
--_tint: var(--eun-color-warning-30, #fcf5f0);
|
|
113
|
+
--_accent: var(--eun-color-warning-100, #c85207);
|
|
114
|
+
}
|
|
115
|
+
:host([severity="critical"]) {
|
|
116
|
+
--_solid: var(--eun-color-critical-100, #aa0014);
|
|
117
|
+
--_onSolid: #fff;
|
|
118
|
+
--_tint: var(--eun-color-critical-30, #faf0f1);
|
|
119
|
+
--_accent: var(--eun-color-critical-100, #aa0014);
|
|
120
|
+
}
|
|
121
|
+
:host([severity="neutral"]) {
|
|
122
|
+
--_solid: var(--eun-color-grey-700, #484e61);
|
|
123
|
+
--_onSolid: var(--eun-color-grey-0, #ffffff);
|
|
124
|
+
--_tint: var(--eun-surface-sunken-strong, #ecedf0);
|
|
125
|
+
--_accent: var(--eun-color-grey-700, #484e61);
|
|
126
|
+
}
|
|
127
|
+
|
|
128
|
+
:host([appearance="default"]),
|
|
129
|
+
:host(:not([appearance])) {
|
|
130
|
+
--_bg: var(--_bg-default);
|
|
131
|
+
--_fg: var(--_fg-default);
|
|
132
|
+
--_bd: transparent;
|
|
133
|
+
}
|
|
134
|
+
:host([appearance="fill"]) {
|
|
135
|
+
--_bg: var(--_bg-fill);
|
|
136
|
+
--_fg: var(--_fg-fill);
|
|
137
|
+
--_bd: transparent;
|
|
138
|
+
}
|
|
139
|
+
:host([appearance="outline"]) {
|
|
140
|
+
--_bg: var(--_bg-outline);
|
|
141
|
+
--_fg: var(--_fg-outline);
|
|
142
|
+
--_bd: var(--_bd-outline);
|
|
143
|
+
}
|
|
144
|
+
:host([appearance="flat"]) {
|
|
145
|
+
--_bg: var(--_bg-flat);
|
|
146
|
+
--_fg: var(--_fg-flat);
|
|
147
|
+
--_bd: transparent;
|
|
148
|
+
}
|
|
149
|
+
`;
|
|
@@ -33,7 +33,7 @@ type TagSize = EunomiaCompactSize;
|
|
|
33
33
|
* @slot [icon] - Replaces the icon entirely with any content, not just an icon element. Falls back to the resolved icon or severity glyph when empty
|
|
34
34
|
* @prop { 'primary' | 'secondary' | 'light' | 'medium' | 'dark' } color - The color to apply to the tag
|
|
35
35
|
* @prop { 'info' | 'success' | 'warning' | 'critical' | 'neutral' } severity - The severity of the tag, matching the nature of the information conveyed. Takes priority over color when both are set
|
|
36
|
-
* @prop { 'default' | 'fill' | 'outline' | 'flat' } [appearance="default"] - The surface style of the tag. Flat
|
|
36
|
+
* @prop { 'default' | 'fill' | 'outline' | 'flat' } [appearance="default"] - The surface style of the tag. Flat renders the same muted, low emphasis surface regardless of color or severity, except for the light and dark colors, which keep their own white or black
|
|
37
37
|
* @prop { 's' | 'm' | 'l' } [size="m"] - The size of the tag
|
|
38
38
|
* @prop {import('../icon/icon.type.js').EunomiaIconName} icon - The name of the custom icon to display. By default, the icon is set according to the tag's severity
|
|
39
39
|
* @prop {boolean} [hideIcon=false] - Whether the icon is hidden from the tag. Takes priority over iconOnly
|
|
@@ -41,11 +41,14 @@ type TagSize = EunomiaCompactSize;
|
|
|
41
41
|
* @prop {boolean} [iconOnly=false] - Shows only the icon, visually hiding the slotted label while keeping it available to assistive technology as the tag's accessible name. Requires icon or severity to be set
|
|
42
42
|
* @attr {boolean} [icon-only=false] - Shows only the icon, visually hiding the slotted label while keeping it available to assistive technology as the tag's accessible name. Requires icon or severity to be set
|
|
43
43
|
* @prop {boolean} [rounded=false] - Whether the tag has rounded corners
|
|
44
|
+
* @prop {boolean} [fixedColor=false] - Keeps a light or dark tag white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors or on severity
|
|
45
|
+
* @attr {boolean} [fixed-color=false] - Keeps a light or dark tag white or black in every theme. Without it, they follow the grey scale, which flips with the active theme. Has no effect on the other colors or on severity
|
|
44
46
|
* @prop {boolean} [uppercase=false] - Whether the tag label is uppercased with extra letter spacing
|
|
45
|
-
* @cssprop [--tag-background-color] - Sets the background color of the tag
|
|
46
|
-
* @cssprop [--tag-border-color] - Sets the border color of the tag, for
|
|
47
|
-
* @cssprop [--tag-
|
|
48
|
-
* @cssprop [--tag-
|
|
47
|
+
* @cssprop [--tag-background-color] - Sets the background color of the tag, for every appearance, color and severity
|
|
48
|
+
* @cssprop [--tag-border-color] - Sets the border color of the tag, for every appearance, color and severity
|
|
49
|
+
* @cssprop [--tag-border-width] - Sets the border width of the tag, for every appearance. The border takes room out of the padding, so the tag keeps its size
|
|
50
|
+
* @cssprop [--tag-color] - Sets the text and icon color of the tag, for every appearance, color and severity
|
|
51
|
+
* @cssprop [--tag-border-radius] - Sets the corner radius of the tag, also over rounded
|
|
49
52
|
* @cssprop [--tag-gap] - Sets the gap between the tag icon and the label
|
|
50
53
|
* @element eun-tag
|
|
51
54
|
*/
|
|
@@ -57,7 +60,7 @@ export declare class EunomiaTag extends LitElement {
|
|
|
57
60
|
* @internal
|
|
58
61
|
* @readonly
|
|
59
62
|
*/
|
|
60
|
-
static readonly styles: import("lit").CSSResult;
|
|
63
|
+
static readonly styles: import("lit").CSSResult[];
|
|
61
64
|
/**
|
|
62
65
|
* The color of the tag.
|
|
63
66
|
*/
|
|
@@ -97,6 +100,13 @@ export declare class EunomiaTag extends LitElement {
|
|
|
97
100
|
* @default false
|
|
98
101
|
*/
|
|
99
102
|
rounded: boolean;
|
|
103
|
+
/**
|
|
104
|
+
* Keeps a `light` or `dark` tag white or black in every theme. Without
|
|
105
|
+
* it, they follow the grey scale, which flips with the active theme.
|
|
106
|
+
* Has no effect on the other colors or on `severity`.
|
|
107
|
+
* @default false
|
|
108
|
+
*/
|
|
109
|
+
fixedColor: boolean;
|
|
100
110
|
/**
|
|
101
111
|
* Indicates whether the tag label should be uppercased with extra letter spacing.
|
|
102
112
|
* @default false
|