summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/_config.defaults.scss14
-rw-r--r--src/_core.vars.scss6
-rw-r--r--src/_utils.scss4
-rw-r--r--src/layouts/_card-list.scss47
-rw-r--r--src/layouts/_card-list.vars.scss22
-rw-r--r--src/objects/_action-button.scss24
-rw-r--r--src/objects/_action-button.vars.scss56
-rw-r--r--src/objects/_card.scss45
-rw-r--r--src/objects/_card.vars.scss6
-rw-r--r--src/objects/_checkbox.vars.scss2
-rw-r--r--src/objects/_divider.scss35
-rw-r--r--src/objects/_divider.vars.scss20
-rw-r--r--src/objects/_emoji.vars.scss2
-rw-r--r--src/objects/_popover.vars.scss9
-rw-r--r--src/objects/_radio.vars.scss2
-rw-r--r--src/objects/_side-nav.vars.scss2
-rw-r--r--src/objects/_switch.vars.scss2
-rw-r--r--src/objects/_tabbar.vars.scss2
-rw-r--r--src/objects/_table.vars.scss2
-rw-r--r--src/objects/_thumbnail.vars.scss2
-rw-r--r--src/scopes/_code.vars.scss4
-rw-r--r--tpl/objects/card.pug8
-rw-r--r--tpl/views/card.pug32
-rw-r--r--tpl/views/divider.pug13
24 files changed, 284 insertions, 77 deletions
diff --git a/src/_config.defaults.scss b/src/_config.defaults.scss
index 3f02ecc..799ee47 100644
--- a/src/_config.defaults.scss
+++ b/src/_config.defaults.scss
@@ -126,7 +126,8 @@ $theme-light: (
126 --bg-base: --base --200, 126 --bg-base: --base --200,
127 127
128 --box: ( 128 --box: (
129 --border: --base --200, 129 --border: --base --200,
130 --border-strong: --base --300,
130 ), 131 ),
131 )), 132 )),
132 133
@@ -183,13 +184,14 @@ $theme-dark: (
183 --bg-base: --base --50, 184 --bg-base: --base --50,
184 --bg-l1: --base --75, 185 --bg-l1: --base --75,
185 --bg-l2: --base --100, 186 --bg-l2: --base --100,
186 )),
187
188 --constants: (
189 --shadow: rgba(#000, .1),
190 187
191 --box: ( 188 --box: (
192 --border: rgba(#000, .1), 189 --border: --base --100,
190 --border-strong: --base --100,
193 ), 191 ),
192 )),
193
194 --constants: (
195 --shadow: rgba(#000, .35),
194 ), 196 ),
195); 197);
diff --git a/src/_core.vars.scss b/src/_core.vars.scss
index 7c546d7..19ebce2 100644
--- a/src/_core.vars.scss
+++ b/src/_core.vars.scss
@@ -95,9 +95,9 @@ $shadow--l1--blur: props.def(--shadow--l1--blur, 3px) !default;
95$shadow--l1--grow: props.def(--shadow--l1--grow, -1px) !default; 95$shadow--l1--grow: props.def(--shadow--l1--grow, -1px) !default;
96 96
97$shadow--l2--x: props.def(--shadow--l2--x, 0) !default; 97$shadow--l2--x: props.def(--shadow--l2--x, 0) !default;
98$shadow--l2--y: props.def(--shadow--l2--y, 4px) !default; 98$shadow--l2--y: props.def(--shadow--l2--y, 5px) !default;
99$shadow--l2--blur: props.def(--shadow--l2--blur, 8px) !default; 99$shadow--l2--blur: props.def(--shadow--l2--blur, 12px) !default;
100$shadow--l2--grow: props.def(--shadow--l2--grow, -3px) !default; 100$shadow--l2--grow: props.def(--shadow--l2--grow, -4px) !default;
101 101
102$rounding: props.def(--rounding, 8px) !default; 102$rounding: props.def(--rounding, 8px) !default;
103$rounding--sm: props.def(--rounding--sm, 4px) !default; 103$rounding--sm: props.def(--rounding--sm, 4px) !default;
diff --git a/src/_utils.scss b/src/_utils.scss
index 445e5c6..1311d32 100644
--- a/src/_utils.scss
+++ b/src/_utils.scss
@@ -271,6 +271,10 @@ $-sizes: (
271 border-radius: props.get(vars.$rounding); 271 border-radius: props.get(vars.$rounding);
272 } 272 }
273 273
274 @include bem.utility('br-round-sm') {
275 border-radius: props.get(vars.$rounding--sm);
276 }
277
274 @each $dir, $suffix in $-dirs { 278 @each $dir, $suffix in $-dirs {
275 @include bem.utility('m#{$dir}-auto') { 279 @include bem.utility('m#{$dir}-auto') {
276 margin#{$suffix}: auto; 280 margin#{$suffix}: auto;
diff --git a/src/layouts/_card-list.scss b/src/layouts/_card-list.scss
index c8c3d18..cca6e72 100644
--- a/src/layouts/_card-list.scss
+++ b/src/layouts/_card-list.scss
@@ -6,7 +6,6 @@
6 6
7@forward 'card-list.vars'; 7@forward 'card-list.vars';
8@use 'card-list.vars' as vars; 8@use 'card-list.vars' as vars;
9@use '../objects/card.vars' as card;
10 9
11@mixin styles { 10@mixin styles {
12 @include materialize-at-root(meta.module-variables('vars')); 11 @include materialize-at-root(meta.module-variables('vars'));
@@ -17,22 +16,33 @@
17 gap: props.get(vars.$row-gap); 16 gap: props.get(vars.$row-gap);
18 17
19 @include bem.modifier('merge') { 18 @include bem.modifier('merge') {
20 position: relative; 19 position: relative;
21 gap: 0; 20 gap: calc(2 * props.get(vars.$merge-padding) + props.get(vars.$border-width));
21 padding: props.get(vars.$merge-padding);
22 background-color: props.get(vars.$card-bg-color);
23 border: props.get(vars.$border-width) solid props.get(vars.$border-color);
24 border-radius: calc(props.get(vars.$rounding) + props.get(vars.$merge-padding));
22 25
23 @include bem.elem('card') { 26 @include bem.elem('card') {
24 transition: none;
25
26 &:not(:last-child) { 27 &:not(:last-child) {
27 margin-bottom: calc(-1 * props.get(card.$border-width)); 28 position: relative;
28 border-end-start-radius: 0; 29 border-end-start-radius: 0;
29 border-end-end-radius: 0; 30 border-end-end-radius: 0;
31
32 &::after {
33 position: absolute;
34 inset-block-start: calc(100% + props.get(vars.$merge-padding) + props.get(vars.$border-width));
35 inset-inline: calc(-1 * props.get(vars.$merge-padding) - props.get(vars.$border-width));
36 content: '';
37 display: block;
38 block-size: props.get(vars.$border-width);
39 background-color: props.get(vars.$border-color);
40 }
30 } 41 }
31 42
32 &:hover, 43 &:hover,
33 &:active, 44 &:active,
34 &:focus-visible { 45 &:focus-visible {
35 z-index: 10;
36 transform: none; 46 transform: none;
37 } 47 }
38 48
@@ -41,6 +51,27 @@
41 border-start-end-radius: 0; 51 border-start-end-radius: 0;
42 } 52 }
43 } 53 }
54
55 @include bem.modifier('borderless') {
56 border-color: props.get(vars.$card-bg-color);
57
58 @include bem.elem('card') {
59 &:not(:last-child) {
60 &::after {
61 inset-inline: calc(-1 * props.get(vars.$merge-padding) - 2 * props.get(vars.$border-width));
62 }
63 }
64 }
65 }
66
67 @include bem.modifier('shadow') {
68 box-shadow:
69 props.get(vars.$shadow-x)
70 props.get(vars.$shadow-y)
71 props.get(vars.$shadow-blur)
72 props.get(vars.$shadow-grow)
73 props.get(vars.$shadow-color);
74 }
44 } 75 }
45 76
46 @include bem.modifier('quiet') { 77 @include bem.modifier('quiet') {
@@ -63,7 +94,7 @@
63 gap: props.get(vars.$grid-sm--row-gap) props.get(vars.$grid-sm--col-gap); 94 gap: props.get(vars.$grid-sm--row-gap) props.get(vars.$grid-sm--col-gap);
64 95
65 @include bem.modifier("grid-sm") { 96 @include bem.modifier("grid-sm") {
66 @include iro.media--media("<=md") { 97 @include media.media("<=md") {
67 display: flex; 98 display: flex;
68 gap: props.get(vars.$row-gap); 99 gap: props.get(vars.$row-gap);
69 } 100 }
diff --git a/src/layouts/_card-list.vars.scss b/src/layouts/_card-list.vars.scss
index 1c49c0f..75e72cc 100644
--- a/src/layouts/_card-list.vars.scss
+++ b/src/layouts/_card-list.vars.scss
@@ -1,7 +1,12 @@
1@use 'iro-sass/src/props'; 1@use 'iro-sass/src/props';
2@use '../core.vars' as core; 2@use '../core.vars' as core;
3@use '../objects/card' as card;
3 4
4$row-gap: props.def(--l-card-list--row-gap, props.get(core.$size--100)) !default; 5$border-width: props.def(--l-card-list--border-width, props.get(card.$border-width)) !default;
6$merge-padding: props.def(--l-card-list--merge-padding, props.get(core.$border-width--thick)) !default;
7$rounding: props.def(--l-card-list--rounding, props.get(card.$rounding)) !default;
8
9$row-gap: props.def(--l-card-list--row-gap, props.get(core.$size--200)) !default;
5$quiet--row-gap: props.def(--l-card-list--quiet--row-gap, props.get(core.$size--800)) !default; 10$quiet--row-gap: props.def(--l-card-list--quiet--row-gap, props.get(core.$size--800)) !default;
6 11
7$grid--row-gap: props.def(--l-card-list--grid--row-gap, props.get(core.$size--400)) !default; 12$grid--row-gap: props.def(--l-card-list--grid--row-gap, props.get(core.$size--400)) !default;
@@ -9,8 +14,8 @@ $grid--col-gap: props.def(--l-card-list--grid--col-gap, props.get(core.$s
9$grid--col-width: props.def(--l-card-list--grid--col-width, props.get(core.$size--3200)) !default; 14$grid--col-width: props.def(--l-card-list--grid--col-width, props.get(core.$size--3200)) !default;
10$grid--quiet--row-gap: props.def(--l-card-list--grid--quiet--row-gap, props.get(core.$size--800)) !default; 15$grid--quiet--row-gap: props.def(--l-card-list--grid--quiet--row-gap, props.get(core.$size--800)) !default;
11 16
12$grid-sm--row-gap: props.def(--l-card-list--grid-md--row-gap, props.get(core.$size--150)) !default; 17$grid-sm--row-gap: props.def(--l-card-list--grid-md--row-gap, props.get(core.$size--200)) !default;
13$grid-sm--col-gap: props.def(--l-card-list--grid-md--col-gap, props.get(core.$size--150)) !default; 18$grid-sm--col-gap: props.def(--l-card-list--grid-md--col-gap, props.get(core.$size--200)) !default;
14$grid-sm--col-width: props.def(--l-card-list--grid-md--col-width, props.get(core.$size--4600)) !default; 19$grid-sm--col-width: props.def(--l-card-list--grid-md--col-width, props.get(core.$size--4600)) !default;
15$grid-sm--quiet--row-gap: props.def(--l-card-list--grid-sm--quiet--row-gap, props.get(core.$size--800)) !default; 20$grid-sm--quiet--row-gap: props.def(--l-card-list--grid-sm--quiet--row-gap, props.get(core.$size--800)) !default;
16 21
@@ -24,4 +29,13 @@ $masonry-h--col-gap: props.def(--l-card-list--masonry-h--col-gap, props.g
24$masonry-h--row-height: props.def(--l-card-list--masonry-h--row-height, props.get(core.$size--3200)) !default; 29$masonry-h--row-height: props.def(--l-card-list--masonry-h--row-height, props.get(core.$size--3200)) !default;
25$masonry-h--quiet--row-gap: props.def(--l-card-list--masonry-h--quiet--row-gap, props.get(core.$size--800)) !default; 30$masonry-h--quiet--row-gap: props.def(--l-card-list--masonry-h--quiet--row-gap, props.get(core.$size--800)) !default;
26 31
27$border-color: props.def(--l-card-list--border-color, props.get(core.$theme, --border), 'color') !default; 32$shadow-x: props.def(--l-card-list--shadow-x, props.get(card.$shadow-x)) !default;
33$shadow-y: props.def(--l-card-list--shadow-y, props.get(card.$shadow-y)) !default;
34$shadow-blur: props.def(--l-card-list--shadow-blur, props.get(card.$shadow-blur)) !default;
35$shadow-grow: props.def(--l-card-list--shadow-grow, props.get(card.$shadow-grow)) !default;
36
37$card-bg-color: props.def(--l-card-list--bg-color, props.get(card.$bg-color), 'color') !default;
38$border-color: props.def(--l-card-list--border-color, props.get(card.$border-color), 'color') !default;
39$shadow-color: props.def(--l-card-list--shadow-color, props.get(card.$shadow-color), 'color') !default;
40
41$border-color-dark: props.def(--l-card-list--border-color, props.get(core.$theme, --bg-l1), 'dark') !default;
diff --git a/src/objects/_action-button.scss b/src/objects/_action-button.scss
index f4a9a46..c997679 100644
--- a/src/objects/_action-button.scss
+++ b/src/objects/_action-button.scss
@@ -53,30 +53,30 @@
53 } 53 }
54 54
55 @include bem.modifier('static') { 55 @include bem.modifier('static') {
56 color: props.get($theme, list.join($key, --quiet --hover --label-color)...); 56 color: props.get($theme, list.join($key, --static --label-color)...);
57 background-color: props.get($theme, list.join($key, --quiet --hover --bg-color)...); 57 background-color: props.get($theme, list.join($key, --static --bg-color)...);
58 border-color: transparent; 58 border-color: props.get($theme, list.join($key, --static --border-color)...);
59 box-shadow: none; 59 box-shadow: none;
60 60
61 &:link, 61 &:link,
62 &:visited, 62 &:visited,
63 &:enabled { 63 &:enabled {
64 color: props.get($theme, list.join($key, --quiet --hover --label-color)...); 64 color: props.get($theme, list.join($key, --static --label-color)...);
65 background-color: props.get($theme, list.join($key, --quiet --hover --bg-color)...); 65 background-color: props.get($theme, list.join($key, --static --bg-color)...);
66 border-color: transparent; 66 border-color: props.get($theme, list.join($key, --static --border-color)...);
67 box-shadow: none; 67 box-shadow: none;
68 68
69 &:hover, 69 &:hover,
70 &:focus-visible { 70 &:focus-visible {
71 color: props.get($theme, list.join($key, --quiet --active --label-color)...); 71 color: props.get($theme, list.join($key, --static --hover --label-color)...);
72 background-color: props.get($theme, list.join($key, --quiet --active --bg-color)...); 72 background-color: props.get($theme, list.join($key, --static --hover --bg-color)...);
73 border-color: transparent; 73 border-color: props.get($theme, list.join($key, --static --hover --border-color)...);
74 } 74 }
75 75
76 &:active { 76 &:active {
77 color: props.get($theme, list.join($key, --quiet --active --label-color)...); 77 color: props.get($theme, list.join($key, --static --active --label-color)...);
78 background-color: props.get($theme, list.join($key, --quiet --active --bg-color)...); 78 background-color: props.get($theme, list.join($key, --static --active --bg-color)...);
79 border-color: transparent; 79 border-color: props.get($theme, list.join($key, --static --active --border-color)...);
80 } 80 }
81 } 81 }
82 } 82 }
diff --git a/src/objects/_action-button.vars.scss b/src/objects/_action-button.vars.scss
index 84bb415..6693b61 100644
--- a/src/objects/_action-button.vars.scss
+++ b/src/objects/_action-button.vars.scss
@@ -52,7 +52,7 @@ $default-theme-override: () !default;
52$default-theme: map.deep-merge(( 52$default-theme: map.deep-merge((
53 --bg-color: props.get(core.$theme, --bg-l2), 53 --bg-color: props.get(core.$theme, --bg-l2),
54 --label-color: props.get(core.$theme, --text), 54 --label-color: props.get(core.$theme, --text),
55 --border-color: props.get(core.$theme, --border-mute) props.get(core.$theme, --border-mute) props.get(core.$theme, --border), 55 --border-color: props.get(core.$theme, --box, --border) props.get(core.$theme, --box, --border) props.get(core.$theme, --box, --border-strong),
56 --shadow-color: props.get(core.$theme, --shadow), 56 --shadow-color: props.get(core.$theme, --shadow),
57 57
58 --hover: ( 58 --hover: (
@@ -102,6 +102,24 @@ $default-theme: map.deep-merge((
102 ), 102 ),
103 ), 103 ),
104 104
105 --static: (
106 --bg-color: props.get(core.$theme, --border-mute),
107 --label-color: props.get(core.$theme, --heading),
108 --border-color: props.get(core.$theme, --border-mute),
109
110 --hover: (
111 --bg-color: props.get(core.$theme, --border),
112 --label-color: props.get(core.$theme, --heading),
113 --border-color: props.get(core.$theme, --border),
114 ),
115
116 --active: (
117 --bg-color: props.get(core.$theme, --border-strong),
118 --label-color: props.get(core.$theme, --heading),
119 --border-color: props.get(core.$theme, --border-strong),
120 ),
121 ),
122
105 --quiet: ( 123 --quiet: (
106 --label-color: props.get(core.$theme, --text), 124 --label-color: props.get(core.$theme, --text),
107 125
@@ -200,6 +218,24 @@ $default-theme-dark: props.def(--o-action-button, $default-theme-dark, 'dark');
200 ), 218 ),
201 ), 219 ),
202 220
221 --static: (
222 --bg-color: props.get(core.$transparent-colors, $theme, --200),
223 --label-color: props.get(core.$transparent-colors, $theme, --900),
224 --border-color: transparent,
225
226 --hover: (
227 --bg-color: props.get(core.$transparent-colors, $theme, --300),
228 --label-color: props.get(core.$transparent-colors, $theme, --900),
229 --border-color: transparent,
230 ),
231
232 --active: (
233 --bg-color: props.get(core.$transparent-colors, $theme, --400),
234 --label-color: props.get(core.$transparent-colors, $theme, --900),
235 --border-color: transparent,
236 ),
237 ),
238
203 --quiet: ( 239 --quiet: (
204 --label-color: props.get(core.$transparent-colors, $theme, --900), 240 --label-color: props.get(core.$transparent-colors, $theme, --900),
205 241
@@ -283,6 +319,24 @@ $themes-config: (
283 ), 319 ),
284 ), 320 ),
285 321
322 --static: (
323 --bg-color: props.get(core.$theme, $key, --100),
324 --label-color: props.get(core.$theme, $key, --1100),
325 --border-color: props.get(core.$theme, $key, --300),
326
327 --hover: (
328 --bg-color: props.get(core.$theme, $key, --200),
329 --label-color: props.get(core.$theme, $key, --1200),
330 --border-color: props.get(core.$theme, $key, --400),
331 ),
332
333 --active: (
334 --bg-color: props.get(core.$theme, $key, --300),
335 --label-color: props.get(core.$theme, $key, --1300),
336 --border-color: props.get(core.$theme, $key, --500),
337 ),
338 ),
339
286 --quiet: ( 340 --quiet: (
287 --label-color: props.get(core.$theme, $key, --1100), 341 --label-color: props.get(core.$theme, $key, --1100),
288 342
diff --git a/src/objects/_card.scss b/src/objects/_card.scss
index 6b80e2f..e80df2c 100644
--- a/src/objects/_card.scss
+++ b/src/objects/_card.scss
@@ -14,12 +14,11 @@
14 position: relative; 14 position: relative;
15 display: flex; 15 display: flex;
16 flex-direction: column; 16 flex-direction: column;
17 background-clip: content-box;
18 background-color: props.get(vars.$bg-color); 17 background-color: props.get(vars.$bg-color);
19 border: props.get(vars.$border-width) solid transparent; 18 border: props.get(vars.$border-width) solid transparent;
20 border-color: props.get(vars.$border-color); 19 border-color: props.get(vars.$border-color);
21 border-radius: props.get(vars.$rounding); 20 border-radius: props.get(vars.$rounding);
22 transition: transform .2s, background-color .2s, border-color .2s; 21 transition: transform .2s, background-color .2s, border-color .2s, box-shadow .2s;
23 22
24 @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') { 23 @include bem.multi('&:link, &:visited, &:enabled', 'modifier' 'interactive') {
25 &:hover, 24 &:hover,
@@ -28,6 +27,7 @@
28 transform: translateY(props.get(vars.$hover--offset-b)); 27 transform: translateY(props.get(vars.$hover--offset-b));
29 background-color: props.get(vars.$hover--bg-color); 28 background-color: props.get(vars.$hover--bg-color);
30 border-color: props.get(vars.$hover--border-color); 29 border-color: props.get(vars.$hover--border-color);
30 box-shadow: none;
31 } 31 }
32 32
33 &:focus-visible { 33 &:focus-visible {
@@ -42,19 +42,44 @@
42 } 42 }
43 } 43 }
44 44
45 @include bem.modifier('borderless') {
46 border-color: props.get(vars.$bg-color);
47 }
48
49 @include bem.modifier('shadow') {
50 box-shadow:
51 props.get(vars.$shadow-x)
52 props.get(vars.$shadow-y)
53 props.get(vars.$shadow-blur)
54 props.get(vars.$shadow-grow)
55 props.get(vars.$shadow-color);
56
57 @include bem.modifier('quiet') {
58 @include bem.elem('image') {
59 box-shadow:
60 props.get(vars.$shadow-x)
61 props.get(vars.$shadow-y)
62 props.get(vars.$shadow-blur)
63 props.get(vars.$shadow-grow)
64 props.get(vars.$shadow-color);
65 }
66 }
67 }
68
45 @include bem.elem('avatar') { 69 @include bem.elem('avatar') {
46 margin-block-start: props.get(vars.$pad-b); 70 margin-block-start: props.get(vars.$pad-b);
47 margin-inline-start: props.get(vars.$pad-i); 71 margin-inline-start: props.get(vars.$pad-i);
48 } 72 }
49 73
50 @include bem.elem('image') { 74 @include bem.elem('image') {
51 position: relative; 75 position: relative;
52 display: block; 76 display: block;
53 flex: 0 0 auto; 77 flex: 0 0 auto;
54 inline-size: 100%; 78 inline-size: calc(100% + 2 * props.get(vars.$border-width));
55 overflow: hidden; 79 margin: calc(-1 * props.get(vars.$border-width));
56 object-fit: cover; 80 overflow: hidden;
57 transition: background-color .2s, transform .2s, opacity .2s; 81 object-fit: cover;
82 transition: background-color .2s, transform .2s, opacity .2s;
58 83
59 &:first-child { 84 &:first-child {
60 border-start-start-radius: calc(props.get(vars.$rounding) - props.get(vars.$border-width)); 85 border-start-start-radius: calc(props.get(vars.$rounding) - props.get(vars.$border-width));
@@ -179,8 +204,6 @@
179 204
180 @include bem.modifier('thumbnail') { 205 @include bem.modifier('thumbnail') {
181 @include bem.elem('image') { 206 @include bem.elem('image') {
182 inline-size: calc(100% + 2 * props.get(vars.$border-width));
183 margin: calc(-1 * props.get(vars.$border-width));
184 border-radius: props.get(vars.$rounding); 207 border-radius: props.get(vars.$rounding);
185 } 208 }
186 209
diff --git a/src/objects/_card.vars.scss b/src/objects/_card.vars.scss
index c5bbc0d..ebfba10 100644
--- a/src/objects/_card.vars.scss
+++ b/src/objects/_card.vars.scss
@@ -14,10 +14,16 @@ $image-overlay--pad-b: props.def(--o-card--image-overlay--pad-b, props.get($pad-
14 14
15$hover--offset-b: props.def(--o-card--hover--offset-b, calc(-1 * props.get(core.$size--65))) !default; 15$hover--offset-b: props.def(--o-card--hover--offset-b, calc(-1 * props.get(core.$size--65))) !default;
16 16
17$shadow-x: props.def(--o-card--shadow-x, props.get(core.$shadow--l1--x)) !default;
18$shadow-y: props.def(--o-card--shadow-y, props.get(core.$shadow--l1--y)) !default;
19$shadow-blur: props.def(--o-card--shadow-blur, props.get(core.$shadow--l1--blur)) !default;
20$shadow-grow: props.def(--o-card--shadow-grow, props.get(core.$shadow--l1--grow)) !default;
21
17$key-focus--border-width: props.def(--o-card--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; 22$key-focus--border-width: props.def(--o-card--key-focus--border-width, props.get(core.$key-focus--border-width)) !default;
18$key-focus--border-offset: props.def(--o-card--key-focus--border-offset, props.get(core.$key-focus--border-offset)) !default; 23$key-focus--border-offset: props.def(--o-card--key-focus--border-offset, props.get(core.$key-focus--border-offset)) !default;
19$key-focus--outline-width: props.def(--o-card--key-focus--outline-width, props.get(core.$key-focus--outline-width)) !default; 24$key-focus--outline-width: props.def(--o-card--key-focus--outline-width, props.get(core.$key-focus--outline-width)) !default;
20 25
26$shadow-color: props.def(--o-card--shadow-color, props.get(core.$theme, --shadow), 'color') !default;
21$bg-color: props.def(--o-card--bg-color, props.get(core.$theme, --bg-l2), 'color') !default; 27$bg-color: props.def(--o-card--bg-color, props.get(core.$theme, --bg-l2), 'color') !default;
22$border-color: props.def(--o-card--border-color, props.get(core.$theme, --box, --border), 'color') !default; 28$border-color: props.def(--o-card--border-color, props.get(core.$theme, --box, --border), 'color') !default;
23$divider-color: props.def(--o-card--divider-color, props.get(core.$theme, --border-mute), 'color') !default; 29$divider-color: props.def(--o-card--divider-color, props.get(core.$theme, --border-mute), 'color') !default;
diff --git a/src/objects/_checkbox.vars.scss b/src/objects/_checkbox.vars.scss
index aee26e6..25a0d3d 100644
--- a/src/objects/_checkbox.vars.scss
+++ b/src/objects/_checkbox.vars.scss
@@ -7,7 +7,7 @@ $label-gap: props.def(--o-checkbox--label-gap, props.get(core.$size--125))
7$border-width: props.def(--o-checkbox--border-width, props.get(core.$border-width--medium)) !default; 7$border-width: props.def(--o-checkbox--border-width, props.get(core.$border-width--medium)) !default;
8$pad-i: props.def(--o-checkbox--pad-i, props.get(core.$size--65)) !default; 8$pad-i: props.def(--o-checkbox--pad-i, props.get(core.$size--65)) !default;
9$pad-b: props.def(--o-checkbox--pad-b, props.get(core.$size--65)) !default; 9$pad-b: props.def(--o-checkbox--pad-b, props.get(core.$size--65)) !default;
10$rounding: props.def(--o-checkbox--rounding, props.get(core.$rounding)) !default; 10$rounding: props.def(--o-checkbox--rounding, props.get(core.$rounding--sm)) !default;
11$spacing-sibling: props.def(--o-checkbox--spacing-sibling, props.get(core.$size--300)) !default; 11$spacing-sibling: props.def(--o-checkbox--spacing-sibling, props.get(core.$size--300)) !default;
12 12
13$key-focus--border-width: props.def(--o-checkbox--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; 13$key-focus--border-width: props.def(--o-checkbox--key-focus--border-width, props.get(core.$key-focus--border-width)) !default;
diff --git a/src/objects/_divider.scss b/src/objects/_divider.scss
index 4ed8092..9b58e77 100644
--- a/src/objects/_divider.scss
+++ b/src/objects/_divider.scss
@@ -91,6 +91,26 @@
91 } 91 }
92 } 92 }
93 93
94 @include bem.modifier('quiet') {
95 font-size: props.get(vars.$quiet--label-font-size);
96 font-weight: 500;
97 color: props.get(vars.$quiet--label-color);
98
99 &::before,
100 &::after {
101 block-size: props.get(vars.$quiet--border-width);
102 background-color: props.get(vars.$quiet--bg-color);
103 }
104
105 @include bem.modifier('vertical') {
106 background-color: props.get(vars.$vertical--quiet--bg-color);
107 }
108
109 @include bem.modifier('dot') {
110 background-color: props.get(vars.$dot--quiet--bg-color);
111 }
112 }
113
94 @include bem.modifier('faint') { 114 @include bem.modifier('faint') {
95 font-size: props.get(vars.$faint--label-font-size); 115 font-size: props.get(vars.$faint--label-font-size);
96 font-weight: 500; 116 font-weight: 500;
@@ -103,11 +123,11 @@
103 } 123 }
104 124
105 @include bem.modifier('vertical') { 125 @include bem.modifier('vertical') {
106 background-color: props.get(vars.$vertical--faint--bg-color); 126 background-color: props.get(vars.$vertical--quiet--bg-color);
107 } 127 }
108 128
109 @include bem.modifier('dot') { 129 @include bem.modifier('dot') {
110 background-color: props.get(vars.$dot--faint--bg-color); 130 background-color: props.get(vars.$dot--quiet--bg-color);
111 } 131 }
112 } 132 }
113 133
@@ -157,6 +177,17 @@
157 } 177 }
158 } 178 }
159 179
180 @include bem.modifier('quiet') {
181 &::before,
182 &::after {
183 background-color: props.get(vars.$static-themes, $theme, --quiet, --bg);
184 }
185
186 @include bem.elem('label') {
187 color: props.get(vars.$static-themes, $theme, --quiet, --label);
188 }
189 }
190
160 @include bem.modifier('faint') { 191 @include bem.modifier('faint') {
161 &::before, 192 &::before,
162 &::after { 193 &::after {
diff --git a/src/objects/_divider.vars.scss b/src/objects/_divider.vars.scss
index 5cd68c1..5a5639b 100644
--- a/src/objects/_divider.vars.scss
+++ b/src/objects/_divider.vars.scss
@@ -13,6 +13,9 @@ $strong--label-font-size: props.def(--o-divider--strong--label-font-size, props.
13$medium--border-width: props.def(--o-divider--medium--border-width, props.get(core.$border-width--medium)) !default; 13$medium--border-width: props.def(--o-divider--medium--border-width, props.get(core.$border-width--medium)) !default;
14$medium--label-font-size: props.def(--o-divider--medium--label-font-size, props.get(core.$font-size--75)) !default; 14$medium--label-font-size: props.def(--o-divider--medium--label-font-size, props.get(core.$font-size--75)) !default;
15 15
16$quiet--border-width: props.def(--o-divider--quiet--border-width, props.get(core.$border-width--thin)) !default;
17$quiet--label-font-size: props.def(--o-divider--quiet--label-font-size, props.get(core.$font-size--50)) !default;
18
16$faint--border-width: props.def(--o-divider--faint--border-width, props.get(core.$border-width--thin)) !default; 19$faint--border-width: props.def(--o-divider--faint--border-width, props.get(core.$border-width--thin)) !default;
17$faint--label-font-size: props.def(--o-divider--faint--label-font-size, props.get(core.$font-size--50)) !default; 20$faint--label-font-size: props.def(--o-divider--faint--label-font-size, props.get(core.$font-size--50)) !default;
18 21
@@ -22,12 +25,15 @@ $strong--label-color: props.def(--o-divider--strong--label-color, props.get(core
22$medium--bg-color: props.def(--o-divider--medium--bg-color, props.get(core.$theme, --border), 'color') !default; 25$medium--bg-color: props.def(--o-divider--medium--bg-color, props.get(core.$theme, --border), 'color') !default;
23$medium--label-color: props.def(--o-divider--medium--label-color, props.get(core.$theme, --text-mute), 'color') !default; 26$medium--label-color: props.def(--o-divider--medium--label-color, props.get(core.$theme, --text-mute), 'color') !default;
24 27
25$faint--bg-color: props.def(--o-divider--faint--bg-color, props.get(core.$theme, --border), 'color') !default; 28$quiet--bg-color: props.def(--o-divider--quiet--bg-color, props.get(core.$theme, --border), 'color') !default;
26$faint--label-color: props.def(--o-divider--faint--label-color, props.get(core.$theme, --text-mute-more), 'color') !default; 29$quiet--label-color: props.def(--o-divider--quiet--label-color, props.get(core.$theme, --text-mute-more), 'color') !default;
30
31$faint--bg-color: props.def(--o-divider--faint--bg-color, props.get(core.$theme, --border-mute), 'color') !default;
32$faint--label-color: props.def(--o-divider--faint--label-color, props.get(core.$theme, --text-disabled), 'color') !default;
27 33
28$vertical--faint--bg-color: props.def(--o-divider--vertical--faint--bg-color, props.get(core.$theme, --border-mute), 'color') !default; 34$vertical--quiet--bg-color: props.def(--o-divider--vertical--quiet--bg-color, props.get(core.$theme, --border-mute), 'color') !default;
29 35
30$dot--faint--bg-color: props.def(--o-divider--dot--faint--bg-color, props.get(core.$theme, --border-mute), 'color') !default; 36$dot--quiet--bg-color: props.def(--o-divider--dot--quiet--bg-color, props.get(core.$theme, --border-mute), 'color') !default;
31 37
32$static-themes: props.def(--o-divider, (), 'color'); 38$static-themes: props.def(--o-divider, (), 'color');
33 39
@@ -44,10 +50,14 @@ $static-themes: props.def(--o-divider, (), 'color');
44 --bg: props.get(core.$transparent-colors, $theme, --300), 50 --bg: props.get(core.$transparent-colors, $theme, --300),
45 --label: props.get(core.$transparent-colors, $theme, --500), 51 --label: props.get(core.$transparent-colors, $theme, --500),
46 ), 52 ),
47 --faint: ( 53 --quiet: (
48 --bg: props.get(core.$transparent-colors, $theme, --300), 54 --bg: props.get(core.$transparent-colors, $theme, --300),
49 --label: props.get(core.$transparent-colors, $theme, --500), 55 --label: props.get(core.$transparent-colors, $theme, --500),
50 ), 56 ),
57 --faint: (
58 --bg: props.get(core.$transparent-colors, $theme, --200),
59 --label: props.get(core.$transparent-colors, $theme, --400),
60 ),
51 ) 61 )
52 )); 62 ));
53} 63}
diff --git a/src/objects/_emoji.vars.scss b/src/objects/_emoji.vars.scss
index fbfb935..073f88b 100644
--- a/src/objects/_emoji.vars.scss
+++ b/src/objects/_emoji.vars.scss
@@ -4,7 +4,7 @@
4 4
5$size: props.def(--o-emoji--size, calc(1 / 14 * 18em)) !default; 5$size: props.def(--o-emoji--size, calc(1 / 14 * 18em)) !default;
6$pad: props.def(--o-emoji--pad, .3em) !default; 6$pad: props.def(--o-emoji--pad, .3em) !default;
7$rounding: props.def(--o-emoji--rounding, props.get(core.$rounding)) !default; 7$rounding: props.def(--o-emoji--rounding, props.get(core.$rounding--sm)) !default;
8$zoom: props.def(--o-emoji--zoom, 3) !default; 8$zoom: props.def(--o-emoji--zoom, 3) !default;
9$valign: props.def(--o-emoji--valign, -.25em) !default; 9$valign: props.def(--o-emoji--valign, -.25em) !default;
10 10
diff --git a/src/objects/_popover.vars.scss b/src/objects/_popover.vars.scss
index 451cc18..e560d1b 100644
--- a/src/objects/_popover.vars.scss
+++ b/src/objects/_popover.vars.scss
@@ -14,9 +14,6 @@ $shadow-y: props.def(--o-popover--shadow-y, props.get(core.$shadow--l2--y)) !
14$shadow-blur: props.def(--o-popover--shadow-blur, props.get(core.$shadow--l2--blur)) !default; 14$shadow-blur: props.def(--o-popover--shadow-blur, props.get(core.$shadow--l2--blur)) !default;
15$shadow-grow: props.def(--o-popover--shadow-grow, props.get(core.$shadow--l2--grow)) !default; 15$shadow-grow: props.def(--o-popover--shadow-grow, props.get(core.$shadow--l2--grow)) !default;
16 16
17$bg-color: props.def(--o-popover--bg-color, props.get(core.$theme, --bg-l2), 'color') !default; 17$bg-color: props.def(--o-popover--bg-color, props.get(core.$theme, --bg-l2), 'color') !default;
18$border-color: props.def(--o-popover--border-color, props.get(core.$theme, --border-mute) props.get(core.$theme, --border-mute) props.get(core.$theme, --border), 'color') !default; 18$border-color: props.def(--o-popover--border-color, props.get(core.$theme, --box, --border) props.get(core.$theme, --box, --border) props.get(core.$theme, --box, --border-strong), 'color') !default;
19 19$shadow-color: props.def(--o-popover--shadow-color, props.get(core.$theme, --shadow), 'color') !default;
20$shadow-color: props.def(--o-popover--shadow-color, props.get(core.$transparent-colors, --black, --200), 'color') !default;
21
22$border-color-dark: props.def(--o-popover--border-color, props.get(core.$theme, --border-mute), 'dark') !default;
diff --git a/src/objects/_radio.vars.scss b/src/objects/_radio.vars.scss
index 51ea581..b18ae2b 100644
--- a/src/objects/_radio.vars.scss
+++ b/src/objects/_radio.vars.scss
@@ -7,7 +7,7 @@ $label-gap: props.def(--o-radio--label-gap, props.get(core.$size--125)) !
7$border-width: props.def(--o-radio--border-width, props.get(core.$border-width--medium)) !default; 7$border-width: props.def(--o-radio--border-width, props.get(core.$border-width--medium)) !default;
8$pad-i: props.def(--o-radio--pad-i, props.get(core.$size--65)) !default; 8$pad-i: props.def(--o-radio--pad-i, props.get(core.$size--65)) !default;
9$pad-b: props.def(--o-radio--pad-b, props.get(core.$size--65)) !default; 9$pad-b: props.def(--o-radio--pad-b, props.get(core.$size--65)) !default;
10$rounding: props.def(--o-radio--rounding, props.get(core.$rounding)) !default; 10$rounding: props.def(--o-radio--rounding, props.get(core.$rounding--sm)) !default;
11$spacing-sibling: props.def(--o-radio--spacing-sibling, props.get(core.$size--300)) !default; 11$spacing-sibling: props.def(--o-radio--spacing-sibling, props.get(core.$size--300)) !default;
12 12
13$key-focus--border-width: props.def(--o-radio--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; 13$key-focus--border-width: props.def(--o-radio--key-focus--border-width, props.get(core.$key-focus--border-width)) !default;
diff --git a/src/objects/_side-nav.vars.scss b/src/objects/_side-nav.vars.scss
index 122dba6..711b2a7 100644
--- a/src/objects/_side-nav.vars.scss
+++ b/src/objects/_side-nav.vars.scss
@@ -8,7 +8,7 @@ $separator: props.def(--o-side-nav--separator, props.get(core.$size--200
8 8
9$item--pad-i: props.def(--o-side-nav--item--pad-i, props.get(core.$size--150)) !default; 9$item--pad-i: props.def(--o-side-nav--item--pad-i, props.get(core.$size--150)) !default;
10$item--pad-b: props.def(--o-side-nav--item--pad-b, props.get(core.$size--100)) !default; 10$item--pad-b: props.def(--o-side-nav--item--pad-b, props.get(core.$size--100)) !default;
11$item--rounding: props.def(--o-side-nav--item--rounding, props.get(core.$rounding)) !default; 11$item--rounding: props.def(--o-side-nav--item--rounding, props.get(core.$rounding--sm)) !default;
12 12
13$item--key-focus--border-width: props.def(--o-side-nav--item--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; 13$item--key-focus--border-width: props.def(--o-side-nav--item--key-focus--border-width, props.get(core.$key-focus--border-width)) !default;
14$item--key-focus--border-offset: props.def(--o-side-nav--item--key-focus--border-offset, props.get(core.$key-focus--border-offset)) !default; 14$item--key-focus--border-offset: props.def(--o-side-nav--item--key-focus--border-offset, props.get(core.$key-focus--border-offset)) !default;
diff --git a/src/objects/_switch.vars.scss b/src/objects/_switch.vars.scss
index 85596af..10489a5 100644
--- a/src/objects/_switch.vars.scss
+++ b/src/objects/_switch.vars.scss
@@ -8,7 +8,7 @@ $label-gap: props.def(--o-switch--label-gap, props.get(core.$size--125)) !
8$border-width: props.def(--o-switch--border-width, props.get(core.$border-width--medium)) !default; 8$border-width: props.def(--o-switch--border-width, props.get(core.$border-width--medium)) !default;
9$pad-i: props.def(--o-switch--pad-i, props.get(core.$size--65)) !default; 9$pad-i: props.def(--o-switch--pad-i, props.get(core.$size--65)) !default;
10$pad-b: props.def(--o-switch--pad-b, props.get(core.$size--65)) !default; 10$pad-b: props.def(--o-switch--pad-b, props.get(core.$size--65)) !default;
11$rounding: props.def(--o-switch--rounding, props.get(core.$rounding)) !default; 11$rounding: props.def(--o-switch--rounding, props.get(core.$rounding--sm)) !default;
12$spacing-sibling: props.def(--o-switch--spacing-sibling, props.get(core.$size--300)) !default; 12$spacing-sibling: props.def(--o-switch--spacing-sibling, props.get(core.$size--300)) !default;
13 13
14$key-focus--border-width: props.def(--o-switch--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; 14$key-focus--border-width: props.def(--o-switch--key-focus--border-width, props.get(core.$key-focus--border-width)) !default;
diff --git a/src/objects/_tabbar.vars.scss b/src/objects/_tabbar.vars.scss
index f4486d6..4095629 100644
--- a/src/objects/_tabbar.vars.scss
+++ b/src/objects/_tabbar.vars.scss
@@ -4,7 +4,7 @@
4@use '../core.vars' as core; 4@use '../core.vars' as core;
5 5
6$block-size: props.def(--o-tabbar--block-size, props.get(core.$size--700)) !default; 6$block-size: props.def(--o-tabbar--block-size, props.get(core.$size--700)) !default;
7$rounding: props.def(--o-tabbar--rounding, props.get(core.$rounding)) !default; 7$rounding: props.def(--o-tabbar--rounding, props.get(core.$rounding--sm)) !default;
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
diff --git a/src/objects/_table.vars.scss b/src/objects/_table.vars.scss
index d1d53d7..b8d8093 100644
--- a/src/objects/_table.vars.scss
+++ b/src/objects/_table.vars.scss
@@ -4,7 +4,7 @@
4 4
5$pad-i: props.def(--o-table--pad-i, props.get(core.$size--175)) !default; 5$pad-i: props.def(--o-table--pad-i, props.get(core.$size--175)) !default;
6$pad-b: props.def(--o-table--pad-b, props.get(core.$size--125)) !default; 6$pad-b: props.def(--o-table--pad-b, props.get(core.$size--125)) !default;
7$rounding: props.def(--o-table--rounding, props.get(core.$rounding)) !default; 7$rounding: props.def(--o-table--rounding, props.get(core.$rounding--sm)) !default;
8$border-width: props.def(--o-table--border-width, props.get(core.$border-width--thin)) !default; 8$border-width: props.def(--o-table--border-width, props.get(core.$border-width--thin)) !default;
9 9
10$heading--font-family: props.def(--o-table--heading--font-family, props.get(core.$font--standard--family)) !default; 10$heading--font-family: props.def(--o-table--heading--font-family, props.get(core.$font--standard--family)) !default;
diff --git a/src/objects/_thumbnail.vars.scss b/src/objects/_thumbnail.vars.scss
index ba8cebe..60bf2e9 100644
--- a/src/objects/_thumbnail.vars.scss
+++ b/src/objects/_thumbnail.vars.scss
@@ -4,7 +4,7 @@
4@use '../core.vars' as core; 4@use '../core.vars' as core;
5 5
6$size: props.def(--o-thumbnail--size, props.get(core.$size--700)) !default; 6$size: props.def(--o-thumbnail--size, props.get(core.$size--700)) !default;
7$rounding: props.def(--o-thumbnail--rounding, props.get(core.$rounding)) !default; 7$rounding: props.def(--o-thumbnail--rounding, props.get(core.$rounding--sm)) !default;
8$spacing: props.def(--o-thumbnail--spacing, props.get(core.$size--100)) !default; 8$spacing: props.def(--o-thumbnail--spacing, props.get(core.$size--100)) !default;
9$border-width: props.def(--o-thumbnail--border-width, props.get(core.$border-width--thin)) !default; 9$border-width: props.def(--o-thumbnail--border-width, props.get(core.$border-width--thin)) !default;
10 10
diff --git a/src/scopes/_code.vars.scss b/src/scopes/_code.vars.scss
index 8a040c2..08472f2 100644
--- a/src/scopes/_code.vars.scss
+++ b/src/scopes/_code.vars.scss
@@ -4,12 +4,12 @@
4 4
5$inline--pad-i: props.def(--s-code--inline--pad-i, props.get(core.$size--50)) !default; 5$inline--pad-i: props.def(--s-code--inline--pad-i, props.get(core.$size--50)) !default;
6$inline--pad-b: props.def(--s-code--inline--pad-b, props.get(core.$size--10)) !default; 6$inline--pad-b: props.def(--s-code--inline--pad-b, props.get(core.$size--10)) !default;
7$inline--rounding: props.def(--s-code--inline--rounding, props.get(core.$rounding)) !default; 7$inline--rounding: props.def(--s-code--inline--rounding, props.get(core.$rounding--sm)) !default;
8 8
9$block--pad-i: props.def(--s-code--block--pad-i, props.get(core.$size--150)) !default; 9$block--pad-i: props.def(--s-code--block--pad-i, props.get(core.$size--150)) !default;
10$block--pad-b: props.def(--s-code--block--pad-b, props.get(core.$size--85)) !default; 10$block--pad-b: props.def(--s-code--block--pad-b, props.get(core.$size--85)) !default;
11$block--margin-bs: props.def(--s-code--block--margin-bs, props.get(implicit.$paragraph--margin-bs)) !default; 11$block--margin-bs: props.def(--s-code--block--margin-bs, props.get(implicit.$paragraph--margin-bs)) !default;
12$block--rounding: props.def(--s-code--block--rounding, props.get(core.$rounding)) !default; 12$block--rounding: props.def(--s-code--block--rounding, props.get(core.$rounding--sm)) !default;
13 13
14$inline--fg: props.def(--s-code--inline--fg, props.get(core.$theme, --heading), 'color') !default; 14$inline--fg: props.def(--s-code--inline--fg, props.get(core.$theme, --heading), 'color') !default;
15$inline--bg: props.def(--s-code--inline--bg, props.get(core.$theme, --base, --200), 'color') !default; 15$inline--bg: props.def(--s-code--inline--bg, props.get(core.$theme, --base, --200), 'color') !default;
diff --git a/tpl/objects/card.pug b/tpl/objects/card.pug
index 1db2fe5..feb1441 100644
--- a/tpl/objects/card.pug
+++ b/tpl/objects/card.pug
@@ -1,9 +1,11 @@
1mixin card 1mixin card
2 - 2 -
3 let classes = { 3 let classes = {
4 'o-card': true, 4 'o-card': true,
5 'o-card--quiet': !!attributes.quiet, 5 'o-card--borderless': !!attributes.borderless,
6 'o-card--thumbnail': !!attributes.thumbnail, 6 'o-card--shadow': !!attributes.shadow,
7 'o-card--quiet': !!attributes.quiet,
8 'o-card--thumbnail': !!attributes.thumbnail,
7 } 9 }
8 10
9 if (attributes.class) { 11 if (attributes.class) {
diff --git a/tpl/views/card.pug b/tpl/views/card.pug
index 5e48dde..9a35b37 100644
--- a/tpl/views/card.pug
+++ b/tpl/views/card.pug
@@ -5,11 +5,15 @@ mixin view-card
5 +card-body 5 +card-body
6 strong= 'Lorem ipsum dolor' 6 strong= 'Lorem ipsum dolor'
7 = 'sit amet' 7 = 'sit amet'
8 +card(href='#' class='l-card-list__card') 8 +card(href='#' class='l-card-list__card' shadow=true)
9 +card-body 9 +card-body
10 strong= 'Lorem ipsum dolor' 10 strong= 'Lorem ipsum dolor'
11 = 'sit amet' 11 = 'sit amet'
12 +card(href='#' class='l-card-list__card') 12 +card(href='#' class='l-card-list__card' borderless=true)
13 +card-body
14 strong= 'Lorem ipsum dolor'
15 = 'sit amet'
16 +card(href='#' class='l-card-list__card' shadow=true borderless=true)
13 +card-body 17 +card-body
14 strong= 'Lorem ipsum dolor' 18 strong= 'Lorem ipsum dolor'
15 = 'sit amet' 19 = 'sit amet'
@@ -17,15 +21,31 @@ mixin view-card
17 +divider('faint')(class='u-mb-700') 21 +divider('faint')(class='u-mb-700')
18 22
19 .l-card-list.l-card-list--merge 23 .l-card-list.l-card-list--merge
20 +card(href='#' class='l-card-list__card') 24 +card(href='#' class='l-card-list__card' borderless=true)
21 +card-body 25 +card-body
22 strong= 'Lorem ipsum dolor' 26 strong= 'Lorem ipsum dolor'
23 = 'sit amet' 27 = 'sit amet'
24 +card(href='#' class='l-card-list__card') 28 +card(href='#' class='l-card-list__card' borderless=true)
25 +card-body 29 +card-body
26 strong= 'Lorem ipsum dolor' 30 strong= 'Lorem ipsum dolor'
27 = 'sit amet' 31 = 'sit amet'
28 +card(href='#' class='l-card-list__card') 32 +card(href='#' class='l-card-list__card' borderless=true)
33 +card-body
34 strong= 'Lorem ipsum dolor'
35 = 'sit amet'
36
37 +divider('faint')(class='u-mb-700')
38
39 .l-card-list.l-card-list--merge.l-card-list--borderless.l-card-list--shadow
40 +card(href='#' class='l-card-list__card' borderless=true)
41 +card-body
42 strong= 'Lorem ipsum dolor'
43 = 'sit amet'
44 +card(href='#' class='l-card-list__card' borderless=true)
45 +card-body
46 strong= 'Lorem ipsum dolor'
47 = 'sit amet'
48 +card(href='#' class='l-card-list__card' borderless=true)
29 +card-body 49 +card-body
30 strong= 'Lorem ipsum dolor' 50 strong= 'Lorem ipsum dolor'
31 = 'sit amet' 51 = 'sit amet'
@@ -86,7 +106,7 @@ mixin view-card
86 106
87 let classes = { 107 let classes = {
88 'l-card-list': true, 108 'l-card-list': true,
89 'l-card-list--aspect-5/4': layout === 'grid', 109 'l-card-list--aspect-5/4': ['grid', 'grid-sm'].includes(layout),
90 'l-card-list--quiet': quiet, 110 'l-card-list--quiet': quiet,
91 } 111 }
92 classes[`l-card-list--${layout}`] = true; 112 classes[`l-card-list--${layout}`] = true;
diff --git a/tpl/views/divider.pug b/tpl/views/divider.pug
index ea08984..5429ab5 100644
--- a/tpl/views/divider.pug
+++ b/tpl/views/divider.pug
@@ -12,34 +12,45 @@ mixin view-divider
12 12
13 .c-box 13 .c-box
14 +div-heading('xs')= 'Heading' 14 +div-heading('xs')= 'Heading'
15 +divider('quiet')
16 p= loremIpsum
17
18 .c-box
19 +div-heading('xs')= 'Heading'
15 +divider('faint') 20 +divider('faint')
16 p= loremIpsum 21 p= loremIpsum
17 22
18 .c-box 23 .c-box
19 +divider('strong')= 'Strong' 24 +divider('strong')= 'Strong'
20 +divider('medium')= 'Medium' 25 +divider('medium')= 'Medium'
26 +divider('quiet')= 'Quiet'
21 +divider('faint')= 'Faint' 27 +divider('faint')= 'Faint'
22 +divider('strong') 28 +divider('strong')
23 +divider('medium') 29 +divider('medium')
30 +divider('quiet')
24 +divider('faint') 31 +divider('faint')
25 32
26 .c-box 33 .c-box
27 .l-media(style="height: 1em") 34 .l-media(style="height: 1em")
28 +divider('strong')(vertical=true class="l-media__block") 35 +divider('strong')(vertical=true class="l-media__block")
29 +divider('medium')(vertical=true class="l-media__block") 36 +divider('medium')(vertical=true class="l-media__block")
37 +divider('quiet')(vertical=true class="l-media__block")
30 +divider('faint')(vertical=true class="l-media__block") 38 +divider('faint')(vertical=true class="l-media__block")
31 .l-media(style="height: 1em") 39 .l-media(style="height: 1em")
32 +divider('strong')(dot=true class="l-media__block") 40 +divider('strong')(dot=true class="l-media__block")
33 +divider('medium')(dot=true class="l-media__block") 41 +divider('medium')(dot=true class="l-media__block")
42 +divider('quiet')(dot=true class="l-media__block")
34 +divider('faint')(dot=true class="l-media__block") 43 +divider('faint')(dot=true class="l-media__block")
35 44
36 each theme in ['accent', 'negative'] 45 each theme in ['accent', 'negative']
37 .c-box 46 .c-box
38 +divider('strong')(color=theme)= 'Strong' 47 +divider('strong')(color=theme)= 'Strong'
39 +divider('medium')(color=theme)= 'Medium' 48 +divider('medium')(color=theme)= 'Medium'
49 +divider('quiet')(color=theme)= 'Quiet'
40 +divider('faint')(color=theme)= 'Faint' 50 +divider('faint')(color=theme)= 'Faint'
41 +divider('strong')(color=theme) 51 +divider('strong')(color=theme)
42 +divider('medium')(color=theme) 52 +divider('medium')(color=theme)
53 +divider('quiet')(color=theme)
43 +divider('faint')(color=theme) 54 +divider('faint')(color=theme)
44 55
45 each theme in ['static-black', 'static-white'] 56 each theme in ['static-black', 'static-white']
@@ -49,7 +60,9 @@ mixin view-divider
49 .c-box(style=`background-color: var(--colors--blue-static--${bg});`) 60 .c-box(style=`background-color: var(--colors--blue-static--${bg});`)
50 +divider('strong')(color=theme)= 'Strong' 61 +divider('strong')(color=theme)= 'Strong'
51 +divider('medium')(color=theme)= 'Medium' 62 +divider('medium')(color=theme)= 'Medium'
63 +divider('quiet')(color=theme)= 'Quiet'
52 +divider('faint')(color=theme)= 'Faint' 64 +divider('faint')(color=theme)= 'Faint'
53 +divider('strong')(color=theme) 65 +divider('strong')(color=theme)
54 +divider('medium')(color=theme) 66 +divider('medium')(color=theme)
67 +divider('quiet')(color=theme)
55 +divider('faint')(color=theme) 68 +divider('faint')(color=theme)