@eunomia/elements 1.0.0-beta.3 → 1.0.0-beta.5
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-EAGGN3ZI.js → chunk-2XASWWKR.js} +9 -9
- package/dist/cdn/components/chunks/chunk-32DTNR52.js +1 -0
- package/dist/cdn/components/chunks/chunk-3MTUVMM5.js +1 -0
- package/dist/cdn/components/chunks/chunk-5GKM5DIB.js +1 -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-TBKKTJOX.js → chunk-6ETDXUH2.js} +3 -3
- 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-NEYBPT3D.js → chunk-AIS3UICU.js} +9 -9
- package/dist/cdn/components/chunks/{chunk-LJYTHDZP.js → chunk-D2M4BV5Y.js} +6 -6
- package/dist/cdn/components/chunks/chunk-DKOPI7QA.js +415 -0
- package/dist/cdn/components/chunks/{chunk-53QH6MPM.js → chunk-EAKYD33D.js} +3 -3
- package/dist/cdn/components/chunks/chunk-EST3M4AO.js +1 -0
- package/dist/cdn/components/chunks/{chunk-BYBUXKXC.js → chunk-IDKZKLJR.js} +7 -7
- package/dist/cdn/components/chunks/chunk-JRGM3W7I.js +53 -0
- package/dist/cdn/components/chunks/{chunk-RWONCXTF.js → chunk-KVYUNKUO.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-6UPI7GHJ.js → chunk-L65WUTXM.js} +12 -12
- package/dist/cdn/components/chunks/chunk-LFCXUVDO.js +1 -0
- package/dist/cdn/components/chunks/chunk-LGLQ36QB.js +16 -0
- package/dist/cdn/components/chunks/chunk-MPQP4R54.js +263 -0
- package/dist/cdn/components/chunks/{chunk-ON42P6FI.js → chunk-NBIENHLV.js} +6 -6
- package/dist/cdn/components/chunks/chunk-OAULRKHQ.js +38 -0
- package/dist/cdn/components/chunks/chunk-OW7XKDCH.js +124 -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-5C7YND22.js → chunk-S2UCEWNG.js} +8 -8
- package/dist/cdn/components/chunks/{chunk-5RCCZVFZ.js → chunk-SD2WHGPF.js} +7 -6
- package/dist/cdn/components/chunks/chunk-SJWRE6PW.js +1 -0
- package/dist/cdn/components/chunks/{chunk-6IILPCSQ.js → chunk-X2AUBZD2.js} +3 -3
- package/dist/cdn/components/eun-alert.js +65 -45
- package/dist/cdn/components/eun-animate.js +5 -3
- package/dist/cdn/components/eun-badge.js +8 -8
- 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 +20 -20
- package/dist/cdn/components/eun-card.js +61 -13
- package/dist/cdn/components/eun-carousel.js +35 -27
- 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 -207
- package/dist/cdn/components/eun-collapse.js +49 -29
- package/dist/cdn/components/eun-color-picker.js +13 -13
- package/dist/cdn/components/eun-counter.js +15 -15
- package/dist/cdn/components/eun-date-picker.js +62 -62
- package/dist/cdn/components/eun-drawer.js +12 -12
- 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 +18 -18
- package/dist/cdn/components/eun-infinite-list.js +1 -1
- package/dist/cdn/components/eun-input-file.js +12 -12
- package/dist/cdn/components/eun-input-phone.js +28 -28
- 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 +134 -18
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +21 -21
- 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 +1 -1
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-scheduler-event-editor.js +9 -9
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +26 -26
- package/dist/cdn/components/eun-search.js +21 -21
- package/dist/cdn/components/eun-select.js +10 -10
- package/dist/cdn/components/eun-sidebar.js +9 -9
- package/dist/cdn/components/eun-skeleton.js +1 -1
- package/dist/cdn/components/eun-slider.js +8 -8
- package/dist/cdn/components/eun-sliding-card.js +4 -3
- 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 -126
- package/dist/cdn/components/eun-textarea.js +23 -23
- package/dist/cdn/components/eun-time-picker.js +32 -32
- package/dist/cdn/components/eun-toast.js +40 -36
- package/dist/cdn/components/eun-toggle-group.js +213 -72
- package/dist/cdn/components/eun-toggle-item.js +49 -30
- package/dist/cdn/components/eun-toggle.js +12 -9
- package/dist/cdn/components/eun-toolbar.js +15 -8
- 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 +44 -15
- package/dist/components/action/button/button.js +100 -20
- package/dist/components/action/button/button.styles.js +179 -393
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +13 -6
- package/dist/components/action/dropdown-button/dropdown-button.js +16 -5
- 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 +7 -4
- package/dist/components/action/fab/fab.js +11 -6
- package/dist/components/action/fab/fab.styles.js +26 -49
- package/dist/components/action/link/link.d.ts +115 -6
- package/dist/components/action/link/link.js +245 -21
- package/dist/components/action/link/link.styles.js +105 -3
- 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 +55 -11
- package/dist/components/action/toggle/toggle-group.js +193 -52
- package/dist/components/action/toggle/toggle-group.styles.d.ts +7 -5
- package/dist/components/action/toggle/toggle-group.styles.js +166 -41
- 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 +45 -26
- package/dist/components/action/toggle/toggle.d.ts +1 -1
- package/dist/components/action/toggle/toggle.js +1 -1
- 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.js +1 -1
- package/dist/components/alert/drawer/drawer.styles.js +3 -3
- package/dist/components/alert/modal/modal.d.ts +8 -8
- package/dist/components/alert/modal/modal.js +11 -11
- 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.d.ts +6 -6
- package/dist/components/content/badge/badge.js +4 -4
- package/dist/components/content/badge/badge.styles.js +5 -5
- package/dist/components/content/card/card.d.ts +36 -8
- package/dist/components/content/card/card.js +68 -8
- package/dist/components/content/card/card.styles.js +52 -11
- package/dist/components/content/card/image-card.d.ts +3 -2
- package/dist/components/content/card/image-card.js +2 -1
- package/dist/components/content/card/image-card.styles.js +17 -10
- package/dist/components/content/card/sliding-card.d.ts +2 -1
- package/dist/components/content/card/sliding-card.js +1 -0
- package/dist/components/content/card/sliding-card.styles.js +3 -2
- 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 -207
- package/dist/components/content/collapse/collapse.d.ts +29 -11
- package/dist/components/content/collapse/collapse.js +53 -23
- package/dist/components/content/collapse/collapse.styles.js +23 -9
- package/dist/components/content/icon/icon.d.ts +12 -2
- package/dist/components/content/icon/icon.js +52 -22
- package/dist/components/content/icon/icon.style.d.ts +2 -0
- package/dist/components/content/icon/icon.style.js +5 -2
- 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/card-link.styles.js +1 -0
- 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 -125
- 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.d.ts +1 -1
- package/dist/components/form/checkbox/checkbox.styles.js +6 -6
- package/dist/components/form/color-picker/color-picker.d.ts +3 -3
- package/dist/components/form/color-picker/color-picker.js +4 -4
- package/dist/components/form/color-picker/color-picker.styles.js +7 -7
- package/dist/components/form/counter/counter.d.ts +3 -3
- package/dist/components/form/counter/counter.js +3 -3
- package/dist/components/form/counter/counter.styles.js +12 -12
- 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 +3 -3
- package/dist/components/form/date-picker/date-picker.js +3 -3
- package/dist/components/form/date-picker/date-picker.styles.js +17 -17
- package/dist/components/form/input/input.d.ts +3 -3
- package/dist/components/form/input/input.js +4 -4
- package/dist/components/form/input-file/input-file.d.ts +1 -1
- package/dist/components/form/input-file/input-file.styles.js +9 -9
- package/dist/components/form/input-phone/input-phone.d.ts +3 -3
- package/dist/components/form/input-phone/input-phone.js +3 -3
- package/dist/components/form/input-phone/input-phone.styles.js +19 -19
- 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.d.ts +1 -1
- package/dist/components/form/radio/radio.styles.js +2 -2
- package/dist/components/form/search/search.styles.js +9 -9
- package/dist/components/form/select/select.d.ts +3 -3
- package/dist/components/form/select/select.js +3 -3
- package/dist/components/form/select/select.styles.js +6 -6
- package/dist/components/form/shared-styles/card.styles.js +1 -1
- package/dist/components/form/shared-styles/field.styles.js +12 -12
- 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.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 +3 -3
- 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 +3 -3
- package/dist/components/form/time-picker/time-picker.js +3 -3
- package/dist/components/form/time-picker/time-picker.styles.js +13 -13
- package/dist/components/layout/animate/animate.d.ts +8 -0
- package/dist/components/layout/animate/animate.js +20 -8
- 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 +19 -7
- 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 +2 -0
- package/dist/components/navigation/toolbar/toolbar.js +2 -0
- package/dist/components/navigation/toolbar/toolbar.styles.js +16 -7
- package/dist/features/scheduler/calendar/calendar.d.ts +6 -6
- package/dist/features/scheduler/calendar/calendar.js +10 -10
- package/dist/features/scheduler/calendar/calendar.styles.js +3 -3
- package/dist/features/scheduler/scheduler/scheduler.d.ts +6 -6
- package/dist/features/scheduler/scheduler/scheduler.js +13 -13
- package/dist/features/scheduler/scheduler/scheduler.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +10 -8
- package/dist/features/scheduler/scheduler-event/scheduler-event.js +7 -7
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +8 -8
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +5 -5
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +2 -2
- package/dist/features/scheduler/shared/scheduler-event-popover.js +2 -2
- package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +4 -4
- 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 +1 -1
- 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 +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/table.types.d.ts +7 -3
- package/dist/features/table/table-action-bar/table-action-bar.js +3 -3
- 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-managed/table-managed.js +2 -2
- package/dist/features/table/table-skeleton-row/table-skeleton-row.styles.js +1 -1
- package/dist/i18n/en.d.ts +3 -0
- package/dist/i18n/en.js +3 -0
- package/dist/i18n/fr.js +3 -0
- package/dist/index.d.ts +7 -7
- package/dist/index.js +5 -2
- package/dist/jsx.d.ts +19 -6
- package/dist/mixins/button.mixin.d.ts +11 -9
- package/dist/mixins/button.mixin.js +23 -5
- package/dist/mixins/card-link.mixin.d.ts +3 -2
- package/dist/mixins/card-link.mixin.js +12 -5
- package/dist/mixins/check.mixin.d.ts +1 -1
- package/dist/mixins/disabled.mixin.d.ts +3 -3
- package/dist/mixins/disabled.mixin.js +10 -5
- package/dist/mixins/editable.mixin.d.ts +1 -1
- 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 +5 -1
- package/dist/mixins/form.mixin.js +32 -12
- package/dist/mixins/overflow-navigation.mixin.js +2 -1
- package/dist/mixins/radio.mixin.d.ts +1 -1
- package/dist/mixins/validators.mixin.d.ts +9 -3
- package/dist/ssr/animate-ssr.css +26 -72
- 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/toolbar-ssr.css +73 -39
- package/dist/types/variant.type.d.ts +26 -10
- 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/rich-text.utils.d.ts +33 -0
- package/dist/utils/rich-text.utils.js +140 -49
- 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 +26 -3
- package/dist/utils/theme-generator.utils.js +68 -21
- package/package.json +13 -2
- 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-3LMI7KUA.js +0 -48
- package/dist/cdn/components/chunks/chunk-5TH3P53V.js +0 -16
- 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-KNM5QHDK.js +0 -38
- package/dist/cdn/components/chunks/chunk-MBF52GEL.js +0 -1
- package/dist/cdn/components/chunks/chunk-T7WABJEJ.js +0 -1
- package/dist/cdn/components/chunks/chunk-XSMCT4DF.js +0 -1
- package/dist/cdn/components/chunks/chunk-Z6PJYSC3.js +0 -622
- package/dist/cdn/components/chunks/chunk-ZKPCO5RB.js +0 -262
- package/dist/mixins/field-variant.mixin.d.ts +0 -22
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { LitElement, TemplateResult } from "lit";
|
|
2
2
|
import { DropdownMenuContainer } from "../../../utils/dropdown-menu.utils.js";
|
|
3
3
|
import { EunomiaIconName } from "../../content/icon/icon.type.js";
|
|
4
|
-
import { ButtonSize,
|
|
4
|
+
import { ButtonSize, ButtonColor, EunomiaButtonAppearance } from "../../../mixins/button.mixin.js";
|
|
5
5
|
import { EunomiaSeverity } from "../../../types/variant.type.js";
|
|
6
6
|
/**
|
|
7
7
|
* Tag name of the dropdown-button component.
|
|
@@ -25,7 +25,7 @@ export interface EunomiaDropdownOption {
|
|
|
25
25
|
export type EunomiaDropdownPlacement = "top-start" | "top" | "top-end" | "right" | "bottom-end" | "bottom" | "bottom-start" | "left";
|
|
26
26
|
/**
|
|
27
27
|
* A button that opens a menu of actions on click. Its trigger is a regular
|
|
28
|
-
* button, so every button
|
|
28
|
+
* button, so every button color, size, and appearance works the same way.
|
|
29
29
|
*
|
|
30
30
|
* Choosing an option doesn't persist a value on the component itself, since
|
|
31
31
|
* this is a menu of actions rather than a form field. Each choice fires an
|
|
@@ -47,14 +47,16 @@ export type EunomiaDropdownPlacement = "top-start" | "top" | "top-end" | "right"
|
|
|
47
47
|
* @slot start - An icon or other content shown at the start of the trigger. Takes priority over the default icon from icon or severity
|
|
48
48
|
* @prop {string} label - The trigger button's label
|
|
49
49
|
* @prop {import('../../content/icon/icon.type.js').EunomiaIconName} icon - An optional leading icon for the trigger button. Ignored once something is slotted into start, and overridden by the default icon from severity when both are set
|
|
50
|
-
* @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the action this trigger leads to. When set, it supplies a default leading icon unless icon is also set or something is slotted into start. It has no effect on color, which is still controlled by
|
|
50
|
+
* @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the action this trigger leads to. When set, it supplies a default leading icon unless icon is also set or something is slotted into start. It has no effect on color, which is still controlled by color
|
|
51
51
|
* @prop {Array<EunomiaDropdownOption>} [options=[]] - The menu options
|
|
52
52
|
* @attr {string} [options] - The menu options, written as a JSON string for use directly in markup instead of the JavaScript property
|
|
53
53
|
* @prop {string[]} [disabledKeys=[]] - Keys of options to disable in addition to any option already marked disabled
|
|
54
54
|
* @attr {string} [disabled-keys] - The disabled option keys, written as a JSON string for use directly in markup instead of the JavaScript property
|
|
55
55
|
* @prop {boolean} [disabled=false] - Whether the trigger button is disabled
|
|
56
56
|
* @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The size of the trigger button
|
|
57
|
-
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'}
|
|
57
|
+
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} color - The color applied to the trigger button
|
|
58
|
+
* @prop {boolean} [fixedColor=false] - Keeps a light or dark trigger button 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
|
|
59
|
+
* @attr {boolean} [fixed-color=false] - Keeps a light or dark trigger button 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
|
|
58
60
|
* @prop {boolean} [rounded=false] - Whether the trigger button has fully rounded corners
|
|
59
61
|
* @prop {'default' | 'fill' | 'outline' | 'flat' | 'raised' | 'ghost'} [appearance='default'] - The trigger button's surface style, using the same values as the button component. Defaults to a paler tint rather than a solid fill, since a menu trigger reads better as a lighter weight control than a standalone primary action
|
|
60
62
|
* @prop {EunomiaDropdownPlacement} [placement='bottom-start'] - Where the menu opens relative to the trigger
|
|
@@ -98,7 +100,7 @@ export declare class EunomiaDropdownButton extends LitElement implements Dropdow
|
|
|
98
100
|
* trigger `eun-button`. By default, once `severity` is set and `icon`
|
|
99
101
|
* isn't (and nothing is slotted into `start`), the leading icon is set
|
|
100
102
|
* according to it — same vocabulary as `eun-alert`/`eun-tag`. Has no
|
|
101
|
-
* effect on color, which stays driven by `
|
|
103
|
+
* effect on color, which stays driven by `color` : the two genuinely
|
|
102
104
|
* differ here, since a full severity range (`info`/`neutral` included)
|
|
103
105
|
* doesn't have a matching action color.
|
|
104
106
|
*/
|
|
@@ -132,7 +134,12 @@ export declare class EunomiaDropdownButton extends LitElement implements Dropdow
|
|
|
132
134
|
/**
|
|
133
135
|
* Forwarded to the trigger `eun-button`.
|
|
134
136
|
*/
|
|
135
|
-
|
|
137
|
+
color?: ButtonColor;
|
|
138
|
+
/**
|
|
139
|
+
* Forwarded to the trigger `eun-button`.
|
|
140
|
+
* @default false
|
|
141
|
+
*/
|
|
142
|
+
fixedColor: boolean;
|
|
136
143
|
/**
|
|
137
144
|
* Forwarded to the trigger `eun-button`.
|
|
138
145
|
* @default false
|
|
@@ -18,7 +18,7 @@ import { resolveIcon } from "../../../utils/severity-icon.utils.js";
|
|
|
18
18
|
export const EunomiaDropdownButtonTagName = "eun-dropdown-button";
|
|
19
19
|
/**
|
|
20
20
|
* A button that opens a menu of actions on click. Its trigger is a regular
|
|
21
|
-
* button, so every button
|
|
21
|
+
* button, so every button color, size, and appearance works the same way.
|
|
22
22
|
*
|
|
23
23
|
* Choosing an option doesn't persist a value on the component itself, since
|
|
24
24
|
* this is a menu of actions rather than a form field. Each choice fires an
|
|
@@ -40,14 +40,16 @@ export const EunomiaDropdownButtonTagName = "eun-dropdown-button";
|
|
|
40
40
|
* @slot start - An icon or other content shown at the start of the trigger. Takes priority over the default icon from icon or severity
|
|
41
41
|
* @prop {string} label - The trigger button's label
|
|
42
42
|
* @prop {import('../../content/icon/icon.type.js').EunomiaIconName} icon - An optional leading icon for the trigger button. Ignored once something is slotted into start, and overridden by the default icon from severity when both are set
|
|
43
|
-
* @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the action this trigger leads to. When set, it supplies a default leading icon unless icon is also set or something is slotted into start. It has no effect on color, which is still controlled by
|
|
43
|
+
* @prop {'info' | 'success' | 'warning' | 'critical' | 'neutral'} severity - The severity of the action this trigger leads to. When set, it supplies a default leading icon unless icon is also set or something is slotted into start. It has no effect on color, which is still controlled by color
|
|
44
44
|
* @prop {Array<EunomiaDropdownOption>} [options=[]] - The menu options
|
|
45
45
|
* @attr {string} [options] - The menu options, written as a JSON string for use directly in markup instead of the JavaScript property
|
|
46
46
|
* @prop {string[]} [disabledKeys=[]] - Keys of options to disable in addition to any option already marked disabled
|
|
47
47
|
* @attr {string} [disabled-keys] - The disabled option keys, written as a JSON string for use directly in markup instead of the JavaScript property
|
|
48
48
|
* @prop {boolean} [disabled=false] - Whether the trigger button is disabled
|
|
49
49
|
* @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The size of the trigger button
|
|
50
|
-
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'}
|
|
50
|
+
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} color - The color applied to the trigger button
|
|
51
|
+
* @prop {boolean} [fixedColor=false] - Keeps a light or dark trigger button 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
|
|
52
|
+
* @attr {boolean} [fixed-color=false] - Keeps a light or dark trigger button 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
|
|
51
53
|
* @prop {boolean} [rounded=false] - Whether the trigger button has fully rounded corners
|
|
52
54
|
* @prop {'default' | 'fill' | 'outline' | 'flat' | 'raised' | 'ghost'} [appearance='default'] - The trigger button's surface style, using the same values as the button component. Defaults to a paler tint rather than a solid fill, since a menu trigger reads better as a lighter weight control than a standalone primary action
|
|
53
55
|
* @prop {EunomiaDropdownPlacement} [placement='bottom-start'] - Where the menu opens relative to the trigger
|
|
@@ -96,6 +98,11 @@ let EunomiaDropdownButton = class EunomiaDropdownButton extends LitElement {
|
|
|
96
98
|
* @default m
|
|
97
99
|
*/
|
|
98
100
|
this.size = "m";
|
|
101
|
+
/**
|
|
102
|
+
* Forwarded to the trigger `eun-button`.
|
|
103
|
+
* @default false
|
|
104
|
+
*/
|
|
105
|
+
this.fixedColor = false;
|
|
99
106
|
/**
|
|
100
107
|
* Forwarded to the trigger `eun-button`.
|
|
101
108
|
* @default false
|
|
@@ -1064,7 +1071,8 @@ let EunomiaDropdownButton = class EunomiaDropdownButton extends LitElement {
|
|
|
1064
1071
|
id="trigger"
|
|
1065
1072
|
type="button"
|
|
1066
1073
|
size=${this.size}
|
|
1067
|
-
|
|
1074
|
+
color=${ifDefined(this.color)}
|
|
1075
|
+
?fixed-color=${this.fixedColor}
|
|
1068
1076
|
appearance=${this.appearance}
|
|
1069
1077
|
?rounded=${this.rounded}
|
|
1070
1078
|
?disabled=${this.disabled}
|
|
@@ -1120,7 +1128,10 @@ __decorate([
|
|
|
1120
1128
|
], EunomiaDropdownButton.prototype, "size", void 0);
|
|
1121
1129
|
__decorate([
|
|
1122
1130
|
property({ reflect: true })
|
|
1123
|
-
], EunomiaDropdownButton.prototype, "
|
|
1131
|
+
], EunomiaDropdownButton.prototype, "color", void 0);
|
|
1132
|
+
__decorate([
|
|
1133
|
+
property({ type: Boolean, reflect: true, attribute: "fixed-color" })
|
|
1134
|
+
], EunomiaDropdownButton.prototype, "fixedColor", void 0);
|
|
1124
1135
|
__decorate([
|
|
1125
1136
|
property({ type: Boolean, reflect: true })
|
|
1126
1137
|
], EunomiaDropdownButton.prototype, "rounded", void 0);
|
|
@@ -34,17 +34,17 @@ const base = css `
|
|
|
34
34
|
max-height: 260px;
|
|
35
35
|
overflow-y: auto;
|
|
36
36
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
37
|
-
font-size: var(--eun-
|
|
37
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
38
38
|
color: var(--dropdown-menu-color, var(--eun-text-color, #071621));
|
|
39
39
|
background: var(
|
|
40
40
|
--dropdown-menu-background,
|
|
41
41
|
var(--eun-surface-color, #ffffff)
|
|
42
42
|
);
|
|
43
|
-
border: var(--eun-
|
|
43
|
+
border: var(--eun-border-width-s, 1px) solid
|
|
44
44
|
var(--dropdown-menu-border-color, var(--eun-border-color, #dee0e7));
|
|
45
45
|
border-radius: var(
|
|
46
46
|
--dropdown-menu-border-radius,
|
|
47
|
-
var(--eun-
|
|
47
|
+
var(--eun-border-radius-m, 8px)
|
|
48
48
|
);
|
|
49
49
|
box-shadow: var(
|
|
50
50
|
--dropdown-menu-shadow,
|
|
@@ -118,7 +118,7 @@ const base = css `
|
|
|
118
118
|
}
|
|
119
119
|
#menu li.active,
|
|
120
120
|
.submenu li.active {
|
|
121
|
-
font-weight: var(--eun-
|
|
121
|
+
font-weight: var(--eun-font-weight-l, 700);
|
|
122
122
|
color: var(
|
|
123
123
|
--dropdown-menu-accent-color,
|
|
124
124
|
var(--eun-color-primary-500, #3d6fff)
|
|
@@ -152,7 +152,7 @@ const base = css `
|
|
|
152
152
|
}
|
|
153
153
|
#menu li .description,
|
|
154
154
|
.submenu li .description {
|
|
155
|
-
font-size: var(--eun-
|
|
155
|
+
font-size: var(--eun-font-size-xs, 12px);
|
|
156
156
|
color: var(
|
|
157
157
|
--dropdown-menu-description-color,
|
|
158
158
|
var(--eun-text-secondary, #484e61)
|
|
@@ -171,17 +171,17 @@ const base = css `
|
|
|
171
171
|
max-height: 260px;
|
|
172
172
|
overflow-y: auto;
|
|
173
173
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
174
|
-
font-size: var(--eun-
|
|
174
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
175
175
|
color: var(--dropdown-menu-color, var(--eun-text-color, #071621));
|
|
176
176
|
background: var(
|
|
177
177
|
--dropdown-menu-background,
|
|
178
178
|
var(--eun-surface-color, #ffffff)
|
|
179
179
|
);
|
|
180
|
-
border: var(--eun-
|
|
180
|
+
border: var(--eun-border-width-s, 1px) solid
|
|
181
181
|
var(--dropdown-menu-border-color, var(--eun-border-color, #dee0e7));
|
|
182
182
|
border-radius: var(
|
|
183
183
|
--dropdown-menu-border-radius,
|
|
184
|
-
var(--eun-
|
|
184
|
+
var(--eun-border-radius-m, 8px)
|
|
185
185
|
);
|
|
186
186
|
box-shadow: var(
|
|
187
187
|
--dropdown-menu-shadow,
|
|
@@ -20,7 +20,7 @@ const base = css `
|
|
|
20
20
|
display: block;
|
|
21
21
|
white-space: nowrap;
|
|
22
22
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
23
|
-
font-size: var(--eun-
|
|
23
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
24
24
|
outline: none;
|
|
25
25
|
}
|
|
26
26
|
.content {
|
|
@@ -62,7 +62,7 @@ const base = css `
|
|
|
62
62
|
);
|
|
63
63
|
}
|
|
64
64
|
:host([active]) .content {
|
|
65
|
-
font-weight: var(--eun-
|
|
65
|
+
font-weight: var(--eun-font-weight-l, 700);
|
|
66
66
|
color: var(
|
|
67
67
|
--dropdown-menu-accent-color,
|
|
68
68
|
var(--eun-color-primary-500, #3d6fff)
|
|
@@ -90,7 +90,7 @@ const base = css `
|
|
|
90
90
|
text-overflow: ellipsis;
|
|
91
91
|
}
|
|
92
92
|
.description {
|
|
93
|
-
font-size: var(--eun-
|
|
93
|
+
font-size: var(--eun-font-size-xs, 12px);
|
|
94
94
|
color: var(
|
|
95
95
|
--dropdown-menu-description-color,
|
|
96
96
|
var(--eun-text-secondary, #484e61)
|
|
@@ -109,17 +109,17 @@ const base = css `
|
|
|
109
109
|
max-height: 260px;
|
|
110
110
|
overflow-y: auto;
|
|
111
111
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
112
|
-
font-size: var(--eun-
|
|
112
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
113
113
|
color: var(--dropdown-menu-color, var(--eun-text-color, #071621));
|
|
114
114
|
background: var(
|
|
115
115
|
--dropdown-menu-background,
|
|
116
116
|
var(--eun-surface-color, #ffffff)
|
|
117
117
|
);
|
|
118
|
-
border: var(--eun-
|
|
118
|
+
border: var(--eun-border-width-s, 1px) solid
|
|
119
119
|
var(--dropdown-menu-border-color, var(--eun-border-color, #dee0e7));
|
|
120
120
|
border-radius: var(
|
|
121
121
|
--dropdown-menu-border-radius,
|
|
122
|
-
var(--eun-
|
|
122
|
+
var(--eun-border-radius-m, 8px)
|
|
123
123
|
);
|
|
124
124
|
box-shadow: var(
|
|
125
125
|
--dropdown-menu-shadow,
|
|
@@ -8,10 +8,10 @@ export declare const EunomiaFabTagName = "eun-fab";
|
|
|
8
8
|
* The corner a positioned FAB is fixed to.
|
|
9
9
|
*/
|
|
10
10
|
export type EunomiaFabPosition = "bottom-right" | "bottom-left" | "top-right" | "top-left";
|
|
11
|
-
declare const EunomiaFab_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/button.mixin.js").ButtonMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/command.mixin.js").CommandMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/disabled.mixin.js").DisabledMixinInterface> & typeof LitElement;
|
|
11
|
+
declare const EunomiaFab_base: import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/button.mixin.js").ButtonMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/command.mixin.js").CommandMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/disabled.mixin.js").DisabledMixinInterface> & import("../../../utils/constructor.type.js").Constructor<import("../../../mixins/localizable.mixin.js").LocalizableMixinInterface> & typeof LitElement;
|
|
12
12
|
/**
|
|
13
13
|
* A circular icon button for a screen's single primary action. It shares
|
|
14
|
-
* its
|
|
14
|
+
* its color, size, href, loading, and keyboard behavior with the regular
|
|
15
15
|
* button.
|
|
16
16
|
*
|
|
17
17
|
* When label is set, the button becomes extendable. It stays a plain circle
|
|
@@ -25,11 +25,14 @@ declare const EunomiaFab_base: import("../../../utils/constructor.type.js").Cons
|
|
|
25
25
|
* @prop {EunomiaIconName} icon - The icon displayed at all times
|
|
26
26
|
* @prop {string} label - An optional text label, revealed on hover or focus by the slide animation. Omit it for an icon only button
|
|
27
27
|
* @prop {'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'} position - Fixes the button to a corner of the viewport. Left unset, the button follows the normal document flow
|
|
28
|
-
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} [
|
|
28
|
+
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} [color='primary'] - The color applied to the button
|
|
29
|
+
* @prop {boolean} [fixedColor=false] - Keeps a light or dark button 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
|
|
30
|
+
* @attr {boolean} [fixed-color=false] - Keeps a light or dark button 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
|
|
29
31
|
* @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The size of the button
|
|
30
32
|
* @prop {boolean} [disabled=false] - Whether the button is disabled. For a link button, this removes the href instead, since links have no native disabled state
|
|
31
33
|
* @prop {string} href - The URL the button navigates to. When set, the button renders as a link instead of a button
|
|
32
34
|
* @prop {'_blank' | '_self' | '_parent' | '_top'} target - Where to open the linked URL. Only used when href is set. Opening in a new tab automatically announces it to assistive technology, and adds an external link icon when label is also set
|
|
35
|
+
* @prop {string} [locale] - The locale used to resolve the "opens in a new tab" announcement. Defaults to the one set with setDefaultLocale, English otherwise
|
|
33
36
|
* @prop {string} download - The filename used when the linked URL is downloaded instead of navigated to. Only used when href is set
|
|
34
37
|
* @prop {boolean} [loading=false] - Whether the button shows a loading indicator. Like disabled, it blocks interaction, but keeps the icon and label in place so the button doesn't change size
|
|
35
38
|
* @prop {string} [loadingLabel='Loading…'] - The accessible label announced while the button is loading
|
|
@@ -38,7 +41,7 @@ declare const EunomiaFab_base: import("../../../utils/constructor.type.js").Cons
|
|
|
38
41
|
* @attr {string} aria-label - The accessible label for the button. Required when label isn't set, since an icon alone has no accessible name, and recommended even when it is if the label text alone doesn't describe the action
|
|
39
42
|
* @fires click - Fired when the button is activated by mouse, Enter, or Space
|
|
40
43
|
* @fires {NavigationEvent} eunnavigate - Fired before following href, so a client-side router can intercept the navigation. Not fired for downloads, and cancelable
|
|
41
|
-
* @cssprop [--fab-background] - Sets the background color
|
|
44
|
+
* @cssprop [--fab-background] - Sets the background color, for every color
|
|
42
45
|
* @cssprop [--fab-background-hover] - Sets the background color on hover
|
|
43
46
|
* @cssprop [--fab-text] - Sets the color of the text and icon
|
|
44
47
|
* @cssprop [--fab-focus-outline] - Sets the color of the focus outline
|
|
@@ -10,6 +10,7 @@ import { ifDefined } from "lit/directives/if-defined.js";
|
|
|
10
10
|
import { ButtonMixin } from "../../../mixins/button.mixin.js";
|
|
11
11
|
import { CommandMixin } from "../../../mixins/command.mixin.js";
|
|
12
12
|
import { DisabledMixin } from "../../../mixins/disabled.mixin.js";
|
|
13
|
+
import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
|
|
13
14
|
import { handleLinkNavigation } from "../../../utils/navigation.utils.js";
|
|
14
15
|
import { fabStyles } from "./fab.styles.js";
|
|
15
16
|
/**
|
|
@@ -18,7 +19,7 @@ import { fabStyles } from "./fab.styles.js";
|
|
|
18
19
|
export const EunomiaFabTagName = "eun-fab";
|
|
19
20
|
/**
|
|
20
21
|
* A circular icon button for a screen's single primary action. It shares
|
|
21
|
-
* its
|
|
22
|
+
* its color, size, href, loading, and keyboard behavior with the regular
|
|
22
23
|
* button.
|
|
23
24
|
*
|
|
24
25
|
* When label is set, the button becomes extendable. It stays a plain circle
|
|
@@ -32,11 +33,14 @@ export const EunomiaFabTagName = "eun-fab";
|
|
|
32
33
|
* @prop {EunomiaIconName} icon - The icon displayed at all times
|
|
33
34
|
* @prop {string} label - An optional text label, revealed on hover or focus by the slide animation. Omit it for an icon only button
|
|
34
35
|
* @prop {'bottom-right' | 'bottom-left' | 'top-right' | 'top-left'} position - Fixes the button to a corner of the viewport. Left unset, the button follows the normal document flow
|
|
35
|
-
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} [
|
|
36
|
+
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} [color='primary'] - The color applied to the button
|
|
37
|
+
* @prop {boolean} [fixedColor=false] - Keeps a light or dark button 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
|
|
38
|
+
* @attr {boolean} [fixed-color=false] - Keeps a light or dark button 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
|
|
36
39
|
* @prop {'xs' | 's' | 'm' | 'l' | 'xl'} [size='m'] - The size of the button
|
|
37
40
|
* @prop {boolean} [disabled=false] - Whether the button is disabled. For a link button, this removes the href instead, since links have no native disabled state
|
|
38
41
|
* @prop {string} href - The URL the button navigates to. When set, the button renders as a link instead of a button
|
|
39
42
|
* @prop {'_blank' | '_self' | '_parent' | '_top'} target - Where to open the linked URL. Only used when href is set. Opening in a new tab automatically announces it to assistive technology, and adds an external link icon when label is also set
|
|
43
|
+
* @prop {string} [locale] - The locale used to resolve the "opens in a new tab" announcement. Defaults to the one set with setDefaultLocale, English otherwise
|
|
40
44
|
* @prop {string} download - The filename used when the linked URL is downloaded instead of navigated to. Only used when href is set
|
|
41
45
|
* @prop {boolean} [loading=false] - Whether the button shows a loading indicator. Like disabled, it blocks interaction, but keeps the icon and label in place so the button doesn't change size
|
|
42
46
|
* @prop {string} [loadingLabel='Loading…'] - The accessible label announced while the button is loading
|
|
@@ -45,7 +49,7 @@ export const EunomiaFabTagName = "eun-fab";
|
|
|
45
49
|
* @attr {string} aria-label - The accessible label for the button. Required when label isn't set, since an icon alone has no accessible name, and recommended even when it is if the label text alone doesn't describe the action
|
|
46
50
|
* @fires click - Fired when the button is activated by mouse, Enter, or Space
|
|
47
51
|
* @fires {NavigationEvent} eunnavigate - Fired before following href, so a client-side router can intercept the navigation. Not fired for downloads, and cancelable
|
|
48
|
-
* @cssprop [--fab-background] - Sets the background color
|
|
52
|
+
* @cssprop [--fab-background] - Sets the background color, for every color
|
|
49
53
|
* @cssprop [--fab-background-hover] - Sets the background color on hover
|
|
50
54
|
* @cssprop [--fab-text] - Sets the color of the text and icon
|
|
51
55
|
* @cssprop [--fab-focus-outline] - Sets the color of the focus outline
|
|
@@ -54,7 +58,7 @@ export const EunomiaFabTagName = "eun-fab";
|
|
|
54
58
|
* @cssprop [--fab-offset] - Sets the distance from the viewport edge for a positioned button
|
|
55
59
|
* @element eun-fab
|
|
56
60
|
*/
|
|
57
|
-
let EunomiaFab = class EunomiaFab extends ButtonMixin(CommandMixin(DisabledMixin(LitElement))) {
|
|
61
|
+
let EunomiaFab = class EunomiaFab extends ButtonMixin(CommandMixin(DisabledMixin(LocalizableMixin(LitElement)))) {
|
|
58
62
|
constructor() {
|
|
59
63
|
super(...arguments);
|
|
60
64
|
/**
|
|
@@ -130,7 +134,8 @@ let EunomiaFab = class EunomiaFab extends ButtonMixin(CommandMixin(DisabledMixin
|
|
|
130
134
|
if (!this.isBlank || this.ariaLabel) {
|
|
131
135
|
return nothing;
|
|
132
136
|
}
|
|
133
|
-
|
|
137
|
+
const hint = this.dictionary.link.opensInNewTab;
|
|
138
|
+
return html `<span class="sr-only"> (${hint})</span>`;
|
|
134
139
|
}
|
|
135
140
|
/**
|
|
136
141
|
* Renders `label`, with an appended external-link icon (mirroring
|
|
@@ -196,7 +201,7 @@ let EunomiaFab = class EunomiaFab extends ButtonMixin(CommandMixin(DisabledMixin
|
|
|
196
201
|
rel=${ifDefined(this.isBlank ? "noopener noreferrer" : undefined)}
|
|
197
202
|
download=${ifDefined(this.download)}
|
|
198
203
|
aria-label=${ifDefined(this.isBlank && this.ariaLabel
|
|
199
|
-
? `${this.ariaLabel} (
|
|
204
|
+
? `${this.ariaLabel} (${this.dictionary.link.opensInNewTab})`
|
|
200
205
|
: (this.ariaLabel ?? undefined))}
|
|
201
206
|
aria-disabled=${ifDefined(this.disabled ? "true" : undefined)}
|
|
202
207
|
aria-busy=${ifDefined(this.loading ? "true" : undefined)}
|
|
@@ -1,18 +1,17 @@
|
|
|
1
1
|
import { css } from "lit";
|
|
2
|
+
import { buttonPaletteStyles } from "../shared-styles/button-palette.styles.js";
|
|
2
3
|
/**
|
|
3
4
|
* Base style for the floating action button.
|
|
4
5
|
*
|
|
5
|
-
* The color
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* individual pieces, so this re-derives the same pattern rather than
|
|
10
|
-
* importing it.
|
|
6
|
+
* The color palette is shared with `eun-button` (see
|
|
7
|
+
* {@link buttonPaletteStyles}) and read *behind* the `--fab-*` custom
|
|
8
|
+
* properties, so those win over every color. A fab only has a solid look,
|
|
9
|
+
* so it only reads the solid slots.
|
|
11
10
|
*
|
|
12
11
|
* Custom css variables:
|
|
13
|
-
* [--fab-background] - Set a custom background color
|
|
14
|
-
* [--fab-background-hover] - Set a custom background color for hover state
|
|
15
|
-
* [--fab-text] - Set a custom text/icon color
|
|
12
|
+
* [--fab-background] - Set a custom background color, for every color
|
|
13
|
+
* [--fab-background-hover] - Set a custom background color for hover state. Derived from --fab-background when only that one is set
|
|
14
|
+
* [--fab-text] - Set a custom text/icon color, for every color
|
|
16
15
|
* [--fab-focus-outline] - Set a custom color to the focus outline
|
|
17
16
|
* [--fab-transition] - Set a custom transition time, shared by the slide-open animation and the hover/focus color changes (mirrors `eun-button`'s own `--button-transition`)
|
|
18
17
|
* [--fab-z-index] - Set a custom z-index for a positioned FAB
|
|
@@ -20,16 +19,8 @@ import { css } from "lit";
|
|
|
20
19
|
*/
|
|
21
20
|
const base = css `
|
|
22
21
|
:host {
|
|
23
|
-
--
|
|
24
|
-
--
|
|
25
|
-
--fab-background-hover,
|
|
26
|
-
var(--eun-color-primary-700, #3662e0)
|
|
27
|
-
);
|
|
28
|
-
--_mainColor-text: var(
|
|
29
|
-
--fab-text,
|
|
30
|
-
var(--eun-color-on-primary-500, #ffffff)
|
|
31
|
-
);
|
|
32
|
-
--_focusIndicator: var(--fab-focus-outline, var(--_mainColor));
|
|
22
|
+
--_focusIndicator: var(--fab-focus-outline, var(--_solid));
|
|
23
|
+
--_hoverFromCustom: color-mix(in srgb, var(--fab-background) 88%, black);
|
|
33
24
|
--_transition: var(--fab-transition, 0.3s);
|
|
34
25
|
--_gap: var(--eun-space-xs, 4px);
|
|
35
26
|
--_circleSize: 56px;
|
|
@@ -39,7 +30,7 @@ const base = css `
|
|
|
39
30
|
user-select: none;
|
|
40
31
|
outline: 2px solid transparent;
|
|
41
32
|
z-index: 0;
|
|
42
|
-
border-radius: var(--eun-
|
|
33
|
+
border-radius: var(--eun-border-radius-xl);
|
|
43
34
|
transition:
|
|
44
35
|
background 0.3s ease-out,
|
|
45
36
|
box-shadow 0.3s ease-out,
|
|
@@ -69,32 +60,15 @@ const base = css `
|
|
|
69
60
|
--_circleSize: 88px;
|
|
70
61
|
--icon-size: 34px;
|
|
71
62
|
}
|
|
72
|
-
:host([variant="secondary"]) {
|
|
73
|
-
--_mainColor: var(--eun-color-secondary-500, #e5a030);
|
|
74
|
-
--_mainColor-hover: var(--eun-color-secondary-700, #ca8d2a);
|
|
75
|
-
--_mainColor-text: var(--eun-color-on-secondary-500, #000000de);
|
|
76
|
-
}
|
|
77
|
-
:host([variant="critical"]) {
|
|
78
|
-
--_mainColor: var(--eun-color-critical-100, #aa0014);
|
|
79
|
-
--_mainColor-hover: var(--eun-color-critical-100, #aa0014);
|
|
80
|
-
--_mainColor-text: #fff;
|
|
81
|
-
}
|
|
82
|
-
:host([variant="success"]) {
|
|
83
|
-
--_mainColor: var(--eun-color-success-100, #1a9948);
|
|
84
|
-
--_mainColor-hover: var(--eun-color-success-100, #1a9948);
|
|
85
|
-
--_mainColor-text: #fff;
|
|
86
|
-
}
|
|
87
|
-
:host([variant="warning"]) {
|
|
88
|
-
--_mainColor: var(--eun-color-warning-100, #c85207);
|
|
89
|
-
--_mainColor-hover: var(--eun-color-warning-100, #c85207);
|
|
90
|
-
--_mainColor-text: #fff;
|
|
91
|
-
}
|
|
92
63
|
:host([disabled]) {
|
|
93
|
-
--
|
|
94
|
-
--
|
|
95
|
-
--
|
|
64
|
+
--_solid: var(--eun-disabled-color, #ecedf0);
|
|
65
|
+
--_solid-hover: var(--eun-disabled-color, #ecedf0);
|
|
66
|
+
--_onSolid: var(--eun-text-disabled-color, #8d93aa);
|
|
96
67
|
}
|
|
68
|
+
/* A disabled fab never loses its look to a custom property. */
|
|
97
69
|
:host([disabled]) #fab {
|
|
70
|
+
background: var(--_solid);
|
|
71
|
+
color: var(--_onSolid);
|
|
98
72
|
cursor: not-allowed;
|
|
99
73
|
pointer-events: none;
|
|
100
74
|
box-shadow: none;
|
|
@@ -112,11 +86,11 @@ const base = css `
|
|
|
112
86
|
box-sizing: border-box;
|
|
113
87
|
overflow: hidden;
|
|
114
88
|
border: none;
|
|
115
|
-
border-radius: var(--eun-
|
|
116
|
-
background: var(--
|
|
117
|
-
color: var(--
|
|
89
|
+
border-radius: var(--eun-border-radius-xl, 999px);
|
|
90
|
+
background: var(--fab-background, var(--_solid));
|
|
91
|
+
color: var(--fab-text, var(--_onSolid));
|
|
118
92
|
font-family: var(--eun-font-family, "Mulish", sans-serif);
|
|
119
|
-
font-size: var(--eun-
|
|
93
|
+
font-size: var(--eun-font-size-s, 14px);
|
|
120
94
|
text-decoration: none;
|
|
121
95
|
cursor: pointer;
|
|
122
96
|
outline: 2px solid transparent;
|
|
@@ -139,7 +113,10 @@ const base = css `
|
|
|
139
113
|
transform: rotate(-45deg);
|
|
140
114
|
}
|
|
141
115
|
:host(:not([disabled]):not([loading])) #fab:hover {
|
|
142
|
-
background: var(
|
|
116
|
+
background: var(
|
|
117
|
+
--fab-background-hover,
|
|
118
|
+
var(--_hoverFromCustom, var(--_solid-hover))
|
|
119
|
+
);
|
|
143
120
|
box-shadow: var(
|
|
144
121
|
--eun-shadow-l,
|
|
145
122
|
0 10px 15px -3px rgba(0, 0, 0, 0.15),
|
|
@@ -242,4 +219,4 @@ const position = css `
|
|
|
242
219
|
left: var(--fab-offset, var(--eun-space-l, 32px));
|
|
243
220
|
}
|
|
244
221
|
`;
|
|
245
|
-
export const fabStyles = [base, slide, position];
|
|
222
|
+
export const fabStyles = [buttonPaletteStyles, base, slide, position];
|