@wwtdev/bsds-css 2.18.1 → 2.19.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/dist/components/_accordions.scss +20 -11
- package/dist/components/_alert.scss +128 -0
- package/dist/components/_banner.scss +25 -11
- package/dist/components/_circle-buttons.scss +6 -0
- package/dist/components/_form-field-details.scss +0 -1
- package/dist/components/_form-input-composite.scss +24 -13
- package/dist/components/_form-input-phone.scss +5 -0
- package/dist/components/_form-text-fields.scss +21 -19
- package/dist/components/accordions.css +20 -11
- package/dist/components/alert.css +124 -0
- package/dist/components/banner.css +24 -10
- package/dist/components/circle-buttons.css +6 -0
- package/dist/components/form-field-details.css +0 -1
- package/dist/components/form-input-composite.css +24 -13
- package/dist/components/form-input-phone.css +5 -0
- package/dist/components/form-text-fields.css +21 -19
- package/dist/wwt-bsds-preset.js +2 -1
- package/dist/wwt-bsds-wc-base.css +2 -0
- package/dist/wwt-bsds.css +212 -48
- package/dist/wwt-bsds.min.css +1 -1
- package/package.json +1 -1
|
@@ -18,7 +18,8 @@
|
|
|
18
18
|
|
|
19
19
|
/* Accordion Panel (Icon, Title, Caret) */
|
|
20
20
|
|
|
21
|
-
.bs-accordion :where(
|
|
21
|
+
.bs-accordion :where(.bs-accordion-toggle),
|
|
22
|
+
.bs-accordion > :where(header) > :where(button) {
|
|
22
23
|
align-items: center;
|
|
23
24
|
background-color: var(--bs-bg-base);
|
|
24
25
|
border: 0px solid transparent;
|
|
@@ -39,48 +40,56 @@
|
|
|
39
40
|
width: 100%;
|
|
40
41
|
}
|
|
41
42
|
|
|
42
|
-
.bs-accordion :where(
|
|
43
|
+
.bs-accordion :where(.bs-accordion-toggle:focus-visible),
|
|
44
|
+
.bs-accordion > :where(header) > :where(button:focus-visible) {
|
|
43
45
|
--accordion-outline-color: var(--bs-blue-base);
|
|
44
46
|
}
|
|
45
47
|
|
|
46
|
-
.bs-accordion :where(
|
|
48
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
49
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
47
50
|
font-size: inherit;
|
|
48
51
|
font-weight: inherit;
|
|
49
52
|
line-height: inherit;
|
|
50
53
|
}
|
|
51
54
|
|
|
52
|
-
.bs-accordion :where(
|
|
55
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
56
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
53
57
|
grid-area: main;
|
|
54
58
|
margin-right: var(--bs-space-2);
|
|
55
59
|
text-align: left;
|
|
56
60
|
}
|
|
57
61
|
|
|
58
|
-
.bs-accordion :where(
|
|
62
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
63
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
59
64
|
vertical-align: middle;
|
|
60
65
|
}
|
|
61
66
|
|
|
62
67
|
@media (min-width: 957px) {
|
|
63
|
-
.bs-accordion :where(
|
|
68
|
+
.bs-accordion :where(.bs-accordion-toggle) > * ,
|
|
69
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
64
70
|
margin-right: var(--bs-space-3);
|
|
65
71
|
}
|
|
66
72
|
}
|
|
67
73
|
|
|
68
|
-
.bs-accordion :where(
|
|
74
|
+
.bs-accordion :where(.bs-accordion-toggle) :where([data-position]),
|
|
75
|
+
.bs-accordion > :where(header) > :where(button) :where([data-position]) {
|
|
69
76
|
width: var(--accordion-text-size);
|
|
70
77
|
}
|
|
71
78
|
|
|
72
|
-
.bs-accordion :where(
|
|
79
|
+
.bs-accordion :where(.bs-accordion-toggle) > :where([data-position="start"]),
|
|
80
|
+
.bs-accordion > :where(header) > :where(button) > :where([data-position="start"]) {
|
|
73
81
|
grid-area: start;
|
|
74
82
|
margin-right: var(--bs-space-2);
|
|
75
83
|
}
|
|
76
84
|
|
|
77
|
-
.bs-accordion :where(
|
|
85
|
+
.bs-accordion :where(.bs-accordion-toggle) > :where([data-position="end"]),
|
|
86
|
+
.bs-accordion > :where(header) > :where(button) > :where([data-position="end"]) {
|
|
78
87
|
grid-area: end;
|
|
79
88
|
transform: rotate(0);
|
|
80
89
|
transition: var(--bs-trans-rotate180);
|
|
81
90
|
}
|
|
82
91
|
|
|
83
|
-
.bs-accordion :where(header[data-open]:not([data-open="false"])) :where([data-position="end"]) {
|
|
92
|
+
.bs-accordion > :where(header[data-open]:not([data-open="false"])) :where([data-position="end"]) {
|
|
84
93
|
transform: rotate(180deg);
|
|
85
94
|
}
|
|
86
95
|
|
|
@@ -107,7 +116,7 @@
|
|
|
107
116
|
/* Accordion Group */
|
|
108
117
|
:where(.bs-accordion[data-stacked]:not([data-stacked="false"])) + .bs-accordion:where([data-stacked]:not([data-stacked="false"])) {
|
|
109
118
|
border-block-start-color: transparent;
|
|
110
|
-
}
|
|
119
|
+
}
|
|
111
120
|
|
|
112
121
|
}
|
|
113
122
|
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
@mixin alert() {
|
|
2
|
+
.bs-alert {
|
|
3
|
+
/* bs-blue-100 @ 10% */
|
|
4
|
+
background-color: #99cff71a;
|
|
5
|
+
border-radius: 8px;
|
|
6
|
+
border: 2px solid var(--bs-ink-blue);
|
|
7
|
+
column-gap: 0.75rem;
|
|
8
|
+
display: grid;
|
|
9
|
+
grid-template-columns: 1.25rem 1fr 1rem;
|
|
10
|
+
grid-template-areas: "icon title close"
|
|
11
|
+
". description ."
|
|
12
|
+
". action .";
|
|
13
|
+
padding: 1rem;
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
@media (min-width: 752px) {
|
|
17
|
+
.bs-alert {
|
|
18
|
+
padding: 1.5rem;
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
.bs-alert:where([data-horizontal="true"]) {
|
|
23
|
+
grid-template-columns: 1.25rem 1fr 1rem;
|
|
24
|
+
grid-template-areas: "icon title close"
|
|
25
|
+
". action .";
|
|
26
|
+
}
|
|
27
|
+
|
|
28
|
+
@media (min-width: 752px) {
|
|
29
|
+
.bs-alert:where([data-horizontal="true"]) {
|
|
30
|
+
grid-template-areas: "icon title action close";
|
|
31
|
+
grid-template-columns: 1.25rem max-content 1fr 1rem;
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
|
|
35
|
+
.bs-alert :where(.bs-alert-icon) {
|
|
36
|
+
align-self: center;
|
|
37
|
+
color: var(--bs-ink-blue);
|
|
38
|
+
grid-area: icon;
|
|
39
|
+
height: 1.25rem;
|
|
40
|
+
width: 1.25rem;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
.bs-alert :where(.bs-alert-title) {
|
|
44
|
+
font-size: 1.125rem;
|
|
45
|
+
grid-area: title;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
@media (min-width: 752px) {
|
|
49
|
+
.bs-alert :where(.bs-alert-title) {
|
|
50
|
+
font-size: 1.25rem;
|
|
51
|
+
}
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
.bs-alert :where(.bs-alert-description) {
|
|
55
|
+
font-size: 0.875rem;
|
|
56
|
+
grid-area: description;
|
|
57
|
+
margin-top: 0.5rem;
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
@media (min-width: 752px) {
|
|
61
|
+
.bs-alert :where(.bs-alert-description) {
|
|
62
|
+
font-size: 1rem;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
|
|
66
|
+
.bs-alert:where([data-horizontal="true"]) :where(.bs-alert-description) {
|
|
67
|
+
display: none;
|
|
68
|
+
}
|
|
69
|
+
|
|
70
|
+
.bs-alert :where(.bs-alert-close) {
|
|
71
|
+
align-self: center;
|
|
72
|
+
background-color: transparent;
|
|
73
|
+
cursor: pointer;
|
|
74
|
+
grid-area: close;
|
|
75
|
+
height: 1rem;
|
|
76
|
+
width: 1rem;
|
|
77
|
+
}
|
|
78
|
+
|
|
79
|
+
.bs-alert :where(.bs-alert-action) {
|
|
80
|
+
grid-area: action;
|
|
81
|
+
margin-top: 1rem;
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
@media (min-width: 752px) {
|
|
85
|
+
.bs-alert:where([data-horizontal="true"]) :where(.bs-alert-action) {
|
|
86
|
+
margin-top: 0;
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
|
|
90
|
+
/* COLOR VARIANTS */
|
|
91
|
+
.bs-alert:where([data-variant="success"]) {
|
|
92
|
+
/* bs-purple-100 @ 10% */
|
|
93
|
+
background-color: #e0c5ef1a;
|
|
94
|
+
border-color: var(--bs-ink-purple);
|
|
95
|
+
}
|
|
96
|
+
|
|
97
|
+
.bs-alert:where([data-variant="success"]) :where(.bs-alert-icon) {
|
|
98
|
+
color: var(--bs-ink-purple);
|
|
99
|
+
}
|
|
100
|
+
|
|
101
|
+
.bs-alert:where([data-variant="warning"]) {
|
|
102
|
+
/* bs-orange-100 @ 10% */
|
|
103
|
+
background-color: #f3c4a81a;
|
|
104
|
+
border-color: var(--bs-ink-orange);
|
|
105
|
+
}
|
|
106
|
+
.bs-alert:where([data-variant="warning"]) :where(.bs-alert-icon) {
|
|
107
|
+
color: var(--bs-ink-orange);
|
|
108
|
+
}
|
|
109
|
+
|
|
110
|
+
.bs-alert:where([data-variant="negative"]) {
|
|
111
|
+
/* bs-red-100 @ 10% */
|
|
112
|
+
background-color: #f8a9aa1a;
|
|
113
|
+
border-color: var(--bs-ink-red);
|
|
114
|
+
}
|
|
115
|
+
|
|
116
|
+
.bs-alert:where([data-variant="negative"]) :where(.bs-alert-icon) {
|
|
117
|
+
color: var(--bs-ink-red);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
/* DARK MODE SPECIAL CASE */
|
|
121
|
+
.dark .bs-alert :where(.bs-alert-action) {
|
|
122
|
+
--btn-border-color-focused: var(--bs-text-base);
|
|
123
|
+
--btn-text-color: var(--bs-text-base);
|
|
124
|
+
--btn-text-color-hovered: var(--bs-text-base);
|
|
125
|
+
}
|
|
126
|
+
|
|
127
|
+
}
|
|
128
|
+
|
|
@@ -1,13 +1,19 @@
|
|
|
1
1
|
@mixin banner() {
|
|
2
|
-
.bs-banner {
|
|
3
|
-
|
|
4
|
-
|
|
2
|
+
:where(.bs-banner) {
|
|
3
|
+
--banner-bg: var(--bs-royal-400);
|
|
4
|
+
--banner-icon-display: none;
|
|
5
|
+
--banner-padding: var(--banner-padding-m);
|
|
6
|
+
--banner-padding-m: 1rem 1.5rem;
|
|
7
|
+
--banner-padding-dt: .5rem 2.25rem;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
.bs-banner {
|
|
11
|
+
background-color: var(--banner-bg);
|
|
12
|
+
color: var(--bs-ink-white);
|
|
5
13
|
display: flex;
|
|
6
14
|
justify-content: center;
|
|
7
|
-
|
|
8
|
-
padding
|
|
9
|
-
padding-right: 1.25rem;
|
|
10
|
-
padding-top: 1rem;
|
|
15
|
+
min-height: 3rem;
|
|
16
|
+
padding: var(--banner-padding);
|
|
11
17
|
}
|
|
12
18
|
|
|
13
19
|
.bs-banner:where([data-dismissed]:not([data-dismissed="false"])) {
|
|
@@ -24,7 +30,7 @@
|
|
|
24
30
|
|
|
25
31
|
.bs-banner :where(.bs-banner-content .bs-banner-warning-icon) {
|
|
26
32
|
/* Do not display icon on smaller screens */
|
|
27
|
-
display:
|
|
33
|
+
display: var(--banner-icon-display);
|
|
28
34
|
margin-right: 0.625rem;
|
|
29
35
|
}
|
|
30
36
|
|
|
@@ -34,19 +40,27 @@
|
|
|
34
40
|
}
|
|
35
41
|
|
|
36
42
|
.bs-banner :where(.bs-banner-content p a) {
|
|
37
|
-
color: var(--bs-blue-lightest);
|
|
38
43
|
text-decoration: underline;
|
|
39
44
|
}
|
|
40
45
|
|
|
46
|
+
.bs-banner :where(a:hover) {
|
|
47
|
+
color: rgba(255, 255, 255, 0.8);
|
|
48
|
+
}
|
|
49
|
+
|
|
41
50
|
.bs-banner :where(.bs-banner-content button) {
|
|
42
51
|
background-color: inherit;
|
|
43
52
|
color: inherit;
|
|
44
53
|
cursor: pointer;
|
|
45
54
|
}
|
|
46
55
|
|
|
56
|
+
.bs-banner:where([data-variant="negative"]) {
|
|
57
|
+
--banner-bg: var(--bs-red-300);
|
|
58
|
+
}
|
|
59
|
+
|
|
47
60
|
@media (min-width: 957px) {
|
|
48
|
-
.bs-banner
|
|
49
|
-
display: inline-flex;
|
|
61
|
+
.bs-banner {
|
|
62
|
+
--banner-icon-display: inline-flex;
|
|
63
|
+
--banner-padding: var(--banner-padding-dt);
|
|
50
64
|
}
|
|
51
65
|
}
|
|
52
66
|
|
|
@@ -197,6 +197,12 @@ a.bs-circle-button {
|
|
|
197
197
|
--btn-text-color-hovered: var(--bs-pink-base);
|
|
198
198
|
}
|
|
199
199
|
|
|
200
|
+
.bs-circle-button:where([data-variant="color-orange"]) {
|
|
201
|
+
--btn-border-color-focused: var(--bs-ink-orange);
|
|
202
|
+
--btn-text-color: var(--bs-ink-orange);
|
|
203
|
+
--btn-text-color-hovered: var(--bs-orange-base);
|
|
204
|
+
}
|
|
205
|
+
|
|
200
206
|
.bs-circle-button:where([data-variant="color-red"]) {
|
|
201
207
|
--btn-border-color-focused: var(--bs-ink-red);
|
|
202
208
|
--btn-text-color: var(--bs-ink-red);
|
|
@@ -5,9 +5,9 @@
|
|
|
5
5
|
}
|
|
6
6
|
|
|
7
7
|
.bs-input-addon {
|
|
8
|
-
--input-border: var(--bs-
|
|
8
|
+
--input-border: var(--bs-border-input);
|
|
9
9
|
align-items: center;
|
|
10
|
-
background-color: var(--input-bg,
|
|
10
|
+
background-color: var(--input-bg, var(--bs-bg-base));
|
|
11
11
|
border-radius: .25rem;
|
|
12
12
|
color: var(--bs-ink-base);
|
|
13
13
|
display: flex;
|
|
@@ -18,13 +18,17 @@
|
|
|
18
18
|
position: relative;
|
|
19
19
|
}
|
|
20
20
|
|
|
21
|
+
:where(.dark) .bs-input-addon {
|
|
22
|
+
background-color: var(--input-bg, transparent);
|
|
23
|
+
}
|
|
24
|
+
|
|
21
25
|
.bs-input-addon * {
|
|
22
26
|
background-color: transparent;
|
|
23
27
|
}
|
|
24
28
|
|
|
25
29
|
/* Fix issue in Windows, where <select> options would be invisible, due to background-color: transparent */
|
|
26
30
|
.bs-input-addon :where(.bs-select, select) {
|
|
27
|
-
background-color: var(--bs-bg-base);
|
|
31
|
+
background-color: var(--input-bg, var(--bs-bg-base));
|
|
28
32
|
}
|
|
29
33
|
|
|
30
34
|
/**
|
|
@@ -50,11 +54,16 @@ and issues with box-sizing
|
|
|
50
54
|
}
|
|
51
55
|
|
|
52
56
|
.bs-input-addon::after {
|
|
57
|
+
border-color: var(--input-border);
|
|
53
58
|
border-radius: .25rem;
|
|
54
|
-
border:
|
|
59
|
+
border-style: solid;
|
|
60
|
+
border-width: var(--input-border-width, 1px);
|
|
55
61
|
}
|
|
62
|
+
|
|
56
63
|
.bs-input-addon :where(.bs-input-addon)::after {
|
|
57
|
-
border:
|
|
64
|
+
border-color: var(--input-addon-nested-border);
|
|
65
|
+
border-style: solid;
|
|
66
|
+
border-width: var(--input-border-width, 1px);
|
|
58
67
|
}
|
|
59
68
|
|
|
60
69
|
.bs-input-addon > * {
|
|
@@ -112,7 +121,7 @@ and issues with box-sizing
|
|
|
112
121
|
/** Inner borders should be straight; shown only if variant: "inner-bordered" */
|
|
113
122
|
|
|
114
123
|
.bs-input-addon:where([data-variant="inner-bordered"]) {
|
|
115
|
-
--input-addon-nested-border: var(--bs-violet-
|
|
124
|
+
--input-addon-nested-border: var(--bs-violet-200);
|
|
116
125
|
}
|
|
117
126
|
|
|
118
127
|
.bs-input-addon > :where(.bs-input-addon:not(:last-child, :focus-within, [data-part="right"])),
|
|
@@ -177,13 +186,6 @@ and issues with box-sizing
|
|
|
177
186
|
width: 1rem;
|
|
178
187
|
}
|
|
179
188
|
|
|
180
|
-
/* -------- Hover styles -------- */
|
|
181
|
-
.bs-input-addon:hover,
|
|
182
|
-
:where(label):hover + .bs-input-addon,
|
|
183
|
-
:where(label):hover + * .bs-input-addon:where(:not(label .bs-input-addon, label + .bs-input-addon)) {
|
|
184
|
-
--input-bg: var(--bs-bg-input-hover);
|
|
185
|
-
}
|
|
186
|
-
|
|
187
189
|
/* -------- Focus styles -------- */
|
|
188
190
|
.bs-input-addon {
|
|
189
191
|
--focus-border: var(--bs-blue-base);
|
|
@@ -248,6 +250,15 @@ and issues with box-sizing
|
|
|
248
250
|
.bs-input-addon:where([data-disabled]:not([data-disabled="false"])) * {
|
|
249
251
|
pointer-events: none;
|
|
250
252
|
}
|
|
253
|
+
.bs-input-addon:where([data-disabled]:not([data-disabled="false"]))::after,
|
|
254
|
+
.bs-input-addon:where([data-disabled]:not([data-disabled="false"]))::before,
|
|
255
|
+
.bs-input-addon:where([data-disabled]:not([data-disabled="false"])):where([data-variant="inner-bordered"]) {
|
|
256
|
+
--input-border-width: 0;
|
|
257
|
+
}
|
|
258
|
+
|
|
259
|
+
.bs-input-addon:where([data-disabled]:not([data-disabled="false"])):where([data-variant="inner-bordered"]) > :where(:not(:focus, :focus-within))::after {
|
|
260
|
+
border-right-width: 0;
|
|
261
|
+
}
|
|
251
262
|
|
|
252
263
|
/* -------- Error styles -------- */
|
|
253
264
|
.bs-input-addon:where([data-error]:not([data-error="false"])),
|
|
@@ -8,6 +8,11 @@
|
|
|
8
8
|
min-width: 6rem;
|
|
9
9
|
padding: 0 1rem;
|
|
10
10
|
}
|
|
11
|
+
|
|
12
|
+
.bs-input-phone .bs-input-addon:where([data-disabled]:not([data-disabled="false"])) :where(button) :where(span) {
|
|
13
|
+
filter: grayscale(1);
|
|
14
|
+
}
|
|
15
|
+
|
|
11
16
|
.bs-input-phone ul:where(.bs-dropdown-options) {
|
|
12
17
|
min-width: 7.5rem;
|
|
13
18
|
}
|
|
@@ -22,8 +22,8 @@ textarea,
|
|
|
22
22
|
select,
|
|
23
23
|
:is(.bs-input, .bs-select, .bs-textarea) {
|
|
24
24
|
appearance: none;
|
|
25
|
-
background-color: var(--input-bg,
|
|
26
|
-
border-color: var(--input-border, var(--bs-
|
|
25
|
+
background-color: var(--input-bg, var(--bs-bg-base));
|
|
26
|
+
border-color: var(--input-border, var(--bs-border-input));
|
|
27
27
|
border-radius: 0.25rem;
|
|
28
28
|
border-style: solid;
|
|
29
29
|
border-width: var(--input-border-width, 1px);
|
|
@@ -37,6 +37,13 @@ select,
|
|
|
37
37
|
padding-inline: var(--input-padding-inline, 0.75rem);
|
|
38
38
|
}
|
|
39
39
|
|
|
40
|
+
:where(.dark) input:where(:not([type='checkbox'], [type='radio'], [type='file'], [type='range'])),
|
|
41
|
+
:where(.dark) textarea,
|
|
42
|
+
:where(.dark) select,
|
|
43
|
+
:where(.dark) :is(.bs-input, .bs-select, .bs-textarea) {
|
|
44
|
+
--input-bg: transparent;
|
|
45
|
+
}
|
|
46
|
+
|
|
40
47
|
input:where(:not([type='checkbox'], [type='radio'], [type='file'], [type='range'])),
|
|
41
48
|
textarea,
|
|
42
49
|
select,
|
|
@@ -61,15 +68,21 @@ textarea {
|
|
|
61
68
|
:is(input, textarea, select)::placeholder,
|
|
62
69
|
:is(.bs-input, .bs-select, .bs-textarea)::placeholder,
|
|
63
70
|
:is(.bs-input, .bs-select, .bs-textarea):where([data-placeholder="true"]) {
|
|
64
|
-
color: var(--input-placeholder, var(--bs-violet-
|
|
71
|
+
color: var(--input-placeholder, var(--bs-violet-100));
|
|
65
72
|
}
|
|
73
|
+
|
|
74
|
+
:where(.dark) :is(input, textarea, select)::placeholder,
|
|
75
|
+
:where(.dark) :is(.bs-input, .bs-select, .bs-textarea)::placeholder,
|
|
76
|
+
:where(.dark) :is(.bs-input, .bs-select, .bs-textarea):where([data-placeholder="true"]) {
|
|
77
|
+
--input-placeholder: var(--bs-violet-200);
|
|
78
|
+
}
|
|
79
|
+
|
|
66
80
|
:is(input, textarea, select):where(:focus-visible)::placeholder,
|
|
67
81
|
:is(.bs-input, .bs-select, .bs-textarea):where(:focus-visible)::placeholder {
|
|
68
82
|
opacity: 0;
|
|
69
83
|
}
|
|
70
84
|
|
|
71
85
|
/* FOCUS state */
|
|
72
|
-
|
|
73
86
|
:is(input:where(:not([type='checkbox'], [type='radio'])), textarea, select):where(:focus-visible),
|
|
74
87
|
:is(.bs-input, .bs-select, .bs-textarea):where(:focus-visible),
|
|
75
88
|
:is(select, .bs-select):where(:focus) {
|
|
@@ -78,15 +91,7 @@ textarea {
|
|
|
78
91
|
outline-width: 0px;
|
|
79
92
|
}
|
|
80
93
|
|
|
81
|
-
/* HOVER state */
|
|
82
|
-
|
|
83
|
-
:is(input:where(:not([type='checkbox'], [type='radio'])), textarea, select):where(:hover),
|
|
84
|
-
:is(.bs-input, .bs-select, .bs-textarea):where(:hover) {
|
|
85
|
-
--input-bg: var(--bs-bg-input-hover);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
94
|
/* DISABLED state */
|
|
89
|
-
|
|
90
95
|
:is(input:where(:not([type='checkbox'],[type='radio'])), textarea, select):where(:disabled),
|
|
91
96
|
:is(.bs-input, .bs-select, .bs-textarea):where(:disabled) {
|
|
92
97
|
--input-border: var(--bs-ink-disabled);
|
|
@@ -95,7 +100,10 @@ textarea {
|
|
|
95
100
|
}
|
|
96
101
|
|
|
97
102
|
/* Text inputs should not have a border when disabled */
|
|
98
|
-
:is(input:where(:not([type]),[type="text"],[type="number"],[type="email"],[type="password"],[type="url"])):where(:disabled)
|
|
103
|
+
:is(input:where(:not([type]),[type="text"],[type="number"],[type="email"],[type="password"],[type="url"])):where(:disabled),
|
|
104
|
+
textarea:where(:disabled),
|
|
105
|
+
select:where(:disabled),
|
|
106
|
+
:is(.bs-input, .bs-select, .bs-textarea):where(:disabled) {
|
|
99
107
|
--input-border-width: 0px;
|
|
100
108
|
}
|
|
101
109
|
|
|
@@ -146,16 +154,10 @@ select[multiple],
|
|
|
146
154
|
|
|
147
155
|
:where(.dark) select,
|
|
148
156
|
:where(.dark) .bs-select {
|
|
149
|
-
--input-bg: var(--bs-bg-base);
|
|
150
157
|
/* URL Encoded SVG dropdown caret so there is something there */
|
|
151
158
|
background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 16 16'%3E%3Cpath fill='%23ffffff' d='M8.048 13.375a.745.745 0 0 1-.526-.217L0 5.686l1.053-1.061 6.995 6.95 6.897-6.85 1.053 1.06-7.423 7.373a.745.745 0 0 1-.527.217Z'/%3E%3C/svg%3E");
|
|
152
159
|
}
|
|
153
160
|
|
|
154
|
-
:where(.dark .box) select,
|
|
155
|
-
:where(.dark .box) .bs-select {
|
|
156
|
-
--input-bg: var(--bg-color, var(--bs-bg-subtle));
|
|
157
|
-
}
|
|
158
|
-
|
|
159
161
|
:where(.dark) select:where(:disabled),
|
|
160
162
|
:where(.dark) .bs-select:where(:disabled) {
|
|
161
163
|
/* URL Encoded SVG dropdown caret so there is something there */
|
|
@@ -17,7 +17,8 @@
|
|
|
17
17
|
|
|
18
18
|
/* Accordion Panel (Icon, Title, Caret) */
|
|
19
19
|
|
|
20
|
-
.bs-accordion :where(
|
|
20
|
+
.bs-accordion :where(.bs-accordion-toggle),
|
|
21
|
+
.bs-accordion > :where(header) > :where(button) {
|
|
21
22
|
align-items: center;
|
|
22
23
|
background-color: var(--bs-bg-base);
|
|
23
24
|
border: 0px solid transparent;
|
|
@@ -38,48 +39,56 @@
|
|
|
38
39
|
width: 100%;
|
|
39
40
|
}
|
|
40
41
|
|
|
41
|
-
.bs-accordion :where(
|
|
42
|
+
.bs-accordion :where(.bs-accordion-toggle:focus-visible),
|
|
43
|
+
.bs-accordion > :where(header) > :where(button:focus-visible) {
|
|
42
44
|
--accordion-outline-color: var(--bs-blue-base);
|
|
43
45
|
}
|
|
44
46
|
|
|
45
|
-
.bs-accordion :where(
|
|
47
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
48
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
46
49
|
font-size: inherit;
|
|
47
50
|
font-weight: inherit;
|
|
48
51
|
line-height: inherit;
|
|
49
52
|
}
|
|
50
53
|
|
|
51
|
-
.bs-accordion :where(
|
|
54
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
55
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
52
56
|
grid-area: main;
|
|
53
57
|
margin-right: var(--bs-space-2);
|
|
54
58
|
text-align: left;
|
|
55
59
|
}
|
|
56
60
|
|
|
57
|
-
.bs-accordion :where(
|
|
61
|
+
.bs-accordion :where(.bs-accordion-toggle) > *,
|
|
62
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
58
63
|
vertical-align: middle;
|
|
59
64
|
}
|
|
60
65
|
|
|
61
66
|
@media (min-width: 957px) {
|
|
62
|
-
.bs-accordion :where(
|
|
67
|
+
.bs-accordion :where(.bs-accordion-toggle) > * ,
|
|
68
|
+
.bs-accordion > :where(header) > :where(button) > * {
|
|
63
69
|
margin-right: var(--bs-space-3);
|
|
64
70
|
}
|
|
65
71
|
}
|
|
66
72
|
|
|
67
|
-
.bs-accordion :where(
|
|
73
|
+
.bs-accordion :where(.bs-accordion-toggle) :where([data-position]),
|
|
74
|
+
.bs-accordion > :where(header) > :where(button) :where([data-position]) {
|
|
68
75
|
width: var(--accordion-text-size);
|
|
69
76
|
}
|
|
70
77
|
|
|
71
|
-
.bs-accordion :where(
|
|
78
|
+
.bs-accordion :where(.bs-accordion-toggle) > :where([data-position="start"]),
|
|
79
|
+
.bs-accordion > :where(header) > :where(button) > :where([data-position="start"]) {
|
|
72
80
|
grid-area: start;
|
|
73
81
|
margin-right: var(--bs-space-2);
|
|
74
82
|
}
|
|
75
83
|
|
|
76
|
-
.bs-accordion :where(
|
|
84
|
+
.bs-accordion :where(.bs-accordion-toggle) > :where([data-position="end"]),
|
|
85
|
+
.bs-accordion > :where(header) > :where(button) > :where([data-position="end"]) {
|
|
77
86
|
grid-area: end;
|
|
78
87
|
transform: rotate(0);
|
|
79
88
|
transition: var(--bs-trans-rotate180);
|
|
80
89
|
}
|
|
81
90
|
|
|
82
|
-
.bs-accordion :where(header[data-open]:not([data-open="false"])) :where([data-position="end"]) {
|
|
91
|
+
.bs-accordion > :where(header[data-open]:not([data-open="false"])) :where([data-position="end"]) {
|
|
83
92
|
transform: rotate(180deg);
|
|
84
93
|
}
|
|
85
94
|
|
|
@@ -106,4 +115,4 @@
|
|
|
106
115
|
/* Accordion Group */
|
|
107
116
|
:where(.bs-accordion[data-stacked]:not([data-stacked="false"])) + .bs-accordion:where([data-stacked]:not([data-stacked="false"])) {
|
|
108
117
|
border-block-start-color: transparent;
|
|
109
|
-
}
|
|
118
|
+
}
|
|
@@ -0,0 +1,124 @@
|
|
|
1
|
+
.bs-alert {
|
|
2
|
+
/* bs-blue-100 @ 10% */
|
|
3
|
+
background-color: #99cff71a;
|
|
4
|
+
border-radius: 8px;
|
|
5
|
+
border: 2px solid var(--bs-ink-blue);
|
|
6
|
+
column-gap: 0.75rem;
|
|
7
|
+
display: grid;
|
|
8
|
+
grid-template-columns: 1.25rem 1fr 1rem;
|
|
9
|
+
grid-template-areas: "icon title close"
|
|
10
|
+
". description ."
|
|
11
|
+
". action .";
|
|
12
|
+
padding: 1rem;
|
|
13
|
+
}
|
|
14
|
+
|
|
15
|
+
@media (min-width: 752px) {
|
|
16
|
+
.bs-alert {
|
|
17
|
+
padding: 1.5rem;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
.bs-alert:where([data-horizontal="true"]) {
|
|
22
|
+
grid-template-columns: 1.25rem 1fr 1rem;
|
|
23
|
+
grid-template-areas: "icon title close"
|
|
24
|
+
". action .";
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
@media (min-width: 752px) {
|
|
28
|
+
.bs-alert:where([data-horizontal="true"]) {
|
|
29
|
+
grid-template-areas: "icon title action close";
|
|
30
|
+
grid-template-columns: 1.25rem max-content 1fr 1rem;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
|
|
34
|
+
.bs-alert :where(.bs-alert-icon) {
|
|
35
|
+
align-self: center;
|
|
36
|
+
color: var(--bs-ink-blue);
|
|
37
|
+
grid-area: icon;
|
|
38
|
+
height: 1.25rem;
|
|
39
|
+
width: 1.25rem;
|
|
40
|
+
}
|
|
41
|
+
|
|
42
|
+
.bs-alert :where(.bs-alert-title) {
|
|
43
|
+
font-size: 1.125rem;
|
|
44
|
+
grid-area: title;
|
|
45
|
+
}
|
|
46
|
+
|
|
47
|
+
@media (min-width: 752px) {
|
|
48
|
+
.bs-alert :where(.bs-alert-title) {
|
|
49
|
+
font-size: 1.25rem;
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
|
|
53
|
+
.bs-alert :where(.bs-alert-description) {
|
|
54
|
+
font-size: 0.875rem;
|
|
55
|
+
grid-area: description;
|
|
56
|
+
margin-top: 0.5rem;
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@media (min-width: 752px) {
|
|
60
|
+
.bs-alert :where(.bs-alert-description) {
|
|
61
|
+
font-size: 1rem;
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
.bs-alert:where([data-horizontal="true"]) :where(.bs-alert-description) {
|
|
66
|
+
display: none;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.bs-alert :where(.bs-alert-close) {
|
|
70
|
+
align-self: center;
|
|
71
|
+
background-color: transparent;
|
|
72
|
+
cursor: pointer;
|
|
73
|
+
grid-area: close;
|
|
74
|
+
height: 1rem;
|
|
75
|
+
width: 1rem;
|
|
76
|
+
}
|
|
77
|
+
|
|
78
|
+
.bs-alert :where(.bs-alert-action) {
|
|
79
|
+
grid-area: action;
|
|
80
|
+
margin-top: 1rem;
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@media (min-width: 752px) {
|
|
84
|
+
.bs-alert:where([data-horizontal="true"]) :where(.bs-alert-action) {
|
|
85
|
+
margin-top: 0;
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
|
|
89
|
+
/* COLOR VARIANTS */
|
|
90
|
+
.bs-alert:where([data-variant="success"]) {
|
|
91
|
+
/* bs-purple-100 @ 10% */
|
|
92
|
+
background-color: #e0c5ef1a;
|
|
93
|
+
border-color: var(--bs-ink-purple);
|
|
94
|
+
}
|
|
95
|
+
|
|
96
|
+
.bs-alert:where([data-variant="success"]) :where(.bs-alert-icon) {
|
|
97
|
+
color: var(--bs-ink-purple);
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
.bs-alert:where([data-variant="warning"]) {
|
|
101
|
+
/* bs-orange-100 @ 10% */
|
|
102
|
+
background-color: #f3c4a81a;
|
|
103
|
+
border-color: var(--bs-ink-orange);
|
|
104
|
+
}
|
|
105
|
+
.bs-alert:where([data-variant="warning"]) :where(.bs-alert-icon) {
|
|
106
|
+
color: var(--bs-ink-orange);
|
|
107
|
+
}
|
|
108
|
+
|
|
109
|
+
.bs-alert:where([data-variant="negative"]) {
|
|
110
|
+
/* bs-red-100 @ 10% */
|
|
111
|
+
background-color: #f8a9aa1a;
|
|
112
|
+
border-color: var(--bs-ink-red);
|
|
113
|
+
}
|
|
114
|
+
|
|
115
|
+
.bs-alert:where([data-variant="negative"]) :where(.bs-alert-icon) {
|
|
116
|
+
color: var(--bs-ink-red);
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
/* DARK MODE SPECIAL CASE */
|
|
120
|
+
.dark .bs-alert :where(.bs-alert-action) {
|
|
121
|
+
--btn-border-color-focused: var(--bs-text-base);
|
|
122
|
+
--btn-text-color: var(--bs-text-base);
|
|
123
|
+
--btn-text-color-hovered: var(--bs-text-base);
|
|
124
|
+
}
|