@wwtdev/bsds-css 2.28.0 → 3.0.0-rc.21
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 +4 -4
- package/dist/wwt-bsds-preset.js +196 -68
- package/dist/wwt-bsds.css +2189 -1471
- package/dist/wwt-bsds.min.css +1 -1
- package/package.json +7 -11
- package/dist/components/_accordions.scss +0 -122
- package/dist/components/_alert.scss +0 -143
- package/dist/components/_badge.scss +0 -95
- package/dist/components/_banner.scss +0 -68
- package/dist/components/_buttons.scss +0 -289
- package/dist/components/_chart.scss +0 -169
- package/dist/components/_circle-buttons.scss +0 -231
- package/dist/components/_dropdown-options.scss +0 -236
- package/dist/components/_dropdown.scss +0 -189
- package/dist/components/_empty-state.scss +0 -99
- package/dist/components/_filter-buttons.scss +0 -116
- package/dist/components/_flyout.scss +0 -75
- package/dist/components/_form-booleans.scss +0 -182
- package/dist/components/_form-character-count.scss +0 -21
- package/dist/components/_form-container.scss +0 -111
- package/dist/components/_form-elements.scss +0 -40
- package/dist/components/_form-field-details.scss +0 -19
- package/dist/components/_form-hints.scss +0 -22
- package/dist/components/_form-input-composite.scss +0 -312
- package/dist/components/_form-input-phone.scss +0 -21
- package/dist/components/_form-input-search.scss +0 -74
- package/dist/components/_form-labels.scss +0 -40
- package/dist/components/_form-switches.scss +0 -154
- package/dist/components/_form-text-fields.scss +0 -205
- package/dist/components/_horizontal-navigation-mobile.scss +0 -238
- package/dist/components/_horizontal-navigation.scss +0 -220
- package/dist/components/_inline-tabs.scss +0 -86
- package/dist/components/_loader.scss +0 -105
- package/dist/components/_modal.scss +0 -185
- package/dist/components/_overlay.scss +0 -34
- package/dist/components/_pagination.scss +0 -85
- package/dist/components/_pills.scss +0 -224
- package/dist/components/_profile-details.scss +0 -44
- package/dist/components/_profile-img.scss +0 -73
- package/dist/components/_profile-layout.scss +0 -29
- package/dist/components/_spinner.scss +0 -95
- package/dist/components/_tab-list.scss +0 -151
- package/dist/components/_table.scss +0 -331
- package/dist/components/_tables.scss +0 -84
- package/dist/components/_timeline.scss +0 -122
- package/dist/components/_toast.scss +0 -149
- package/dist/components/_toaster.scss +0 -27
- package/dist/components/_tooltip.scss +0 -179
- package/dist/components/_vertical-navigation.scss +0 -280
- package/dist/components/accordions.css +0 -118
- package/dist/components/alert.css +0 -139
- package/dist/components/badge.css +0 -91
- package/dist/components/banner.css +0 -64
- package/dist/components/buttons.css +0 -285
- package/dist/components/chart.css +0 -165
- package/dist/components/circle-buttons.css +0 -227
- package/dist/components/dropdown-options.css +0 -232
- package/dist/components/dropdown.css +0 -185
- package/dist/components/empty-state.css +0 -95
- package/dist/components/filter-buttons.css +0 -112
- package/dist/components/flyout.css +0 -71
- package/dist/components/form-booleans.css +0 -178
- package/dist/components/form-character-count.css +0 -17
- package/dist/components/form-container.css +0 -108
- package/dist/components/form-elements.css +0 -36
- package/dist/components/form-field-details.css +0 -15
- package/dist/components/form-hints.css +0 -18
- package/dist/components/form-input-composite.css +0 -308
- package/dist/components/form-input-phone.css +0 -17
- package/dist/components/form-input-search.css +0 -70
- package/dist/components/form-labels.css +0 -36
- package/dist/components/form-switches.css +0 -150
- package/dist/components/form-text-fields.css +0 -201
- package/dist/components/horizontal-navigation-mobile.css +0 -234
- package/dist/components/horizontal-navigation.css +0 -216
- package/dist/components/inline-tabs.css +0 -83
- package/dist/components/loader.css +0 -101
- package/dist/components/modal.css +0 -181
- package/dist/components/overlay.css +0 -30
- package/dist/components/pagination.css +0 -81
- package/dist/components/pills.css +0 -220
- package/dist/components/profile-details.css +0 -40
- package/dist/components/profile-img.css +0 -69
- package/dist/components/profile-layout.css +0 -25
- package/dist/components/spinner.css +0 -91
- package/dist/components/tab-list.css +0 -147
- package/dist/components/table.css +0 -327
- package/dist/components/tables.css +0 -80
- package/dist/components/timeline.css +0 -118
- package/dist/components/toast.css +0 -145
- package/dist/components/toaster.css +0 -23
- package/dist/components/tooltip.css +0 -175
- package/dist/components/vertical-navigation.css +0 -276
- package/dist/wwt-bsds-wc-base.css +0 -1129
|
@@ -1,95 +0,0 @@
|
|
|
1
|
-
.bs-empty-state {
|
|
2
|
-
--bs-empty-state-description-color: var(--bs-ink-light);
|
|
3
|
-
--bs-empty-state-icon-color: var(--bs-violet-300);
|
|
4
|
-
--bs-empty-state-title-color: var(--bs-ink-base);
|
|
5
|
-
--col-gap: var(--bs-space-6);
|
|
6
|
-
--cta-spacing: var(--bs-space-4);
|
|
7
|
-
--description-font-size: var(--bs-text-base);
|
|
8
|
-
--description-line-height: var(--bs-leading-base);
|
|
9
|
-
--description-weight: var(--bs-font-normal);
|
|
10
|
-
--icon-size: 3rem;
|
|
11
|
-
--title-font-size: var(--bs-text-lg);
|
|
12
|
-
--title-line-height: 130%;
|
|
13
|
-
--title-spacing: 0.5rem;
|
|
14
|
-
--title-weight: var(--bs-font-normal);
|
|
15
|
-
|
|
16
|
-
align-items: center;
|
|
17
|
-
column-gap: var(--col-gap);
|
|
18
|
-
display: grid;
|
|
19
|
-
grid-template-columns: auto 1fr;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
.bs-empty-state :where(.bs-empty-state-icon) {
|
|
23
|
-
align-self: start;
|
|
24
|
-
height: auto;
|
|
25
|
-
max-width: var(--icon-size);
|
|
26
|
-
width: 100%;
|
|
27
|
-
}
|
|
28
|
-
|
|
29
|
-
.bs-empty-state :where(.bs-empty-state-icon path) {
|
|
30
|
-
fill: var(--bs-empty-state-icon-color);
|
|
31
|
-
}
|
|
32
|
-
|
|
33
|
-
.bs-empty-state :where(.bs-empty-state-title) {
|
|
34
|
-
color: var(--bs-empty-state-title-color);
|
|
35
|
-
font-size: var(--title-font-size);
|
|
36
|
-
font-weight: var(--title-weight);
|
|
37
|
-
line-height: var(--title-line-height);
|
|
38
|
-
padding-block-end: var(--title-spacing);
|
|
39
|
-
}
|
|
40
|
-
|
|
41
|
-
.bs-empty-state :where(.bs-empty-state-description) {
|
|
42
|
-
color: var(--bs-empty-state-description-color);
|
|
43
|
-
font-size: var(--description-font-size);
|
|
44
|
-
font-weight: var(--description-weight);
|
|
45
|
-
line-height: var(--description-line-height);
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.bs-empty-state :where(a) {
|
|
49
|
-
color: var(--bs-ink-blue);
|
|
50
|
-
text-decoration: underline;
|
|
51
|
-
}
|
|
52
|
-
|
|
53
|
-
.bs-empty-state :where(a:hover) {
|
|
54
|
-
cursor: pointer;
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
/* Call to Actions */
|
|
58
|
-
|
|
59
|
-
.bs-empty-state
|
|
60
|
-
:where(
|
|
61
|
-
.bs-empty-state-description + *,
|
|
62
|
-
.bs-empty-state-title + *:not(.bs-empty-state-description)
|
|
63
|
-
) {
|
|
64
|
-
margin-block-start: var(--cta-spacing, var(--bs-space-4));
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
/* Sizing */
|
|
68
|
-
|
|
69
|
-
.bs-empty-state:where([data-size^='xs']) {
|
|
70
|
-
--col-gap: var(--bs-space-4);
|
|
71
|
-
--cta-spacing: var(--bs-space-2);
|
|
72
|
-
--icon-size: 1.5rem;
|
|
73
|
-
--title-color: var(--bs-ink-light);
|
|
74
|
-
--title-font-size: var(--bs-text-md);
|
|
75
|
-
--title-line-height: var(--bs-leading-base);
|
|
76
|
-
--title-spacing: 0;
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
.bs-empty-state:where([data-size^='sm']) {
|
|
80
|
-
--description-font-size: var(--bs-text-sm);
|
|
81
|
-
--icon-size: 2rem;
|
|
82
|
-
--title-font-size: var(--bs-text-md);
|
|
83
|
-
--title-line-height: var(--bs-leading-base);
|
|
84
|
-
--title-spacing: 0.125rem;
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
.bs-empty-state:where([data-size^='lg']) {
|
|
88
|
-
--col-gap: var(--bs-space-8);
|
|
89
|
-
--cta-spacing: var(--bs-space-6);
|
|
90
|
-
--description-font-size: var(--bs-text-md);
|
|
91
|
-
--icon-size: 4rem;
|
|
92
|
-
--title-font-size: var(--bs-text-xl);
|
|
93
|
-
--title-line-height: 110%;
|
|
94
|
-
--title-weight: var(--bs-font-bold);
|
|
95
|
-
}
|
|
@@ -1,112 +0,0 @@
|
|
|
1
|
-
/*
|
|
2
|
-
custom properties:
|
|
3
|
-
--filterbtn-caret-size
|
|
4
|
-
--filterbtn-caret-transform
|
|
5
|
-
--filterbtn-color
|
|
6
|
-
--filterbtn-focus-color
|
|
7
|
-
--filterbtn-height
|
|
8
|
-
--filterbtn-text-size
|
|
9
|
-
--filterbtn-weight
|
|
10
|
-
*/
|
|
11
|
-
|
|
12
|
-
button:where(.bs-filter-button) {
|
|
13
|
-
--filterbtn-caret-size: 1rem;
|
|
14
|
-
--filterbtn-caret-transform: rotate(0deg);
|
|
15
|
-
--filterbtn-color: var(--bs-ink-blue);
|
|
16
|
-
--filterbtn-focus-color: transparent;
|
|
17
|
-
--filterbtn-height: 1.5rem;
|
|
18
|
-
--filterbtn-text-size: var(--bs-text-base);
|
|
19
|
-
--filterbtn-weight: 400;
|
|
20
|
-
flex-shrink: 0;
|
|
21
|
-
position: relative;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.bs-filter-button {
|
|
25
|
-
align-items: center;
|
|
26
|
-
color: var(--filterbtn-color);
|
|
27
|
-
column-gap: 0.5rem;
|
|
28
|
-
cursor: pointer;
|
|
29
|
-
display: inline-flex;
|
|
30
|
-
font-size: var(--filterbtn-text-size);
|
|
31
|
-
font-weight: var(--filterbtn-weight);
|
|
32
|
-
height: var(--filterbtn-height);
|
|
33
|
-
line-height: 1.5;
|
|
34
|
-
transition: outline-color 100ms ease-in-out;
|
|
35
|
-
width: max-content;
|
|
36
|
-
}
|
|
37
|
-
.bs-filter-button::after {
|
|
38
|
-
border: solid var(--filterbtn-focus-color) 2px;
|
|
39
|
-
border-radius: 0.25rem;
|
|
40
|
-
content: '';
|
|
41
|
-
display: block;
|
|
42
|
-
height: 100%;
|
|
43
|
-
position: absolute;
|
|
44
|
-
transform: scale(1.25);
|
|
45
|
-
width: 100%;
|
|
46
|
-
}
|
|
47
|
-
|
|
48
|
-
.bs-filter-button :where(.bs-icon),
|
|
49
|
-
.bs-filter-button :where(span:has(svg:only-child)) {
|
|
50
|
-
display: block;
|
|
51
|
-
height: var(--filterbtn-caret-size);
|
|
52
|
-
line-height: 1;
|
|
53
|
-
transform: var(--filterbtn-caret-transform);
|
|
54
|
-
transform-origin: center;
|
|
55
|
-
transition: var(--bs-trans-rotate180);
|
|
56
|
-
width: var(--filterbtn-caret-size);
|
|
57
|
-
}
|
|
58
|
-
|
|
59
|
-
.bs-filter-button:where([data-size="sm"],[data-size="xs"]) {
|
|
60
|
-
|
|
61
|
-
--filterbtn-text-size: var(--bs-text-sm);
|
|
62
|
-
--filterbtn-caret-size: .75rem;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
.bs-filter-button:where([data-size="sm"]) {
|
|
66
|
-
--filterbtn-text-size: var(--bs-text-sm);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.bs-filter-button:where([data-size="xs"]) {
|
|
70
|
-
--filterbtn-text-size: var(--bs-text-xs);
|
|
71
|
-
--filterbtn-weight: 600;
|
|
72
|
-
}
|
|
73
|
-
|
|
74
|
-
/* Hover state */
|
|
75
|
-
.bs-filter-button:hover {
|
|
76
|
-
--filterbtn-color: var(--bs-blue-base);
|
|
77
|
-
}
|
|
78
|
-
|
|
79
|
-
/* Focus state */
|
|
80
|
-
.bs-filter-button:where(:focus-visible) {
|
|
81
|
-
outline: none;
|
|
82
|
-
--filterbtn-focus-color: var(--bs-blue-base);
|
|
83
|
-
}
|
|
84
|
-
|
|
85
|
-
/* Filter open state */
|
|
86
|
-
.bs-filter-button:where([aria-expanded="true"],[data-open="true"]) {
|
|
87
|
-
--filterbtn-caret-transform: rotate(180deg);
|
|
88
|
-
}
|
|
89
|
-
|
|
90
|
-
/* Badge non-standard color */
|
|
91
|
-
.bs-filter-button :where(.bs-badge) {
|
|
92
|
-
--badge-bg: var(--bs-ink-blue);
|
|
93
|
-
}
|
|
94
|
-
|
|
95
|
-
:where(.dark) .bs-filter-button :where(.bs-badge) {
|
|
96
|
-
--badge-bg: var(--bs-blue-medium);
|
|
97
|
-
}
|
|
98
|
-
|
|
99
|
-
.bs-filter-button:hover :where(.bs-badge) {
|
|
100
|
-
--badge-bg: var(--filterbtn-color);
|
|
101
|
-
}
|
|
102
|
-
|
|
103
|
-
/* Disabled state */
|
|
104
|
-
.bs-filter-button:where(:disabled) {
|
|
105
|
-
--filterbtn-color: var(--bs-ink-disabled);
|
|
106
|
-
cursor: default;
|
|
107
|
-
}
|
|
108
|
-
|
|
109
|
-
.bs-filter-button:where(:disabled) :where(.bs-badge) {
|
|
110
|
-
--badge-bg: var(--bs-bg-disabled);
|
|
111
|
-
--badge-text: var(--bs-ink-disabled);
|
|
112
|
-
}
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
.bs-flyout {
|
|
2
|
-
background-color: var(--bs-bg-base-to-light);
|
|
3
|
-
box-shadow: var(--bs-shadow-drawerRight);
|
|
4
|
-
height: 100%;
|
|
5
|
-
left: 0;
|
|
6
|
-
margin: 0;
|
|
7
|
-
max-width: 100vw;
|
|
8
|
-
opacity: 0;
|
|
9
|
-
padding: 1.5rem;
|
|
10
|
-
position: fixed;
|
|
11
|
-
top: 0;
|
|
12
|
-
transform: translateX(-100%);
|
|
13
|
-
transition-duration: 300ms;
|
|
14
|
-
transition-property: opacity, transform;
|
|
15
|
-
transition-timing-function: ease;
|
|
16
|
-
width: 360px;
|
|
17
|
-
z-index: 1000;
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
.bs-flyout:where([data-absolute="true"]) {
|
|
21
|
-
position: absolute;
|
|
22
|
-
}
|
|
23
|
-
|
|
24
|
-
.bs-flyout:where([data-position="right"]) {
|
|
25
|
-
box-shadow: var(--bs-shadow-drawerLeft);
|
|
26
|
-
left: auto;
|
|
27
|
-
right: 0;
|
|
28
|
-
transform: translateX(100%);
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.bs-flyout:where([data-size="lg"]) {
|
|
32
|
-
width: 535px;
|
|
33
|
-
}
|
|
34
|
-
|
|
35
|
-
.bs-flyout:where([data-shown="true"]) {
|
|
36
|
-
opacity: 1;
|
|
37
|
-
/*
|
|
38
|
-
Needs to be "none" instead of "0" so as not to interfere with calculating
|
|
39
|
-
"containing block" for absolute and fixed positioned elements (see https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block)
|
|
40
|
-
*/
|
|
41
|
-
transform: none;
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.bs-flyout :where(.bs-flyout-close-container) {
|
|
45
|
-
display: flex;
|
|
46
|
-
justify-content: flex-end;
|
|
47
|
-
}
|
|
48
|
-
|
|
49
|
-
.bs-flyout :where(.bs-flyout-close-container button) {
|
|
50
|
-
cursor: pointer;
|
|
51
|
-
outline-offset: 2px;
|
|
52
|
-
padding: 2px;
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
/* Vue Transition Styles - Only used in Vue component */
|
|
56
|
-
.bs-flyout:where(.bs-flyout-enter-from),
|
|
57
|
-
.bs-flyout:where(.bs-flyout-leave-to) {
|
|
58
|
-
opacity: 0;
|
|
59
|
-
transform: translateX(-100%);
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
.bs-flyout:where([data-position="right"].bs-flyout-enter-from),
|
|
63
|
-
.bs-flyout:where([data-position="right"].bs-flyout-leave-to) {
|
|
64
|
-
transform: translateX(100%);
|
|
65
|
-
}
|
|
66
|
-
|
|
67
|
-
.bs-flyout:where(.bs-flyout-enter-to),
|
|
68
|
-
.bs-flyout:where(.bs-flyout-leave-from) {
|
|
69
|
-
opacity: 1;
|
|
70
|
-
transform: translateX(0);
|
|
71
|
-
}
|
|
@@ -1,178 +0,0 @@
|
|
|
1
|
-
/* Containers and Labels for Checkbox/Radio */
|
|
2
|
-
.bs-boolean {
|
|
3
|
-
display: inline-flex;
|
|
4
|
-
align-items: center;
|
|
5
|
-
font-size: var(--bs-text-base);
|
|
6
|
-
font-weight: 400;
|
|
7
|
-
line-height: 115%;
|
|
8
|
-
}
|
|
9
|
-
|
|
10
|
-
.bs-boolean:where([data-size='sm']) input {
|
|
11
|
-
height: .75rem;
|
|
12
|
-
width: .75rem;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.bs-boolean label {
|
|
16
|
-
font-size: var(--bs-text-base);
|
|
17
|
-
font-weight: 400;
|
|
18
|
-
line-height: 1.5;
|
|
19
|
-
width: auto;
|
|
20
|
-
}
|
|
21
|
-
|
|
22
|
-
/* not using gap on .bs-boolean due to dead click zone */
|
|
23
|
-
.bs-boolean label {
|
|
24
|
-
padding-inline-end: 0.5em;
|
|
25
|
-
}
|
|
26
|
-
|
|
27
|
-
.bs-boolean input + label {
|
|
28
|
-
padding-inline: 0.5em 0;
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
.bs-boolean:where([data-size='sm']),
|
|
32
|
-
.bs-boolean:where([data-size='sm']) label {
|
|
33
|
-
font-size: var(--bs-text-xs);
|
|
34
|
-
}
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
/* Checkbox & Radio Input */
|
|
38
|
-
|
|
39
|
-
:where(input[type='checkbox'], input[type='radio']),
|
|
40
|
-
:is(.bs-boolean :where(input), .bs-checkbox) { /* .bs-checkbox added to accommodate 'fake' cbs */
|
|
41
|
-
appearance: none;
|
|
42
|
-
box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base));
|
|
43
|
-
cursor: pointer;
|
|
44
|
-
display: grid;
|
|
45
|
-
height: 1rem;
|
|
46
|
-
margin: 0;
|
|
47
|
-
place-content: center;
|
|
48
|
-
position: relative;
|
|
49
|
-
width: 1rem;
|
|
50
|
-
}
|
|
51
|
-
|
|
52
|
-
:where(input[type='checkbox'], input[type='radio']):focus-visible,
|
|
53
|
-
:is(.bs-boolean :where(input), .bs-checkbox):focus-visible {
|
|
54
|
-
box-shadow: inset 0 0 0 0.125rem var(--box-shadow, var(--bs-ink-base)),
|
|
55
|
-
0 0 0 2px var(--offset-color, var(--bs-bg-base)),
|
|
56
|
-
0 0 0 4px var(--outline-color, var(--bs-blue-base));
|
|
57
|
-
outline: 2px solid transparent;
|
|
58
|
-
}
|
|
59
|
-
|
|
60
|
-
:where(input[type='checkbox']),
|
|
61
|
-
:is(.bs-boolean :where([type='checkbox']), .bs-checkbox) {
|
|
62
|
-
border-radius: 0.125rem;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
:where(input[type='radio']),
|
|
66
|
-
.bs-boolean :where([type='radio']) {
|
|
67
|
-
border-radius: 50%;
|
|
68
|
-
}
|
|
69
|
-
|
|
70
|
-
/* Checkbox's checkbox, checkmark. Checkmark is hidden unless checked/indeterminate. */
|
|
71
|
-
input:where([type='checkbox'])::before,
|
|
72
|
-
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::before {
|
|
73
|
-
--cb-filled-size: var(--filled-size, 1rem);
|
|
74
|
-
content: '';
|
|
75
|
-
border-radius: 0.125rem;
|
|
76
|
-
box-shadow: inset var(--cb-filled-size) var(--cb-filled-size) var(--fill-bg-color, var(--bs-blue-base));
|
|
77
|
-
height: var(--cb-filled-size);
|
|
78
|
-
visibility: hidden;
|
|
79
|
-
width: var(--cb-filled-size);
|
|
80
|
-
}
|
|
81
|
-
|
|
82
|
-
input:where([type='checkbox'])::after,
|
|
83
|
-
:is(.bs-boolean :where([type="checkbox"]), .bs-checkbox)::after {
|
|
84
|
-
border: solid var(--bs-bg-base);
|
|
85
|
-
border-width: 0 0.125rem 0.125rem 0;
|
|
86
|
-
content: '';
|
|
87
|
-
height: var(--inner-check-height, 0.75em);
|
|
88
|
-
left: 50%;
|
|
89
|
-
position: absolute;
|
|
90
|
-
top: 50%;
|
|
91
|
-
transform-origin: center;
|
|
92
|
-
transform: translate(-50%, -60%) rotate(45deg);
|
|
93
|
-
visibility: hidden;
|
|
94
|
-
width: var(--inner-check-width, 0.375em);
|
|
95
|
-
}
|
|
96
|
-
|
|
97
|
-
input:where([type='checkbox']):where(:indeterminate)::after,
|
|
98
|
-
.bs-boolean :where([type="checkbox"]):where(:indeterminate)::after,
|
|
99
|
-
.bs-checkbox:where([data-indeterminate="true"], :indeterminate)::after {
|
|
100
|
-
border: none;
|
|
101
|
-
background-color: var(--bs-bg-base);
|
|
102
|
-
height: var(--inner-dash-height, 0.125rem);
|
|
103
|
-
transform: translate(-50%, -0.0625rem) rotate(0deg);
|
|
104
|
-
width: var(--inner-dash-width, 0.625em);
|
|
105
|
-
}
|
|
106
|
-
|
|
107
|
-
/* Radio outer circle, Radio dot. Dot is hidden unless checked. */
|
|
108
|
-
input:where([type='radio'])::before,
|
|
109
|
-
.bs-boolean :where([type="radio"])::before {
|
|
110
|
-
--radio-filled-size: var(--filled-size, 1rem);
|
|
111
|
-
background-color: var(--fill-bg-color, var(--bs-blue-base));
|
|
112
|
-
border-radius: 50%;
|
|
113
|
-
box-sizing: content-box;
|
|
114
|
-
content: '';
|
|
115
|
-
height: var(--radio-filled-size);
|
|
116
|
-
visibility: hidden;
|
|
117
|
-
width: var(--radio-filled-size);
|
|
118
|
-
}
|
|
119
|
-
|
|
120
|
-
input:where([type='radio'])::after,
|
|
121
|
-
.bs-boolean :where([type="radio"])::after {
|
|
122
|
-
background-color: var(--bs-bg-base);
|
|
123
|
-
border-radius: 50%;
|
|
124
|
-
box-sizing: content-box;
|
|
125
|
-
content: '';
|
|
126
|
-
height: var(--inner-dot-size, 0.375rem);
|
|
127
|
-
left: 50%;
|
|
128
|
-
position: absolute;
|
|
129
|
-
top: 50%;
|
|
130
|
-
transform: translate(-50%, -50%);
|
|
131
|
-
visibility: hidden;
|
|
132
|
-
width: var(--inner-dot-size, 0.375rem);
|
|
133
|
-
}
|
|
134
|
-
|
|
135
|
-
/* Show checkmark, indeterminate mark, or radio dot */
|
|
136
|
-
|
|
137
|
-
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::before,
|
|
138
|
-
.bs-checkbox:where([data-indeterminate="true"], [data-checked="true"], :checked, :indeterminate)::after,
|
|
139
|
-
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
140
|
-
input:where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after,
|
|
141
|
-
.bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::before,
|
|
142
|
-
.bs-boolean :where([type='checkbox']:checked, [type='checkbox']:indeterminate, [type='radio']:checked)::after {
|
|
143
|
-
visibility: visible;
|
|
144
|
-
}
|
|
145
|
-
|
|
146
|
-
/* ---------- Sizes ----------- */
|
|
147
|
-
|
|
148
|
-
.bs-boolean:where([data-size="sm"]),
|
|
149
|
-
.bs-checkbox:where([data-size="sm"]) {
|
|
150
|
-
--filled-size: 0.75rem;
|
|
151
|
-
--inner-check-height: 0.5625rem;
|
|
152
|
-
--inner-check-width: 0.3125rem;
|
|
153
|
-
--inner-dash-height: 0.125rem;
|
|
154
|
-
--inner-dash-width: .75em;
|
|
155
|
-
--inner-dot-size: 0.25rem;
|
|
156
|
-
}
|
|
157
|
-
|
|
158
|
-
/* ---------- Disabled State ----------- */
|
|
159
|
-
|
|
160
|
-
:where(input[type="checkbox"], input[type="radio"]):disabled,
|
|
161
|
-
.bs-boolean:where([data-disabled="true"]),
|
|
162
|
-
.bs-checkbox:where([data-disabled="true"]) {
|
|
163
|
-
--box-shadow: var(--bs-ink-disabled);
|
|
164
|
-
--fill-bg-color: var(--bs-ink-disabled);
|
|
165
|
-
background-color: transparent;
|
|
166
|
-
cursor: default;
|
|
167
|
-
pointer-events: none;
|
|
168
|
-
}
|
|
169
|
-
|
|
170
|
-
/* ---------- Error state ----------- */
|
|
171
|
-
|
|
172
|
-
input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-error="false"])),
|
|
173
|
-
.bs-boolean :where(input[data-error="true"]), /* deprecate this one in favor of next line */
|
|
174
|
-
.bs-boolean:where([data-error="true"]),
|
|
175
|
-
.bs-checkbox:where([data-error="true"]) {
|
|
176
|
-
--box-shadow: var(--bs-red-base);
|
|
177
|
-
--outline-color: var(--bs-red-base);
|
|
178
|
-
}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
.bs-character-count {
|
|
2
|
-
color: var(--bs-ink-base);
|
|
3
|
-
font-size: var(--bs-text-xs);
|
|
4
|
-
font-weight: 400;
|
|
5
|
-
text-align: right;
|
|
6
|
-
white-space: nowrap;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
:where(:disabled, [data-disabled="true"]) + .bs-character-count,
|
|
10
|
-
:where(:disabled, [data-disabled="true"]) .bs-character-count,
|
|
11
|
-
.bs-character-count:where([data-disabled="true"]) {
|
|
12
|
-
visibility: hidden;
|
|
13
|
-
}
|
|
14
|
-
|
|
15
|
-
.bs-character-count:where([data-error="true"]) {
|
|
16
|
-
color: var(--bs-ink-red);
|
|
17
|
-
}
|
|
@@ -1,108 +0,0 @@
|
|
|
1
|
-
.bs-form-container {
|
|
2
|
-
background: var(--bs-bg-base-to-light);
|
|
3
|
-
border-radius: 0;
|
|
4
|
-
}
|
|
5
|
-
|
|
6
|
-
@media (min-width: 752px) {
|
|
7
|
-
.bs-form-container {
|
|
8
|
-
border-radius: 8px;
|
|
9
|
-
}
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.bs-form-container :where(.bs-form-container-header-wrapper) {
|
|
13
|
-
padding: var(--bs-space-3) var(--bs-space-4);
|
|
14
|
-
display: flex;
|
|
15
|
-
}
|
|
16
|
-
|
|
17
|
-
.bs-form-container :where(.bs-form-container-header) {
|
|
18
|
-
padding-right: var(--bs-space-6);
|
|
19
|
-
display: flex;
|
|
20
|
-
flex: 1;
|
|
21
|
-
flex-direction: column;
|
|
22
|
-
flex-wrap: wrap;
|
|
23
|
-
justify-content: center;
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
.bs-form-container :where(.bs-form-container-title-wrapper) {
|
|
27
|
-
margin-right: auto;
|
|
28
|
-
display: flex;
|
|
29
|
-
align-items: center;
|
|
30
|
-
}
|
|
31
|
-
|
|
32
|
-
.bs-form-container :where(.bs-form-container-title) {
|
|
33
|
-
color: var(--bs-ink-medium);
|
|
34
|
-
font-size: var(--bs-text-base);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
.bs-form-container :where(.bs-form-container-title-addon) {
|
|
38
|
-
margin-left: var(--bs-space-2);
|
|
39
|
-
display: flex;
|
|
40
|
-
align-items: center;
|
|
41
|
-
gap: var(--bs-space-2);
|
|
42
|
-
}
|
|
43
|
-
|
|
44
|
-
.bs-form-container :where(.bs-form-container-header-icon) {
|
|
45
|
-
margin-right: var(--bs-space-2);
|
|
46
|
-
color: var(--bs-ink-base);
|
|
47
|
-
height: 1rem;
|
|
48
|
-
width: 1rem;
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
.bs-form-container :where(.bs-form-container-subtitle) {
|
|
52
|
-
margin-top: var(--bs-space-1);
|
|
53
|
-
color: var(--bs-ink-light);
|
|
54
|
-
font-size: var(--bs-text-sm);
|
|
55
|
-
}
|
|
56
|
-
|
|
57
|
-
.bs-form-container :where(.bs-form-container-header-actions) {
|
|
58
|
-
display: flex;
|
|
59
|
-
align-items: center;
|
|
60
|
-
gap: var(--bs-space-4);
|
|
61
|
-
}
|
|
62
|
-
|
|
63
|
-
.bs-form-container :where(.bs-form-container-content) {
|
|
64
|
-
display: none;
|
|
65
|
-
padding: var(--bs-space-6);
|
|
66
|
-
border-top: 1px solid var(--bs-border-light);
|
|
67
|
-
}
|
|
68
|
-
|
|
69
|
-
.bs-form-container :where(.bs-form-container-content):where([data-open="true"]) {
|
|
70
|
-
display: flex;
|
|
71
|
-
}
|
|
72
|
-
|
|
73
|
-
/* adds styling utilities for icons in header actions slot */
|
|
74
|
-
.bs-form-container :where(.bs-form-container-header-actions) :where(.bs-icon) {
|
|
75
|
-
color: var(--bs-ink-medium);
|
|
76
|
-
cursor: pointer;
|
|
77
|
-
transition: transform 200ms ease-in-out, color 100ms ease-in-out;
|
|
78
|
-
|
|
79
|
-
/* color utilities for specified icons */
|
|
80
|
-
&:where([data-component="bs-icon-caret-down"]) {
|
|
81
|
-
color: var(--bs-ink-base);
|
|
82
|
-
}
|
|
83
|
-
|
|
84
|
-
&:where([data-component="bs-icon-edit"]):hover {
|
|
85
|
-
color: var(--bs-ink-blue);
|
|
86
|
-
}
|
|
87
|
-
|
|
88
|
-
&:where([data-component="bs-icon-delete"]):hover {
|
|
89
|
-
color: var(--bs-ink-red);
|
|
90
|
-
}
|
|
91
|
-
}
|
|
92
|
-
|
|
93
|
-
.bs-form-container :where(.bs-form-container-header-actions):where([data-open="true"]) {
|
|
94
|
-
/* transition utilities for specified icons */
|
|
95
|
-
:where([data-component="bs-icon-caret-down"]) {
|
|
96
|
-
transform: rotate(180deg);
|
|
97
|
-
}
|
|
98
|
-
}
|
|
99
|
-
|
|
100
|
-
/* inactive state styles */
|
|
101
|
-
.bs-form-container:where([data-inactive="true"]) {
|
|
102
|
-
background: rgba(255, 255, 255, 0.5);
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
.bs-form-container :where(.bs-form-container-title:where([data-inactive="true"])),
|
|
106
|
-
.bs-form-container :where(.bs-form-container-subtitle:where([data-inactive="true"])) {
|
|
107
|
-
color: var(--bs-ink-disabled);
|
|
108
|
-
}
|
|
@@ -1,36 +0,0 @@
|
|
|
1
|
-
/* Generally applicable (all input types) */
|
|
2
|
-
:where([data-required]:not([data-required="false"])) {
|
|
3
|
-
color: var(--bs-ink-red);
|
|
4
|
-
font-weight: var(--bs-font-bold, 600);
|
|
5
|
-
}
|
|
6
|
-
|
|
7
|
-
:where([data-disabled]:not([data-disabled="false"]), [data-disabled]:not([data-disabled="false"]) [data-required]:not([data-required="false"])) {
|
|
8
|
-
color: var(--bs-gray-400);
|
|
9
|
-
}
|
|
10
|
-
|
|
11
|
-
:where(.box) :is(input, textarea, select):where(:focus-visible),
|
|
12
|
-
:where(.box) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
|
|
13
|
-
--offset-color: var(--bs-bg-medium);
|
|
14
|
-
}
|
|
15
|
-
:where(.box[data-invert]) :is(input, textarea, select):where(:focus-visible),
|
|
16
|
-
:where(.box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
|
|
17
|
-
--offset-color: var(--bs-bg-invert-to-base);
|
|
18
|
-
}
|
|
19
|
-
|
|
20
|
-
/* Errors and Messages */
|
|
21
|
-
:is(input, select, textarea):where([data-error]:not([data-error="false"])),
|
|
22
|
-
:is(.bs-input, .bs-select, .bs-textarea):where([data-error]:not([data-error="false"])) {
|
|
23
|
-
--input-border: var(--bs-ink-red);
|
|
24
|
-
}
|
|
25
|
-
|
|
26
|
-
/* Fieldset */
|
|
27
|
-
:where(fieldset) {
|
|
28
|
-
border: none;
|
|
29
|
-
margin-left: 0;
|
|
30
|
-
margin-right: 0;
|
|
31
|
-
padding: 0;
|
|
32
|
-
}
|
|
33
|
-
:where(fieldset legend) {
|
|
34
|
-
margin-bottom: 0.25rem;
|
|
35
|
-
padding: 0;
|
|
36
|
-
}
|
|
@@ -1,15 +0,0 @@
|
|
|
1
|
-
.bs-field-details {
|
|
2
|
-
display: flex;
|
|
3
|
-
justify-content: space-between;
|
|
4
|
-
align-items: flex-start;
|
|
5
|
-
gap: var(--bs-space-2);
|
|
6
|
-
margin-top: 0.5rem;
|
|
7
|
-
}
|
|
8
|
-
|
|
9
|
-
:where(textarea, bs-textarea) + .bs-field-details {
|
|
10
|
-
margin-top: 0.25rem;
|
|
11
|
-
}
|
|
12
|
-
|
|
13
|
-
.bs-field-details :where(.bs-character-count:first-child) {
|
|
14
|
-
margin-left: auto;
|
|
15
|
-
}
|
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
.bs-hint {
|
|
2
|
-
--hint-color: var(--bs-ink-light);
|
|
3
|
-
color: var(--hint-color);
|
|
4
|
-
font-size: var(--bs-text-xs);
|
|
5
|
-
list-style: none;
|
|
6
|
-
margin: 0;
|
|
7
|
-
min-width: 0;
|
|
8
|
-
overflow-wrap: break-word;
|
|
9
|
-
padding: 0;
|
|
10
|
-
}
|
|
11
|
-
|
|
12
|
-
.bs-hint:where([data-error]:not([data-error="false"])) {
|
|
13
|
-
--hint-color: var(--bs-ink-red);
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
:where(:disabled, [data-disabled="true"]) .bs-hint {
|
|
17
|
-
--hint-color: var(--bs-ink-disabled);
|
|
18
|
-
}
|