@castlabs/ui 7.0.0 → 7.0.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (30) hide show
  1. package/dist/castlabs-ui.common.js +4 -4
  2. package/dist/castlabs-ui.common.js.map +1 -1
  3. package/dist/castlabs-ui.css +2 -2
  4. package/dist/castlabs-ui.umd.js +7 -7
  5. package/dist/castlabs-ui.umd.js.map +1 -1
  6. package/package.json +1 -1
  7. package/src/components/ClBadge/style.variables.scss +9 -7
  8. package/src/components/ClButton/style.scss +3 -3
  9. package/src/components/ClCard/style.scss +10 -3
  10. package/src/components/ClCard/style.variables.scss +16 -6
  11. package/src/components/ClDropdown/style.scss +9 -8
  12. package/src/components/ClPagination/style.scss +1 -1
  13. package/src/components/ClTabs/style.scss +6 -0
  14. package/src/components/ClToggle/style.scss +6 -1
  15. package/src/components/form/ClFieldFile/style.scss +2 -1
  16. package/src/components/form/ClForm/style.scss +1 -1
  17. package/src/components/modal/ClModal/style.scss +1 -1
  18. package/src/components/navigation/ClNavSide/ClNavDrawer/style.scss +16 -13
  19. package/src/components/navigation/ClNavTop/style.scss +2 -1
  20. package/src/components/table/ClTableCel/Audit/style.scss +1 -1
  21. package/src/components/table/ClTableCel/Boolean/style.scss +1 -1
  22. package/src/components/text/ClLinkExternal/style.scss +1 -1
  23. package/src/components/widget/ClCookieBanner/style.scss +9 -2
  24. package/src/styles/abstracts/color.scss +30 -10
  25. package/src/styles/components/button.variables.scss +2 -2
  26. package/src/styles/layout/helper.scss +11 -0
  27. package/src/styles/layout/spacing.scss +1 -0
  28. package/src/styles/layout/typography.scss +1 -0
  29. package/src/styles/layout/typography.variables.scss +2 -2
  30. package/src/styles/vendors/castlabs.scss +2 -2
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@castlabs/ui",
3
- "version": "7.0.0",
3
+ "version": "7.0.2",
4
4
  "repository": "https://github.com/castlabs/ui-styleguide",
5
5
  "private": false,
6
6
  "description": "A vanilla HTML/CS/JS & Vue.js component library for Castlabs.",
@@ -44,17 +44,19 @@ $badge-baseline-shift: 0.055555em; // 1px @ 14pt
44
44
  %cl-badge-derived {
45
45
  @extend %cl-badge;
46
46
 
47
+ border: 0;
47
48
  content: ' ';
48
- padding-left: $spacing-tiny;
49
- padding-right: 0;
50
- width: 3em;
49
+ padding: 0 0 0 $spacing-tiny;
51
50
 
52
- + * {
53
- margin-left: -1.75em;
51
+ > .cl-badge {
52
+ margin-left: -1em;
54
53
  }
55
54
 
56
- &.cl-badge-sm + * {
57
- margin-left: -2em;
55
+ > .cl-badge.cl-badge-sm,
56
+ > .cl-plan,
57
+ > .cl-role,
58
+ > .cl-hashtag {
59
+ margin-left: -1.25em;
58
60
  }
59
61
 
60
62
  &::before {
@@ -11,7 +11,7 @@
11
11
  @extend %cl-p-nav;
12
12
  @include cl-button;
13
13
  @include cl-button-color;
14
- @include cl-button-focus-outline(var(--cl-color-text));
14
+ @include cl-button-focus-outline;
15
15
 
16
16
  &.cl-btn-icon {
17
17
  min-width: 2.1em;
@@ -68,7 +68,7 @@
68
68
 
69
69
  .cl-btn-ghost {
70
70
  // an accessible, invisible button that can trigger clicks
71
- @include cl-button-focus-outline($color-text);
71
+ @include cl-button-focus-outline;
72
72
 
73
73
  background: transparent;
74
74
  border: 0;
@@ -129,7 +129,7 @@
129
129
 
130
130
  // --- responsive tweaks -------------------------------------------------------
131
131
 
132
- .btn:not(.cl-btn-quickaction) {
132
+ .btn:not([class*='cl-btn-']) {
133
133
  @include media-breakpoint-down(sm) {
134
134
  width: 100%;
135
135
  }
@@ -30,17 +30,24 @@ details.card {
30
30
  align-items: center;
31
31
  background-color: var(--cl-color-background);
32
32
  box-shadow: -8px 0 4px var(--cl-color-background);
33
- color: $color-ci-silver;
33
+ color: $color-ci-clay;
34
34
  display: flex;
35
- height: 100%;
35
+ height: 80%;
36
36
  justify-content: flex-start;
37
37
  position: absolute;
38
38
  right: $card-spacing;
39
- top: 0;
39
+ top: 10%;
40
+ }
41
+
42
+ &:hover,
43
+ &:hover::after {
44
+ color: $color-ci-red !important;
40
45
  }
41
46
 
42
47
  &:focus {
43
48
  @include cl-color-focus-outline;
49
+
50
+ border-radius: $brand-border-radius;
44
51
  }
45
52
  }
46
53
 
@@ -11,7 +11,6 @@ $card-spacing-tight: $spacing-small;
11
11
  %cl-card {
12
12
  @extend %cl-color-night-outline;
13
13
 
14
- #{'--cl-color-accent'}: $color-ci-petrol;
15
14
  background-color: transparent;
16
15
  background-position: center;
17
16
  background-size: cover;
@@ -42,6 +41,15 @@ $card-spacing-tight: $spacing-small;
42
41
  }
43
42
  }
44
43
 
44
+ &:not([class*='cl-color-']) {
45
+ #{'--cl-color-accent'}: $color-accent;
46
+ }
47
+
48
+ &.cl-color-red-outline:not([class*='cl-color-text-']) {
49
+ #{'--cl-color-text'}: $color-ci-night;
50
+ #{'--cl-color-accent'}: $color-accent;
51
+ }
52
+
45
53
  a:not(.btn) {
46
54
  @include typography-link(var(--cl-color-link), var(--cl-color-hover));
47
55
 
@@ -52,10 +60,6 @@ $card-spacing-tight: $spacing-small;
52
60
  color: var(--cl-color-text) !important;
53
61
  }
54
62
 
55
- .btn {
56
- width: 100%;
57
- }
58
-
59
63
  &.cl-card-oversized {
60
64
  @include media-breakpoint-up(sm) {
61
65
  margin-left: -$card-spacing;
@@ -71,6 +75,12 @@ $card-spacing-tight: $spacing-small;
71
75
  padding: calc($card-spacing - $brand-line-width);
72
76
  }
73
77
 
78
+ .card-footer {
79
+ .btn {
80
+ width: 100%;
81
+ }
82
+ }
83
+
74
84
  form.card-body {
75
85
  margin-top: 0;
76
86
  }
@@ -187,7 +197,7 @@ $card-spacing-tight: $spacing-small;
187
197
 
188
198
  .card-header {
189
199
  @extend %cl-h4;
190
- @include cl-button-focus-outline(var(--cl-color-text));
200
+ @include cl-button-focus-outline;
191
201
 
192
202
  color: var(--cl-color-text);
193
203
  }
@@ -8,7 +8,7 @@
8
8
 
9
9
  $dropdown-border: 0.125rem; // a 2px border to add so there is space for the outline
10
10
  $dropdown-color-chevron: rgba($color-ci-white, 0.5);
11
- $dropdown-color-chevron-bright: rgba($color-ci-silver, 0.5);
11
+ $dropdown-color-chevron-bright: rgba($color-ci-clay, 0.5);
12
12
  $dropdown-line-height: 1.25em;
13
13
 
14
14
  .cl-dropdown {
@@ -22,7 +22,7 @@ $dropdown-line-height: 1.25em;
22
22
  summary {
23
23
  @extend %cl-p-nav;
24
24
 
25
- @include cl-color-focus-outline(var(--cl-color-text));
25
+ @include cl-color-focus-outline;
26
26
 
27
27
  border: $dropdown-border solid var(--cl-color-background); // border need so that outline is not behind ::after
28
28
  color: var(--cl-color-text);
@@ -44,12 +44,13 @@ $dropdown-line-height: 1.25em;
44
44
  box-shadow: -8px 0 4px var(--cl-color-background);
45
45
  color: $dropdown-color-chevron-bright;
46
46
  display: flex;
47
- height: 100%;
47
+ font-size: px(18);
48
+ height: calc(100% - 8px);
48
49
  justify-content: flex-start;
49
50
  position: absolute;
50
- right: 0;
51
- top: 0;
52
- width: $spacing-small * 2;
51
+ right: 4px;
52
+ top: 4px;
53
+ width: calc($spacing-small * 2 - 2px);
53
54
  }
54
55
 
55
56
  > span,
@@ -144,7 +145,7 @@ div.cl-dropdown summary {
144
145
  }
145
146
 
146
147
  .cl-dropdown-arrow {
147
- background-color: $color-ci-haze;
148
+ background-color: $color-ci-eggshell;
148
149
  content: '';
149
150
  display: inline-block;
150
151
  height: 1rem;
@@ -164,7 +165,7 @@ div.cl-dropdown summary {
164
165
  @extend %cl-p-nav;
165
166
 
166
167
  @include typography-link(var(--cl-color-text), var(--cl-color-text), 0);
167
- @include cl-color-focus-outline(var(--cl-color-text));
168
+ @include cl-color-focus-outline;
168
169
 
169
170
  display: block;
170
171
  line-height: $dropdown-line-height;
@@ -25,7 +25,7 @@
25
25
  .page-link {
26
26
  @include cl-button;
27
27
  @include cl-button-color;
28
- @include cl-button-focus-outline(var(--cl-color-text));
28
+ @include cl-button-focus-outline;
29
29
 
30
30
  border-radius: $brand-border-radius !important; // overrule BS
31
31
  font-size: px(14);
@@ -73,6 +73,12 @@
73
73
  }
74
74
 
75
75
  @for $i from 1 through 16 {
76
+ .cl-tab-#{$i}:focus ~ ul {
77
+ .cl-tab-#{$i} label {
78
+ @include cl-color-focus-outline-raw;
79
+ }
80
+ }
81
+
76
82
  .cl-tab-#{$i}:checked ~ ul {
77
83
  .cl-tab-#{$i} {
78
84
  border-color: $color-selected;
@@ -6,7 +6,7 @@
6
6
  // This file defines castlabs toggle/checkboxes.
7
7
 
8
8
  .cl-toggle-checkbox {
9
- @include cl-button-focus-outline(var(--cl-color-text));
9
+ @include cl-button-focus-outline;
10
10
 
11
11
  // hide checkbox but keep it tab-able
12
12
  display: inline-block;
@@ -34,9 +34,14 @@
34
34
  }
35
35
  }
36
36
 
37
+ &:focus + .cl-badge {
38
+ @include cl-color-focus-outline-raw;
39
+ }
40
+
37
41
  &:not(:checked) + .cl-badge {
38
42
  background-color: transparent;
39
43
  color: var(--cl-color-background);
44
+ #{'--cl-color-focus'}: rgba($color-ci-night, 0.5);
40
45
 
41
46
  i:nth-of-type(1) {
42
47
  display: none;
@@ -23,11 +23,12 @@
23
23
 
24
24
  &:focus + .cl-file-companion {
25
25
  @include form-focus-embed();
26
+ @include cl-color-focus-outline-raw;
26
27
  }
27
28
 
28
29
  &[invalid]:focus + .cl-file-companion,
29
30
  &.invalid:focus + .cl-file-companion {
30
- border-color: $color-ci-silver;
31
+ border-color: $color-ci-clay;
31
32
  }
32
33
 
33
34
  .form-label + & {
@@ -57,7 +57,7 @@
57
57
  margin-top: $spacing-micro;
58
58
 
59
59
  &::before {
60
- color: $color-ci-silver;
60
+ color: $color-ci-clay;
61
61
  content: '\f05a';
62
62
  display: inline-block;
63
63
  font-family: 'Font Awesome 5 Free';
@@ -13,7 +13,7 @@
13
13
  display: none;
14
14
  height: 100vh;
15
15
  left: 0;
16
- padding: 2rem 0;
16
+ padding: 2rem $spacing-tiny;
17
17
  position: fixed;
18
18
  top: 0;
19
19
  width: 100%;
@@ -68,13 +68,13 @@ $sidenav-color-app: #3b4253; // color.adjust($sidenav-color-account, $lightness:
68
68
  // ------------------------------------------------------------
69
69
  @extend %cl-p-nav;
70
70
 
71
- $background: $sidenav-color-account;
72
- $foreground: $color-ci-eggshell;
73
-
71
+ #{'--cl-color-background'}: $sidenav-color-account;
72
+ #{'--cl-color-text'}: $color-ci-eggshell;
73
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
74
74
  align-items: center;
75
- background-color: $background;
75
+ background-color: var(--cl-color-background);
76
76
  border-bottom: 0;
77
- color: $foreground;
77
+ color: var(--cl-color-text);
78
78
  display: flex;
79
79
  flex-direction: row;
80
80
  font-weight: 500;
@@ -84,15 +84,15 @@ $sidenav-color-app: #3b4253; // color.adjust($sidenav-color-account, $lightness:
84
84
  padding: 0 $spacing-small;
85
85
 
86
86
  a {
87
- @include typography-link($foreground, $foreground, 0);
88
- @include cl-color-focus-outline($foreground);
87
+ @include typography-link(var(--cl-color-text), var(--cl-color-text), 0);
88
+ @include cl-color-focus-outline(var(--cl-color-focus), 0);
89
89
 
90
90
  line-height: 1;
91
91
  padding-bottom: 0;
92
92
 
93
93
  &:first-of-type {
94
94
  // the username
95
- @include cl-nav-fadeout($background);
95
+ @include cl-nav-fadeout(var(--cl-color-background));
96
96
 
97
97
  margin-right: $spacing-micro;
98
98
  width: 100%;
@@ -101,7 +101,7 @@ $sidenav-color-app: #3b4253; // color.adjust($sidenav-color-account, $lightness:
101
101
  // user icon
102
102
  @include cl-fontawesome('\f2bd');
103
103
 
104
- color: $color-ci-haze;
104
+ color: var(--cl-color-text);
105
105
  font-size: px(22);
106
106
  line-height: 1;
107
107
  margin-right: $spacing-tiny;
@@ -120,6 +120,7 @@ $sidenav-color-app: #3b4253; // color.adjust($sidenav-color-account, $lightness:
120
120
  details.cl-nav-organization {
121
121
  #{'--cl-color-text'}: $color-ci-eggshell;
122
122
  #{'--cl-color-background'}: $sidenav-color-organization;
123
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
123
124
  background-color: var(--cl-color-background);
124
125
  color: var(--cl-color-text);
125
126
  display: block;
@@ -187,11 +188,12 @@ $sidenav-color-app: #3b4253; // color.adjust($sidenav-color-account, $lightness:
187
188
  box-shadow: -8px 0 4px var(--cl-color-background);
188
189
  color: $color-ci-clay;
189
190
  display: flex;
190
- height: calc(100% - 4px);
191
+ font-size: px(18);
192
+ height: calc(100% - 8px); // give room for focus outline
191
193
  justify-content: flex-start;
192
194
  position: absolute;
193
195
  right: 4px;
194
- top: 2px;
196
+ top: 4px;
195
197
  width: calc($spacing-small * 2 - 2px);
196
198
  }
197
199
 
@@ -203,7 +205,7 @@ $sidenav-color-app: #3b4253; // color.adjust($sidenav-color-account, $lightness:
203
205
  }
204
206
 
205
207
  a.cl-nav-organization {
206
- @include cl-color-focus-outline($color-ci-eggshell);
208
+ @include cl-color-focus-outline;
207
209
  }
208
210
 
209
211
  details.cl-nav-organization {
@@ -271,7 +273,7 @@ $sidenav-color-app: #3b4253; // color.adjust($sidenav-color-account, $lightness:
271
273
  @extend %cl-p-nav;
272
274
 
273
275
  @include typography-link($sidenav-color-text, $sidenav-color-text, 0);
274
- @include cl-color-focus-outline($sidenav-color-text);
276
+ @include cl-color-focus-outline;
275
277
 
276
278
  display: inline-block;
277
279
  font-weight: 500;
@@ -335,6 +337,7 @@ $sidenav-color-app: #3b4253; // color.adjust($sidenav-color-account, $lightness:
335
337
  .cl-dropdown {
336
338
  #{'--cl-color-text'}: $color-ci-eggshell;
337
339
  #{'--cl-color-background'}: $sidenav-color-app;
340
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
338
341
  background-color: var(--cl-color-background);
339
342
  color: var(--cl-color-text);
340
343
 
@@ -8,6 +8,7 @@
8
8
  .cl-nav-top {
9
9
  // first/top line in content area
10
10
  @extend %section-padding;
11
+ @extend %cl-color-night;
11
12
 
12
13
  @include spacing-before(0);
13
14
 
@@ -156,7 +157,7 @@
156
157
 
157
158
  &::after {
158
159
  // we use a block item, not a border, so content does not jump
159
- background-color: $color-ci-silver;
160
+ background-color: $color-ci-clay;
160
161
  content: '';
161
162
  display: block;
162
163
  height: 100%;
@@ -10,7 +10,7 @@
10
10
  }
11
11
 
12
12
  .cl-td-audit {
13
- color: $color-ci-silver;
13
+ color: $color-ci-clay;
14
14
  overflow-wrap: unset;
15
15
  text-align: center;
16
16
  width: 0.9em;
@@ -10,7 +10,7 @@
10
10
  }
11
11
 
12
12
  .fa-minus::before {
13
- color: $color-ci-silver;
13
+ color: $color-ci-clay;
14
14
  }
15
15
  }
16
16
  }
@@ -65,7 +65,7 @@ a.cl-a-none:not(.btn) {
65
65
  text-decoration: none;
66
66
 
67
67
  &:not(:hover) {
68
- color: $color-ci-silver;
68
+ color: $color-ci-clay;
69
69
  }
70
70
  }
71
71
 
@@ -29,8 +29,15 @@
29
29
  width: calc(100% - $spacing-small);
30
30
 
31
31
  .card-body {
32
- padding-left: 0;
33
- padding-right: 0;
32
+ padding-left: $spacing-small;
33
+ padding-right: $spacing-small;
34
+
35
+ .cl-spacing-box.text-center {
36
+ > * {
37
+ margin-left: $spacing-tiny;
38
+ margin-right: $spacing-tiny;
39
+ }
40
+ }
34
41
  }
35
42
  }
36
43
 
@@ -32,7 +32,7 @@ $color-ci-cloud: $color-ci-ash;
32
32
  $color-ci-silver: $color-ci-clay;
33
33
  $color-ci-smoke: $color-ci-clay;
34
34
  $color-ci-haze: $color-ci-eggshell;
35
- $color-dark: $color-ci-cloud;
35
+ $color-dark: $color-ci-ash;
36
36
 
37
37
  $color-ci-green: #8cd867; //2a7a5c;
38
38
  $color-ci-orange: #d1ac00; // fec671; //f18f01;
@@ -50,23 +50,28 @@ $color-disabled: $color-ci-clay;
50
50
 
51
51
  $color-text: $color-ci-night;
52
52
  $color-selected: $color-ci-red;
53
+ $color-accent: $color-ci-petrol;
53
54
  $color-focus: $color-ci-night;
54
55
  $color-background: $color-ci-white;
55
56
  $color-code-background: rgb(16 0 0 / 5%); // transparent to work on different colors
56
57
 
57
- $color-line: $color-ci-smoke;
58
- $color-line-focus: $color-ci-silver;
58
+ $color-line: $color-ci-clay;
59
+ $color-line-focus: $color-ci-clay;
59
60
 
60
61
  $bar-ui-width: px(4);
61
62
 
62
- @mixin cl-color-focus-outline($color: $color-ci-ash, $offset: -2px) {
63
+ @mixin cl-color-focus-outline-raw($color: var(--cl-color-focus), $offset: -3px) {
64
+ box-shadow: none; // disable BS outlines
65
+ outline: 1px dashed $color;
66
+ outline-offset: $offset;
67
+ z-index: 100;
68
+ }
69
+
70
+ @mixin cl-color-focus-outline($color: var(--cl-color-focus), $offset: -3px) {
63
71
  &:focus,
64
72
  &:focus-visible,
65
73
  &:focus-within {
66
- box-shadow: none; // disable BS outlines
67
- outline: 1px dashed $color;
68
- outline-offset: $offset;
69
- z-index: 100;
74
+ @include cl-color-focus-outline-raw($color, $offset);
70
75
  }
71
76
  }
72
77
 
@@ -103,7 +108,7 @@ $bar-ui-width: px(4);
103
108
 
104
109
  &.cl-accent-petrol,
105
110
  .cl-accent-petrol {
106
- #{'--cl-color-accent'}: $color-ci-petrol;
111
+ #{'--cl-color-accent'}: $color-accent;
107
112
  }
108
113
 
109
114
  &.cl-accent-berry,
@@ -125,11 +130,12 @@ $bar-ui-width: px(4);
125
130
  #{'--cl-color-border'}: $color-ci-night;
126
131
  #{'--cl-color-text'}: $color-ci-night;
127
132
  #{'--cl-color-line'}: $color-ci-clay;
128
- #{'--cl-color-accent'}: $color-ci-petrol;
133
+ #{'--cl-color-accent'}: $color-accent;
129
134
  #{'--cl-color-highlight'}: rgba(#fff, 0.85);
130
135
  #{'--cl-color-link'}: $color-ci-berry;
131
136
  #{'--cl-color-active'}: $color-ci-berry;
132
137
  #{'--cl-color-hover'}: $color-ci-red;
138
+ #{'--cl-color-focus'}: rgba($color-ci-night, 0.5);
133
139
  }
134
140
 
135
141
  %cl-color-night-outline {
@@ -141,6 +147,7 @@ $bar-ui-width: px(4);
141
147
  #{'--cl-color-accent'}: $color-ci-night;
142
148
  #{'--cl-color-highlight'}: rgba(#fff, 0.85);
143
149
  #{'--cl-color-link'}: $color-ci-berry;
150
+ #{'--cl-color-focus'}: rgba($color-ci-night, 0.5);
144
151
  }
145
152
 
146
153
  %cl-color-red {
@@ -151,6 +158,7 @@ $bar-ui-width: px(4);
151
158
  #{'--cl-color-accent'}: $color-ci-eggshell;
152
159
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
153
160
  #{'--cl-color-link'}: $color-ci-eggshell;
161
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
154
162
  }
155
163
 
156
164
  %cl-color-red-outline {
@@ -160,6 +168,7 @@ $bar-ui-width: px(4);
160
168
  #{'--cl-color-accent'}: $color-ci-red;
161
169
  #{'--cl-color-highlight'}: rgba(#fff, 0.85);
162
170
  #{'--cl-color-link'}: $color-ci-berry;
171
+ #{'--cl-color-focus'}: rgba($color-ci-red, 0.5);
163
172
  }
164
173
 
165
174
  %cl-color-sky {
@@ -170,6 +179,7 @@ $bar-ui-width: px(4);
170
179
  #{'--cl-color-accent'}: $color-ci-night;
171
180
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
172
181
  #{'--cl-color-link'}: $color-ci-night;
182
+ #{'--cl-color-focus'}: rgba($color-ci-night, 0.5);
173
183
  }
174
184
 
175
185
  %cl-color-night {
@@ -180,6 +190,7 @@ $bar-ui-width: px(4);
180
190
  #{'--cl-color-accent'}: $color-ci-eggshell;
181
191
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
182
192
  #{'--cl-color-link'}: $color-ci-eggshell;
193
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
183
194
  }
184
195
 
185
196
  %cl-color-eggshell {
@@ -190,6 +201,7 @@ $bar-ui-width: px(4);
190
201
  #{'--cl-color-accent'}: $color-ci-night;
191
202
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
192
203
  #{'--cl-color-link'}: $color-ci-berry;
204
+ #{'--cl-color-focus'}: rgba($color-ci-night, 0.5);
193
205
  }
194
206
 
195
207
  %cl-color-clay {
@@ -200,6 +212,7 @@ $bar-ui-width: px(4);
200
212
  #{'--cl-color-accent'}: $color-ci-night;
201
213
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
202
214
  #{'--cl-color-link'}: $color-ci-night;
215
+ #{'--cl-color-focus'}: rgba($color-ci-night, 0.5);
203
216
  }
204
217
 
205
218
  %cl-color-ash {
@@ -210,6 +223,7 @@ $bar-ui-width: px(4);
210
223
  #{'--cl-color-accent'}: $color-ci-eggshell;
211
224
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
212
225
  #{'--cl-color-link'}: $color-ci-eggshell;
226
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
213
227
  }
214
228
 
215
229
  %cl-color-petrol {
@@ -220,6 +234,7 @@ $bar-ui-width: px(4);
220
234
  #{'--cl-color-accent'}: $color-ci-eggshell;
221
235
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
222
236
  #{'--cl-color-link'}: $color-ci-eggshell;
237
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
223
238
  }
224
239
 
225
240
  %cl-color-berry {
@@ -230,6 +245,7 @@ $bar-ui-width: px(4);
230
245
  #{'--cl-color-accent'}: $color-ci-eggshell;
231
246
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
232
247
  #{'--cl-color-link'}: $color-ci-eggshell;
248
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
233
249
  }
234
250
 
235
251
  %cl-color-transparent {
@@ -240,6 +256,7 @@ $bar-ui-width: px(4);
240
256
  #{'--cl-color-accent'}: $color-ci-eggshell;
241
257
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
242
258
  #{'--cl-color-link'}: $color-ci-eggshell;
259
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
243
260
  }
244
261
 
245
262
  %cl-color-disabled {
@@ -250,6 +267,7 @@ $bar-ui-width: px(4);
250
267
  #{'--cl-color-accent'}: $color-disabled;
251
268
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
252
269
  #{'--cl-color-link'}: $color-disabled;
270
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
253
271
  }
254
272
 
255
273
  %cl-color-faded {
@@ -260,6 +278,7 @@ $bar-ui-width: px(4);
260
278
  #{'--cl-color-accent'}: $color-ci-ash;
261
279
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
262
280
  #{'--cl-color-link'}: $color-ci-ash;
281
+ #{'--cl-color-focus'}: rgba($color-ci-ash, 0.5);
263
282
  }
264
283
 
265
284
  %cl-color-none {
@@ -267,6 +286,7 @@ $bar-ui-width: px(4);
267
286
  #{'--cl-color-border'}: transparent;
268
287
  #{'--cl-color-highlight'}: rgba(#fff, 0.1);
269
288
  #{'--cl-color-link'}: $color-ci-eggshell;
289
+ #{'--cl-color-focus'}: rgba($color-ci-eggshell, 0.75);
270
290
  }
271
291
 
272
292
  // ----------------------------------------------
@@ -81,10 +81,10 @@
81
81
  }
82
82
  }
83
83
 
84
- @mixin cl-button-focus-outline($color) {
84
+ @mixin cl-button-focus-outline() {
85
85
  .btn-check:focus + &,
86
86
  &:focus {
87
- @include cl-color-focus-outline($color, -3px);
87
+ @include cl-color-focus-outline;
88
88
 
89
89
  box-shadow: none;
90
90
  }
@@ -44,6 +44,17 @@ h6.cl-faded,
44
44
  }
45
45
  }
46
46
 
47
+ @for $i from 0 through 10 {
48
+ .cl-w-#{$i * 10} {
49
+ width: $i * 10;
50
+ }
51
+ }
52
+
53
+ .cl-w-auto,
54
+ .cl-width-auto {
55
+ width: auto;
56
+ }
57
+
47
58
  .cl-text-start,
48
59
  .text-start {
49
60
  text-align: left;
@@ -179,6 +179,7 @@ main {
179
179
  > *:first-child {
180
180
  display: inline-block;
181
181
  margin: $spacing $spacing 0 0;
182
+ vertical-align: text-bottom;
182
183
 
183
184
  @include media-breakpoint-down(sm) {
184
185
  // buttons are 100% width on sm
@@ -189,6 +189,7 @@ main {
189
189
  code,
190
190
  samp {
191
191
  @extend %cl-p-pre;
192
+ @include cl-color-focus-outline;
192
193
 
193
194
  color: var(--cl-color-text);
194
195
  }