@eunomia/elements 1.0.0-beta.9 → 1.0.0
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 +28 -6
- package/dist/angular/forms.d.ts +80 -0
- package/dist/angular/forms.js +267 -0
- package/dist/cdn/components/chunks/chunk-2XPIGFBD.js +1 -0
- package/dist/cdn/components/chunks/chunk-5IUNSTM3.js +1 -0
- package/dist/cdn/components/chunks/chunk-7HXPLZ7C.js +1 -0
- package/dist/cdn/components/chunks/{chunk-J3SZBXM6.js → chunk-A2NO4RSF.js} +7 -7
- package/dist/cdn/components/chunks/{chunk-Q34EQ5HZ.js → chunk-A623JJXJ.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-Y3HOIL64.js → chunk-AW7PU43S.js} +2 -2
- package/dist/cdn/components/chunks/{chunk-FF3I7C3C.js → chunk-DWTNRFWW.js} +1 -3
- package/dist/cdn/components/chunks/chunk-FPNWPMHA.js +1 -0
- package/dist/cdn/components/chunks/chunk-GMWUHGNI.js +319 -0
- package/dist/cdn/components/chunks/{chunk-FQUWHNQT.js → chunk-GXOEPXDW.js} +1 -1
- package/dist/cdn/components/chunks/chunk-HXESKTK2.js +1 -0
- package/dist/cdn/components/chunks/chunk-JDUWKPHW.js +46 -0
- package/dist/cdn/components/chunks/{chunk-D3JJBHXN.js → chunk-JLKCBPD2.js} +2 -2
- package/dist/cdn/components/chunks/chunk-M6ZJHL4Q.js +1 -0
- package/dist/cdn/components/chunks/{chunk-TN3HGHQO.js → chunk-MDSUMP3O.js} +4 -4
- package/dist/cdn/components/chunks/chunk-MSQWOKBB.js +1 -0
- package/dist/cdn/components/chunks/{chunk-3UUZM7X2.js → chunk-NPXRQHUN.js} +3 -3
- package/dist/cdn/components/chunks/chunk-OB7DEGNX.js +1 -0
- package/dist/cdn/components/chunks/{chunk-JANNHW4Q.js → chunk-PADHCLBG.js} +4 -4
- package/dist/cdn/components/chunks/chunk-QMXE3KLT.js +1 -0
- package/dist/cdn/components/chunks/chunk-QNWKRPOW.js +1 -0
- package/dist/cdn/components/chunks/{chunk-KQUUMZ7U.js → chunk-RZF7QQDX.js} +7 -7
- package/dist/cdn/components/chunks/chunk-SCAP7J35.js +1 -0
- package/dist/cdn/components/chunks/chunk-TISMX7UL.js +1 -0
- package/dist/cdn/components/chunks/chunk-TWLI2ZOT.js +1 -0
- package/dist/cdn/components/chunks/chunk-W4VCWRY7.js +210 -0
- package/dist/cdn/components/chunks/{chunk-SZZRMJ65.js → chunk-WEG3KO6T.js} +3 -3
- package/dist/cdn/components/chunks/chunk-WP6ZYBAC.js +1 -0
- package/dist/cdn/components/chunks/{chunk-HGX6GPHM.js → chunk-XCBQ4CKH.js} +1 -1
- package/dist/cdn/components/chunks/{chunk-3UW2LJ7T.js → chunk-XZ3LFOQP.js} +2 -2
- package/dist/cdn/components/eun-alert.js +1 -1
- package/dist/cdn/components/eun-animate.js +92 -180
- package/dist/cdn/components/eun-breadcrumb.js +4 -4
- package/dist/cdn/components/eun-button.js +1 -1
- package/dist/cdn/components/eun-calendar.js +188 -115
- package/dist/cdn/components/eun-card.js +1 -1
- 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 +2 -2
- package/dist/cdn/components/eun-checkbox.js +1 -1
- package/dist/cdn/components/eun-chip.js +11 -15
- package/dist/cdn/components/eun-collapse.js +21 -10
- package/dist/cdn/components/eun-color-picker.js +32 -32
- package/dist/cdn/components/eun-counter.js +8 -8
- package/dist/cdn/components/eun-date-picker.js +83 -79
- package/dist/cdn/components/eun-description-list.js +1 -1
- package/dist/cdn/components/eun-divider.js +9 -8
- package/dist/cdn/components/eun-drawer.js +8 -6
- package/dist/cdn/components/eun-dropdown-button.js +1 -1
- package/dist/cdn/components/eun-dropdown-item.js +4 -4
- package/dist/cdn/components/eun-fab.js +1 -1
- package/dist/cdn/components/eun-image-card.js +2 -2
- package/dist/cdn/components/eun-image-carousel.js +55 -29
- package/dist/cdn/components/eun-infinite-list.js +2 -2
- package/dist/cdn/components/eun-input-file.js +3 -3
- package/dist/cdn/components/eun-input-phone.js +6 -6
- package/dist/cdn/components/eun-input.js +1 -1
- package/dist/cdn/components/eun-label.js +1 -1
- package/dist/cdn/components/eun-link.js +18 -329
- package/dist/cdn/components/eun-loader.js +1 -1
- package/dist/cdn/components/eun-modal.js +9 -7
- package/dist/cdn/components/eun-nav-menu.js +363 -0
- package/dist/cdn/components/eun-pagination.js +4 -4
- package/dist/cdn/components/eun-password-strength.js +2 -2
- package/dist/cdn/components/eun-progress-bar.js +1 -1
- package/dist/cdn/components/eun-radio-card.js +4 -4
- package/dist/cdn/components/eun-radio-list.js +1 -1
- package/dist/cdn/components/eun-radio.js +1 -1
- package/dist/cdn/components/eun-rating.js +9 -9
- package/dist/cdn/components/eun-scheduler-event-editor.js +113 -77
- package/dist/cdn/components/eun-scheduler-event.js +1 -1
- package/dist/cdn/components/eun-scheduler.js +137 -79
- package/dist/cdn/components/eun-search.js +6 -6
- package/dist/cdn/components/eun-select.js +1 -1
- package/dist/cdn/components/eun-sidebar.js +23 -14
- package/dist/cdn/components/eun-slider.js +2 -2
- package/dist/cdn/components/eun-sliding-card.js +1 -1
- package/dist/cdn/components/eun-step.js +2 -2
- package/dist/cdn/components/eun-stepper.js +11 -12
- package/dist/cdn/components/eun-switch.js +2 -2
- package/dist/cdn/components/eun-tab-group.js +1 -1
- package/dist/cdn/components/eun-tab-panel.js +1 -1
- package/dist/cdn/components/eun-table-action-bar.js +1 -1
- package/dist/cdn/components/eun-table.js +13 -10
- package/dist/cdn/components/eun-tag.js +1 -1
- package/dist/cdn/components/eun-textarea.js +4 -4
- package/dist/cdn/components/eun-time-picker.js +28 -25
- package/dist/cdn/components/eun-toast.js +8 -8
- package/dist/cdn/components/eun-toggle-group.js +8 -2
- package/dist/cdn/components/eun-toggle-item.js +8 -2
- package/dist/cdn/components/eun-toggle.js +4 -1
- package/dist/cdn/components/eun-toolbar.js +114 -36
- package/dist/cdn/components/eun-tooltip.js +1 -1
- package/dist/cdn/styles/eunomia-themes.css +1 -1
- package/dist/cdn/styles/themes/eunomia-theme.css +1 -1
- package/dist/cdn/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
- package/dist/cdn/styles/themes/prebuilt-themes/eunomia/eunomia.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/fire/eunomia-fire.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/forest/eunomia-forest.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/gold/eunomia-gold.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/ocean/eunomia-ocean.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/salmon/eunomia-salmon.theme.css +1 -1
- package/dist/cdn/styles/themes/prebuilt-themes/violet/eunomia-violet.theme.css +1 -1
- package/dist/cdn/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
- package/dist/components/action/button/button.styles.js +2 -2
- package/dist/components/action/dropdown-button/dropdown-button.d.ts +4 -0
- package/dist/components/action/dropdown-button/dropdown-button.js +1 -0
- package/dist/components/action/dropdown-button/dropdown-button.styles.js +5 -4
- package/dist/components/action/dropdown-button/dropdown-item.d.ts +1 -0
- package/dist/components/action/dropdown-button/dropdown-item.js +1 -0
- package/dist/components/action/dropdown-button/dropdown-item.styles.js +4 -4
- package/dist/components/action/link/link.d.ts +2 -1
- package/dist/components/action/link/link.js +2 -1
- package/dist/components/action/link/link.styles.d.ts +40 -1
- package/dist/components/action/link/link.styles.js +83 -60
- package/dist/components/action/shared-styles/button-palette.styles.js +1 -1
- package/dist/components/action/toggle/toggle-group.d.ts +1 -0
- package/dist/components/action/toggle/toggle-group.js +1 -0
- package/dist/components/action/toggle/toggle-group.styles.d.ts +1 -0
- package/dist/components/action/toggle/toggle-group.styles.js +9 -2
- package/dist/components/action/toggle/toggle-item.styles.js +8 -2
- package/dist/components/action/toggle/toggle.d.ts +1 -0
- package/dist/components/action/toggle/toggle.js +1 -0
- package/dist/components/action/toggle/toggle.styles.d.ts +1 -0
- package/dist/components/action/toggle/toggle.styles.js +5 -1
- package/dist/components/alert/drawer/drawer.d.ts +14 -13
- package/dist/components/alert/drawer/drawer.js +20 -28
- package/dist/components/alert/modal/modal.d.ts +14 -13
- package/dist/components/alert/modal/modal.js +20 -28
- package/dist/components/alert/modal/modal.styles.js +1 -1
- package/dist/components/alert/toast/toast.d.ts +5 -5
- package/dist/components/alert/toast/toast.js +9 -10
- package/dist/components/alert/toast/toast.styles.js +3 -3
- package/dist/components/content/card/image-card.styles.js +1 -1
- package/dist/components/content/chip/chip.d.ts +7 -9
- package/dist/components/content/chip/chip.js +11 -14
- package/dist/components/content/chip/chip.styles.js +1 -5
- package/dist/components/content/collapse/collapse.d.ts +5 -0
- package/dist/components/content/collapse/collapse.js +7 -0
- package/dist/components/content/collapse/collapse.styles.d.ts +3 -0
- package/dist/components/content/collapse/collapse.styles.js +13 -1
- package/dist/components/content/description-list/description-list.styles.js +1 -1
- package/dist/components/content/image-carousel/image-carousel.d.ts +60 -13
- package/dist/components/content/image-carousel/image-carousel.js +100 -22
- package/dist/components/content/image-carousel/image-carousel.styles.js +32 -6
- package/dist/components/content/password-strength/password-strength.styles.js +1 -1
- package/dist/components/content/progress-bar/progress-bar.styles.js +1 -1
- package/dist/components/content/shared-styles/card-link.styles.js +1 -1
- package/dist/components/content/shared-styles/tone-surface.styles.js +1 -3
- package/dist/components/form/checkbox/check-card.styles.js +2 -2
- package/dist/components/form/checkbox/checkbox-list.d.ts +3 -1
- package/dist/components/form/checkbox/checkbox-list.js +3 -1
- package/dist/components/form/checkbox/checkbox.styles.js +1 -1
- package/dist/components/form/color-picker/color-picker.d.ts +28 -3
- package/dist/components/form/color-picker/color-picker.js +53 -7
- package/dist/components/form/counter/counter.js +1 -1
- package/dist/components/form/counter/counter.styles.js +2 -2
- package/dist/components/form/date-picker/date-picker-day-grid.styles.js +1 -1
- package/dist/components/form/date-picker/date-picker-month-grid.js +1 -1
- package/dist/components/form/date-picker/date-picker.d.ts +50 -13
- package/dist/components/form/date-picker/date-picker.js +178 -43
- package/dist/components/form/input/input.js +1 -4
- package/dist/components/form/input-file/input-file.styles.js +2 -2
- package/dist/components/form/input-phone/input-phone.js +4 -3
- package/dist/components/form/label/label.styles.js +1 -1
- package/dist/components/form/radio/radio-card.styles.js +2 -2
- package/dist/components/form/radio/radio.styles.js +1 -1
- package/dist/components/form/rating/rating.js +3 -5
- package/dist/components/form/rating/rating.styles.js +2 -2
- package/dist/components/form/search/search.d.ts +1 -7
- package/dist/components/form/search/search.js +2 -12
- package/dist/components/form/shared-styles/field.styles.js +2 -2
- package/dist/components/form/slider/slider.styles.js +1 -1
- package/dist/components/form/switch/switch.styles.js +1 -1
- package/dist/components/form/textarea/textarea.js +1 -5
- package/dist/components/form/textarea/textarea.styles.js +2 -2
- package/dist/components/form/time-picker/time-picker-columns.d.ts +4 -1
- package/dist/components/form/time-picker/time-picker-columns.js +64 -15
- package/dist/components/form/time-picker/time-picker-columns.styles.js +5 -1
- package/dist/components/form/time-picker/time-picker-list.d.ts +4 -1
- package/dist/components/form/time-picker/time-picker-list.js +15 -8
- package/dist/components/form/time-picker/time-picker.d.ts +11 -2
- package/dist/components/form/time-picker/time-picker.js +22 -8
- package/dist/components/layout/animate/animate.d.ts +35 -17
- package/dist/components/layout/animate/animate.js +27 -14
- package/dist/components/layout/animate/animate.styles.d.ts +2 -1
- package/dist/components/layout/animate/animate.styles.js +107 -179
- package/dist/components/layout/divider/divider.d.ts +1 -0
- package/dist/components/layout/divider/divider.js +2 -1
- package/dist/components/layout/divider/divider.styles.js +7 -6
- package/dist/components/layout/infinite-list/infinite-list.styles.js +1 -1
- package/dist/components/navigation/breadcrumb/breadcrumb.styles.js +3 -3
- package/dist/components/navigation/carousel/carousel.d.ts +23 -14
- package/dist/components/navigation/carousel/carousel.js +39 -27
- package/dist/components/navigation/carousel/carousel.styles.js +16 -8
- package/dist/components/navigation/nav-menu/nav-menu.d.ts +201 -0
- package/dist/components/navigation/nav-menu/nav-menu.js +673 -0
- package/dist/components/navigation/nav-menu/nav-menu.styles.d.ts +1 -0
- package/dist/components/navigation/nav-menu/nav-menu.styles.js +352 -0
- package/dist/components/navigation/pagination/pagination.d.ts +3 -0
- package/dist/components/navigation/pagination/pagination.styles.js +2 -2
- package/dist/components/navigation/sidebar/sidebar.d.ts +8 -10
- package/dist/components/navigation/sidebar/sidebar.js +12 -15
- package/dist/components/navigation/sidebar/sidebar.styles.js +13 -4
- package/dist/components/navigation/stepper/step.styles.js +2 -2
- package/dist/components/navigation/stepper/stepper.d.ts +24 -13
- package/dist/components/navigation/stepper/stepper.js +36 -23
- package/dist/components/navigation/stepper/stepper.styles.js +2 -2
- package/dist/components/navigation/tabs/tab-group/tab-group.js +1 -1
- package/dist/components/navigation/tabs/tab-panel/tab-panel.styles.js +1 -1
- package/dist/components/navigation/toolbar/toolbar.d.ts +121 -20
- package/dist/components/navigation/toolbar/toolbar.js +176 -45
- package/dist/components/navigation/toolbar/toolbar.styles.js +113 -28
- package/dist/events/editor-state-change.event.d.ts +28 -0
- package/dist/events/editor-state-change.event.js +22 -0
- package/dist/events/event-cancel.event.d.ts +20 -0
- package/dist/events/event-cancel.event.js +17 -0
- package/dist/events/period-change.event.d.ts +14 -6
- package/dist/events/period-change.event.js +9 -6
- package/dist/features/scheduler/calendar/calendar.d.ts +52 -20
- package/dist/features/scheduler/calendar/calendar.js +84 -36
- package/dist/features/scheduler/calendar/calendar.styles.js +5 -2
- package/dist/features/scheduler/scheduler/scheduler.d.ts +69 -4
- package/dist/features/scheduler/scheduler/scheduler.js +172 -47
- package/dist/features/scheduler/scheduler/scheduler.styles.js +6 -0
- package/dist/features/scheduler/scheduler-event/scheduler-event.d.ts +18 -20
- package/dist/features/scheduler/scheduler-event/scheduler-event.js +29 -38
- package/dist/features/scheduler/scheduler-event/scheduler-event.styles.js +2 -2
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.d.ts +102 -18
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.js +249 -112
- package/dist/features/scheduler/scheduler-event-editor/scheduler-event-editor.styles.js +11 -1
- package/dist/features/scheduler/shared/scheduler-event-popover.d.ts +9 -1
- package/dist/features/scheduler/shared/scheduler-event-popover.js +77 -42
- package/dist/features/scheduler/shared/scheduler-event-popover.styles.js +14 -3
- package/dist/features/scheduler/shared/scheduler-hour-grid.d.ts +3 -2
- package/dist/features/scheduler/shared/scheduler-hour-grid.js +53 -46
- package/dist/features/scheduler/shared/scheduler-hour-grid.styles.js +13 -7
- package/dist/features/scheduler/shared/scheduler-month-view.js +1 -1
- package/dist/features/scheduler/shared/scheduler-month-view.styles.js +13 -7
- package/dist/features/scheduler/shared/scheduler-year-view.d.ts +6 -5
- package/dist/features/scheduler/shared/scheduler-year-view.js +11 -7
- package/dist/features/scheduler/shared/scheduler-year-view.styles.js +57 -3
- package/dist/features/scheduler/shared/scheduler.types.d.ts +5 -9
- package/dist/features/scheduler/shared/scheduler.utils.d.ts +61 -0
- package/dist/features/scheduler/shared/scheduler.utils.js +78 -4
- package/dist/features/table/table/table-native.styles.js +8 -4
- package/dist/features/table/table/table.d.ts +2 -1
- package/dist/features/table/table/table.js +2 -1
- package/dist/features/table/table/table.styles.js +6 -4
- package/dist/i18n/en.d.ts +17 -0
- package/dist/i18n/en.js +17 -0
- package/dist/i18n/fr.js +17 -0
- package/dist/index.d.ts +6 -0
- package/dist/index.js +4 -0
- package/dist/jsx.d.ts +48 -6
- package/dist/mixins/anchor-position.mixin.d.ts +17 -0
- package/dist/mixins/anchor-position.mixin.js +45 -7
- package/dist/mixins/button.mixin.js +2 -1
- package/dist/mixins/check.mixin.js +14 -5
- package/dist/mixins/dialog-surface.mixin.d.ts +1 -1
- package/dist/mixins/dialog-surface.mixin.js +5 -5
- package/dist/mixins/form.mixin.js +33 -13
- package/dist/mixins/localizable.mixin.d.ts +1 -0
- package/dist/mixins/localizable.mixin.js +9 -2
- package/dist/mixins/radio.mixin.js +14 -5
- package/dist/mixins/validators.mixin.js +4 -3
- package/dist/react.d.ts +59 -0
- package/dist/react.js +42 -0
- package/dist/ssr/animate-ssr.css +35 -0
- package/dist/ssr/breadcrumb-ssr.css +3 -3
- package/dist/ssr/button-ssr.css +8 -2
- package/dist/ssr/card-ssr.css +1 -1
- package/dist/ssr/carousel-ssr.css +15 -4
- package/dist/ssr/chip-ssr.css +3 -3
- package/dist/ssr/collapse-ssr.css +2 -2
- package/dist/ssr/description-list-ssr.css +1 -1
- package/dist/ssr/divider-ssr.css +23 -0
- package/dist/ssr/field-ssr.css +245 -42
- package/dist/ssr/image-carousel-ssr.css +2 -4
- package/dist/ssr/links-ssr.css +17 -3
- package/dist/ssr/nav-menu-ssr.css +82 -0
- package/dist/ssr/overlay-ssr.css +4 -0
- package/dist/ssr/scheduler-ssr.css +182 -0
- package/dist/ssr/stepper-ssr.css +136 -0
- package/dist/ssr/table-ssr.css +7 -4
- package/dist/ssr/tag-ssr.css +1 -1
- package/dist/ssr/toolbar-ssr.css +7 -5
- package/dist/utils/css-length.utils.d.ts +14 -0
- package/dist/utils/css-length.utils.js +32 -0
- package/dist/utils/form-validation.utils.d.ts +36 -0
- package/dist/utils/form-validation.utils.js +113 -0
- package/dist/utils/implicit-submission.utils.js +2 -14
- package/dist/utils/interactive-content.utils.d.ts +10 -0
- package/dist/utils/interactive-content.utils.js +43 -0
- package/dist/utils/popover.utils.js +3 -2
- package/dist/utils/scroll-lock.utils.d.ts +9 -1
- package/dist/utils/scroll-lock.utils.js +21 -2
- package/dist/utils/theme-generator.utils.d.ts +1 -0
- package/dist/utils/theme-generator.utils.js +23 -10
- package/dist/utils/validity.utils.d.ts +18 -4
- package/dist/utils/validity.utils.js +74 -4
- package/package.json +34 -3
- package/styles/themes/mixins/eunomia-neutrals.mixin.scss +2 -2
- package/styles/tools/mixins/layout/eunomia-grid.mixin.scss +116 -8
- package/dist/cdn/components/chunks/chunk-4DRU3IYJ.js +0 -1
- package/dist/cdn/components/chunks/chunk-647ISUF4.js +0 -1
- package/dist/cdn/components/chunks/chunk-6TIEBY34.js +0 -1
- package/dist/cdn/components/chunks/chunk-E6UOI36Q.js +0 -1
- package/dist/cdn/components/chunks/chunk-GNAUNTS5.js +0 -1
- package/dist/cdn/components/chunks/chunk-IJJ67C66.js +0 -1
- package/dist/cdn/components/chunks/chunk-J7ETIRSK.js +0 -1
- package/dist/cdn/components/chunks/chunk-JGV7LHEI.js +0 -1
- package/dist/cdn/components/chunks/chunk-L74LXUGL.js +0 -1
- package/dist/cdn/components/chunks/chunk-MY6ORZJR.js +0 -46
- package/dist/cdn/components/chunks/chunk-QWTFP56P.js +0 -1
- package/dist/cdn/components/chunks/chunk-SFX2LQ4K.js +0 -205
- package/dist/cdn/components/chunks/chunk-WW4BTWMH.js +0 -1
- package/dist/utils/boolean.utils.d.ts +0 -14
- package/dist/utils/boolean.utils.js +0 -20
|
@@ -59,7 +59,10 @@ export const toggleItemStyles = css `
|
|
|
59
59
|
background: var(--_hoverBackground);
|
|
60
60
|
}
|
|
61
61
|
:host(:focus-visible) #item {
|
|
62
|
-
outline-color: var(
|
|
62
|
+
outline-color: var(
|
|
63
|
+
--toggle-group-focus-outline-color,
|
|
64
|
+
var(--eun-color-primary-500, #3d6fff)
|
|
65
|
+
);
|
|
63
66
|
outline-offset: 2px;
|
|
64
67
|
transition:
|
|
65
68
|
outline-color var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
|
|
@@ -144,7 +147,10 @@ export const toggleItemStyles = css `
|
|
|
144
147
|
}
|
|
145
148
|
:host([appearance="outline"]:focus-visible) #item,
|
|
146
149
|
:host([appearance="flat"]:focus-visible) #item {
|
|
147
|
-
outline-color: var(
|
|
150
|
+
outline-color: var(
|
|
151
|
+
--toggle-group-focus-outline-color,
|
|
152
|
+
var(--_variantColor)
|
|
153
|
+
);
|
|
148
154
|
color: var(--toggle-group-hover-color, var(--_variantColor));
|
|
149
155
|
}
|
|
150
156
|
:host([appearance="outline"]:not([disabled]):not([checked]):hover) #item,
|
|
@@ -35,6 +35,7 @@ declare const EunomiaToggle_base: import("../../../utils/constructor.type.js").C
|
|
|
35
35
|
* @cssprop [--toggle-active-color] - Sets the text color while pressed. Ignored while swap is set
|
|
36
36
|
* @cssprop [--toggle-border-size] - Sets the width of the border
|
|
37
37
|
* @cssprop [--toggle-border-radius] - Sets the corner radius of the toggle
|
|
38
|
+
* @cssprop [--toggle-focus-outline-color] - Sets the keyboard focus outline color
|
|
38
39
|
* @cssprop [--toggle-padding] - Sets the padding of the toggle
|
|
39
40
|
* @cssprop [--toggle-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --toggle-padding is set
|
|
40
41
|
* @cssprop [--toggle-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --toggle-padding is set
|
|
@@ -44,6 +44,7 @@ export const EunomiaToggleTagName = "eun-toggle";
|
|
|
44
44
|
* @cssprop [--toggle-active-color] - Sets the text color while pressed. Ignored while swap is set
|
|
45
45
|
* @cssprop [--toggle-border-size] - Sets the width of the border
|
|
46
46
|
* @cssprop [--toggle-border-radius] - Sets the corner radius of the toggle
|
|
47
|
+
* @cssprop [--toggle-focus-outline-color] - Sets the keyboard focus outline color
|
|
47
48
|
* @cssprop [--toggle-padding] - Sets the padding of the toggle
|
|
48
49
|
* @cssprop [--toggle-padding-block] - Sets the vertical padding, as one length applied to both sides. Ignored when --toggle-padding is set
|
|
49
50
|
* @cssprop [--toggle-padding-inline] - Sets the horizontal padding, as one length applied to both sides. Ignored when --toggle-padding is set
|
|
@@ -15,6 +15,7 @@
|
|
|
15
15
|
* [--toggle-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --toggle-padding is set
|
|
16
16
|
* [--toggle-hover-color] - Set a custom text color on hover state, while not pressed
|
|
17
17
|
* [--toggle-hover-background] - Set a custom background color on hover state, while not pressed ; transparent by default
|
|
18
|
+
* [--toggle-focus-outline-color] - Set a custom keyboard focus outline color
|
|
18
19
|
* [--toggle-shadow] - Set a custom box shadow, none by default
|
|
19
20
|
* [--toggle-shadow-hover] - Set a custom box shadow on hover state, falls back to `--toggle-shadow`
|
|
20
21
|
*/
|
|
@@ -16,6 +16,7 @@ import { css } from "lit";
|
|
|
16
16
|
* [--toggle-padding-inline] - Set a custom horizontal padding, as one length applied to both sides. Ignored when --toggle-padding is set
|
|
17
17
|
* [--toggle-hover-color] - Set a custom text color on hover state, while not pressed
|
|
18
18
|
* [--toggle-hover-background] - Set a custom background color on hover state, while not pressed ; transparent by default
|
|
19
|
+
* [--toggle-focus-outline-color] - Set a custom keyboard focus outline color
|
|
19
20
|
* [--toggle-shadow] - Set a custom box shadow, none by default
|
|
20
21
|
* [--toggle-shadow-hover] - Set a custom box shadow on hover state, falls back to `--toggle-shadow`
|
|
21
22
|
*/
|
|
@@ -74,7 +75,10 @@ export const toggleStyles = css `
|
|
|
74
75
|
background: var(--_hoverBackground);
|
|
75
76
|
}
|
|
76
77
|
:host(:focus-visible) #toggle {
|
|
77
|
-
outline-color: var(
|
|
78
|
+
outline-color: var(
|
|
79
|
+
--toggle-focus-outline-color,
|
|
80
|
+
var(--eun-color-primary-500, #3d6fff)
|
|
81
|
+
);
|
|
78
82
|
outline-offset: 2px;
|
|
79
83
|
transition:
|
|
80
84
|
outline-color var(--eun-duration-m, 200ms) var(--eun-easing-out, ease-out),
|
|
@@ -29,17 +29,17 @@ declare const EunomiaDrawer_base: import("../../../utils/constructor.type.js").C
|
|
|
29
29
|
* @slot confirm-close - Optional custom content for the internal discard confirmation dialog, rendered below its heading and description
|
|
30
30
|
* @prop {'start' | 'end'} [position='end'] - Which edge the drawer slides in from
|
|
31
31
|
* @prop {string} heading - An optional heading, rendered as the header slot's fallback content
|
|
32
|
-
* @prop {boolean} [closeable=
|
|
32
|
+
* @prop {boolean} [closeable=false] - Whether the close button renders
|
|
33
33
|
* @prop {boolean} [open=false] - Whether the drawer is open
|
|
34
|
-
* @prop {boolean} [closeOnBackdrop=
|
|
34
|
+
* @prop {boolean} [closeOnBackdrop=false] - Whether clicking outside the drawer requests a close
|
|
35
35
|
* @prop {boolean} [dirty=false] - Marks the drawer as having unsaved changes, requiring confirmation before it closes
|
|
36
36
|
* @prop {'auto' | 'first-field'} [initialFocus='auto'] - Where focus lands on open. First-field focuses the first focusable element of the body when the drawer was opened from the keyboard, and behaves like auto after a click or a touch, so a mobile virtual keyboard doesn't pop up on its own. A slotted autofocus element always wins
|
|
37
37
|
* @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
38
38
|
* @attr {string} [close-label] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
39
|
-
* @prop {string} [confirmCloseHeading
|
|
40
|
-
* @attr {string} [confirm-close-heading
|
|
41
|
-
* @prop {string} confirmCloseDescription - The description of the internal discard confirmation dialog
|
|
42
|
-
* @attr {string} confirm-close-description - The description of the internal discard confirmation dialog
|
|
39
|
+
* @prop {string} [confirmCloseHeading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
|
|
40
|
+
* @attr {string} [confirm-close-heading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
|
|
41
|
+
* @prop {string} [confirmCloseDescription] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
|
|
42
|
+
* @attr {string} [confirm-close-description] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
|
|
43
43
|
* @prop {string} [confirmCloseCancelLabel] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
|
|
44
44
|
* @attr {string} [confirm-close-cancel-label] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
|
|
45
45
|
* @prop {string} [confirmCloseConfirmLabel] - The confirm label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard")
|
|
@@ -80,7 +80,7 @@ export declare class EunomiaDrawer extends EunomiaDrawer_base {
|
|
|
80
80
|
heading?: string;
|
|
81
81
|
/**
|
|
82
82
|
* Whether the close (X) button renders.
|
|
83
|
-
* @default
|
|
83
|
+
* @default false
|
|
84
84
|
*/
|
|
85
85
|
closeable: boolean;
|
|
86
86
|
/**
|
|
@@ -91,7 +91,7 @@ export declare class EunomiaDrawer extends EunomiaDrawer_base {
|
|
|
91
91
|
/**
|
|
92
92
|
* Whether clicking outside the drawer requests a close (subject to the
|
|
93
93
|
* `dirty` gate).
|
|
94
|
-
* @default
|
|
94
|
+
* @default false
|
|
95
95
|
*/
|
|
96
96
|
closeOnBackdrop: boolean;
|
|
97
97
|
/**
|
|
@@ -122,14 +122,15 @@ export declare class EunomiaDrawer extends EunomiaDrawer_base {
|
|
|
122
122
|
closeLabel?: string;
|
|
123
123
|
/**
|
|
124
124
|
* Heading of the internal discard-confirmation dialog.
|
|
125
|
-
*
|
|
125
|
+
* Falls back to the localized string for the current locale when unset.
|
|
126
126
|
*/
|
|
127
|
-
confirmCloseHeading
|
|
127
|
+
confirmCloseHeading?: string;
|
|
128
128
|
/**
|
|
129
|
-
* Description of the internal discard-confirmation dialog
|
|
130
|
-
*
|
|
129
|
+
* Description of the internal discard-confirmation dialog, hidden when
|
|
130
|
+
* empty. Falls back to the localized string for the current locale when
|
|
131
|
+
* unset.
|
|
131
132
|
*/
|
|
132
|
-
confirmCloseDescription
|
|
133
|
+
confirmCloseDescription?: string;
|
|
133
134
|
/**
|
|
134
135
|
* Cancel label of the internal discard-confirmation dialog.
|
|
135
136
|
* Falls back to the localized string for the current locale when unset.
|
|
@@ -15,7 +15,6 @@ import { getFocusableElements } from "../../../utils/focusable-elements.utils.js
|
|
|
15
15
|
import { isKeyboardModality, trackInputModality, } from "../../../utils/input-modality.utils.js";
|
|
16
16
|
import { drawerStyles } from "./drawer.styles.js";
|
|
17
17
|
import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
|
|
18
|
-
import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
|
|
19
18
|
/**
|
|
20
19
|
* Tag name of the drawer component.
|
|
21
20
|
*/
|
|
@@ -40,17 +39,17 @@ export const EunomiaDrawerTagName = "eun-drawer";
|
|
|
40
39
|
* @slot confirm-close - Optional custom content for the internal discard confirmation dialog, rendered below its heading and description
|
|
41
40
|
* @prop {'start' | 'end'} [position='end'] - Which edge the drawer slides in from
|
|
42
41
|
* @prop {string} heading - An optional heading, rendered as the header slot's fallback content
|
|
43
|
-
* @prop {boolean} [closeable=
|
|
42
|
+
* @prop {boolean} [closeable=false] - Whether the close button renders
|
|
44
43
|
* @prop {boolean} [open=false] - Whether the drawer is open
|
|
45
|
-
* @prop {boolean} [closeOnBackdrop=
|
|
44
|
+
* @prop {boolean} [closeOnBackdrop=false] - Whether clicking outside the drawer requests a close
|
|
46
45
|
* @prop {boolean} [dirty=false] - Marks the drawer as having unsaved changes, requiring confirmation before it closes
|
|
47
46
|
* @prop {'auto' | 'first-field'} [initialFocus='auto'] - Where focus lands on open. First-field focuses the first focusable element of the body when the drawer was opened from the keyboard, and behaves like auto after a click or a touch, so a mobile virtual keyboard doesn't pop up on its own. A slotted autofocus element always wins
|
|
48
47
|
* @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
49
48
|
* @attr {string} [close-label] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
50
|
-
* @prop {string} [confirmCloseHeading
|
|
51
|
-
* @attr {string} [confirm-close-heading
|
|
52
|
-
* @prop {string} confirmCloseDescription - The description of the internal discard confirmation dialog
|
|
53
|
-
* @attr {string} confirm-close-description - The description of the internal discard confirmation dialog
|
|
49
|
+
* @prop {string} [confirmCloseHeading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
|
|
50
|
+
* @attr {string} [confirm-close-heading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
|
|
51
|
+
* @prop {string} [confirmCloseDescription] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
|
|
52
|
+
* @attr {string} [confirm-close-description] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
|
|
54
53
|
* @prop {string} [confirmCloseCancelLabel] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
|
|
55
54
|
* @attr {string} [confirm-close-cancel-label] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
|
|
56
55
|
* @prop {string} [confirmCloseConfirmLabel] - The confirm label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard")
|
|
@@ -80,9 +79,9 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
|
|
|
80
79
|
this.position = "end";
|
|
81
80
|
/**
|
|
82
81
|
* Whether the close (X) button renders.
|
|
83
|
-
* @default
|
|
82
|
+
* @default false
|
|
84
83
|
*/
|
|
85
|
-
this.closeable =
|
|
84
|
+
this.closeable = false;
|
|
86
85
|
/**
|
|
87
86
|
* Whether the drawer is open.
|
|
88
87
|
* @default false
|
|
@@ -91,9 +90,9 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
|
|
|
91
90
|
/**
|
|
92
91
|
* Whether clicking outside the drawer requests a close (subject to the
|
|
93
92
|
* `dirty` gate).
|
|
94
|
-
* @default
|
|
93
|
+
* @default false
|
|
95
94
|
*/
|
|
96
|
-
this.closeOnBackdrop =
|
|
95
|
+
this.closeOnBackdrop = false;
|
|
97
96
|
/**
|
|
98
97
|
* Marks the drawer as having unsaved changes, gating any close attempt
|
|
99
98
|
* behind a confirmation dialog.
|
|
@@ -110,16 +109,6 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
|
|
|
110
109
|
* @default auto
|
|
111
110
|
*/
|
|
112
111
|
this.initialFocus = "auto";
|
|
113
|
-
/**
|
|
114
|
-
* Heading of the internal discard-confirmation dialog.
|
|
115
|
-
* @default Discard changes?
|
|
116
|
-
*/
|
|
117
|
-
this.confirmCloseHeading = "Discard changes?";
|
|
118
|
-
/**
|
|
119
|
-
* Description of the internal discard-confirmation dialog.
|
|
120
|
-
* @default You have unsaved changes. This action can't be undone.
|
|
121
|
-
*/
|
|
122
|
-
this.confirmCloseDescription = "You have unsaved changes. This action can't be undone.";
|
|
123
112
|
/**
|
|
124
113
|
* Whether the internal discard-confirmation `eun-modal` has ever been
|
|
125
114
|
* needed and should be part of the render output. Mounted lazily — the
|
|
@@ -244,7 +233,7 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
|
|
|
244
233
|
*/
|
|
245
234
|
disconnectedCallback() {
|
|
246
235
|
this.removeEventListener("command", this.handleCommandEvent);
|
|
247
|
-
this.teardownDialogSurface(
|
|
236
|
+
this.teardownDialogSurface();
|
|
248
237
|
super.disconnectedCallback?.();
|
|
249
238
|
}
|
|
250
239
|
/**
|
|
@@ -439,11 +428,16 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
|
|
|
439
428
|
* @private
|
|
440
429
|
*/
|
|
441
430
|
renderConfirmCloseModal() {
|
|
431
|
+
const description = this.confirmCloseDescription ??
|
|
432
|
+
this.dictionary.common.discardChangesDescription;
|
|
442
433
|
return html `
|
|
443
434
|
<eun-modal
|
|
444
435
|
id="confirm-close-modal"
|
|
445
436
|
kind="alert"
|
|
446
|
-
|
|
437
|
+
closeable
|
|
438
|
+
close-on-backdrop
|
|
439
|
+
heading=${this.confirmCloseHeading ??
|
|
440
|
+
this.dictionary.common.discardChangesHeading}
|
|
447
441
|
cancel-label=${this.confirmCloseCancelLabel ??
|
|
448
442
|
this.dictionary.common.keepEditing}
|
|
449
443
|
confirm-label=${this.confirmCloseConfirmLabel ??
|
|
@@ -452,9 +446,7 @@ let EunomiaDrawer = class EunomiaDrawer extends DialogSurfaceMixin(LocalizableMi
|
|
|
452
446
|
@eunconfirm=${this.handleDiscardConfirmed}
|
|
453
447
|
@euncancel=${this.stopDialogPropagation}
|
|
454
448
|
>
|
|
455
|
-
${
|
|
456
|
-
? html `<p>${this.confirmCloseDescription}</p>`
|
|
457
|
-
: nothing}
|
|
449
|
+
${description ? html `<p>${description}</p>` : nothing}
|
|
458
450
|
<slot name="confirm-close"></slot>
|
|
459
451
|
</eun-modal>
|
|
460
452
|
`;
|
|
@@ -519,13 +511,13 @@ __decorate([
|
|
|
519
511
|
property()
|
|
520
512
|
], EunomiaDrawer.prototype, "heading", void 0);
|
|
521
513
|
__decorate([
|
|
522
|
-
property({
|
|
514
|
+
property({ type: Boolean })
|
|
523
515
|
], EunomiaDrawer.prototype, "closeable", void 0);
|
|
524
516
|
__decorate([
|
|
525
517
|
property({ type: Boolean, reflect: true })
|
|
526
518
|
], EunomiaDrawer.prototype, "open", void 0);
|
|
527
519
|
__decorate([
|
|
528
|
-
property({
|
|
520
|
+
property({ type: Boolean, attribute: "close-on-backdrop" })
|
|
529
521
|
], EunomiaDrawer.prototype, "closeOnBackdrop", void 0);
|
|
530
522
|
__decorate([
|
|
531
523
|
property({ type: Boolean, reflect: true })
|
|
@@ -29,20 +29,20 @@ declare const EunomiaModal_base: import("../../../utils/constructor.type.js").Co
|
|
|
29
29
|
* @attr {string} aria-label - The accessible name of the dialog when no visible heading is set, such as a flush search shell. Ignored once heading is set, since that already provides one
|
|
30
30
|
* @prop {string} description - An optional short description, rendered below the heading
|
|
31
31
|
* @prop {'dialog' | 'alert' | 'search'} [kind='dialog'] - Alert renders the dialog as an alert dialog, for destructive or blocking confirmations. Search removes the surface's default padding for a flush command palette layout
|
|
32
|
-
* @prop {boolean} [closeOnBackdrop=
|
|
32
|
+
* @prop {boolean} [closeOnBackdrop=false] - Whether clicking outside the dialog requests a close, subject to the dirty gate
|
|
33
33
|
* @prop {boolean} [dirty=false] - Marks the modal as having unsaved changes, requiring confirmation before any close attempt succeeds
|
|
34
34
|
* @prop {boolean} [hideActions=false] - Hides the default confirm and cancel footer entirely, for fully custom content-driven dialogs
|
|
35
35
|
* @prop {'auto' | 'first-field'} [initialFocus='auto'] - Where focus lands on open. First-field focuses the first focusable element of the body when the modal was opened from the keyboard, and behaves like auto after a click or a touch, so a mobile virtual keyboard doesn't pop up on its own. A slotted autofocus element always wins
|
|
36
|
-
* @prop {boolean} [closeable=
|
|
36
|
+
* @prop {boolean} [closeable=false] - Shows the close button in the top right corner
|
|
37
37
|
* @prop {string} [cancelLabel] - The label of the default cancel button. Defaults to the localized string for the current locale (English: "Cancel")
|
|
38
38
|
* @prop {string} [confirmLabel] - The label of the default confirm button. Defaults to the localized string for the current locale (English: "Confirm")
|
|
39
39
|
* @prop {'primary' | 'critical'} [confirmColor='primary'] - The color of the default confirm button
|
|
40
40
|
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} cancelColor - The color of the default cancel button. Left unset, it renders as a neutral gray ghost button
|
|
41
41
|
* @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
42
|
-
* @prop {string} [confirmCloseHeading
|
|
43
|
-
* @attr {string} [confirm-close-heading
|
|
44
|
-
* @prop {string} confirmCloseDescription - The description of the internal discard confirmation dialog
|
|
45
|
-
* @attr {string} confirm-close-description - The description of the internal discard confirmation dialog
|
|
42
|
+
* @prop {string} [confirmCloseHeading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
|
|
43
|
+
* @attr {string} [confirm-close-heading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
|
|
44
|
+
* @prop {string} [confirmCloseDescription] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
|
|
45
|
+
* @attr {string} [confirm-close-description] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
|
|
46
46
|
* @prop {string} [confirmCloseCancelLabel] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
|
|
47
47
|
* @attr {string} [confirm-close-cancel-label] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
|
|
48
48
|
* @prop {string} [confirmCloseConfirmLabel] - The confirm label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard")
|
|
@@ -97,7 +97,7 @@ export declare class EunomiaModal extends EunomiaModal_base {
|
|
|
97
97
|
kind: "dialog" | "alert" | "search";
|
|
98
98
|
/**
|
|
99
99
|
* Whether clicking outside the dialog closes it.
|
|
100
|
-
* @default
|
|
100
|
+
* @default false
|
|
101
101
|
*/
|
|
102
102
|
closeOnBackdrop: boolean;
|
|
103
103
|
/**
|
|
@@ -128,7 +128,7 @@ export declare class EunomiaModal extends EunomiaModal_base {
|
|
|
128
128
|
private readonly bodyEl?;
|
|
129
129
|
/**
|
|
130
130
|
* Shows the top-right close (X) button.
|
|
131
|
-
* @default
|
|
131
|
+
* @default false
|
|
132
132
|
*/
|
|
133
133
|
closeable: boolean;
|
|
134
134
|
/**
|
|
@@ -159,14 +159,15 @@ export declare class EunomiaModal extends EunomiaModal_base {
|
|
|
159
159
|
closeLabel?: string;
|
|
160
160
|
/**
|
|
161
161
|
* Heading of the internal discard-confirmation dialog.
|
|
162
|
-
*
|
|
162
|
+
* Falls back to the localized string for the current locale when unset.
|
|
163
163
|
*/
|
|
164
|
-
confirmCloseHeading
|
|
164
|
+
confirmCloseHeading?: string;
|
|
165
165
|
/**
|
|
166
|
-
* Description of the internal discard-confirmation dialog
|
|
167
|
-
*
|
|
166
|
+
* Description of the internal discard-confirmation dialog, hidden when
|
|
167
|
+
* empty. Falls back to the localized string for the current locale when
|
|
168
|
+
* unset.
|
|
168
169
|
*/
|
|
169
|
-
confirmCloseDescription
|
|
170
|
+
confirmCloseDescription?: string;
|
|
170
171
|
/**
|
|
171
172
|
* Cancel label of the internal discard-confirmation dialog.
|
|
172
173
|
* Falls back to the localized string for the current locale when unset.
|
|
@@ -16,7 +16,6 @@ import { getFocusableElements } from "../../../utils/focusable-elements.utils.js
|
|
|
16
16
|
import { isKeyboardModality, trackInputModality, } from "../../../utils/input-modality.utils.js";
|
|
17
17
|
import { modalStyles } from "./modal.styles.js";
|
|
18
18
|
import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
|
|
19
|
-
import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
|
|
20
19
|
/**
|
|
21
20
|
* Tag name of the modal component.
|
|
22
21
|
*/
|
|
@@ -43,20 +42,20 @@ export const EunomiaModalTagName = "eun-modal";
|
|
|
43
42
|
* @attr {string} aria-label - The accessible name of the dialog when no visible heading is set, such as a flush search shell. Ignored once heading is set, since that already provides one
|
|
44
43
|
* @prop {string} description - An optional short description, rendered below the heading
|
|
45
44
|
* @prop {'dialog' | 'alert' | 'search'} [kind='dialog'] - Alert renders the dialog as an alert dialog, for destructive or blocking confirmations. Search removes the surface's default padding for a flush command palette layout
|
|
46
|
-
* @prop {boolean} [closeOnBackdrop=
|
|
45
|
+
* @prop {boolean} [closeOnBackdrop=false] - Whether clicking outside the dialog requests a close, subject to the dirty gate
|
|
47
46
|
* @prop {boolean} [dirty=false] - Marks the modal as having unsaved changes, requiring confirmation before any close attempt succeeds
|
|
48
47
|
* @prop {boolean} [hideActions=false] - Hides the default confirm and cancel footer entirely, for fully custom content-driven dialogs
|
|
49
48
|
* @prop {'auto' | 'first-field'} [initialFocus='auto'] - Where focus lands on open. First-field focuses the first focusable element of the body when the modal was opened from the keyboard, and behaves like auto after a click or a touch, so a mobile virtual keyboard doesn't pop up on its own. A slotted autofocus element always wins
|
|
50
|
-
* @prop {boolean} [closeable=
|
|
49
|
+
* @prop {boolean} [closeable=false] - Shows the close button in the top right corner
|
|
51
50
|
* @prop {string} [cancelLabel] - The label of the default cancel button. Defaults to the localized string for the current locale (English: "Cancel")
|
|
52
51
|
* @prop {string} [confirmLabel] - The label of the default confirm button. Defaults to the localized string for the current locale (English: "Confirm")
|
|
53
52
|
* @prop {'primary' | 'critical'} [confirmColor='primary'] - The color of the default confirm button
|
|
54
53
|
* @prop {'primary' | 'secondary' | 'critical' | 'success' | 'warning'} cancelColor - The color of the default cancel button. Left unset, it renders as a neutral gray ghost button
|
|
55
54
|
* @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
56
|
-
* @prop {string} [confirmCloseHeading
|
|
57
|
-
* @attr {string} [confirm-close-heading
|
|
58
|
-
* @prop {string} confirmCloseDescription - The description of the internal discard confirmation dialog
|
|
59
|
-
* @attr {string} confirm-close-description - The description of the internal discard confirmation dialog
|
|
55
|
+
* @prop {string} [confirmCloseHeading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
|
|
56
|
+
* @attr {string} [confirm-close-heading] - The heading of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard changes?")
|
|
57
|
+
* @prop {string} [confirmCloseDescription] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
|
|
58
|
+
* @attr {string} [confirm-close-description] - The description of the internal discard confirmation dialog, hidden when empty. Defaults to the localized string for the current locale (English: "You have unsaved changes. This action can't be undone.")
|
|
60
59
|
* @prop {string} [confirmCloseCancelLabel] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
|
|
61
60
|
* @attr {string} [confirm-close-cancel-label] - The cancel label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Keep editing")
|
|
62
61
|
* @prop {string} [confirmCloseConfirmLabel] - The confirm label of the internal discard confirmation dialog. Defaults to the localized string for the current locale (English: "Discard")
|
|
@@ -98,9 +97,9 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
|
|
|
98
97
|
this.kind = "dialog";
|
|
99
98
|
/**
|
|
100
99
|
* Whether clicking outside the dialog closes it.
|
|
101
|
-
* @default
|
|
100
|
+
* @default false
|
|
102
101
|
*/
|
|
103
|
-
this.closeOnBackdrop =
|
|
102
|
+
this.closeOnBackdrop = false;
|
|
104
103
|
/**
|
|
105
104
|
* Marks the modal as having unsaved changes, gating any close attempt
|
|
106
105
|
* behind a confirmation dialog.
|
|
@@ -124,24 +123,14 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
|
|
|
124
123
|
this.initialFocus = "auto";
|
|
125
124
|
/**
|
|
126
125
|
* Shows the top-right close (X) button.
|
|
127
|
-
* @default
|
|
126
|
+
* @default false
|
|
128
127
|
*/
|
|
129
|
-
this.closeable =
|
|
128
|
+
this.closeable = false;
|
|
130
129
|
/**
|
|
131
130
|
* Color of the default confirm button.
|
|
132
131
|
* @default primary
|
|
133
132
|
*/
|
|
134
133
|
this.confirmColor = "primary";
|
|
135
|
-
/**
|
|
136
|
-
* Heading of the internal discard-confirmation dialog.
|
|
137
|
-
* @default Discard changes?
|
|
138
|
-
*/
|
|
139
|
-
this.confirmCloseHeading = "Discard changes?";
|
|
140
|
-
/**
|
|
141
|
-
* Description of the internal discard-confirmation dialog.
|
|
142
|
-
* @default You have unsaved changes. This action can't be undone.
|
|
143
|
-
*/
|
|
144
|
-
this.confirmCloseDescription = "You have unsaved changes. This action can't be undone.";
|
|
145
134
|
/**
|
|
146
135
|
* Whether the internal discard-confirmation dialog has ever been needed
|
|
147
136
|
* and should be part of the render output. Mounted lazily — the first
|
|
@@ -262,7 +251,7 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
|
|
|
262
251
|
*/
|
|
263
252
|
disconnectedCallback() {
|
|
264
253
|
this.removeEventListener("command", this.handleCommandEvent);
|
|
265
|
-
this.teardownDialogSurface(
|
|
254
|
+
this.teardownDialogSurface();
|
|
266
255
|
super.disconnectedCallback?.();
|
|
267
256
|
}
|
|
268
257
|
/**
|
|
@@ -416,11 +405,16 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
|
|
|
416
405
|
* @private
|
|
417
406
|
*/
|
|
418
407
|
renderConfirmCloseModal() {
|
|
408
|
+
const description = this.confirmCloseDescription ??
|
|
409
|
+
this.dictionary.common.discardChangesDescription;
|
|
419
410
|
return html `
|
|
420
411
|
<eun-modal
|
|
421
412
|
id="confirm-close-modal"
|
|
422
413
|
kind="alert"
|
|
423
|
-
|
|
414
|
+
closeable
|
|
415
|
+
close-on-backdrop
|
|
416
|
+
heading=${this.confirmCloseHeading ??
|
|
417
|
+
this.dictionary.common.discardChangesHeading}
|
|
424
418
|
cancel-label=${this.confirmCloseCancelLabel ??
|
|
425
419
|
this.dictionary.common.keepEditing}
|
|
426
420
|
confirm-label=${this.confirmCloseConfirmLabel ??
|
|
@@ -429,9 +423,7 @@ let EunomiaModal = class EunomiaModal extends DialogSurfaceMixin(LocalizableMixi
|
|
|
429
423
|
@eunconfirm=${this.handleDiscardConfirmed}
|
|
430
424
|
@euncancel=${this.stopDialogPropagation}
|
|
431
425
|
>
|
|
432
|
-
${
|
|
433
|
-
? html `<p>${this.confirmCloseDescription}</p>`
|
|
434
|
-
: nothing}
|
|
426
|
+
${description ? html `<p>${description}</p>` : nothing}
|
|
435
427
|
<slot name="confirm-close"></slot>
|
|
436
428
|
</eun-modal>
|
|
437
429
|
`;
|
|
@@ -518,7 +510,7 @@ __decorate([
|
|
|
518
510
|
property({ reflect: true, useDefault: true })
|
|
519
511
|
], EunomiaModal.prototype, "kind", void 0);
|
|
520
512
|
__decorate([
|
|
521
|
-
property({
|
|
513
|
+
property({ type: Boolean, attribute: "close-on-backdrop" })
|
|
522
514
|
], EunomiaModal.prototype, "closeOnBackdrop", void 0);
|
|
523
515
|
__decorate([
|
|
524
516
|
property({ type: Boolean, reflect: true })
|
|
@@ -533,7 +525,7 @@ __decorate([
|
|
|
533
525
|
query("#body")
|
|
534
526
|
], EunomiaModal.prototype, "bodyEl", void 0);
|
|
535
527
|
__decorate([
|
|
536
|
-
property({
|
|
528
|
+
property({ type: Boolean, reflect: true })
|
|
537
529
|
], EunomiaModal.prototype, "closeable", void 0);
|
|
538
530
|
__decorate([
|
|
539
531
|
property({ attribute: "cancel-label" })
|
|
@@ -152,7 +152,7 @@ const base = css `
|
|
|
152
152
|
#description {
|
|
153
153
|
margin: var(--eun-space-xs, 4px) 0 0;
|
|
154
154
|
font-size: var(--eun-font-size-s, 14px);
|
|
155
|
-
color: var(--eun-text-secondary, #
|
|
155
|
+
color: var(--eun-text-secondary, #666e8a);
|
|
156
156
|
}
|
|
157
157
|
#actions {
|
|
158
158
|
flex: none;
|
|
@@ -65,11 +65,11 @@ declare const EunomiaToast_base: import("../../../utils/constructor.type.js").Co
|
|
|
65
65
|
* @attr {boolean} [hide-icon=false] - Hides the icon entirely
|
|
66
66
|
* @prop {string} [richText] - Lightweight formatted content rendered above the description slot, combining with it. Supports simple lists, links, bold, and italic text
|
|
67
67
|
* @attr {string} [rich-text] - Lightweight formatted content rendered above the description slot
|
|
68
|
-
* @prop {boolean} [closeable=
|
|
68
|
+
* @prop {boolean} [closeable=false] - Shows a close button. Always shown when severity is critical, so an error toast is never left with no way to dismiss it
|
|
69
69
|
* @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
70
70
|
* @attr {string} [close-label] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
71
71
|
* @prop {number} [duration=5000] - Milliseconds before the toast auto-dismisses. Zero, or a critical severity regardless of this value, disables auto-dismiss entirely, requiring a manual close
|
|
72
|
-
* @prop {boolean} [open=
|
|
72
|
+
* @prop {boolean} [open=false] - Whether the toast is currently shown. Left off, the toast is inserted closed until show is called
|
|
73
73
|
* @cssprop [--toast-z-index] - Sets the stacking order of the toast, only used where the top layer is not supported
|
|
74
74
|
* @cssprop [--toast-viewport-gap] - Sets the distance between the toast and the screen edges its position anchors to
|
|
75
75
|
* @cssprop [--toast-stack-gap] - Sets the gap between stacked toasts sharing the same position
|
|
@@ -148,7 +148,7 @@ export declare class EunomiaToast extends EunomiaToast_base {
|
|
|
148
148
|
/**
|
|
149
149
|
* Shows a close button. Forced to render regardless of this value when
|
|
150
150
|
* `severity` is `critical`.
|
|
151
|
-
* @default
|
|
151
|
+
* @default false
|
|
152
152
|
*/
|
|
153
153
|
closeable: boolean;
|
|
154
154
|
/**
|
|
@@ -164,7 +164,7 @@ export declare class EunomiaToast extends EunomiaToast_base {
|
|
|
164
164
|
duration: number;
|
|
165
165
|
/**
|
|
166
166
|
* Whether the toast is currently shown.
|
|
167
|
-
* @default
|
|
167
|
+
* @default false
|
|
168
168
|
*/
|
|
169
169
|
open: boolean;
|
|
170
170
|
/**
|
|
@@ -249,7 +249,7 @@ export declare class EunomiaToast extends EunomiaToast_base {
|
|
|
249
249
|
private enteringFrameId?;
|
|
250
250
|
/**
|
|
251
251
|
* Lifecycle callback triggered when the component connects to the DOM.
|
|
252
|
-
* A toast
|
|
252
|
+
* A toast inserted with `open` starts life already shown, with no
|
|
253
253
|
* prior "closed" paint for a plain CSS transition to animate away from —
|
|
254
254
|
* unlike a later {@link show}, which always toggles from an already-
|
|
255
255
|
* rendered closed state. Without `@starting-style` (dropped elsewhere in
|
|
@@ -15,7 +15,6 @@ import { addDialogOverlay, removeDialogOverlay, } from "../../../utils/dialog-st
|
|
|
15
15
|
import { resolveIcon } from "../../../utils/severity-icon.utils.js";
|
|
16
16
|
import { toastStyles } from "./toast.styles.js";
|
|
17
17
|
import { LocalizableMixin } from "../../../mixins/localizable.mixin.js";
|
|
18
|
-
import { defaultTrueConverter } from "../../../utils/boolean.utils.js";
|
|
19
18
|
/**
|
|
20
19
|
* Tag name of the toast component.
|
|
21
20
|
*/
|
|
@@ -66,11 +65,11 @@ const EXIT_FALLBACK_MS = 600;
|
|
|
66
65
|
* @attr {boolean} [hide-icon=false] - Hides the icon entirely
|
|
67
66
|
* @prop {string} [richText] - Lightweight formatted content rendered above the description slot, combining with it. Supports simple lists, links, bold, and italic text
|
|
68
67
|
* @attr {string} [rich-text] - Lightweight formatted content rendered above the description slot
|
|
69
|
-
* @prop {boolean} [closeable=
|
|
68
|
+
* @prop {boolean} [closeable=false] - Shows a close button. Always shown when severity is critical, so an error toast is never left with no way to dismiss it
|
|
70
69
|
* @prop {string} [closeLabel] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
71
70
|
* @attr {string} [close-label] - The accessible label of the close button. Defaults to the localized string for the current locale (English: "Close")
|
|
72
71
|
* @prop {number} [duration=5000] - Milliseconds before the toast auto-dismisses. Zero, or a critical severity regardless of this value, disables auto-dismiss entirely, requiring a manual close
|
|
73
|
-
* @prop {boolean} [open=
|
|
72
|
+
* @prop {boolean} [open=false] - Whether the toast is currently shown. Left off, the toast is inserted closed until show is called
|
|
74
73
|
* @cssprop [--toast-z-index] - Sets the stacking order of the toast, only used where the top layer is not supported
|
|
75
74
|
* @cssprop [--toast-viewport-gap] - Sets the distance between the toast and the screen edges its position anchors to
|
|
76
75
|
* @cssprop [--toast-stack-gap] - Sets the gap between stacked toasts sharing the same position
|
|
@@ -113,9 +112,9 @@ let EunomiaToast = class EunomiaToast extends LocalizableMixin(LitElement) {
|
|
|
113
112
|
/**
|
|
114
113
|
* Shows a close button. Forced to render regardless of this value when
|
|
115
114
|
* `severity` is `critical`.
|
|
116
|
-
* @default
|
|
115
|
+
* @default false
|
|
117
116
|
*/
|
|
118
|
-
this.closeable =
|
|
117
|
+
this.closeable = false;
|
|
119
118
|
/**
|
|
120
119
|
* Milliseconds before the toast auto-dismisses. `0` disables auto-dismiss
|
|
121
120
|
* entirely, same as `severity="critical"` regardless of this value.
|
|
@@ -124,9 +123,9 @@ let EunomiaToast = class EunomiaToast extends LocalizableMixin(LitElement) {
|
|
|
124
123
|
this.duration = 5000;
|
|
125
124
|
/**
|
|
126
125
|
* Whether the toast is currently shown.
|
|
127
|
-
* @default
|
|
126
|
+
* @default false
|
|
128
127
|
*/
|
|
129
|
-
this.open =
|
|
128
|
+
this.open = false;
|
|
130
129
|
/**
|
|
131
130
|
* Milliseconds left on the auto-dismiss timer — the full `duration` once
|
|
132
131
|
* armed, then whatever remains once paused by hover/focus.
|
|
@@ -207,7 +206,7 @@ let EunomiaToast = class EunomiaToast extends LocalizableMixin(LitElement) {
|
|
|
207
206
|
}
|
|
208
207
|
/**
|
|
209
208
|
* Lifecycle callback triggered when the component connects to the DOM.
|
|
210
|
-
* A toast
|
|
209
|
+
* A toast inserted with `open` starts life already shown, with no
|
|
211
210
|
* prior "closed" paint for a plain CSS transition to animate away from —
|
|
212
211
|
* unlike a later {@link show}, which always toggles from an already-
|
|
213
212
|
* rendered closed state. Without `@starting-style` (dropped elsewhere in
|
|
@@ -594,7 +593,7 @@ __decorate([
|
|
|
594
593
|
property({ attribute: "rich-text" })
|
|
595
594
|
], EunomiaToast.prototype, "richText", void 0);
|
|
596
595
|
__decorate([
|
|
597
|
-
property({
|
|
596
|
+
property({ type: Boolean, reflect: true })
|
|
598
597
|
], EunomiaToast.prototype, "closeable", void 0);
|
|
599
598
|
__decorate([
|
|
600
599
|
property({ attribute: "close-label" })
|
|
@@ -603,7 +602,7 @@ __decorate([
|
|
|
603
602
|
property({ type: Number })
|
|
604
603
|
], EunomiaToast.prototype, "duration", void 0);
|
|
605
604
|
__decorate([
|
|
606
|
-
property({
|
|
605
|
+
property({ type: Boolean, reflect: true })
|
|
607
606
|
], EunomiaToast.prototype, "open", void 0);
|
|
608
607
|
__decorate([
|
|
609
608
|
queryAssignedElements({ slot: "description" })
|
|
@@ -57,7 +57,7 @@ const base = css `
|
|
|
57
57
|
visibility 0s linear var(--_transitionDuration);
|
|
58
58
|
}
|
|
59
59
|
|
|
60
|
-
:host([open]
|
|
60
|
+
:host([open]) {
|
|
61
61
|
visibility: visible;
|
|
62
62
|
opacity: 1;
|
|
63
63
|
--_baseX: 0px;
|
|
@@ -68,7 +68,7 @@ const base = css `
|
|
|
68
68
|
visibility 0s linear 0s;
|
|
69
69
|
}
|
|
70
70
|
|
|
71
|
-
:host([open]
|
|
71
|
+
:host([open][entering]) {
|
|
72
72
|
visibility: hidden;
|
|
73
73
|
opacity: 0;
|
|
74
74
|
--_baseX: var(--_enterX, 0px);
|
|
@@ -322,7 +322,7 @@ const base = css `
|
|
|
322
322
|
--button-text: var(--_onFilled, #fff);
|
|
323
323
|
}
|
|
324
324
|
|
|
325
|
-
:host([closeable]
|
|
325
|
+
:host([closeable]) #toast {
|
|
326
326
|
padding-right: calc(
|
|
327
327
|
var(
|
|
328
328
|
--toast-padding,
|