diff options
-rw-r--r-- | src/_config.defaults.scss | 14 | ||||
-rw-r--r-- | src/_core.vars.scss | 6 | ||||
-rw-r--r-- | src/_utils.scss | 4 | ||||
-rw-r--r-- | src/layouts/_card-list.scss | 47 | ||||
-rw-r--r-- | src/layouts/_card-list.vars.scss | 22 | ||||
-rw-r--r-- | src/objects/_action-button.scss | 24 | ||||
-rw-r--r-- | src/objects/_action-button.vars.scss | 56 | ||||
-rw-r--r-- | src/objects/_card.scss | 45 | ||||
-rw-r--r-- | src/objects/_card.vars.scss | 6 | ||||
-rw-r--r-- | src/objects/_checkbox.vars.scss | 2 | ||||
-rw-r--r-- | src/objects/_divider.scss | 35 | ||||
-rw-r--r-- | src/objects/_divider.vars.scss | 20 | ||||
-rw-r--r-- | src/objects/_emoji.vars.scss | 2 | ||||
-rw-r--r-- | src/objects/_popover.vars.scss | 9 | ||||
-rw-r--r-- | src/objects/_radio.vars.scss | 2 | ||||
-rw-r--r-- | src/objects/_side-nav.vars.scss | 2 | ||||
-rw-r--r-- | src/objects/_switch.vars.scss | 2 | ||||
-rw-r--r-- | src/objects/_tabbar.vars.scss | 2 | ||||
-rw-r--r-- | src/objects/_table.vars.scss | 2 | ||||
-rw-r--r-- | src/objects/_thumbnail.vars.scss | 2 | ||||
-rw-r--r-- | src/scopes/_code.vars.scss | 4 | ||||
-rw-r--r-- | tpl/objects/card.pug | 8 | ||||
-rw-r--r-- | tpl/views/card.pug | 32 | ||||
-rw-r--r-- | tpl/views/divider.pug | 13 |
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 @@ | |||
1 | mixin card | 1 | mixin 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) |