diff options
author | Volpeon <git@volpeon.ink> | 2024-10-19 18:23:02 +0200 |
---|---|---|
committer | Volpeon <git@volpeon.ink> | 2024-10-19 18:23:02 +0200 |
commit | 27222cb91c390a42055a7123b5a9409c928e8b26 (patch) | |
tree | 650b5614c4aae0056127038a4ab204198aae7f4d | |
parent | Update (diff) | |
download | iro-design-27222cb91c390a42055a7123b5a9409c928e8b26.tar.gz iro-design-27222cb91c390a42055a7123b5a9409c928e8b26.tar.bz2 iro-design-27222cb91c390a42055a7123b5a9409c928e8b26.zip |
Fixes
-rw-r--r-- | src/_config.scss | 66 | ||||
-rw-r--r-- | src/_core.vars.scss | 42 | ||||
-rw-r--r-- | src/objects/_action-button.scss | 64 | ||||
-rw-r--r-- | src/objects/_action-button.vars.scss | 28 | ||||
-rw-r--r-- | src/objects/_badge.scss | 2 | ||||
-rw-r--r-- | src/objects/_badge.vars.scss | 38 | ||||
-rw-r--r-- | src/objects/_button.vars.scss | 20 | ||||
-rw-r--r-- | src/objects/_divider.vars.scss | 8 | ||||
-rw-r--r-- | src/objects/_field-label.vars.scss | 2 | ||||
-rw-r--r-- | src/objects/_palette.scss | 2 | ||||
-rw-r--r-- | src/objects/_text-field.vars.scss | 4 | ||||
-rw-r--r-- | src/scopes/_blockquotes.vars.scss | 2 | ||||
-rw-r--r-- | src/scopes/_implicit.scss | 1 | ||||
-rw-r--r-- | src/scopes/_implicit.vars.scss | 2 | ||||
-rw-r--r-- | src_demo/index.scss | 2 | ||||
-rw-r--r-- | tpl/views/action-button.pug | 4 | ||||
-rw-r--r-- | tpl/views/badge.pug | 2 | ||||
-rw-r--r-- | tpl/views/button.pug | 4 | ||||
-rw-r--r-- | tpl/views/divider.pug | 2 |
19 files changed, 144 insertions, 151 deletions
diff --git a/src/_config.scss b/src/_config.scss index ced2aa5..81c6ff2 100644 --- a/src/_config.scss +++ b/src/_config.scss | |||
@@ -49,35 +49,35 @@ $static-colors: map.deep-merge(( | |||
49 | 49 | ||
50 | $semantic-colors-common-override: () !default; | 50 | $semantic-colors-common-override: () !default; |
51 | $semantic-colors-common: map.deep-merge(( | 51 | $semantic-colors-common: map.deep-merge(( |
52 | --accent: --theme --blue, | 52 | --accent: --blue, |
53 | --accent-static: --static --blue, | 53 | --accent-static: --blue-static, |
54 | --positive: --theme --green, | 54 | --positive: --green, |
55 | --positive-static: --static --green, | 55 | --positive-static: --green-static, |
56 | --negative: --theme --red, | 56 | --negative: --red, |
57 | --negative-static: --static --red, | 57 | --negative-static: --red-static, |
58 | --warning: --theme --yellow, | 58 | --warning: --yellow, |
59 | --warning-static: --static --yellow, | 59 | --warning-static: --yellow-static, |
60 | 60 | ||
61 | --focus-raw: --theme --accent, | 61 | --focus-raw: --accent, |
62 | --focus-static: --theme --accent-static, | 62 | --focus-static: --accent-static, |
63 | 63 | ||
64 | --border-mute: --theme --base --200, | 64 | --border-mute: --base --200, |
65 | --border: --theme --base --300, | 65 | --border: --base --300, |
66 | --border-strong: --theme --base --400, | 66 | --border-strong: --base --400, |
67 | 67 | ||
68 | --text-disabled: --theme --base --500, | 68 | --text-disabled: --base --500, |
69 | --text-mute-more: --theme --base --600, | 69 | --text-mute-more: --base --600, |
70 | --text-mute: --theme --base --700, | 70 | --text-mute: --base --700, |
71 | --text: --theme --base --800, | 71 | --text: --base --800, |
72 | --heading: --theme --base --900, | 72 | --heading: --base --900, |
73 | 73 | ||
74 | --focus: ( | 74 | --focus: ( |
75 | --outline: --theme --focus-raw --400, | 75 | --outline: --focus-raw --400, |
76 | --border-mute: --theme --focus-raw --900, | 76 | --border-mute: --focus-raw --900, |
77 | --border: --theme --focus-raw --1000, | 77 | --border: --focus-raw --1000, |
78 | --border-text: --theme --focus-raw --1000-text, | 78 | --border-text: --focus-raw --1000-text, |
79 | --border-strong: --theme --focus-raw --1100, | 79 | --border-strong: --focus-raw --1100, |
80 | --text: --theme --focus-raw --1100, | 80 | --text: --focus-raw --1100, |
81 | ), | 81 | ), |
82 | ), $semantic-colors-common-override) !default; | 82 | ), $semantic-colors-common-override) !default; |
83 | 83 | ||
@@ -132,9 +132,9 @@ $theme-light: map.deep-merge(( | |||
132 | ), | 132 | ), |
133 | 133 | ||
134 | --semantic: map.merge($semantic-colors-common, ( | 134 | --semantic: map.merge($semantic-colors-common, ( |
135 | --bg-l2: --theme --base --50, | 135 | --bg-l2: --base --50, |
136 | --bg-l1: --theme --base --100, | 136 | --bg-l1: --base --100, |
137 | --bg-base: --theme --base --200, | 137 | --bg-base: --base --200, |
138 | )), | 138 | )), |
139 | 139 | ||
140 | --constants: ( | 140 | --constants: ( |
@@ -193,9 +193,9 @@ $theme-dark: map.deep-merge(( | |||
193 | ), | 193 | ), |
194 | 194 | ||
195 | --semantic: map.merge($semantic-colors-common, ( | 195 | --semantic: map.merge($semantic-colors-common, ( |
196 | --bg-base: --theme --base --50, | 196 | --bg-base: --base --50, |
197 | --bg-l1: --theme --base --75, | 197 | --bg-l1: --base --75, |
198 | --bg-l2: --theme --base --100, | 198 | --bg-l2: --base --100, |
199 | )), | 199 | )), |
200 | 200 | ||
201 | --constants: ( | 201 | --constants: ( |
diff --git a/src/_core.vars.scss b/src/_core.vars.scss index 3b23c32..83d3a6a 100644 --- a/src/_core.vars.scss +++ b/src/_core.vars.scss | |||
@@ -1,3 +1,5 @@ | |||
1 | // stylelint-disable scss/dollar-variable-pattern | ||
2 | |||
1 | @use 'sass:map'; | 3 | @use 'sass:map'; |
2 | @use 'sass:meta'; | 4 | @use 'sass:meta'; |
3 | @use 'sass:list'; | 5 | @use 'sass:list'; |
@@ -98,15 +100,15 @@ $key-focus--border-width: props.def(--key-focus--border-width, props.get($borde | |||
98 | $key-focus--border-offset: props.def(--key-focus--border-offset, props.get($border-width--medium)) !default; | 100 | $key-focus--border-offset: props.def(--key-focus--border-offset, props.get($border-width--medium)) !default; |
99 | 101 | ||
100 | $list--indent: props.def(--list--indent, props.get($size--400)) !default; | 102 | $list--indent: props.def(--list--indent, props.get($size--400)) !default; |
101 | $list--compact-indent: props.def(--list--indent, props.get($size--250)) !default; | 103 | $list--compact-indent: props.def(--list--compact-indent, props.get($size--250)) !default; |
102 | 104 | ||
103 | // | 105 | // |
104 | 106 | ||
105 | $static-colors: props.def(--static-colors); | 107 | $-static-colors: (); |
106 | 108 | ||
107 | @each $palette-name, $palette in map.get(config.$static-colors, --palettes) { | 109 | @each $palette-name, $palette in map.get(config.$static-colors, --palettes) { |
108 | $palette: fn.palette($palette, map.get(config.$static-colors, --contrasts), 1, map.get(config.$static-colors, --base)); | 110 | $palette: fn.palette($palette, map.get(config.$static-colors, --contrasts), 1, map.get(config.$static-colors, --base)); |
109 | $static-colors: props.merge($static-colors, ( $palette-name: $palette )); | 111 | $-static-colors: map.merge($-static-colors, ( $palette-name: $palette )); |
110 | } | 112 | } |
111 | 113 | ||
112 | // | 114 | // |
@@ -129,6 +131,10 @@ $themes: (); | |||
129 | @each $variant-name, $variant in $theme { | 131 | @each $variant-name, $variant in $theme { |
130 | $compiled: props.def(--colors); | 132 | $compiled: props.def(--colors); |
131 | 133 | ||
134 | @each $palette-name, $palette in $-static-colors { | ||
135 | $compiled: props.merge($compiled, ( #{$palette-name}-static: $palette )); | ||
136 | } | ||
137 | |||
132 | @each $palette-name, $palette in map.get($variant, --palettes) { | 138 | @each $palette-name, $palette in map.get($variant, --palettes) { |
133 | $base-color: list.nth($palette, 1); | 139 | $base-color: list.nth($palette, 1); |
134 | $contrasts: list.nth($palette, 2); | 140 | $contrasts: list.nth($palette, 2); |
@@ -147,32 +153,14 @@ $themes: (); | |||
147 | 153 | ||
148 | @if meta.type-of($ref) == 'map' { | 154 | @if meta.type-of($ref) == 'map' { |
149 | @each $key, $r in $ref { | 155 | @each $key, $r in $ref { |
150 | $repo-name: list.nth($r, 1); | 156 | $re1: list.nth($r, 1); |
151 | $re1: list.nth($r, 2); | 157 | $re2: iro.fn-list-slice($r, 2); |
152 | $re2: iro.fn-list-slice($r, 3); | 158 | $res: map.merge($res, ($key: props.get($compiled, $re1, $re2...))); |
153 | |||
154 | $res2: null; | ||
155 | |||
156 | @if $repo-name == --static { | ||
157 | $res2: props.get($static-colors, $re1, $re2...); | ||
158 | } @else { | ||
159 | $res2: props.get($compiled, $re1, $re2...); | ||
160 | } | ||
161 | |||
162 | $res: map.merge($res, ($key: $res2)); | ||
163 | } | 159 | } |
164 | } @else { | 160 | } @else { |
165 | $repo-name: list.nth($ref, 1); | 161 | $ref1: list.nth($ref, 1); |
166 | $ref1: list.nth($ref, 2); | 162 | $ref2: iro.fn-list-slice($ref, 2); |
167 | $ref2: iro.fn-list-slice($ref, 3); | 163 | $res: props.get($compiled, $ref1, $ref2...); |
168 | |||
169 | $res: null; | ||
170 | |||
171 | @if $repo-name == --static { | ||
172 | $res: props.get($static-colors, $ref1, $ref2...); | ||
173 | } @else { | ||
174 | $res: props.get($compiled, $ref1, $ref2...); | ||
175 | } | ||
176 | } | 164 | } |
177 | 165 | ||
178 | $compiled: props.merge($compiled, ( $color: $res )); | 166 | $compiled: props.merge($compiled, ( $color: $res )); |
diff --git a/src/objects/_action-button.scss b/src/objects/_action-button.scss index 48149b1..8efdad9 100644 --- a/src/objects/_action-button.scss +++ b/src/objects/_action-button.scss | |||
@@ -9,91 +9,91 @@ | |||
9 | @use 'action-button.vars' as vars; | 9 | @use 'action-button.vars' as vars; |
10 | 10 | ||
11 | @mixin -apply-theme($theme, $key: ()) { | 11 | @mixin -apply-theme($theme, $key: ()) { |
12 | color: props.get($theme, list.join($key, --disabled --label)...); | 12 | color: props.get($theme, list.join($key, --disabled --label-color)...); |
13 | background-color: props.get($theme, list.join($key, --disabled --bg)...); | 13 | background-color: props.get($theme, list.join($key, --disabled --bg-color)...); |
14 | border-color: props.get($theme, list.join($key, --disabled --border)...); | 14 | border-color: props.get($theme, list.join($key, --disabled --border-color)...); |
15 | 15 | ||
16 | &::after { | 16 | &::after { |
17 | outline-color: props.get($theme, list.join($key, --key-focus --border)...); | 17 | outline-color: props.get($theme, list.join($key, --key-focus --border-color)...); |
18 | box-shadow: | 18 | box-shadow: |
19 | 0 | 19 | 0 |
20 | 0 | 20 | 0 |
21 | 0 | 21 | 0 |
22 | calc(props.get(vars.$key-focus--border-width) + props.get(vars.$key-focus--outline-width)) | 22 | calc(props.get(vars.$key-focus--border-width) + props.get(vars.$key-focus--outline-width)) |
23 | props.get($theme, list.join($key, --key-focus --outline-width)...); | 23 | props.get($theme, list.join($key, --key-focus --outline-color)...); |
24 | } | 24 | } |
25 | 25 | ||
26 | &:link, | 26 | &:link, |
27 | &:visited, | 27 | &:visited, |
28 | &:enabled { | 28 | &:enabled { |
29 | color: props.get($theme, list.join($key, --label)...); | 29 | color: props.get($theme, list.join($key, --label-color)...); |
30 | background-color: props.get($theme, list.join($key, --bg)...); | 30 | background-color: props.get($theme, list.join($key, --bg-color)...); |
31 | border-color: props.get($theme, list.join($key, --border)...); | 31 | border-color: props.get($theme, list.join($key, --border-color)...); |
32 | 32 | ||
33 | &:hover, | 33 | &:hover, |
34 | &:focus-visible { | 34 | &:focus-visible { |
35 | color: props.get($theme, list.join($key, --hover --label)...); | 35 | color: props.get($theme, list.join($key, --hover --label-color)...); |
36 | background-color: props.get($theme, list.join($key, --hover --bg)...); | 36 | background-color: props.get($theme, list.join($key, --hover --bg-color)...); |
37 | border-color: props.get($theme, list.join($key, --hover --border)...); | 37 | border-color: props.get($theme, list.join($key, --hover --border-color)...); |
38 | } | 38 | } |
39 | 39 | ||
40 | &:active { | 40 | &:active { |
41 | color: props.get($theme, list.join($key, --active --label)...); | 41 | color: props.get($theme, list.join($key, --active --label-color)...); |
42 | background-color: props.get($theme, list.join($key, --active --bg)...); | 42 | background-color: props.get($theme, list.join($key, --active --bg-color)...); |
43 | border-color: props.get($theme, list.join($key, --active --border)...); | 43 | border-color: props.get($theme, list.join($key, --active --border-color)...); |
44 | } | 44 | } |
45 | } | 45 | } |
46 | 46 | ||
47 | @include iro.bem-modifier('quiet') { | 47 | @include iro.bem-modifier('quiet') { |
48 | color: props.get($theme, list.join($key, --quiet --disabled --label)...); | 48 | color: props.get($theme, list.join($key, --quiet --disabled --label-color)...); |
49 | background-color: transparent; | 49 | background-color: transparent; |
50 | border-color: transparent; | 50 | border-color: transparent; |
51 | 51 | ||
52 | &:link, | 52 | &:link, |
53 | &:visited, | 53 | &:visited, |
54 | &:enabled { | 54 | &:enabled { |
55 | color: props.get($theme, list.join($key, --quiet --label)...); | 55 | color: props.get($theme, list.join($key, --quiet --label-color)...); |
56 | background-color: transparent; | 56 | background-color: transparent; |
57 | border-color: transparent; | 57 | border-color: transparent; |
58 | 58 | ||
59 | &:hover, | 59 | &:hover, |
60 | &:focus-visible { | 60 | &:focus-visible { |
61 | color: props.get($theme, list.join($key, --quiet --hover --label)...); | 61 | color: props.get($theme, list.join($key, --quiet --hover --label-color)...); |
62 | background-color: props.get($theme, list.join($key, --quiet --hover --bg)...); | 62 | background-color: props.get($theme, list.join($key, --quiet --hover --bg-color)...); |
63 | border-color: transparent; | 63 | border-color: transparent; |
64 | } | 64 | } |
65 | 65 | ||
66 | &:active { | 66 | &:active { |
67 | color: props.get($theme, list.join($key, --quiet --active --label)...); | 67 | color: props.get($theme, list.join($key, --quiet --active --label-color)...); |
68 | background-color: props.get($theme, list.join($key, --quiet --active --bg)...); | 68 | background-color: props.get($theme, list.join($key, --quiet --active --bg-color)...); |
69 | border-color: transparent; | 69 | border-color: transparent; |
70 | } | 70 | } |
71 | } | 71 | } |
72 | } | 72 | } |
73 | 73 | ||
74 | @include iro.bem-is('selected') { | 74 | @include iro.bem-is('selected') { |
75 | color: props.get($theme, list.join($key, --selected --disabled --label)...); | 75 | color: props.get($theme, list.join($key, --selected --disabled --label-color)...); |
76 | background-color: props.get($theme, list.join($key, --selected --disabled --bg)...); | 76 | background-color: props.get($theme, list.join($key, --selected --disabled --bg-color)...); |
77 | border-color: props.get($theme, list.join($key, --selected --disabled --border)...); | 77 | border-color: props.get($theme, list.join($key, --selected --disabled --border-color)...); |
78 | 78 | ||
79 | &:link, | 79 | &:link, |
80 | &:visited, | 80 | &:visited, |
81 | &:enabled { | 81 | &:enabled { |
82 | color: props.get($theme, list.join($key, --selected --label)...); | 82 | color: props.get($theme, list.join($key, --selected --label-color)...); |
83 | background-color: props.get($theme, list.join($key, --selected --bg)...); | 83 | background-color: props.get($theme, list.join($key, --selected --bg-color)...); |
84 | border-color: props.get($theme, list.join($key, --selected --border)...); | 84 | border-color: props.get($theme, list.join($key, --selected --border-color)...); |
85 | 85 | ||
86 | &:hover, | 86 | &:hover, |
87 | &:focus-visible { | 87 | &:focus-visible { |
88 | color: props.get($theme, list.join($key, --selected --hover --label)...); | 88 | color: props.get($theme, list.join($key, --selected --hover --label-color)...); |
89 | background-color: props.get($theme, list.join($key, --selected --hover --bg)...); | 89 | background-color: props.get($theme, list.join($key, --selected --hover --bg-color)...); |
90 | border-color: props.get($theme, list.join($key, --selected --hover --border)...); | 90 | border-color: props.get($theme, list.join($key, --selected --hover --border-color)...); |
91 | } | 91 | } |
92 | 92 | ||
93 | &:active { | 93 | &:active { |
94 | color: props.get($theme, list.join($key, --selected --active --label)...); | 94 | color: props.get($theme, list.join($key, --selected --active --label-color)...); |
95 | background-color: props.get($theme, list.join($key, --selected --active --bg)...); | 95 | background-color: props.get($theme, list.join($key, --selected --active --bg-color)...); |
96 | border-color: props.get($theme, list.join($key, --selected --active --border)...); | 96 | border-color: props.get($theme, list.join($key, --selected --active --border-color)...); |
97 | } | 97 | } |
98 | } | 98 | } |
99 | } | 99 | } |
diff --git a/src/objects/_action-button.vars.scss b/src/objects/_action-button.vars.scss index 9049a8f..ec312b4 100644 --- a/src/objects/_action-button.vars.scss +++ b/src/objects/_action-button.vars.scss | |||
@@ -11,20 +11,20 @@ $border-width: props.def(--o-action-button--border-width, props.get(core.$border | |||
11 | $rounding: props.def(--o-action-button--rounding, props.get(core.$rounding)) !default; | 11 | $rounding: props.def(--o-action-button--rounding, props.get(core.$rounding)) !default; |
12 | $font-size: props.def(--o-action-button--font-size, props.get(core.$font-size--100)) !default; | 12 | $font-size: props.def(--o-action-button--font-size, props.get(core.$font-size--100)) !default; |
13 | 13 | ||
14 | $pad-i--sm: props.def(--o-action-button--pad-i, props.get(core.$size--100), 'sm') !default; | 14 | $pad-i--sm: props.def(--o-action-button--sm--pad-i, props.get(core.$size--100)) !default; |
15 | $pad-i-pill--sm: props.def(--o-action-button--pad-i-pill, props.get(core.$size--150), 'sm') !default; | 15 | $pad-i-pill--sm: props.def(--o-action-button--sm--pad-i-pill, props.get(core.$size--150)) !default; |
16 | $pad-b--sm: props.def(--o-action-button--pad-b, props.get(core.$size--40), 'sm') !default; | 16 | $pad-b--sm: props.def(--o-action-button--sm--pad-b, props.get(core.$size--40)) !default; |
17 | $font-size--sm: props.def(--o-action-button--font-size, props.get(core.$font-size--75), 'sm') !default; | 17 | $font-size--sm: props.def(--o-action-button--sm--font-size, props.get(core.$font-size--75)) !default; |
18 | 18 | ||
19 | $pad-i--lg: props.def(--o-action-button--pad-i, props.get(core.$size--175), 'lg') !default; | 19 | $pad-i--lg: props.def(--o-action-button--lg--pad-i, props.get(core.$size--175)) !default; |
20 | $pad-i-pill--lg: props.def(--o-action-button--pad-i-pill, props.get(core.$size--225), 'lg') !default; | 20 | $pad-i-pill--lg: props.def(--o-action-button--lg--pad-i-pill, props.get(core.$size--225)) !default; |
21 | $pad-b--lg: props.def(--o-action-button--pad-b, props.get(core.$size--115), 'lg') !default; | 21 | $pad-b--lg: props.def(--o-action-button--lg--pad-b, props.get(core.$size--115)) !default; |
22 | $font-size--lg: props.def(--o-action-button--font-size, props.get(core.$font-size--150), 'lg') !default; | 22 | $font-size--lg: props.def(--o-action-button--lg--font-size, props.get(core.$font-size--150)) !default; |
23 | 23 | ||
24 | $pad-i--xl: props.def(--o-action-button--pad-i, props.get(core.$size--225), 'xl') !default; | 24 | $pad-i--xl: props.def(--o-action-button--xl--pad-i, props.get(core.$size--225)) !default; |
25 | $pad-i-pill--xl: props.def(--o-action-button--pad-i-pill, props.get(core.$size--300), 'xl') !default; | 25 | $pad-i-pill--xl: props.def(--o-action-button--xl--pad-i-pill, props.get(core.$size--300)) !default; |
26 | $pad-b--xl: props.def(--o-action-button--pad-b, props.get(core.$size--150), 'xl') !default; | 26 | $pad-b--xl: props.def(--o-action-button--xl--pad-b, props.get(core.$size--150)) !default; |
27 | $font-size--xl: props.def(--o-action-button--font-size, props.get(core.$font-size--200), 'xl') !default; | 27 | $font-size--xl: props.def(--o-action-button--xl--font-size, props.get(core.$font-size--200)) !default; |
28 | 28 | ||
29 | $key-focus--border-width: props.def(--o-action-button--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; | 29 | $key-focus--border-width: props.def(--o-action-button--key-focus--border-width, props.get(core.$key-focus--border-width)) !default; |
30 | $key-focus--border-offset: props.def(--o-action-button--key-focus--border-offset, props.get(core.$key-focus--border-offset)) !default; | 30 | $key-focus--border-offset: props.def(--o-action-button--key-focus--border-offset, props.get(core.$key-focus--border-offset)) !default; |
diff --git a/src/objects/_badge.scss b/src/objects/_badge.scss index 41b2fbb..55a2051 100644 --- a/src/objects/_badge.scss +++ b/src/objects/_badge.scss | |||
@@ -101,7 +101,7 @@ | |||
101 | margin-inline: props.get(vars.$pad-i-label); | 101 | margin-inline: props.get(vars.$pad-i-label); |
102 | } | 102 | } |
103 | 103 | ||
104 | @include -apply-theme(vars.$default-theme); | 104 | @include -apply-theme(vars.$default-theme, $static: true); |
105 | 105 | ||
106 | @each $theme in map.keys(props.get(vars.$themes)) { | 106 | @each $theme in map.keys(props.get(vars.$themes)) { |
107 | @include iro.bem-modifier(string.slice($theme, 3)) { | 107 | @include iro.bem-modifier(string.slice($theme, 3)) { |
diff --git a/src/objects/_badge.vars.scss b/src/objects/_badge.vars.scss index f9a4ed5..4941ccf 100644 --- a/src/objects/_badge.vars.scss +++ b/src/objects/_badge.vars.scss | |||
@@ -38,10 +38,6 @@ $sizes: ( | |||
38 | 'xl' $pad-b--xl $pad-i--xl $pad-i-pill--xl $pad-i-label--xl $font-size--xl, | 38 | 'xl' $pad-b--xl $pad-i--xl $pad-i-pill--xl $pad-i-label--xl $font-size--xl, |
39 | ) !default; | 39 | ) !default; |
40 | 40 | ||
41 | $key-focus--label-color: props.def(--o-badge--key-focus--label-color, props.get(core.$theme, --focus, --text)) !default; | ||
42 | $key-focus--border-color: props.def(--o-badge--key-focus--border-color, props.get(core.$theme, --focus, --border)) !default; | ||
43 | $key-focus--outline-color: props.def(--o-badge--key-focus--outline-color, props.get(core.$theme, --focus, --outline)) !default; | ||
44 | |||
45 | $default-theme-override: () !default; | 41 | $default-theme-override: () !default; |
46 | $default-theme: props.def(--o-badge, ( | 42 | $default-theme: props.def(--o-badge, ( |
47 | --bg: props.get(core.$theme, --text-mute), | 43 | --bg: props.get(core.$theme, --text-mute), |
@@ -57,6 +53,12 @@ $default-theme: props.def(--o-badge, ( | |||
57 | --label: props.get(core.$theme, --bg-l2), | 53 | --label: props.get(core.$theme, --bg-l2), |
58 | ), | 54 | ), |
59 | 55 | ||
56 | --key-focus: ( | ||
57 | --label: props.get(core.$theme, --focus, --text), | ||
58 | --border: props.get(core.$theme, --focus, --border), | ||
59 | --outline: props.get(core.$theme, --focus, --outline), | ||
60 | ), | ||
61 | |||
60 | --quiet: ( | 62 | --quiet: ( |
61 | --bg: props.get(core.$theme, --border-mute), | 63 | --bg: props.get(core.$theme, --border-mute), |
62 | --label: props.get(core.$theme, --heading), | 64 | --label: props.get(core.$theme, --heading), |
@@ -117,36 +119,36 @@ $static-themes: props.def(--o-badge); | |||
117 | )); | 119 | )); |
118 | } | 120 | } |
119 | 121 | ||
120 | $themes-config: --accent --positive --negative --warning !default; | 122 | $themes-config: accent positive negative warning !default; |
121 | 123 | ||
122 | $themes: props.def(--o-badge); | 124 | $themes: props.def(--o-badge); |
123 | 125 | ||
124 | @each $theme in $themes-config { | 126 | @each $theme in $themes-config { |
125 | $themes: props.merge($themes, ( | 127 | $themes: props.merge($themes, ( |
126 | $theme: ( | 128 | --#{$theme}: ( |
127 | --bg: props.get(core.$static-colors, $theme, --900), | 129 | --bg: props.get(core.$theme, --#{$theme}-static, --900), |
128 | --label: props.get(core.$static-colors, $theme, --900-text), | 130 | --label: props.get(core.$theme, --#{$theme}-static, --900-text), |
129 | 131 | ||
130 | --hover: ( | 132 | --hover: ( |
131 | --bg: props.get(core.$static-colors, $theme, --1000), | 133 | --bg: props.get(core.$theme, --#{$theme}-static, --1000), |
132 | --label: props.get(core.$static-colors, $theme, --1000-text), | 134 | --label: props.get(core.$theme, --#{$theme}-static, --1000-text), |
133 | ), | 135 | ), |
134 | 136 | ||
135 | --active: ( | 137 | --active: ( |
136 | --bg: props.get(core.$static-colors, $theme, --1100), | 138 | --bg: props.get(core.$theme, --#{$theme}-static, --1100), |
137 | --label: props.get(core.$static-colors, $theme, --1000-text), | 139 | --label: props.get(core.$theme, --#{$theme}-static, --1000-text), |
138 | ), | 140 | ), |
139 | 141 | ||
140 | --quiet: ( | 142 | --quiet: ( |
141 | --bg: props.get(core.$theme, $theme, --200), | 143 | --bg: props.get(core.$theme, --#{$theme}, --200), |
142 | --label: props.get(core.$theme, $theme, --1100), | 144 | --label: props.get(core.$theme, --#{$theme}, --1100), |
143 | --hover: ( | 145 | --hover: ( |
144 | --bg: props.get(core.$theme, $theme, --300), | 146 | --bg: props.get(core.$theme, --#{$theme}, --300), |
145 | --label: props.get(core.$theme, $theme, --1200), | 147 | --label: props.get(core.$theme, --#{$theme}, --1200), |
146 | ), | 148 | ), |
147 | --active: ( | 149 | --active: ( |
148 | --bg: props.get(core.$theme, $theme, --400), | 150 | --bg: props.get(core.$theme, --#{$theme}, --400), |
149 | --label: props.get(core.$theme, $theme, --1300), | 151 | --label: props.get(core.$theme, --#{$theme}, --1300), |
150 | ), | 152 | ), |
151 | ) | 153 | ) |
152 | ) | 154 | ) |
diff --git a/src/objects/_button.vars.scss b/src/objects/_button.vars.scss index 7640e57..cc82d46 100644 --- a/src/objects/_button.vars.scss +++ b/src/objects/_button.vars.scss | |||
@@ -139,26 +139,26 @@ $static-themes: props.def(--o-button); | |||
139 | )); | 139 | )); |
140 | } | 140 | } |
141 | 141 | ||
142 | $themes-config: --accent --negative !default; | 142 | $themes-config: accent negative !default; |
143 | 143 | ||
144 | $themes: props.def(--o-button); | 144 | $themes: props.def(--o-button); |
145 | 145 | ||
146 | @each $theme in $themes-config { | 146 | @each $theme in $themes-config { |
147 | $themes: props.merge($themes, ( | 147 | $themes: props.merge($themes, ( |
148 | $theme: ( | 148 | --#{$theme}: ( |
149 | --bg: props.get(core.$static-colors, $theme, --900), | 149 | --bg: props.get(core.$theme, --#{$theme}-static, --900), |
150 | --label: props.get(core.$static-colors, $theme, --900-text), | 150 | --label: props.get(core.$theme, --#{$theme}-static, --900-text), |
151 | --outline-border: props.get(core.$theme, $theme, --900), | 151 | --outline-border: props.get(core.$theme, --#{$theme}, --900), |
152 | --outline-label: props.get(core.$theme, $theme, --1000), | 152 | --outline-label: props.get(core.$theme, --#{$theme}, --1000), |
153 | 153 | ||
154 | --hover: ( | 154 | --hover: ( |
155 | --bg: props.get(core.$static-colors, $theme, --1000), | 155 | --bg: props.get(core.$theme, --#{$theme}-static, --1000), |
156 | --label: props.get(core.$static-colors, $theme, --1000-text), | 156 | --label: props.get(core.$theme, --#{$theme}-static, --1000-text), |
157 | ), | 157 | ), |
158 | 158 | ||
159 | --active: ( | 159 | --active: ( |
160 | --bg: props.get(core.$static-colors, $theme, --1100), | 160 | --bg: props.get(core.$theme, --#{$theme}-static, --1100), |
161 | --label: props.get(core.$static-colors, $theme, --1100-text), | 161 | --label: props.get(core.$theme, --#{$theme}-static, --1100-text), |
162 | ), | 162 | ), |
163 | ) | 163 | ) |
164 | )); | 164 | )); |
diff --git a/src/objects/_divider.vars.scss b/src/objects/_divider.vars.scss index 01c4b92..4a55f36 100644 --- a/src/objects/_divider.vars.scss +++ b/src/objects/_divider.vars.scss | |||
@@ -46,15 +46,15 @@ $static-themes: props.def(--o-divider); | |||
46 | )); | 46 | )); |
47 | } | 47 | } |
48 | 48 | ||
49 | $themes-config: --accent --negative !default; | 49 | $themes-config: accent negative !default; |
50 | 50 | ||
51 | $themes: props.def(--o-divider); | 51 | $themes: props.def(--o-divider); |
52 | 52 | ||
53 | @each $theme in $themes-config { | 53 | @each $theme in $themes-config { |
54 | $themes: props.merge($themes, ( | 54 | $themes: props.merge($themes, ( |
55 | $theme: ( | 55 | --#{$theme}: ( |
56 | --bg: props.get(core.$theme, $theme, --800), | 56 | --bg: props.get(core.$theme, --#{$theme}, --800), |
57 | --label: props.get(core.$theme, $theme, --1000), | 57 | --label: props.get(core.$theme, --#{$theme}, --1000), |
58 | ) | 58 | ) |
59 | )); | 59 | )); |
60 | } | 60 | } |
diff --git a/src/objects/_field-label.vars.scss b/src/objects/_field-label.vars.scss index 699836e..d39aa2d 100644 --- a/src/objects/_field-label.vars.scss +++ b/src/objects/_field-label.vars.scss | |||
@@ -8,5 +8,5 @@ $hint-font-size: props.def(--o-field-label--hint-font-size, props.get(core.$fon | |||
8 | 8 | ||
9 | $label-color: props.def(--o-field-label--label-color, props.get(core.$theme, --text-mute)) !default; | 9 | $label-color: props.def(--o-field-label--label-color, props.get(core.$theme, --text-mute)) !default; |
10 | $hint-color: props.def(--o-field-label--hint-color, props.get(core.$theme, --text-mute)) !default; | 10 | $hint-color: props.def(--o-field-label--hint-color, props.get(core.$theme, --text-mute)) !default; |
11 | $error-hint-color: props.def(--o-field-label--hint-color, props.get(core.$theme, --negative, --900)) !default; | 11 | $error-hint-color: props.def(--o-field-label--error-hint-color, props.get(core.$theme, --negative, --900)) !default; |
12 | $disabled-color: props.def(--o-field-label--disabled-color, props.get(core.$theme, --text-disabled)) !default; | 12 | $disabled-color: props.def(--o-field-label--disabled-color, props.get(core.$theme, --text-disabled)) !default; |
diff --git a/src/objects/_palette.scss b/src/objects/_palette.scss index d83b297..00c0881 100644 --- a/src/objects/_palette.scss +++ b/src/objects/_palette.scss | |||
@@ -52,7 +52,7 @@ | |||
52 | $key: list.nth(map.keys($contrasts), $i); | 52 | $key: list.nth(map.keys($contrasts), $i); |
53 | 53 | ||
54 | &:nth-child(#{$i}) { | 54 | &:nth-child(#{$i}) { |
55 | background-color: props.get(core.$static-colors, $palette-name, $key); | 55 | background-color: props.get(core.$theme, #{$palette-name}-static, $key); |
56 | } | 56 | } |
57 | } | 57 | } |
58 | } | 58 | } |
diff --git a/src/objects/_text-field.vars.scss b/src/objects/_text-field.vars.scss index 3d0ef2d..6d8abdd 100644 --- a/src/objects/_text-field.vars.scss +++ b/src/objects/_text-field.vars.scss | |||
@@ -12,9 +12,9 @@ $extended--pad: props.def(--o-text-field--extended--pad, props.get(core.$size--5 | |||
12 | 12 | ||
13 | $focus--border-width: props.def(--o-text-field--focus--border-width, props.get(core.$border-width--medium)) !default; | 13 | $focus--border-width: props.def(--o-text-field--focus--border-width, props.get(core.$border-width--medium)) !default; |
14 | 14 | ||
15 | $key-focus--border-width: props.def(--o-text-field--focus--border-width, props.get(core.$key-focus--outline-width)) !default; | 15 | $key-focus--border-width: props.def(--o-text-field--key-focus--border-width, props.get(core.$key-focus--outline-width)) !default; |
16 | 16 | ||
17 | $bg-color: props.def(--o-text-field--bg-color, props.get(core.$theme, --bg)) !default; | 17 | $bg-color: props.def(--o-text-field--bg-color, props.get(core.$theme, --base, --50)) !default; |
18 | $placeholder-color: props.def(--o-text-field--placeholder-color, props.get(core.$theme, --text-mute-more)) !default; | 18 | $placeholder-color: props.def(--o-text-field--placeholder-color, props.get(core.$theme, --text-mute-more)) !default; |
19 | $text-color: props.def(--o-text-field--text-color, props.get(core.$theme, --text)) !default; | 19 | $text-color: props.def(--o-text-field--text-color, props.get(core.$theme, --text)) !default; |
20 | $border-color: props.def(--o-text-field--border-color, props.get(core.$theme, --border-strong)) !default; | 20 | $border-color: props.def(--o-text-field--border-color, props.get(core.$theme, --border-strong)) !default; |
diff --git a/src/scopes/_blockquotes.vars.scss b/src/scopes/_blockquotes.vars.scss index 39d90bd..f2cf935 100644 --- a/src/scopes/_blockquotes.vars.scss +++ b/src/scopes/_blockquotes.vars.scss | |||
@@ -8,4 +8,4 @@ $border-width: props.def(--s-blockquotes--border-width, props.get(core.$border-w | |||
8 | 8 | ||
9 | $compact--indent: props.def(--s-blockquotes--compact--indent, props.get(core.$list--compact-indent)) !default; | 9 | $compact--indent: props.def(--s-blockquotes--compact--indent, props.get(core.$list--compact-indent)) !default; |
10 | 10 | ||
11 | $border-color: props.def(--s-blockquotes--border-width, props.get(core.$theme, --border)) !default; | 11 | $border-color: props.def(--s-blockquotes--border-color, props.get(core.$theme, --border)) !default; |
diff --git a/src/scopes/_implicit.scss b/src/scopes/_implicit.scss index 4bb3482..d66950a 100644 --- a/src/scopes/_implicit.scss +++ b/src/scopes/_implicit.scss | |||
@@ -61,6 +61,7 @@ | |||
61 | font-weight: props.get(vars.$heading--font-weight); | 61 | font-weight: props.get(vars.$heading--font-weight); |
62 | font-feature-settings: props.get(vars.$heading--feature-settings); | 62 | font-feature-settings: props.get(vars.$heading--feature-settings); |
63 | line-height: props.get(vars.$heading--line-height); | 63 | line-height: props.get(vars.$heading--line-height); |
64 | color: props.get(vars.$heading--color); | ||
64 | 65 | ||
65 | & + & { | 66 | & + & { |
66 | margin-block-start: props.get(vars.$heading--margin-bs-sibling); | 67 | margin-block-start: props.get(vars.$heading--margin-bs-sibling); |
diff --git a/src/scopes/_implicit.vars.scss b/src/scopes/_implicit.vars.scss index f0eb45d..7390672 100644 --- a/src/scopes/_implicit.vars.scss +++ b/src/scopes/_implicit.vars.scss | |||
@@ -22,3 +22,5 @@ $heading--line-height: props.def(--s-implicit--heading--line-height, props | |||
22 | $heading--font-weight: props.def(--s-implicit--heading--font-weight, props.get(core.$font--headline--weight)) !default; | 22 | $heading--font-weight: props.def(--s-implicit--heading--font-weight, props.get(core.$font--headline--weight)) !default; |
23 | $heading--font-size: props.def(--s-implicit--heading--font-size, props.get(core.$font-size--100)); | 23 | $heading--font-size: props.def(--s-implicit--heading--font-size, props.get(core.$font-size--100)); |
24 | $heading--feature-settings: props.def(--s-implicit--heading--feature-settings, props.get(core.$font--headline--feature-settings)) !default; | 24 | $heading--feature-settings: props.def(--s-implicit--heading--feature-settings, props.get(core.$font--headline--feature-settings)) !default; |
25 | |||
26 | $heading--color: props.def(--s-implicit--heading--color, props.get(core.$theme, --heading)); | ||
diff --git a/src_demo/index.scss b/src_demo/index.scss index 7fc1d99..3611d71 100644 --- a/src_demo/index.scss +++ b/src_demo/index.scss | |||
@@ -18,6 +18,7 @@ | |||
18 | @include iro.l-media--styles; | 18 | @include iro.l-media--styles; |
19 | @include iro.l-overflow--styles; | 19 | @include iro.l-overflow--styles; |
20 | 20 | ||
21 | @include iro.o-icon--styles; | ||
21 | @include iro.o-action-button--styles; | 22 | @include iro.o-action-button--styles; |
22 | @include iro.o-alert--styles; | 23 | @include iro.o-alert--styles; |
23 | @include iro.o-avatar--styles; | 24 | @include iro.o-avatar--styles; |
@@ -30,7 +31,6 @@ | |||
30 | @include iro.o-emoji--styles; | 31 | @include iro.o-emoji--styles; |
31 | @include iro.o-field-label--styles; | 32 | @include iro.o-field-label--styles; |
32 | @include iro.o-heading--styles; | 33 | @include iro.o-heading--styles; |
33 | @include iro.o-icon--styles; | ||
34 | @include iro.o-lightbox--styles; | 34 | @include iro.o-lightbox--styles; |
35 | @include iro.o-menu--styles; | 35 | @include iro.o-menu--styles; |
36 | @include iro.o-palette--styles; | 36 | @include iro.o-palette--styles; |
diff --git a/tpl/views/action-button.pug b/tpl/views/action-button.pug index 6fa0ce9..8fbf9ea 100644 --- a/tpl/views/action-button.pug +++ b/tpl/views/action-button.pug | |||
@@ -90,7 +90,7 @@ mixin view-action-button | |||
90 | - | 90 | - |
91 | const bg = theme.startsWith('static-black') ? 500 : 1000; | 91 | const bg = theme.startsWith('static-black') ? 500 : 1000; |
92 | 92 | ||
93 | .c-box(style=`background-color: var(--static-colors--blue--${bg});`) | 93 | .c-box(style=`background-color: var(--colors--blue-static--${bg});`) |
94 | +action-button(theme=theme)= 'Idle' | 94 | +action-button(theme=theme)= 'Idle' |
95 | = ' ' | 95 | = ' ' |
96 | +action-button(theme=theme selected=true)= 'Selected' | 96 | +action-button(theme=theme selected=true)= 'Selected' |
@@ -99,7 +99,7 @@ mixin view-action-button | |||
99 | = ' ' | 99 | = ' ' |
100 | +action-button(theme=theme selected=true disabled=true)= 'Selected + disabled' | 100 | +action-button(theme=theme selected=true disabled=true)= 'Selected + disabled' |
101 | 101 | ||
102 | .c-box(style=`background-color: var(--static-colors--blue--${bg});`) | 102 | .c-box(style=`background-color: var(--colors--blue-static--${bg});`) |
103 | +action-button(theme=theme quiet=true)= 'Idle' | 103 | +action-button(theme=theme quiet=true)= 'Idle' |
104 | = ' ' | 104 | = ' ' |
105 | +action-button(theme=theme quiet=true selected=true)= 'Selected' | 105 | +action-button(theme=theme quiet=true selected=true)= 'Selected' |
diff --git a/tpl/views/badge.pug b/tpl/views/badge.pug index 90fdabe..cc1f346 100644 --- a/tpl/views/badge.pug +++ b/tpl/views/badge.pug | |||
@@ -59,7 +59,7 @@ mixin view-badge | |||
59 | - | 59 | - |
60 | const bg = theme.startsWith('static-black') ? 500 : 1000; | 60 | const bg = theme.startsWith('static-black') ? 500 : 1000; |
61 | 61 | ||
62 | .c-box(style=`background-color: var(--static-colors--blue--${bg});`) | 62 | .c-box(style=`background-color: var(--colors--blue-static--${bg});`) |
63 | +badge(theme)(href='#')= 'new' | 63 | +badge(theme)(href='#')= 'new' |
64 | = ' ' | 64 | = ' ' |
65 | +badge(theme)(quiet=true href='#')= 'new' | 65 | +badge(theme)(quiet=true href='#')= 'new' |
diff --git a/tpl/views/button.pug b/tpl/views/button.pug index 04414a4..edd8ef6 100644 --- a/tpl/views/button.pug +++ b/tpl/views/button.pug | |||
@@ -58,7 +58,7 @@ mixin view-button | |||
58 | - | 58 | - |
59 | const bg = theme.startsWith('static-black') ? 500 : 1000; | 59 | const bg = theme.startsWith('static-black') ? 500 : 1000; |
60 | 60 | ||
61 | .c-box(style=`background-color: var(--static-colors--blue--${bg});`) | 61 | .c-box(style=`background-color: var(--colors--blue-static--${bg});`) |
62 | .l-button-group | 62 | .l-button-group |
63 | +a-button(variant=theme)= 'Button' | 63 | +a-button(variant=theme)= 'Button' |
64 | +a-button(variant=theme disabled=true)= 'Button' | 64 | +a-button(variant=theme disabled=true)= 'Button' |
@@ -71,7 +71,7 @@ mixin view-button | |||
71 | +a-button(variant=theme outline=true icon='trash') | 71 | +a-button(variant=theme outline=true icon='trash') |
72 | +a-button(variant=theme outline=true disabled=true icon='trash') | 72 | +a-button(variant=theme outline=true disabled=true icon='trash') |
73 | 73 | ||
74 | .c-box(style=`background-color: var(--static-colors--blue--${bg});`) | 74 | .c-box(style=`background-color: var(--colors--blue-static--${bg});`) |
75 | .l-button-group | 75 | .l-button-group |
76 | +a-button(variant=theme primary=true)= 'Button' | 76 | +a-button(variant=theme primary=true)= 'Button' |
77 | +a-button(variant=theme primary=true disabled=true)= 'Button' | 77 | +a-button(variant=theme primary=true disabled=true)= 'Button' |
diff --git a/tpl/views/divider.pug b/tpl/views/divider.pug index b5b6d70..e2f2e01 100644 --- a/tpl/views/divider.pug +++ b/tpl/views/divider.pug | |||
@@ -36,7 +36,7 @@ mixin view-divider | |||
36 | - | 36 | - |
37 | const bg = theme.startsWith('static-black') ? 500 : 1000; | 37 | const bg = theme.startsWith('static-black') ? 500 : 1000; |
38 | 38 | ||
39 | .c-box(style=`background-color: var(--static-colors--blue--${bg});`) | 39 | .c-box(style=`background-color: var(--colors--blue-static--${bg});`) |
40 | +divider('strong')(color=theme)= 'Strong' | 40 | +divider('strong')(color=theme)= 'Strong' |
41 | +divider('medium')(color=theme)= 'Medium' | 41 | +divider('medium')(color=theme)= 'Medium' |
42 | +divider('faint')(color=theme)= 'Faint' | 42 | +divider('faint')(color=theme)= 'Faint' |