summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/layouts/_container.scss12
-rw-r--r--src/layouts/_container.vars.scss16
-rw-r--r--src/objects/_card.vars.scss3
-rw-r--r--src/objects/_heading.scss22
-rw-r--r--src/objects/_heading.vars.scss54
-rw-r--r--src/objects/_tabbar.scss4
-rw-r--r--src/objects/_tabbar.vars.scss1
-rw-r--r--src/scopes/_headings.scss21
8 files changed, 130 insertions, 3 deletions
diff --git a/src/layouts/_container.scss b/src/layouts/_container.scss
index 0ae68c1..05d99a8 100644
--- a/src/layouts/_container.scss
+++ b/src/layouts/_container.scss
@@ -24,5 +24,17 @@
24 @include bem.modifier('pad-b') { 24 @include bem.modifier('pad-b') {
25 padding-block: props.get(vars.$pad-b); 25 padding-block: props.get(vars.$pad-b);
26 } 26 }
27
28 @each $mod, $pad-i, $pad-b in vars.$sizes {
29 @include bem.modifier($mod) {
30 @include bem.modifier('pad-i') {
31 padding-inline: props.get($pad-i);
32 }
33
34 @include bem.modifier('pad-b') {
35 padding-block: props.get($pad-b);
36 }
37 }
38 }
27 } 39 }
28} 40}
diff --git a/src/layouts/_container.vars.scss b/src/layouts/_container.vars.scss
index 8f0cef6..784203f 100644
--- a/src/layouts/_container.vars.scss
+++ b/src/layouts/_container.vars.scss
@@ -12,7 +12,7 @@ $fixed-sizes: (
12 'fixed': $fixed 12 'fixed': $fixed
13) !default; 13) !default;
14 14
15$pad-i: props.def(--l-container--pad-i, props.get(core.$size--400)) !default; 15$pad-i: props.def(--l-container--pad-i, props.get(core.$size--600)) !default;
16$pad-b: props.def(--l-container--pad-b, props.get(core.$size--800)) !default; 16$pad-b: props.def(--l-container--pad-b, props.get(core.$size--800)) !default;
17 17
18$pad-i--sm: props.def(--l-container--pad-i, props.get(core.$size--200), 'sm') !default; 18$pad-i--sm: props.def(--l-container--pad-i, props.get(core.$size--200), 'sm') !default;
@@ -20,3 +20,17 @@ $pad-b--sm: props.def(--l-container--pad-b, props.get(core.$size--600), 'sm') !d
20 20
21$pad-i--xs: props.def(--l-container--pad-i, props.get(core.$size--150), 'xs') !default; 21$pad-i--xs: props.def(--l-container--pad-i, props.get(core.$size--150), 'xs') !default;
22$pad-b--xs: props.def(--l-container--pad-b, props.get(core.$size--450), 'xs') !default; 22$pad-b--xs: props.def(--l-container--pad-b, props.get(core.$size--450), 'xs') !default;
23
24$sm--pad-i: props.def(--l-container--sm--pad-i, props.get(core.$size--300)) !default;
25$sm--pad-b: props.def(--l-container--sm--pad-b, props.get(core.$size--800)) !default;
26
27$sm--pad-i--sm: props.def(--l-container--sm--pad-i, props.get(core.$size--200), 'sm') !default;
28$sm--pad-b--sm: props.def(--l-container--sm--pad-b, props.get(core.$size--600), 'sm') !default;
29
30$sm--pad-i--xs: props.def(--l-container--sm--pad-i, props.get(core.$size--150), 'xs') !default;
31$sm--pad-b--xs: props.def(--l-container--sm--pad-b, props.get(core.$size--450), 'xs') !default;
32
33$sizes: (
34 'sm' $sm--pad-i $sm--pad-b,
35 'md' $sm--pad-i $sm--pad-b,
36) !default;
diff --git a/src/objects/_card.vars.scss b/src/objects/_card.vars.scss
index ebfba10..1e6448a 100644
--- a/src/objects/_card.vars.scss
+++ b/src/objects/_card.vars.scss
@@ -37,3 +37,6 @@ $key-focus--outline-color: props.def(--o-card--key-focus--outline-color, props.g
37 37
38$quiet--image-color: props.def(--o-card--quiet--image-color, props.get(core.$theme, --bg-base), 'color') !default; 38$quiet--image-color: props.def(--o-card--quiet--image-color, props.get(core.$theme, --bg-base), 'color') !default;
39$quiet--hover--image-color: props.def(--o-card--quiet--hover--image-color, props.get(core.$theme, --border), 'color') !default; 39$quiet--hover--image-color: props.def(--o-card--quiet--hover--image-color, props.get(core.$theme, --border), 'color') !default;
40
41$pad-i--sm: props.def(--o-card--pad-i, props.get(core.$size--200), 'sm') !default;
42$pad-b--sm: props.def(--o-card--pad-b, props.get(core.$size--175), 'sm') !default;
diff --git a/src/objects/_heading.scss b/src/objects/_heading.scss
index 2d27658..1d6e2dc 100644
--- a/src/objects/_heading.scss
+++ b/src/objects/_heading.scss
@@ -1,4 +1,6 @@
1@use 'sass:map';
1@use 'sass:meta'; 2@use 'sass:meta';
3@use 'sass:string';
2@use 'iro-sass/src/bem'; 4@use 'iro-sass/src/bem';
3@use 'iro-sass/src/props'; 5@use 'iro-sass/src/props';
4@use '../props' as *; 6@use '../props' as *;
@@ -60,5 +62,25 @@
60 } 62 }
61 } 63 }
62 } 64 }
65
66 @each $theme in map.keys(props.get(vars.$static-themes)) {
67 @include bem.modifier(string.slice($theme, 3)) {
68 color: props.get(vars.$static-themes, $theme, --text-color);
69
70 @each $mod, $value in vars.$sizes {
71 @include bem.modifier($mod) {
72 color: props.get(vars.$static-themes, $theme, --#{$mod}, --text-color);
73 }
74 }
75
76 @include bem.modifier('display') {
77 @each $mod, $value in vars.$sizes {
78 @include bem.modifier($mod) {
79 color: props.get(vars.$static-themes, $theme, --display, --#{$mod}, --text-color);
80 }
81 }
82 }
83 }
84 }
63 } 85 }
64} 86}
diff --git a/src/objects/_heading.vars.scss b/src/objects/_heading.vars.scss
index ccef017..cf07488 100644
--- a/src/objects/_heading.vars.scss
+++ b/src/objects/_heading.vars.scss
@@ -1,3 +1,5 @@
1@use 'sass:map';
2@use 'sass:string';
1@use 'iro-sass/src/props'; 3@use 'iro-sass/src/props';
2@use '../core.vars' as core; 4@use '../core.vars' as core;
3 5
@@ -151,3 +153,55 @@ $display--sizes: (
151 'xl' $display--font-family--xl $display--line-height--xl $display--font-size--xl $display--font-weight--xl $display--letter-spacing--xl $display--feature-settings--xl $display--text-transform--xl $display--text-color--xl, 153 'xl' $display--font-family--xl $display--line-height--xl $display--font-size--xl $display--font-weight--xl $display--letter-spacing--xl $display--feature-settings--xl $display--text-transform--xl $display--text-color--xl,
152 'xxl' $display--font-family--xxl $display--line-height--xxl $display--font-size--xxl $display--font-weight--xxl $display--letter-spacing--xxl $display--feature-settings--xxl $display--text-transform--xxl $display--text-color--xxl, 154 'xxl' $display--font-family--xxl $display--line-height--xxl $display--font-size--xxl $display--font-weight--xxl $display--letter-spacing--xxl $display--feature-settings--xxl $display--text-transform--xxl $display--text-color--xxl,
153) !default; 155) !default;
156
157$static-themes: props.def(--o-heading, (), 'color');
158
159@each $theme in map.keys(props.get(core.$transparent-colors)) {
160 $heading-theme: --static-#{string.slice($theme, 3)};
161
162 $static-themes: props.merge($static-themes, (
163 $heading-theme: (
164 --text-color: props.get(core.$transparent-colors, $theme, --900),
165
166 --xxl: (
167 --text-color: props.get(core.$transparent-colors, $theme, --900),
168 ),
169 --xl: (
170 --text-color: props.get(core.$transparent-colors, $theme, --900),
171 ),
172 --lg: (
173 --text-color: props.get(core.$transparent-colors, $theme, --900),
174 ),
175 --md: (
176 --text-color: props.get(core.$transparent-colors, $theme, --900),
177 ),
178 --sm: (
179 --text-color: props.get(core.$transparent-colors, $theme, --500),
180 ),
181 --xs: (
182 --text-color: props.get(core.$transparent-colors, $theme, --500),
183 ),
184
185 --display: (
186 --xxl: (
187 --text-color: props.get(core.$transparent-colors, $theme, --900),
188 ),
189 --xl: (
190 --text-color: props.get(core.$transparent-colors, $theme, --900),
191 ),
192 --lg: (
193 --text-color: props.get(core.$transparent-colors, $theme, --900),
194 ),
195 --md: (
196 --text-color: props.get(core.$transparent-colors, $theme, --900),
197 ),
198 --sm: (
199 --text-color: props.get(core.$transparent-colors, $theme, --900),
200 ),
201 --xs: (
202 --text-color: props.get(core.$transparent-colors, $theme, --500),
203 ),
204 ),
205 )
206 ));
207}
diff --git a/src/objects/_tabbar.scss b/src/objects/_tabbar.scss
index a9daaae..eee38e9 100644
--- a/src/objects/_tabbar.scss
+++ b/src/objects/_tabbar.scss
@@ -18,8 +18,8 @@
18 18
19 &::after { 19 &::after {
20 display: block; 20 display: block;
21 block-size: props.get(vars.$indicator--width); 21 block-size: props.get(vars.$border--width);
22 margin-block-start: calc(-1 * props.get(vars.$indicator--width)); 22 margin-block-start: calc(-1 * props.get(vars.$border--width));
23 content: ''; 23 content: '';
24 background-color: props.get(vars.$railing--bg-color); 24 background-color: props.get(vars.$railing--bg-color);
25 } 25 }
diff --git a/src/objects/_tabbar.vars.scss b/src/objects/_tabbar.vars.scss
index 4095629..3cf01fd 100644
--- a/src/objects/_tabbar.vars.scss
+++ b/src/objects/_tabbar.vars.scss
@@ -8,6 +8,7 @@ $rounding: props.def(--o-tabbar--rounding, props.get(core.$rounding--sm)) !def
8$spacing: props.def(--o-tabbar--spacing, props.get(core.$size--400)) !default; 8$spacing: props.def(--o-tabbar--spacing, props.get(core.$size--400)) !default;
9$tab--pad-i: props.def(--o-tabbar--tab--pad-i, props.get(core.$size--50)) !default; 9$tab--pad-i: props.def(--o-tabbar--tab--pad-i, props.get(core.$size--50)) !default;
10 10
11$border--width: props.def(--o-tabbar--border--width, props.get(core.$border-width--thin)) !default;
11$indicator--width: props.def(--o-tabbar--indicator--width, props.get(core.$border-width--medium)) !default; 12$indicator--width: props.def(--o-tabbar--indicator--width, props.get(core.$border-width--medium)) !default;
12 13
13$key-focus--border-width: props.def(--o-tabbar--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; 14$key-focus--border-width: props.def(--o-tabbar--key-focus--border-width, props.get(core.$key-focus--border-width)) !default;
diff --git a/src/scopes/_headings.scss b/src/scopes/_headings.scss
index 0a56ef1..362b116 100644
--- a/src/scopes/_headings.scss
+++ b/src/scopes/_headings.scss
@@ -1,4 +1,5 @@
1@use 'sass:map'; 1@use 'sass:map';
2@use 'sass:string';
2@use 'iro-sass/src/bem'; 3@use 'iro-sass/src/bem';
3@use 'iro-sass/src/props'; 4@use 'iro-sass/src/props';
4@use '../objects/heading.vars' as heading; 5@use '../objects/heading.vars' as heading;
@@ -67,5 +68,25 @@
67 } 68 }
68 } 69 }
69 } 70 }
71
72 @each $theme in map.keys(props.get(heading.$static-themes)) {
73 @include bem.modifier(string.slice($theme, 3)) {
74 color: props.get(heading.$static-themes, $theme, --text-color);
75
76 @each $mod, $value in heading.$sizes {
77 #{map.get($-size-map, $mod)} {
78 color: props.get(heading.$static-themes, $theme, --#{$mod}, --text-color);
79 }
80 }
81
82 @include bem.modifier('display') {
83 @each $mod, $value in heading.$sizes {
84 #{map.get($-size-map, $mod)} {
85 color: props.get(heading.$static-themes, $theme, --display, --#{$mod}, --text-color);
86 }
87 }
88 }
89 }
90 }
70 } 91 }
71} 92}