summaryrefslogtreecommitdiffstats
path: root/src/objects/_dialog.scss
diff options
context:
space:
mode:
Diffstat (limited to 'src/objects/_dialog.scss')
-rw-r--r--src/objects/_dialog.scss83
1 files changed, 36 insertions, 47 deletions
diff --git a/src/objects/_dialog.scss b/src/objects/_dialog.scss
index 54e9c59..f6e8e63 100644
--- a/src/objects/_dialog.scss
+++ b/src/objects/_dialog.scss
@@ -1,18 +1,20 @@
1@use 'iro-sass/src/index' as iro; 1@use 'iro-sass/src/index' as iro;
2@use '../functions' as fn; 2@use '../functions' as fn;
3 3
4@use 'header';
5
4@include iro.props-namespace('dialog') { 6@include iro.props-namespace('dialog') {
5 @include iro.props-store(( 7 @include iro.props-store((
6 --dims: ( 8 --dims: (
7 --pad-x: fn.global-dim(--size --300),
8 --pad-y: fn.global-dim(--size --300),
9 --width-sm: iro.fn-px-to-rem(500px), 9 --width-sm: iro.fn-px-to-rem(500px),
10 --width-md: iro.fn-px-to-rem(800px), 10 --width-md: iro.fn-px-to-rem(800px),
11 --width-lg: iro.fn-px-to-rem(1100px), 11 --width-lg: iro.fn-px-to-rem(1100px),
12 --rounding: 3px, 12 --rounding: 3px,
13 --sidebar: ( 13 --border: 1px,
14 --pad-x: fn.global-dim(--size --150), 14
15 --pad-y: fn.global-dim(--size --300), 15 --body: (
16 --pad-x: fn.global-dim(--size --200),
17 --pad-y: fn.global-dim(--size --200),
16 ) 18 )
17 ), 19 ),
18 ), 'dims'); 20 ), 'dims');
@@ -26,20 +28,18 @@
26 28
27 @include iro.props-store(( 29 @include iro.props-store((
28 --colors: ( 30 --colors: (
31 --border: rgba(#000, .05),
29 --shadow: 0 .2em .5em rgba(#000, .2), 32 --shadow: 0 .2em .5em rgba(#000, .2),
33
30 --sidebar: ( 34 --sidebar: (
31 --bg: fn.global-color(--bg),
32 --border: fn.global-color(--obj), 35 --border: fn.global-color(--obj),
33 ) 36 ),
34 ), 37 ),
35 ), 'colors'); 38 ), 'colors');
36 39
37 @include iro.props-store(( 40 @include iro.props-store((
38 --colors: ( 41 --colors: (
39 --sidebar: ( 42 --border: rgba(#fff, .2),
40 --bg: fn.global-color(--bg-hi2),
41 --border: fn.global-color(--bg-hi2),
42 ),
43 ), 43 ),
44 ), 'colors-dark'); 44 ), 'colors-dark');
45 45
@@ -48,9 +48,9 @@
48 grid-template-rows: auto 1fr auto; 48 grid-template-rows: auto 1fr auto;
49 grid-template-columns: auto 1fr; 49 grid-template-columns: auto 1fr;
50 grid-template-areas: 50 grid-template-areas:
51 'sidebar header' 51 'sidebar-header header'
52 'sidebar body' 52 'sidebar body'
53 'sidebar footer'; 53 'sidebar footer';
54 position: relative; 54 position: relative;
55 box-sizing: border-box; 55 box-sizing: border-box;
56 width: 100%; 56 width: 100%;
@@ -59,7 +59,7 @@
59 overflow: hidden; 59 overflow: hidden;
60 border-radius: fn.dim(--rounding); 60 border-radius: fn.dim(--rounding);
61 background-color: fn.global-color(--bg); 61 background-color: fn.global-color(--bg);
62 box-shadow: fn.color(--shadow); 62 box-shadow: 0 0 0 1px fn.color(--border), fn.color(--shadow);
63 color: fn.global-color(--fg); 63 color: fn.global-color(--fg);
64 64
65 @include iro.bem-modifier('sm') { 65 @include iro.bem-modifier('sm') {
@@ -70,52 +70,41 @@
70 max-width: fn.dim(--width-lg); 70 max-width: fn.dim(--width-lg);
71 } 71 }
72 72
73 @include iro.bem-elem('sidebar') { 73 @include iro.bem-elem('sidebar-header') {
74 grid-area: sidebar; 74 grid-area: sidebar-header;
75 padding: fn.dim(--sidebar --pad-y) fn.dim(--sidebar --pad-x); 75 border-right: 1px solid fn.color(--sidebar --border);
76 border-right: 1px solid fn.color(--sidebar --border); 76
77 background-color: fn.color(--sidebar --bg); 77 @include iro.bem-sibling-elem('header') {
78 grid-area: header;
79 }
78 } 80 }
79 81
80 @include iro.bem-elem('header') { 82 @include iro.bem-elem('header') {
81 grid-area: header; 83 grid-area: sidebar-header / sidebar-header / header / header;
82 margin: fn.dim(--pad-y) fn.dim(--pad-x) 0; 84 }
83 85
84 @include iro.bem-sibling-elem('body') { 86 @include iro.bem-elem('close-btn') {
85 &::before { 87 margin-left: auto;
86 display: none;
87 }
88 }
89 } 88 }
90 89
91 @include iro.bem-elem('body') { 90 @include iro.bem-elem('label') {
92 grid-area: body; 91 padding: 0 calc(fn.dim(--body --pad-x) - fn.foreign-dim(--header, --pad-x));
93 min-height: 0; 92 }
94 margin: fn.dim(--pad-y) fn.dim(--pad-x);
95 93
96 &::before { 94 @include iro.bem-elem('sidebar') {
97 content: ''; 95 grid-area: sidebar;
98 width: fn.global-dim(--size --500);
99 height: fn.global-dim(--size --500);
100 float: right;
101 }
102 } 96 }
103 97
104 @include iro.bem-elem('close-btn') { 98 @include iro.bem-elem('body') {
105 position: absolute; 99 grid-area: body;
106 top: fn.global-dim(--size --150); 100 min-height: 0;
107 right: fn.global-dim(--size --150); 101 padding: fn.dim(--body --pad-y) fn.dim(--body --pad-x);
108 font-size: fn.global-dim(--font-size --150);
109 } 102 }
110 103
111 @include iro.bem-elem('footer') { 104 @include iro.bem-elem('footer') {
112 grid-area: footer; 105 grid-area: footer;
113 justify-content: flex-end; 106 justify-content: flex-end;
114 margin: 0 fn.dim(--pad-x) fn.dim(--pad-y); 107 padding: fn.dim(--body --pad-y) fn.dim(--body --pad-x);
115 }
116
117 @include iro.bem-elem('title') {
118 margin-top: 0;
119 } 108 }
120 } 109 }
121} 110}