summaryrefslogtreecommitdiffstats
path: root/src/objects
diff options
context:
space:
mode:
Diffstat (limited to 'src/objects')
-rw-r--r--src/objects/_button.scss29
-rw-r--r--src/objects/_button.vars.scss15
-rw-r--r--src/objects/_text-field.scss22
-rw-r--r--src/objects/_text-field.vars.scss1
4 files changed, 67 insertions, 0 deletions
diff --git a/src/objects/_button.scss b/src/objects/_button.scss
index 8fbec78..c4ecd87 100644
--- a/src/objects/_button.scss
+++ b/src/objects/_button.scss
@@ -109,6 +109,35 @@
109 } 109 }
110 } 110 }
111 111
112 @include bem.is('highlighted') {
113 &:link,
114 &:visited,
115 &:enabled {
116 &,
117 &:hover,
118 &:focus-visible {
119 border-color: props.get($theme, list.join($key, --highlighted --border-color)...);
120 }
121
122 box-shadow:
123 0 0 0 1px props.get($theme, list.join($key, --highlighted --border-color)...),
124 props.get(vars.$shadow-x)
125 props.get(vars.$shadow-y)
126 props.get(vars.$shadow-blur)
127 props.get(vars.$shadow-grow)
128 props.get($theme, list.join($key, --highlighted --shadow-color)...);
129
130 &:focus-visible {
131 box-shadow:
132 props.get(vars.$shadow-x)
133 props.get(vars.$shadow-y)
134 props.get(vars.$shadow-blur)
135 props.get(vars.$shadow-grow)
136 props.get($theme, list.join($key, --shadow-color)...);
137 }
138 }
139 }
140
112 @include bem.is('selected') { 141 @include bem.is('selected') {
113 color: props.get($theme, list.join($key, --selected --disabled --label-color)...); 142 color: props.get($theme, list.join($key, --selected --disabled --label-color)...);
114 background-color: props.get($theme, list.join($key, --selected --disabled --bg-color)...); 143 background-color: props.get($theme, list.join($key, --selected --disabled --bg-color)...);
diff --git a/src/objects/_button.vars.scss b/src/objects/_button.vars.scss
index 7b4670f..cc7b7d5 100644
--- a/src/objects/_button.vars.scss
+++ b/src/objects/_button.vars.scss
@@ -78,6 +78,11 @@ $default-theme: map.deep-merge((
78 --outline-color: props.get(core.$theme, --focus, --outline), 78 --outline-color: props.get(core.$theme, --focus, --outline),
79 ), 79 ),
80 80
81 --highlighted: (
82 --border-color: props.get(core.$theme, --focus, --border),
83 --shadow-color: props.get(core.$theme, --focus, --outline),
84 ),
85
81 --selected: ( 86 --selected: (
82 --bg-color: props.get(core.$theme, --text), 87 --bg-color: props.get(core.$theme, --text),
83 --label-color: props.get(core.$theme, --base, --50), 88 --label-color: props.get(core.$theme, --base, --50),
@@ -194,6 +199,11 @@ $default-theme-dark: props.def(--o-button, $default-theme-dark, 'dark');
194 --outline-color: props.get(core.$transparent-colors, $theme, --300), 199 --outline-color: props.get(core.$transparent-colors, $theme, --300),
195 ), 200 ),
196 201
202 --highlighted: (
203 --border-color: props.get(core.$transparent-colors, $theme, --900),
204 --shadow-color: props.get(core.$transparent-colors, --black, --200),
205 ),
206
197 --selected: ( 207 --selected: (
198 --bg-color: props.get(core.$transparent-colors, $theme, --800), 208 --bg-color: props.get(core.$transparent-colors, $theme, --800),
199 --label-color: props.get(core.$transparent-colors, $theme, --text), 209 --label-color: props.get(core.$transparent-colors, $theme, --text),
@@ -295,6 +305,11 @@ $themes-config: (
295 --outline-color: props.get(core.$theme, --focus, --outline), 305 --outline-color: props.get(core.$theme, --focus, --outline),
296 ), 306 ),
297 307
308 --highlighted: (
309 --border-color: props.get(core.$theme, $key, --900),
310 --shadow-color: props.get(core.$theme, $key, --200),
311 ),
312
298 --selected: ( 313 --selected: (
299 --bg-color: props.get(core.$theme, #{$key}-static, --900), 314 --bg-color: props.get(core.$theme, #{$key}-static, --900),
300 --label-color: props.get(core.$theme, #{$key}-static, --900-text), 315 --label-color: props.get(core.$theme, #{$key}-static, --900-text),
diff --git a/src/objects/_text-field.scss b/src/objects/_text-field.scss
index 6c0e7d2..a52050c 100644
--- a/src/objects/_text-field.scss
+++ b/src/objects/_text-field.scss
@@ -120,6 +120,28 @@
120 } 120 }
121 } 121 }
122 122
123 @include bem.modifier('pill') {
124 @include bem.multi('&', 'elem' 'bg') {
125 border-radius: 100em;
126 }
127
128 @include bem.elem('native') {
129 padding-inline: props.get(vars.$pad-i-pill);
130
131 &:focus {
132 @include bem.sibling-elem('bg') {
133 border-radius: 100em;
134 }
135 }
136 }
137
138 @include bem.modifier('extended') {
139 @include bem.elem('native') {
140 padding-inline: props.get(vars.$pad-i);
141 }
142 }
143 }
144
123 @include bem.is('invalid') { 145 @include bem.is('invalid') {
124 @include bem.elem('native') { 146 @include bem.elem('native') {
125 @include -invalid; 147 @include -invalid;
diff --git a/src/objects/_text-field.vars.scss b/src/objects/_text-field.vars.scss
index f64c42b..51099d8 100644
--- a/src/objects/_text-field.vars.scss
+++ b/src/objects/_text-field.vars.scss
@@ -4,6 +4,7 @@
4 4
5$line-height: props.def(--o-text-field--line-height, 1.4) !default; 5$line-height: props.def(--o-text-field--line-height, 1.4) !default;
6$pad-i: props.def(--o-text-field--pad-i, props.get(core.$size--125)) !default; 6$pad-i: props.def(--o-text-field--pad-i, props.get(core.$size--125)) !default;
7$pad-i-pill: props.def(--o-text-field--pad-i-pill, props.get(core.$size--175)) !default;
7$pad-b: props.def(--o-text-field--pad-b, props.get(core.$size--125)) !default; 8$pad-b: props.def(--o-text-field--pad-b, props.get(core.$size--125)) !default;
8$border-width: props.def(--o-text-field--border-width, props.get(core.$border-width--thin)) !default; 9$border-width: props.def(--o-text-field--border-width, props.get(core.$border-width--thin)) !default;
9$rounding: props.def(--o-text-field--rounding, props.get(core.$rounding--sm)) !default; 10$rounding: props.def(--o-text-field--rounding, props.get(core.$rounding--sm)) !default;