@wwtdev/bsds-css 2.7.0 → 2.7.1

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.
@@ -0,0 +1,169 @@
1
+ @mixin chart() {
2
+ .bs-chart {
3
+ display: block;
4
+ height: 100%;
5
+ width: 100%;
6
+ }
7
+
8
+ .bs-chart :where(figure) {
9
+ column-gap: 2.5rem;
10
+ display: grid;
11
+ font-size: .875rem;
12
+ grid-template-areas: var(--chart-gridareas, "chart" "legend");
13
+ grid-template-columns: var(--chart-gridcols, 100%);
14
+ grid-template-rows: var(--chart-gridrows, minmax(0px, auto) minmax(0px, min-content));
15
+ height: 100%;
16
+ margin-block: unset;
17
+ margin-inline: unset;
18
+ position: relative;
19
+ width: 100%;
20
+ }
21
+
22
+ .bs-chart :where(figure > :first-child) {
23
+ grid-area: chart;
24
+ }
25
+
26
+ .bs-chart :where(figure > :last-child) {
27
+ grid-area: legend;
28
+ }
29
+
30
+ .bs-chart :where(figure > div) {
31
+ min-width: 100%;
32
+ width: 100%;
33
+ }
34
+ .bs-chart :where(canvas) {
35
+ width: 100%;
36
+ }
37
+
38
+ /* --------- Legend Styles --------- */
39
+
40
+ .bs-chart :where(figcaption) {
41
+ background-color: var(--legend-bg-color, transparent);
42
+ border-radius: .5rem;
43
+ border: 1px solid var(--legend-border-color, transparent);
44
+ clip-path: var(--legend-clip-path, none);
45
+ max-height: var(--legend-max-height, 100%);
46
+ overflow-y: var(--legend-overflow-y, hidden);
47
+ }
48
+
49
+ .bs-chart :where(figcaption[data-hidden="true"]) {
50
+ border: 0;
51
+ clip: rect(0 0 0 0);
52
+ height: 1px;
53
+ margin: 0;
54
+ overflow: hidden;
55
+ padding: 0;
56
+ position: absolute;
57
+ white-space: nowrap;
58
+ width: 1px;
59
+ }
60
+
61
+ .bs-chart :where(ul) {
62
+ align-items: var(--legend-flexalign, center);
63
+ display: flex;
64
+ column-gap: 2.5rem;
65
+ flex-direction: var(--legend-flexdir, row);
66
+ flex-wrap: var(--legend-flexwrap, wrap);
67
+ padding-block: var(--legend-padding-block, .25rem);
68
+ /* cjs-legend-padding is set dynamically by chart.js for bar charts */
69
+ padding-inline: var(--legend-padding-inline, var(--cjs-legend-padding-inline, 2.5rem));
70
+ row-gap: .75rem;
71
+ }
72
+
73
+ .bs-chart :where(li, li:focus, li:active, li:focus-visible) {
74
+ align-items: center;
75
+ cursor: pointer;
76
+ display: flex;
77
+ flex-direction: row;
78
+ outline: 0;
79
+ position: relative;
80
+ width: var(--legend-item-width, auto);
81
+ }
82
+
83
+ .bs-chart :where(li)::after {
84
+ border: solid var(--focus-color, transparent) 2px;
85
+ border-radius: 0.25rem;
86
+ content: '';
87
+ display: block;
88
+ inset: -.25rem;
89
+ position: absolute;
90
+ }
91
+
92
+ .bs-chart :where(li:focus-visible) {
93
+ --focus-color: var(--bs-blue-base);
94
+ }
95
+
96
+ .bs-chart :where(li span) {
97
+ background: var(--legend-item-box-fill);
98
+ border-color: var(--legend-item-box-stroke);
99
+ border-radius: var(--legend-item-swatch-radius, 3px);
100
+ display: inline-block;
101
+ height: var(--bs-text-f-md);
102
+ margin-right: 10px;
103
+ width: var(--bs-text-f-md);
104
+ }
105
+
106
+ .bs-chart :where(li p) {
107
+ color: var(--legend-item-text-color);
108
+ font-size: var(--bs-text-f-md);
109
+ margin: 0;
110
+ padding: 0;
111
+ text-decoration: var(--legend-item-text-decoration);
112
+ }
113
+
114
+ /* --------- Chart Layout Variants --------- */
115
+ /*
116
+ For now, per design team instructions, these are NOT responsive as we're only to expose these
117
+ variants for a very specific, single use-case that involves horizontal scroll...
118
+ If we want to make these responsive in the future, can wrap in media query.
119
+ */
120
+ .bs-chart:where([data-layout="chart-right"], [data-layout="chart-left"]) {
121
+ --chart-gridrows: minmax(0px, auto);
122
+ --legend-bg-color: var(--bs-bg-base);
123
+ --legend-border-color: var(--bs-gray-light);
124
+ --legend-clip-path: border-box;
125
+ --legend-flexalign: start;
126
+ --legend-flexdir: column;
127
+ --legend-flexwrap: nowrap;
128
+ --legend-item-width: 100%;
129
+ --legend-max-height: 17.1875rem;
130
+ --legend-overflow-y: auto;
131
+ --legend-padding-block: .75rem;
132
+ --legend-padding-inline: .75rem;
133
+ }
134
+
135
+ .bs-chart:where([data-layout="chart-left"]) {
136
+ --chart-gridareas: "chart legend";
137
+ --chart-gridcols: auto minmax(150px, auto);
138
+ }
139
+
140
+ .bs-chart:where([data-layout="chart-right"]) {
141
+ --chart-gridareas: "legend chart";
142
+ --chart-gridcols: minmax(150px, auto) auto;
143
+ }
144
+
145
+ .bs-chart-table {
146
+ border: 0;
147
+ clip: rect(0 0 0 0);
148
+ height: 1px;
149
+ margin: 0;
150
+ overflow: hidden;
151
+ padding: 0;
152
+ position: absolute;
153
+ white-space: nowrap;
154
+ width: 1px;
155
+ }
156
+ /*
157
+ uncomment to make visible when testing
158
+ .bs-chart-table {
159
+ clip: none;
160
+ overflow: auto;
161
+ height: auto;
162
+ position: relative;
163
+ width: auto;
164
+ }
165
+
166
+ */
167
+
168
+ }
169
+
@@ -15,7 +15,7 @@
15
15
  }
16
16
  :where(.box[data-invert]) :is(input, textarea, select):where(:focus-visible),
17
17
  :where(.box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
18
- --offset-color: var(--bs-bg-invert-base);
18
+ --offset-color: var(--bs-bg-invert-to-base);
19
19
  }
20
20
 
21
21
  /* Errors and Messages */
@@ -137,7 +137,7 @@
137
137
  }
138
138
  :where(.box[data-invert]) .bs-switch :where(input:focus-visible) + :where(span),
139
139
  :where(.box[data-invert]) .bs-switch:where(:focus-visible) :where(button span) {
140
- --offset-color: var(--bs-bg-invert-base);
140
+ --offset-color: var(--bs-bg-invert-to-base);
141
141
  }
142
142
 
143
143
  /* Disabled state */
@@ -66,7 +66,7 @@
66
66
  --pill-background: var(--bs-bg-base);
67
67
  }
68
68
  :where(.box[data-invert]) .bs-pill {
69
- --pill-background: var(--bs-bg-invert-base-subtle);
69
+ --pill-background: var(--bs-bg-invert-to-base-subtle);
70
70
  --pill-text: var(--bs-gray-100);
71
71
  }
72
72
  :where(.box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
@@ -0,0 +1,165 @@
1
+ .bs-chart {
2
+ display: block;
3
+ height: 100%;
4
+ width: 100%;
5
+ }
6
+
7
+ .bs-chart :where(figure) {
8
+ column-gap: 2.5rem;
9
+ display: grid;
10
+ font-size: .875rem;
11
+ grid-template-areas: var(--chart-gridareas, "chart" "legend");
12
+ grid-template-columns: var(--chart-gridcols, 100%);
13
+ grid-template-rows: var(--chart-gridrows, minmax(0px, auto) minmax(0px, min-content));
14
+ height: 100%;
15
+ margin-block: unset;
16
+ margin-inline: unset;
17
+ position: relative;
18
+ width: 100%;
19
+ }
20
+
21
+ .bs-chart :where(figure > :first-child) {
22
+ grid-area: chart;
23
+ }
24
+
25
+ .bs-chart :where(figure > :last-child) {
26
+ grid-area: legend;
27
+ }
28
+
29
+ .bs-chart :where(figure > div) {
30
+ min-width: 100%;
31
+ width: 100%;
32
+ }
33
+ .bs-chart :where(canvas) {
34
+ width: 100%;
35
+ }
36
+
37
+ /* --------- Legend Styles --------- */
38
+
39
+ .bs-chart :where(figcaption) {
40
+ background-color: var(--legend-bg-color, transparent);
41
+ border-radius: .5rem;
42
+ border: 1px solid var(--legend-border-color, transparent);
43
+ clip-path: var(--legend-clip-path, none);
44
+ max-height: var(--legend-max-height, 100%);
45
+ overflow-y: var(--legend-overflow-y, hidden);
46
+ }
47
+
48
+ .bs-chart :where(figcaption[data-hidden="true"]) {
49
+ border: 0;
50
+ clip: rect(0 0 0 0);
51
+ height: 1px;
52
+ margin: 0;
53
+ overflow: hidden;
54
+ padding: 0;
55
+ position: absolute;
56
+ white-space: nowrap;
57
+ width: 1px;
58
+ }
59
+
60
+ .bs-chart :where(ul) {
61
+ align-items: var(--legend-flexalign, center);
62
+ display: flex;
63
+ column-gap: 2.5rem;
64
+ flex-direction: var(--legend-flexdir, row);
65
+ flex-wrap: var(--legend-flexwrap, wrap);
66
+ padding-block: var(--legend-padding-block, .25rem);
67
+ /* cjs-legend-padding is set dynamically by chart.js for bar charts */
68
+ padding-inline: var(--legend-padding-inline, var(--cjs-legend-padding-inline, 2.5rem));
69
+ row-gap: .75rem;
70
+ }
71
+
72
+ .bs-chart :where(li, li:focus, li:active, li:focus-visible) {
73
+ align-items: center;
74
+ cursor: pointer;
75
+ display: flex;
76
+ flex-direction: row;
77
+ outline: 0;
78
+ position: relative;
79
+ width: var(--legend-item-width, auto);
80
+ }
81
+
82
+ .bs-chart :where(li)::after {
83
+ border: solid var(--focus-color, transparent) 2px;
84
+ border-radius: 0.25rem;
85
+ content: '';
86
+ display: block;
87
+ inset: -.25rem;
88
+ position: absolute;
89
+ }
90
+
91
+ .bs-chart :where(li:focus-visible) {
92
+ --focus-color: var(--bs-blue-base);
93
+ }
94
+
95
+ .bs-chart :where(li span) {
96
+ background: var(--legend-item-box-fill);
97
+ border-color: var(--legend-item-box-stroke);
98
+ border-radius: var(--legend-item-swatch-radius, 3px);
99
+ display: inline-block;
100
+ height: var(--bs-text-f-md);
101
+ margin-right: 10px;
102
+ width: var(--bs-text-f-md);
103
+ }
104
+
105
+ .bs-chart :where(li p) {
106
+ color: var(--legend-item-text-color);
107
+ font-size: var(--bs-text-f-md);
108
+ margin: 0;
109
+ padding: 0;
110
+ text-decoration: var(--legend-item-text-decoration);
111
+ }
112
+
113
+ /* --------- Chart Layout Variants --------- */
114
+ /*
115
+ For now, per design team instructions, these are NOT responsive as we're only to expose these
116
+ variants for a very specific, single use-case that involves horizontal scroll...
117
+ If we want to make these responsive in the future, can wrap in media query.
118
+ */
119
+ .bs-chart:where([data-layout="chart-right"], [data-layout="chart-left"]) {
120
+ --chart-gridrows: minmax(0px, auto);
121
+ --legend-bg-color: var(--bs-bg-base);
122
+ --legend-border-color: var(--bs-gray-light);
123
+ --legend-clip-path: border-box;
124
+ --legend-flexalign: start;
125
+ --legend-flexdir: column;
126
+ --legend-flexwrap: nowrap;
127
+ --legend-item-width: 100%;
128
+ --legend-max-height: 17.1875rem;
129
+ --legend-overflow-y: auto;
130
+ --legend-padding-block: .75rem;
131
+ --legend-padding-inline: .75rem;
132
+ }
133
+
134
+ .bs-chart:where([data-layout="chart-left"]) {
135
+ --chart-gridareas: "chart legend";
136
+ --chart-gridcols: auto minmax(150px, auto);
137
+ }
138
+
139
+ .bs-chart:where([data-layout="chart-right"]) {
140
+ --chart-gridareas: "legend chart";
141
+ --chart-gridcols: minmax(150px, auto) auto;
142
+ }
143
+
144
+ .bs-chart-table {
145
+ border: 0;
146
+ clip: rect(0 0 0 0);
147
+ height: 1px;
148
+ margin: 0;
149
+ overflow: hidden;
150
+ padding: 0;
151
+ position: absolute;
152
+ white-space: nowrap;
153
+ width: 1px;
154
+ }
155
+ /*
156
+ uncomment to make visible when testing
157
+ .bs-chart-table {
158
+ clip: none;
159
+ overflow: auto;
160
+ height: auto;
161
+ position: relative;
162
+ width: auto;
163
+ }
164
+
165
+ */
@@ -14,7 +14,7 @@
14
14
  }
15
15
  :where(.box[data-invert]) :is(input, textarea, select):where(:focus-visible),
16
16
  :where(.box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
17
- --offset-color: var(--bs-bg-invert-base);
17
+ --offset-color: var(--bs-bg-invert-to-base);
18
18
  }
19
19
 
20
20
  /* Errors and Messages */
@@ -136,7 +136,7 @@
136
136
  }
137
137
  :where(.box[data-invert]) .bs-switch :where(input:focus-visible) + :where(span),
138
138
  :where(.box[data-invert]) .bs-switch:where(:focus-visible) :where(button span) {
139
- --offset-color: var(--bs-bg-invert-base);
139
+ --offset-color: var(--bs-bg-invert-to-base);
140
140
  }
141
141
 
142
142
  /* Disabled state */
@@ -65,7 +65,7 @@
65
65
  --pill-background: var(--bs-bg-base);
66
66
  }
67
67
  :where(.box[data-invert]) .bs-pill {
68
- --pill-background: var(--bs-bg-invert-base-subtle);
68
+ --pill-background: var(--bs-bg-invert-to-base-subtle);
69
69
  --pill-text: var(--bs-gray-100);
70
70
  }
71
71
  :where(.box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
@@ -155,8 +155,8 @@ module.exports = {
155
155
  "light-to-medium": "var(--bs-bg-light-to-medium)",
156
156
  "medium": "var(--bs-bg-medium)",
157
157
  "medium-to-light": "var(--bs-bg-medium-to-light)",
158
- "invert-base": "var(--bs-bg-invert-base)",
159
- "invert-medium": "var(--bs-bg-invert-medium)",
158
+ "invert-to-base": "var(--bs-bg-invert-to-base)",
159
+ "invert-to-medium": "var(--bs-bg-invert-to-medium)",
160
160
  "disabled": "var(--bs-bg-disabled)"
161
161
  },
162
162
  borderColor: {
@@ -306,8 +306,8 @@ button {
306
306
  --bs-bg-light-to-base: var(--bs-gray-50);
307
307
  --bs-bg-medium: var(--bs-gray-100);
308
308
  --bs-bg-medium-to-light: var(--bs-gray-100);
309
- --bs-bg-invert-base: var(--bs-navy-500);
310
- --bs-bg-invert-medium: var(--bs-navy-400);
309
+ --bs-bg-invert-to-base: var(--bs-navy-500);
310
+ --bs-bg-invert-to-medium: var(--bs-navy-400);
311
311
  --bs-bg-disabled: var(--bs-gray-200);
312
312
 
313
313
  --bs-hyperlink: var(--bs-purple-400);
@@ -317,7 +317,7 @@ button {
317
317
  --bs-ink-disabled: rgba(78, 79, 95, 0.6); /* --bs-gray-400 at .6 */
318
318
  --bs-ink-light: var(--bs-gray-400);
319
319
  --bs-ink-invert-base: var(--bs-gray-100);
320
- --bs-ink-invert-medium: var(--bs-gray-200);
320
+ --bs-ink-invert-to-medium: var(--bs-gray-200);
321
321
  --bs-ink-invert-light: var(--bs-gray-300);
322
322
  --bs-ink-medium: var(--bs-gray-500);
323
323
 
@@ -385,6 +385,7 @@ button {
385
385
  --bs-content-max-width: 72rem;
386
386
 
387
387
  /* Type */
388
+ --bs-font-light: 300;
388
389
  --bs-font-normal: 400;
389
390
  --bs-font-bold: 600;
390
391
 
@@ -411,8 +412,8 @@ button {
411
412
  --bs-bg-light-to-base: var(--bs-navy-600);
412
413
  --bs-bg-medium: var(--bs-navy-400);
413
414
  --bs-bg-medium-to-light: var(--bs-navy-500);
414
- --bs-bg-invert-base: var(--bs-gray-100);
415
- --bs-bg-invert-medium: var(--bs-gray-50);
415
+ --bs-bg-invert-to-base: var(--bs-gray-100);
416
+ --bs-bg-invert-to-medium: var(--bs-gray-50);
416
417
  --bs-bg-disabled: var(--bs-gray-500);
417
418
 
418
419
  --bs-hyperlink: var(--bs-purple-200);
@@ -672,6 +673,11 @@ h6,
672
673
  font-weight: 400;
673
674
  }
674
675
 
676
+ [data-weight^='light'],
677
+ [data-weight^='300'] {
678
+ font-weight: 300;
679
+ }
680
+
675
681
  [data-weight^='bold'],
676
682
  [data-weight^='600'] {
677
683
  font-weight: 600;