diff options
| author | Volpeon <git@volpeon.ink> | 2026-02-28 13:47:05 +0100 |
|---|---|---|
| committer | Volpeon <git@volpeon.ink> | 2026-02-28 13:47:05 +0100 |
| commit | bc34dd1cb273fabdc965b356b9d59e932f67bcb1 (patch) | |
| tree | 0de48de91b1f77b76eb54ec5c08527e1da0366fc | |
| parent | Update _lightbox.scss (diff) | |
| download | iro-design-bc34dd1cb273fabdc965b356b9d59e932f67bcb1.tar.gz iro-design-bc34dd1cb273fabdc965b356b9d59e932f67bcb1.tar.bz2 iro-design-bc34dd1cb273fabdc965b356b9d59e932f67bcb1.zip | |
Better handling of dialogs/modals/popovers
| -rw-r--r-- | src/_iro-design.scss | 1 | ||||
| -rw-r--r-- | src/objects/_lightbox.scss | 8 | ||||
| -rw-r--r-- | src/scopes/_implicit.scss | 6 |
3 files changed, 14 insertions, 1 deletions
diff --git a/src/_iro-design.scss b/src/_iro-design.scss index 83d5a9d..dbb4908 100644 --- a/src/_iro-design.scss +++ b/src/_iro-design.scss | |||
| @@ -50,6 +50,7 @@ $breakpoints: ( | |||
| 50 | @forward 'objects/button' as o-button--*; | 50 | @forward 'objects/button' as o-button--*; |
| 51 | @forward 'objects/card' as o-card--*; | 51 | @forward 'objects/card' as o-card--*; |
| 52 | @forward 'objects/checkbox' as o-checkbox--*; | 52 | @forward 'objects/checkbox' as o-checkbox--*; |
| 53 | @forward 'objects/dialog' as o-dialog--*; | ||
| 53 | @forward 'objects/divider' as o-divider--*; | 54 | @forward 'objects/divider' as o-divider--*; |
| 54 | @forward 'objects/emoji' as o-emoji--*; | 55 | @forward 'objects/emoji' as o-emoji--*; |
| 55 | @forward 'objects/figure' as o-figure--*; | 56 | @forward 'objects/figure' as o-figure--*; |
diff --git a/src/objects/_lightbox.scss b/src/objects/_lightbox.scss index e5dbb38..32fe6b4 100644 --- a/src/objects/_lightbox.scss +++ b/src/objects/_lightbox.scss | |||
| @@ -34,16 +34,22 @@ | |||
| 34 | overflow: hidden; | 34 | overflow: hidden; |
| 35 | background-color: transparent; | 35 | background-color: transparent; |
| 36 | border: 0; | 36 | border: 0; |
| 37 | pointer-events: none; | ||
| 37 | 38 | ||
| 38 | &::backdrop { | 39 | &::backdrop { |
| 39 | background-color: props.get(backdrop.$bg-color); | 40 | background-color: props.get(backdrop.$bg-color); |
| 40 | backdrop-filter: blur(props.get(backdrop.$blur)); | 41 | backdrop-filter: blur(props.get(backdrop.$blur)); |
| 41 | } | 42 | } |
| 42 | 43 | ||
| 43 | &[open] { | 44 | &[open], |
| 45 | &:popover-open { | ||
| 44 | display: grid; | 46 | display: grid; |
| 45 | } | 47 | } |
| 46 | 48 | ||
| 49 | > * { | ||
| 50 | pointer-events: auto; | ||
| 51 | } | ||
| 52 | |||
| 47 | @include bem.elem('info', 'controls') { | 53 | @include bem.elem('info', 'controls') { |
| 48 | position: absolute; | 54 | position: absolute; |
| 49 | inset-block-start: props.get(vars.$pad); | 55 | inset-block-start: props.get(vars.$pad); |
diff --git a/src/scopes/_implicit.scss b/src/scopes/_implicit.scss index cee1639..c11d396 100644 --- a/src/scopes/_implicit.scss +++ b/src/scopes/_implicit.scss | |||
| @@ -17,6 +17,12 @@ | |||
| 17 | html { | 17 | html { |
| 18 | accent-color: props.get(core.$theme, --accent, --600); | 18 | accent-color: props.get(core.$theme, --accent, --600); |
| 19 | scrollbar-color: props.get(core.$theme, --text-disabled) transparent; | 19 | scrollbar-color: props.get(core.$theme, --text-disabled) transparent; |
| 20 | |||
| 21 | &:has(dialog[open]), | ||
| 22 | &:has(.is-modal:popover-open) { | ||
| 23 | overflow: hidden; | ||
| 24 | pointer-events: none; | ||
| 25 | } | ||
| 20 | } | 26 | } |
| 21 | 27 | ||
| 22 | body { | 28 | body { |
