@wwtdev/bsds-css 2.3.1 → 2.3.3
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/dist/components/_banner.scss +0 -4
- package/dist/components/_buttons.scss +19 -13
- package/dist/components/_form-booleans.scss +28 -13
- package/dist/components/_form-input-composite.scss +2 -2
- package/dist/components/_pills.scss +6 -2
- package/dist/components/banner.css +0 -4
- package/dist/components/buttons.css +19 -13
- package/dist/components/form-booleans.css +28 -13
- package/dist/components/form-input-composite.css +2 -2
- package/dist/components/pills.css +6 -2
- package/dist/wwt-bsds-preset.js +23 -9
- package/dist/wwt-bsds-wc-base.css +66 -28
- package/dist/wwt-bsds.css +119 -60
- package/dist/wwt-bsds.min.css +1 -1
- package/package.json +17 -6
|
@@ -1,15 +1,17 @@
|
|
|
1
1
|
@mixin buttons() {
|
|
2
2
|
.bs-button {
|
|
3
|
-
--btn-main: var(--bs-blue-
|
|
3
|
+
--btn-main: var(--bs-blue-400);
|
|
4
4
|
--btn-secondary: var(--bs-blue-medium);
|
|
5
5
|
--btn-highlight: var(--bs-blue-100);
|
|
6
6
|
--btn-padding: .25rem .75rem;
|
|
7
7
|
--btn-focus-pseudo-width: calc(100% + 0.5rem);
|
|
8
|
+
--btn-ghost-ink: var(--bs-ink-blue);
|
|
9
|
+
--btn-ink: var(--bs-white);
|
|
8
10
|
align-items: center;
|
|
9
11
|
background-color: var(--btn-main);
|
|
10
12
|
border: none;
|
|
11
13
|
border-radius: 0.25rem;
|
|
12
|
-
color: var(--
|
|
14
|
+
color: var(--btn-ink);
|
|
13
15
|
cursor: pointer;
|
|
14
16
|
display: inline-flex;
|
|
15
17
|
font-size: var(--btn-text-size, var(--bs-text-md));
|
|
@@ -68,11 +70,11 @@
|
|
|
68
70
|
|
|
69
71
|
/* ------------ Ghost Buttons ------------ */
|
|
70
72
|
.bs-button:where([data-ghost]:not([data-ghost="false"])) {
|
|
73
|
+
--btn-ink: var(--btn-ghost-ink);
|
|
71
74
|
--btn-light: var(--bs-blue-10);
|
|
72
75
|
--btn-secondary: var(--bs-blue-10);
|
|
73
76
|
background-color: transparent;
|
|
74
77
|
box-shadow: inset 0 0 0 1px var(--btn-main);
|
|
75
|
-
color: var(--btn-main);
|
|
76
78
|
}
|
|
77
79
|
.bs-button:where([data-ghost]:not([data-ghost="false"]))::before {
|
|
78
80
|
border-radius: 0.4375rem;
|
|
@@ -87,12 +89,13 @@
|
|
|
87
89
|
inset 0px 0px 4px 1px var(--btn-highlight);
|
|
88
90
|
}
|
|
89
91
|
|
|
90
|
-
/* ------------
|
|
92
|
+
/* ------------ VARIANTS ------------ */
|
|
91
93
|
.bs-button:where([data-variant^='secondary']) {
|
|
92
94
|
--btn-main: var(--bs-plum-400);
|
|
93
|
-
--btn-secondary: var(--bs-plum-
|
|
95
|
+
--btn-secondary: var(--bs-plum-medium);
|
|
94
96
|
--btn-light: var(--bs-plum-10);
|
|
95
97
|
--btn-highlight: var(--bs-plum-100);
|
|
98
|
+
--btn-ghost-ink: var(--bs-ink-plum);
|
|
96
99
|
}
|
|
97
100
|
.dark .bs-button:where([data-variant^='secondary']) {
|
|
98
101
|
--btn-main: var(--bs-plum-200);
|
|
@@ -102,37 +105,40 @@
|
|
|
102
105
|
}
|
|
103
106
|
.bs-button:where([data-variant^='positive']) {
|
|
104
107
|
--btn-main: var(--bs-purple-400);
|
|
105
|
-
--btn-secondary: var(--bs-purple-
|
|
108
|
+
--btn-secondary: var(--bs-purple-medium);
|
|
106
109
|
--btn-light: var(--bs-purple-10);
|
|
107
110
|
--btn-highlight: var(--bs-purple-100);
|
|
111
|
+
--btn-ghost-ink: var(--bs-ink-purple);
|
|
108
112
|
}
|
|
109
113
|
.bs-button:where([data-variant^='warning']) {
|
|
110
114
|
--btn-main: var(--bs-orange-warning);
|
|
111
|
-
--btn-secondary: var(--bs-orange-
|
|
115
|
+
--btn-secondary: var(--bs-orange-base);
|
|
112
116
|
--btn-light: var(--bs-orange-10);
|
|
113
117
|
--btn-highlight: var(--bs-orange-100);
|
|
118
|
+
--btn-ghost-ink: var(--bs-ink-orange);
|
|
114
119
|
}
|
|
115
120
|
.bs-button:where([data-variant^='negative']) {
|
|
116
121
|
--btn-main: var(--bs-red-400);
|
|
117
|
-
--btn-secondary: var(--bs-red-
|
|
122
|
+
--btn-secondary: var(--bs-red-medium);
|
|
118
123
|
--btn-light: var(--bs-red-10);
|
|
119
124
|
--btn-highlight: var(--bs-red-100);
|
|
125
|
+
--btn-ghost-ink: var(--bs-ink-red);
|
|
120
126
|
}
|
|
121
127
|
|
|
122
128
|
/* ------------ Text Button ------------ */
|
|
123
129
|
.bs-button:where([data-text]:not([data-text="false"])) {
|
|
124
130
|
--btn-height: auto;
|
|
131
|
+
--btn-ink: var(--bs-ink-blue);
|
|
125
132
|
--btn-padding: 0;
|
|
126
133
|
--btn-focus-pseudo-width: calc(100% + 1rem); /* text btns don't have side padding, but we do want focus outline to look padded */
|
|
127
134
|
--btn-text-size: var(--bs-text-md);
|
|
128
135
|
--btn-weight: 400;
|
|
129
136
|
background-color: transparent;
|
|
130
|
-
color: var(--bs-blue-500);
|
|
131
137
|
cursor: pointer;
|
|
132
138
|
line-height: 150%;
|
|
133
139
|
}
|
|
134
140
|
.bs-button:where([data-text]:not([data-text="false"])):hover {
|
|
135
|
-
|
|
141
|
+
--btn-ink: var(--bs-blue-base);
|
|
136
142
|
background-color: transparent;
|
|
137
143
|
text-decoration: underline;
|
|
138
144
|
}
|
|
@@ -193,8 +199,8 @@
|
|
|
193
199
|
}
|
|
194
200
|
.bs-button:where(:disabled),
|
|
195
201
|
.bs-button:where([aria-disabled="true"]) {
|
|
196
|
-
|
|
197
|
-
|
|
202
|
+
--btn-ink: var(--bs-ink-disabled);
|
|
203
|
+
--btn-main: var(--bs-bg-disabled);
|
|
198
204
|
}
|
|
199
205
|
|
|
200
206
|
.bs-button:where([data-ghost]:not([data-ghost="false"])):disabled,
|
|
@@ -204,7 +210,7 @@
|
|
|
204
210
|
|
|
205
211
|
.bs-button:where([data-text]:not([data-text="false"])):disabled,
|
|
206
212
|
.bs-button:where([data-text]:not([data-text="false"]))[aria-disabled="true"] {
|
|
207
|
-
|
|
213
|
+
--btn-main: transparent;
|
|
208
214
|
}
|
|
209
215
|
|
|
210
216
|
/* ------------ links as buttons ------------ */
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
/* Checkbox & Radio Input */
|
|
39
39
|
|
|
40
40
|
:where(input[type='checkbox'], input[type='radio']),
|
|
41
|
-
.bs-boolean :where(input) {
|
|
41
|
+
:is(.bs-boolean :where(input), .bs-checkbox) { /* .bs-checkbox added to accommodate 'fake' cbs */
|
|
42
42
|
--box-shadow: var(--bs-ink-base);
|
|
43
43
|
|
|
44
44
|
appearance: none;
|
|
45
|
-
background-color: var(--bg-base);
|
|
45
|
+
background-color: var(--bs-bg-base);
|
|
46
46
|
box-shadow: inset 0 0 0 0.125rem var(--box-shadow);
|
|
47
47
|
cursor: pointer;
|
|
48
48
|
display: grid;
|
|
@@ -54,7 +54,7 @@
|
|
|
54
54
|
}
|
|
55
55
|
|
|
56
56
|
:where(input[type='checkbox'], input[type='radio']):focus-visible,
|
|
57
|
-
.bs-boolean :where(input):focus-visible {
|
|
57
|
+
:is(.bs-boolean :where(input), .bs-checkbox):focus-visible {
|
|
58
58
|
box-shadow: inset 0 0 0 0.125rem var(--box-shadow),
|
|
59
59
|
0 0 0 2px var(--offset-color, var(--bs-bg-base)),
|
|
60
60
|
0 0 0 4px var(--outline-color, var(--bs-blue-base));
|
|
@@ -62,7 +62,7 @@
|
|
|
62
62
|
}
|
|
63
63
|
|
|
64
64
|
:where(input[type='checkbox']),
|
|
65
|
-
.bs-boolean :where([type='checkbox']) {
|
|
65
|
+
:is(.bs-boolean :where([type='checkbox']), .bs-checkbox) {
|
|
66
66
|
border-radius: 0.125rem;
|
|
67
67
|
}
|
|
68
68
|
|
|
@@ -73,7 +73,7 @@
|
|
|
73
73
|
|
|
74
74
|
/* Checkbox's checkmark */
|
|
75
75
|
input:where([type='checkbox'])::before,
|
|
76
|
-
.bs-boolean :where([type="checkbox"])::before {
|
|
76
|
+
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::before {
|
|
77
77
|
--filled-size: 1rem;
|
|
78
78
|
--check-fill-color: var(--bs-blue-base);
|
|
79
79
|
|
|
@@ -86,7 +86,7 @@ input:where([type='checkbox'])::before,
|
|
|
86
86
|
}
|
|
87
87
|
|
|
88
88
|
input:where([type='checkbox'])::after,
|
|
89
|
-
.bs-boolean :where([type="checkbox"])::after {
|
|
89
|
+
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::after {
|
|
90
90
|
border: solid var(--bs-white);
|
|
91
91
|
border-width: 0 0.125rem 0.125rem 0;
|
|
92
92
|
content: '';
|
|
@@ -101,7 +101,8 @@ input:where([type='checkbox'])::after,
|
|
|
101
101
|
}
|
|
102
102
|
|
|
103
103
|
input:where([type='checkbox']):where(:indeterminate)::after,
|
|
104
|
-
.bs-boolean :where([type="checkbox"]):where(:indeterminate)::after
|
|
104
|
+
.bs-boolean :where([type="checkbox"]):where(:indeterminate)::after,
|
|
105
|
+
.bs-checkbox:where([data-indeterminate="true"], :indeterminate)::after {
|
|
105
106
|
border: none;
|
|
106
107
|
background-color: var(--bs-white);
|
|
107
108
|
height: 0.125rem;
|
|
@@ -142,6 +143,9 @@ input:where([type='radio'])::after,
|
|
|
142
143
|
width: var(--inner-size);
|
|
143
144
|
}
|
|
144
145
|
|
|
146
|
+
/* Show checkmark, indeterminate mark, or radio dot */
|
|
147
|
+
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::before,
|
|
148
|
+
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::after,
|
|
145
149
|
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
146
150
|
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after,
|
|
147
151
|
.bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
@@ -149,16 +153,19 @@ input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='r
|
|
|
149
153
|
visibility: visible;
|
|
150
154
|
}
|
|
151
155
|
|
|
152
|
-
.bs-boolean:where([data-size='sm']) input::before
|
|
156
|
+
.bs-boolean:where([data-size='sm']) input::before,
|
|
157
|
+
.bs-checkbox:where([data-size="sm"])::before {
|
|
153
158
|
--filled-size: var(--bs-text-xs);
|
|
154
159
|
}
|
|
155
160
|
|
|
156
|
-
.bs-boolean:where([data-size='sm']) input[type='checkbox']::after
|
|
161
|
+
.bs-boolean:where([data-size='sm']) input[type='checkbox']::after,
|
|
162
|
+
.bs-checkbox:where([data-size="sm"])::after {
|
|
157
163
|
height: 0.5625rem;
|
|
158
164
|
width: 0.3125rem;
|
|
159
165
|
}
|
|
160
166
|
|
|
161
|
-
.bs-boolean:where([data-size='sm']) input[type='checkbox']:where(:indeterminate)::after
|
|
167
|
+
.bs-boolean:where([data-size='sm']) input[type='checkbox']:where(:indeterminate)::after,
|
|
168
|
+
.bs-checkbox:where([data-size="sm"][data-indeterminate="true"], [data-size="sm"]:indeterminate)::after {
|
|
162
169
|
height: 0.125rem;
|
|
163
170
|
width: .75em;
|
|
164
171
|
}
|
|
@@ -171,16 +178,23 @@ input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='r
|
|
|
171
178
|
/* Disabled State */
|
|
172
179
|
|
|
173
180
|
input:where([type='checkbox'], [type='radio']):disabled,
|
|
174
|
-
.bs-boolean :where(input):disabled
|
|
181
|
+
.bs-boolean :where(input):disabled,
|
|
182
|
+
.bs-checkbox:is([data-disabled="true"], :disabled) {
|
|
175
183
|
--box-shadow: var(--bs-bg-disabled);
|
|
176
184
|
background-color: transparent;
|
|
177
185
|
cursor: default;
|
|
178
186
|
}
|
|
179
187
|
|
|
188
|
+
.bs-checkbox:where([data-disabled="true"]:not(input)) {
|
|
189
|
+
pointer-events: none;
|
|
190
|
+
}
|
|
191
|
+
|
|
180
192
|
input:where([type='checkbox']):checked:disabled::before,
|
|
181
193
|
input:where([type='checkbox']):indeterminate:disabled::before,
|
|
182
194
|
.bs-boolean :where(input[type="checkbox"]):checked:disabled::before,
|
|
183
|
-
.bs-boolean :where(input[type="checkbox"]):indeterminate: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 {
|
|
184
198
|
--check-fill-color: var(--bs-bg-disabled);
|
|
185
199
|
}
|
|
186
200
|
|
|
@@ -193,7 +207,8 @@ input:where([type='radio']):checked:disabled::before,
|
|
|
193
207
|
/* Error state */
|
|
194
208
|
|
|
195
209
|
input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-error="false"])),
|
|
196
|
-
.bs-boolean :where(input[data-error="true"])
|
|
210
|
+
.bs-boolean :where(input[data-error="true"]),
|
|
211
|
+
.bs-checkbox:where([data-error="true"]) {
|
|
197
212
|
--box-shadow: var(--bs-red-base);
|
|
198
213
|
--outline-color: var(--bs-red-base);
|
|
199
214
|
}
|
|
@@ -209,8 +209,8 @@ and issues with box-sizing
|
|
|
209
209
|
/* -------- Error styles -------- */
|
|
210
210
|
.bs-input-addon:where([data-error]:not([data-error="false"])),
|
|
211
211
|
.bs-input-addon:where([data-error]:not([data-error="false"])) :where(.bs-input-addon) {
|
|
212
|
-
--focus-border: var(--bs-red
|
|
213
|
-
--input-border: var(--bs-red
|
|
212
|
+
--focus-border: var(--bs-ink-red);
|
|
213
|
+
--input-border: var(--bs-ink-red);
|
|
214
214
|
}
|
|
215
215
|
|
|
216
216
|
.bs-input-addon:where([data-error]:not([data-error="false"]),[data-disabled]:not([data-disabled="false"])) > *::before,
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
.bs-pill {
|
|
3
3
|
--pill-background: var(--bs-bg-medium);
|
|
4
4
|
--pill-border: transparent;
|
|
5
|
-
--pill-text:
|
|
5
|
+
--pill-text: #162FB4; /* one-off component-specific */
|
|
6
6
|
--pill-gap: var(--bs-space-2);
|
|
7
7
|
|
|
8
8
|
align-items: center;
|
|
@@ -25,6 +25,11 @@
|
|
|
25
25
|
width: 1rem;
|
|
26
26
|
}
|
|
27
27
|
|
|
28
|
+
/* ------------------------------- Dark mode (basic & status types only) ------------------------------- */
|
|
29
|
+
:where(.dark) .bs-pill {
|
|
30
|
+
--pill-text: #7585D1;
|
|
31
|
+
}
|
|
32
|
+
|
|
28
33
|
/* ------------------------------ Auto-truncation for content ------------------------------ */
|
|
29
34
|
.bs-pill:has([data-truncate="true"]) {
|
|
30
35
|
max-width: 100%;
|
|
@@ -218,6 +223,5 @@
|
|
|
218
223
|
--pill-border: var(--bs-gray-400);
|
|
219
224
|
}
|
|
220
225
|
|
|
221
|
-
|
|
222
226
|
}
|
|
223
227
|
|
|
@@ -1,14 +1,16 @@
|
|
|
1
1
|
.bs-button {
|
|
2
|
-
--btn-main: var(--bs-blue-
|
|
2
|
+
--btn-main: var(--bs-blue-400);
|
|
3
3
|
--btn-secondary: var(--bs-blue-medium);
|
|
4
4
|
--btn-highlight: var(--bs-blue-100);
|
|
5
5
|
--btn-padding: .25rem .75rem;
|
|
6
6
|
--btn-focus-pseudo-width: calc(100% + 0.5rem);
|
|
7
|
+
--btn-ghost-ink: var(--bs-ink-blue);
|
|
8
|
+
--btn-ink: var(--bs-white);
|
|
7
9
|
align-items: center;
|
|
8
10
|
background-color: var(--btn-main);
|
|
9
11
|
border: none;
|
|
10
12
|
border-radius: 0.25rem;
|
|
11
|
-
color: var(--
|
|
13
|
+
color: var(--btn-ink);
|
|
12
14
|
cursor: pointer;
|
|
13
15
|
display: inline-flex;
|
|
14
16
|
font-size: var(--btn-text-size, var(--bs-text-md));
|
|
@@ -67,11 +69,11 @@
|
|
|
67
69
|
|
|
68
70
|
/* ------------ Ghost Buttons ------------ */
|
|
69
71
|
.bs-button:where([data-ghost]:not([data-ghost="false"])) {
|
|
72
|
+
--btn-ink: var(--btn-ghost-ink);
|
|
70
73
|
--btn-light: var(--bs-blue-10);
|
|
71
74
|
--btn-secondary: var(--bs-blue-10);
|
|
72
75
|
background-color: transparent;
|
|
73
76
|
box-shadow: inset 0 0 0 1px var(--btn-main);
|
|
74
|
-
color: var(--btn-main);
|
|
75
77
|
}
|
|
76
78
|
.bs-button:where([data-ghost]:not([data-ghost="false"]))::before {
|
|
77
79
|
border-radius: 0.4375rem;
|
|
@@ -86,12 +88,13 @@
|
|
|
86
88
|
inset 0px 0px 4px 1px var(--btn-highlight);
|
|
87
89
|
}
|
|
88
90
|
|
|
89
|
-
/* ------------
|
|
91
|
+
/* ------------ VARIANTS ------------ */
|
|
90
92
|
.bs-button:where([data-variant^='secondary']) {
|
|
91
93
|
--btn-main: var(--bs-plum-400);
|
|
92
|
-
--btn-secondary: var(--bs-plum-
|
|
94
|
+
--btn-secondary: var(--bs-plum-medium);
|
|
93
95
|
--btn-light: var(--bs-plum-10);
|
|
94
96
|
--btn-highlight: var(--bs-plum-100);
|
|
97
|
+
--btn-ghost-ink: var(--bs-ink-plum);
|
|
95
98
|
}
|
|
96
99
|
.dark .bs-button:where([data-variant^='secondary']) {
|
|
97
100
|
--btn-main: var(--bs-plum-200);
|
|
@@ -101,37 +104,40 @@
|
|
|
101
104
|
}
|
|
102
105
|
.bs-button:where([data-variant^='positive']) {
|
|
103
106
|
--btn-main: var(--bs-purple-400);
|
|
104
|
-
--btn-secondary: var(--bs-purple-
|
|
107
|
+
--btn-secondary: var(--bs-purple-medium);
|
|
105
108
|
--btn-light: var(--bs-purple-10);
|
|
106
109
|
--btn-highlight: var(--bs-purple-100);
|
|
110
|
+
--btn-ghost-ink: var(--bs-ink-purple);
|
|
107
111
|
}
|
|
108
112
|
.bs-button:where([data-variant^='warning']) {
|
|
109
113
|
--btn-main: var(--bs-orange-warning);
|
|
110
|
-
--btn-secondary: var(--bs-orange-
|
|
114
|
+
--btn-secondary: var(--bs-orange-base);
|
|
111
115
|
--btn-light: var(--bs-orange-10);
|
|
112
116
|
--btn-highlight: var(--bs-orange-100);
|
|
117
|
+
--btn-ghost-ink: var(--bs-ink-orange);
|
|
113
118
|
}
|
|
114
119
|
.bs-button:where([data-variant^='negative']) {
|
|
115
120
|
--btn-main: var(--bs-red-400);
|
|
116
|
-
--btn-secondary: var(--bs-red-
|
|
121
|
+
--btn-secondary: var(--bs-red-medium);
|
|
117
122
|
--btn-light: var(--bs-red-10);
|
|
118
123
|
--btn-highlight: var(--bs-red-100);
|
|
124
|
+
--btn-ghost-ink: var(--bs-ink-red);
|
|
119
125
|
}
|
|
120
126
|
|
|
121
127
|
/* ------------ Text Button ------------ */
|
|
122
128
|
.bs-button:where([data-text]:not([data-text="false"])) {
|
|
123
129
|
--btn-height: auto;
|
|
130
|
+
--btn-ink: var(--bs-ink-blue);
|
|
124
131
|
--btn-padding: 0;
|
|
125
132
|
--btn-focus-pseudo-width: calc(100% + 1rem); /* text btns don't have side padding, but we do want focus outline to look padded */
|
|
126
133
|
--btn-text-size: var(--bs-text-md);
|
|
127
134
|
--btn-weight: 400;
|
|
128
135
|
background-color: transparent;
|
|
129
|
-
color: var(--bs-blue-500);
|
|
130
136
|
cursor: pointer;
|
|
131
137
|
line-height: 150%;
|
|
132
138
|
}
|
|
133
139
|
.bs-button:where([data-text]:not([data-text="false"])):hover {
|
|
134
|
-
|
|
140
|
+
--btn-ink: var(--bs-blue-base);
|
|
135
141
|
background-color: transparent;
|
|
136
142
|
text-decoration: underline;
|
|
137
143
|
}
|
|
@@ -192,8 +198,8 @@
|
|
|
192
198
|
}
|
|
193
199
|
.bs-button:where(:disabled),
|
|
194
200
|
.bs-button:where([aria-disabled="true"]) {
|
|
195
|
-
|
|
196
|
-
|
|
201
|
+
--btn-ink: var(--bs-ink-disabled);
|
|
202
|
+
--btn-main: var(--bs-bg-disabled);
|
|
197
203
|
}
|
|
198
204
|
|
|
199
205
|
.bs-button:where([data-ghost]:not([data-ghost="false"])):disabled,
|
|
@@ -203,7 +209,7 @@
|
|
|
203
209
|
|
|
204
210
|
.bs-button:where([data-text]:not([data-text="false"])):disabled,
|
|
205
211
|
.bs-button:where([data-text]:not([data-text="false"]))[aria-disabled="true"] {
|
|
206
|
-
|
|
212
|
+
--btn-main: transparent;
|
|
207
213
|
}
|
|
208
214
|
|
|
209
215
|
/* ------------ links as buttons ------------ */
|
|
@@ -37,11 +37,11 @@
|
|
|
37
37
|
/* Checkbox & Radio Input */
|
|
38
38
|
|
|
39
39
|
:where(input[type='checkbox'], input[type='radio']),
|
|
40
|
-
.bs-boolean :where(input) {
|
|
40
|
+
:is(.bs-boolean :where(input), .bs-checkbox) { /* .bs-checkbox added to accommodate 'fake' cbs */
|
|
41
41
|
--box-shadow: var(--bs-ink-base);
|
|
42
42
|
|
|
43
43
|
appearance: none;
|
|
44
|
-
background-color: var(--bg-base);
|
|
44
|
+
background-color: var(--bs-bg-base);
|
|
45
45
|
box-shadow: inset 0 0 0 0.125rem var(--box-shadow);
|
|
46
46
|
cursor: pointer;
|
|
47
47
|
display: grid;
|
|
@@ -53,7 +53,7 @@
|
|
|
53
53
|
}
|
|
54
54
|
|
|
55
55
|
:where(input[type='checkbox'], input[type='radio']):focus-visible,
|
|
56
|
-
.bs-boolean :where(input):focus-visible {
|
|
56
|
+
:is(.bs-boolean :where(input), .bs-checkbox):focus-visible {
|
|
57
57
|
box-shadow: inset 0 0 0 0.125rem var(--box-shadow),
|
|
58
58
|
0 0 0 2px var(--offset-color, var(--bs-bg-base)),
|
|
59
59
|
0 0 0 4px var(--outline-color, var(--bs-blue-base));
|
|
@@ -61,7 +61,7 @@
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
:where(input[type='checkbox']),
|
|
64
|
-
.bs-boolean :where([type='checkbox']) {
|
|
64
|
+
:is(.bs-boolean :where([type='checkbox']), .bs-checkbox) {
|
|
65
65
|
border-radius: 0.125rem;
|
|
66
66
|
}
|
|
67
67
|
|
|
@@ -72,7 +72,7 @@
|
|
|
72
72
|
|
|
73
73
|
/* Checkbox's checkmark */
|
|
74
74
|
input:where([type='checkbox'])::before,
|
|
75
|
-
.bs-boolean :where([type="checkbox"])::before {
|
|
75
|
+
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::before {
|
|
76
76
|
--filled-size: 1rem;
|
|
77
77
|
--check-fill-color: var(--bs-blue-base);
|
|
78
78
|
|
|
@@ -85,7 +85,7 @@ input:where([type='checkbox'])::before,
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
input:where([type='checkbox'])::after,
|
|
88
|
-
.bs-boolean :where([type="checkbox"])::after {
|
|
88
|
+
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::after {
|
|
89
89
|
border: solid var(--bs-white);
|
|
90
90
|
border-width: 0 0.125rem 0.125rem 0;
|
|
91
91
|
content: '';
|
|
@@ -100,7 +100,8 @@ input:where([type='checkbox'])::after,
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
input:where([type='checkbox']):where(:indeterminate)::after,
|
|
103
|
-
.bs-boolean :where([type="checkbox"]):where(:indeterminate)::after
|
|
103
|
+
.bs-boolean :where([type="checkbox"]):where(:indeterminate)::after,
|
|
104
|
+
.bs-checkbox:where([data-indeterminate="true"], :indeterminate)::after {
|
|
104
105
|
border: none;
|
|
105
106
|
background-color: var(--bs-white);
|
|
106
107
|
height: 0.125rem;
|
|
@@ -141,6 +142,9 @@ input:where([type='radio'])::after,
|
|
|
141
142
|
width: var(--inner-size);
|
|
142
143
|
}
|
|
143
144
|
|
|
145
|
+
/* Show checkmark, indeterminate mark, or radio dot */
|
|
146
|
+
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::before,
|
|
147
|
+
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::after,
|
|
144
148
|
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
145
149
|
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after,
|
|
146
150
|
.bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
@@ -148,16 +152,19 @@ input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='r
|
|
|
148
152
|
visibility: visible;
|
|
149
153
|
}
|
|
150
154
|
|
|
151
|
-
.bs-boolean:where([data-size='sm']) input::before
|
|
155
|
+
.bs-boolean:where([data-size='sm']) input::before,
|
|
156
|
+
.bs-checkbox:where([data-size="sm"])::before {
|
|
152
157
|
--filled-size: var(--bs-text-xs);
|
|
153
158
|
}
|
|
154
159
|
|
|
155
|
-
.bs-boolean:where([data-size='sm']) input[type='checkbox']::after
|
|
160
|
+
.bs-boolean:where([data-size='sm']) input[type='checkbox']::after,
|
|
161
|
+
.bs-checkbox:where([data-size="sm"])::after {
|
|
156
162
|
height: 0.5625rem;
|
|
157
163
|
width: 0.3125rem;
|
|
158
164
|
}
|
|
159
165
|
|
|
160
|
-
.bs-boolean:where([data-size='sm']) input[type='checkbox']:where(:indeterminate)::after
|
|
166
|
+
.bs-boolean:where([data-size='sm']) input[type='checkbox']:where(:indeterminate)::after,
|
|
167
|
+
.bs-checkbox:where([data-size="sm"][data-indeterminate="true"], [data-size="sm"]:indeterminate)::after {
|
|
161
168
|
height: 0.125rem;
|
|
162
169
|
width: .75em;
|
|
163
170
|
}
|
|
@@ -170,16 +177,23 @@ input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='r
|
|
|
170
177
|
/* Disabled State */
|
|
171
178
|
|
|
172
179
|
input:where([type='checkbox'], [type='radio']):disabled,
|
|
173
|
-
.bs-boolean :where(input):disabled
|
|
180
|
+
.bs-boolean :where(input):disabled,
|
|
181
|
+
.bs-checkbox:is([data-disabled="true"], :disabled) {
|
|
174
182
|
--box-shadow: var(--bs-bg-disabled);
|
|
175
183
|
background-color: transparent;
|
|
176
184
|
cursor: default;
|
|
177
185
|
}
|
|
178
186
|
|
|
187
|
+
.bs-checkbox:where([data-disabled="true"]:not(input)) {
|
|
188
|
+
pointer-events: none;
|
|
189
|
+
}
|
|
190
|
+
|
|
179
191
|
input:where([type='checkbox']):checked:disabled::before,
|
|
180
192
|
input:where([type='checkbox']):indeterminate:disabled::before,
|
|
181
193
|
.bs-boolean :where(input[type="checkbox"]):checked:disabled::before,
|
|
182
|
-
.bs-boolean :where(input[type="checkbox"]):indeterminate:disabled::before
|
|
194
|
+
.bs-boolean :where(input[type="checkbox"]):indeterminate:disabled::before,
|
|
195
|
+
.bs-checkbox:where([data-checked="true"][data-disabled="true"], :checked:disabled)::before,
|
|
196
|
+
.bs-checkbox:where([data-indeterminate="true"][data-disabled="true"], :indeterminate:disabled)::before {
|
|
183
197
|
--check-fill-color: var(--bs-bg-disabled);
|
|
184
198
|
}
|
|
185
199
|
|
|
@@ -192,7 +206,8 @@ input:where([type='radio']):checked:disabled::before,
|
|
|
192
206
|
/* Error state */
|
|
193
207
|
|
|
194
208
|
input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-error="false"])),
|
|
195
|
-
.bs-boolean :where(input[data-error="true"])
|
|
209
|
+
.bs-boolean :where(input[data-error="true"]),
|
|
210
|
+
.bs-checkbox:where([data-error="true"]) {
|
|
196
211
|
--box-shadow: var(--bs-red-base);
|
|
197
212
|
--outline-color: var(--bs-red-base);
|
|
198
213
|
}
|
|
@@ -208,8 +208,8 @@ and issues with box-sizing
|
|
|
208
208
|
/* -------- Error styles -------- */
|
|
209
209
|
.bs-input-addon:where([data-error]:not([data-error="false"])),
|
|
210
210
|
.bs-input-addon:where([data-error]:not([data-error="false"])) :where(.bs-input-addon) {
|
|
211
|
-
--focus-border: var(--bs-red
|
|
212
|
-
--input-border: var(--bs-red
|
|
211
|
+
--focus-border: var(--bs-ink-red);
|
|
212
|
+
--input-border: var(--bs-ink-red);
|
|
213
213
|
}
|
|
214
214
|
|
|
215
215
|
.bs-input-addon:where([data-error]:not([data-error="false"]),[data-disabled]:not([data-disabled="false"])) > *::before,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
.bs-pill {
|
|
2
2
|
--pill-background: var(--bs-bg-medium);
|
|
3
3
|
--pill-border: transparent;
|
|
4
|
-
--pill-text:
|
|
4
|
+
--pill-text: #162FB4; /* one-off component-specific */
|
|
5
5
|
--pill-gap: var(--bs-space-2);
|
|
6
6
|
|
|
7
7
|
align-items: center;
|
|
@@ -24,6 +24,11 @@
|
|
|
24
24
|
width: 1rem;
|
|
25
25
|
}
|
|
26
26
|
|
|
27
|
+
/* ------------------------------- Dark mode (basic & status types only) ------------------------------- */
|
|
28
|
+
:where(.dark) .bs-pill {
|
|
29
|
+
--pill-text: #7585D1;
|
|
30
|
+
}
|
|
31
|
+
|
|
27
32
|
/* ------------------------------ Auto-truncation for content ------------------------------ */
|
|
28
33
|
.bs-pill:has([data-truncate="true"]) {
|
|
29
34
|
max-width: 100%;
|
|
@@ -216,4 +221,3 @@
|
|
|
216
221
|
.bs-pill:where([data-variant^="filter"])[data-active="false"]:is(:disabled, [aria-disabled="true"]) {
|
|
217
222
|
--pill-border: var(--bs-gray-400);
|
|
218
223
|
}
|
|
219
|
-
|
package/dist/wwt-bsds-preset.js
CHANGED
|
@@ -62,12 +62,11 @@ module.exports = {
|
|
|
62
62
|
},
|
|
63
63
|
orange: {
|
|
64
64
|
10: "rgba(250, 70, 22, 0.1)",
|
|
65
|
-
100: "#
|
|
66
|
-
200: "#
|
|
67
|
-
300: "#
|
|
68
|
-
400: "#
|
|
69
|
-
500: "#
|
|
70
|
-
warning: "#EA6712" // leaving here for compatibility
|
|
65
|
+
100: "#F3C4A8",
|
|
66
|
+
200: "#F7A17B",
|
|
67
|
+
300: "#F97C4C",
|
|
68
|
+
400: "#FB550E",
|
|
69
|
+
500: "#C33D04"
|
|
71
70
|
},
|
|
72
71
|
pink: {
|
|
73
72
|
100: "#F6CBE0",
|
|
@@ -146,8 +145,12 @@ module.exports = {
|
|
|
146
145
|
backgroundColor: {
|
|
147
146
|
"base": "var(--bs-bg-base)",
|
|
148
147
|
"base-elevated": "var(--bs-bg-base-elevated)",
|
|
148
|
+
"base-to-light": "var(--bs-bg-base-to-light)",
|
|
149
|
+
"base-to-medium": "var(--bs-bg-base-to-medium)",
|
|
149
150
|
"light": "var(--bs-bg-light)",
|
|
151
|
+
"light-to-medium": "var(--bs-bg-light-to-medium)",
|
|
150
152
|
"medium": "var(--bs-bg-medium)",
|
|
153
|
+
"medium-to-light": "var(--bs-bg-medium-to-light)",
|
|
151
154
|
"invert-base": "var(--bs-bg-invert-base)",
|
|
152
155
|
"invert-medium": "var(--bs-bg-invert-medium)",
|
|
153
156
|
"disabled": "var(--bs-bg-disabled)"
|
|
@@ -215,6 +218,8 @@ module.exports = {
|
|
|
215
218
|
"orange-medium": "var(--bs-orange-medium)",
|
|
216
219
|
"orange-light": "var(--bs-orange-light)",
|
|
217
220
|
"orange-lightest": "var(--bs-orange-lightest)",
|
|
221
|
+
"orange-warning": "var(--bs-orange-warning)",
|
|
222
|
+
// 👆 leaving here for compatibility. Map to / deprecate in favor of 'warning.'
|
|
218
223
|
"purple-base": "var(--bs-purple-base)",
|
|
219
224
|
"purple-medium": "var(--bs-purple-medium)",
|
|
220
225
|
"purple-light": "var(--bs-purple-light)",
|
|
@@ -224,6 +229,7 @@ module.exports = {
|
|
|
224
229
|
"gray-medium": "var(--bs-gray-medium)",
|
|
225
230
|
"gray-light": "var(--bs-gray-light)",
|
|
226
231
|
"gray-lightest": "var(--bs-gray-lightest)",
|
|
232
|
+
"warning": "var(--bs-warning)"
|
|
227
233
|
},
|
|
228
234
|
height: {
|
|
229
235
|
18: "4.5rem",
|
|
@@ -255,6 +261,7 @@ module.exports = {
|
|
|
255
261
|
"6xl": "100rem",
|
|
256
262
|
},
|
|
257
263
|
minHeight: {
|
|
264
|
+
...defaultTheme.spacing,
|
|
258
265
|
"half-screen": "50vh",
|
|
259
266
|
"13": "3.25rem",
|
|
260
267
|
"15": "3.75rem",
|
|
@@ -288,13 +295,20 @@ module.exports = {
|
|
|
288
295
|
"ink-medium": "var(--bs-ink-medium)",
|
|
289
296
|
"ink-light": "var(--bs-ink-light)",
|
|
290
297
|
"ink-accent": "var(--bs-ink-accent)",
|
|
298
|
+
"ink-disabled": "var(--bs-ink-disabled)",
|
|
291
299
|
"ink-invert": "var(--bs-ink-invert)",
|
|
300
|
+
"ink-invert-base": "var(--bs-ink-invert-base)",
|
|
301
|
+
"ink-invert-light": "var(--bs-ink-invert-light)",
|
|
292
302
|
"ink-invert-medium": "var(--bs-ink-invert-medium)",
|
|
293
303
|
"ink-blue": "var(--bs-ink-blue)",
|
|
294
|
-
"ink-red": "var(--bs-ink-red)",
|
|
295
|
-
"ink-pink": "var(--bs-ink-pink)",
|
|
296
304
|
"ink-orange": "var(--bs-ink-orange)",
|
|
297
|
-
"ink-
|
|
305
|
+
"ink-pink": "var(--bs-ink-pink)",
|
|
306
|
+
"ink-plum": "var(--bs-ink-plum)",
|
|
307
|
+
"ink-purple": "var(--bs-ink-purple)",
|
|
308
|
+
"ink-red": "var(--bs-ink-red)",
|
|
309
|
+
"ink-royal": "var(--bs-ink-royal)",
|
|
310
|
+
"ink-violet": "var(--bs-ink-violet)",
|
|
311
|
+
"ink-white": "var(--bs-ink-white)"
|
|
298
312
|
},
|
|
299
313
|
zIndex: {
|
|
300
314
|
"-1": "-1",
|