diff options
Diffstat (limited to 'src/objects')
-rw-r--r-- | src/objects/_button.scss | 29 | ||||
-rw-r--r-- | src/objects/_button.vars.scss | 15 | ||||
-rw-r--r-- | src/objects/_text-field.scss | 22 | ||||
-rw-r--r-- | src/objects/_text-field.vars.scss | 1 |
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; |