@wwtdev/bsds-css 3.2.2 → 3.4.0-rc.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/wwt-bsds-components.css +118 -60
- package/dist/wwt-bsds-components.min.css +1 -1
- package/dist/wwt-bsds-preset-v4.css +23 -12
- package/dist/wwt-bsds-preset.js +89 -31
- package/dist/wwt-bsds-tokens.css +256 -33
- package/dist/wwt-bsds-tokens.min.css +1 -1
- package/dist/wwt-bsds-utilities.css +0 -6
- package/dist/wwt-bsds-utilities.min.css +1 -1
- package/dist/wwt-bsds.css +375 -100
- package/dist/wwt-bsds.min.css +1 -1
- package/package.json +9 -22
|
@@ -848,10 +848,10 @@ Custom properties:
|
|
|
848
848
|
}
|
|
849
849
|
/* Negative Toast Styles */
|
|
850
850
|
.bs-toast-deprecated:where([data-variant^='negative']) {
|
|
851
|
-
border-top: 4px solid var(--bs-negative-
|
|
851
|
+
border-top: 4px solid var(--bs-negative-base);
|
|
852
852
|
}
|
|
853
853
|
.bs-toast-deprecated:where([data-variant^='negative']) :where(.bs-toast-header-deprecated .bs-toast-header-deprecated-icon) {
|
|
854
|
-
color: var(--bs-negative-
|
|
854
|
+
color: var(--bs-negative-base);
|
|
855
855
|
}
|
|
856
856
|
@media (min-width: 440px) {
|
|
857
857
|
.bs-toast-deprecated {
|
|
@@ -1073,15 +1073,13 @@ This must go last to properly override the other classes
|
|
|
1073
1073
|
transform: translateY(-50%) scale(0.5);
|
|
1074
1074
|
}
|
|
1075
1075
|
.bs-accordion {
|
|
1076
|
-
--accordion-link-color: var(--bs-positive-base-fixed);
|
|
1077
|
-
--accordion-link-outline-color: var(--bs-primary-base);
|
|
1078
1076
|
--accordion-outline-color: transparent;
|
|
1079
1077
|
--accordion-padding-inline: 0;
|
|
1080
1078
|
--accordion-text-size: var(--bs-text-sm);
|
|
1081
1079
|
border-block: 1px solid var(--bs-border-base);
|
|
1082
1080
|
display: block;
|
|
1083
1081
|
}
|
|
1084
|
-
@media (min-width:
|
|
1082
|
+
@media (min-width: 752px) {
|
|
1085
1083
|
.bs-accordion {
|
|
1086
1084
|
--accordion-padding-inline: var(--bs-space-2);
|
|
1087
1085
|
--accordion-text-size: var(--bs-text-base);
|
|
@@ -1129,7 +1127,7 @@ This must go last to properly override the other classes
|
|
|
1129
1127
|
.bs-accordion > :where(header) > :where(button) > * {
|
|
1130
1128
|
vertical-align: middle;
|
|
1131
1129
|
}
|
|
1132
|
-
@media (min-width:
|
|
1130
|
+
@media (min-width: 752px) {
|
|
1133
1131
|
.bs-accordion :where(.bs-accordion-toggle) > * ,
|
|
1134
1132
|
.bs-accordion > :where(header) > :where(button) > * {
|
|
1135
1133
|
margin-right: var(--bs-space-3);
|
|
@@ -1167,7 +1165,7 @@ This must go last to properly override the other classes
|
|
|
1167
1165
|
}
|
|
1168
1166
|
.bs-accordion :where(.bs-accordion-content[data-open]:not([data-open="false"])) {
|
|
1169
1167
|
grid-template-rows: 1fr;
|
|
1170
|
-
padding-block-end: var(--bs-space-
|
|
1168
|
+
padding-block-end: var(--bs-space-2);
|
|
1171
1169
|
}
|
|
1172
1170
|
/* Accordion Group */
|
|
1173
1171
|
:where(.bs-accordion[data-stacked]:not([data-stacked="false"])) + .bs-accordion:where([data-stacked]:not([data-stacked="false"])) {
|
|
@@ -1199,7 +1197,7 @@ This must go last to properly override the other classes
|
|
|
1199
1197
|
.bs-alert:where([data-horizontal="true"]) {
|
|
1200
1198
|
padding: 1rem 1.5rem;
|
|
1201
1199
|
grid-template-areas: "icon title action close";
|
|
1202
|
-
grid-template-columns: 1.125rem
|
|
1200
|
+
grid-template-columns: 1.125rem auto 1fr 1rem;
|
|
1203
1201
|
}
|
|
1204
1202
|
}
|
|
1205
1203
|
.bs-alert :where(.bs-alert-icon) {
|
|
@@ -1225,6 +1223,7 @@ This must go last to properly override the other classes
|
|
|
1225
1223
|
.bs-alert:where([data-horizontal="true"]) :where(.bs-alert-title) {
|
|
1226
1224
|
font-size: 1.125rem;
|
|
1227
1225
|
line-height: 1.5;
|
|
1226
|
+
overflow-wrap: break-word;
|
|
1228
1227
|
}
|
|
1229
1228
|
|
|
1230
1229
|
.bs-alert:where(:not([data-horizontal="true"])) :where(.bs-alert-icon) {
|
|
@@ -1265,6 +1264,7 @@ This must go last to properly override the other classes
|
|
|
1265
1264
|
.bs-alert :where(.bs-alert-action) {
|
|
1266
1265
|
grid-area: action;
|
|
1267
1266
|
margin-top: 1rem;
|
|
1267
|
+
white-space: nowrap;
|
|
1268
1268
|
}
|
|
1269
1269
|
@media (min-width: 752px) {
|
|
1270
1270
|
.bs-alert:where([data-horizontal="true"]) :where(.bs-alert-action) {
|
|
@@ -1447,7 +1447,7 @@ This must go last to properly override the other classes
|
|
|
1447
1447
|
.bs-banner:where([data-variant="negative"]) {
|
|
1448
1448
|
--banner-bg: var(--bs-accent-6-medium);
|
|
1449
1449
|
}
|
|
1450
|
-
@media (min-width:
|
|
1450
|
+
@media (min-width: 752px) {
|
|
1451
1451
|
.bs-banner {
|
|
1452
1452
|
--banner-icon-display: inline-flex;
|
|
1453
1453
|
--banner-padding: var(--banner-padding-dt);
|
|
@@ -1994,8 +1994,8 @@ a.bs-circle-button {
|
|
|
1994
1994
|
.bs-circle-button:where([data-ghost]:not([data-ghost="false"])) {
|
|
1995
1995
|
--btn-icon-bg-color: transparent;
|
|
1996
1996
|
--btn-icon-stroke-color: var(--btn-main);
|
|
1997
|
-
--btn-light:
|
|
1998
|
-
--btn-secondary:
|
|
1997
|
+
--btn-light: transparent;
|
|
1998
|
+
--btn-secondary: transparent;
|
|
1999
1999
|
}
|
|
2000
2000
|
/* Active, Hover, Focus states */
|
|
2001
2001
|
.bs-circle-button:active, .bs-circle-button:hover {
|
|
@@ -3318,6 +3318,12 @@ data-autosize-icons="true" - see above
|
|
|
3318
3318
|
grid-template-columns: auto 1fr auto auto;
|
|
3319
3319
|
align-items: center;
|
|
3320
3320
|
cursor: pointer;
|
|
3321
|
+
|
|
3322
|
+
&:where([data-show-pill-group="true"]) {
|
|
3323
|
+
--input-height: auto;
|
|
3324
|
+
--input-padding-block: var(--bs-space-2);
|
|
3325
|
+
min-height: var(--bs-space-10);
|
|
3326
|
+
}
|
|
3321
3327
|
}
|
|
3322
3328
|
/* -- Multiselect Count -- */
|
|
3323
3329
|
.bs-input-button-count {
|
|
@@ -3831,7 +3837,7 @@ label:where(.bs-label) {
|
|
|
3831
3837
|
.bs-option:where(:not([data-multiple="true"])[aria-selected="true"]) {
|
|
3832
3838
|
--description-color: var(--bs-ink-primary);
|
|
3833
3839
|
background: var(--bs-bg-medium-to-light);
|
|
3834
|
-
border-left-color: var(--bs-
|
|
3840
|
+
border-left-color: var(--bs-primary-base);
|
|
3835
3841
|
color: var(--bs-ink-primary);
|
|
3836
3842
|
}
|
|
3837
3843
|
/* selected yet disabled...should be a very rare scenario, but need to handle it */
|
|
@@ -4015,8 +4021,9 @@ label:where(.bs-label) {
|
|
|
4015
4021
|
font-family: inherit;
|
|
4016
4022
|
font-size: var(--bs-text-sm);
|
|
4017
4023
|
gap: var(--pill-gap);
|
|
4018
|
-
height: 1.5rem;
|
|
4019
4024
|
line-height: 1rem;
|
|
4025
|
+
max-width: 100%;
|
|
4026
|
+
min-height: var(--bs-pill-height);
|
|
4020
4027
|
padding: 0 .375rem;
|
|
4021
4028
|
position: relative;
|
|
4022
4029
|
text-decoration: none;
|
|
@@ -4188,6 +4195,23 @@ label:where(.bs-label) {
|
|
|
4188
4195
|
.bs-pill:where([data-variant^="filter"])[data-active="false"]:is(:disabled, [aria-disabled="true"]) {
|
|
4189
4196
|
--pill-border: var(--bs-gray-400);
|
|
4190
4197
|
}
|
|
4198
|
+
.bs-pill-group {
|
|
4199
|
+
--pill-group-max-lines: 3;
|
|
4200
|
+
}
|
|
4201
|
+
.bs-pill-group-pills {
|
|
4202
|
+
/* Mainly for css-component-only usage */
|
|
4203
|
+
--default-max-height: calc(var(--pill-group-max-lines) * (var(--bs-pill-height) + var(--bs-space-2)));
|
|
4204
|
+
display: flex;
|
|
4205
|
+
flex-wrap: wrap;
|
|
4206
|
+
gap: var(--bs-space-2);
|
|
4207
|
+
max-height: var(--pill-group-max-height, var(--default-max-height));
|
|
4208
|
+
overflow: hidden;
|
|
4209
|
+
}
|
|
4210
|
+
.bs-pill-group-pills:where([data-expanded="true"]) {
|
|
4211
|
+
margin-bottom: var(--bs-space-2);
|
|
4212
|
+
max-height: none;
|
|
4213
|
+
overflow: visible;
|
|
4214
|
+
}
|
|
4191
4215
|
.bs-profile-details {
|
|
4192
4216
|
color: var(--bs-ink-light);
|
|
4193
4217
|
font-size: var(--bs-text-sm);
|
|
@@ -4359,14 +4383,14 @@ a.bs-profile:where([data-layout]):hover {
|
|
|
4359
4383
|
--bs-spinner-color-1: white;
|
|
4360
4384
|
--bs-spinner-color-2: white;
|
|
4361
4385
|
}
|
|
4362
|
-
:where(
|
|
4386
|
+
.bs-spinner:where([data-variant="gradient"]) :where(linearGradient stop) {
|
|
4363
4387
|
stop-color: var(--bs-secondary-base-fixed);
|
|
4364
4388
|
}
|
|
4365
|
-
:where(
|
|
4389
|
+
.bs-spinner:where([data-variant="gradient"]) :where(linearGradient stop:first-child) {
|
|
4366
4390
|
stop-color: var(--bs-primary-base-fixed);
|
|
4367
4391
|
}
|
|
4368
|
-
:where(
|
|
4369
|
-
stop-color: var(--bs-negative-
|
|
4392
|
+
.bs-spinner:where([data-variant="gradient"]) :where(linearGradient stop:last-child) {
|
|
4393
|
+
stop-color: var(--bs-negative-base);
|
|
4370
4394
|
}
|
|
4371
4395
|
@keyframes bs-spin {
|
|
4372
4396
|
0% {
|
|
@@ -5942,65 +5966,90 @@ a.bs-text-button {
|
|
|
5942
5966
|
--bs-pop-header-padding: var(--bs-space-6);
|
|
5943
5967
|
--bs-pop-body-padding: var(--bs-space-6);
|
|
5944
5968
|
--bs-pop-footer-padding: var(--bs-space-6);
|
|
5945
|
-
|
|
5969
|
+
--bs-popover-height: 100dvh;
|
|
5970
|
+
--bs-popover-width: 100dvw;
|
|
5946
5971
|
border-radius: 0;
|
|
5972
|
+
margin: 0;
|
|
5973
|
+
max-height: unset;
|
|
5974
|
+
max-width: 100dvw;
|
|
5975
|
+
|
|
5976
|
+
/* -- SHADOWS -- */
|
|
5977
|
+
&:where([data-place-self="left"]) {
|
|
5978
|
+
box-shadow: var(--bs-shadow-drawerRight);
|
|
5979
|
+
}
|
|
5980
|
+
|
|
5981
|
+
&:where([data-place-self="right"]) {
|
|
5982
|
+
box-shadow: var(--bs-shadow-drawerLeft);
|
|
5983
|
+
}
|
|
5984
|
+
|
|
5985
|
+
/* -- RESIZING -- */
|
|
5986
|
+
&:where([data-resize]) {
|
|
5987
|
+
/* using clip instead of hidden, to allow resizer hover target
|
|
5988
|
+
to extend outside of the flyout bounds via overflow-clip-margin */
|
|
5989
|
+
overflow: clip;
|
|
5990
|
+
}
|
|
5991
|
+
|
|
5992
|
+
/* right flyout */
|
|
5993
|
+
&:where([data-resize="right"]) {
|
|
5994
|
+
overflow-clip-margin: 5px;
|
|
5995
|
+
}
|
|
5996
|
+
|
|
5997
|
+
/* left flyout - not using same as right flyout, to avoid overlapping potential scrollbar too much */
|
|
5998
|
+
&:where([data-resize="left"]) {
|
|
5999
|
+
overflow-clip-margin: 7px;
|
|
6000
|
+
}
|
|
6001
|
+
|
|
6002
|
+
/*
|
|
6003
|
+
Everything below is desktop-only. Sizing and resize values are gated to
|
|
6004
|
+
widths above the mobile breakpoint, so at mobile widths the flyout falls
|
|
6005
|
+
back to the full-screen defaults above with no JS cleanup needed. The
|
|
6006
|
+
resizer writes its values to the --bs-flyout-resize-* custom properties.
|
|
6007
|
+
*/
|
|
6008
|
+
@media (min-width: 752px) {
|
|
6009
|
+
&:where([data-size="sm"]) {
|
|
6010
|
+
--bs-popover-width: 22.5rem; /* 360px */
|
|
6011
|
+
}
|
|
6012
|
+
|
|
6013
|
+
&:where([data-size="md"]) {
|
|
6014
|
+
--bs-popover-width: 28.75rem; /* 460px */
|
|
6015
|
+
}
|
|
6016
|
+
|
|
6017
|
+
&:where([data-size="lg"]) {
|
|
6018
|
+
--bs-popover-width: 33.4375rem; /* 535px */
|
|
6019
|
+
}
|
|
6020
|
+
|
|
6021
|
+
&:where([data-size="fit-content"]) {
|
|
6022
|
+
--bs-popover-width: fit-content;
|
|
6023
|
+
}
|
|
6024
|
+
|
|
6025
|
+
&:where([data-resize]) {
|
|
6026
|
+
max-width: var(--bs-flyout-resize-max);
|
|
6027
|
+
min-width: var(--bs-flyout-resize-min);
|
|
6028
|
+
transform: translateX(var(--bs-flyout-resize-pushed, 0px));
|
|
6029
|
+
width: var(--bs-flyout-resize-width, var(--bs-popover-width));
|
|
6030
|
+
}
|
|
6031
|
+
}
|
|
5947
6032
|
}
|
|
5948
6033
|
/* targeting header too, so consumer could just do: <BsPopHeader>My Title</BsPopHeader> */
|
|
5949
6034
|
.bs-flyout :where(.bs-pop-header, .bs-pop-title) {
|
|
5950
6035
|
font-size: var(--bs-text-lg);
|
|
5951
6036
|
}
|
|
5952
|
-
/* --
|
|
5953
|
-
.bs-flyout {
|
|
5954
|
-
--bs-popover-height: 100dvh;
|
|
5955
|
-
max-height: unset;
|
|
5956
|
-
max-width: 100dvw;
|
|
5957
|
-
}
|
|
5958
|
-
.bs-flyout:where([data-size="sm"]) {
|
|
5959
|
-
--bs-popover-width: 22.5rem; /* 360px */
|
|
5960
|
-
}
|
|
5961
|
-
.bs-flyout:where([data-size="md"]) {
|
|
5962
|
-
--bs-popover-width: 28.75rem; /* 460px */
|
|
5963
|
-
}
|
|
5964
|
-
.bs-flyout:where([data-size="lg"]) {
|
|
5965
|
-
--bs-popover-width: 33.4375rem; /* 535px */
|
|
5966
|
-
}
|
|
5967
|
-
/* -- RESIZING -- */
|
|
5968
|
-
.bs-flyout:where([data-resize]) {
|
|
5969
|
-
/* using clip instead of hidden, to allow resizer hover target
|
|
5970
|
-
to extend outside of the flyout bounds via overflow-clip-margin */
|
|
5971
|
-
overflow: clip;
|
|
5972
|
-
transform: translateX(var(--bs-flyout-resize-pushed, 0px));
|
|
5973
|
-
}
|
|
6037
|
+
/* -- RESIZER -- */
|
|
5974
6038
|
.bs-flyout-resizer {
|
|
5975
6039
|
cursor: col-resize;
|
|
5976
6040
|
inset-block: 0;
|
|
5977
6041
|
position: absolute;
|
|
5978
|
-
width: 10px;
|
|
5979
|
-
z-index: 1;
|
|
5980
6042
|
/* prevents browser from trying to hijack touch interactions to handle on its own */
|
|
5981
6043
|
touch-action: none;
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
.bs-flyout:where([data-resize="right"]) {
|
|
5985
|
-
overflow-clip-margin: 5px;
|
|
6044
|
+
width: 10px;
|
|
6045
|
+
z-index: 1;
|
|
5986
6046
|
}
|
|
5987
6047
|
.bs-flyout:where([data-resize="right"]) :where(.bs-flyout-resizer) {
|
|
5988
6048
|
left: -5px;
|
|
5989
6049
|
}
|
|
5990
|
-
/* left flyout - not using same as right flyout, to avoid overlapping potential scrollbar too much */
|
|
5991
|
-
.bs-flyout:where([data-resize="left"]) {
|
|
5992
|
-
overflow-clip-margin: 7px;
|
|
5993
|
-
}
|
|
5994
6050
|
.bs-flyout:where([data-resize="left"]) :where(.bs-flyout-resizer) {
|
|
5995
6051
|
right: -7px;
|
|
5996
6052
|
}
|
|
5997
|
-
/* -- SHADOWS -- */
|
|
5998
|
-
.bs-flyout:where([data-place-self="left"]) {
|
|
5999
|
-
box-shadow: var(--bs-shadow-drawerRight);
|
|
6000
|
-
}
|
|
6001
|
-
.bs-flyout:where([data-place-self="right"]) {
|
|
6002
|
-
box-shadow: var(--bs-shadow-drawerLeft);
|
|
6003
|
-
}
|
|
6004
6053
|
/* -- TRANSITIONS -- */
|
|
6005
6054
|
.bs-flyout-enter-active,
|
|
6006
6055
|
.bs-flyout-leave-active {
|
|
@@ -6011,18 +6060,27 @@ a.bs-text-button {
|
|
|
6011
6060
|
}
|
|
6012
6061
|
.bs-flyout-enter-active .bs-flyout,
|
|
6013
6062
|
.bs-flyout-leave-active .bs-flyout {
|
|
6014
|
-
transition-property: transform;
|
|
6015
6063
|
transition-duration: var(--bs-popover-transition-duration);
|
|
6064
|
+
transition-property: transform;
|
|
6016
6065
|
transition-timing-function: var(--bs-transition-cubic);
|
|
6017
6066
|
}
|
|
6018
6067
|
/* The 105% is so the huge shadow on the flyout ends-up off-screen too, otherwise at 100%, you notice it cut out when the panel closes */
|
|
6019
6068
|
.bs-flyout-enter-from .bs-flyout[data-place-self="left"],
|
|
6020
6069
|
.bs-flyout-leave-to .bs-flyout[data-place-self="left"] {
|
|
6021
|
-
transform: translate(
|
|
6070
|
+
transform: translate(-105%);
|
|
6071
|
+
|
|
6072
|
+
/* preserve any resize push offset while sliding in/out (desktop-only, matching the resize sizing above) */
|
|
6073
|
+
@media (min-width: 752px) {
|
|
6074
|
+
transform: translate(calc(-105% + var(--bs-flyout-resize-pushed, 0px)));
|
|
6075
|
+
}
|
|
6022
6076
|
}
|
|
6023
6077
|
.bs-flyout-enter-from .bs-flyout[data-place-self="right"],
|
|
6024
6078
|
.bs-flyout-leave-to .bs-flyout[data-place-self="right"] {
|
|
6025
|
-
transform: translate(
|
|
6079
|
+
transform: translate(105%);
|
|
6080
|
+
|
|
6081
|
+
@media (min-width: 752px) {
|
|
6082
|
+
transform: translate(calc(105% + var(--bs-flyout-resize-pushed, 0px)));
|
|
6083
|
+
}
|
|
6026
6084
|
}
|
|
6027
6085
|
/*
|
|
6028
6086
|
HEADS-UP:
|