@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.
Files changed (94) hide show
  1. package/README.md +4 -4
  2. package/dist/wwt-bsds-preset.js +196 -68
  3. package/dist/wwt-bsds.css +2189 -1471
  4. package/dist/wwt-bsds.min.css +1 -1
  5. package/package.json +7 -11
  6. package/dist/components/_accordions.scss +0 -122
  7. package/dist/components/_alert.scss +0 -143
  8. package/dist/components/_badge.scss +0 -95
  9. package/dist/components/_banner.scss +0 -68
  10. package/dist/components/_buttons.scss +0 -289
  11. package/dist/components/_chart.scss +0 -169
  12. package/dist/components/_circle-buttons.scss +0 -231
  13. package/dist/components/_dropdown-options.scss +0 -236
  14. package/dist/components/_dropdown.scss +0 -189
  15. package/dist/components/_empty-state.scss +0 -99
  16. package/dist/components/_filter-buttons.scss +0 -116
  17. package/dist/components/_flyout.scss +0 -75
  18. package/dist/components/_form-booleans.scss +0 -182
  19. package/dist/components/_form-character-count.scss +0 -21
  20. package/dist/components/_form-container.scss +0 -111
  21. package/dist/components/_form-elements.scss +0 -40
  22. package/dist/components/_form-field-details.scss +0 -19
  23. package/dist/components/_form-hints.scss +0 -22
  24. package/dist/components/_form-input-composite.scss +0 -312
  25. package/dist/components/_form-input-phone.scss +0 -21
  26. package/dist/components/_form-input-search.scss +0 -74
  27. package/dist/components/_form-labels.scss +0 -40
  28. package/dist/components/_form-switches.scss +0 -154
  29. package/dist/components/_form-text-fields.scss +0 -205
  30. package/dist/components/_horizontal-navigation-mobile.scss +0 -238
  31. package/dist/components/_horizontal-navigation.scss +0 -220
  32. package/dist/components/_inline-tabs.scss +0 -86
  33. package/dist/components/_loader.scss +0 -105
  34. package/dist/components/_modal.scss +0 -185
  35. package/dist/components/_overlay.scss +0 -34
  36. package/dist/components/_pagination.scss +0 -85
  37. package/dist/components/_pills.scss +0 -224
  38. package/dist/components/_profile-details.scss +0 -44
  39. package/dist/components/_profile-img.scss +0 -73
  40. package/dist/components/_profile-layout.scss +0 -29
  41. package/dist/components/_spinner.scss +0 -95
  42. package/dist/components/_tab-list.scss +0 -151
  43. package/dist/components/_table.scss +0 -331
  44. package/dist/components/_tables.scss +0 -84
  45. package/dist/components/_timeline.scss +0 -122
  46. package/dist/components/_toast.scss +0 -149
  47. package/dist/components/_toaster.scss +0 -27
  48. package/dist/components/_tooltip.scss +0 -179
  49. package/dist/components/_vertical-navigation.scss +0 -280
  50. package/dist/components/accordions.css +0 -118
  51. package/dist/components/alert.css +0 -139
  52. package/dist/components/badge.css +0 -91
  53. package/dist/components/banner.css +0 -64
  54. package/dist/components/buttons.css +0 -285
  55. package/dist/components/chart.css +0 -165
  56. package/dist/components/circle-buttons.css +0 -227
  57. package/dist/components/dropdown-options.css +0 -232
  58. package/dist/components/dropdown.css +0 -185
  59. package/dist/components/empty-state.css +0 -95
  60. package/dist/components/filter-buttons.css +0 -112
  61. package/dist/components/flyout.css +0 -71
  62. package/dist/components/form-booleans.css +0 -178
  63. package/dist/components/form-character-count.css +0 -17
  64. package/dist/components/form-container.css +0 -108
  65. package/dist/components/form-elements.css +0 -36
  66. package/dist/components/form-field-details.css +0 -15
  67. package/dist/components/form-hints.css +0 -18
  68. package/dist/components/form-input-composite.css +0 -308
  69. package/dist/components/form-input-phone.css +0 -17
  70. package/dist/components/form-input-search.css +0 -70
  71. package/dist/components/form-labels.css +0 -36
  72. package/dist/components/form-switches.css +0 -150
  73. package/dist/components/form-text-fields.css +0 -201
  74. package/dist/components/horizontal-navigation-mobile.css +0 -234
  75. package/dist/components/horizontal-navigation.css +0 -216
  76. package/dist/components/inline-tabs.css +0 -83
  77. package/dist/components/loader.css +0 -101
  78. package/dist/components/modal.css +0 -181
  79. package/dist/components/overlay.css +0 -30
  80. package/dist/components/pagination.css +0 -81
  81. package/dist/components/pills.css +0 -220
  82. package/dist/components/profile-details.css +0 -40
  83. package/dist/components/profile-img.css +0 -69
  84. package/dist/components/profile-layout.css +0 -25
  85. package/dist/components/spinner.css +0 -91
  86. package/dist/components/tab-list.css +0 -147
  87. package/dist/components/table.css +0 -327
  88. package/dist/components/tables.css +0 -80
  89. package/dist/components/timeline.css +0 -118
  90. package/dist/components/toast.css +0 -145
  91. package/dist/components/toaster.css +0 -23
  92. package/dist/components/tooltip.css +0 -175
  93. package/dist/components/vertical-navigation.css +0 -276
  94. package/dist/wwt-bsds-wc-base.css +0 -1129
package/dist/wwt-bsds.css CHANGED
@@ -1,6 +1,7 @@
1
- /* Global Styles */
2
- /* VARIABLES GENERATED WITH TAILWIND CONFIG.
3
- Tokens location: ./tailwind.config.js */
1
+ /* Tokens */
2
+ /* VARIABLES GENERATED USING TAILWIND CONFIG */
3
+ /* DO NOT EDIT THIS FILE DIRECTLY */
4
+ /* Config location: packages/css-framework/src/wwt-bsds-preset.js */
4
5
  :root {
5
6
  --bs-transparent: transparent;
6
7
  --bs-inherit: inherit;
@@ -67,6 +68,8 @@
67
68
  --bs-slate-400: #22222e;
68
69
  --bs-slate-500: #17171f;
69
70
  --bs-slate-600: #0b0b10;
71
+ --bs-shadow-primary: rgba(0, 0, 0, 0.06);
72
+ --bs-shadow-secondary: rgba(28, 0, 135, 0.2);
70
73
  --bs-gradient-dark: linear-gradient(
71
74
  90deg,
72
75
  #1c0087 0%,
@@ -91,104 +94,362 @@
91
94
  #1c0087 50%,
92
95
  #0086ea 100%
93
96
  );
94
- --bs-space-0: 0px;
95
- --bs-space-1: 0.25rem;
96
- --bs-space-2: 0.5rem;
97
- --bs-space-3: 0.75rem;
98
- --bs-space-4: 1rem;
99
- --bs-space-5: 1.25rem;
100
- --bs-space-6: 1.5rem;
101
- --bs-space-7: 1.75rem;
102
- --bs-space-8: 2rem;
103
- --bs-space-9: 2.25rem;
104
- --bs-space-10: 2.5rem;
105
- --bs-space-11: 2.75rem;
106
- --bs-space-12: 3rem;
107
- --bs-space-14: 3.5rem;
108
- --bs-space-16: 4rem;
109
- --bs-space-20: 5rem;
110
- --bs-space-24: 6rem;
111
- --bs-space-28: 7rem;
112
- --bs-space-32: 8rem;
113
- --bs-space-36: 9rem;
114
- --bs-space-40: 10rem;
115
- --bs-space-44: 11rem;
116
- --bs-space-48: 12rem;
117
- --bs-space-52: 13rem;
118
- --bs-space-56: 14rem;
119
- --bs-space-60: 15rem;
120
- --bs-space-64: 16rem;
121
- --bs-space-72: 18rem;
122
- --bs-space-80: 20rem;
123
- --bs-space-96: 24rem;
124
- --bs-space-px: 1px;
125
- --bs-space-0-half: 0.125rem;
126
- --bs-space-1-half: 0.375rem;
127
- --bs-space-2-half: 0.625rem;
128
- --bs-space-3-half: 0.875rem;
129
- --bs-space-f-1: clamp(0.25rem, calc(0.13rem + 0.5vw), 0.5rem);
130
- --bs-space-f-2: clamp(0.5rem, calc(0.38rem + 0.5vw), 0.75rem);
131
- --bs-space-f-3: clamp(0.75rem, calc(0.63rem + 0.5vw), 1rem);
132
- --bs-space-f-4: clamp(1rem, calc(0.75rem + 1vw), 1.5rem);
133
- --bs-space-f-6: clamp(1.5rem, calc(1.25rem + 1vw), 2rem);
134
- --bs-space-f-8: clamp(2rem, calc(1.5rem + 2vw), 3rem);
135
- --bs-space-f-12: clamp(4rem, calc(3rem + 4vw), 6rem);
136
- --bs-space-f-16: clamp(4rem, calc(3rem + 4vw), 6rem);
137
- --bs-space-f-24: clamp(6rem, calc(5rem + 4vw), 8rem);
138
- --bs-space-f-4to8: clamp(1rem, calc(0.5rem + 2vw), 2rem);
139
- --bs-space-f-6to12: clamp(1.5rem, calc(0.75rem + 3vw), 3rem);
140
- --bs-space-f-12to24: clamp(3rem, calc(1.5rem + 6vw), 6rem);
97
+ --bs-gradient-atom-ai-border: conic-gradient(
98
+ from 180deg at 50% 50%,
99
+ var(--bs-royal-400) -96.8deg,
100
+ var(--bs-pink-400) 74.2deg,
101
+ var(--bs-blue-400) 98.8deg,
102
+ var(--bs-orange-400) 259.6deg,
103
+ var(--bs-royal-400) 283.2deg,
104
+ var(--bs-pink-400) 414.4deg
105
+ );
106
+ --bs-gradient-atom-ai-bg: conic-gradient(
107
+ from 180deg at 50% 50%,
108
+ rgba(22, 47, 180, 0.05) -96.8deg,
109
+ rgba(227, 28, 121, 0.05) 74.2deg,
110
+ rgba(0, 134, 234, 0.05) 98.8deg,
111
+ rgba(251, 85, 14, 0.05) 259.6deg,
112
+ rgba(22, 47, 180, 0.05) 283.2deg,
113
+ rgba(227, 28, 121, 0.05) 414.4deg
114
+ );
115
+ --bs-gradient-blue-top-left: radial-gradient(
116
+ 312.54% 141.42% at 0% 0%,
117
+ #162fb4 0%,
118
+ #1d1e48 100%
119
+ );
120
+ --bs-gradient-blue-top-center: radial-gradient(
121
+ 201.14% 201.14% at 50% -51.28%,
122
+ #162fb4 26.06%,
123
+ #1d1e48 100%
124
+ );
125
+ --bs-gradient-blue-top-right: radial-gradient(
126
+ 312.54% 141.42% at 100% 0%,
127
+ #162fb4 0%,
128
+ #1d1e48 100%
129
+ );
130
+ --bs-gradient-blue-mid-left: radial-gradient(
131
+ 347.1% 117.22% at -9.27% 49.86%,
132
+ #162fb4 8.19%,
133
+ #1d1e48 100%
134
+ );
135
+ --bs-gradient-blue-center: radial-gradient(
136
+ 172.57% 58.28% at 50% 49.86%,
137
+ #162fb4 0%,
138
+ #1d1e48 100%
139
+ );
140
+ --bs-gradient-light-blue-transparent: radial-gradient(
141
+ 236% 114.71% at 94.24% 7.6%,
142
+ rgba(153, 207, 247, 0.2) 0%,
143
+ rgba(203, 192, 218, 0.08) 100%
144
+ );
145
+ --bs-gradient-light-blue-opaque: linear-gradient(
146
+ 311deg,
147
+ #ebf7ff 9.29%,
148
+ #fbfafc 92%
149
+ );
150
+ --bs-gradient-light-gray: linear-gradient(
151
+ 180deg,
152
+ #f7f7fc 24.82%,
153
+ #f0f0fa 100%
154
+ );
155
+ --bs-space-0: var(--bs-space-none);
156
+ --bs-space-1: var(--bs-space-3xs);
157
+ --bs-space-2: var(--bs-space-2xs);
158
+ --bs-space-3: var(--bs-space-xs);
159
+ --bs-space-4: var(--bs-space-sm);
160
+ --bs-space-6: var(--bs-space-md);
161
+ --bs-space-8: var(--bs-space-lg);
162
+ --bs-space-12: var(--bs-space-xl);
163
+ --bs-space-16: var(--bs-space-2xl);
164
+ --bs-space-24: var(--bs-space-3xl);
165
+ --bs-space-32: var(--bs-space-4xl);
166
+ --bs-space-none: 0;
167
+ --bs-space-3xs: 0.25rem;
168
+ --bs-space-2xs: 0.5rem;
169
+ --bs-space-xs: 0.75rem;
170
+ --bs-space-sm: 1rem;
171
+ --bs-space-md: 1.5rem;
172
+ --bs-space-lg: 2rem;
173
+ --bs-space-xl: 3rem;
174
+ --bs-space-2xl: 4rem;
175
+ --bs-space-3xl: 6rem;
176
+ --bs-space-4xl: 8rem;
141
177
  --bs-text-xs: 0.75rem;
142
178
  --bs-text-sm: 0.875rem;
143
179
  --bs-text-base: 1rem;
144
180
  --bs-text-md: 1.125rem;
145
181
  --bs-text-lg: 1.25rem;
146
182
  --bs-text-xl: 1.5rem;
147
- --bs-text-2xl: 2rem;
148
- --bs-text-3xl: 2.25rem;
149
- --bs-text-4xl: 3rem;
150
- --bs-text-f-xs: clamp(0.69rem, calc(0.84rem + -0.19vw), 0.79rem);
151
- --bs-text-f-sm: clamp(0.83rem, calc(0.92rem + -0.11vw), 0.89rem);
152
- --bs-text-f-base: clamp(1rem, calc(1rem + 0vw), 1rem);
153
- --bs-text-f-md: clamp(1rem, calc(0.94rem + 0.25vw), 1.125rem);
154
- --bs-text-f-lg: clamp(1.125rem, calc(1.06rem + 0.25vw), 1.25rem);
155
- --bs-text-f-xl: clamp(1.25rem, calc(1.13rem + 0.5vw), 1.5rem);
156
- --bs-text-f-2xl: clamp(1.5rem, calc(1.25rem + 1vw), 2rem);
157
- --bs-text-f-3xl: clamp(2rem, calc(1.88rem + 0.5vw), 2.25rem);
158
- --bs-text-f-4xl: clamp(2.25rem, calc(1.88rem + 1.5vw), 3rem);
159
- --bs-leading-3: 0.75rem;
160
- --bs-leading-4: 1rem;
161
- --bs-leading-5: 1.25rem;
162
- --bs-leading-6: 1.5rem;
163
- --bs-leading-7: 1.75rem;
164
- --bs-leading-8: 2rem;
165
- --bs-leading-9: 2.25rem;
166
- --bs-leading-10: 2.5rem;
183
+ --bs-text-2xl: 1.75rem;
184
+ --bs-text-3xl: 2rem;
185
+ --bs-text-4xl: 2.25rem;
186
+ --bs-text-5xl: 2.625rem;
187
+ --bs-text-6xl: 3rem;
188
+ --bs-font-light: 300;
189
+ --bs-font-normal: 400;
190
+ --bs-font-semibold: 600;
167
191
  --bs-leading-none: 1;
168
- --bs-leading-tight: 1.25;
169
- --bs-leading-snug: 1.375;
170
- --bs-leading-normal: 1.5;
171
- --bs-leading-relaxed: 1.625;
172
- --bs-leading-loose: 2;
173
- --bs-leading-sm: 115%;
174
- --bs-leading-base: 150%;
175
- --bs-leading-regular: 1.33;
176
- --bs-shadow: -4px 4px 12px rgba(0, 0, 0, 0.06),
177
- -8px 8px 16px rgba(28, 0, 135, 0.2);
178
- --bs-shadow-contentLow: -4px 4px 12px rgba(0, 0, 0, 0.06),
179
- -8px 8px 16px rgba(28, 0, 135, 0.2);
180
- --bs-shadow-contentLowCenter: 0px 0px 12px rgba(0, 0, 0, 0.06),
181
- 0px 0px 16px rgba(28, 0, 135, 0.2);
182
- --bs-shadow-contentMedium: -8px 8px 24px rgba(0, 0, 0, 0.06),
183
- -16px 16px 32px rgba(28, 0, 135, 0.2);
184
- --bs-shadow-contentHigh: 0px 16px 48px rgba(0, 0, 0, 0.06),
185
- 0px 32px 64px rgba(28, 0, 135, 0.2);
186
- --bs-shadow-drawerLeft: -12px 12px 24px rgba(0, 0, 0, 0.06),
187
- -16px 16px 32px rgba(28, 0, 135, 0.2);
188
- --bs-shadow-drawerRight: -12px 12px 24px rgba(0, 0, 0, 0.06),
189
- 16px 16px 32px rgba(28, 0, 135, 0.2);
190
- --bs-shadow-profilePhoto: inset 0px 0px 0.5em rgba(28, 0, 135, 0.25);
192
+ --bs-leading-sm: 1.1;
193
+ --bs-leading-regular: 1.3;
194
+ --bs-leading-lg: 1.5;
195
+ --bs-shadow-contentLow: -4px 4px 12px var(--bs-shadow-primary),
196
+ -8px 8px 16px var(--bs-shadow-secondary);
197
+ --bs-shadow-contentLowCenter: 0px 0px 12px var(--bs-shadow-primary),
198
+ 0px 0px 16px var(--bs-shadow-secondary);
199
+ --bs-shadow-contentMedium: -8px 8px 24px var(--bs-shadow-primary),
200
+ -16px 16px 32px var(--bs-shadow-secondary);
201
+ --bs-shadow-contentHigh: 0px 16px 48px var(--bs-shadow-primary),
202
+ 0px 32px 64px var(--bs-shadow-secondary);
203
+ --bs-shadow-drawerLeft: -12px 12px 24px var(--bs-shadow-primary),
204
+ -16px 16px 32px var(--bs-shadow-secondary);
205
+ --bs-shadow-drawerRight: -12px 12px 24px var(--bs-shadow-primary),
206
+ 16px 16px 32px var(--bs-shadow-secondary);
207
+ --bs-shadow-profilePhoto: inset 0px 0px 0.5em var(--bs-shadow-secondary);
208
+ }
209
+ /* Overrides/additions to the generated tokens */
210
+ :root {
211
+ /* Transitions */
212
+ --bs-transition-quick: 75ms;
213
+ --bs-transition-fast: 100ms;
214
+ --bs-transition-moderate: 150ms;
215
+ --bs-transition-medium: 200ms;
216
+ --bs-transition-slow: 250ms;
217
+ --bs-transition-leisurely: 300ms;
218
+ --bs-transition-long: 500ms;
219
+ --bs-transition-ease: ease-in-out;
220
+ --bs-transition-cubic: cubic-bezier(.15, .4, .49, 1);
221
+
222
+ /* Navigation */
223
+ --bs-horizontal-nav-height: 48px;
224
+ --bs-vertical-nav-narrow-width: 4.5rem;
225
+ --bs-vertical-nav-width: 9.875rem;
226
+
227
+ /* Table */
228
+ --bs-table-cell-padding-xs: var(--bs-space-2);
229
+ --bs-table-cell-padding-sm: var(--bs-space-3);
230
+ --bs-table-cell-padding-md: var(--bs-space-4);
231
+ --bs-table-cell-padding-lg: var(--bs-space-6);
232
+ --bs-table-cell-padding-xl: var(--bs-space-8);
233
+
234
+ /* Popover */
235
+ --bs-popover-z-index: 1000;
236
+ }
237
+ /* Themes */
238
+ :root {
239
+ /* Ink */
240
+ --bs-ink-base: var(--bs-black);
241
+ --bs-ink-medium: var(--bs-gray-500);
242
+ --bs-ink-light: var(--bs-gray-400);
243
+ --bs-ink-disabled: rgba(78, 79, 95, 0.6); /* --bs-gray-400 at .6 */
244
+ --bs-ink-invert-base: var(--bs-gray-100);
245
+ --bs-ink-invert-light: var(--bs-gray-300);
246
+ --bs-ink-invert-medium: var(--bs-gray-200);
247
+ --bs-ink-blue: var(--bs-blue-500);
248
+ --bs-ink-red: var(--bs-red-500);
249
+ --bs-ink-pink: var(--bs-pink-500);
250
+ --bs-ink-orange: var(--bs-orange-500);
251
+ --bs-ink-purple: var(--bs-purple-400);
252
+ --bs-ink-royal: var(--bs-royal-400);
253
+ --bs-ink-plum: var(--bs-plum-400);
254
+ --bs-ink-violet: var(--bs-violet-400);
255
+ --bs-ink-white: var(--bs-white);
256
+
257
+ /* Background */
258
+ --bs-bg-base: var(--bs-white);
259
+ --bs-bg-light: var(--bs-gray-50);
260
+ --bs-bg-medium: var(--bs-gray-100);
261
+ --bs-bg-disabled: var(--bs-gray-200);
262
+ --bs-bg-invert-base: var(--bs-slate-600);
263
+ --bs-bg-invert-light: var(--bs-slate-500);
264
+ --bs-bg-invert-medium: var(--bs-slate-400);
265
+ --bs-bg-base-to-light: var(--bs-white);
266
+ --bs-bg-base-to-medium: var(--bs-white);
267
+ --bs-bg-medium-to-base: var(--bs-gray-100);
268
+ --bs-bg-medium-to-light: var(--bs-gray-100);
269
+ --bs-bg-light-to-base: var(--bs-gray-50);
270
+ --bs-bg-light-to-medium: var(--bs-gray-50);
271
+
272
+ /* Borders */
273
+ --bs-border-base: var(--bs-gray-200);
274
+ --bs-border-medium: var(--bs-gray-150);
275
+ --bs-border-light: var(--bs-gray-100);
276
+ --bs-border-dark: var(--bs-gray-400);
277
+ --bs-border-medium-to-light: var(--bs-gray-150);
278
+ --bs-border-input: rgba(99, 66, 145, 0.75); /* --bs-violet-300 at .75 opacity */
279
+ --bs-border-active: var(--bs-blue-400);
280
+ --bs-border-error: var(--bs-red-500);
281
+
282
+ /* Blue */
283
+ --bs-blue-base: var(--bs-blue-400);
284
+ --bs-blue-medium: var(--bs-blue-300);
285
+ --bs-blue-light: var(--bs-blue-200);
286
+ --bs-blue-lightest: var(--bs-blue-100);
287
+
288
+ /* Plum */
289
+ --bs-plum-base: var(--bs-plum-400);
290
+ --bs-plum-medium: var(--bs-plum-300);
291
+ --bs-plum-light: var(--bs-plum-200);
292
+ --bs-plum-lightest: var(--bs-plum-100);
293
+
294
+ /* Red */
295
+ --bs-red-base: var(--bs-red-400);
296
+ --bs-red-medium: var(--bs-red-300);
297
+ --bs-red-light: var(--bs-red-200);
298
+ --bs-red-lightest: var(--bs-red-100);
299
+
300
+ /* Royal */
301
+ --bs-royal-base: var(--bs-royal-400);
302
+ --bs-royal-medium: var(--bs-royal-300);
303
+ --bs-royal-light: var(--bs-royal-200);
304
+ --bs-royal-lightest: var(--bs-royal-100);
305
+
306
+ /* Navy */
307
+ --bs-navy-base: var(--bs-navy-400);
308
+ --bs-navy-medium: var(--bs-navy-300);
309
+ --bs-navy-light: var(--bs-navy-200);
310
+ --bs-navy-lightest: var(--bs-navy-100);
311
+
312
+ /* Pink */
313
+ --bs-pink-base: var(--bs-pink-400);
314
+ --bs-pink-medium: var(--bs-pink-300);
315
+ --bs-pink-light: var(--bs-pink-200);
316
+ --bs-pink-lightest: var(--bs-pink-100);
317
+
318
+ /* Violet */
319
+ --bs-violet-base: var(--bs-violet-400);
320
+ --bs-violet-medium: var(--bs-violet-300);
321
+ --bs-violet-light: var(--bs-violet-200);
322
+ --bs-violet-lightest: var(--bs-violet-100);
323
+
324
+ /* Orange */
325
+ --bs-warning: var(--bs-orange-500);
326
+ --bs-orange-base: var(--bs-orange-400);
327
+ --bs-orange-medium: var(--bs-orange-300);
328
+ --bs-orange-light: var(--bs-orange-200);
329
+ --bs-orange-lightest: var(--bs-orange-100);
330
+
331
+ /* Purple */
332
+ --bs-purple-base: var(--bs-purple-400);
333
+ --bs-purple-medium: var(--bs-purple-300);
334
+ --bs-purple-light: var(--bs-purple-200);
335
+ --bs-purple-lightest: var(--bs-purple-100);
336
+
337
+ /* Gray */
338
+ --bs-gray-dark: var(--bs-gray-500);
339
+ --bs-gray-base: var(--bs-gray-400);
340
+ --bs-gray-medium: var(--bs-gray-300);
341
+ --bs-gray-light: var(--bs-gray-200);
342
+ --bs-gray-lightest: var(--bs-gray-100);
343
+ }
344
+ /* Token Overrides */
345
+ .dark {
346
+ /* Ink */
347
+ --bs-ink-base: var(--bs-white);
348
+ --bs-ink-medium: var(--bs-gray-100);
349
+ --bs-ink-light: var(--bs-gray-200);
350
+ --bs-ink-disabled: rgba(163, 164, 183, 0.5); /* --bs-gray-300 at .5 opacity */
351
+ --bs-ink-invert-base: var(--bs-black);
352
+ --bs-ink-invert-light: var(--bs-gray-400);
353
+ --bs-ink-invert-medium: var(--bs-gray-500);
354
+ --bs-ink-blue: var(--bs-blue-200);
355
+ --bs-ink-red: var(--bs-red-200);
356
+ --bs-ink-pink: var(--bs-pink-200);
357
+ --bs-ink-orange: var(--bs-orange-200);
358
+ --bs-ink-purple: var(--bs-purple-200);
359
+ --bs-ink-royal: var(--bs-royal-200);
360
+ --bs-ink-plum: var(--bs-plum-100);
361
+ --bs-ink-violet: var(--bs-violet-200);
362
+ --bs-ink-white: var(--bs-white);
363
+
364
+ /* Background */
365
+ --bs-bg-base: var(--bs-slate-600);
366
+ --bs-bg-light: var(--bs-slate-500);
367
+ --bs-bg-medium: var(--bs-slate-400);
368
+ --bs-bg-disabled: rgba(78, 79, 95, 0.3); /* --bs-gray-400 at .3 opacity */
369
+ --bs-bg-invert-base: var(--bs-white);
370
+ --bs-bg-invert-light: var(--bs-gray-50);
371
+ --bs-bg-invert-medium: var(--bs-gray-100);
372
+ --bs-bg-base-to-light: var(--bs-slate-500);
373
+ --bs-bg-base-to-medium: var(--bs-slate-400);
374
+ --bs-bg-medium-to-base: var(--bs-slate-600);
375
+ --bs-bg-medium-to-light: var(--bs-slate-500);
376
+ --bs-bg-light-to-base: var(--bs-slate-600);
377
+ --bs-bg-light-to-medium: var(--bs-slate-400);
378
+
379
+ /* Borders */
380
+ --bs-border-base: rgba(163, 164, 183, 0.7); /* --bs-gray-300 at .7 opacity */
381
+ --bs-border-medium: var(--bs-gray-400);
382
+ --bs-border-light: rgba(78, 79, 95, 0.5); /* --bs-gray-400 at .5 opacity */
383
+ --bs-border-dark: var(--bs-gray-300);
384
+ --bs-border-medium-to-light: rgba(78, 79, 95, 0.5); /* --bs-gray-400 at .5 opacity */
385
+ --bs-border-input: var(--bs-violet-200);
386
+ --bs-border-active: var(--bs-blue-400);
387
+ --bs-border-error: var(--bs-red-200);
388
+
389
+ /* Blue */
390
+ --bs-blue-base: var(--bs-blue-300);
391
+
392
+ /* Plum */
393
+ --bs-plum-base: var(--bs-plum-300);
394
+ --bs-plum-medium: var(--bs-plum-200);
395
+
396
+ /* Red */
397
+ --bs-red-base: var(--bs-red-300);
398
+
399
+ /* Royal */
400
+ --bs-royal-base: var(--bs-royal-300);
401
+ --bs-royal-medium: var(--bs-royal-200);
402
+
403
+ /* Navy */
404
+ --bs-navy-base: var(--bs-navy-200);
405
+
406
+ /* Pink */
407
+ --bs-pink-base: var(--bs-pink-300);
408
+
409
+ /* Violet */
410
+ --bs-violet-base: var(--bs-violet-300);
411
+
412
+ /* Orange */
413
+ --bs-warning: var(--bs-orange-400);
414
+ --bs-orange-base: var(--bs-orange-300);
415
+
416
+ /* Purple */
417
+ --bs-purple-base: var(--bs-purple-300);
418
+
419
+ /* Gray */
420
+ --bs-gray-dark: var(--bs-gray-100);
421
+ --bs-gray-base: var(--bs-gray-200);
422
+ --bs-gray-light: var(--bs-gray-400);
423
+ --bs-gray-lightest: var(--bs-gray-500);
424
+
425
+ /* Atom gradients */
426
+ --bs-gradient-atom-ai-bg: conic-gradient(from 180deg at 50% 50%, rgba(83, 101, 196, 0.2) -96.8deg, rgba(228, 94, 155, 0.2) 74.2deg, rgba(51, 158, 238, 0.2) 98.8deg, rgba(249, 124, 76, 0.2) 259.6deg, rgba(83, 101, 196, 0.2) 283.2deg, rgba(228, 94, 155, 0.2) 414.4deg);
427
+ --bs-gradient-atom-ai-border: conic-gradient(from 180deg at 50% 50%, var(--bs-royal-300) -96.8deg, var(--bs-pink-300) 74.2deg, var(--bs-blue-300) 98.8deg, var(--bs-orange-300) 259.6deg, var(--bs-royal-300) 283.2deg, var(--bs-pink-300) 414.4deg);
428
+
429
+ /* Shadows */
430
+ /* Have to re-specify so secondary update applies */
431
+ --bs-shadow-secondary: rgba(10, 11, 25, 0.60);
432
+ --bs-shadow-dark: -16px 20px 40px 0 #000;
433
+ --bs-shadow-contentLow: var(--bs-shadow-dark);
434
+ --bs-shadow-contentLowCenter: var(--bs-shadow-dark);
435
+ --bs-shadow-contentMedium: var(--bs-shadow-dark);
436
+ --bs-shadow-contentHigh: var(--bs-shadow-dark);
437
+ --bs-shadow-drawerLeft: var(--bs-shadow-dark);
438
+ --bs-shadow-drawerRight: 16px 20px 40px 0 #000;
439
+ --bs-shadow-profilePhoto: inset 0px 0px 0.5em var(--bs-shadow-secondary);
440
+ }
441
+ /* Links */
442
+ .dark :where(a) {
443
+ color: var(--bs-purple-200);
444
+ outline-color: var(--bs-blue-300);
445
+ }
446
+ .dark :where(a):where(:hover),
447
+ .dark :where(a):where(:focus),
448
+ .dark :where(a):where(:focus-visible) {
449
+ color: var(--bs-pink-300);
450
+ text-decoration-color: var(--bs-purple-200);
191
451
  }
452
+ /* Base Styles */
192
453
  /*
193
454
  1. Prevent padding and border from affecting element width.
194
455
  2. Allow adding a border to an element by just adding a border-width. This fixes an issue
@@ -280,625 +541,476 @@ button {
280
541
  transition-duration: 0.01ms !important;
281
542
  }
282
543
  }
283
- /* Specificity should be either (0, 1, 0) (class-based) or (0, 0, 1) (element-based) for each selector */
284
- :root,
285
- :host {
286
- --bs-bg-base: var(--bs-white);
287
- --bs-bg-base-to-light: var(--bs-white);
288
- --bs-bg-base-to-medium: var(--bs-white);
289
- --bs-bg-light: var(--bs-gray-50);
290
- --bs-bg-light-to-base: var(--bs-gray-50);
291
- --bs-bg-light-to-medium: var(--bs-gray-50);
292
- --bs-bg-medium: var(--bs-gray-100);
293
- --bs-bg-medium-to-light: var(--bs-gray-100);
294
- --bs-bg-medium-to-base: var(--bs-gray-100);
295
- --bs-bg-invert-to-light: var(--bs-slate-500);
296
- --bs-bg-invert-to-base: var(--bs-slate-600);
297
- --bs-bg-invert-to-medium: var(--bs-slate-400);
298
- --bs-bg-disabled: var(--bs-gray-200);
299
-
300
- --bs-hyperlink: var(--bs-purple-400);
301
-
302
- --bs-ink-accent: var(--bs-plum-400);
303
- --bs-ink-base: var(--bs-black);
304
- --bs-ink-disabled: rgba(78, 79, 95, 0.6); /* --bs-gray-400 at .6 */
305
- --bs-ink-light: var(--bs-gray-400);
306
- --bs-ink-invert-base: var(--bs-gray-100);
307
- --bs-ink-invert-to-medium: var(--bs-gray-200);
308
- --bs-ink-invert-light: var(--bs-gray-300);
309
- --bs-ink-medium: var(--bs-gray-500);
310
-
311
- --bs-ink-blue: var(--bs-blue-500);
312
- --bs-ink-orange: var(--bs-orange-500);
313
- --bs-ink-pink: var(--bs-pink-500);
314
- --bs-ink-plum: var(--bs-plum-400);
315
- --bs-ink-purple: var(--bs-purple-400);
316
- --bs-ink-red: var(--bs-red-500);
317
- --bs-ink-royal: var(--bs-royal-400);
318
- --bs-ink-violet: var(--bs-violet-400);
319
- --bs-ink-white: var(--bs-white);
320
-
321
- --bs-blue-base: var(--bs-blue-400);
322
- --bs-blue-medium: var(--bs-blue-300);
323
- --bs-blue-light: var(--bs-blue-200);
324
- --bs-blue-lightest: var(--bs-blue-100);
325
- --bs-plum-base: var(--bs-plum-400);
326
- --bs-plum-medium: var(--bs-plum-300);
327
- --bs-plum-light: var(--bs-plum-200);
328
- --bs-plum-lightest: var(--bs-plum-100);
329
- --bs-red-base: var(--bs-red-400);
330
- --bs-red-medium: var(--bs-red-300);
331
- --bs-red-light: var(--bs-red-200);
332
- --bs-red-lightest: var(--bs-red-100);
333
- --bs-royal-base: var(--bs-royal-400);
334
- --bs-royal-medium: var(--bs-royal-300);
335
- --bs-royal-light: var(--bs-royal-200);
336
- --bs-royal-lightest: var(--bs-royal-100);
337
- --bs-navy-base: var(--bs-navy-400);
338
- --bs-navy-medium: var(--bs-navy-300);
339
- --bs-navy-light: var(--bs-navy-200);
340
- --bs-navy-lightest: var(--bs-navy-100);
341
- --bs-pink-base: var(--bs-pink-400);
342
- --bs-pink-medium: var(--bs-pink-300);
343
- --bs-pink-light: var(--bs-pink-200);
344
- --bs-pink-lightest: var(--bs-pink-100);
345
- --bs-violet-base: var(--bs-violet-400);
346
- --bs-violet-medium: var(--bs-violet-300);
347
- --bs-violet-light: var(--bs-violet-200);
348
- --bs-violet-lightest: var(--bs-violet-100);
349
- --bs-orange-base: var(--bs-orange-400);
350
- --bs-orange-medium: var(--bs-orange-300);
351
- --bs-orange-light: var(--bs-orange-200);
352
- --bs-orange-lightest: var(--bs-orange-100);
353
- --bs-purple-base: var(--bs-purple-400);
354
- --bs-purple-medium: var(--bs-purple-300);
355
- --bs-purple-light: var(--bs-purple-200);
356
- --bs-purple-lightest: var(--bs-purple-100);
357
- --bs-gray-dark: var(--bs-gray-500);
358
- --bs-gray-base: var(--bs-gray-400);
359
- --bs-gray-medium: var(--bs-gray-300);
360
- --bs-gray-light: var(--bs-gray-200);
361
- --bs-gray-lightest: var(--bs-gray-100);
362
-
363
- --bs-warning: var(--bs-orange-500);
364
-
365
- --bs-border-dark: var(--bs-gray-400);
366
- --bs-border-base: var(--bs-gray-200);
367
- --bs-border-medium: var(--bs-gray-150);
368
- --bs-border-medium-to-light: var(--bs-gray-150);
369
- --bs-border-light: var(--bs-gray-100);
370
- --bs-border-input: rgba(99, 66, 145, 0.75); /* --bs-violet-300 at .75 opacity */
371
- --bs-border-active: var(--bs-blue-400);
372
- --bs-border-error: var(--bs-red-500);
373
-
374
- /* Spacing */
375
- --bs-content-top: 4rem;
376
- --bs-content-max-width: 72rem;
377
-
378
- /* Type */
379
- --bs-font-light: 300;
380
- --bs-font-normal: 400;
381
- --bs-font-bold: 600;
382
-
383
- /* Special use cases */
384
- --bs-bg-input-hover: rgba(201, 202, 217, 0.20);
385
-
386
- /* deprecate / phase out.. */
387
- --bs-bg-base-elevated: var(--bs-white); /* now --bs-bg-base-to-light */
388
- --bs-bg-subtle: var(--bs-gray-100);
389
- --bs-bg-invert: var(--bs-slate-500);
390
- --bs-bg-invert-subtle: var(--bs-slate-400);
391
- --bs-border: var(--bs-gray-200);
392
- --bs-ink-invert: var(--bs-gray-100);
393
- --bs-orange-warning: var(--bs-orange-500);
394
- /* now --bs-warning. 👆 mapping to bs-warning directly doesn't autoconvert in dark mode for some reason. Same for bg-base-to-light.*/
395
-
396
- --bs-bg-atom-ai: conic-gradient(from 180deg at 50% 50%, rgba(22, 47, 180, 0.05) -96.8deg, rgba(227, 28, 121, 0.05) 74.2deg, rgba(0, 134, 234, 0.05) 98.8deg, rgba(251, 85, 14, 0.05) 259.6deg, rgba(22, 47, 180, 0.05) 283.2deg, rgba(227, 28, 121, 0.05) 414.4deg);
397
- --bs-atom-ai: conic-gradient(from 180deg at 50% 50%, var(--bs-royal-400) -96.8deg, var(--bs-pink-400) 74.2deg, var(--bs-blue-400) 98.8deg, var(--bs-orange-400) 259.6deg, var(--bs-royal-400) 283.2deg, var(--bs-pink-400) 414.4deg);
398
- }
399
- .dark,
400
- .dark :where(:host) {
401
- --bs-bg-base: var(--bs-slate-600);
402
- --bs-bg-base-to-light: var(--bs-slate-500);
403
- --bs-bg-base-to-medium: var(--bs-slate-400);
404
- --bs-bg-light: var(--bs-slate-500);
405
- --bs-bg-light-to-base: var(--bs-slate-600);
406
- --bs-bg-light-to-medium: var(--bs-slate-400);
407
- --bs-bg-medium: var(--bs-slate-400);
408
- --bs-bg-medium-to-light: var(--bs-slate-500);
409
- --bs-bg-medium-to-base: var(--bs-slate-600);
410
- --bs-bg-invert-to-light: var(--bs-gray-50);
411
- --bs-bg-invert-to-base: var(--bs-white);
412
- --bs-bg-invert-to-medium: var(--bs-gray-100);
413
- --bs-bg-disabled: rgba(78, 79, 95, 0.3); /* --bs-gray-400 at .3 opacity */
414
-
415
- --bs-hyperlink: var(--bs-purple-200);
416
-
417
- --bs-ink-accent: var(--bs-gray-100);
418
- --bs-ink-base: var(--bs-white);
419
- --bs-ink-disabled: rgba(163, 164, 183, 0.5); /* --bs-gray-300 at .5 opacity */
420
- --bs-ink-invert-base: var(--bs-black);
421
- --bs-ink-invert-medium: var(--bs-gray-500);
422
- --bs-ink-invert-light: var(--bs-gray-400);
423
- --bs-ink-light: var(--bs-gray-200);
424
- --bs-ink-medium: var(--bs-gray-100);
425
-
426
- --bs-ink-blue: var(--bs-blue-200);
427
- --bs-ink-orange: var(--bs-orange-200);
428
- --bs-ink-pink: var(--bs-pink-200);
429
- --bs-ink-plum: var(--bs-plum-100);
430
- --bs-ink-purple: var(--bs-purple-200);
431
- --bs-ink-red: var(--bs-red-200);
432
- --bs-ink-royal: var(--bs-royal-200);
433
- --bs-ink-violet: var(--bs-violet-200);
434
-
435
- --bs-blue-base: var(--bs-blue-300);
436
- --bs-navy-base: var(--bs-navy-200);
437
- --bs-orange-base: var(--bs-orange-300);
438
- --bs-pink-base: var(--bs-pink-300);
439
- --bs-plum-base: var(--bs-plum-300);
440
- --bs-plum-medium: var(--bs-plum-200);
441
- --bs-purple-base: var(--bs-purple-300);
442
- --bs-red-base: var(--bs-red-300);
443
- --bs-royal-base: var(--bs-royal-300);
444
- --bs-royal-medium: var(--bs-royal-200);
445
- --bs-violet-base: var(--bs-violet-300);
446
-
447
- --bs-gray-dark: var(--bs-gray-100);
448
- --bs-gray-base: var(--bs-gray-200);
449
- --bs-gray-light: var(--bs-gray-400);
450
- --bs-gray-lightest: var(--bs-gray-500);
451
-
452
- --bs-warning: var(--bs-orange-400);
453
-
454
- --bs-border-dark: var(--bs-gray-300);
455
- --bs-border-base: rgba(163, 164, 183, 0.7); /* --bs-gray-300 at .7 opacity */
456
- --bs-border-medium: var(--bs-gray-400);
457
- --bs-border-medium-to-light: rgba(78, 79, 95, 0.5); /* --bs-gray-400 at .5 opacity */
458
- --bs-border-light: rgba(78, 79, 95, 0.5); /* --bs-gray-400 at .5 opacity */
459
- --bs-border-input: var(--bs-violet-200);
460
- --bs-border-active: var(--bs-blue-400);
461
- --bs-border-error: var(--bs-red-200);
462
-
463
- --bs-shadow-base: rgba(0, 0, 0, 0.06);
464
- --bs-shadow-invert: rgba(10, 11, 25, 0.60);
465
- --bs-shadow: -4px 4px 12px var(--bs-shadow-base),
466
- -8px 8px 16px var(--bs-shadow-invert);
467
- --bs-shadow-contentLow: -4px 4px 12px var(--bs-shadow-base),
468
- -8px 8px 16px var(--bs-shadow-invert);
469
- --bs-shadow-contentLowCenter: 0px 0px 12px var(--bs-shadow-base),
470
- 0px 0px 16px var(--bs-shadow-invert);
471
- --bs-shadow-contentMedium: -8px 8px 24px var(--bs-shadow-base),
472
- -16px 16px 32px var(--bs-shadow-invert);
473
- --bs-shadow-contentHigh: 0px 16px 48px var(--bs-shadow-base),
474
- 0px 32px 64px var(--bs-shadow-invert);
475
- --bs-shadow-drawerLeft: -12px 12px 24px var(--bs-shadow-base),
476
- -16px 16px 32px var(--bs-shadow-invert);
477
- --bs-shadow-drawerRight: -12px 12px 24px var(--bs-shadow-base),
478
- 16px 16px 32px var(--bs-shadow-invert);
479
-
480
- /* deprecate / phase out.. */
481
- --bs-bg-base-elevated: var(--bs-slate-500); /* now --bs-bg-base-to-light. See notes above in light mode. */
482
- --bs-bg-subtle: #2F2F51;
483
- --bs-bg-invert: var(--bs-white);
484
- --bs-bg-invert-subtle: var(--bs-gray-100);
485
- --bs-border: var(--bs-gray-400);
486
- --bs-ink-invert: var(--bs-black);
487
- --bs-orange-warning: var(--bs-orange-400); /* now --bs-warning. See notes above in light mode. */
488
-
489
- --bs-bg-atom-ai: conic-gradient(from 180deg at 50% 50%, rgba(83, 101, 196, 0.2) -96.8deg, rgba(228, 94, 155, 0.2) 74.2deg, rgba(51, 158, 238, 0.2) 98.8deg, rgba(249, 124, 76, 0.2) 259.6deg, rgba(83, 101, 196, 0.2) 283.2deg, rgba(228, 94, 155, 0.2) 414.4deg);
490
- --bs-atom-ai: conic-gradient(from 180deg at 50% 50%, var(--bs-royal-300) -96.8deg, var(--bs-pink-300) 74.2deg, var(--bs-blue-300) 98.8deg, var(--bs-orange-300) 259.6deg, var(--bs-royal-300) 283.2deg, var(--bs-pink-300) 414.4deg);
544
+ html {
545
+ -ms-text-size-adjust: 100%;
546
+ -webkit-text-size-adjust: 100%;
547
+ -moz-osx-font-smoothing: grayscale;
548
+ -webkit-font-smoothing: antialiased;
491
549
  }
492
- body,
493
- :host {
550
+ body {
494
551
  background-color: var(--bs-bg-base);
495
552
  color: var(--bs-ink-light);
553
+ font-family: 'Roobert', sans-serif;
554
+ font-size: var(--bs-text-base);
555
+ font-weight: var(--bs-font-normal);
496
556
  }
497
557
  :target {
498
558
  scroll-margin-top: var(--bs-content-top);
499
559
  }
500
560
  ::-moz-selection {
501
- background-color: var(--bs-royal-400);
502
- color: var(--bs-white);
561
+ background-color: var(--bs-royal-base);
562
+ color: var(--bs-ink-white);
503
563
  }
504
564
  ::selection {
505
- background-color: var(--bs-royal-400);
506
- color: var(--bs-white);
565
+ background-color: var(--bs-royal-base);
566
+ color: var(--bs-ink-white);
567
+ }
568
+ *:where([data-scroll="false"]) {
569
+ overflow: hidden;
507
570
  }
508
571
  [hidden] {
509
572
  display: none;
510
573
  }
511
574
  hr {
512
- background: var(--bs-border);
575
+ background: var(--bs-border-base);
513
576
  border: 0;
514
577
  height: 1px;
515
578
  }
516
- /* Specificity should be either (0, 1, 0) (class-based) or (0, 0, 1) (element-based) for each selector */
517
- body {
518
- font-family: 'Roobert', sans-serif;
519
- font-size: var(--bs-text-base);
520
- font-weight: 400;
579
+ blockquote {
580
+ background-color: var(--bs-bg-medium);
581
+ border-left: 4px solid var(--bs-blue-base);
582
+ color: var(--bs-ink-light);
583
+ font-style: italic;
584
+ font-weight: var(--bs-font-normal);
585
+ padding: var(--bs-space-4);
586
+ }
587
+ a {
588
+ border-radius: 0.25rem;
589
+ color: var(--bs-ink-blue);
590
+ cursor: pointer;
591
+ outline-color: var(--bs-blue-base);
592
+ text-decoration: none;
593
+ text-underline-offset: 2px;
594
+ transition: all var(--bs-transition-quick) var(--bs-transition-ease);
595
+ }
596
+ a:where(:hover) {
597
+ text-decoration: underline;
598
+ }
599
+ a:where(:visited) {
600
+ color: var(--bs-ink-plum);
521
601
  }
522
- /* Default Element/data-variant Styles */
523
- [data-variant^="heading-xl"] {
602
+ a:where(:focus-visible) {
603
+ outline-offset: var(--bs-space-1);
604
+ outline-style: solid;
605
+ outline-width: 2px;
606
+ }
607
+ a:where(:focus:not(:focus-visible)) {
608
+ outline: none;
609
+ }
610
+ /* h1 - replicates .bs-text-5xl */
611
+ h1 {
612
+ color: var(--bs-ink-base);
524
613
  font-size: var(--bs-text-4xl);
525
- font-weight: 400;
614
+ font-weight: var(--bs-font-light);
526
615
  line-height: var(--bs-leading-sm);
527
616
  }
528
- h1,
529
- [data-variant^="heading-1"] {
617
+ @media (min-width: 1166px) {
618
+ h1 {
619
+ font-size: var(--bs-text-5xl);
620
+ font-weight: var(--bs-font-light);
621
+ line-height: var(--bs-leading-sm);
622
+ }
623
+ }
624
+ /* h2 - replicates .bs-text-4xl */
625
+ h2 {
626
+ color: var(--bs-ink-base);
530
627
  font-size: var(--bs-text-3xl);
531
- font-weight: 400;
628
+ font-weight: var(--bs-font-light);
532
629
  line-height: var(--bs-leading-sm);
533
630
  }
534
- h2,
535
- [data-variant^="heading-2"] {
631
+ @media (min-width: 1166px) {
632
+ h2 {
633
+ font-size: var(--bs-text-4xl);
634
+ font-weight: var(--bs-font-light);
635
+ line-height: var(--bs-leading-sm);
636
+ }
637
+ }
638
+ /* h3 - replicates .bs-text-3xl */
639
+ h3 {
640
+ color: var(--bs-ink-base);
536
641
  font-size: var(--bs-text-2xl);
537
- font-weight: 600;
642
+ font-weight: var(--bs-font-light);
538
643
  line-height: var(--bs-leading-sm);
539
644
  }
540
- h3,
541
- [data-variant^="heading-3"] {
645
+ @media (min-width: 1166px) {
646
+ h3 {
647
+ font-size: var(--bs-text-3xl);
648
+ font-weight: var(--bs-font-light);
649
+ line-height: var(--bs-leading-sm);
650
+ }
651
+ }
652
+ /* h4 - replicates .bs-text-2xl */
653
+ h4 {
654
+ color: var(--bs-ink-base);
542
655
  font-size: var(--bs-text-xl);
543
- font-weight: 600;
656
+ font-weight: var(--bs-font-normal);
544
657
  line-height: var(--bs-leading-sm);
545
658
  }
546
- h4,
547
- [data-variant^="heading-4"] {
659
+ @media (min-width: 1166px) {
660
+ h4 {
661
+ font-size: var(--bs-text-2xl);
662
+ font-weight: var(--bs-font-light);
663
+ line-height: var(--bs-leading-sm);
664
+ }
665
+ }
666
+ /* h5 - replicates .bs-text-xl */
667
+ h5 {
668
+ color: var(--bs-ink-base);
548
669
  font-size: var(--bs-text-lg);
549
- font-weight: 600;
670
+ font-weight: var(--bs-font-normal);
671
+ line-height: var(--bs-leading-regular);
550
672
  }
551
- h5,
552
- [data-variant^="heading-5"] {
673
+ @media (min-width: 1166px) {
674
+ h5 {
675
+ font-size: var(--bs-text-xl);
676
+ font-weight: var(--bs-font-normal);
677
+ line-height: var(--bs-leading-sm);
678
+ }
679
+ }
680
+ /* h6 - replicates .bs-text-lg */
681
+ h6 {
682
+ color: var(--bs-ink-base);
553
683
  font-size: var(--bs-text-md);
554
- font-weight: 600;
684
+ font-weight: var(--bs-font-normal);
685
+ line-height: var(--bs-leading-lg);
555
686
  }
556
- h6,
557
- [data-variant^="heading-6"] {
558
- font-size: var(--bs-text-base);
559
- font-weight: 600;
687
+ @media (min-width: 1166px) {
688
+ h6 {
689
+ font-size: var(--bs-text-lg);
690
+ font-weight: var(--bs-font-normal);
691
+ line-height: var(--bs-leading-regular);
692
+ }
560
693
  }
561
- .prose {
562
- font-size: var(--bs-text-md);
563
- max-width: 70ch;
694
+ /* Utilities */
695
+ .flow > * + * {
696
+ margin-top: var(--flow-space, 1.25em);
564
697
  }
565
- :where(.prose) :is(h1, h2, h3, h4, h5, h6):where(:not([data-color])) {
566
- color: var(--bs-ink-base);
698
+ .flow > :where(h1, h2, h3, h4, h5, h6) {
699
+ --flow-space: 2em;
567
700
  }
568
- [data-variant^="default"] {
569
- font-size: var(--bs-text-base);
701
+ .flow > :where(hr) + * {
702
+ --flow-space: 1.5em;
570
703
  }
571
- .bs-meta,
572
- [data-variant^="meta"] {
573
- font-size: var(--bs-text-xs);
574
- font-weight: 600;
704
+ .flow > :where(h1, h2, h3, h4, h5, h6) + * {
705
+ --flow-space: 0.5em;
575
706
  }
576
- :where(.prose) blockquote {
577
- border-left: 4px solid var(--bs-plum-200);
578
- color: var(--bs-plum-200);
579
- font-style: italic;
580
- font-weight: 400;
581
- padding-left: var(--bs-space-4);
707
+ .flow > :where(ul, ol) > :where(li) {
708
+ margin-top: var(--flow-space, 0.625em);
582
709
  }
583
- .prose:where([data-width="wide"]) {
584
- max-width: 90%;
710
+ .bs-visually-hidden {
711
+ border: 0;
712
+ clip: rect(0 0 0 0);
713
+ height: 1px;
714
+ margin: 0;
715
+ overflow: hidden;
716
+ padding: 0;
717
+ position: absolute;
718
+ white-space: nowrap;
719
+ width: 1px;
585
720
  }
586
- .prose:where([data-width="wide"]) > :where(p, h1, h2, h3, h4, h5, h6, blockquote, ul, ol) {
587
- max-width: 48rem;
721
+ .bs-box {
722
+ --bg-color: var(--bs-bg-medium-to-light);
723
+ --border-color: transparent;
724
+ --box-space: var(--bs-space-6);
725
+ --text-color: var(--bs-ink-base);
726
+ background: var(--bg-color);
727
+ border-radius: 0.25rem;
728
+ border: 1px solid var(--border-color);
729
+ color: var(--text-color);
730
+ padding-bottom: var(--box-space);
731
+ padding-left: var(--box-space);
732
+ padding-right: var(--box-space);
733
+ padding-top: var(--box-space);
734
+ }
735
+ .bs-box:where([data-invert="true"]) {
736
+ --bg-color: var(--bs-bg-invert-light);
737
+ --text-color: var(--bs-ink-invert-base);
738
+ }
739
+ .bs-box:where([data-border="true"]) {
740
+ --border-color: var(--bs-border-base);
741
+ }
742
+ .bs-cluster {
743
+ --cluster-space: var(--bs-space-6);
744
+ align-items: center;
745
+ display: flex;
746
+ flex-wrap: wrap;
747
+ gap: var(--cluster-space);
748
+ justify-content: flex-start;
588
749
  }
589
- /* data-font-size Styles */
590
- [data-font-size^='4xl'] {
591
- font-size: var(--bs-text-4xl);
592
- line-height: var(--bs-leading-sm);
750
+ .bs-cluster:where([data-brick="true"]) > * {
751
+ align-self: stretch;
752
+ flex-grow: 1;
593
753
  }
594
- [data-font-size^='3xl'] {
595
- font-size: var(--bs-text-3xl);
596
- line-height: var(--bs-leading-sm);
754
+ .bs-cluster:where([data-gap="tight"]) {
755
+ --cluster-space: var(--bs-space-2);
597
756
  }
598
- [data-font-size^='2xl'] {
599
- font-size: var(--bs-text-2xl);
600
- line-height: var(--bs-leading-sm);
757
+ .bs-box-shadow-low {
758
+ box-shadow: var(--bs-shadow-contentLow);
601
759
  }
602
- [data-font-size^='xl'] {
603
- font-size: var(--bs-text-xl);
604
- line-height: var(--bs-leading-sm);
760
+ .bs-box-shadow-low-center {
761
+ box-shadow: var(--bs-shadow-contentLowCenter);
605
762
  }
606
- [data-font-size^='lg'] {
607
- font-size: var(--bs-text-lg);
763
+ .bs-box-shadow-medium {
764
+ box-shadow: var(--bs-shadow-contentMedium);
608
765
  }
609
- [data-font-size^='md'] {
610
- font-size: var(--bs-text-md);
766
+ .bs-box-shadow-high {
767
+ box-shadow: var(--bs-shadow-contentHigh);
611
768
  }
612
- [data-font-size^='base'] {
613
- font-size: var(--bs-text-base);
769
+ .bs-box-shadow-left-panel {
770
+ box-shadow: var(--bs-shadow-drawerLeft);
614
771
  }
615
- [data-font-size^='sm'] {
616
- font-size: var(--bs-text-sm);
772
+ .bs-box-shadow-right-panel {
773
+ box-shadow: var(--bs-shadow-drawerRight);
617
774
  }
618
- [data-font-size^='xs'] {
775
+ .bs-box-shadow-profile {
776
+ box-shadow: var(--bs-shadow-profilePhoto);
777
+ }
778
+ .bs-text-xs {
619
779
  font-size: var(--bs-text-xs);
780
+ font-weight: var(--bs-font-semibold);
781
+ line-height: var(--bs-leading-lg);
620
782
  }
621
- /* data-color Styles */
622
- [data-color^='base'] {
623
- color: var(--bs-ink-base);
783
+ .bs-text-sm {
784
+ font-size: var(--bs-text-sm);
785
+ font-weight: var(--bs-font-normal);
786
+ line-height: var(--bs-leading-lg);
624
787
  }
625
- [data-color^='medium'] {
626
- color: var(--bs-ink-medium);
788
+ .bs-text-base {
789
+ font-size: var(--bs-text-base);
790
+ font-weight: var(--bs-font-normal);
791
+ line-height: var(--bs-leading-lg);
627
792
  }
628
- [data-color^='light'] {
629
- color: var(--bs-ink-light);
793
+ .bs-text-md {
794
+ font-size: var(--bs-text-base);
795
+ font-weight: var(--bs-font-normal);
796
+ line-height: var(--bs-leading-lg);
630
797
  }
631
- [data-color^='accent'] {
632
- color: var(--bs-ink-accent);
798
+ @media (min-width: 1166px) {
799
+ .bs-text-md {
800
+ font-size: var(--bs-text-md);
801
+ }
633
802
  }
634
- /* data-weight Styles */
635
- [data-weight^='normal'],
636
- [data-weight^='400'] {
637
- font-weight: 400;
803
+ .bs-text-lg {
804
+ font-size: var(--bs-text-md);
805
+ font-weight: var(--bs-font-normal);
806
+ line-height: var(--bs-leading-regular);
638
807
  }
639
- [data-weight^='light'],
640
- [data-weight^='300'] {
641
- font-weight: 300;
808
+ @media (min-width: 1166px) {
809
+ .bs-text-lg {
810
+ font-size: var(--bs-text-lg);
811
+ }
642
812
  }
643
- [data-weight^='bold'],
644
- [data-weight^='600'] {
645
- font-weight: 600;
813
+ .bs-text-xl {
814
+ font-size: var(--bs-text-lg);
815
+ font-weight: var(--bs-font-normal);
816
+ line-height: var(--bs-leading-sm);
646
817
  }
647
- /* Specificity should be either (0, 1, 0) (class-based) or (0, 0, 1) (element-based) for each selector */
648
- :where(body).fluid {
649
- font-size: var(--bs-text-f-md);
818
+ @media (min-width: 1166px) {
819
+ .bs-text-xl {
820
+ font-size: var(--bs-text-xl);
821
+ }
650
822
  }
651
- /* Defaults & Variants */
652
- .fluid :where(h1),
653
- .fluid :where([data-variant^='heading-1']) {
654
- font-size: var(--bs-text-f-3xl);
823
+ .bs-text-2xl {
824
+ font-size: var(--bs-text-xl);
825
+ font-weight: var(--bs-font-light);
826
+ line-height: var(--bs-leading-sm);
655
827
  }
656
- .fluid :where(h2),
657
- .fluid :where([data-variant^='heading-2']) {
658
- font-size: var(--bs-text-f-2xl);
828
+ @media (min-width: 1166px) {
829
+ .bs-text-2xl {
830
+ font-size: var(--bs-text-2xl);
831
+ }
659
832
  }
660
- .fluid :where(h3),
661
- .fluid :where([data-variant^='heading-3']) {
662
- font-size: var(--bs-text-f-xl);
833
+ .bs-text-3xl {
834
+ font-size: var(--bs-text-2xl);
835
+ font-weight: var(--bs-font-light);
836
+ line-height: var(--bs-leading-sm);
663
837
  }
664
- .fluid :where(h4),
665
- .fluid :where([data-variant^='heading-4']) {
666
- font-size: var(--bs-text-f-lg);
838
+ @media (min-width: 1166px) {
839
+ .bs-text-3xl {
840
+ font-size: var(--bs-text-3xl);
841
+ }
667
842
  }
668
- .fluid :where(h5),
669
- .fluid :where([data-variant^='heading-5']) {
670
- font-size: var(--bs-text-f-md);
843
+ .bs-text-4xl {
844
+ font-size: var(--bs-text-3xl);
845
+ font-weight: var(--bs-font-light);
846
+ line-height: var(--bs-leading-sm);
671
847
  }
672
- .fluid :where(h6),
673
- .fluid :where([data-variant^='heading-6']) {
674
- font-size: var(--bs-text-f-sm);
848
+ @media (min-width: 1166px) {
849
+ .bs-text-4xl {
850
+ font-size: var(--bs-text-4xl);
851
+ }
675
852
  }
676
- .fluid:where(.prose),
677
- .fluid :where(.prose),
678
- .fluid :where([data-variant^='default']) {
679
- font-size: var(--bs-text-f-md);
853
+ .bs-text-5xl {
854
+ font-size: var(--bs-text-4xl);
855
+ font-weight: var(--bs-font-light);
856
+ line-height: var(--bs-leading-sm);
680
857
  }
681
- .fluid :where(.bs-meta),
682
- .fluid :where([data-variant^='meta']) {
683
- font-size: var(--bs-text-f-xs);
858
+ @media (min-width: 1166px) {
859
+ .bs-text-5xl {
860
+ font-size: var(--bs-text-5xl);
861
+ }
684
862
  }
685
- /* Fluid data-font-size Styles */
686
- .fluid :where([data-font-size^='4xl']) {
687
- font-size: var(--bs-text-f-4xl);
863
+ .bs-text-6xl {
864
+ font-size: var(--bs-text-5xl);
865
+ font-weight: var(--bs-font-light);
866
+ line-height: var(--bs-leading-sm);
688
867
  }
689
- .fluid :where([data-font-size^='3xl']) {
690
- font-size: var(--bs-text-f-3xl);
868
+ @media (min-width: 1166px) {
869
+ .bs-text-6xl {
870
+ font-size: var(--bs-text-6xl);
871
+ }
691
872
  }
692
- .fluid :where([data-font-size^='2xl']) {
693
- font-size: var(--bs-text-f-2xl);
873
+ .bs-font-light {
874
+ font-weight: var(--bs-font-light);
694
875
  }
695
- .fluid :where([data-font-size^='xl']) {
696
- font-size: var(--bs-text-f-xl);
697
- line-height: var(--bs-leading-sm);
876
+ .bs-font-normal {
877
+ font-weight: var(--bs-font-normal);
698
878
  }
699
- .fluid :where([data-font-size^='lg']) {
700
- font-size: var(--bs-text-f-lg);
879
+ .bs-font-semibold {
880
+ font-weight: var(--bs-font-semibold);
701
881
  }
702
- .fluid :where([data-font-size^='md']) {
703
- font-size: var(--bs-text-f-md);
882
+ .bs-leading-none {
883
+ line-height: var(--bs-leading-none);
704
884
  }
705
- .fluid :where([data-font-size^='base']) {
706
- font-size: var(--bs-text-f-base);
885
+ .bs-leading-sm {
886
+ line-height: var(--bs-leading-sm);
707
887
  }
708
- .fluid :where([data-font-size^='sm']) {
709
- font-size: var(--bs-text-f-sm);
888
+ .bs-leading-regular {
889
+ line-height: var(--bs-leading-regular);
710
890
  }
711
- .fluid :where([data-font-size^='xs']) {
712
- font-size: var(--bs-text-f-xs);
891
+ .bs-leading-lg {
892
+ line-height: var(--bs-leading-lg);
713
893
  }
714
- /* Specificity should be either (0, 1, 0) (class-based) or (0, 0, 1) (element-based) for each selector */
715
- :where(a) {
716
- color: inherit;
717
- cursor: pointer;
718
- text-decoration: none;
719
- }
720
- :where(.prose) a,
721
- a:where(.bs-link) {
722
- border-radius: 0.25rem; /* gives outlines rounded corners in modern browsers */
723
- -webkit-box-decoration-break: clone;
724
- box-decoration-break: clone;
725
- color: var(--bs-purple-400);
726
- outline-color: var(--bs-blue-400);
727
- text-decoration: underline;
728
- text-underline-offset: 2px;
729
- transition: all 0.15s ease-in-out;
730
- }
731
- :where(.prose) a:where(:hover),
732
- :where(.prose) a:where(:focus),
733
- :where(.prose) a:where(:focus-visible),
734
- a:where(.bs-link):where(:hover),
735
- a:where(.bs-link):where(:focus),
736
- a:where(.bs-link):where(:focus-visible) {
737
- color: var(--bs-plum-400);
738
- text-decoration-color: var(--bs-purple-400);
739
- }
740
- :where(.prose) a:where(:focus-visible),
741
- a:where(.bs-link):where(:focus-visible) {
742
- outline-offset: var(--bs-space-1);
743
- outline-style: solid;
744
- outline-width: 2px;
745
- }
746
- :where(.prose) a:where(:focus:not(:focus-visible)),
747
- a:where(.bs-link):where(:focus:not(:focus-visible)) {
748
- outline: none;
749
- }
750
- /* Dark mode styling */
751
- :where(.dark .prose) a,
752
- :where(.dark) a:where(.bs-link) {
753
- color: var(--bs-purple-200);
754
- outline-color: var(--bs-blue-300);
755
- }
756
- :where(.dark .prose) a:where(:hover),
757
- :where(.dark .prose) a:where(:focus),
758
- :where(.dark .prose) a:where(:focus-visible),
759
- :where(.dark) a:where(.bs-link):where(:hover),
760
- :where(.dark) a:where(.bs-link):where(:focus),
761
- :where(.dark) a:where(.bs-link):where(:focus-visible) {
762
- color: var(--bs-pink-300);
763
- text-decoration-color: var(--bs-purple-200);
764
- }
765
- /* Specificity should be either (0, 1, 0) (class-based) or (0, 0, 1) (element-based) for each selector */
766
- .box-shadow {
767
- box-shadow: var(--bs-shadow);
768
- }
769
- .box-shadow:where([data-variant="center"]) {
770
- box-shadow: var(--bs-shadow-contentLowCenter);
771
- }
772
- .box-shadow:where([data-variant="medium"]) {
773
- box-shadow: var(--bs-shadow-contentMedium);
774
- }
775
- .box-shadow:where([data-variant="high"]) {
776
- box-shadow: var(--bs-shadow-contentHigh);
777
- }
778
- .box-shadow:where([data-variant="left-panel"]) {
779
- box-shadow: var(--bs-shadow-drawerLeft);
780
- }
781
- .box-shadow:where([data-variant="right-panel"]) {
782
- box-shadow: var(--bs-shadow-drawerRight);
783
- }
784
- .box-shadow:where([data-variant="profile"]) {
785
- box-shadow: var(--bs-shadow-profilePhoto);
894
+ .bs-prose {
895
+ --prose-width: 70ch;
896
+ font-size: var(--bs-text-base);
897
+ font-weight: var(--bs-font-normal);
898
+ line-height: var(--bs-leading-lg);
899
+ max-width: var(--prose-width);
786
900
  }
787
- :root {
788
- /* get design sign off on these first
789
- --bs-trans-color: color 100ms ease-in-out;
790
- --bs-trans-outline-color: outline-color 100ms ease-in-out;
791
- */
792
-
793
- --bs-trans-rotate180: transform 200ms ease-in-out;
901
+ @media (min-width: 1166px) {
902
+ .bs-prose {
903
+ font-size: var(--bs-text-md);
904
+ }
794
905
  }
795
- /* Specificity should be either (0, 1, 0) (class-based) or (0, 0, 1) (element-based) for each selector */
796
- .box {
797
- background: var(--bg-color, var(--bs-bg-medium-to-light));
798
- border-radius: 0.25rem;
799
- padding: var(--box-space, var(--bs-space-6));
906
+ .bs-prose:where([data-width="wide"]) {
907
+ --prose-width: 90%;
800
908
  }
801
- .box:where([data-invert]) {
802
- --bg-color: var(--bs-bg-invert);
803
- color: var(--bs-ink-invert);
909
+ .bs-prose:where([data-width="full"]) {
910
+ --prose-width: 100%;
804
911
  }
805
- :where(.fluid) .box {
806
- padding: var(--box-space, var(--bs-space-f-6));
912
+ .bs-prose > * + * {
913
+ --prose-space: 1.25em;
914
+ margin-top: var(--prose-space);
807
915
  }
808
- .cluster {
809
- align-items: center;
810
- display: flex;
811
- flex-wrap: wrap;
812
- gap: var(--cluster-space, var(--bs-space-6));
813
- justify-content: flex-start;
916
+ /* Prose will use em to base space on element font-size */
917
+ .bs-prose > :where(h1, h2, h3, h4, h5, h6) {
918
+ --prose-space: 2em;
814
919
  }
815
- .cluster:where([data-variant^="brick"]) > * {
816
- align-self: stretch;
817
- flex-grow: 1;
920
+ .bs-prose > :where(hr) + * {
921
+ --prose-space: 1.5em;
818
922
  }
819
- .cluster:where([data-gap="tight"]) {
820
- gap: var(--cluster-space, var(--bs-space-2));
923
+ .bs-prose > :where(h1, h2, h3, h4, h5, h6) + * {
924
+ --prose-space: 0.5em;
821
925
  }
822
- :where(.fluid) .cluster {
823
- gap: var(--cluster-space, var(--bs-space-f-6));
926
+ .bs-prose > :where(ul, ol) > :where(li) {
927
+ --prose-space: 0.625em;
824
928
  }
825
- :where(.fluid) .cluster:where([data-gap="tight"]) {
826
- gap: var(--cluster-space, var(--bs-space-f-2));
929
+ .bs-region {
930
+ --region-space: var(--bs-space-6);
931
+ padding-top: var(--region-space);
932
+ padding-bottom: var(--region-space);
827
933
  }
828
- .flow > * + * {
829
- margin-top: var(--flow-space, 1.25em);
934
+ .bs-region:where([data-space='sm']) {
935
+ --region-space: var(--bs-space-3);
830
936
  }
831
- .flow > :where(h1, h2, h3, h4, h5, h6) {
832
- --flow-space: 2em;
937
+ .bs-region:where([data-space='lg']) {
938
+ --region-space: var(--bs-space-12);
833
939
  }
834
- .flow > :where(hr) + * {
835
- --flow-space: 1.5em;
940
+ .bs-transition-quick {
941
+ transition-duration: var(--bs-transition-quick);
836
942
  }
837
- .flow > :where(h1, h2, h3, h4, h5, h6) + * {
838
- --flow-space: 0.5em;
943
+ .bs-transition-fast {
944
+ transition-duration: var(--bs-transition-fast);
839
945
  }
840
- .flow > :where(ul, ol) > :where(li) {
841
- margin-top: var(--flow-space, 0.625em);
946
+ .bs-transition-moderate {
947
+ transition-duration: var(--bs-transition-moderate);
842
948
  }
843
- .region {
844
- padding-block: var(--region-space, var(--bs-space-6));
949
+ .bs-transition-medium {
950
+ transition-duration: var(--bs-transition-medium);
845
951
  }
846
- .region:where([data-space^='sm']) {
847
- padding-block: var(--bs-space-3);
952
+ .bs-transition-slow {
953
+ transition-duration: var(--bs-transition-slow);
848
954
  }
849
- .region:where([data-space^='lg']) {
850
- padding-block: var(--bs-space-12);
955
+ .bs-transition-leisurely {
956
+ transition-duration: var(--bs-transition-leisurely);
851
957
  }
852
- :where(.fluid) .region {
853
- padding-block: var(--region-space, var(--bs-space-f-6));
958
+ .bs-transition-long {
959
+ transition-duration: var(--bs-transition-long);
854
960
  }
855
- :where(.fluid) .region:where([data-space^='sm']) {
856
- padding-block: var(--bs-space-f-3);
961
+ .bs-transition-ease {
962
+ transition-timing-function: var(--bs-transition-ease);
857
963
  }
858
- :where(.fluid) .region:where([data-space^='lg']) {
859
- padding-block: var(--bs-space-f-12);
964
+ .bs-transition-cubic {
965
+ transition-timing-function: var(--bs-transition-cubic);
860
966
  }
861
- .wrapper {
862
- margin-inline: auto;
863
- max-width: var(--max-width, 75rem);
967
+ .bs-wrapper {
968
+ --max-width: 75rem;
969
+ --wrapper-space: var(--bs-space-6);
970
+ margin-left: auto;
971
+ margin-right: auto;
972
+ max-width: var(--max-width);
864
973
  min-width: 0;
865
- padding-inline: var(--wrapper-space, var(--bs-space-6));
974
+ padding-left: var(--wrapper-space);
975
+ padding-right: var(--wrapper-space);
866
976
  position: relative;
867
977
  width: 100%;
868
978
  }
869
- :where(.fluid) .wrapper {
870
- padding-inline: var(--wrapper-space, var(--bs-space-f-6));
979
+ .bs-wrapper:where([data-flush="true"]) {
980
+ padding-left: 0;
981
+ padding-right: 0;
871
982
  }
872
- .wrapper:where([data-flush]) {
873
- padding-inline: 0;
983
+ /* Colors last so that they override other utilities */
984
+ /* Base Colors */
985
+ .bs-bg-transparent {
986
+ background-color: var(--bs-transparent);
874
987
  }
875
- /* Specificity should be either (0, 1, 0) (class-based) or (0, 0, 1) (element-based) for each selector */
876
- .visually-hidden {
877
- border: 0;
878
- clip: rect(0 0 0 0);
879
- height: 1px;
880
- margin: 0;
881
- overflow: hidden;
882
- padding: 0;
883
- position: absolute;
884
- white-space: nowrap;
885
- width: 1px;
988
+ .bs-bg-inherit {
989
+ background-color: var(--bs-inherit);
886
990
  }
887
- .measure-compact {
888
- max-width: 40ch;
991
+ .bs-bg-current {
992
+ background-color: var(--bs-current);
889
993
  }
890
- .measure-short {
891
- max-width: 50ch;
994
+ .bs-bg-base {
995
+ background-color: var(--bs-bg-base);
892
996
  }
893
- .measure-long {
894
- max-width: 70ch;
997
+ .bs-bg-light {
998
+ background-color: var(--bs-bg-light);
895
999
  }
896
- *:where([data-scroll="false"]) {
897
- overflow: hidden;
1000
+ .bs-bg-medium {
1001
+ background-color: var(--bs-bg-medium);
898
1002
  }
899
- /* Color Utilities */
900
- .bs-bg-base {
901
- background-color: var(--bs-bg-base);
1003
+ .bs-bg-disabled {
1004
+ background-color: var(--bs-bg-disabled);
1005
+ }
1006
+ .bs-bg-invert-base {
1007
+ background-color: var(--bs-bg-invert-base);
1008
+ }
1009
+ .bs-bg-invert-medium {
1010
+ background-color: var(--bs-bg-invert-medium);
1011
+ }
1012
+ .bs-bg-invert-light {
1013
+ background-color: var(--bs-bg-invert-light);
902
1014
  }
903
1015
  .bs-bg-base-to-light {
904
1016
  background-color: var(--bs-bg-base-to-light);
@@ -906,8 +1018,11 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
906
1018
  .bs-bg-base-to-medium {
907
1019
  background-color: var(--bs-bg-base-to-medium);
908
1020
  }
909
- .bs-bg-light {
910
- background-color: var(--bs-bg-light);
1021
+ .bs-bg-medium-to-base {
1022
+ background-color: var(--bs-bg-medium-to-base);
1023
+ }
1024
+ .bs-bg-medium-to-light {
1025
+ background-color: var(--bs-bg-medium-to-light);
911
1026
  }
912
1027
  .bs-bg-light-to-base {
913
1028
  background-color: var(--bs-bg-light-to-base);
@@ -915,45 +1030,54 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
915
1030
  .bs-bg-light-to-medium {
916
1031
  background-color: var(--bs-bg-light-to-medium);
917
1032
  }
918
- .bs-bg-medium {
919
- background-color: var(--bs-bg-medium);
1033
+ .bs-text-blue-base {
1034
+ color: var(--bs-blue-base);
920
1035
  }
921
- .bs-bg-medium-to-light {
922
- background-color: var(--bs-bg-medium-to-light);
1036
+ .bs-bg-blue-base {
1037
+ background-color: var(--bs-blue-base);
923
1038
  }
924
- .bs-bg-medium-to-base {
925
- background-color: var(--bs-bg-medium-to-base);
1039
+ .bs-text-blue-medium {
1040
+ color: var(--bs-blue-medium);
926
1041
  }
927
- .bs-bg-disabled {
928
- background-color: var(--bs-bg-disabled);
1042
+ .bs-bg-blue-medium {
1043
+ background-color: var(--bs-blue-medium);
929
1044
  }
930
- .bs-bg-invert-to-light {
931
- background-color: var(--bs-bg-invert-to-light);
1045
+ .bs-text-blue-light {
1046
+ color: var(--bs-blue-light);
932
1047
  }
933
- .bs-bg-invert-to-medium {
934
- background-color: var(--bs-bg-invert-to-medium);
1048
+ .bs-bg-blue-light {
1049
+ background-color: var(--bs-blue-light);
935
1050
  }
936
- .bs-bg-invert-to-base {
937
- background-color: var(--bs-bg-invert-to-base);
1051
+ .bs-text-blue-lightest {
1052
+ color: var(--bs-blue-lightest);
938
1053
  }
939
- .bs-bg-atom-ai {
940
- background-image: var(--bs-bg-atom-ai);
1054
+ .bs-bg-blue-lightest {
1055
+ background-color: var(--bs-blue-lightest);
941
1056
  }
942
- .bs-border-light {
943
- border-color: var(--bs-border-light);
1057
+ .bs-border-transparent {
1058
+ border-color: var(--bs-transparent);
944
1059
  }
945
- .bs-border-medium {
946
- border-color: var(--bs-border-medium);
1060
+ .bs-border-inherit {
1061
+ border-color: var(--bs-inherit);
947
1062
  }
948
- .bs-border-medium-to-light {
949
- border-color: var(--bs-border-medium-to-light);
1063
+ .bs-border-current {
1064
+ border-color: var(--bs-current);
950
1065
  }
951
1066
  .bs-border-base {
952
1067
  border-color: var(--bs-border-base);
953
1068
  }
1069
+ .bs-border-medium {
1070
+ border-color: var(--bs-border-medium);
1071
+ }
1072
+ .bs-border-light {
1073
+ border-color: var(--bs-border-light);
1074
+ }
954
1075
  .bs-border-dark {
955
1076
  border-color: var(--bs-border-dark);
956
1077
  }
1078
+ .bs-border-medium-to-light {
1079
+ border-color: var(--bs-border-medium-to-light);
1080
+ }
957
1081
  .bs-border-input {
958
1082
  border-color: var(--bs-border-input);
959
1083
  }
@@ -963,30 +1087,107 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
963
1087
  .bs-border-error {
964
1088
  border-color: var(--bs-border-error);
965
1089
  }
1090
+ /* Atom */
966
1091
  .bs-border-atom-ai {
967
1092
  /* border-image (which is needed for the border gradient) cannot be combined with border-radius 🤷‍♂️ */
968
1093
  /* this uses the background-clip property, which is compatible */
969
1094
  background: linear-gradient(white, white) padding-box,
970
- var(--bs-atom-ai) border-box;
1095
+ var(--bs-gradient-atom-ai-border) border-box;
971
1096
  border: 2px solid transparent;
972
1097
  }
973
- .bs-text-ink-light {
974
- color: var(--bs-ink-light);
1098
+ .bs-bg-atom-ai {
1099
+ background-image: var(--bs-gradient-atom-ai-bg);
1100
+ }
1101
+ /* Basic Gradients */
1102
+ .bs-bg-gradient-dark {
1103
+ background: var(--bs-gradient-dark);
1104
+ }
1105
+ .bs-bg-gradient-light {
1106
+ background: var(--bs-gradient-light);
1107
+ }
1108
+ .bs-bg-gradient-line {
1109
+ background: var(--bs-gradient-line);
1110
+ }
1111
+ /* Light Blue / Gray Gradients */
1112
+ .bs-bg-gradient-light-blue-transparent {
1113
+ background: var(--bs-gradient-light-blue-transparent);
1114
+ }
1115
+ .bs-bg-gradient-light-blue-opaque {
1116
+ background: var(--bs-gradient-light-blue-opaque);
1117
+ }
1118
+ .bs-bg-gradient-light-gray {
1119
+ background: var(--bs-gradient-light-gray);
1120
+ }
1121
+ /* Blue Gradients */
1122
+ /* Top */
1123
+ .bs-bg-gradient-blue-top-left {
1124
+ background: var(--bs-gradient-blue-top-left);
1125
+ }
1126
+ .bs-bg-gradient-blue-top-center {
1127
+ background: var(--bs-gradient-blue-top-center);
1128
+ }
1129
+ .bs-bg-gradient-blue-top-right {
1130
+ background: var(--bs-gradient-blue-top-right);
1131
+ }
1132
+ /* Mid */
1133
+ .bs-bg-gradient-blue-mid-left {
1134
+ background: var(--bs-gradient-blue-mid-left);
1135
+ }
1136
+ /* .bs-bg-gradient-blue-mid-right {
1137
+ background: var(--bs-gradient-blue-mid-right);
1138
+ } */
1139
+ /* Center */
1140
+ .bs-bg-gradient-blue-center {
1141
+ background: var(--bs-gradient-blue-center);
1142
+ }
1143
+ /* Bottom */
1144
+ /* .bs-bg-gradient-blue-bottom-left {
1145
+ background: var(--bs-gradient-blue-bottom-left);
1146
+ } */
1147
+ /* .bs-bg-gradient-blue-bottom-center {
1148
+ background: var(--bs-gradient-blue-bottom-center);
1149
+ } */
1150
+ /* .bs-bg-gradient-blue-bottom-right {
1151
+ background: var(--bs-gradient-blue-bottom-right);
1152
+ } */
1153
+ .bs-text-gray-dark {
1154
+ color: var(--bs-gray-dark);
975
1155
  }
976
- .bs-bg-ink-light {
977
- background-color: var(--bs-ink-light);
1156
+ .bs-bg-gray-dark {
1157
+ background-color: var(--bs-gray-dark);
978
1158
  }
979
- .bs-text-ink-disabled {
980
- color: var(--bs-ink-disabled);
1159
+ .bs-text-gray-base {
1160
+ color: var(--bs-gray-base);
981
1161
  }
982
- .bs-bg-ink-disabled {
983
- background-color: var(--bs-ink-disabled);
1162
+ .bs-bg-gray-base {
1163
+ background-color: var(--bs-gray-base);
984
1164
  }
985
- .bs-text-ink-medium {
986
- color: var(--bs-ink-medium);
1165
+ .bs-text-gray-medium {
1166
+ color: var(--bs-gray-medium);
987
1167
  }
988
- .bs-bg-ink-medium {
989
- background-color: var(--bs-ink-medium);
1168
+ .bs-bg-gray-medium {
1169
+ background-color: var(--bs-gray-medium);
1170
+ }
1171
+ .bs-text-gray-light {
1172
+ color: var(--bs-gray-light);
1173
+ }
1174
+ .bs-bg-gray-light {
1175
+ background-color: var(--bs-gray-light);
1176
+ }
1177
+ .bs-text-gray-lightest {
1178
+ color: var(--bs-gray-lightest);
1179
+ }
1180
+ .bs-bg-gray-lightest {
1181
+ background-color: var(--bs-gray-lightest);
1182
+ }
1183
+ .bs-text-transparent {
1184
+ color: var(--bs-transparent);
1185
+ }
1186
+ .bs-text-inherit {
1187
+ color: var(--bs-inherit);
1188
+ }
1189
+ .bs-text-current {
1190
+ color: var(--bs-current);
990
1191
  }
991
1192
  .bs-text-ink-base {
992
1193
  color: var(--bs-ink-base);
@@ -994,6 +1195,24 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
994
1195
  .bs-bg-ink-base {
995
1196
  background-color: var(--bs-ink-base);
996
1197
  }
1198
+ .bs-text-ink-medium {
1199
+ color: var(--bs-ink-medium);
1200
+ }
1201
+ .bs-bg-ink-medium {
1202
+ background-color: var(--bs-ink-medium);
1203
+ }
1204
+ .bs-text-ink-light {
1205
+ color: var(--bs-ink-light);
1206
+ }
1207
+ .bs-bg-ink-light {
1208
+ background-color: var(--bs-ink-light);
1209
+ }
1210
+ .bs-text-ink-disabled {
1211
+ color: var(--bs-ink-disabled);
1212
+ }
1213
+ .bs-bg-ink-disabled {
1214
+ background-color: var(--bs-ink-disabled);
1215
+ }
997
1216
  .bs-text-ink-invert-base {
998
1217
  color: var(--bs-ink-invert-base);
999
1218
  }
@@ -1012,12 +1231,6 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1012
1231
  .bs-bg-ink-invert-light {
1013
1232
  background-color: var(--bs-ink-invert-light);
1014
1233
  }
1015
- .bs-text-ink-accent {
1016
- color: var(--bs-ink-accent);
1017
- }
1018
- .bs-bg-ink-accent {
1019
- background-color: var(--bs-ink-accent);
1020
- }
1021
1234
  .bs-text-ink-blue {
1022
1235
  color: var(--bs-ink-blue);
1023
1236
  }
@@ -1072,101 +1285,101 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1072
1285
  .bs-bg-ink-white {
1073
1286
  background-color: var(--bs-ink-white);
1074
1287
  }
1075
- .bs-text-red-lightest {
1076
- color: var(--bs-red-lightest);
1288
+ .bs-text-navy-base {
1289
+ color: var(--bs-navy-base);
1077
1290
  }
1078
- .bs-bg-red-lightest {
1079
- background-color: var(--bs-red-lightest);
1291
+ .bs-bg-navy-base {
1292
+ background-color: var(--bs-navy-base);
1080
1293
  }
1081
- .bs-text-red-light {
1082
- color: var(--bs-red-light);
1294
+ .bs-text-navy-medium {
1295
+ color: var(--bs-navy-medium);
1083
1296
  }
1084
- .bs-bg-red-light {
1085
- background-color: var(--bs-red-light);
1297
+ .bs-bg-navy-medium {
1298
+ background-color: var(--bs-navy-medium);
1086
1299
  }
1087
- .bs-text-red-medium {
1088
- color: var(--bs-red-medium);
1300
+ .bs-text-navy-light {
1301
+ color: var(--bs-navy-light);
1089
1302
  }
1090
- .bs-bg-red-medium {
1091
- background-color: var(--bs-red-medium);
1303
+ .bs-bg-navy-light {
1304
+ background-color: var(--bs-navy-light);
1092
1305
  }
1093
- .bs-text-red-base {
1094
- color: var(--bs-red-base);
1306
+ .bs-text-navy-lightest {
1307
+ color: var(--bs-navy-lightest);
1095
1308
  }
1096
- .bs-bg-red-base {
1097
- background-color: var(--bs-red-base);
1309
+ .bs-bg-navy-lightest {
1310
+ background-color: var(--bs-navy-lightest);
1098
1311
  }
1099
- .bs-text-purple-lightest {
1100
- color: var(--bs-purple-lightest);
1312
+ .bs-text-warning {
1313
+ color: var(--bs-warning);
1101
1314
  }
1102
- .bs-bg-purple-lightest {
1103
- background-color: var(--bs-purple-lightest);
1315
+ .bs-bg-warning {
1316
+ background-color: var(--bs-warning);
1104
1317
  }
1105
- .bs-text-purple-light {
1106
- color: var(--bs-purple-light);
1318
+ .bs-text-orange-base {
1319
+ color: var(--bs-orange-base);
1107
1320
  }
1108
- .bs-bg-purple-light {
1109
- background-color: var(--bs-purple-light);
1321
+ .bs-bg-orange-base {
1322
+ background-color: var(--bs-orange-base);
1110
1323
  }
1111
- .bs-text-purple-medium {
1112
- color: var(--bs-purple-medium);
1324
+ .bs-text-orange-medium {
1325
+ color: var(--bs-orange-medium);
1113
1326
  }
1114
- .bs-bg-purple-medium {
1115
- background-color: var(--bs-purple-medium);
1327
+ .bs-bg-orange-medium {
1328
+ background-color: var(--bs-orange-medium);
1116
1329
  }
1117
- .bs-text-purple-base {
1118
- color: var(--bs-purple-base);
1330
+ .bs-text-orange-light {
1331
+ color: var(--bs-orange-light);
1119
1332
  }
1120
- .bs-bg-purple-base {
1121
- background-color: var(--bs-purple-base);
1333
+ .bs-bg-orange-light {
1334
+ background-color: var(--bs-orange-light);
1122
1335
  }
1123
- .bs-text-blue-lightest {
1124
- color: var(--bs-blue-lightest);
1336
+ .bs-text-orange-lightest {
1337
+ color: var(--bs-orange-lightest);
1125
1338
  }
1126
- .bs-bg-blue-lightest {
1127
- background-color: var(--bs-blue-lightest);
1339
+ .bs-bg-orange-lightest {
1340
+ background-color: var(--bs-orange-lightest);
1128
1341
  }
1129
- .bs-text-blue-light {
1130
- color: var(--bs-blue-light);
1342
+ .bs-text-pink-base {
1343
+ color: var(--bs-pink-base);
1131
1344
  }
1132
- .bs-bg-blue-light {
1133
- background-color: var(--bs-blue-light);
1345
+ .bs-bg-pink-base {
1346
+ background-color: var(--bs-pink-base);
1134
1347
  }
1135
- .bs-text-blue-medium {
1136
- color: var(--bs-blue-medium);
1348
+ .bs-text-pink-medium {
1349
+ color: var(--bs-pink-medium);
1137
1350
  }
1138
- .bs-bg-blue-medium {
1139
- background-color: var(--bs-blue-medium);
1351
+ .bs-bg-pink-medium {
1352
+ background-color: var(--bs-pink-medium);
1140
1353
  }
1141
- .bs-text-blue-base {
1142
- color: var(--bs-blue-base);
1354
+ .bs-text-pink-light {
1355
+ color: var(--bs-pink-light);
1143
1356
  }
1144
- .bs-bg-blue-base {
1145
- background-color: var(--bs-blue-base);
1357
+ .bs-bg-pink-light {
1358
+ background-color: var(--bs-pink-light);
1146
1359
  }
1147
- .bs-text-red-lightest {
1148
- color: var(--bs-red-lightest);
1360
+ .bs-text-pink-lightest {
1361
+ color: var(--bs-pink-lightest);
1149
1362
  }
1150
- .bs-bg-red-lightest {
1151
- background-color: var(--bs-red-lightest);
1363
+ .bs-bg-pink-lightest {
1364
+ background-color: var(--bs-pink-lightest);
1152
1365
  }
1153
- .bs-text-red-light {
1154
- color: var(--bs-red-light);
1366
+ .bs-text-plum-base {
1367
+ color: var(--bs-plum-base);
1155
1368
  }
1156
- .bs-bg-red-light {
1157
- background-color: var(--bs-red-light);
1369
+ .bs-bg-plum-base {
1370
+ background-color: var(--bs-plum-base);
1158
1371
  }
1159
- .bs-text-red-medium {
1160
- color: var(--bs-red-medium);
1372
+ .bs-text-plum-medium {
1373
+ color: var(--bs-plum-medium);
1161
1374
  }
1162
- .bs-bg-red-medium {
1163
- background-color: var(--bs-red-medium);
1375
+ .bs-bg-plum-medium {
1376
+ background-color: var(--bs-plum-medium);
1164
1377
  }
1165
- .bs-text-red-base {
1166
- color: var(--bs-red-base);
1378
+ .bs-text-plum-light {
1379
+ color: var(--bs-plum-light);
1167
1380
  }
1168
- .bs-bg-red-base {
1169
- background-color: var(--bs-red-base);
1381
+ .bs-bg-plum-light {
1382
+ background-color: var(--bs-plum-light);
1170
1383
  }
1171
1384
  .bs-text-plum-lightest {
1172
1385
  color: var(--bs-plum-lightest);
@@ -1174,47 +1387,53 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1174
1387
  .bs-bg-plum-lightest {
1175
1388
  background-color: var(--bs-plum-lightest);
1176
1389
  }
1177
- .bs-text-plum-light {
1178
- color: var(--bs-plum-light);
1390
+ .bs-text-purple-base {
1391
+ color: var(--bs-purple-base);
1179
1392
  }
1180
- .bs-bg-plum-light {
1181
- background-color: var(--bs-plum-light);
1393
+ .bs-bg-purple-base {
1394
+ background-color: var(--bs-purple-base);
1182
1395
  }
1183
- .bs-text-plum-medium {
1184
- color: var(--bs-plum-medium);
1396
+ .bs-text-purple-medium {
1397
+ color: var(--bs-purple-medium);
1185
1398
  }
1186
- .bs-bg-plum-medium {
1187
- background-color: var(--bs-plum-medium);
1399
+ .bs-bg-purple-medium {
1400
+ background-color: var(--bs-purple-medium);
1188
1401
  }
1189
- .bs-text-plum-base {
1190
- color: var(--bs-plum-base);
1402
+ .bs-text-purple-light {
1403
+ color: var(--bs-purple-light);
1191
1404
  }
1192
- .bs-bg-plum-base {
1193
- background-color: var(--bs-plum-base);
1405
+ .bs-bg-purple-light {
1406
+ background-color: var(--bs-purple-light);
1194
1407
  }
1195
- .bs-text-white {
1196
- color: var(--bs-white);
1408
+ .bs-text-purple-lightest {
1409
+ color: var(--bs-purple-lightest);
1197
1410
  }
1198
- .bs-bg-white {
1199
- background-color: var(--bs-white);
1411
+ .bs-bg-purple-lightest {
1412
+ background-color: var(--bs-purple-lightest);
1200
1413
  }
1201
- .bs-text-royal-lightest {
1202
- color: var(--bs-royal-lightest);
1414
+ .bs-text-red-base {
1415
+ color: var(--bs-red-base);
1203
1416
  }
1204
- .bs-bg-royal-lightest {
1205
- background-color: var(--bs-royal-lightest);
1417
+ .bs-bg-red-base {
1418
+ background-color: var(--bs-red-base);
1206
1419
  }
1207
- .bs-text-royal-light {
1208
- color: var(--bs-royal-light);
1420
+ .bs-text-red-medium {
1421
+ color: var(--bs-red-medium);
1209
1422
  }
1210
- .bs-bg-royal-light {
1211
- background-color: var(--bs-royal-light);
1423
+ .bs-bg-red-medium {
1424
+ background-color: var(--bs-red-medium);
1212
1425
  }
1213
- .bs-text-royal-medium {
1214
- color: var(--bs-royal-medium);
1426
+ .bs-text-red-light {
1427
+ color: var(--bs-red-light);
1215
1428
  }
1216
- .bs-bg-royal-medium {
1217
- background-color: var(--bs-royal-medium);
1429
+ .bs-bg-red-light {
1430
+ background-color: var(--bs-red-light);
1431
+ }
1432
+ .bs-text-red-lightest {
1433
+ color: var(--bs-red-lightest);
1434
+ }
1435
+ .bs-bg-red-lightest {
1436
+ background-color: var(--bs-red-lightest);
1218
1437
  }
1219
1438
  .bs-text-royal-base {
1220
1439
  color: var(--bs-royal-base);
@@ -1222,23 +1441,23 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1222
1441
  .bs-bg-royal-base {
1223
1442
  background-color: var(--bs-royal-base);
1224
1443
  }
1225
- .bs-text-violet-lightest {
1226
- color: var(--bs-violet-lightest);
1444
+ .bs-text-royal-medium {
1445
+ color: var(--bs-royal-medium);
1227
1446
  }
1228
- .bs-bg-violet-lightest {
1229
- background-color: var(--bs-violet-lightest);
1447
+ .bs-bg-royal-medium {
1448
+ background-color: var(--bs-royal-medium);
1230
1449
  }
1231
- .bs-text-violet-light {
1232
- color: var(--bs-violet-light);
1450
+ .bs-text-royal-light {
1451
+ color: var(--bs-royal-light);
1233
1452
  }
1234
- .bs-bg-violet-light {
1235
- background-color: var(--bs-violet-light);
1453
+ .bs-bg-royal-light {
1454
+ background-color: var(--bs-royal-light);
1236
1455
  }
1237
- .bs-text-violet-medium {
1238
- color: var(--bs-violet-medium);
1456
+ .bs-text-royal-lightest {
1457
+ color: var(--bs-royal-lightest);
1239
1458
  }
1240
- .bs-bg-violet-medium {
1241
- background-color: var(--bs-violet-medium);
1459
+ .bs-bg-royal-lightest {
1460
+ background-color: var(--bs-royal-lightest);
1242
1461
  }
1243
1462
  .bs-text-violet-base {
1244
1463
  color: var(--bs-violet-base);
@@ -1246,121 +1465,419 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1246
1465
  .bs-bg-violet-base {
1247
1466
  background-color: var(--bs-violet-base);
1248
1467
  }
1249
- .bs-text-navy-lightest {
1250
- color: var(--bs-navy-lightest);
1468
+ .bs-text-violet-medium {
1469
+ color: var(--bs-violet-medium);
1251
1470
  }
1252
- .bs-bg-navy-lightest {
1253
- background-color: var(--bs-navy-lightest);
1471
+ .bs-bg-violet-medium {
1472
+ background-color: var(--bs-violet-medium);
1254
1473
  }
1255
- .bs-text-navy-light {
1256
- color: var(--bs-navy-light);
1474
+ .bs-text-violet-light {
1475
+ color: var(--bs-violet-light);
1257
1476
  }
1258
- .bs-bg-navy-light {
1259
- background-color: var(--bs-navy-light);
1477
+ .bs-bg-violet-light {
1478
+ background-color: var(--bs-violet-light);
1260
1479
  }
1261
- .bs-text-navy-medium {
1262
- color: var(--bs-navy-medium);
1480
+ .bs-text-violet-lightest {
1481
+ color: var(--bs-violet-lightest);
1263
1482
  }
1264
- .bs-bg-navy-medium {
1265
- background-color: var(--bs-navy-medium);
1483
+ .bs-bg-violet-lightest {
1484
+ background-color: var(--bs-violet-lightest);
1266
1485
  }
1267
- .bs-text-navy-base {
1268
- color: var(--bs-navy-base);
1486
+ /* Component Styles */
1487
+ /*
1488
+ ---------------------------
1489
+ DEPRECATED BS FLYOUT
1490
+ ---------------------------
1491
+ */
1492
+ .bs-flyout-deprecated {
1493
+ background-color: var(--bs-bg-base-to-light);
1494
+ box-shadow: var(--bs-shadow-drawerRight);
1495
+ height: 100%;
1496
+ left: 0;
1497
+ margin: 0;
1498
+ max-width: 100vw;
1499
+ opacity: 0;
1500
+ padding: 1.5rem;
1501
+ position: fixed;
1502
+ top: 0;
1503
+ transform: translateX(-100%);
1504
+ transition-duration: var(--bs-transition-leisurely);
1505
+ transition-property: opacity, transform;
1506
+ transition-timing-function: var(--bs-transition-ease);
1507
+ width: 360px;
1508
+ z-index: 1000;
1269
1509
  }
1270
- .bs-bg-navy-base {
1271
- background-color: var(--bs-navy-base);
1510
+ .bs-flyout-deprecated:where([data-absolute="true"]) {
1511
+ position: absolute;
1272
1512
  }
1273
- .bs-text-orange-lightest {
1274
- color: var(--bs-orange-lightest);
1513
+ .bs-flyout-deprecated:where([data-position="right"]) {
1514
+ box-shadow: var(--bs-shadow-drawerLeft);
1515
+ left: auto;
1516
+ right: 0;
1517
+ transform: translateX(100%);
1275
1518
  }
1276
- .bs-bg-orange-lightest {
1277
- background-color: var(--bs-orange-lightest);
1519
+ .bs-flyout-deprecated:where([data-size="lg"]) {
1520
+ width: 535px;
1278
1521
  }
1279
- .bs-text-orange-light {
1280
- color: var(--bs-orange-light);
1522
+ .bs-flyout-deprecated:where([data-shown="true"]) {
1523
+ opacity: 1;
1524
+ /*
1525
+ Needs to be "none" instead of "0" so as not to interfere with calculating
1526
+ "containing block" for absolute and fixed positioned elements (see https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block)
1527
+ */
1528
+ transform: none;
1281
1529
  }
1282
- .bs-bg-orange-light {
1283
- background-color: var(--bs-orange-light);
1530
+ .bs-flyout-deprecated :where(.bs-flyout-deprecated-close-container) {
1531
+ display: flex;
1532
+ justify-content: flex-end;
1284
1533
  }
1285
- .bs-text-orange-medium {
1286
- color: var(--bs-orange-medium);
1534
+ .bs-flyout-deprecated :where(.bs-flyout-deprecated-close-container button) {
1535
+ cursor: pointer;
1536
+ outline-offset: 2px;
1537
+ padding: 2px;
1287
1538
  }
1288
- .bs-bg-orange-medium {
1289
- background-color: var(--bs-orange-medium);
1539
+ /* Vue Transition Styles - Only used in Vue component */
1540
+ .bs-flyout-deprecated:where(.bs-flyout-deprecated-enter-from),
1541
+ .bs-flyout-deprecated:where(.bs-flyout-deprecated-leave-to) {
1542
+ opacity: 0;
1543
+ transform: translateX(-100%);
1290
1544
  }
1291
- .bs-text-orange-base {
1292
- color: var(--bs-orange-base);
1545
+ .bs-flyout-deprecated:where([data-position="right"].bs-flyout-deprecated-enter-from),
1546
+ .bs-flyout-deprecated:where([data-position="right"].bs-flyout-deprecated-leave-to) {
1547
+ transform: translateX(100%);
1293
1548
  }
1294
- .bs-bg-orange-base {
1295
- background-color: var(--bs-orange-base);
1549
+ .bs-flyout-deprecated:where(.bs-flyout-deprecated-enter-to),
1550
+ .bs-flyout-deprecated:where(.bs-flyout-deprecated-leave-from) {
1551
+ opacity: 1;
1552
+ transform: translateX(0);
1296
1553
  }
1297
- .bs-text-pink-lightest {
1298
- color: var(--bs-pink-lightest);
1554
+ /*
1555
+ ---------------------------
1556
+ DEPRECATED BS MODAL
1557
+ ---------------------------
1558
+ */
1559
+ .bs-modal-deprecated {
1560
+ --base-modal-width: 35rem; /* 560px */
1561
+ --lg-modal-padding: 2rem; /* 32px */
1562
+ --lg-modal-width: 45.3125rem; /* 725px */
1563
+ --modal-padding: 1.5rem; /* 24px */
1564
+ --sm-modal-width: 21.25rem; /* 340px */
1565
+ background-color: var(--bs-bg-base-to-medium);
1566
+ border-radius: 4px;
1567
+ bottom: 0;
1568
+ box-shadow: var(--bs-shadow-contentHigh);
1569
+ display: flex;
1570
+ flex-direction: column;
1571
+ height: -moz-fit-content;
1572
+ height: fit-content;
1573
+ left: 0;
1574
+ margin: auto;
1575
+ max-height: calc(100% - 3rem);
1576
+ opacity: 0;
1577
+ overflow: auto;
1578
+ position: fixed;
1579
+ right: 0;
1580
+ top: 0;
1581
+ transition-duration: var(--bs-transition-quick);
1582
+ transition-property: opacity;
1583
+ transition-timing-function: var(--bs-transition-ease);
1584
+ width: calc(100% - 3rem);
1585
+ z-index: 9999;
1299
1586
  }
1300
- .bs-bg-pink-lightest {
1301
- background-color: var(--bs-pink-lightest);
1587
+ @media (min-width: 752px) {
1588
+ .bs-modal-deprecated {
1589
+ max-height: min(calc(100dvh - 3rem), 40.625rem);
1590
+ width: var(--base-modal-width);
1591
+ }
1592
+
1593
+ .bs-modal-deprecated:where([data-size="sm"]) {
1594
+ width: var(--sm-modal-width);
1595
+ }
1596
+
1597
+ .bs-modal-deprecated:where([data-size="lg"]) {
1598
+ width: var(--lg-modal-width);
1599
+ }
1302
1600
  }
1303
- .bs-text-pink-light {
1304
- color: var(--bs-pink-light);
1601
+ .bs-modal-deprecated:where([data-shown="true"]) {
1602
+ opacity: 1;
1305
1603
  }
1306
- .bs-bg-pink-light {
1307
- background-color: var(--bs-pink-light);
1604
+ /* Header Container */
1605
+ .bs-modal-deprecated :where(.bs-modal-deprecated-header-container) {
1606
+ padding: var(--modal-padding);
1308
1607
  }
1309
- .bs-text-pink-medium {
1310
- color: var(--bs-pink-medium);
1608
+ .bs-modal-deprecated:where([data-size="lg"]) :where(.bs-modal-deprecated-header-container) {
1609
+ padding: var(--lg-modal-padding);
1311
1610
  }
1312
- .bs-bg-pink-medium {
1313
- background-color: var(--bs-pink-medium);
1611
+ .bs-modal-deprecated:where([data-header-border="true"]) :where(.bs-modal-deprecated-header-container) {
1612
+ border-bottom: 1px solid var(--bs-border-base);
1314
1613
  }
1315
- .bs-text-pink-base {
1316
- color: var(--bs-pink-base);
1614
+ .bs-modal-deprecated:where([data-full-width="true"]) :where(.bs-modal-deprecated-header-container) {
1615
+ padding-left: 0;
1616
+ padding-right: 0;
1317
1617
  }
1318
- .bs-bg-pink-base {
1319
- background-color: var(--bs-pink-base);
1618
+ /* Header Row */
1619
+ .bs-modal-deprecated :where(.bs-modal-deprecated-header) {
1620
+ align-items: center;
1621
+ display: flex;
1622
+ justify-content: space-between;
1320
1623
  }
1321
- .bs-text-gray-lightest {
1322
- color: var(--bs-gray-lightest);
1624
+ /* Title */
1625
+ .bs-modal-deprecated :where(.bs-modal-deprecated-title) {
1626
+ flex-grow: 1;
1627
+ font-size: var(--bs-text-lg);
1628
+ font-weight: 400;
1629
+ margin-right: 2rem;
1323
1630
  }
1324
- .bs-bg-gray-lightest {
1325
- background-color: var(--bs-gray-lightest);
1631
+ /* Subtitle */
1632
+ .bs-modal-deprecated :where(.bs-modal-deprecated-subtitle) {
1633
+ font-size: var(--bs-text-sm);
1634
+ font-weight: 400;
1635
+ margin-top: 0.5rem;
1636
+ width: 100%;
1326
1637
  }
1327
- .bs-text-gray-light {
1328
- color: var(--bs-gray-light);
1638
+ /* Close Button */
1639
+ .bs-modal-deprecated :where(.bs-modal-deprecated-close-button) {
1640
+ background-color: transparent;
1641
+ cursor: pointer;
1642
+ z-index: 10000;
1329
1643
  }
1330
- .bs-bg-gray-light {
1331
- background-color: var(--bs-gray-light);
1644
+ .bs-modal-deprecated:where(:not(:has(.bs-modal-deprecated-header-container))) :where(.bs-modal-deprecated-close-button) {
1645
+ position: absolute;
1646
+ right: 1rem;
1647
+ top: 1rem;
1332
1648
  }
1333
- .bs-text-gray-medium {
1334
- color: var(--bs-gray-medium);
1649
+ .bs-modal-deprecated:where([data-full-width="true"]:has(> .bs-modal-deprecated-header-container)) :where(.bs-modal-deprecated-close-button) {
1650
+ margin-right: var(--modal-padding);
1335
1651
  }
1336
- .bs-bg-gray-medium {
1337
- background-color: var(--bs-gray-medium);
1652
+ .bs-modal-deprecated:where([data-full-width="true"][data-size="lg"]:has(> .bs-modal-deprecated-header-container)) :where(.bs-modal-deprecated-close-button) {
1653
+ margin-right: var(--lg-modal-padding);
1338
1654
  }
1339
- .bs-text-gray-base {
1340
- color: var(--bs-gray-base);
1655
+ /* Progress */
1656
+ .bs-modal-deprecated :where(.bs-modal-deprecated-progress) {
1657
+ margin-top: 1.5rem;
1658
+ width: 100%;
1341
1659
  }
1342
- .bs-bg-gray-base {
1343
- background-color: var(--bs-gray-base);
1660
+ /* Body */
1661
+ .bs-modal-deprecated :where(.bs-modal-deprecated-body) {
1662
+ overflow-y: auto;
1663
+ padding: var(--modal-padding);
1664
+ }
1665
+ .bs-modal-deprecated:where([data-full-height="true"]) :where(.bs-modal-deprecated-body) {
1666
+ padding-bottom: 0;
1667
+ padding-top: 0;
1668
+ }
1669
+ .bs-modal-deprecated:where([data-full-width="true"]) :where(.bs-modal-deprecated-body) {
1670
+ padding-left: 0;
1671
+ padding-right: 0;
1672
+ }
1673
+ /* Has header, but no header border */
1674
+ .bs-modal-deprecated:where(:not([data-header-border]):has(> .bs-modal-deprecated-header-container)) :where(.bs-modal-deprecated-body),
1675
+ .bs-modal-deprecated:where([data-header-border="false"]:has(> .bs-modal-deprecated-header-container)) :where(.bs-modal-deprecated-body) {
1676
+ padding-top: 0;
1677
+ }
1678
+ /* Has footer, but no footer border */
1679
+ .bs-modal-deprecated:where(:not([data-footer-border])) :where(.bs-modal-deprecated-body:has(~ .bs-modal-deprecated-footer)),
1680
+ .bs-modal-deprecated:where([data-footer-border="false"]) :where(.bs-modal-deprecated-body:has(~ .bs-modal-deprecated-footer)) {
1681
+ padding-bottom: 0;
1682
+ }
1683
+ .bs-modal-deprecated:where([data-body-background-contrast="true"]) :where(.bs-modal-deprecated-body) {
1684
+ background-color: var(--bs-bg-light);
1685
+ }
1686
+ /* Footer */
1687
+ .bs-modal-deprecated :where(.bs-modal-deprecated-footer) {
1688
+ padding-bottom: 1rem;
1689
+ padding-left: var(--modal-padding);
1690
+ padding-right: var(--modal-padding);
1691
+ padding-top: 1rem;
1692
+ }
1693
+ .bs-modal-deprecated:where([data-size="lg"]) :where(.bs-modal-deprecated-footer) {
1694
+ padding-bottom: 1.5rem;
1695
+ padding-left: var(--lg-modal-padding);
1696
+ padding-right: var(--lg-modal-padding);
1697
+ padding-top: 1.5rem;
1698
+ }
1699
+ .bs-modal-deprecated:where([data-footer-border="true"]) :where(.bs-modal-deprecated-footer) {
1700
+ border-top: 1px solid var(--bs-border-base);
1701
+ }
1702
+ .bs-modal-deprecated:where([data-full-width="true"]) :where(.bs-modal-deprecated-footer) {
1703
+ padding-left: 0;
1704
+ padding-right: 0;
1705
+ }
1706
+ /* Vue Transition Styles - Only used in Vue component */
1707
+ .bs-modal-deprecated:where(.bs-modal-deprecated-enter-from),
1708
+ .bs-modal-deprecated:where(.bs-modal-deprecated-leave-to) {
1709
+ opacity: 0;
1710
+ }
1711
+ .bs-modal-deprecated:where(.bs-modal-deprecated-enter-to),
1712
+ .bs-modal-deprecated:where(.bs-modal-deprecated-leave-from) {
1713
+ opacity: 1;
1714
+ }
1715
+ /*
1716
+ ---------------------------
1717
+ DEPRECATED BS TOOLTIP
1718
+ ---------------------------
1719
+ */
1720
+ /* -------------------- BASE STYLES -------------------- */
1721
+ .bs-tooltip-deprecated {
1722
+ display: inline-block;
1723
+ position: relative;
1724
+ }
1725
+ .bs-tooltip-deprecated :where(.bs-tooltip-deprecated-text) {
1726
+ align-items: center;
1727
+ background-color: var(--bs-bg-base-to-light);
1728
+ border-radius: 4px;
1729
+ box-shadow: var(--bs-shadow-contentLowCenter);
1730
+ color: var(--bs-ink-violet);
1731
+ display: flex;
1732
+ font-size: var(--bs-text-sm);
1733
+ justify-content: center;
1734
+ max-width: 16rem;
1735
+ min-width: 4rem;
1736
+ opacity: 0;
1737
+ padding-bottom: 0.25rem;
1738
+ padding-left: 0.5rem;
1739
+ padding-right: 0.5rem;
1740
+ padding-top: 0.25rem;
1741
+ position: absolute;
1742
+ transform: scale(0);
1743
+ transition-duration: var(--bs-transition-quick);
1744
+ transition-property: opacity, transform;
1745
+ transition-timing-function: var(--bs-transition-ease);
1746
+ width: -moz-max-content;
1747
+ width: max-content;
1748
+ z-index: 999;
1749
+ }
1750
+ :where(.dark) .bs-tooltip :where(.bs-tooltip-text) {
1751
+ color: var(--bs-ink-base);
1752
+ }
1753
+ /* -------------------- POSITION: UNDEFINED / TOP -------------------- */
1754
+ .bs-tooltip-deprecated:where(:not([data-position])) :where(.bs-tooltip-deprecated-text),
1755
+ .bs-tooltip-deprecated:where([data-position="top"]) :where(.bs-tooltip-deprecated-text) {
1756
+ bottom: calc(100% + 0.5rem);
1757
+ left: 50%;
1758
+ transform-origin: bottom center;
1759
+ transform: translateX(-50%) scale(0);
1760
+ }
1761
+ /* Active States */
1762
+ :where(.bs-tooltip-deprecated:not([data-position])):hover :where(.bs-tooltip-deprecated-text),
1763
+ :where(.bs-tooltip-deprecated[data-position="top"]):hover :where(.bs-tooltip-deprecated-text),
1764
+ :where(.bs-tooltip-deprecated:not([data-position])):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1765
+ :where(.bs-tooltip-deprecated[data-position="top"]):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1766
+ :where(.bs-tooltip-deprecated:not([data-position]))[data-shown] :where(.bs-tooltip-deprecated-text),
1767
+ :where(.bs-tooltip-deprecated[data-position="top"])[data-shown] :where(.bs-tooltip-deprecated-text) {
1768
+ opacity: 1;
1769
+ transform: translateX(-50%) scale(1);
1770
+ }
1771
+ /* -------------------- POSITION: BOTTOM -------------------- */
1772
+ .bs-tooltip-deprecated:where([data-position="bottom"]) :where(.bs-tooltip-deprecated-text) {
1773
+ left: 50%;
1774
+ top: calc(100% + 0.5rem);
1775
+ transform-origin: top center;
1776
+ transform: translateX(-50%) scale(0);
1777
+ }
1778
+ /* Active States */
1779
+ :where(.bs-tooltip-deprecated[data-position="bottom"]):hover :where(.bs-tooltip-deprecated-text),
1780
+ :where(.bs-tooltip-deprecated[data-position="bottom"]):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1781
+ :where(.bs-tooltip-deprecated[data-position="bottom"])[data-shown] :where(.bs-tooltip-deprecated-text) {
1782
+ opacity: 1;
1783
+ transform: translateX(-50%) scale(1);
1784
+ }
1785
+ /* -------------------- POSITION: LEFT -------------------- */
1786
+ .bs-tooltip-deprecated:where([data-position="left"]) :where(.bs-tooltip-deprecated-text) {
1787
+ right: calc(100% + 0.5rem);
1788
+ top: 50%;
1789
+ transform-origin: center right;
1790
+ transform: translateY(-50%) scale(0);
1791
+ }
1792
+ /* Active States */
1793
+ :where(.bs-tooltip-deprecated[data-position="left"]):hover :where(.bs-tooltip-deprecated-text),
1794
+ :where(.bs-tooltip-deprecated[data-position="left"]):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1795
+ :where(.bs-tooltip-deprecated[data-position="left"])[data-shown] :where(.bs-tooltip-deprecated-text) {
1796
+ opacity: 1;
1797
+ transform: translateY(-50%) scale(1);
1798
+ }
1799
+ /* -------------------- POSITION: RIGHT -------------------- */
1800
+ .bs-tooltip-deprecated:where([data-position="right"]) :where(.bs-tooltip-deprecated-text) {
1801
+ left: calc(100% + 0.5rem);
1802
+ top: 50%;
1803
+ transform-origin: center left;
1804
+ transform: translateY(-50%) scale(0);
1805
+ }
1806
+ :where(.bs-tooltip-deprecated[data-position="right"]):hover :where(.bs-tooltip-deprecated-text),
1807
+ :where(.bs-tooltip-deprecated[data-position="right"]):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1808
+ :where(.bs-tooltip-deprecated[data-position="right"])[data-shown] :where(.bs-tooltip-deprecated-text) {
1809
+ opacity: 1;
1810
+ transform: translateY(-50%) scale(1);
1811
+ }
1812
+ /* -------------------- POSITION: CORNERS -------------------- */
1813
+ /* top-left */
1814
+ .bs-tooltip-deprecated:where([data-position="top-left"]) :where(.bs-tooltip-deprecated-text) {
1815
+ bottom: calc(100% + 0.5rem);
1816
+ right: calc(100% + 0.5rem);
1817
+ transform-origin: bottom right;
1818
+ }
1819
+ /* top-right */
1820
+ .bs-tooltip-deprecated:where([data-position="top-right"]) :where(.bs-tooltip-deprecated-text) {
1821
+ bottom: calc(100% + 0.5rem);
1822
+ left: calc(100% + 0.5rem);
1823
+ transform-origin: bottom left;
1824
+ }
1825
+ /* bottom-left */
1826
+ .bs-tooltip-deprecated:where([data-position="bottom-left"]) :where(.bs-tooltip-deprecated-text) {
1827
+ right: calc(100% + 0.5rem);
1828
+ top: calc(100% + 0.5rem);
1829
+ transform-origin: top right;
1830
+ }
1831
+ /* bottom-right */
1832
+ .bs-tooltip-deprecated:where([data-position="bottom-right"]) :where(.bs-tooltip-deprecated-text) {
1833
+ left: calc(100% + 0.5rem);
1834
+ top: calc(100% + 0.5rem);
1835
+ transform-origin: top left;
1344
1836
  }
1345
- .bs-text-gray-dark {
1346
- color: var(--bs-gray-dark);
1837
+ /* Active States */
1838
+ :where(.bs-tooltip-deprecated[data-position="top-left"]):hover :where(.bs-tooltip-deprecated-text),
1839
+ :where(.bs-tooltip-deprecated[data-position="top-right"]):hover :where(.bs-tooltip-deprecated-text),
1840
+ :where(.bs-tooltip-deprecated[data-position="bottom-left"]):hover :where(.bs-tooltip-deprecated-text),
1841
+ :where(.bs-tooltip-deprecated[data-position="bottom-right"]):hover :where(.bs-tooltip-deprecated-text),
1842
+ :where(.bs-tooltip-deprecated[data-position="top-left"]):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1843
+ :where(.bs-tooltip-deprecated[data-position="top-right"]):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1844
+ :where(.bs-tooltip-deprecated[data-position="bottom-left"]):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1845
+ :where(.bs-tooltip-deprecated[data-position="bottom-right"]):has(:focus-visible) :where(.bs-tooltip-deprecated-text),
1846
+ :where(.bs-tooltip-deprecated[data-position="top-left"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-deprecated-text),
1847
+ :where(.bs-tooltip-deprecated[data-position="top-right"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-deprecated-text),
1848
+ :where(.bs-tooltip-deprecated[data-position="bottom-left"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-deprecated-text),
1849
+ :where(.bs-tooltip-deprecated[data-position="bottom-right"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-deprecated-text) {
1850
+ opacity: 1;
1851
+ transform: scale(1);
1347
1852
  }
1348
- .bs-bg-gray-dark {
1349
- background-color: var(--bs-gray-dark);
1853
+ /* -------------------- DISABLED -------------------- */
1854
+ /*
1855
+ Don't display unless data-shown is present
1856
+ This must go last to properly override the other classes
1857
+ */
1858
+ :where(.bs-tooltip-deprecated[data-disabled]:not([data-disabled="false"]):not([data-shown])):hover :where(.bs-tooltip-deprecated-text),
1859
+ :where(.bs-tooltip-deprecated[data-disabled]:not([data-disabled="false"]):not([data-shown])):has(:focus-visible) :where(.bs-tooltip-deprecated-text) {
1860
+ opacity: 0;
1861
+ transform: scale(0);
1350
1862
  }
1351
- .bs-text-black {
1352
- color: var(--bs-black);
1863
+ :where(.bs-tooltip-deprecated[data-shown="false"][data-disabled]:not([data-disabled="false"])):hover :where(.bs-tooltip-deprecated-text),
1864
+ :where(.bs-tooltip-deprecated[data-shown="false"][data-disabled]:not([data-disabled="false"])):has(:focus-visible) :where(.bs-tooltip-deprecated-text) {
1865
+ opacity: 0;
1866
+ transform: scale(0);
1353
1867
  }
1354
- .bs-bg-black {
1355
- background-color: var(--bs-black);
1868
+ /* -------------------- COMPONENT-SPECIFIC STYLES -------------------- */
1869
+ .bs-tooltip-deprecated :where(.bs-tooltip-deprecated-text.escaped) {
1870
+ opacity: 0;
1871
+ transform: scale(0.5);
1356
1872
  }
1357
- .bs-text-warning {
1358
- color: var(--bs-warning);
1873
+ .bs-tooltip-deprecated :where(.bs-tooltip-deprecated-text.escaped-x) {
1874
+ opacity: 0;
1875
+ transform: translateX(-50%) scale(0.5);
1359
1876
  }
1360
- .bs-bg-warning {
1361
- background-color: var(--bs-warning);
1877
+ .bs-tooltip-deprecated :where(.bs-tooltip-deprecated-text.escaped-y) {
1878
+ opacity: 0;
1879
+ transform: translateY(-50%) scale(0.5);
1362
1880
  }
1363
- /* Component Styles */
1364
1881
  .bs-accordion {
1365
1882
  --accordion-link-color: var(--bs-purple-400);
1366
1883
  --accordion-link-outline-color: var(--bs-blue-base);
@@ -1393,7 +1910,7 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1393
1910
  line-height: 1.5;
1394
1911
  outline: 2px solid var(--accordion-outline-color);
1395
1912
  padding: var(--bs-space-0);
1396
- padding-block: var(--bs-space-f-2);
1913
+ padding-block: clamp(0.5rem, calc(0.38rem + 0.5vw), 0.75rem);
1397
1914
  padding-inline: var(--accordion-padding-inline);
1398
1915
  text-decoration: none;
1399
1916
  width: 100%;
@@ -1437,7 +1954,7 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1437
1954
  .bs-accordion > :where(header) > :where(button) > :where([data-position="end"]) {
1438
1955
  grid-area: end;
1439
1956
  transform: rotate(0);
1440
- transition: var(--bs-trans-rotate180);
1957
+ transition: transform var(--bs-transition-medium) var(--bs-transition-ease);
1441
1958
  }
1442
1959
  .bs-accordion > :where(header[data-open]:not([data-open="false"])) :where([data-position="end"]) {
1443
1960
  transform: rotate(180deg);
@@ -1449,7 +1966,7 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1449
1966
  grid-template-rows: 0fr;
1450
1967
  overflow: hidden;
1451
1968
  padding-inline: var(--accordion-padding-inline);
1452
- transition: grid-template-rows 250ms ease-out;
1969
+ transition: grid-template-rows var(--bs-transition-slow) var(--bs-transition-ease);
1453
1970
  }
1454
1971
  .bs-accordion :where(.bs-accordion-content) > :where(:first-child) {
1455
1972
  overflow: hidden;
@@ -1585,6 +2102,20 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1585
2102
  --btn-text-color: var(--bs-text-base);
1586
2103
  --btn-text-color-hovered: var(--bs-text-base);
1587
2104
  }
2105
+ .bs-backdrop {
2106
+ position: fixed;
2107
+ inset: 0;
2108
+ -webkit-backdrop-filter: blur(4px);
2109
+ backdrop-filter: blur(4px);
2110
+ background: rgba(29, 30, 72, 0.05);
2111
+ /*
2112
+ Should be very rare, but below is an optional way for consumer to override z-index.
2113
+ See note in popover.css for more info...most often (but still rare) the consumer
2114
+ would override the --bs-popover-z-index instead, which would take care of this bs-backdrop too.
2115
+ Should be a very very rare use case to need to override both independently to different values.
2116
+ */
2117
+ z-index: var(--bs-backdrop-z-index, var(--bs-popover-z-index));
2118
+ }
1588
2119
  .bs-badge {
1589
2120
  --badge-bg: var(--bs-red-400);
1590
2121
  --badge-text: var(--bs-white);
@@ -1696,6 +2227,7 @@ a:where(.bs-link):where(:focus:not(:focus-visible)) {
1696
2227
  padding-right: 1.25rem;
1697
2228
  }
1698
2229
  .bs-banner :where(.bs-banner-content p a) {
2230
+ color: var(--bs-ink-white);
1699
2231
  text-decoration: underline;
1700
2232
  }
1701
2233
  .bs-banner :where(a:hover) {
@@ -1759,14 +2291,15 @@ text color:
1759
2291
  display: inline-flex;
1760
2292
  font-size: var(--btn-text-size);
1761
2293
  font-weight: var(--btn-weight);
1762
- height: var(--btn-height);
2294
+ height: max(-moz-fit-content, var(--btn-height));
2295
+ height: max(fit-content, var(--btn-height));
1763
2296
  justify-content: center;
1764
2297
  line-height: 1.5;
1765
2298
  outline: 2px solid transparent;
1766
2299
  padding: var(--btn-padding);
1767
2300
  position: relative;
1768
2301
  text-decoration: none;
1769
- transition: all 100ms ease-in-out;
2302
+ transition: all var(--bs-transition-fast) var(--bs-transition-ease);
1770
2303
  vertical-align: middle;
1771
2304
  }
1772
2305
  .bs-button:where(:not(:disabled):not([aria-disabled="true"]):hover) {
@@ -1788,7 +2321,7 @@ text color:
1788
2321
  height: calc(100% + 0.5rem);
1789
2322
  inset: var(--btn-focus-inset);
1790
2323
  position: absolute;
1791
- transition: border-color 0.125s ease-in-out;
2324
+ transition: border-color var(--bs-transition-fast) var(--bs-transition-ease);
1792
2325
  width: var(--btn-focus-pseudo-width);
1793
2326
  }
1794
2327
  .bs-button:where(:focus:not(:disabled):not([aria-disabled="true"]))::before {
@@ -1845,7 +2378,7 @@ text color:
1845
2378
  --btn-ghost-ink: var(--bs-ink-orange);
1846
2379
  --btn-highlight: var(--bs-orange-100);
1847
2380
  --btn-light: var(--bs-orange-10);
1848
- --btn-main: var(--bs-orange-warning);
2381
+ --btn-main: var(--bs-warning);
1849
2382
  --btn-secondary: var(--bs-orange-base);
1850
2383
  }
1851
2384
  .bs-button:where([data-variant^='negative']) {
@@ -1878,6 +2411,7 @@ text color:
1878
2411
  --btn-light: var(--bs-white-10);
1879
2412
  --btn-main: var(--bs-ink-white);
1880
2413
  }
2414
+ /* DEPRECATED */
1881
2415
  /* ------------ Text Button ------------ */
1882
2416
  .bs-button:where([data-text]:not([data-text="false"])) {
1883
2417
  --btn-focus-inset: -0.25rem -0.5rem;
@@ -1892,22 +2426,27 @@ text color:
1892
2426
  cursor: pointer;
1893
2427
  line-height: 150%;
1894
2428
  }
2429
+ /* DEPRECATED */
1895
2430
  .bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
1896
2431
  --btn-ink: var(--bs-blue-base);
1897
2432
  background-color: transparent;
1898
2433
  text-decoration: underline;
1899
2434
  }
2435
+ /* DEPRECATED */
1900
2436
  .bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover):has(svg) {
1901
2437
  text-decoration: none;
1902
2438
  }
2439
+ /* DEPRECATED */
1903
2440
  .bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):active) {
1904
2441
  box-shadow: none;
1905
2442
  transform: none;
1906
2443
  }
2444
+ /* DEPRECATED */
1907
2445
  .bs-button:where([data-variant^='negative'][data-text]:not([data-text="false"])),
1908
2446
  .bs-button:where([data-variant^='negative'][data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
1909
2447
  --btn-ink: var(--bs-ink-red);
1910
2448
  }
2449
+ /* DEPRECATED */
1911
2450
  .bs-button:where([data-variant^='white'][data-text]:not([data-text="false"])),
1912
2451
  .bs-button:where([data-variant^='white'][data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
1913
2452
  --btn-ink: var(--bs-ink-white);
@@ -1929,23 +2468,33 @@ text color:
1929
2468
  /* Std button size="sm" text size is same across all media sizes */
1930
2469
  --btn-text-size: var(--bs-text-sm);
1931
2470
  }
2471
+ /* DEPRECATED */
1932
2472
  /* Text buttons: For now, text size not dependent on media size */
1933
2473
  .bs-button:where([data-text]:not([data-text="false"])) {
1934
2474
  --btn-height: auto;
1935
2475
  --btn-padding: 0;
1936
2476
  --btn-text-size: var(--bs-text-md);
1937
2477
  }
2478
+ /* DEPRECATED */
1938
2479
  .bs-button:where([data-size^='sm'][data-text]:not([data-text="false"])) {
1939
2480
  --btn-text-size: var(--bs-text-base);
1940
2481
  }
2482
+ /* DEPRECATED */
1941
2483
  /* Size XS & XXS only applies to text buttons */
1942
2484
  .bs-button:where([data-size^='xs'][data-text]:not([data-text="false"])) {
1943
2485
  --btn-text-size: var(--bs-text-sm);
1944
2486
  }
2487
+ /* DEPRECATED */
1945
2488
  .bs-button:where([data-size^='xxs'][data-text]:not([data-text="false"])) {
1946
2489
  --btn-text-size: var(--bs-text-xs);
1947
2490
  --btn-weight: 600;
1948
2491
  }
2492
+ /* DEPRECATED */
2493
+ /* Size SM buttons will shrink icons to 14px */
2494
+ .bs-button:where([data-size^='sm']) :where(.bs-icon) {
2495
+ height: 0.875rem;
2496
+ width: 0.875rem;
2497
+ }
1949
2498
  /* ------------ Disabled Styling ------------ */
1950
2499
  :where(button:disabled),
1951
2500
  .bs-button:where(:disabled),
@@ -1963,6 +2512,7 @@ text color:
1963
2512
  .bs-button:where([data-ghost]:not([data-ghost="false"]))[aria-disabled="true"] {
1964
2513
  --btn-ghost-ink: var(--bs-ink-disabled);
1965
2514
  }
2515
+ /* DEPRECATED */
1966
2516
  .bs-button:where([data-text]:not([data-text="false"])):disabled,
1967
2517
  .bs-button:where([data-text]:not([data-text="false"]))[aria-disabled="true"] {
1968
2518
  --btn-main: transparent;
@@ -2063,13 +2613,13 @@ a.bs-button {
2063
2613
  border-color: var(--legend-item-box-stroke);
2064
2614
  border-radius: var(--legend-item-swatch-radius, 3px);
2065
2615
  display: inline-block;
2066
- height: var(--bs-text-f-md);
2616
+ height: var(--bs-text-md);
2067
2617
  margin-right: 10px;
2068
- width: var(--bs-text-f-md);
2618
+ width: var(--bs-text-md);
2069
2619
  }
2070
2620
  .bs-chart :where(li p) {
2071
2621
  color: var(--legend-item-text-color);
2072
- font-size: var(--bs-text-f-md);
2622
+ font-size: var(--bs-text-md);
2073
2623
  margin: 0;
2074
2624
  padding: 0;
2075
2625
  -webkit-text-decoration: var(--legend-item-text-decoration);
@@ -2189,7 +2739,7 @@ a.bs-circle-button {
2189
2739
  outline: 2px solid transparent;
2190
2740
  padding: var(--btn-icon-padding);
2191
2741
  position: relative;
2192
- transition: all 100ms ease-in-out;
2742
+ transition: all var(--bs-transition-fast) var(--bs-transition-ease);
2193
2743
  }
2194
2744
  .bs-circle-button :where(.bs-circle-button-icon)::before {
2195
2745
  border-color: var(--btn-border-color);
@@ -2199,7 +2749,7 @@ a.bs-circle-button {
2199
2749
  content: '';
2200
2750
  inset: var(--btn-focus-inset);
2201
2751
  position: absolute;
2202
- transition: border-color 125ms ease-in-out, transform 100ms ease-in-out;
2752
+ transition: border-color var(--bs-transition-fast) var(--bs-transition-ease), transform var(--bs-transition-fast) var(--bs-transition-ease);
2203
2753
  }
2204
2754
  .bs-circle-button :where(.bs-circle-button-icon) :where(.bs-icon) {
2205
2755
  --icon-size: var(--btn-icon-size);
@@ -2327,7 +2877,7 @@ a.bs-circle-button {
2327
2877
  --btn-text-weight: 600;
2328
2878
  }
2329
2879
  /* Option list */
2330
- .bs-dropdown-options {
2880
+ .bs-dropdown-options-deprecated {
2331
2881
  display: flex;
2332
2882
  flex-direction: column;
2333
2883
  gap: 0.5rem;
@@ -2340,36 +2890,36 @@ a.bs-circle-button {
2340
2890
  padding-left: 0;
2341
2891
  position: relative;
2342
2892
  }
2343
- .bs-dropdown-options:focus-visible {
2893
+ .bs-dropdown-options-deprecated:focus-visible {
2344
2894
  outline: none;
2345
2895
  }
2346
2896
  /* Stabilize scrollbar gutter for Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=764076) */
2347
2897
  @media (min-width: 1166px) {
2348
2898
  /* 5th or 8th child triggers overflow-y (depending on variant) */
2349
- :where([data-width="content"]) > .bs-dropdown-options:where(:has([data-variant*="description"]:nth-child(5))),
2350
- :where([data-width="content"]) > .bs-dropdown-options:where(:has(li:not([data-variant*="description"]):nth-child(8))) {
2899
+ :where([data-width="content"]) > .bs-dropdown-options-deprecated:where(:has([data-variant*="description"]:nth-child(5))),
2900
+ :where([data-width="content"]) > .bs-dropdown-options-deprecated:where(:has(li:not([data-variant*="description"]):nth-child(8))) {
2351
2901
  scrollbar-gutter: stable;
2352
2902
  }
2353
2903
 
2354
2904
  /* Fallback for older Firefox+ only if we're not setting data-overflow values */
2355
2905
  @supports not selector(:has(*)) {
2356
- :where([data-width="content"]) > .bs-dropdown-options {
2906
+ :where([data-width="content"]) > .bs-dropdown-options-deprecated {
2357
2907
  scrollbar-gutter: stable;
2358
2908
  }
2359
2909
  }
2360
2910
 
2361
2911
  /* Also allow this for js solutions if :has not available via data-overflow */
2362
2912
  /* Reset scrollbar gutter when data-overflow is used */
2363
- :where([data-width="content"]) > .bs-dropdown-options:where([data-overflow]) {
2913
+ :where([data-width="content"]) > .bs-dropdown-options-deprecated:where([data-overflow]) {
2364
2914
  scrollbar-gutter: auto;
2365
2915
  }
2366
2916
 
2367
- :where([data-width="content"]) > .bs-dropdown-options:where([data-overflow="true"]) {
2917
+ :where([data-width="content"]) > .bs-dropdown-options-deprecated:where([data-overflow="true"]) {
2368
2918
  scrollbar-gutter: stable;
2369
2919
  }
2370
2920
  }
2371
2921
  /* Option list item */
2372
- .bs-dropdown-options :where(li) {
2922
+ .bs-dropdown-options-deprecated :where(li) {
2373
2923
  align-items: center;
2374
2924
  border-bottom: 2px solid transparent;
2375
2925
  border-left: 4px solid transparent;
@@ -2388,158 +2938,158 @@ a.bs-circle-button {
2388
2938
  word-wrap: break-word;
2389
2939
  }
2390
2940
  /* Variant: 2-col */
2391
- .bs-dropdown-options :where(li[data-variant~="2-col"]) {
2941
+ .bs-dropdown-options-deprecated :where(li[data-variant~="2-col"]) {
2392
2942
  grid-template-columns: min-content 1fr;
2393
2943
  }
2394
2944
  /* Variant: 3-col */
2395
- .bs-dropdown-options :where(li[data-variant~="3-col"]) {
2945
+ .bs-dropdown-options-deprecated :where(li[data-variant~="3-col"]) {
2396
2946
  grid-template-columns: min-content min-content 1fr;
2397
2947
  }
2398
2948
  /* Variant: description */
2399
- .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"] > :nth-child(2)),
2400
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)),
2401
- .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
2949
+ .bs-dropdown-options-deprecated :where(li:not([data-variant*="-col"])[data-variant~="description"] > :nth-child(2)),
2950
+ .bs-dropdown-options-deprecated :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)),
2951
+ .bs-dropdown-options-deprecated :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
2402
2952
  color: var(--bs-ink-light);
2403
2953
  font-size: var(--bs-text-xs);
2404
2954
  min-height: 1.125rem;
2405
2955
  line-height: 1.125rem;
2406
2956
  }
2407
2957
  /* Variant: 2-col description */
2408
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)) {
2958
+ .bs-dropdown-options-deprecated :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)) {
2409
2959
  grid-column-start: 2;
2410
2960
  }
2411
2961
  /* Variant: 3-col description */
2412
- .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
2962
+ .bs-dropdown-options-deprecated :where(li[data-variant~="3-col"][data-variant~="description"] > :nth-child(4)) {
2413
2963
  grid-column-start: 3;
2414
2964
  }
2415
2965
  /* Hover or data-selected */
2416
- .bs-dropdown-options :where(li:not([role="separator"]):hover),
2417
- .bs-dropdown-options :where(li[data-selected]) {
2966
+ .bs-dropdown-options-deprecated :where(li:not([role="separator"]):hover),
2967
+ .bs-dropdown-options-deprecated :where(li[data-selected]) {
2418
2968
  background-color: var(--bs-bg-medium-to-light);
2419
2969
  border-left: 4px solid var(--bs-ink-blue);
2420
2970
  color: var(--bs-ink-blue);
2421
2971
  outline: none;
2422
2972
  }
2423
2973
  /* Variant: negative */
2424
- .bs-dropdown-options :where(li[data-variant~="negative"]:hover),
2425
- .bs-dropdown-options :where(li[data-variant~="negative"][data-selected]),
2426
- .bs-dropdown-options :where(li[data-variant~="negative"][data-selected]:hover) {
2974
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"]:hover),
2975
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"][data-selected]),
2976
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"][data-selected]:hover) {
2427
2977
  /* 25% alpha version of --bs-red-400 */
2428
2978
  background-color: rgba(248, 169, 170, 0.25);
2429
2979
  border-left: 4px solid var(--bs-ink-red);
2430
2980
  color: var(--bs-ink-red);
2431
2981
  }
2432
2982
  /* Hover or data-selected for 2-col/3-col/description variants */
2433
- .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
2434
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
2435
- .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
2436
- .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
2437
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
2438
- .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
2983
+ .bs-dropdown-options-deprecated :where(li:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
2984
+ .bs-dropdown-options-deprecated :where(li[data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
2985
+ .bs-dropdown-options-deprecated :where(li[data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
2986
+ .bs-dropdown-options-deprecated :where(li:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
2987
+ .bs-dropdown-options-deprecated :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
2988
+ .bs-dropdown-options-deprecated :where(li[data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
2439
2989
  color: var(--bs-ink-blue);
2440
2990
  }
2441
2991
  /* Hover or data-selected for negative + 2-col/3-col/description variants */
2442
- .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
2443
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
2444
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
2445
- .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
2446
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
2447
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
2992
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
2993
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
2994
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
2995
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
2996
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
2997
+ .bs-dropdown-options-deprecated :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"][data-selected] > :nth-child(4)) {
2448
2998
  color: var(--bs-ink-red);
2449
2999
  }
2450
3000
  /* List option keyboard navigation focus */
2451
- .bs-dropdown-options:where(:focus-visible) :where(li[data-active]) {
3001
+ .bs-dropdown-options-deprecated:where(:focus-visible) :where(li[data-active]) {
2452
3002
  --focus-border-color: var(--bs-blue-base);
2453
3003
  border: 2px solid var(--focus-border-color);
2454
3004
  outline: none;
2455
3005
  padding-left: 1.375rem;
2456
3006
  }
2457
3007
  /* Navigation focus on a selected element should preserve 4px left border */
2458
- .bs-dropdown-options:where(:focus-visible) :where(li[data-selected][data-active]) {
3008
+ .bs-dropdown-options-deprecated:where(:focus-visible) :where(li[data-selected][data-active]) {
2459
3009
  border-left: 4px solid var(--focus-border-color);
2460
3010
  padding-left: 1.25rem;
2461
3011
  }
2462
3012
  /* data-variant="negative" list option keyboard navigation focus */
2463
- .bs-dropdown-options:where(:focus-visible) :where(li[data-variant~="negative"][data-active]) {
3013
+ .bs-dropdown-options-deprecated:where(:focus-visible) :where(li[data-variant~="negative"][data-active]) {
2464
3014
  --focus-border-color: var(--bs-red-200);
2465
3015
  }
2466
3016
  /* Multi-select divider */
2467
- .bs-dropdown-options :where(li[role="separator"]) {
3017
+ .bs-dropdown-options-deprecated :where(li[role="separator"]) {
2468
3018
  cursor: default;
2469
3019
  padding-block: 0.125rem;
2470
3020
  padding-right: 1.375rem;
2471
3021
  }
2472
3022
  /* Multi-select divider line */
2473
- .bs-dropdown-options :where(hr) {
3023
+ .bs-dropdown-options-deprecated :where(hr) {
2474
3024
  background-color: var(--bs-navy-light);
2475
3025
  height: .0625rem;
2476
3026
  margin-block: 0;
2477
3027
  margin-inline: 0;
2478
3028
  }
2479
3029
  /* Disable hover styles */
2480
- .bs-dropdown-options :where(li[data-no-hover]:hover) {
3030
+ .bs-dropdown-options-deprecated :where(li[data-no-hover]:hover) {
2481
3031
  background-color: transparent;
2482
3032
  border-left-color: transparent;
2483
3033
  color: var(--bs-ink-base);
2484
3034
  cursor: default;
2485
3035
  }
2486
3036
  /* Style label to look like other options */
2487
- .bs-dropdown-options :where(li label) {
3037
+ .bs-dropdown-options-deprecated :where(li label) {
2488
3038
  cursor: pointer;
2489
3039
  font-size: 1rem;
2490
3040
  font-weight: 400;
2491
3041
  }
2492
3042
  /* Don't change option color when checkbox is present */
2493
- .bs-dropdown-options :where(li[data-variant~="checkbox"]):hover,
2494
- .bs-dropdown-options :where(li[data-variant~="checkbox"][data-selected]) {
3043
+ .bs-dropdown-options-deprecated :where(li[data-variant~="checkbox"]):hover,
3044
+ .bs-dropdown-options-deprecated :where(li[data-variant~="checkbox"][data-selected]) {
2495
3045
  color: var(--bs-ink-base);
2496
3046
  }
2497
3047
  /* Don't change description color when checkbox is present */
2498
- .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"]):hover > :nth-child(3),
2499
- .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"][data-selected]) > :nth-child(3),
2500
- .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"]):hover > :nth-child(4),
2501
- .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"][data-selected]) > :nth-child(4) {
3048
+ .bs-dropdown-options-deprecated :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"]):hover > :nth-child(3),
3049
+ .bs-dropdown-options-deprecated :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"][data-selected]) > :nth-child(3),
3050
+ .bs-dropdown-options-deprecated :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"]):hover > :nth-child(4),
3051
+ .bs-dropdown-options-deprecated :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"][data-selected]) > :nth-child(4) {
2502
3052
  color: var(--bs-ink-light);
2503
3053
  }
2504
3054
  /* Overrides mobile style when not min-width 1166 */
2505
- .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li) {
3055
+ .bs-dropdown-deprecated:where([data-no-mobile="true"]) :where(.bs-dropdown-options-deprecated) :where(li) {
2506
3056
  padding-left: 0.5rem;
2507
3057
  padding-right: 0.75rem;
2508
3058
  }
2509
- .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options) :where(li[role="separator"]) {
3059
+ .bs-dropdown-deprecated:where([data-no-mobile="true"]) :where(.bs-dropdown-options-deprecated) :where(li[role="separator"]) {
2510
3060
  padding-right: 0.625rem;
2511
3061
  }
2512
- .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options:focus-visible) :where(li[data-active]) {
3062
+ .bs-dropdown-deprecated:where([data-no-mobile="true"]) :where(.bs-dropdown-options-deprecated:focus-visible) :where(li[data-active]) {
2513
3063
  padding-left: 0.625rem;
2514
3064
  }
2515
- .bs-dropdown:where([data-no-mobile="true"]) :where(.bs-dropdown-options:focus-visible) :where(li[data-selected][data-active]) {
3065
+ .bs-dropdown-deprecated:where([data-no-mobile="true"]) :where(.bs-dropdown-options-deprecated:focus-visible) :where(li[data-selected][data-active]) {
2516
3066
  padding-left: 0.5rem;
2517
3067
  }
2518
3068
  @media (min-width: 1166px) {
2519
- .bs-dropdown-options :where(li) {
3069
+ .bs-dropdown-options-deprecated :where(li) {
2520
3070
  padding-left: 0.5rem;
2521
3071
  padding-right: 0.75rem;
2522
3072
  }
2523
3073
 
2524
- .bs-dropdown-options :where(li[role="separator"]) {
3074
+ .bs-dropdown-options-deprecated :where(li[role="separator"]) {
2525
3075
  padding-right: 0.625rem;
2526
3076
  }
2527
3077
 
2528
- .bs-dropdown-options:where(:focus-visible) :where(li[data-active]) {
3078
+ .bs-dropdown-options-deprecated:where(:focus-visible) :where(li[data-active]) {
2529
3079
  padding-left: 0.625rem;
2530
3080
  }
2531
3081
 
2532
- .bs-dropdown-options:where(:focus-visible) :where(li[data-selected][data-active]) {
3082
+ .bs-dropdown-options-deprecated:where(:focus-visible) :where(li[data-selected][data-active]) {
2533
3083
  padding-left: 0.5rem;
2534
3084
  }
2535
3085
  }
2536
3086
  /* Parent */
2537
- .bs-dropdown-parent {
3087
+ .bs-dropdown-deprecated-parent {
2538
3088
  display: inline-block;
2539
3089
  position: relative;
2540
3090
  }
2541
3091
  /* Backdrop for mobile bottom sheet */
2542
- .bs-dropdown-backdrop {
3092
+ .bs-dropdown-deprecated-backdrop {
2543
3093
  -webkit-backdrop-filter: blur(4px);
2544
3094
  backdrop-filter: blur(4px);
2545
3095
  background: rgba(29, 30, 72, 0.05);
@@ -2552,7 +3102,7 @@ a.bs-circle-button {
2552
3102
  z-index: 998;
2553
3103
  }
2554
3104
  /* Content */
2555
- .bs-dropdown {
3105
+ .bs-dropdown-deprecated {
2556
3106
  --dropdown-bottom: 0;
2557
3107
  --dropdown-left: 0;
2558
3108
  --dropdown-right: auto;
@@ -2574,70 +3124,70 @@ a.bs-circle-button {
2574
3124
  top: var(--dropdown-top);
2575
3125
  transform-origin: center bottom;
2576
3126
  transform: var(--dropdown-transform);
2577
- transition-duration: 75ms;
3127
+ transition-duration: var(--bs-transition-quick);
2578
3128
  transition-property: opacity, transform;
2579
- transition-timing-function: ease-in-out;
3129
+ transition-timing-function: var(--bs-transition-ease);
2580
3130
  width: var(--dropdown-width);
2581
3131
  z-index: 999;
2582
3132
  }
2583
3133
  /* Mobile Header */
2584
- .bs-dropdown > :where(header) {
3134
+ .bs-dropdown-deprecated > :where(header) {
2585
3135
  border-bottom: 1px solid var(--bs-border-base);
2586
3136
  display: flex;
2587
3137
  justify-content: space-between;
2588
3138
  padding: 1.5rem;
2589
3139
  }
2590
- .bs-dropdown > :where(header) :where(h3) {
3140
+ .bs-dropdown-deprecated > :where(header) :where(h3) {
2591
3141
  font-size: 1.25rem;
2592
3142
  }
2593
- .bs-dropdown > :where(header) :where(p) {
3143
+ .bs-dropdown-deprecated > :where(header) :where(p) {
2594
3144
  font-size: 1rem;
2595
3145
  }
2596
- .bs-dropdown > :where(header) :where(button) {
3146
+ .bs-dropdown-deprecated > :where(header) :where(button) {
2597
3147
  cursor: pointer;
2598
3148
  height: 1rem;
2599
3149
  width: 1rem;
2600
3150
  }
2601
3151
  /* data-shown */
2602
- .bs-dropdown:where([data-shown]:not([data-shown="false"])) {
3152
+ .bs-dropdown-deprecated:where([data-shown]:not([data-shown="false"])) {
2603
3153
  --dropdown-transform: translate(0, 0);
2604
3154
  opacity: 1;
2605
3155
  }
2606
3156
  /* Sizing */
2607
- .bs-dropdown:where([data-width="sm"]) {
3157
+ .bs-dropdown-deprecated:where([data-width="sm"]) {
2608
3158
  --dropdown-wscreen-width: 10rem;
2609
3159
  }
2610
- .bs-dropdown:where([data-width="md"]),
2611
- .bs-dropdown:where(:not([data-width])) {
3160
+ .bs-dropdown-deprecated:where([data-width="md"]),
3161
+ .bs-dropdown-deprecated:where(:not([data-width])) {
2612
3162
  --dropdown-wscreen-width: 20rem;
2613
3163
  }
2614
- .bs-dropdown:where([data-width="lg"]) {
3164
+ .bs-dropdown-deprecated:where([data-width="lg"]) {
2615
3165
  --dropdown-wscreen-width: 40rem;
2616
3166
  }
2617
- .bs-dropdown:where([data-width="content"]) {
3167
+ .bs-dropdown-deprecated:where([data-width="content"]) {
2618
3168
  --dropdown-wscreen-width: max-content;
2619
3169
  }
2620
- .bs-dropdown-parent:where([data-width="anchor"]) :where(.bs-dropdown) {
3170
+ .bs-dropdown-deprecated-parent:where([data-width="anchor"]) :where(.bs-dropdown-deprecated) {
2621
3171
  --dropdown-wscreen-width: 100%;
2622
3172
  }
2623
3173
  /* data-top */
2624
- .bs-dropdown:where([data-top]:not([data-top="false"])) {
3174
+ .bs-dropdown-deprecated:where([data-top]:not([data-top="false"])) {
2625
3175
  --dropdown-wscreen-bottom: calc(100% + 0.5rem);
2626
3176
  --dropdown-wscreen-top: auto;
2627
3177
  }
2628
3178
  /* data-center */
2629
- .bs-dropdown-parent:where([data-center]:not([data-center="false"])) :where(.bs-dropdown) {
3179
+ .bs-dropdown-deprecated-parent:where([data-center]:not([data-center="false"])) :where(.bs-dropdown-deprecated) {
2630
3180
  --dropdown-transform: translate(-50%, 0);
2631
3181
  --dropdown-wscreen-left: 50%;
2632
3182
  }
2633
3183
  /* data-right */
2634
- .bs-dropdown-parent:where([data-right]:not([data-right="false"])) :where(.bs-dropdown) {
3184
+ .bs-dropdown-deprecated-parent:where([data-right]:not([data-right="false"])) :where(.bs-dropdown-deprecated) {
2635
3185
  --dropdown-transform: translate(0, 0);
2636
3186
  --dropdown-wscreen-left: auto;
2637
3187
  --dropdown-wscreen-right: 0;
2638
3188
  }
2639
3189
  /* Overrides mobile style when not min-width 1166 */
2640
- .bs-dropdown:where([data-no-mobile="true"]) {
3190
+ .bs-dropdown-deprecated:where([data-no-mobile="true"]) {
2641
3191
  --dropdown-bottom: var(--dropdown-wscreen-bottom, auto);
2642
3192
  --dropdown-left: var(--dropdown-wscreen-left, initial);
2643
3193
  --dropdown-right: var(--dropdown-wscreen-right, initial);
@@ -2647,15 +3197,15 @@ a.bs-circle-button {
2647
3197
 
2648
3198
  position: absolute;
2649
3199
  }
2650
- .bs-dropdown:where([data-no-mobile="true"]) > :where(header) {
3200
+ .bs-dropdown-deprecated:where([data-no-mobile="true"]) > :where(header) {
2651
3201
  display: none;
2652
3202
  }
2653
3203
  @media (min-width: 1166px) {
2654
- .bs-dropdown-backdrop {
3204
+ .bs-dropdown-deprecated-backdrop {
2655
3205
  display: none;
2656
3206
  }
2657
3207
 
2658
- .bs-dropdown {
3208
+ .bs-dropdown-deprecated {
2659
3209
  --dropdown-bottom: var(--dropdown-wscreen-bottom, auto);
2660
3210
  --dropdown-left: var(--dropdown-wscreen-left, initial);
2661
3211
  --dropdown-right: var(--dropdown-wscreen-right, initial);
@@ -2667,31 +3217,31 @@ a.bs-circle-button {
2667
3217
  }
2668
3218
 
2669
3219
  /* Hide the header */
2670
- .bs-dropdown > :where(header) {
3220
+ .bs-dropdown-deprecated > :where(header) {
2671
3221
  display: none;
2672
3222
  }
2673
3223
  }
2674
3224
  /* Vue Transition Styles - Only used in Vue component */
2675
- .bs-dropdown:where(.bs-dropdown-enter-from),
2676
- .bs-dropdown:where(.bs-dropdown-leave-to) {
3225
+ .bs-dropdown-deprecated:where(.bs-dropdown-deprecated-enter-from),
3226
+ .bs-dropdown-deprecated:where(.bs-dropdown-deprecated-leave-to) {
2677
3227
  opacity: 0;
2678
3228
  transform: var(--dropdown-transform);
2679
3229
  }
2680
- .bs-dropdown:where(.bs-dropdown-enter-to),
2681
- .bs-dropdown:where(.bs-dropdown-leave-from) {
3230
+ .bs-dropdown-deprecated:where(.bs-dropdown-deprecated-enter-to),
3231
+ .bs-dropdown-deprecated:where(.bs-dropdown-deprecated-leave-from) {
2682
3232
  opacity: 1;
2683
3233
  transform: translate(0, 0);
2684
3234
  }
2685
- .bs-dropdown :where(.mobile-select-button-container) {
3235
+ .bs-dropdown-deprecated :where(.mobile-select-button-container) {
2686
3236
  display: none;
2687
3237
  overflow: hidden;
2688
3238
  }
2689
3239
  @media (max-width: 1166px) {
2690
- .bs-dropdown :where(.mobile-select-button-container) {
3240
+ .bs-dropdown-deprecated :where(.mobile-select-button-container) {
2691
3241
  display: flex;
2692
3242
  }
2693
3243
  }
2694
- .bs-dropdown :where(.mobile-select-button) {
3244
+ .bs-dropdown-deprecated :where(.mobile-select-button) {
2695
3245
  margin: .875rem;
2696
3246
  width: 100%;
2697
3247
  }
@@ -2702,7 +3252,7 @@ a.bs-circle-button {
2702
3252
  --col-gap: var(--bs-space-6);
2703
3253
  --cta-spacing: var(--bs-space-4);
2704
3254
  --description-font-size: var(--bs-text-base);
2705
- --description-line-height: var(--bs-leading-base);
3255
+ --description-line-height: var(--bs-leading-lg);
2706
3256
  --description-weight: var(--bs-font-normal);
2707
3257
  --icon-size: 3rem;
2708
3258
  --title-font-size: var(--bs-text-lg);
@@ -2760,14 +3310,14 @@ a.bs-circle-button {
2760
3310
  --icon-size: 1.5rem;
2761
3311
  --title-color: var(--bs-ink-light);
2762
3312
  --title-font-size: var(--bs-text-md);
2763
- --title-line-height: var(--bs-leading-base);
3313
+ --title-line-height: var(--bs-leading-lg);
2764
3314
  --title-spacing: 0;
2765
3315
  }
2766
3316
  .bs-empty-state:where([data-size^='sm']) {
2767
3317
  --description-font-size: var(--bs-text-sm);
2768
3318
  --icon-size: 2rem;
2769
3319
  --title-font-size: var(--bs-text-md);
2770
- --title-line-height: var(--bs-leading-base);
3320
+ --title-line-height: var(--bs-leading-lg);
2771
3321
  --title-spacing: 0.125rem;
2772
3322
  }
2773
3323
  .bs-empty-state:where([data-size^='lg']) {
@@ -2777,7 +3327,7 @@ a.bs-circle-button {
2777
3327
  --icon-size: 4rem;
2778
3328
  --title-font-size: var(--bs-text-xl);
2779
3329
  --title-line-height: 110%;
2780
- --title-weight: var(--bs-font-bold);
3330
+ --title-weight: var(--bs-font-semibold);
2781
3331
  }
2782
3332
  /*
2783
3333
  custom properties:
@@ -2811,7 +3361,7 @@ button:where(.bs-filter-button) {
2811
3361
  font-weight: var(--filterbtn-weight);
2812
3362
  height: var(--filterbtn-height);
2813
3363
  line-height: 1.5;
2814
- transition: outline-color 100ms ease-in-out;
3364
+ transition: outline-color var(--bs-transition-fast) var(--bs-transition-ease);
2815
3365
  width: -moz-max-content;
2816
3366
  width: max-content;
2817
3367
  }
@@ -2832,7 +3382,7 @@ button:where(.bs-filter-button) {
2832
3382
  line-height: 1;
2833
3383
  transform: var(--filterbtn-caret-transform);
2834
3384
  transform-origin: center;
2835
- transition: var(--bs-trans-rotate180);
3385
+ transition: transform var(--bs-transition-medium) var(--bs-transition-ease);
2836
3386
  width: var(--filterbtn-caret-size);
2837
3387
  }
2838
3388
  .bs-filter-button:where([data-size="sm"],[data-size="xs"]) {
@@ -2879,68 +3429,6 @@ button:where(.bs-filter-button) {
2879
3429
  --badge-bg: var(--bs-bg-disabled);
2880
3430
  --badge-text: var(--bs-ink-disabled);
2881
3431
  }
2882
- .bs-flyout {
2883
- background-color: var(--bs-bg-base-to-light);
2884
- box-shadow: var(--bs-shadow-drawerRight);
2885
- height: 100%;
2886
- left: 0;
2887
- margin: 0;
2888
- max-width: 100vw;
2889
- opacity: 0;
2890
- padding: 1.5rem;
2891
- position: fixed;
2892
- top: 0;
2893
- transform: translateX(-100%);
2894
- transition-duration: 300ms;
2895
- transition-property: opacity, transform;
2896
- transition-timing-function: ease;
2897
- width: 360px;
2898
- z-index: 1000;
2899
- }
2900
- .bs-flyout:where([data-absolute="true"]) {
2901
- position: absolute;
2902
- }
2903
- .bs-flyout:where([data-position="right"]) {
2904
- box-shadow: var(--bs-shadow-drawerLeft);
2905
- left: auto;
2906
- right: 0;
2907
- transform: translateX(100%);
2908
- }
2909
- .bs-flyout:where([data-size="lg"]) {
2910
- width: 535px;
2911
- }
2912
- .bs-flyout:where([data-shown="true"]) {
2913
- opacity: 1;
2914
- /*
2915
- Needs to be "none" instead of "0" so as not to interfere with calculating
2916
- "containing block" for absolute and fixed positioned elements (see https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block)
2917
- */
2918
- transform: none;
2919
- }
2920
- .bs-flyout :where(.bs-flyout-close-container) {
2921
- display: flex;
2922
- justify-content: flex-end;
2923
- }
2924
- .bs-flyout :where(.bs-flyout-close-container button) {
2925
- cursor: pointer;
2926
- outline-offset: 2px;
2927
- padding: 2px;
2928
- }
2929
- /* Vue Transition Styles - Only used in Vue component */
2930
- .bs-flyout:where(.bs-flyout-enter-from),
2931
- .bs-flyout:where(.bs-flyout-leave-to) {
2932
- opacity: 0;
2933
- transform: translateX(-100%);
2934
- }
2935
- .bs-flyout:where([data-position="right"].bs-flyout-enter-from),
2936
- .bs-flyout:where([data-position="right"].bs-flyout-leave-to) {
2937
- transform: translateX(100%);
2938
- }
2939
- .bs-flyout:where(.bs-flyout-enter-to),
2940
- .bs-flyout:where(.bs-flyout-leave-from) {
2941
- opacity: 1;
2942
- transform: translateX(0);
2943
- }
2944
3432
  /* Containers and Labels for Checkbox/Radio */
2945
3433
  .bs-boolean {
2946
3434
  display: inline-flex;
@@ -2950,8 +3438,8 @@ button:where(.bs-filter-button) {
2950
3438
  line-height: 115%;
2951
3439
  }
2952
3440
  .bs-boolean:where([data-size='sm']) input {
2953
- height: .75rem;
2954
- width: .75rem;
3441
+ height: .875rem;
3442
+ width: .875rem;
2955
3443
  }
2956
3444
  .bs-boolean label {
2957
3445
  font-size: var(--bs-text-base);
@@ -2968,7 +3456,7 @@ button:where(.bs-filter-button) {
2968
3456
  }
2969
3457
  .bs-boolean:where([data-size='sm']),
2970
3458
  .bs-boolean:where([data-size='sm']) label {
2971
- font-size: var(--bs-text-xs);
3459
+ font-size: var(--bs-text-sm);
2972
3460
  }
2973
3461
  /* Checkbox & Radio Input */
2974
3462
  :where(input[type='checkbox'], input[type='radio']),
@@ -3176,7 +3664,7 @@ input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-erro
3176
3664
  .bs-form-container :where(.bs-form-container-header-actions) :where(.bs-icon) {
3177
3665
  color: var(--bs-ink-medium);
3178
3666
  cursor: pointer;
3179
- transition: transform 200ms ease-in-out, color 100ms ease-in-out;
3667
+ transition: transform var(--bs-transition-medium) var(--bs-transition-ease), color var(--bs-transition-fast) var(--bs-transition-ease);
3180
3668
 
3181
3669
  /* color utilities for specified icons */
3182
3670
  &:where([data-component="bs-icon-caret-down"]) {
@@ -3208,18 +3696,18 @@ input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-erro
3208
3696
  /* Generally applicable (all input types) */
3209
3697
  :where([data-required]:not([data-required="false"])) {
3210
3698
  color: var(--bs-ink-red);
3211
- font-weight: var(--bs-font-bold, 600);
3699
+ font-weight: var(--bs-font-semibold);
3212
3700
  }
3213
3701
  :where([data-disabled]:not([data-disabled="false"]), [data-disabled]:not([data-disabled="false"]) [data-required]:not([data-required="false"])) {
3214
3702
  color: var(--bs-gray-400);
3215
3703
  }
3216
- :where(.box) :is(input, textarea, select):where(:focus-visible),
3217
- :where(.box) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
3704
+ :where(.bs-box) :is(input, textarea, select):where(:focus-visible),
3705
+ :where(.bs-box) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
3218
3706
  --offset-color: var(--bs-bg-medium);
3219
3707
  }
3220
- :where(.box[data-invert]) :is(input, textarea, select):where(:focus-visible),
3221
- :where(.box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
3222
- --offset-color: var(--bs-bg-invert-to-base);
3708
+ :where(.bs-box[data-invert]) :is(input, textarea, select):where(:focus-visible),
3709
+ :where(.bs-box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
3710
+ --offset-color: var(--bs-bg-invert-base);
3223
3711
  }
3224
3712
  /* Errors and Messages */
3225
3713
  :is(input, select, textarea):where([data-error]:not([data-error="false"])),
@@ -3513,7 +4001,7 @@ data-autosize-icons="true" - see above
3513
4001
  }
3514
4002
  .bs-input-addon:where([data-variant="combobox"]) :where(button svg) {
3515
4003
  transform: var(--icon-btn-transform, none);
3516
- transition: var(--bs-trans-rotate180);
4004
+ transition: transform var(--bs-transition-medium) var(--bs-transition-ease);
3517
4005
  }
3518
4006
  .bs-input-addon:where([data-variant="combobox"]) :where(button[data-open="true"]) {
3519
4007
  --icon-btn-transform: rotate(180deg);
@@ -3541,7 +4029,7 @@ data-autosize-icons="true" - see above
3541
4029
  .bs-input-phone .bs-input-addon:where([data-disabled]:not([data-disabled="false"])) :where(button) :where(span) {
3542
4030
  filter: grayscale(1);
3543
4031
  }
3544
- .bs-input-phone ul:where(.bs-dropdown-options) {
4032
+ .bs-input-phone ul:where(.bs-dropdown-options-deprecated) {
3545
4033
  min-width: 7.5rem;
3546
4034
  }
3547
4035
  :where(.bs-input-search) {
@@ -3564,7 +4052,7 @@ data-autosize-icons="true" - see above
3564
4052
  height: 100%;
3565
4053
  padding-left: 0.75rem;
3566
4054
  padding-right: 0.75rem;
3567
- transition: transform 100ms ease-in-out;
4055
+ transition: transform var(--bs-transition-fast) var(--bs-transition-ease);
3568
4056
  }
3569
4057
  .bs-input-search button:where(:active) {
3570
4058
  transform: scale(0.97);
@@ -3591,10 +4079,10 @@ data-autosize-icons="true" - see above
3591
4079
  }
3592
4080
  /* Filter variant: persist placeholder text color (`ink-light`) in dark mode */
3593
4081
  :where(.dark) .bs-input-search:where([data-variant="filter"]) :is(input.bs-input)::-moz-placeholder {
3594
- --input-placeholder: var(--bs-ink-light);
4082
+ --input-placeholder: var(--bs-ink-light);
3595
4083
  }
3596
4084
  :where(.dark) .bs-input-search:where([data-variant="filter"]) :is(input.bs-input)::placeholder {
3597
- --input-placeholder: var(--bs-ink-light);
4085
+ --input-placeholder: var(--bs-ink-light);
3598
4086
  }
3599
4087
  /* Filter variant: cancels out base hover state styles */
3600
4088
  .bs-input-addon:where([data-variant="filter"]):hover {
@@ -3618,7 +4106,7 @@ label:where(.bs-label) {
3618
4106
  color: var(--label-color);
3619
4107
  font-size: var(--bs-text-sm);
3620
4108
  font-weight: 600;
3621
- line-height: var(--bs-leading-base);
4109
+ line-height: var(--bs-leading-lg);
3622
4110
  }
3623
4111
  /* Required asterisk */
3624
4112
  :where(label, legend) :where([data-required]:not([data-required="false"])),
@@ -3687,7 +4175,7 @@ label:where(.bs-label) {
3687
4175
  padding: 0 var(--inner-text-padding);
3688
4176
  pointer-events: none;
3689
4177
  position: relative;
3690
- transition: 250ms;
4178
+ transition: var(--bs-transition-slow) var(--bs-transition-ease);
3691
4179
  width: var(--switch-width);
3692
4180
  }
3693
4181
  .bs-switch :where(input:checked) ~ :where(span),
@@ -3754,13 +4242,13 @@ label:where(.bs-label) {
3754
4242
  0 0 0 4px var(--outline-color, var(--bs-blue-base));
3755
4243
  outline: 2px solid transparent;
3756
4244
  }
3757
- :where(.box) .bs-switch :where(input:focus-visible) + :where(span),
3758
- :where(.box) .bs-switch:where(:focus-visible) :where(button span) {
4245
+ :where(.bs-box) .bs-switch :where(input:focus-visible) + :where(span),
4246
+ :where(.bs-box) .bs-switch:where(:focus-visible) :where(button span) {
3759
4247
  --offset-color: var(--bs-bg-medium);
3760
4248
  }
3761
- :where(.box[data-invert]) .bs-switch :where(input:focus-visible) + :where(span),
3762
- :where(.box[data-invert]) .bs-switch:where(:focus-visible) :where(button span) {
3763
- --offset-color: var(--bs-bg-invert-to-base);
4249
+ :where(.bs-box[data-invert]) .bs-switch :where(input:focus-visible) + :where(span),
4250
+ :where(.bs-box[data-invert]) .bs-switch:where(:focus-visible) :where(button span) {
4251
+ --offset-color: var(--bs-bg-invert-base);
3764
4252
  }
3765
4253
  /* Disabled state */
3766
4254
  .bs-switch:where([data-disabled]:not([data-disabled="false"]), :disabled, [disabled]),
@@ -3804,7 +4292,7 @@ select,
3804
4292
  font-size: var(--input-text-size, var(--bs-text-base));
3805
4293
  font-weight: 400;
3806
4294
  height: 2.5rem;
3807
- line-height: var(--bs-leading-base);
4295
+ line-height: var(--bs-leading-lg);
3808
4296
  padding-block: var(--input-padding-block, 0.0625rem);
3809
4297
  padding-inline: var(--input-padding-inline, 0.75rem);
3810
4298
  }
@@ -3916,7 +4404,7 @@ select,
3916
4404
  background-position: right 0.75rem center;
3917
4405
  background-repeat: no-repeat;
3918
4406
  background-size: 1em 1em;
3919
- padding-right: var(--bs-space-9);
4407
+ padding-right: 2.25rem;
3920
4408
  }
3921
4409
  select[multiple],
3922
4410
  .bs-select[multiple] {
@@ -3953,16 +4441,13 @@ select[multiple],
3953
4441
  :where(button).bs-select :where(.bs-icon) {
3954
4442
  color: var(--bs-ink-base);
3955
4443
  transform: none;
3956
- transition-duration: 200ms;
4444
+ transition-duration: var(--bs-transition-medium);
3957
4445
  transition-property: transform;
3958
- transition-timing-function: ease-in-out;
4446
+ transition-timing-function: var(--bs-transition-ease);
3959
4447
  }
3960
4448
  :where(button).bs-select:where([data-open="true"]) :where(.bs-icon) {
3961
4449
  transform: rotate(180deg);
3962
4450
  }
3963
- :root {
3964
- --bs-horizontal-nav-height: 48px;
3965
- }
3966
4451
  .bs-horizontal-nav {
3967
4452
  --bg-color: var(--bs-bg-light);
3968
4453
  --top-offset: 48px;
@@ -4009,6 +4494,7 @@ select[multiple],
4009
4494
  width: auto;
4010
4495
  }
4011
4496
  .bs-horizontal-nav :where(.bs-horizontal-nav-title > a) {
4497
+ color: var(--bs-ink-light);
4012
4498
  cursor: pointer;
4013
4499
  display: inline;
4014
4500
  padding-bottom: 0;
@@ -4047,6 +4533,7 @@ select[multiple],
4047
4533
  }
4048
4534
  .bs-horizontal-nav :where(nav > ul > li > a:hover) {
4049
4535
  color: var(--bs-ink-blue);
4536
+ text-decoration: none;
4050
4537
  }
4051
4538
  .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]) {
4052
4539
  color: var(--bs-ink-base);
@@ -4054,6 +4541,7 @@ select[multiple],
4054
4541
  }
4055
4542
  .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover) {
4056
4543
  color: var(--bs-ink-blue);
4544
+ text-decoration: none;
4057
4545
  }
4058
4546
  /* ===== Nested Nav Items ===== */
4059
4547
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle) {
@@ -4067,6 +4555,7 @@ select[multiple],
4067
4555
  }
4068
4556
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle:hover) {
4069
4557
  color: var(--bs-ink-blue);
4558
+ text-decoration: none;
4070
4559
  }
4071
4560
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle[data-active="true"]) {
4072
4561
  color: var(--bs-ink-base);
@@ -4074,13 +4563,14 @@ select[multiple],
4074
4563
  }
4075
4564
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle[data-active="true"]:hover) {
4076
4565
  color: var(--bs-ink-blue);
4566
+ text-decoration: none;
4077
4567
  }
4078
4568
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle-caret) {
4079
4569
  height: 0.75rem;
4080
4570
  transform: none;
4081
- transition-duration: 0.2s;
4571
+ transition-duration: var(--bs-transition-medium);
4082
4572
  transition-property: transform;
4083
- transition-timing-function: ease-in-out;
4573
+ transition-timing-function: var(--bs-transition-ease);
4084
4574
  width: 0.75rem;
4085
4575
  }
4086
4576
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle:hover ~ .bs-horizontal-nav-caret) {
@@ -4192,9 +4682,9 @@ select[multiple],
4192
4682
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-toggle-caret) {
4193
4683
  height: 0.75rem;
4194
4684
  transform: none;
4195
- transition-duration: 0.2s;
4685
+ transition-duration: var(--bs-transition-medium);
4196
4686
  transition-property: transform;
4197
- transition-timing-function: ease-in-out;
4687
+ transition-timing-function: var(--bs-transition-ease);
4198
4688
  width: 0.75rem;
4199
4689
  }
4200
4690
  .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-toggle-caret) {
@@ -4212,9 +4702,9 @@ select[multiple],
4212
4702
  opacity: 0;
4213
4703
  overflow: scroll;
4214
4704
  scrollbar-width: none; /* Firefox */
4215
- transition-duration: 200ms;
4705
+ transition-duration: var(--bs-transition-medium);
4216
4706
  transition-property: opacity;
4217
- transition-timing-function: ease;
4707
+ transition-timing-function: var(--bs-transition-ease);
4218
4708
  }
4219
4709
  .bs-horizontal-nav-mobile:where([data-hide-toggle="true"]) :where(.bs-horizontal-nav-mobile-menu) {
4220
4710
  max-height: calc(100dvh - var(--top-offset));
@@ -4237,8 +4727,7 @@ select[multiple],
4237
4727
  border-bottom: 1px solid var(--bs-border-base);
4238
4728
  }
4239
4729
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a),
4240
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a),
4241
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links > ul > li > a) {
4730
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a) {
4242
4731
  color: var(--bs-ink-light);
4243
4732
  cursor: pointer;
4244
4733
  display: flex;
@@ -4249,9 +4738,9 @@ select[multiple],
4249
4738
  padding-top: 0.75rem;
4250
4739
  }
4251
4740
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a:hover),
4252
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a:hover),
4253
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links > ul > li > a:hover) {
4741
+ .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a:hover) {
4254
4742
  color: var(--bs-ink-blue);
4743
+ text-decoration: none;
4255
4744
  }
4256
4745
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a[data-active="true"]),
4257
4746
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a[data-active="true"]) {
@@ -4261,6 +4750,7 @@ select[multiple],
4261
4750
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a[data-active="true"]:hover),
4262
4751
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a[data-active="true"]:hover) {
4263
4752
  color: var(--bs-ink-blue);
4753
+ text-decoration: none;
4264
4754
  }
4265
4755
  /* ===== Nested Nav Items ===== */
4266
4756
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle) {
@@ -4285,13 +4775,14 @@ select[multiple],
4285
4775
  }
4286
4776
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle:hover) {
4287
4777
  color: var(--bs-ink-blue);
4778
+ text-decoration: none;
4288
4779
  }
4289
4780
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle-caret) {
4290
4781
  height: 0.75rem;
4291
4782
  transform: none;
4292
- transition-duration: 0.2s;
4783
+ transition-duration: var(--bs-transition-medium);
4293
4784
  transition-property: transform;
4294
- transition-timing-function: ease-in-out;
4785
+ transition-timing-function: var(--bs-transition-ease);
4295
4786
  width: 0.75rem;
4296
4787
  }
4297
4788
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-toggle-caret) {
@@ -4304,20 +4795,6 @@ select[multiple],
4304
4795
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li[data-expanded="true"] > .bs-horizontal-nav-mobile-nested-menu) {
4305
4796
  display: block;
4306
4797
  }
4307
- /* ===== External Links ===== */
4308
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links) {
4309
- margin-top: auto;
4310
- padding-top: 2.25rem;
4311
- }
4312
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links > ul > li > a) {
4313
- display: flex;
4314
- align-items: center;
4315
- gap: 0.5rem;
4316
- }
4317
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-link-icon) {
4318
- height: 1rem;
4319
- width: 1rem;
4320
- }
4321
4798
  /* ===== End Items ===== */
4322
4799
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items) {
4323
4800
  display: flex;
@@ -4366,7 +4843,7 @@ select[multiple],
4366
4843
  border: 1px solid transparent;
4367
4844
  outline: none;
4368
4845
  cursor: pointer;
4369
- transition: all 100ms ease-in-out;
4846
+ transition: all var(--bs-transition-fast) var(--bs-transition-ease);
4370
4847
  }
4371
4848
  /* Variant */
4372
4849
  .bs-inline-tab:where([data-variant="white"]) {
@@ -4418,7 +4895,7 @@ select[multiple],
4418
4895
  &[data-selected]:where(:focus-visible) {
4419
4896
  outline-offset: 0;
4420
4897
  }
4421
-
4898
+
4422
4899
  }
4423
4900
  .bs-loader {
4424
4901
  --loader-dot-bg: var(--bs-blue-500);
@@ -4453,7 +4930,7 @@ select[multiple],
4453
4930
  --loader-width: 6rem;
4454
4931
  }
4455
4932
  /* ----- loader dots ----- */
4456
- .bs-loader > :where(*:not(.visually-hidden)) {
4933
+ .bs-loader > :where(*:not(.bs-visually-hidden)) {
4457
4934
  background-color: var(--loader-dot-bg);
4458
4935
  border-radius: 50%;
4459
4936
  display: block;
@@ -4462,7 +4939,7 @@ select[multiple],
4462
4939
  top: var(--loader-dot-top);
4463
4940
  width: var(--loader-dot-size);
4464
4941
  }
4465
- .bs-loader > :where(*:not(.visually-hidden)) {
4942
+ .bs-loader > :where(*:not(.bs-visually-hidden)) {
4466
4943
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
4467
4944
  }
4468
4945
  .bs-loader > :where(*:nth-child(1)) {
@@ -4515,162 +4992,6 @@ select[multiple],
4515
4992
  transform: scale(0);
4516
4993
  }
4517
4994
  }
4518
- .bs-modal {
4519
- --base-modal-width: 35rem; /* 560px */
4520
- --lg-modal-padding: 2rem; /* 32px */
4521
- --lg-modal-width: 45.3125rem; /* 725px */
4522
- --modal-padding: 1.5rem; /* 24px */
4523
- --sm-modal-width: 21.25rem; /* 340px */
4524
- background-color: var(--bs-bg-base-to-medium);
4525
- border-radius: 4px;
4526
- bottom: 0;
4527
- box-shadow: var(--bs-shadow-contentHigh);
4528
- display: flex;
4529
- flex-direction: column;
4530
- height: -moz-fit-content;
4531
- height: fit-content;
4532
- left: 0;
4533
- margin: auto;
4534
- max-height: calc(100% - 3rem);
4535
- opacity: 0;
4536
- overflow: auto;
4537
- position: fixed;
4538
- right: 0;
4539
- top: 0;
4540
- transition-duration: 75ms;
4541
- transition-property: opacity;
4542
- transition-timing-function: ease-in-out;
4543
- width: calc(100% - 3rem);
4544
- z-index: 9999;
4545
- }
4546
- @media (min-width: 752px) {
4547
- .bs-modal {
4548
- max-height: min(calc(100dvh - 3rem), 40.625rem);
4549
- width: var(--base-modal-width);
4550
- }
4551
-
4552
- .bs-modal:where([data-size="sm"]) {
4553
- width: var(--sm-modal-width);
4554
- }
4555
-
4556
- .bs-modal:where([data-size="lg"]) {
4557
- width: var(--lg-modal-width);
4558
- }
4559
- }
4560
- .bs-modal:where([data-shown="true"]) {
4561
- opacity: 1;
4562
- }
4563
- /* Header Container */
4564
- .bs-modal :where(.bs-modal-header-container) {
4565
- padding: var(--modal-padding);
4566
- }
4567
- .bs-modal:where([data-size="lg"]) :where(.bs-modal-header-container) {
4568
- padding: var(--lg-modal-padding);
4569
- }
4570
- .bs-modal:where([data-header-border="true"]) :where(.bs-modal-header-container) {
4571
- border-bottom: 1px solid var(--bs-border-base);
4572
- }
4573
- .bs-modal:where([data-full-width="true"]) :where(.bs-modal-header-container) {
4574
- padding-left: 0;
4575
- padding-right: 0;
4576
- }
4577
- /* Header Row */
4578
- .bs-modal :where(.bs-modal-header) {
4579
- align-items: center;
4580
- display: flex;
4581
- justify-content: space-between;
4582
- }
4583
- /* Title */
4584
- .bs-modal :where(.bs-modal-title) {
4585
- flex-grow: 1;
4586
- font-size: var(--bs-text-lg);
4587
- font-weight: 400;
4588
- margin-right: 2rem;
4589
- }
4590
- /* Subtitle */
4591
- .bs-modal :where(.bs-modal-subtitle) {
4592
- font-size: var(--bs-text-sm);
4593
- font-weight: 400;
4594
- margin-top: 0.5rem;
4595
- width: 100%;
4596
- }
4597
- /* Close Button */
4598
- .bs-modal :where(.bs-modal-close-button) {
4599
- background-color: transparent;
4600
- cursor: pointer;
4601
- z-index: 10000;
4602
- }
4603
- .bs-modal:where(:not(:has(.bs-modal-header-container))) :where(.bs-modal-close-button) {
4604
- position: absolute;
4605
- right: 1rem;
4606
- top: 1rem;
4607
- }
4608
- .bs-modal:where([data-full-width="true"]:has(> .bs-modal-header-container)) :where(.bs-modal-close-button) {
4609
- margin-right: var(--modal-padding);
4610
- }
4611
- .bs-modal:where([data-full-width="true"][data-size="lg"]:has(> .bs-modal-header-container)) :where(.bs-modal-close-button) {
4612
- margin-right: var(--lg-modal-padding);
4613
- }
4614
- /* Progress */
4615
- .bs-modal :where(.bs-modal-progress) {
4616
- margin-top: 1.5rem;
4617
- width: 100%;
4618
- }
4619
- /* Body */
4620
- .bs-modal :where(.bs-modal-body) {
4621
- overflow-y: auto;
4622
- padding: var(--modal-padding);
4623
- }
4624
- .bs-modal:where([data-full-height="true"]) :where(.bs-modal-body) {
4625
- padding-bottom: 0;
4626
- padding-top: 0;
4627
- }
4628
- .bs-modal:where([data-full-width="true"]) :where(.bs-modal-body) {
4629
- padding-left: 0;
4630
- padding-right: 0;
4631
- }
4632
- /* Has header, but no header border */
4633
- .bs-modal:where(:not([data-header-border]):has(.bs-modal-header-container)) :where(.bs-modal-body),
4634
- .bs-modal:where([data-header-border="false"]:has(.bs-modal-header-container)) :where(.bs-modal-body) {
4635
- padding-top: 0;
4636
- }
4637
- /* Has footer, but no footer border */
4638
- .bs-modal:where(:not([data-footer-border])) :where(.bs-modal-body:has(~ .bs-modal-footer)),
4639
- .bs-modal:where([data-footer-border="false"]) :where(.bs-modal-body:has(~ .bs-modal-footer)) {
4640
- padding-bottom: 0;
4641
- }
4642
- .bs-modal:where([data-body-background-contrast="true"]) :where(.bs-modal-body) {
4643
- background-color: var(--bs-bg-light);
4644
- }
4645
- /* Footer */
4646
- .bs-modal :where(.bs-modal-footer) {
4647
- padding-bottom: 1rem;
4648
- padding-left: var(--modal-padding);
4649
- padding-right: var(--modal-padding);
4650
- padding-top: 1rem;
4651
- }
4652
- .bs-modal:where([data-size="lg"]) :where(.bs-modal-footer) {
4653
- padding-bottom: 1.5rem;
4654
- padding-left: var(--lg-modal-padding);
4655
- padding-right: var(--lg-modal-padding);
4656
- padding-top: 1.5rem;
4657
- }
4658
- .bs-modal:where([data-footer-border="true"]) :where(.bs-modal-footer) {
4659
- border-top: 1px solid var(--bs-border-base);
4660
- }
4661
- .bs-modal:where([data-full-width="true"]) :where(.bs-modal-footer) {
4662
- padding-left: 0;
4663
- padding-right: 0;
4664
- }
4665
- /* Vue Transition Styles - Only used in Vue component */
4666
- .bs-modal:where(.bs-modal-enter-from),
4667
- .bs-modal:where(.bs-modal-leave-to) {
4668
- opacity: 0;
4669
- }
4670
- .bs-modal:where(.bs-modal-enter-to),
4671
- .bs-modal:where(.bs-modal-leave-from) {
4672
- opacity: 1;
4673
- }
4674
4995
  .bs-overlay {
4675
4996
  -webkit-backdrop-filter: blur(4px);
4676
4997
  backdrop-filter: blur(4px);
@@ -4681,9 +5002,9 @@ select[multiple],
4681
5002
  position: fixed;
4682
5003
  right: 0;
4683
5004
  top: 0;
4684
- transition-duration: 75ms;
5005
+ transition-duration: var(--bs-transition-quick);
4685
5006
  transition-property: opacity;
4686
- transition-timing-function: ease-in-out;
5007
+ transition-timing-function: var(--bs-transition-ease);
4687
5008
  z-index: 9998;
4688
5009
  }
4689
5010
  .bs-overlay:where([data-shown]:not([data-shown="false"])) {
@@ -4737,7 +5058,7 @@ select[multiple],
4737
5058
  color: var(--bs-gray-50);
4738
5059
  }
4739
5060
  .bs-pagination:where([data-fixed]:not([data-fixed="false"])) {
4740
- background-color: var(--bs-bg-base-elevated);
5061
+ background-color: var(--bs-bg-base-to-light);
4741
5062
  bottom: 0;
4742
5063
  left: 0;
4743
5064
  padding: 1rem;
@@ -4816,7 +5137,7 @@ select[multiple],
4816
5137
  :is(a, button).bs-pill {
4817
5138
  color: var(--pill-text);
4818
5139
  cursor: pointer;
4819
- transition: all 0.15s ease-in-out;
5140
+ transition: all var(--bs-transition-moderate) var(--bs-transition-ease);
4820
5141
  }
4821
5142
  :is(a, button).bs-pill:is(:hover, :focus) {
4822
5143
  --pill-border: var(--bs-royal-base);
@@ -4825,17 +5146,17 @@ select[multiple],
4825
5146
  outline: transparent;
4826
5147
  }
4827
5148
  /* ------------------------------ Background Colors ------------------------------ */
4828
- :where(.box[data-invert]) .bs-pill {
4829
- --pill-background: var(--bs-bg-invert-to-base-subtle);
5149
+ :where(.bs-box[data-invert]) .bs-pill {
5150
+ --pill-background: var(--bs-bg-invert-light);
4830
5151
  --pill-text: var(--bs-gray-100);
4831
5152
  }
4832
- :where(.box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
5153
+ :where(.bs-box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
4833
5154
  --pill-border: var(--bs-gray-100);
4834
5155
  }
4835
- :where(.dark .box[data-invert]) .bs-pill {
5156
+ :where(.dark .bs-box[data-invert]) .bs-pill {
4836
5157
  --pill-text: var(--bs-royal-400);
4837
5158
  }
4838
- :where(.dark .box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
5159
+ :where(.dark .bs-box[data-invert]) :is(a, button).bs-pill:is(:hover, :focus) {
4839
5160
  --pill-border: var(--bs-royal-400);
4840
5161
  }
4841
5162
  /* ------------------ Generally Applicable ::Before Styles ------------------ */
@@ -4870,7 +5191,7 @@ select[multiple],
4870
5191
  --status-color: #16986D;
4871
5192
  }
4872
5193
  .bs-pill:where([data-status^="warning"]) {
4873
- --status-color: var(--bs-orange-warning);
5194
+ --status-color: var(--bs-warning);
4874
5195
  }
4875
5196
  /* Deprecated; use "data-status disabled" instead */
4876
5197
  .bs-pill:where([data-status^="inactive"]) {
@@ -4906,14 +5227,6 @@ select[multiple],
4906
5227
  :where(.dark) .bs-pill:where([data-variant^="filter"][data-variant*="remove"]):not(:disabled, [aria-disabled="true"])::after {
4907
5228
  content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23ffffff'/%3E%3C/svg%3E%0A");
4908
5229
  }
4909
- /* Dark Red X */
4910
- .bs-pill:where([data-variant^="filter"][data-variant*="remove"]):hover::after {
4911
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23D91214'/%3E%3C/svg%3E%0A");
4912
- }
4913
- /* Light Red X */
4914
- :where(.dark) .bs-pill:where([data-variant^="filter"][data-variant*="remove"]):hover::after {
4915
- content: url("data:image/svg+xml,%3Csvg width='8' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8 .703 7.297 0 4 3.297.703 0 0 .703 3.297 4 0 7.297.703 8 4 4.703 7.297 8 8 7.297 4.703 4 8 .703Z' fill='%23F15355'/%3E%3C/svg%3E%0A");
4916
- }
4917
5230
  /* ------------------------------ Variant: "Filter Active" Styles ------------------------------ */
4918
5231
  .bs-pill:where([data-variant^="filter"][data-active]:not([data-active="false"])) {
4919
5232
  --pill-background: var(--bs-blue-base);
@@ -4956,7 +5269,7 @@ select[multiple],
4956
5269
  /* ------------------------------ Variant: "Inactive" Styles ------------------------------ */
4957
5270
  .bs-pill:where([data-variant^="inactive"]) {
4958
5271
  --pill-background: var(--bs-gray-base);
4959
- --pill-text: var(--bs-ink-invert);
5272
+ --pill-text: var(--bs-ink-invert-base);
4960
5273
  }
4961
5274
  /* ------------------------------ Disabled Styles ------------------------------ */
4962
5275
  /* ----- Not to be confused with data-status="disabled" or variant "inactive". These are for link/button/filter pills. ----- */
@@ -4984,7 +5297,7 @@ select[multiple],
4984
5297
  }
4985
5298
  /* Action button aka Follow toggle. */
4986
5299
  .bs-profile-details > :where(button:first-child) {
4987
- color: var(--profile-action-color, var(--bs-orange-warning));
5300
+ color: var(--profile-action-color, var(--bs-warning));
4988
5301
  font-size: inherit;
4989
5302
  }
4990
5303
  .bs-profile-details > :where(button:first-child:hover) {
@@ -5072,7 +5385,7 @@ select[multiple],
5072
5385
  }
5073
5386
  .bs-profile-img:where([data-img-size^='xl']) {
5074
5387
  --profile-size: 5.75rem;
5075
- --profile-text: var(--bs-text-2xl);
5388
+ --profile-text: var(--bs-text-3xl);
5076
5389
  }
5077
5390
  /* Profile with User Details */
5078
5391
  .bs-profile:where([data-layout]),
@@ -5120,7 +5433,7 @@ a.bs-profile:where([data-layout]):hover {
5120
5433
  animation: bs-spin 1s linear infinite;
5121
5434
  stroke-linecap: round;
5122
5435
  stroke-width: 10%;
5123
- transition: all 1s ease-in-out;
5436
+ transition: all 1s var(--bs-transition-ease);
5124
5437
  }
5125
5438
  .bs-spinner:where(:not([data-variant="gradient"])) :where(circle) {
5126
5439
  animation: bs-spin 1s linear infinite, bs-stroke-change 2s linear infinite;
@@ -5179,7 +5492,7 @@ a.bs-profile:where([data-layout]):hover {
5179
5492
  --active-line-max-width: 0;
5180
5493
  --active-line-offset: 0;
5181
5494
  --active-line-scale: 0;
5182
- --active-line-transition-duration: 300ms;
5495
+ --active-line-transition-duration: var(--bs-transition-leisurely);
5183
5496
  --tab-color: var(--bs-ink-light);
5184
5497
  --tab-cursor: pointer;
5185
5498
  --tab-display: inline-flex;
@@ -5249,7 +5562,7 @@ a.bs-profile:where([data-layout]):hover {
5249
5562
  }
5250
5563
  .bs-tab-list-tabs :where([role="tab"][aria-selected="true"]) {
5251
5564
  --tab-color: var(--bs-ink-base);
5252
- --tab-weight: var(--bs-font-bold);
5565
+ --tab-weight: var(--bs-font-semibold);
5253
5566
  }
5254
5567
  /* ---- always use DT styles when tabs have yet to be width-adapted (they're invisible during this time) ---- */
5255
5568
  .bs-tab-list:where([data-resizing="true"]) {
@@ -5276,7 +5589,7 @@ a.bs-profile:where([data-layout]):hover {
5276
5589
  position: absolute;
5277
5590
  transform-origin: top left;
5278
5591
  transform: translate(var(--active-line-offset)) scaleX(var(--active-line-scale));
5279
- transition: transform var(--active-line-transition-duration) ease-in;
5592
+ transition: transform var(--active-line-transition-duration) var(--bs-transition-ease);
5280
5593
  width: 100%;
5281
5594
  }
5282
5595
  /* ------------- Tab Panels ------------- */
@@ -5306,7 +5619,7 @@ a.bs-profile:where([data-layout]):hover {
5306
5619
  }
5307
5620
  .bs-tab-list-toggle:where([data-active="true"]) {
5308
5621
  color: var(--bs-ink-base);
5309
- font-weight: var(--bs-font-bold);
5622
+ font-weight: var(--bs-font-semibold);
5310
5623
  }
5311
5624
  /* ------ WRAPPER ------ */
5312
5625
  .bs-table-wrap {
@@ -5438,29 +5751,22 @@ a.bs-profile:where([data-layout]):hover {
5438
5751
  /* ------ CELLS ------ */
5439
5752
  :where(.bs-table-head-cell) {
5440
5753
  color: var(--bs-table-head-cell-ink, var(--bs-ink-base));
5441
- font-weight: var(--bs-font-bold);
5754
+ font-weight: var(--bs-font-semibold);
5442
5755
  border-color: inherit;
5443
5756
  }
5444
5757
  /* Couldn't use :where due to Blue Steel reset styles on <button> imposing font-size.
5445
5758
  Adding inherit in case consumer does custom header cell styles */
5446
5759
  .bs-table-head-cell .bs-sort-toggle {
5447
5760
  font-size: inherit;
5448
- font-weight: var(--bs-font-bold);
5761
+ font-weight: var(--bs-font-semibold);
5449
5762
  color: inherit;
5450
5763
  line-height: inherit;
5451
5764
  letter-spacing: inherit;
5452
5765
  }
5453
5766
  :where(.bs-table-cell) {
5454
- border-color: inherit;
5455
- }
5456
- /* ------ PROP: CELL-PADDING ------ */
5457
- :root {
5458
- --bs-table-cell-padding-xs: var(--bs-space-2);
5459
- --bs-table-cell-padding-sm: var(--bs-space-3);
5460
- --bs-table-cell-padding-md: var(--bs-space-4);
5461
- --bs-table-cell-padding-lg: var(--bs-space-6);
5462
- --bs-table-cell-padding-xl: var(--bs-space-8);
5767
+ border-color: inherit;
5463
5768
  }
5769
+ /* ------ PROP: CELL-PADDING ------ */
5464
5770
  :where(.bs-table-head-cell, .bs-table-cell) {
5465
5771
  padding: var(--bs-table-cell-padding);
5466
5772
  }
@@ -5477,7 +5783,7 @@ a.bs-profile:where([data-layout]):hover {
5477
5783
  /* ------ PROP: ROW HOVER ------ */
5478
5784
  :where(.bs-table-row-hover .bs-table-body-rowgroup .bs-table-row:hover) {
5479
5785
  background: var(--bs-table-row-hover, var(--bs-bg-light));
5480
- transition: background-color 200ms;
5786
+ transition: background-color var(--bs-transition-medium) var(--bs-transition-ease);
5481
5787
  }
5482
5788
  /* ------ PROP: BORDERS ------ */
5483
5789
  /* -- borders="rows" -- */
@@ -5594,7 +5900,7 @@ th {
5594
5900
  background: var(--bs-bg-base);
5595
5901
  }
5596
5902
  th, td {
5597
- border-bottom: 1px solid var(--bs-border);
5903
+ border-bottom: 1px solid var(--bs-border-base);
5598
5904
  min-width: -moz-fit-content;
5599
5905
  min-width: fit-content;
5600
5906
  padding: var(--bs-space-2);
@@ -5605,13 +5911,13 @@ table[data-borders^="none"] {
5605
5911
  border: 0;
5606
5912
  }
5607
5913
  table[data-borders^="all"] :where(th, td) {
5608
- border-left: 1px solid var(--bs-border);
5914
+ border-left: 1px solid var(--bs-border-base);
5609
5915
  }
5610
5916
  table[data-borders^="all"] :where(th, td):last-child {
5611
- border-right: 1px solid var(--bs-border);
5917
+ border-right: 1px solid var(--bs-border-base);
5612
5918
  }
5613
5919
  table[data-borders^="all"] th {
5614
- border-top: 1px solid var(--bs-border);
5920
+ border-top: 1px solid var(--bs-border-base);
5615
5921
  }
5616
5922
  /* Table Rows */
5617
5923
  table:where([data-rows^="striped"]) tbody > tr:nth-child(even) {
@@ -5748,11 +6054,140 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5748
6054
  --step-color: var(--bs-ink-red);
5749
6055
  --progress-step-bg: var(--bs-red-base);
5750
6056
  }
6057
+ /* ------------ Text Button ------------ */
6058
+ .bs-text-button {
6059
+ --btn-focus-inset: -0.25rem -0.5rem;
6060
+ --btn-focus-pseudo-width: calc(100% + 1rem); /* text btns don't have side padding, but we do want focus outline to look padded */
6061
+ --btn-height: auto;
6062
+ --btn-ink: var(--bs-ink-blue);
6063
+ --btn-padding: 0;
6064
+ --btn-text-size: var(--bs-text-base);
6065
+ --btn-weight: 400;
6066
+ padding: var(--btn-padding);
6067
+ background-color: transparent;
6068
+ border: none;
6069
+ border-radius: 0.25rem;
6070
+ color: var(--btn-ink);
6071
+ -moz-column-gap: var(--bs-space-2);
6072
+ column-gap: var(--bs-space-2);
6073
+ cursor: pointer;
6074
+ font-size: var(--btn-text-size);
6075
+ font-weight: var(--btn-weight);
6076
+ height: var(--btn-height);
6077
+ line-height: 1.5;
6078
+ outline: 2px solid transparent;
6079
+ display: inline-flex;
6080
+ align-items: center;
6081
+ justify-content: center;
6082
+ position: relative;
6083
+ text-decoration: none;
6084
+ transition: all var(--bs-transition-fast) var(--bs-transition-ease);
6085
+ vertical-align: middle;
6086
+ }
6087
+ /* ------------ Focus Styles ------------ */
6088
+ .bs-text-button::before {
6089
+ border-color: transparent;
6090
+ border-radius: 0.5rem;
6091
+ border-style: solid;
6092
+ border-width: 0.125rem;
6093
+ content: '';
6094
+ height: calc(100% + 0.5rem);
6095
+ inset: var(--btn-focus-inset);
6096
+ position: absolute;
6097
+ transition: border-color var(--bs-transition-fast) var(--bs-transition-ease);
6098
+ width: var(--btn-focus-pseudo-width);
6099
+ }
6100
+ .bs-text-button:where(:focus:not(:disabled):not([aria-disabled="true"]))::before {
6101
+ border-color: var(--btn-main);
6102
+ }
6103
+ .bs-text-button:where(:focus-visible:not(:disabled):not([aria-disabled="true"]))::before {
6104
+ border-color: var(--btn-main);
6105
+ box-shadow: none;
6106
+ }
6107
+ .bs-text-button:where(:focus:not(:focus-visible):not(:disabled):not([aria-disabled="true"]))::before {
6108
+ border-color: transparent;
6109
+ box-shadow: none;
6110
+ }
6111
+ /* ------------ VARIANTS ------------ */
6112
+ .bs-text-button:where([data-variant^='negative']) {
6113
+ --btn-main: var(--bs-ink-red);
6114
+ }
6115
+ /* white variant - for dark backgrounds only */
6116
+ .bs-text-button:where([data-variant^='white']) {
6117
+ --btn-main: var(--bs-ink-white);
6118
+ }
6119
+ .bs-text-button:where(:not(:disabled):not([aria-disabled="true"]):hover) {
6120
+ --btn-ink: var(--bs-blue-base);
6121
+ background-color: transparent;
6122
+ text-decoration: underline;
6123
+ }
6124
+ .bs-text-button:where([data-size^='xs']) :where(.bs-icon),
6125
+ .bs-text-button:where([data-size^='sm']) :where(.bs-icon) {
6126
+ height: 0.75rem;
6127
+ width: 0.75rem;
6128
+ }
6129
+ .bs-text-button:where(:not(:disabled):not([aria-disabled="true"]):active) {
6130
+ box-shadow: none;
6131
+ transform: none;
6132
+ }
6133
+ .bs-text-button:where([data-variant^='negative']),
6134
+ .bs-text-button:where([data-variant^='negative']:not(:disabled):not([aria-disabled="true"]):hover) {
6135
+ --btn-ink: var(--bs-ink-red);
6136
+ }
6137
+ .bs-text-button:where([data-variant^='white']),
6138
+ .bs-text-button:where([data-variant^='white']:not(:disabled):not([aria-disabled="true"]):hover) {
6139
+ --btn-ink: var(--bs-ink-white);
6140
+ --btn-main: var(--bs-ink-white);
6141
+ }
6142
+ .bs-text-button:where([data-variant^='alt-base']) {
6143
+ --btn-ink: var(--bs-ink-light);
6144
+ }
6145
+ .bs-text-button:where([data-variant^='alt-base']:not(:disabled):not([aria-disabled="true"]):hover) {
6146
+ --btn-ink: var(--bs-ink-blue);
6147
+ text-decoration: none;
6148
+ }
6149
+ .bs-text-button:where([data-variant^='alt-negative']) {
6150
+ --btn-ink: var(--bs-ink-light);
6151
+ }
6152
+ .bs-text-button:where([data-variant^='alt-negative']:not(:disabled):not([aria-disabled="true"]):hover) {
6153
+ --btn-ink: var(--bs-ink-red);
6154
+ text-decoration: none;
6155
+ }
6156
+ .bs-text-button:where([data-size^='xs']) {
6157
+ --btn-text-size: var(--bs-text-xs);
6158
+ --btn-weight: 600;
6159
+ }
6160
+ .bs-text-button:where([data-size^='sm']) {
6161
+ --btn-text-size: var(--bs-text-sm);
6162
+ }
6163
+ .bs-text-button:where([data-size^='md']) {
6164
+ --btn-text-size: var(--bs-text-md);
6165
+ }
6166
+ /* ------------ Disabled Styling ------------ */
6167
+ :where(button:disabled),
6168
+ .bs-text-button:where(:disabled),
6169
+ .bs-text-button:where([aria-disabled="true"]) /* for links as buttons */ {
6170
+ pointer-events: none;
6171
+ }
6172
+ .bs-text-button:where(:disabled),
6173
+ .bs-text-button:where([aria-disabled="true"]) {
6174
+ --btn-ink: var(--bs-ink-disabled);
6175
+ --btn-main: var(--bs-bg-disabled);
6176
+ box-shadow: none;
6177
+ transform: none;
6178
+ }
6179
+ /* ------------ links as buttons ------------ */
6180
+ a.bs-text-button {
6181
+ align-items: center;
6182
+ display: inline-flex;
6183
+ outline: none;
6184
+ vertical-align: middle;
6185
+ }
5751
6186
  /* Base Toast Styles */
5752
6187
  .bs-toast {
5753
6188
  --toast-transform: translate(0, calc(100% + 1.5rem));
5754
6189
 
5755
- background-color: var(--bs-bg-base-elevated);
6190
+ background-color: var(--bs-bg-base-to-light);
5756
6191
  border-top: 4px solid var(--bs-blue-base);
5757
6192
  bottom: 1.5rem;
5758
6193
  box-shadow: var(--bs-shadow-contentMedium);
@@ -5763,9 +6198,9 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5763
6198
  position: fixed;
5764
6199
  right: 0;
5765
6200
  transform: var(--toast-transform);
5766
- transition-duration: 200ms;
6201
+ transition-duration: var(--bs-transition-medium);
5767
6202
  transition-property: transform, opacity;
5768
- transition-timing-function: ease;
6203
+ transition-timing-function: var(--bs-transition-ease);
5769
6204
  /* Clamp width for mobile -> full screen */
5770
6205
  width: clamp(17rem, calc(100vw - 3rem), 25rem);
5771
6206
  z-index: 999;
@@ -5796,7 +6231,7 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5796
6231
  font-weight: 400;
5797
6232
  }
5798
6233
  .bs-toast-body {
5799
- border-bottom: 1px solid var(--bs-border);
6234
+ border-bottom: 1px solid var(--bs-border-base);
5800
6235
  color: var(--bs-ink-light);
5801
6236
  padding-bottom: 1rem;
5802
6237
  padding-left: 1rem;
@@ -5818,10 +6253,10 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5818
6253
  }
5819
6254
  /* Warning Toast Styles */
5820
6255
  .bs-toast:where([data-variant^='warning']) {
5821
- border-top: 4px solid var(--bs-orange-warning);
6256
+ border-top: 4px solid var(--bs-warning);
5822
6257
  }
5823
6258
  .bs-toast:where([data-variant^='warning']) :where(.bs-toast-header .bs-toast-header-icon) {
5824
- color: var(--bs-orange-warning);
6259
+ color: var(--bs-warning);
5825
6260
  }
5826
6261
  /* Positive Toast Styles */
5827
6262
  .bs-toast:where([data-variant^='positive']) {
@@ -5837,226 +6272,64 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5837
6272
  color: var(--bs-purple-200);
5838
6273
  }
5839
6274
  /* Negative Toast Styles */
5840
- .bs-toast:where([data-variant^='negative']) {
5841
- border-top: 4px solid var(--bs-red-400);
5842
- }
5843
- .bs-toast:where([data-variant^='negative']) :where(.bs-toast-header .bs-toast-header-icon) {
5844
- color: var(--bs-red-400);
5845
- }
5846
- @media (min-width: 440px) {
5847
- .bs-toast {
5848
- --toast-transform: translate(calc(100% + 1.5rem), 0);
5849
-
5850
- left: auto;
5851
- margin-left: 0;
5852
- margin-right: 0;
5853
- opacity: 0;
5854
- right: 1.5rem;
5855
- }
5856
-
5857
- .bs-toast:where([data-shown]:not([data-shown="false"])) {
5858
- opacity: 1;
5859
- transform: translate(0, 0);
5860
- }
5861
-
5862
- .bs-toast-actions:where([data-stacked]:not([data-stacked="false"])) {
5863
- flex-direction: row;
5864
- }
5865
- }
5866
- /* Vue Transition Styles - Only used in Vue component */
5867
- .bs-toast:where(.bs-toast-enter-from),
5868
- .bs-toast:where(.bs-toast-leave-to) {
5869
- opacity: 0;
5870
- transform: var(--toast-transform);
5871
- }
5872
- .bs-toast:where(.bs-toast-enter-to),
5873
- .bs-toast:where(.bs-toast-leave-from) {
5874
- opacity: 1;
5875
- transform: translate(0, 0);
5876
- }
5877
- /* Container for holding all toasts that will be visible */
5878
- .bs-toaster {
5879
- /* Mobile - Center the toasts on the screen */
5880
- align-items: center;
5881
- bottom: 1.5rem;
5882
- display: flex;
5883
- flex-direction: column-reverse;
5884
- gap: 0.5rem;
5885
- left: 0;
5886
- position: fixed;
5887
- right: 0;
5888
- z-index: 999;
5889
- }
5890
- @media (min-width: 440px) {
5891
-
5892
- .bs-toaster {
5893
- /* Non-mobile - Toasts will live on right side of the screen */
5894
- left: auto;
5895
- right: 1.5rem;
5896
- }
5897
-
5898
- }
5899
- /* -------------------- BASE STYLES -------------------- */
5900
- .bs-tooltip {
5901
- display: inline-block;
5902
- position: relative;
5903
- }
5904
- .bs-tooltip :where(.bs-tooltip-text) {
5905
- align-items: center;
5906
- background-color: var(--bs-bg-base-elevated);
5907
- border-radius: 4px;
5908
- box-shadow: var(--bs-shadow-contentLowCenter);
5909
- color: var(--bs-ink-violet);
5910
- display: flex;
5911
- font-size: var(--bs-text-sm);
5912
- justify-content: center;
5913
- max-width: 16rem;
5914
- min-width: 4rem;
5915
- opacity: 0;
5916
- padding-bottom: 0.25rem;
5917
- padding-left: 0.5rem;
5918
- padding-right: 0.5rem;
5919
- padding-top: 0.25rem;
5920
- position: absolute;
5921
- transform: scale(0);
5922
- transition-duration: 75ms;
5923
- transition-property: opacity, transform;
5924
- transition-timing-function: ease-in-out;
5925
- width: -moz-max-content;
5926
- width: max-content;
5927
- z-index: 999;
5928
- }
5929
- /* -------------------- POSITION: UNDEFINED / TOP -------------------- */
5930
- .bs-tooltip:where(:not([data-position])) :where(.bs-tooltip-text),
5931
- .bs-tooltip:where([data-position="top"]) :where(.bs-tooltip-text) {
5932
- bottom: calc(100% + 0.5rem);
5933
- left: 50%;
5934
- transform-origin: bottom center;
5935
- transform: translateX(-50%) scale(0);
5936
- }
5937
- /* Active States */
5938
- :where(.bs-tooltip:not([data-position])):hover :where(.bs-tooltip-text),
5939
- :where(.bs-tooltip[data-position="top"]):hover :where(.bs-tooltip-text),
5940
- :where(.bs-tooltip:not([data-position])):has(:focus-visible) :where(.bs-tooltip-text),
5941
- :where(.bs-tooltip[data-position="top"]):has(:focus-visible) :where(.bs-tooltip-text),
5942
- :where(.bs-tooltip:not([data-position]))[data-shown] :where(.bs-tooltip-text),
5943
- :where(.bs-tooltip[data-position="top"])[data-shown] :where(.bs-tooltip-text) {
5944
- opacity: 1;
5945
- transform: translateX(-50%) scale(1);
5946
- }
5947
- /* -------------------- POSITION: BOTTOM -------------------- */
5948
- .bs-tooltip:where([data-position="bottom"]) :where(.bs-tooltip-text) {
5949
- left: 50%;
5950
- top: calc(100% + 0.5rem);
5951
- transform-origin: top center;
5952
- transform: translateX(-50%) scale(0);
5953
- }
5954
- /* Active States */
5955
- :where(.bs-tooltip[data-position="bottom"]):hover :where(.bs-tooltip-text),
5956
- :where(.bs-tooltip[data-position="bottom"]):has(:focus-visible) :where(.bs-tooltip-text),
5957
- :where(.bs-tooltip[data-position="bottom"])[data-shown] :where(.bs-tooltip-text) {
5958
- opacity: 1;
5959
- transform: translateX(-50%) scale(1);
5960
- }
5961
- /* -------------------- POSITION: LEFT -------------------- */
5962
- .bs-tooltip:where([data-position="left"]) :where(.bs-tooltip-text) {
5963
- right: calc(100% + 0.5rem);
5964
- top: 50%;
5965
- transform-origin: center right;
5966
- transform: translateY(-50%) scale(0);
5967
- }
5968
- /* Active States */
5969
- :where(.bs-tooltip[data-position="left"]):hover :where(.bs-tooltip-text),
5970
- :where(.bs-tooltip[data-position="left"]):has(:focus-visible) :where(.bs-tooltip-text),
5971
- :where(.bs-tooltip[data-position="left"])[data-shown] :where(.bs-tooltip-text) {
5972
- opacity: 1;
5973
- transform: translateY(-50%) scale(1);
5974
- }
5975
- /* -------------------- POSITION: RIGHT -------------------- */
5976
- .bs-tooltip:where([data-position="right"]) :where(.bs-tooltip-text) {
5977
- left: calc(100% + 0.5rem);
5978
- top: 50%;
5979
- transform-origin: center left;
5980
- transform: translateY(-50%) scale(0);
5981
- }
5982
- :where(.bs-tooltip[data-position="right"]):hover :where(.bs-tooltip-text),
5983
- :where(.bs-tooltip[data-position="right"]):has(:focus-visible) :where(.bs-tooltip-text),
5984
- :where(.bs-tooltip[data-position="right"])[data-shown] :where(.bs-tooltip-text) {
5985
- opacity: 1;
5986
- transform: translateY(-50%) scale(1);
5987
- }
5988
- /* -------------------- POSITION: CORNERS -------------------- */
5989
- /* top-left */
5990
- .bs-tooltip:where([data-position="top-left"]) :where(.bs-tooltip-text) {
5991
- bottom: calc(100% + 0.5rem);
5992
- right: calc(100% + 0.5rem);
5993
- transform-origin: bottom right;
5994
- }
5995
- /* top-right */
5996
- .bs-tooltip:where([data-position="top-right"]) :where(.bs-tooltip-text) {
5997
- bottom: calc(100% + 0.5rem);
5998
- left: calc(100% + 0.5rem);
5999
- transform-origin: bottom left;
6000
- }
6001
- /* bottom-left */
6002
- .bs-tooltip:where([data-position="bottom-left"]) :where(.bs-tooltip-text) {
6003
- right: calc(100% + 0.5rem);
6004
- top: calc(100% + 0.5rem);
6005
- transform-origin: top right;
6006
- }
6007
- /* bottom-right */
6008
- .bs-tooltip:where([data-position="bottom-right"]) :where(.bs-tooltip-text) {
6009
- left: calc(100% + 0.5rem);
6010
- top: calc(100% + 0.5rem);
6011
- transform-origin: top left;
6012
- }
6013
- /* Active States */
6014
- :where(.bs-tooltip[data-position="top-left"]):hover :where(.bs-tooltip-text),
6015
- :where(.bs-tooltip[data-position="top-right"]):hover :where(.bs-tooltip-text),
6016
- :where(.bs-tooltip[data-position="bottom-left"]):hover :where(.bs-tooltip-text),
6017
- :where(.bs-tooltip[data-position="bottom-right"]):hover :where(.bs-tooltip-text),
6018
- :where(.bs-tooltip[data-position="top-left"]):has(:focus-visible) :where(.bs-tooltip-text),
6019
- :where(.bs-tooltip[data-position="top-right"]):has(:focus-visible) :where(.bs-tooltip-text),
6020
- :where(.bs-tooltip[data-position="bottom-left"]):has(:focus-visible) :where(.bs-tooltip-text),
6021
- :where(.bs-tooltip[data-position="bottom-right"]):has(:focus-visible) :where(.bs-tooltip-text),
6022
- :where(.bs-tooltip[data-position="top-left"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
6023
- :where(.bs-tooltip[data-position="top-right"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
6024
- :where(.bs-tooltip[data-position="bottom-left"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
6025
- :where(.bs-tooltip[data-position="bottom-right"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text) {
6026
- opacity: 1;
6027
- transform: scale(1);
6028
- }
6029
- /* -------------------- DISABLED -------------------- */
6030
- /*
6031
- Don't display unless data-shown is present
6032
- This must go last to properly override the other classes
6033
- */
6034
- :where(.bs-tooltip[data-disabled]:not([data-disabled="false"]):not([data-shown])):hover :where(.bs-tooltip-text),
6035
- :where(.bs-tooltip[data-disabled]:not([data-disabled="false"]):not([data-shown])):has(:focus-visible) :where(.bs-tooltip-text) {
6036
- opacity: 0;
6037
- transform: scale(0);
6275
+ .bs-toast:where([data-variant^='negative']) {
6276
+ border-top: 4px solid var(--bs-red-400);
6038
6277
  }
6039
- :where(.bs-tooltip[data-shown="false"][data-disabled]:not([data-disabled="false"])):hover :where(.bs-tooltip-text),
6040
- :where(.bs-tooltip[data-shown="false"][data-disabled]:not([data-disabled="false"])):has(:focus-visible) :where(.bs-tooltip-text) {
6041
- opacity: 0;
6042
- transform: scale(0);
6278
+ .bs-toast:where([data-variant^='negative']) :where(.bs-toast-header .bs-toast-header-icon) {
6279
+ color: var(--bs-red-400);
6043
6280
  }
6044
- /* -------------------- COMPONENT-SPECIFIC STYLES -------------------- */
6045
- .bs-tooltip :where(.bs-tooltip-text.escaped) {
6046
- opacity: 0;
6047
- transform: scale(0.5);
6281
+ @media (min-width: 440px) {
6282
+ .bs-toast {
6283
+ --toast-transform: translate(calc(100% + 1.5rem), 0);
6284
+
6285
+ left: auto;
6286
+ margin-left: 0;
6287
+ margin-right: 0;
6288
+ opacity: 0;
6289
+ right: 1.5rem;
6290
+ }
6291
+
6292
+ .bs-toast:where([data-shown]:not([data-shown="false"])) {
6293
+ opacity: 1;
6294
+ transform: translate(0, 0);
6295
+ }
6296
+
6297
+ .bs-toast-actions:where([data-stacked]:not([data-stacked="false"])) {
6298
+ flex-direction: row;
6299
+ }
6048
6300
  }
6049
- .bs-tooltip :where(.bs-tooltip-text.escaped-x) {
6050
- opacity: 0;
6051
- transform: translateX(-50%) scale(0.5);
6301
+ /* Vue Transition Styles - Only used in Vue component */
6302
+ .bs-toast:where(.bs-toast-enter-from),
6303
+ .bs-toast:where(.bs-toast-leave-to) {
6304
+ opacity: 0;
6305
+ transform: var(--toast-transform);
6052
6306
  }
6053
- .bs-tooltip :where(.bs-tooltip-text.escaped-y) {
6054
- opacity: 0;
6055
- transform: translateY(-50%) scale(0.5);
6307
+ .bs-toast:where(.bs-toast-enter-to),
6308
+ .bs-toast:where(.bs-toast-leave-from) {
6309
+ opacity: 1;
6310
+ transform: translate(0, 0);
6056
6311
  }
6057
- :root {
6058
- --bs-vertical-nav-width: 9.875rem;
6059
- --bs-vertical-nav-narrow-width: 4.5rem;
6312
+ /* Container for holding all toasts that will be visible */
6313
+ .bs-toaster {
6314
+ /* Mobile - Center the toasts on the screen */
6315
+ align-items: center;
6316
+ bottom: 1.5rem;
6317
+ display: flex;
6318
+ flex-direction: column-reverse;
6319
+ gap: 0.5rem;
6320
+ left: 0;
6321
+ position: fixed;
6322
+ right: 0;
6323
+ z-index: 999;
6324
+ }
6325
+ @media (min-width: 440px) {
6326
+
6327
+ .bs-toaster {
6328
+ /* Non-mobile - Toasts will live on right side of the screen */
6329
+ left: auto;
6330
+ right: 1.5rem;
6331
+ }
6332
+
6060
6333
  }
6061
6334
  .bs-vertical-nav {
6062
6335
  --active-color: rgba(255, 255, 255, 0.25);
@@ -6082,7 +6355,7 @@ This must go last to properly override the other classes
6082
6355
  scrollbar-width: none; /* Firefox */
6083
6356
  top: var(--top-offset);
6084
6357
  /* Slight delay for visibility to change prior to opacity */
6085
- transition: opacity 200ms ease 10ms;
6358
+ transition: opacity var(--bs-transition-medium) var(--bs-transition-ease) 10ms;
6086
6359
  visibility: hidden;
6087
6360
  width: auto;
6088
6361
  z-index: 1000;
@@ -6165,9 +6438,9 @@ This must go last to properly override the other classes
6165
6438
  .bs-vertical-nav :where(.bs-vertical-nav-section-toggle-caret) {
6166
6439
  height: 0.75rem;
6167
6440
  transform: none;
6168
- transition-duration: 0.2s;
6441
+ transition-duration: var(--bs-transition-medium);
6169
6442
  transition-property: transform;
6170
- transition-timing-function: ease-in-out;
6443
+ transition-timing-function: var(--bs-transition-ease);
6171
6444
  width: 0.75rem;
6172
6445
  }
6173
6446
  .bs-vertical-nav :where(.bs-vertical-nav-section[data-collapsed="true"] .bs-vertical-nav-section-toggle-caret) {
@@ -6191,6 +6464,7 @@ This must go last to properly override the other classes
6191
6464
  .bs-vertical-nav :where(ul li a) {
6192
6465
  align-items: center;
6193
6466
  border-radius: 4px;
6467
+ color: var(--bs-white);
6194
6468
  cursor: pointer;
6195
6469
  display: flex;
6196
6470
  font-size: 1rem;
@@ -6203,6 +6477,9 @@ This must go last to properly override the other classes
6203
6477
  padding-top: 0.75rem;
6204
6478
  width: 100%;
6205
6479
  }
6480
+ .bs-vertical-nav :where(ul li a:hover) {
6481
+ text-decoration: none;
6482
+ }
6206
6483
  @media (min-width: 1166px) {
6207
6484
  .bs-vertical-nav :where(ul li a) {
6208
6485
  font-size: 0.875rem;
@@ -6304,3 +6581,444 @@ This must go last to properly override the other classes
6304
6581
  .bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-end-items) {
6305
6582
  display: none;
6306
6583
  }
6584
+ /*
6585
+ POP SYSTEM COMPONENTS
6586
+ Components that are built on top of BsPopover. The popover.css must come first.
6587
+ */
6588
+ .bs-popover-wrap {
6589
+ position: fixed;
6590
+ inset: 0;
6591
+ display: grid;
6592
+ pointer-events: none;
6593
+ overflow: hidden;
6594
+ z-index: var(--bs-popover-z-index);
6595
+ }
6596
+ .bs-popover-wrap .bs-backdrop {
6597
+ z-index: -1;
6598
+ }
6599
+ .bs-popover {
6600
+ /* absolute positioning is needed for floating-ui, i.e. to anchor to element (is unset if anchored to viewport) */
6601
+ position: absolute;
6602
+ top: 0;
6603
+ left: 0;
6604
+ width: -moz-fit-content;
6605
+ width: fit-content;
6606
+ height: -moz-fit-content;
6607
+ height: fit-content;
6608
+ max-width: calc(100dvw - 3rem);
6609
+ max-height: calc(100dvh - 3rem);
6610
+ padding: var(--bs-space-6);
6611
+ background-color: var(--bs-bg-base-to-light);
6612
+ border-radius: var(--bs-space-1);
6613
+ box-shadow: var(--bs-shadow-contentLowCenter);
6614
+ pointer-events: auto; /* due to `pointer-events: none` on bs-popover-wrap */
6615
+ }
6616
+ .bs-popover-close-button {
6617
+ position: absolute;
6618
+ top: var(--bs-space-2);
6619
+ right: var(--bs-space-2);
6620
+ padding: var(--bs-space-2); /* to make a bit nicer hit target */
6621
+ background: transparent;
6622
+ cursor: pointer;
6623
+ }
6624
+ /* -- SIZING -- */
6625
+ /* HJ TODO: These are not final, I just added something quick to get things started. */
6626
+ .bs-popover:where([data-size="sm"]) {
6627
+ width: 16rem;
6628
+ }
6629
+ .bs-popover:where([data-size="md"]) {
6630
+ width: 20rem;
6631
+ }
6632
+ .bs-popover:where([data-size="lg"]) {
6633
+ width: 24rem;
6634
+ }
6635
+ /* -- PLACEMENT WHEN ANCHORED TO VIEWPORT -- */
6636
+ .bs-popover:where([data-place-self]) {
6637
+ /* undo default absolute positioning required by floating-ui, since anchoring to viewport doesn't use floating-ui */
6638
+ position: relative;
6639
+ top: unset;
6640
+ left: unset;
6641
+ margin: var(--bs-space-6) 2.25rem;
6642
+ }
6643
+ /* CENTER */
6644
+ .bs-popover:where([data-place-self="center"]) {
6645
+ place-self: center;
6646
+ }
6647
+ /* TOP OPTIONS... */
6648
+ .bs-popover:where([data-place-self="top-start"]) {
6649
+ place-self: start start;
6650
+ }
6651
+ .bs-popover:where([data-place-self="top"]) {
6652
+ place-self: start center;
6653
+ }
6654
+ .bs-popover:where([data-place-self="top-end"]) {
6655
+ place-self: start end;
6656
+ }
6657
+ /* RIGHT OPTIONS... */
6658
+ .bs-popover:where([data-place-self="right-start"]) {
6659
+ place-self: start end;
6660
+ }
6661
+ .bs-popover:where([data-place-self="right"]) {
6662
+ place-self: center end;
6663
+ }
6664
+ .bs-popover:where([data-place-self="right-end"]) {
6665
+ place-self: end end;
6666
+ }
6667
+ /* BOTTOM OPTIONS... */
6668
+ .bs-popover:where([data-place-self="bottom-start"]) {
6669
+ place-self: end start;
6670
+ }
6671
+ .bs-popover:where([data-place-self="bottom"]) {
6672
+ place-self: end center;
6673
+ }
6674
+ .bs-popover:where([data-place-self="bottom-end"]) {
6675
+ place-self: end end;
6676
+ }
6677
+ /* LEFT OPTIONS... */
6678
+ .bs-popover:where([data-place-self="left-start"]) {
6679
+ place-self: start start;
6680
+ }
6681
+ .bs-popover:where([data-place-self="left"]) {
6682
+ place-self: center start;
6683
+ }
6684
+ .bs-popover:where([data-place-self="left-end"]) {
6685
+ place-self: end start;
6686
+ }
6687
+ /* -- TRANSITIONS -- */
6688
+ .bs-popover-enter-active,
6689
+ .bs-popover-leave-active {
6690
+ transition-duration: var(--bs-popover-transition-duration)
6691
+ }
6692
+ .bs-popover-enter-active .bs-backdrop,
6693
+ .bs-popover-leave-active .bs-backdrop {
6694
+ transition-property: opacity;
6695
+ transition-duration: var(--bs-popover-transition-duration);
6696
+ transition-timing-function: var(--bs-transition-cubic);
6697
+ }
6698
+ .bs-popover-enter-from .bs-backdrop,
6699
+ .bs-popover-leave-to .bs-backdrop {
6700
+ opacity: 0;
6701
+ }
6702
+ .bs-popover-enter-active .bs-popover,
6703
+ .bs-popover-leave-active .bs-popover {
6704
+ transition-property: opacity, transform;
6705
+ transition-duration: var(--bs-popover-transition-duration);
6706
+ transition-timing-function: var(--bs-transition-cubic);
6707
+ }
6708
+ .bs-popover-enter-from .bs-popover,
6709
+ .bs-popover-leave-to .bs-popover {
6710
+ opacity: 0;
6711
+ transform: scale(.95);
6712
+ }
6713
+ /*
6714
+ HEADS-UP:
6715
+ Most BsFlyout base styles come from its BsPopover root element,
6716
+ so some of these styles are there to override those defaults.
6717
+ */
6718
+ .bs-flyout {
6719
+ --bs-flyout-padding: var(--bs-space-6);
6720
+ --bs-flyout-padding-top: 2.75rem;
6721
+ display: flex;
6722
+ flex-direction: column;
6723
+ padding: 0;
6724
+ margin: 0;
6725
+ border-radius: 0;
6726
+ }
6727
+ /* -- CLOSE BUTTON -- */
6728
+ /* calc() adjusts for default .5rem padding .bs-popover-close-button has, which exists for a nicer hit target */
6729
+ .bs-flyout :where(.bs-popover-close-button) {
6730
+ top: calc(var(--bs-flyout-padding) - .5rem);
6731
+ right: calc(var(--bs-flyout-padding) - .5rem);
6732
+ }
6733
+ /* -- HEADER -- */
6734
+ .bs-flyout-header {
6735
+ flex-shrink: 0;
6736
+ padding: var(--bs-flyout-padding-top) var(--bs-flyout-padding) var(--bs-flyout-padding);
6737
+ }
6738
+ /* with border */
6739
+ .bs-flyout-header:where([data-border="true"]) {
6740
+ border-bottom: 1px solid var(--bs-border-base);
6741
+ }
6742
+ .bs-flyout-title {
6743
+ display: flex;
6744
+ align-items: center;
6745
+ gap: var(--bs-space-2);
6746
+ margin: 0 var(--bs-space-6) 0 0;
6747
+ font-size: var(--bs-text-lg);
6748
+ font-weight: normal;
6749
+ line-height: var(--bs-leading-regular);
6750
+ }
6751
+ .bs-flyout-subtitle {
6752
+ display: flex;
6753
+ align-items: center;
6754
+ gap: var(--bs-space-2);
6755
+ margin: var(--bs-space-2) 0 0 0;
6756
+ font-size: var(--bs-text-sm);
6757
+ font-weight: normal;
6758
+ line-height: var(--bs-leading-lg);
6759
+ }
6760
+ .bs-flyout-header:where([data-border="true"]) {
6761
+ border-bottom: 1px solid var(--bs-border-base);
6762
+ }
6763
+ /* -- BODY -- */
6764
+ .bs-flyout-body {
6765
+ flex: 1;
6766
+ padding: 0 var(--bs-flyout-padding);
6767
+ overflow-y: auto;
6768
+ overscroll-behavior: contain;
6769
+ }
6770
+ /* no header exists */
6771
+ .bs-flyout:where(:not(:has(.bs-flyout-header))) :where(.bs-flyout-body) {
6772
+ padding-top: var(--bs-flyout-padding-top);
6773
+ }
6774
+ /* no footer exists */
6775
+ .bs-flyout:where(:not(:has(.bs-flyout-footer))) :where(.bs-flyout-body) {
6776
+ padding-bottom: var(--bs-flyout-padding);
6777
+ }
6778
+ /* header border exists */
6779
+ .bs-flyout:where(:has(.bs-flyout-header[data-border="true"])) :where(.bs-flyout-body) {
6780
+ padding-top: var(--bs-flyout-padding);
6781
+ }
6782
+ /* footer border exists */
6783
+ .bs-flyout:where(:has(.bs-flyout-footer[data-border="true"])) :where(.bs-flyout-body) {
6784
+ padding-bottom: var(--bs-flyout-padding);
6785
+ }
6786
+ /* -- FOOTER -- */
6787
+ .bs-flyout-footer {
6788
+ display: flex;
6789
+ justify-content: flex-end;
6790
+ align-items: center;
6791
+ gap: var(--bs-space-6);
6792
+ flex-shrink: 0;
6793
+ padding: var(--bs-space-6);
6794
+ }
6795
+ /* with border */
6796
+ .bs-flyout-footer:where([data-border="true"]) {
6797
+ border-top: 1px solid var(--bs-border-base);
6798
+ }
6799
+ /* -- SIZING -- */
6800
+ .bs-flyout {
6801
+ height: 100dvh;
6802
+ max-height: unset;
6803
+ }
6804
+ .bs-flyout:where([data-size="sm"]) {
6805
+ width: 22.5rem; /* 360px */
6806
+ }
6807
+ .bs-flyout:where([data-size="md"]) {
6808
+ width: 28.75rem; /* 460px */
6809
+ }
6810
+ .bs-flyout:where([data-size="lg"]) {
6811
+ width: 33.4375rem /* 535px */;
6812
+ }
6813
+ /* -- SHADOWS -- */
6814
+ .bs-flyout:where([data-place-self="left"]) {
6815
+ box-shadow: var(--bs-shadow-drawerRight);
6816
+ }
6817
+ .bs-flyout:where([data-place-self="right"]) {
6818
+ box-shadow: var(--bs-shadow-drawerLeft);
6819
+ }
6820
+ /* -- TRANSITIONS -- */
6821
+ .bs-flyout-enter-active,
6822
+ .bs-flyout-leave-active {
6823
+ transition-duration: var(--bs-popover-transition-duration);
6824
+ }
6825
+ .bs-flyout-enter-active .bs-backdrop,
6826
+ .bs-flyout-leave-active .bs-backdrop {
6827
+ transition-property: opacity;
6828
+ transition-duration: var(--bs-transition-leisurely);
6829
+ transition-timing-function: var(--bs-transition-cubic);
6830
+ }
6831
+ .bs-flyout-enter-from .bs-backdrop,
6832
+ .bs-flyout-leave-to .bs-backdrop {
6833
+ opacity: 0;
6834
+ }
6835
+ .bs-flyout-enter-active .bs-flyout,
6836
+ .bs-flyout-leave-active .bs-flyout {
6837
+ transition-property: transform;
6838
+ transition-duration: var(--bs-popover-transition-duration);
6839
+ transition-timing-function: var(--bs-transition-cubic);
6840
+ }
6841
+ /* 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 */
6842
+ .bs-flyout-enter-from .bs-flyout[data-place-self="left"],
6843
+ .bs-flyout-leave-to .bs-flyout[data-place-self="left"] {
6844
+ transform: translateX(-105%);
6845
+ }
6846
+ .bs-flyout-enter-from .bs-flyout[data-place-self="right"],
6847
+ .bs-flyout-leave-to .bs-flyout[data-place-self="right"] {
6848
+ transform: translateX(105%);
6849
+ }
6850
+ /*
6851
+ HEADS-UP:
6852
+ BsModal inherits base styles from its BsPopover root element
6853
+ ...so some of these styles override those defaults.
6854
+ */
6855
+ .bs-modal {
6856
+ --bs-modal-sm-width: 21.25rem; /* 340px */
6857
+ --bs-modal-md-width: 35rem; /* 560px */
6858
+ --bs-modal-lg-width: 45.3125rem; /* 725px */
6859
+ --bs-modal-padding: 1.5rem; /* 24px */
6860
+ --bs-modal-lg-padding: 2rem; /* 32px */
6861
+ display: flex;
6862
+ flex-direction: column;
6863
+ margin: 0;
6864
+ padding: 0;
6865
+ background-color: var(--bs-bg-base-to-medium);
6866
+ box-shadow: var(--bs-shadow-contentHigh);
6867
+ overflow: hidden;
6868
+ }
6869
+ /* -- CLOSE BUTTON -- */
6870
+ /* calc() adjusts for default .5rem padding .bs-popover-close-button has, which exists for a nicer hit target */
6871
+ .bs-modal :where(.bs-popover-close-button) {
6872
+ top: calc(var(--bs-modal-padding) - .5rem);
6873
+ right: calc(var(--bs-modal-padding) - .5rem);
6874
+ }
6875
+ .bs-modal:where([data-size="lg"]) :where(.bs-popover-close-button) {
6876
+ top: calc(var(--bs-modal-lg-padding) - .5rem);
6877
+ right: calc(var(--bs-modal-lg-padding) - .5rem);
6878
+ }
6879
+ /* -- HEADER -- */
6880
+ .bs-modal-header {
6881
+ flex-shrink: 0;
6882
+ padding: var(--bs-modal-padding);
6883
+ }
6884
+ /* with border */
6885
+ .bs-modal-header:where([data-border="true"]) {
6886
+ border-bottom: 1px solid var(--bs-border-base);
6887
+ }
6888
+ /* large size, no border */
6889
+ .bs-modal:where([data-size="lg"]) :where(.bs-modal-header) {
6890
+ padding: var(--bs-modal-lg-padding);
6891
+ }
6892
+ /* large size, with border */
6893
+ .bs-modal:where([data-size="lg"]) :where(.bs-modal-header[data-border="true"]) {
6894
+ padding: var(--bs-modal-lg-padding);
6895
+ padding-bottom: var(--bs-modal-padding);
6896
+ }
6897
+ .bs-modal-title {
6898
+ display: flex;
6899
+ align-items: center;
6900
+ gap: var(--bs-space-2);
6901
+ margin: 0 var(--bs-space-6) 0 0;
6902
+ font-size: var(--bs-text-lg);
6903
+ font-weight: normal;
6904
+ line-height: var(--bs-leading-regular);
6905
+ }
6906
+ .bs-modal-subtitle {
6907
+ display: flex;
6908
+ align-items: center;
6909
+ gap: var(--bs-space-2);
6910
+ margin: var(--bs-space-2) 0 0 0;
6911
+ font-size: var(--bs-text-sm);
6912
+ font-weight: normal;
6913
+ line-height: var(--bs-leading-lg);
6914
+ }
6915
+ /* -- BODY -- */
6916
+ .bs-modal-body {
6917
+ flex: 1;
6918
+ overflow-y: auto;
6919
+ padding: 0 var(--bs-modal-padding);
6920
+ overscroll-behavior: contain;
6921
+ }
6922
+ /* large size */
6923
+ .bs-modal:where([data-size="lg"]) :where(.bs-modal-body) {
6924
+ padding: 0 var(--bs-modal-lg-padding);
6925
+ }
6926
+ /* no header exists */
6927
+ .bs-modal:where(:not(:has(.bs-modal-header))) :where(.bs-modal-body) {
6928
+ padding-top: var(--bs-modal-padding);
6929
+ }
6930
+ /* large size, no header exists */
6931
+ .bs-modal:where([data-size="lg"]):where(:not(:has(.bs-modal-header))) :where(.bs-modal-body) {
6932
+ padding-top: var(--bs-modal-lg-padding);
6933
+ }
6934
+ /* no footer exists */
6935
+ .bs-modal:where(:not(:has(.bs-modal-footer))) :where(.bs-modal-body) {
6936
+ padding-bottom: var(--bs-modal-padding);
6937
+ }
6938
+ /* large size, no footer exists */
6939
+ .bs-modal:where([data-size="lg"]):where(:not(:has(.bs-modal-footer))) :where(.bs-modal-body) {
6940
+ padding-bottom: var(--bs-modal-lg-padding);
6941
+ }
6942
+ /* header border exists */
6943
+ .bs-modal:where(:has(.bs-modal-header[data-border="true"])) :where(.bs-modal-body) {
6944
+ padding-top: var(--bs-modal-padding);
6945
+ }
6946
+ /* footer border exists */
6947
+ .bs-modal:where(:has(.bs-modal-footer[data-border="true"])) :where(.bs-modal-body) {
6948
+ padding-bottom: var(--bs-modal-padding);
6949
+ }
6950
+ /* -- FOOTER -- */
6951
+ .bs-modal-footer {
6952
+ display: flex;
6953
+ justify-content: flex-end;
6954
+ align-items: center;
6955
+ gap: var(--bs-space-6);
6956
+ flex-shrink: 0;
6957
+ padding: var(--bs-space-6) var(--bs-modal-padding);
6958
+ }
6959
+ /* with border */
6960
+ .bs-modal-footer:where([data-border="true"]) {
6961
+ border-top: 1px solid var(--bs-border-base);
6962
+ padding: var(--bs-space-4) var(--bs-modal-padding);
6963
+ }
6964
+ /* large size, no border */
6965
+ .bs-modal:where([data-size="lg"]) :where(.bs-modal-footer) {
6966
+ padding: var(--bs-modal-lg-padding);
6967
+ }
6968
+ /* large size, with border */
6969
+ .bs-modal:where([data-size="lg"]) :where(.bs-modal-footer[data-border="true"]) {
6970
+ padding: var(--bs-space-4) var(--bs-modal-lg-padding);
6971
+ }
6972
+ /* -- SIZING -- */
6973
+ .bs-modal {
6974
+ width: calc(100dvw - 3rem);
6975
+ height: -moz-fit-content;
6976
+ height: fit-content;
6977
+ max-height: calc(100dvh - 3rem);
6978
+ }
6979
+ @media (min-width: 752px) {
6980
+ .bs-modal {
6981
+ max-height: min(calc(100dvh - 3rem), 40.625rem);
6982
+ }
6983
+
6984
+ .bs-modal:where([data-size="sm"]) {
6985
+ width: var(--bs-modal-sm-width);
6986
+ }
6987
+
6988
+ .bs-modal:where([data-size="md"]) {
6989
+ width: var(--bs-modal-md-width);
6990
+ }
6991
+
6992
+ .bs-modal:where([data-size="lg"]) {
6993
+ width: var(--bs-modal-lg-width);
6994
+ }
6995
+ }
6996
+ /* -- TRANSITIONS -- */
6997
+ .bs-modal-enter-active,
6998
+ .bs-modal-leave-active {
6999
+ transition-duration: var(--bs-popover-transition-duration);
7000
+ }
7001
+ .bs-modal-enter-active .bs-backdrop,
7002
+ .bs-modal-leave-active .bs-backdrop {
7003
+ transition-property: opacity;
7004
+ transition-duration: var(--bs-transition-leisurely);
7005
+ transition-timing-function: var(--bs-transition-cubic);
7006
+ }
7007
+ .bs-modal-enter-from .bs-backdrop,
7008
+ .bs-modal-leave-to .bs-backdrop {
7009
+ opacity: 0;
7010
+ }
7011
+ .bs-modal-enter-active .bs-modal,
7012
+ .bs-modal-leave-active .bs-modal {
7013
+ transition-property: opacity, transform;
7014
+ transition-duration: var(--bs-popover-transition-duration);
7015
+ transition-timing-function: var(--bs-transition-cubic);
7016
+ }
7017
+ .bs-modal-enter-from .bs-modal,
7018
+ .bs-modal-leave-to .bs-modal {
7019
+ opacity: 0;
7020
+ transform: scale(.95);
7021
+ }
7022
+ /*
7023
+ The v3 BsTooltip is css coming soon...
7024
+ */