diff options
Diffstat (limited to 'src')
| -rw-r--r-- | src/objects/_button.scss | 29 | ||||
| -rw-r--r-- | src/objects/_button.vars.scss | 15 |
2 files changed, 44 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), |
