@wwtdev/bsds-css 3.2.2 → 3.3.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 +112 -60
- package/dist/wwt-bsds-components.min.css +1 -1
- package/dist/wwt-bsds-preset-v4.css +23 -11
- package/dist/wwt-bsds-preset.js +35 -23
- package/dist/wwt-bsds-tokens.css +29 -25
- 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 +142 -92
- 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 {
|
|
@@ -3831,7 +3831,7 @@ label:where(.bs-label) {
|
|
|
3831
3831
|
.bs-option:where(:not([data-multiple="true"])[aria-selected="true"]) {
|
|
3832
3832
|
--description-color: var(--bs-ink-primary);
|
|
3833
3833
|
background: var(--bs-bg-medium-to-light);
|
|
3834
|
-
border-left-color: var(--bs-
|
|
3834
|
+
border-left-color: var(--bs-primary-base);
|
|
3835
3835
|
color: var(--bs-ink-primary);
|
|
3836
3836
|
}
|
|
3837
3837
|
/* selected yet disabled...should be a very rare scenario, but need to handle it */
|
|
@@ -4015,8 +4015,9 @@ label:where(.bs-label) {
|
|
|
4015
4015
|
font-family: inherit;
|
|
4016
4016
|
font-size: var(--bs-text-sm);
|
|
4017
4017
|
gap: var(--pill-gap);
|
|
4018
|
-
height: 1.5rem;
|
|
4019
4018
|
line-height: 1rem;
|
|
4019
|
+
max-width: 100%;
|
|
4020
|
+
min-height: var(--bs-pill-height);
|
|
4020
4021
|
padding: 0 .375rem;
|
|
4021
4022
|
position: relative;
|
|
4022
4023
|
text-decoration: none;
|
|
@@ -4188,6 +4189,23 @@ label:where(.bs-label) {
|
|
|
4188
4189
|
.bs-pill:where([data-variant^="filter"])[data-active="false"]:is(:disabled, [aria-disabled="true"]) {
|
|
4189
4190
|
--pill-border: var(--bs-gray-400);
|
|
4190
4191
|
}
|
|
4192
|
+
.bs-pill-group {
|
|
4193
|
+
--pill-group-max-lines: 3;
|
|
4194
|
+
}
|
|
4195
|
+
.bs-pill-group-pills {
|
|
4196
|
+
/* Mainly for css-component-only usage */
|
|
4197
|
+
--default-max-height: calc(var(--pill-group-max-lines) * (var(--bs-pill-height) + var(--bs-space-2)));
|
|
4198
|
+
display: flex;
|
|
4199
|
+
flex-wrap: wrap;
|
|
4200
|
+
gap: var(--bs-space-2);
|
|
4201
|
+
max-height: var(--pill-group-max-height, var(--default-max-height));
|
|
4202
|
+
overflow: hidden;
|
|
4203
|
+
}
|
|
4204
|
+
.bs-pill-group-pills:where([data-expanded="true"]) {
|
|
4205
|
+
margin-bottom: var(--bs-space-2);
|
|
4206
|
+
max-height: none;
|
|
4207
|
+
overflow: visible;
|
|
4208
|
+
}
|
|
4191
4209
|
.bs-profile-details {
|
|
4192
4210
|
color: var(--bs-ink-light);
|
|
4193
4211
|
font-size: var(--bs-text-sm);
|
|
@@ -4359,14 +4377,14 @@ a.bs-profile:where([data-layout]):hover {
|
|
|
4359
4377
|
--bs-spinner-color-1: white;
|
|
4360
4378
|
--bs-spinner-color-2: white;
|
|
4361
4379
|
}
|
|
4362
|
-
:where(
|
|
4380
|
+
.bs-spinner:where([data-variant="gradient"]) :where(linearGradient stop) {
|
|
4363
4381
|
stop-color: var(--bs-secondary-base-fixed);
|
|
4364
4382
|
}
|
|
4365
|
-
:where(
|
|
4383
|
+
.bs-spinner:where([data-variant="gradient"]) :where(linearGradient stop:first-child) {
|
|
4366
4384
|
stop-color: var(--bs-primary-base-fixed);
|
|
4367
4385
|
}
|
|
4368
|
-
:where(
|
|
4369
|
-
stop-color: var(--bs-negative-
|
|
4386
|
+
.bs-spinner:where([data-variant="gradient"]) :where(linearGradient stop:last-child) {
|
|
4387
|
+
stop-color: var(--bs-negative-base);
|
|
4370
4388
|
}
|
|
4371
4389
|
@keyframes bs-spin {
|
|
4372
4390
|
0% {
|
|
@@ -5942,65 +5960,90 @@ a.bs-text-button {
|
|
|
5942
5960
|
--bs-pop-header-padding: var(--bs-space-6);
|
|
5943
5961
|
--bs-pop-body-padding: var(--bs-space-6);
|
|
5944
5962
|
--bs-pop-footer-padding: var(--bs-space-6);
|
|
5945
|
-
|
|
5963
|
+
--bs-popover-height: 100dvh;
|
|
5964
|
+
--bs-popover-width: 100dvw;
|
|
5946
5965
|
border-radius: 0;
|
|
5966
|
+
margin: 0;
|
|
5967
|
+
max-height: unset;
|
|
5968
|
+
max-width: 100dvw;
|
|
5969
|
+
|
|
5970
|
+
/* -- SHADOWS -- */
|
|
5971
|
+
&:where([data-place-self="left"]) {
|
|
5972
|
+
box-shadow: var(--bs-shadow-drawerRight);
|
|
5973
|
+
}
|
|
5974
|
+
|
|
5975
|
+
&:where([data-place-self="right"]) {
|
|
5976
|
+
box-shadow: var(--bs-shadow-drawerLeft);
|
|
5977
|
+
}
|
|
5978
|
+
|
|
5979
|
+
/* -- RESIZING -- */
|
|
5980
|
+
&:where([data-resize]) {
|
|
5981
|
+
/* using clip instead of hidden, to allow resizer hover target
|
|
5982
|
+
to extend outside of the flyout bounds via overflow-clip-margin */
|
|
5983
|
+
overflow: clip;
|
|
5984
|
+
}
|
|
5985
|
+
|
|
5986
|
+
/* right flyout */
|
|
5987
|
+
&:where([data-resize="right"]) {
|
|
5988
|
+
overflow-clip-margin: 5px;
|
|
5989
|
+
}
|
|
5990
|
+
|
|
5991
|
+
/* left flyout - not using same as right flyout, to avoid overlapping potential scrollbar too much */
|
|
5992
|
+
&:where([data-resize="left"]) {
|
|
5993
|
+
overflow-clip-margin: 7px;
|
|
5994
|
+
}
|
|
5995
|
+
|
|
5996
|
+
/*
|
|
5997
|
+
Everything below is desktop-only. Sizing and resize values are gated to
|
|
5998
|
+
widths above the mobile breakpoint, so at mobile widths the flyout falls
|
|
5999
|
+
back to the full-screen defaults above with no JS cleanup needed. The
|
|
6000
|
+
resizer writes its values to the --bs-flyout-resize-* custom properties.
|
|
6001
|
+
*/
|
|
6002
|
+
@media (min-width: 752px) {
|
|
6003
|
+
&:where([data-size="sm"]) {
|
|
6004
|
+
--bs-popover-width: 22.5rem; /* 360px */
|
|
6005
|
+
}
|
|
6006
|
+
|
|
6007
|
+
&:where([data-size="md"]) {
|
|
6008
|
+
--bs-popover-width: 28.75rem; /* 460px */
|
|
6009
|
+
}
|
|
6010
|
+
|
|
6011
|
+
&:where([data-size="lg"]) {
|
|
6012
|
+
--bs-popover-width: 33.4375rem; /* 535px */
|
|
6013
|
+
}
|
|
6014
|
+
|
|
6015
|
+
&:where([data-size="fit-content"]) {
|
|
6016
|
+
--bs-popover-width: fit-content;
|
|
6017
|
+
}
|
|
6018
|
+
|
|
6019
|
+
&:where([data-resize]) {
|
|
6020
|
+
max-width: var(--bs-flyout-resize-max);
|
|
6021
|
+
min-width: var(--bs-flyout-resize-min);
|
|
6022
|
+
transform: translateX(var(--bs-flyout-resize-pushed, 0px));
|
|
6023
|
+
width: var(--bs-flyout-resize-width, var(--bs-popover-width));
|
|
6024
|
+
}
|
|
6025
|
+
}
|
|
5947
6026
|
}
|
|
5948
6027
|
/* targeting header too, so consumer could just do: <BsPopHeader>My Title</BsPopHeader> */
|
|
5949
6028
|
.bs-flyout :where(.bs-pop-header, .bs-pop-title) {
|
|
5950
6029
|
font-size: var(--bs-text-lg);
|
|
5951
6030
|
}
|
|
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
|
-
}
|
|
6031
|
+
/* -- RESIZER -- */
|
|
5974
6032
|
.bs-flyout-resizer {
|
|
5975
6033
|
cursor: col-resize;
|
|
5976
6034
|
inset-block: 0;
|
|
5977
6035
|
position: absolute;
|
|
5978
|
-
width: 10px;
|
|
5979
|
-
z-index: 1;
|
|
5980
6036
|
/* prevents browser from trying to hijack touch interactions to handle on its own */
|
|
5981
6037
|
touch-action: none;
|
|
5982
|
-
|
|
5983
|
-
|
|
5984
|
-
.bs-flyout:where([data-resize="right"]) {
|
|
5985
|
-
overflow-clip-margin: 5px;
|
|
6038
|
+
width: 10px;
|
|
6039
|
+
z-index: 1;
|
|
5986
6040
|
}
|
|
5987
6041
|
.bs-flyout:where([data-resize="right"]) :where(.bs-flyout-resizer) {
|
|
5988
6042
|
left: -5px;
|
|
5989
6043
|
}
|
|
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
6044
|
.bs-flyout:where([data-resize="left"]) :where(.bs-flyout-resizer) {
|
|
5995
6045
|
right: -7px;
|
|
5996
6046
|
}
|
|
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
6047
|
/* -- TRANSITIONS -- */
|
|
6005
6048
|
.bs-flyout-enter-active,
|
|
6006
6049
|
.bs-flyout-leave-active {
|
|
@@ -6011,18 +6054,27 @@ a.bs-text-button {
|
|
|
6011
6054
|
}
|
|
6012
6055
|
.bs-flyout-enter-active .bs-flyout,
|
|
6013
6056
|
.bs-flyout-leave-active .bs-flyout {
|
|
6014
|
-
transition-property: transform;
|
|
6015
6057
|
transition-duration: var(--bs-popover-transition-duration);
|
|
6058
|
+
transition-property: transform;
|
|
6016
6059
|
transition-timing-function: var(--bs-transition-cubic);
|
|
6017
6060
|
}
|
|
6018
6061
|
/* 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
6062
|
.bs-flyout-enter-from .bs-flyout[data-place-self="left"],
|
|
6020
6063
|
.bs-flyout-leave-to .bs-flyout[data-place-self="left"] {
|
|
6021
|
-
transform: translate(
|
|
6064
|
+
transform: translate(-105%);
|
|
6065
|
+
|
|
6066
|
+
/* preserve any resize push offset while sliding in/out (desktop-only, matching the resize sizing above) */
|
|
6067
|
+
@media (min-width: 752px) {
|
|
6068
|
+
transform: translate(calc(-105% + var(--bs-flyout-resize-pushed, 0px)));
|
|
6069
|
+
}
|
|
6022
6070
|
}
|
|
6023
6071
|
.bs-flyout-enter-from .bs-flyout[data-place-self="right"],
|
|
6024
6072
|
.bs-flyout-leave-to .bs-flyout[data-place-self="right"] {
|
|
6025
|
-
transform: translate(
|
|
6073
|
+
transform: translate(105%);
|
|
6074
|
+
|
|
6075
|
+
@media (min-width: 752px) {
|
|
6076
|
+
transform: translate(calc(105% + var(--bs-flyout-resize-pushed, 0px)));
|
|
6077
|
+
}
|
|
6026
6078
|
}
|
|
6027
6079
|
/*
|
|
6028
6080
|
HEADS-UP:
|