summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorVolpeon <git@volpeon.ink>2026-02-28 13:47:05 +0100
committerVolpeon <git@volpeon.ink>2026-02-28 13:47:05 +0100
commitbc34dd1cb273fabdc965b356b9d59e932f67bcb1 (patch)
tree0de48de91b1f77b76eb54ec5c08527e1da0366fc /src
parentUpdate _lightbox.scss (diff)
downloadiro-design-bc34dd1cb273fabdc965b356b9d59e932f67bcb1.tar.gz
iro-design-bc34dd1cb273fabdc965b356b9d59e932f67bcb1.tar.bz2
iro-design-bc34dd1cb273fabdc965b356b9d59e932f67bcb1.zip
Better handling of dialogs/modals/popovers
Diffstat (limited to 'src')
-rw-r--r--src/_iro-design.scss1
-rw-r--r--src/objects/_lightbox.scss8
-rw-r--r--src/scopes/_implicit.scss6
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 {