@wwtdev/bsds-css 2.5.1 → 2.6.0
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.
- package/README.md +36 -8
- package/dist/components/_badge.scss +1 -1
- package/dist/components/_banner.scss +1 -1
- package/dist/components/_buttons.scss +85 -27
- package/dist/components/_circle-buttons.scss +108 -49
- package/dist/components/_dropdown-options.scss +1 -1
- package/dist/components/_dropdown.scss +1 -1
- package/dist/components/_filter-buttons.scss +15 -8
- package/dist/components/_form-booleans.scss +41 -76
- package/dist/components/_form-character-count.scss +1 -1
- package/dist/components/_form-hints.scss +7 -3
- package/dist/components/_form-input-composite.scss +1 -1
- package/dist/components/_form-text-fields.scss +1 -1
- package/dist/components/_modal.scss +2 -1
- package/dist/components/_timeline.scss +1 -1
- package/dist/components/badge.css +1 -1
- package/dist/components/banner.css +1 -1
- package/dist/components/buttons.css +84 -26
- package/dist/components/circle-buttons.css +108 -49
- package/dist/components/dropdown-options.css +1 -1
- package/dist/components/dropdown.css +1 -1
- package/dist/components/filter-buttons.css +15 -8
- package/dist/components/form-booleans.css +41 -76
- package/dist/components/form-character-count.css +1 -1
- package/dist/components/form-hints.css +7 -3
- package/dist/components/form-input-composite.css +1 -1
- package/dist/components/form-text-fields.css +1 -1
- package/dist/components/modal.css +2 -2
- package/dist/components/timeline.css +1 -1
- package/dist/wwt-bsds-preset.js +3 -0
- package/dist/wwt-bsds-wc-base.css +5 -2
- package/dist/wwt-bsds.css +280 -191
- package/dist/wwt-bsds.min.css +1 -1
- package/package.json +1 -1
|
@@ -9,8 +9,8 @@
|
|
|
9
9
|
}
|
|
10
10
|
|
|
11
11
|
.bs-boolean:where([data-size='sm']) input {
|
|
12
|
-
|
|
13
|
-
|
|
12
|
+
height: .75rem;
|
|
13
|
+
width: .75rem;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.bs-boolean label {
|
|
@@ -39,11 +39,8 @@
|
|
|
39
39
|
|
|
40
40
|
:where(input[type='checkbox'], input[type='radio']),
|
|
41
41
|
:is(.bs-boolean :where(input), .bs-checkbox) { /* .bs-checkbox added to accommodate 'fake' cbs */
|
|
42
|
-
--box-shadow: var(--bs-ink-base);
|
|
43
|
-
|
|
44
42
|
appearance: none;
|
|
45
|
-
|
|
46
|
-
box-shadow: inset 0 0 0 0.125rem var(--box-shadow);
|
|
43
|
+
box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base));
|
|
47
44
|
cursor: pointer;
|
|
48
45
|
display: grid;
|
|
49
46
|
height: 1rem;
|
|
@@ -71,79 +68,73 @@
|
|
|
71
68
|
border-radius: 50%;
|
|
72
69
|
}
|
|
73
70
|
|
|
74
|
-
/* Checkbox's checkmark */
|
|
71
|
+
/* Checkbox's checkbox, checkmark. Checkmark is hidden unless checked/indeterminate. */
|
|
75
72
|
input:where([type='checkbox'])::before,
|
|
76
73
|
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::before {
|
|
77
|
-
--filled-size: 1rem;
|
|
78
|
-
--check-fill-color: var(--bs-blue-base);
|
|
79
|
-
|
|
74
|
+
--cb-filled-size: var(--filled-size, 1rem);
|
|
80
75
|
content: '';
|
|
81
76
|
border-radius: 0.125rem;
|
|
82
|
-
box-shadow: inset var(--filled-size) var(--filled-size) var(--
|
|
83
|
-
height: var(--filled-size);
|
|
77
|
+
box-shadow: inset var(--cb-filled-size) var(--cb-filled-size) var(--fill-bg-color, var(--bs-blue-base));
|
|
78
|
+
height: var(--cb-filled-size);
|
|
84
79
|
visibility: hidden;
|
|
85
|
-
width: var(--filled-size);
|
|
80
|
+
width: var(--cb-filled-size);
|
|
86
81
|
}
|
|
87
82
|
|
|
88
83
|
input:where([type='checkbox'])::after,
|
|
89
84
|
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::after {
|
|
90
|
-
border: solid var(--bs-
|
|
85
|
+
border: solid var(--bs-bg-base);
|
|
91
86
|
border-width: 0 0.125rem 0.125rem 0;
|
|
92
87
|
content: '';
|
|
93
|
-
height: 0.75em;
|
|
88
|
+
height: var(--inner-check-height, 0.75em);
|
|
94
89
|
left: 50%;
|
|
95
90
|
position: absolute;
|
|
96
91
|
top: 50%;
|
|
97
92
|
transform-origin: center;
|
|
98
93
|
transform: translate(-50%, -60%) rotate(45deg);
|
|
99
94
|
visibility: hidden;
|
|
100
|
-
width: 0.375em;
|
|
95
|
+
width: var(--inner-check-width, 0.375em);
|
|
101
96
|
}
|
|
102
97
|
|
|
103
98
|
input:where([type='checkbox']):where(:indeterminate)::after,
|
|
104
99
|
.bs-boolean :where([type="checkbox"]):where(:indeterminate)::after,
|
|
105
100
|
.bs-checkbox:where([data-indeterminate="true"], :indeterminate)::after {
|
|
106
101
|
border: none;
|
|
107
|
-
background-color: var(--bs-
|
|
108
|
-
height: 0.125rem;
|
|
102
|
+
background-color: var(--bs-bg-base);
|
|
103
|
+
height: var(--inner-dash-height, 0.125rem);
|
|
109
104
|
transform: translate(-50%, -0.0625rem) rotate(0deg);
|
|
110
|
-
width: 0.625em;
|
|
105
|
+
width: var(--inner-dash-width, 0.625em);
|
|
111
106
|
}
|
|
112
107
|
|
|
113
|
-
/* Radio
|
|
108
|
+
/* Radio outer circle, Radio dot. Dot is hidden unless checked. */
|
|
114
109
|
input:where([type='radio'])::before,
|
|
115
110
|
.bs-boolean :where([type="radio"])::before {
|
|
116
|
-
--filled-size: 1rem;
|
|
117
|
-
--
|
|
118
|
-
|
|
119
|
-
background-color: var(--radio-fill-color);
|
|
111
|
+
--radio-filled-size: var(--filled-size, 1rem);
|
|
112
|
+
background-color: var(--fill-bg-color, var(--bs-blue-base));
|
|
120
113
|
border-radius: 50%;
|
|
121
114
|
box-sizing: content-box;
|
|
122
115
|
content: '';
|
|
123
|
-
height: var(--filled-size);
|
|
116
|
+
height: var(--radio-filled-size);
|
|
124
117
|
visibility: hidden;
|
|
125
|
-
width: var(--filled-size);
|
|
118
|
+
width: var(--radio-filled-size);
|
|
126
119
|
}
|
|
127
120
|
|
|
128
121
|
input:where([type='radio'])::after,
|
|
129
122
|
.bs-boolean :where([type="radio"])::after {
|
|
130
|
-
|
|
131
|
-
--inner-fill-color: var(--bs-white);
|
|
132
|
-
|
|
133
|
-
background-color: var(--inner-fill-color);
|
|
123
|
+
background-color: var(--bs-bg-base);
|
|
134
124
|
border-radius: 50%;
|
|
135
125
|
box-sizing: content-box;
|
|
136
126
|
content: '';
|
|
137
|
-
height: var(--inner-size);
|
|
127
|
+
height: var(--inner-dot-size, 0.375rem);
|
|
138
128
|
left: 50%;
|
|
139
129
|
position: absolute;
|
|
140
130
|
top: 50%;
|
|
141
131
|
transform: translate(-50%, -50%);
|
|
142
132
|
visibility: hidden;
|
|
143
|
-
width: var(--inner-size);
|
|
133
|
+
width: var(--inner-dot-size, 0.375rem);
|
|
144
134
|
}
|
|
145
135
|
|
|
146
136
|
/* Show checkmark, indeterminate mark, or radio dot */
|
|
137
|
+
|
|
147
138
|
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::before,
|
|
148
139
|
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::after,
|
|
149
140
|
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
@@ -153,61 +144,35 @@ input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='r
|
|
|
153
144
|
visibility: visible;
|
|
154
145
|
}
|
|
155
146
|
|
|
156
|
-
|
|
157
|
-
.bs-checkbox:where([data-size="sm"])::before {
|
|
158
|
-
--filled-size: var(--bs-text-xs);
|
|
159
|
-
}
|
|
147
|
+
/* ---------- Sizes ----------- */
|
|
160
148
|
|
|
161
|
-
.bs-boolean:where([data-size=
|
|
162
|
-
.bs-checkbox:where([data-size="sm"])
|
|
163
|
-
|
|
164
|
-
|
|
149
|
+
.bs-boolean:where([data-size="sm"]),
|
|
150
|
+
.bs-checkbox:where([data-size="sm"]) {
|
|
151
|
+
--filled-size: 0.75rem;
|
|
152
|
+
--inner-check-height: 0.5625rem;
|
|
153
|
+
--inner-check-width: 0.3125rem;
|
|
154
|
+
--inner-dash-height: 0.125rem;
|
|
155
|
+
--inner-dash-width: .75em;
|
|
156
|
+
--inner-dot-size: 0.25rem;
|
|
165
157
|
}
|
|
166
158
|
|
|
167
|
-
|
|
168
|
-
.bs-checkbox:where([data-size="sm"][data-indeterminate="true"], [data-size="sm"]:indeterminate)::after {
|
|
169
|
-
height: 0.125rem;
|
|
170
|
-
width: .75em;
|
|
171
|
-
}
|
|
159
|
+
/* ---------- Disabled State ----------- */
|
|
172
160
|
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
/* Disabled State */
|
|
179
|
-
|
|
180
|
-
input:where([type='checkbox'], [type='radio']):disabled,
|
|
181
|
-
.bs-boolean :where(input):disabled,
|
|
182
|
-
.bs-checkbox:is([data-disabled="true"], :disabled) {
|
|
183
|
-
--box-shadow: var(--bs-bg-disabled);
|
|
161
|
+
:where(input[type="checkbox"], input[type="radio"]):disabled,
|
|
162
|
+
.bs-boolean:where([data-disabled="true"]),
|
|
163
|
+
.bs-checkbox:where([data-disabled="true"]) {
|
|
164
|
+
--box-shadow: var(--bs-ink-disabled);
|
|
165
|
+
--fill-bg-color: var(--bs-ink-disabled);
|
|
184
166
|
background-color: transparent;
|
|
185
167
|
cursor: default;
|
|
186
|
-
}
|
|
187
|
-
|
|
188
|
-
.bs-checkbox:where([data-disabled="true"]:not(input)) {
|
|
189
168
|
pointer-events: none;
|
|
190
169
|
}
|
|
191
170
|
|
|
192
|
-
|
|
193
|
-
input:where([type='checkbox']):indeterminate:disabled::before,
|
|
194
|
-
.bs-boolean :where(input[type="checkbox"]):checked:disabled::before,
|
|
195
|
-
.bs-boolean :where(input[type="checkbox"]):indeterminate:disabled::before,
|
|
196
|
-
.bs-checkbox:where([data-checked="true"][data-disabled="true"], :checked:disabled)::before,
|
|
197
|
-
.bs-checkbox:where([data-indeterminate="true"][data-disabled="true"], :indeterminate:disabled)::before {
|
|
198
|
-
--check-fill-color: var(--bs-bg-disabled);
|
|
199
|
-
}
|
|
200
|
-
|
|
201
|
-
input:where([type='radio']):checked:disabled::before,
|
|
202
|
-
.bs-boolean :where(input[type="radio"]):checked:disabled::before {
|
|
203
|
-
--radio-fill-color: var(--bs-bg-disabled);
|
|
204
|
-
}
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
/* Error state */
|
|
171
|
+
/* ---------- Error state ----------- */
|
|
208
172
|
|
|
209
173
|
input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-error="false"])),
|
|
210
|
-
.bs-boolean :where(input[data-error="true"]),
|
|
174
|
+
.bs-boolean :where(input[data-error="true"]), /* deprecate this one in favor of next line */
|
|
175
|
+
.bs-boolean:where([data-error="true"]),
|
|
211
176
|
.bs-checkbox:where([data-error="true"]) {
|
|
212
177
|
--box-shadow: var(--bs-red-base);
|
|
213
178
|
--outline-color: var(--bs-red-base);
|
|
@@ -10,7 +10,7 @@
|
|
|
10
10
|
:where(:disabled, [data-disabled="true"]) + .bs-character-count,
|
|
11
11
|
:where(:disabled, [data-disabled="true"]) .bs-character-count,
|
|
12
12
|
.bs-character-count:where([data-disabled="true"]) {
|
|
13
|
-
|
|
13
|
+
visibility: hidden;
|
|
14
14
|
}
|
|
15
15
|
|
|
16
16
|
.bs-character-count:where([data-error="true"]) {
|
|
@@ -1,18 +1,22 @@
|
|
|
1
1
|
@mixin form-hints() {
|
|
2
2
|
.bs-hint {
|
|
3
3
|
--hint-color: var(--bs-ink-light);
|
|
4
|
-
min-width: 0;
|
|
5
4
|
color: var(--hint-color);
|
|
6
5
|
font-size: var(--bs-text-xs);
|
|
7
|
-
padding: 0;
|
|
8
|
-
margin: 0;
|
|
9
6
|
list-style: none;
|
|
7
|
+
margin: 0;
|
|
8
|
+
min-width: 0;
|
|
10
9
|
overflow-wrap: break-word;
|
|
10
|
+
padding: 0;
|
|
11
11
|
}
|
|
12
12
|
|
|
13
13
|
.bs-hint:where([data-error]:not([data-error="false"])) {
|
|
14
14
|
--hint-color: var(--bs-ink-red);
|
|
15
15
|
}
|
|
16
16
|
|
|
17
|
+
:where(:disabled, [data-disabled="true"]) .bs-hint {
|
|
18
|
+
--hint-color: var(--bs-ink-disabled);
|
|
19
|
+
}
|
|
20
|
+
|
|
17
21
|
}
|
|
18
22
|
|
|
@@ -22,7 +22,7 @@ textarea,
|
|
|
22
22
|
select,
|
|
23
23
|
:is(.bs-input, .bs-select, .bs-textarea) {
|
|
24
24
|
appearance: none;
|
|
25
|
-
background-color: var(--input-bg,
|
|
25
|
+
background-color: var(--input-bg, transparent);
|
|
26
26
|
border-color: var(--input-border, var(--bs-violet-medium));
|
|
27
27
|
border-radius: 0.25rem;
|
|
28
28
|
border-style: solid;
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
@mixin modal() {
|
|
2
2
|
.bs-modal {
|
|
3
|
-
background-color: var(--bs-bg-base-
|
|
3
|
+
background-color: var(--bs-bg-base-to-medium);
|
|
4
4
|
border-radius: 4px;
|
|
5
5
|
box-shadow: var(--bs-shadow-contentHigh);
|
|
6
6
|
left: 1.5rem;
|
|
@@ -55,5 +55,6 @@
|
|
|
55
55
|
width: 35rem;
|
|
56
56
|
}
|
|
57
57
|
}
|
|
58
|
+
|
|
58
59
|
}
|
|
59
60
|
|
|
@@ -1,21 +1,47 @@
|
|
|
1
|
+
/*
|
|
2
|
+
--btn-main: (this is doing too much.. look into backwards-compatible way to break this up)
|
|
3
|
+
background color (base)
|
|
4
|
+
focus ring color
|
|
5
|
+
|
|
6
|
+
background colors:
|
|
7
|
+
--btn-secondary: background color (active, hover)
|
|
8
|
+
--btn-light: background color (ghost hover, ghost focus)
|
|
9
|
+
|
|
10
|
+
border / box-shadow:
|
|
11
|
+
--btn-ghost-ink: the box shadow color for ghost buttons is synced to ink
|
|
12
|
+
--btn-highlight: box shadow color (w/ --btn-main) (active)
|
|
13
|
+
|
|
14
|
+
padding:
|
|
15
|
+
--btn-padding: padding (changes by size, and on text btns)
|
|
16
|
+
|
|
17
|
+
text color:
|
|
18
|
+
--btn-ink: text color
|
|
19
|
+
--btn-ghost-ink: text color (ghost)
|
|
20
|
+
|
|
21
|
+
*/
|
|
22
|
+
|
|
1
23
|
.bs-button {
|
|
2
|
-
--btn-main: var(--bs-blue-400);
|
|
3
|
-
--btn-secondary: var(--bs-blue-medium);
|
|
4
|
-
--btn-highlight: var(--bs-blue-100);
|
|
5
|
-
--btn-padding: .25rem .75rem;
|
|
6
24
|
--btn-focus-pseudo-width: calc(100% + 0.5rem);
|
|
7
25
|
--btn-ghost-ink: var(--bs-ink-blue);
|
|
26
|
+
--btn-highlight: var(--bs-blue-100);
|
|
8
27
|
--btn-ink: var(--bs-white);
|
|
28
|
+
--btn-main: var(--bs-blue-400);
|
|
29
|
+
--btn-padding: .25rem .75rem;
|
|
30
|
+
--btn-secondary: var(--bs-blue-medium);
|
|
31
|
+
--btn-text-size: var(--bs-text-md);
|
|
32
|
+
--btn-weight: 600;
|
|
33
|
+
--btn-height: 2.5rem;
|
|
9
34
|
align-items: center;
|
|
10
35
|
background-color: var(--btn-main);
|
|
11
36
|
border: none;
|
|
12
37
|
border-radius: 0.25rem;
|
|
13
38
|
color: var(--btn-ink);
|
|
39
|
+
column-gap: var(--bs-space-2);
|
|
14
40
|
cursor: pointer;
|
|
15
41
|
display: inline-flex;
|
|
16
|
-
font-size: var(--btn-text-size
|
|
17
|
-
font-weight: var(--btn-weight
|
|
18
|
-
height: var(--btn-height
|
|
42
|
+
font-size: var(--btn-text-size);
|
|
43
|
+
font-weight: var(--btn-weight);
|
|
44
|
+
height: var(--btn-height);
|
|
19
45
|
justify-content: center;
|
|
20
46
|
line-height: 1.5;
|
|
21
47
|
outline: 2px solid transparent;
|
|
@@ -32,9 +58,9 @@
|
|
|
32
58
|
|
|
33
59
|
.bs-button:active {
|
|
34
60
|
background-color: var(--btn-secondary);
|
|
35
|
-
transform: scale(0.97);
|
|
36
|
-
transform-origin: center;
|
|
37
61
|
box-shadow: inset 0px 0px 4px 1px var(--btn-main);
|
|
62
|
+
transform-origin: center;
|
|
63
|
+
transform: scale(0.97);
|
|
38
64
|
}
|
|
39
65
|
|
|
40
66
|
/* ------------ Focus Styles ------------ */
|
|
@@ -73,7 +99,7 @@
|
|
|
73
99
|
--btn-light: var(--bs-blue-10);
|
|
74
100
|
--btn-secondary: var(--bs-blue-10);
|
|
75
101
|
background-color: transparent;
|
|
76
|
-
box-shadow: inset 0 0 0 1px var(--btn-
|
|
102
|
+
box-shadow: inset 0 0 0 1px var(--btn-ghost-ink);
|
|
77
103
|
}
|
|
78
104
|
.bs-button:where([data-ghost]:not([data-ghost="false"]))::before {
|
|
79
105
|
border-radius: 0.4375rem;
|
|
@@ -90,46 +116,73 @@
|
|
|
90
116
|
|
|
91
117
|
/* ------------ VARIANTS ------------ */
|
|
92
118
|
.bs-button:where([data-variant^='secondary']) {
|
|
119
|
+
--btn-ghost-ink: var(--bs-ink-plum);
|
|
120
|
+
--btn-highlight: var(--bs-plum-100);
|
|
121
|
+
--btn-light: var(--bs-plum-10);
|
|
93
122
|
--btn-main: var(--bs-plum-400);
|
|
94
123
|
--btn-secondary: var(--bs-plum-medium);
|
|
95
|
-
--btn-light: var(--bs-plum-10);
|
|
96
|
-
--btn-highlight: var(--bs-plum-100);
|
|
97
|
-
--btn-ghost-ink: var(--bs-ink-plum);
|
|
98
124
|
}
|
|
99
125
|
.dark .bs-button:where([data-variant^='secondary']) {
|
|
126
|
+
--btn-highlight: var(--bs-plum-400);
|
|
127
|
+
--btn-light: var(--bs-navy-400);
|
|
100
128
|
--btn-main: var(--bs-plum-200);
|
|
101
129
|
--btn-secondary: var(--bs-plum-300);
|
|
102
|
-
--btn-light: var(--bs-navy-400);
|
|
103
|
-
--btn-highlight: var(--bs-plum-400);
|
|
104
130
|
}
|
|
105
131
|
.bs-button:where([data-variant^='positive']) {
|
|
132
|
+
--btn-ghost-ink: var(--bs-ink-purple);
|
|
133
|
+
--btn-highlight: var(--bs-purple-100);
|
|
134
|
+
--btn-light: var(--bs-purple-10);
|
|
106
135
|
--btn-main: var(--bs-purple-400);
|
|
107
136
|
--btn-secondary: var(--bs-purple-medium);
|
|
108
|
-
--btn-light: var(--bs-purple-10);
|
|
109
|
-
--btn-highlight: var(--bs-purple-100);
|
|
110
|
-
--btn-ghost-ink: var(--bs-ink-purple);
|
|
111
137
|
}
|
|
112
138
|
.bs-button:where([data-variant^='warning']) {
|
|
139
|
+
--btn-ghost-ink: var(--bs-ink-orange);
|
|
140
|
+
--btn-highlight: var(--bs-orange-100);
|
|
141
|
+
--btn-light: var(--bs-orange-10);
|
|
113
142
|
--btn-main: var(--bs-orange-warning);
|
|
114
143
|
--btn-secondary: var(--bs-orange-base);
|
|
115
|
-
--btn-light: var(--bs-orange-10);
|
|
116
|
-
--btn-highlight: var(--bs-orange-100);
|
|
117
|
-
--btn-ghost-ink: var(--bs-ink-orange);
|
|
118
144
|
}
|
|
119
145
|
.bs-button:where([data-variant^='negative']) {
|
|
146
|
+
--btn-ghost-ink: var(--bs-ink-red);
|
|
147
|
+
--btn-highlight: var(--bs-red-100);
|
|
148
|
+
--btn-light: var(--bs-red-10);
|
|
120
149
|
--btn-main: var(--bs-red-400);
|
|
121
150
|
--btn-secondary: var(--bs-red-medium);
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
151
|
+
}
|
|
152
|
+
|
|
153
|
+
/* pink variant */
|
|
154
|
+
.bs-button:where([data-variant^='pink']) {
|
|
155
|
+
--btn-ghost-ink: var(--bs-ink-pink);
|
|
156
|
+
--btn-highlight: var(--bs-pink-400);
|
|
157
|
+
--btn-light: var(--bs-pink-10);
|
|
158
|
+
--btn-main: var(--bs-pink-400);
|
|
159
|
+
--btn-secondary: var(--bs-pink-300);
|
|
160
|
+
}
|
|
161
|
+
|
|
162
|
+
/* royal blue variant */
|
|
163
|
+
.bs-button:where([data-variant^='royal']) {
|
|
164
|
+
--btn-ghost-ink: var(--bs-ink-royal);
|
|
165
|
+
--btn-highlight: var(--bs-royal-400);
|
|
166
|
+
--btn-light: var(--bs-royal-10);
|
|
167
|
+
--btn-main: var(--bs-royal-400);
|
|
168
|
+
--btn-secondary: var(--bs-royal-300);
|
|
169
|
+
}
|
|
170
|
+
|
|
171
|
+
/* white variant - for dark backgrounds + ghost btn only */
|
|
172
|
+
.bs-button:where([data-variant^='white'][data-ghost]:not([data-ghost="false"])) {
|
|
173
|
+
--btn-ghost-ink: var(--bs-ink-white);
|
|
174
|
+
--btn-highlight: var(--bs-ink-white);
|
|
175
|
+
--btn-light: var(--bs-white-10);
|
|
176
|
+
--btn-main: var(--bs-ink-white);
|
|
125
177
|
}
|
|
126
178
|
|
|
127
179
|
/* ------------ Text Button ------------ */
|
|
128
180
|
.bs-button:where([data-text]:not([data-text="false"])) {
|
|
181
|
+
--btn-focus-pseudo-width: calc(100% + 1rem); /* text btns don't have side padding, but we do want focus outline to look padded */
|
|
129
182
|
--btn-height: auto;
|
|
130
183
|
--btn-ink: var(--bs-ink-blue);
|
|
131
184
|
--btn-padding: 0;
|
|
132
|
-
--btn-
|
|
185
|
+
--btn-secondary: transparent;
|
|
133
186
|
--btn-text-size: var(--bs-text-md);
|
|
134
187
|
--btn-weight: 400;
|
|
135
188
|
background-color: transparent;
|
|
@@ -149,6 +202,11 @@
|
|
|
149
202
|
transform: none;
|
|
150
203
|
}
|
|
151
204
|
|
|
205
|
+
.bs-button:where([data-variant^='negative'][data-text]:not([data-text="false"])),
|
|
206
|
+
.bs-button:where([data-variant^='negative'][data-text]:not([data-text="false"])):hover {
|
|
207
|
+
--btn-ink: var(--bs-ink-red);
|
|
208
|
+
}
|
|
209
|
+
|
|
152
210
|
/* ------------ Button Sizes, Media-based Text Sizing -------------- */
|
|
153
211
|
/* Std button: Mobile text size, DT text size */
|
|
154
212
|
.bs-button {
|
|
@@ -204,7 +262,7 @@
|
|
|
204
262
|
|
|
205
263
|
.bs-button:where([data-ghost]:not([data-ghost="false"])):disabled,
|
|
206
264
|
.bs-button:where([data-ghost]:not([data-ghost="false"]))[aria-disabled="true"] {
|
|
207
|
-
|
|
265
|
+
--btn-ghost-ink: var(--bs-ink-disabled);
|
|
208
266
|
}
|
|
209
267
|
|
|
210
268
|
.bs-button:where([data-text]:not([data-text="false"])):disabled,
|