@wwtdev/bsds-css 2.29.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 +2182 -1460
  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 -216
  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 -183
  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 -212
  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 -179
  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%;
1659
+ }
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;
1341
1824
  }
1342
- .bs-bg-gray-base {
1343
- background-color: var(--bs-gray-base);
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;
1344
1830
  }
1345
- .bs-text-gray-dark {
1346
- color: var(--bs-gray-dark);
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;
1347
1836
  }
1348
- .bs-bg-gray-dark {
1349
- background-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);
1350
1852
  }
1351
- .bs-text-black {
1352
- color: var(--bs-black);
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);
1353
1862
  }
1354
- .bs-bg-black {
1355
- background-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);
1356
1867
  }
1357
- .bs-text-warning {
1358
- color: var(--bs-warning);
1868
+ /* -------------------- COMPONENT-SPECIFIC STYLES -------------------- */
1869
+ .bs-tooltip-deprecated :where(.bs-tooltip-deprecated-text.escaped) {
1870
+ opacity: 0;
1871
+ transform: scale(0.5);
1359
1872
  }
1360
- .bs-bg-warning {
1361
- background-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);
1876
+ }
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) {
@@ -1767,7 +2299,7 @@ text color:
1767
2299
  padding: var(--btn-padding);
1768
2300
  position: relative;
1769
2301
  text-decoration: none;
1770
- transition: all 100ms ease-in-out;
2302
+ transition: all var(--bs-transition-fast) var(--bs-transition-ease);
1771
2303
  vertical-align: middle;
1772
2304
  }
1773
2305
  .bs-button:where(:not(:disabled):not([aria-disabled="true"]):hover) {
@@ -1789,7 +2321,7 @@ text color:
1789
2321
  height: calc(100% + 0.5rem);
1790
2322
  inset: var(--btn-focus-inset);
1791
2323
  position: absolute;
1792
- transition: border-color 0.125s ease-in-out;
2324
+ transition: border-color var(--bs-transition-fast) var(--bs-transition-ease);
1793
2325
  width: var(--btn-focus-pseudo-width);
1794
2326
  }
1795
2327
  .bs-button:where(:focus:not(:disabled):not([aria-disabled="true"]))::before {
@@ -1846,7 +2378,7 @@ text color:
1846
2378
  --btn-ghost-ink: var(--bs-ink-orange);
1847
2379
  --btn-highlight: var(--bs-orange-100);
1848
2380
  --btn-light: var(--bs-orange-10);
1849
- --btn-main: var(--bs-orange-warning);
2381
+ --btn-main: var(--bs-warning);
1850
2382
  --btn-secondary: var(--bs-orange-base);
1851
2383
  }
1852
2384
  .bs-button:where([data-variant^='negative']) {
@@ -1879,6 +2411,7 @@ text color:
1879
2411
  --btn-light: var(--bs-white-10);
1880
2412
  --btn-main: var(--bs-ink-white);
1881
2413
  }
2414
+ /* DEPRECATED */
1882
2415
  /* ------------ Text Button ------------ */
1883
2416
  .bs-button:where([data-text]:not([data-text="false"])) {
1884
2417
  --btn-focus-inset: -0.25rem -0.5rem;
@@ -1893,22 +2426,27 @@ text color:
1893
2426
  cursor: pointer;
1894
2427
  line-height: 150%;
1895
2428
  }
2429
+ /* DEPRECATED */
1896
2430
  .bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
1897
2431
  --btn-ink: var(--bs-blue-base);
1898
2432
  background-color: transparent;
1899
2433
  text-decoration: underline;
1900
2434
  }
2435
+ /* DEPRECATED */
1901
2436
  .bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover):has(svg) {
1902
2437
  text-decoration: none;
1903
2438
  }
2439
+ /* DEPRECATED */
1904
2440
  .bs-button:where([data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):active) {
1905
2441
  box-shadow: none;
1906
2442
  transform: none;
1907
2443
  }
2444
+ /* DEPRECATED */
1908
2445
  .bs-button:where([data-variant^='negative'][data-text]:not([data-text="false"])),
1909
2446
  .bs-button:where([data-variant^='negative'][data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
1910
2447
  --btn-ink: var(--bs-ink-red);
1911
2448
  }
2449
+ /* DEPRECATED */
1912
2450
  .bs-button:where([data-variant^='white'][data-text]:not([data-text="false"])),
1913
2451
  .bs-button:where([data-variant^='white'][data-text]:not([data-text="false"]):not(:disabled):not([aria-disabled="true"]):hover) {
1914
2452
  --btn-ink: var(--bs-ink-white);
@@ -1930,23 +2468,33 @@ text color:
1930
2468
  /* Std button size="sm" text size is same across all media sizes */
1931
2469
  --btn-text-size: var(--bs-text-sm);
1932
2470
  }
2471
+ /* DEPRECATED */
1933
2472
  /* Text buttons: For now, text size not dependent on media size */
1934
2473
  .bs-button:where([data-text]:not([data-text="false"])) {
1935
2474
  --btn-height: auto;
1936
2475
  --btn-padding: 0;
1937
2476
  --btn-text-size: var(--bs-text-md);
1938
2477
  }
2478
+ /* DEPRECATED */
1939
2479
  .bs-button:where([data-size^='sm'][data-text]:not([data-text="false"])) {
1940
2480
  --btn-text-size: var(--bs-text-base);
1941
2481
  }
2482
+ /* DEPRECATED */
1942
2483
  /* Size XS & XXS only applies to text buttons */
1943
2484
  .bs-button:where([data-size^='xs'][data-text]:not([data-text="false"])) {
1944
2485
  --btn-text-size: var(--bs-text-sm);
1945
2486
  }
2487
+ /* DEPRECATED */
1946
2488
  .bs-button:where([data-size^='xxs'][data-text]:not([data-text="false"])) {
1947
2489
  --btn-text-size: var(--bs-text-xs);
1948
2490
  --btn-weight: 600;
1949
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
+ }
1950
2498
  /* ------------ Disabled Styling ------------ */
1951
2499
  :where(button:disabled),
1952
2500
  .bs-button:where(:disabled),
@@ -1964,6 +2512,7 @@ text color:
1964
2512
  .bs-button:where([data-ghost]:not([data-ghost="false"]))[aria-disabled="true"] {
1965
2513
  --btn-ghost-ink: var(--bs-ink-disabled);
1966
2514
  }
2515
+ /* DEPRECATED */
1967
2516
  .bs-button:where([data-text]:not([data-text="false"])):disabled,
1968
2517
  .bs-button:where([data-text]:not([data-text="false"]))[aria-disabled="true"] {
1969
2518
  --btn-main: transparent;
@@ -2064,13 +2613,13 @@ a.bs-button {
2064
2613
  border-color: var(--legend-item-box-stroke);
2065
2614
  border-radius: var(--legend-item-swatch-radius, 3px);
2066
2615
  display: inline-block;
2067
- height: var(--bs-text-f-md);
2616
+ height: var(--bs-text-md);
2068
2617
  margin-right: 10px;
2069
- width: var(--bs-text-f-md);
2618
+ width: var(--bs-text-md);
2070
2619
  }
2071
2620
  .bs-chart :where(li p) {
2072
2621
  color: var(--legend-item-text-color);
2073
- font-size: var(--bs-text-f-md);
2622
+ font-size: var(--bs-text-md);
2074
2623
  margin: 0;
2075
2624
  padding: 0;
2076
2625
  -webkit-text-decoration: var(--legend-item-text-decoration);
@@ -2190,7 +2739,7 @@ a.bs-circle-button {
2190
2739
  outline: 2px solid transparent;
2191
2740
  padding: var(--btn-icon-padding);
2192
2741
  position: relative;
2193
- transition: all 100ms ease-in-out;
2742
+ transition: all var(--bs-transition-fast) var(--bs-transition-ease);
2194
2743
  }
2195
2744
  .bs-circle-button :where(.bs-circle-button-icon)::before {
2196
2745
  border-color: var(--btn-border-color);
@@ -2200,7 +2749,7 @@ a.bs-circle-button {
2200
2749
  content: '';
2201
2750
  inset: var(--btn-focus-inset);
2202
2751
  position: absolute;
2203
- 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);
2204
2753
  }
2205
2754
  .bs-circle-button :where(.bs-circle-button-icon) :where(.bs-icon) {
2206
2755
  --icon-size: var(--btn-icon-size);
@@ -2328,7 +2877,7 @@ a.bs-circle-button {
2328
2877
  --btn-text-weight: 600;
2329
2878
  }
2330
2879
  /* Option list */
2331
- .bs-dropdown-options {
2880
+ .bs-dropdown-options-deprecated {
2332
2881
  display: flex;
2333
2882
  flex-direction: column;
2334
2883
  gap: 0.5rem;
@@ -2341,36 +2890,36 @@ a.bs-circle-button {
2341
2890
  padding-left: 0;
2342
2891
  position: relative;
2343
2892
  }
2344
- .bs-dropdown-options:focus-visible {
2893
+ .bs-dropdown-options-deprecated:focus-visible {
2345
2894
  outline: none;
2346
2895
  }
2347
2896
  /* Stabilize scrollbar gutter for Firefox (https://bugzilla.mozilla.org/show_bug.cgi?id=764076) */
2348
2897
  @media (min-width: 1166px) {
2349
2898
  /* 5th or 8th child triggers overflow-y (depending on variant) */
2350
- :where([data-width="content"]) > .bs-dropdown-options:where(:has([data-variant*="description"]:nth-child(5))),
2351
- :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))) {
2352
2901
  scrollbar-gutter: stable;
2353
2902
  }
2354
2903
 
2355
2904
  /* Fallback for older Firefox+ only if we're not setting data-overflow values */
2356
2905
  @supports not selector(:has(*)) {
2357
- :where([data-width="content"]) > .bs-dropdown-options {
2906
+ :where([data-width="content"]) > .bs-dropdown-options-deprecated {
2358
2907
  scrollbar-gutter: stable;
2359
2908
  }
2360
2909
  }
2361
2910
 
2362
2911
  /* Also allow this for js solutions if :has not available via data-overflow */
2363
2912
  /* Reset scrollbar gutter when data-overflow is used */
2364
- :where([data-width="content"]) > .bs-dropdown-options:where([data-overflow]) {
2913
+ :where([data-width="content"]) > .bs-dropdown-options-deprecated:where([data-overflow]) {
2365
2914
  scrollbar-gutter: auto;
2366
2915
  }
2367
2916
 
2368
- :where([data-width="content"]) > .bs-dropdown-options:where([data-overflow="true"]) {
2917
+ :where([data-width="content"]) > .bs-dropdown-options-deprecated:where([data-overflow="true"]) {
2369
2918
  scrollbar-gutter: stable;
2370
2919
  }
2371
2920
  }
2372
2921
  /* Option list item */
2373
- .bs-dropdown-options :where(li) {
2922
+ .bs-dropdown-options-deprecated :where(li) {
2374
2923
  align-items: center;
2375
2924
  border-bottom: 2px solid transparent;
2376
2925
  border-left: 4px solid transparent;
@@ -2389,158 +2938,158 @@ a.bs-circle-button {
2389
2938
  word-wrap: break-word;
2390
2939
  }
2391
2940
  /* Variant: 2-col */
2392
- .bs-dropdown-options :where(li[data-variant~="2-col"]) {
2941
+ .bs-dropdown-options-deprecated :where(li[data-variant~="2-col"]) {
2393
2942
  grid-template-columns: min-content 1fr;
2394
2943
  }
2395
2944
  /* Variant: 3-col */
2396
- .bs-dropdown-options :where(li[data-variant~="3-col"]) {
2945
+ .bs-dropdown-options-deprecated :where(li[data-variant~="3-col"]) {
2397
2946
  grid-template-columns: min-content min-content 1fr;
2398
2947
  }
2399
2948
  /* Variant: description */
2400
- .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"] > :nth-child(2)),
2401
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"] > :nth-child(3)),
2402
- .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)) {
2403
2952
  color: var(--bs-ink-light);
2404
2953
  font-size: var(--bs-text-xs);
2405
2954
  min-height: 1.125rem;
2406
2955
  line-height: 1.125rem;
2407
2956
  }
2408
2957
  /* Variant: 2-col description */
2409
- .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)) {
2410
2959
  grid-column-start: 2;
2411
2960
  }
2412
2961
  /* Variant: 3-col description */
2413
- .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)) {
2414
2963
  grid-column-start: 3;
2415
2964
  }
2416
2965
  /* Hover or data-selected */
2417
- .bs-dropdown-options :where(li:not([role="separator"]):hover),
2418
- .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]) {
2419
2968
  background-color: var(--bs-bg-medium-to-light);
2420
2969
  border-left: 4px solid var(--bs-ink-blue);
2421
2970
  color: var(--bs-ink-blue);
2422
2971
  outline: none;
2423
2972
  }
2424
2973
  /* Variant: negative */
2425
- .bs-dropdown-options :where(li[data-variant~="negative"]:hover),
2426
- .bs-dropdown-options :where(li[data-variant~="negative"][data-selected]),
2427
- .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) {
2428
2977
  /* 25% alpha version of --bs-red-400 */
2429
2978
  background-color: rgba(248, 169, 170, 0.25);
2430
2979
  border-left: 4px solid var(--bs-ink-red);
2431
2980
  color: var(--bs-ink-red);
2432
2981
  }
2433
2982
  /* Hover or data-selected for 2-col/3-col/description variants */
2434
- .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
2435
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
2436
- .bs-dropdown-options :where(li[data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
2437
- .bs-dropdown-options :where(li:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
2438
- .bs-dropdown-options :where(li[data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
2439
- .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)) {
2440
2989
  color: var(--bs-ink-blue);
2441
2990
  }
2442
2991
  /* Hover or data-selected for negative + 2-col/3-col/description variants */
2443
- .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"]:hover > :nth-child(2)),
2444
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"]:hover > :nth-child(3)),
2445
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="3-col"][data-variant~="description"]:hover > :nth-child(4)),
2446
- .bs-dropdown-options :where(li[data-variant~="negative"]:not([data-variant*="-col"])[data-variant~="description"][data-selected] > :nth-child(2)),
2447
- .bs-dropdown-options :where(li[data-variant~="negative"][data-variant~="2-col"][data-variant~="description"][data-selected] > :nth-child(3)),
2448
- .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)) {
2449
2998
  color: var(--bs-ink-red);
2450
2999
  }
2451
3000
  /* List option keyboard navigation focus */
2452
- .bs-dropdown-options:where(:focus-visible) :where(li[data-active]) {
3001
+ .bs-dropdown-options-deprecated:where(:focus-visible) :where(li[data-active]) {
2453
3002
  --focus-border-color: var(--bs-blue-base);
2454
3003
  border: 2px solid var(--focus-border-color);
2455
3004
  outline: none;
2456
3005
  padding-left: 1.375rem;
2457
3006
  }
2458
3007
  /* Navigation focus on a selected element should preserve 4px left border */
2459
- .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]) {
2460
3009
  border-left: 4px solid var(--focus-border-color);
2461
3010
  padding-left: 1.25rem;
2462
3011
  }
2463
3012
  /* data-variant="negative" list option keyboard navigation focus */
2464
- .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]) {
2465
3014
  --focus-border-color: var(--bs-red-200);
2466
3015
  }
2467
3016
  /* Multi-select divider */
2468
- .bs-dropdown-options :where(li[role="separator"]) {
3017
+ .bs-dropdown-options-deprecated :where(li[role="separator"]) {
2469
3018
  cursor: default;
2470
3019
  padding-block: 0.125rem;
2471
3020
  padding-right: 1.375rem;
2472
3021
  }
2473
3022
  /* Multi-select divider line */
2474
- .bs-dropdown-options :where(hr) {
3023
+ .bs-dropdown-options-deprecated :where(hr) {
2475
3024
  background-color: var(--bs-navy-light);
2476
3025
  height: .0625rem;
2477
3026
  margin-block: 0;
2478
3027
  margin-inline: 0;
2479
3028
  }
2480
3029
  /* Disable hover styles */
2481
- .bs-dropdown-options :where(li[data-no-hover]:hover) {
3030
+ .bs-dropdown-options-deprecated :where(li[data-no-hover]:hover) {
2482
3031
  background-color: transparent;
2483
3032
  border-left-color: transparent;
2484
3033
  color: var(--bs-ink-base);
2485
3034
  cursor: default;
2486
3035
  }
2487
3036
  /* Style label to look like other options */
2488
- .bs-dropdown-options :where(li label) {
3037
+ .bs-dropdown-options-deprecated :where(li label) {
2489
3038
  cursor: pointer;
2490
3039
  font-size: 1rem;
2491
3040
  font-weight: 400;
2492
3041
  }
2493
3042
  /* Don't change option color when checkbox is present */
2494
- .bs-dropdown-options :where(li[data-variant~="checkbox"]):hover,
2495
- .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]) {
2496
3045
  color: var(--bs-ink-base);
2497
3046
  }
2498
3047
  /* Don't change description color when checkbox is present */
2499
- .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"]):hover > :nth-child(3),
2500
- .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="2-col"][data-variant~="description"][data-selected]) > :nth-child(3),
2501
- .bs-dropdown-options :where(li[data-variant~="checkbox"][data-variant~="3-col"][data-variant~="description"]):hover > :nth-child(4),
2502
- .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) {
2503
3052
  color: var(--bs-ink-light);
2504
3053
  }
2505
3054
  /* Overrides mobile style when not min-width 1166 */
2506
- .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) {
2507
3056
  padding-left: 0.5rem;
2508
3057
  padding-right: 0.75rem;
2509
3058
  }
2510
- .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"]) {
2511
3060
  padding-right: 0.625rem;
2512
3061
  }
2513
- .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]) {
2514
3063
  padding-left: 0.625rem;
2515
3064
  }
2516
- .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]) {
2517
3066
  padding-left: 0.5rem;
2518
3067
  }
2519
3068
  @media (min-width: 1166px) {
2520
- .bs-dropdown-options :where(li) {
3069
+ .bs-dropdown-options-deprecated :where(li) {
2521
3070
  padding-left: 0.5rem;
2522
3071
  padding-right: 0.75rem;
2523
3072
  }
2524
3073
 
2525
- .bs-dropdown-options :where(li[role="separator"]) {
3074
+ .bs-dropdown-options-deprecated :where(li[role="separator"]) {
2526
3075
  padding-right: 0.625rem;
2527
3076
  }
2528
3077
 
2529
- .bs-dropdown-options:where(:focus-visible) :where(li[data-active]) {
3078
+ .bs-dropdown-options-deprecated:where(:focus-visible) :where(li[data-active]) {
2530
3079
  padding-left: 0.625rem;
2531
3080
  }
2532
3081
 
2533
- .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]) {
2534
3083
  padding-left: 0.5rem;
2535
3084
  }
2536
3085
  }
2537
3086
  /* Parent */
2538
- .bs-dropdown-parent {
3087
+ .bs-dropdown-deprecated-parent {
2539
3088
  display: inline-block;
2540
3089
  position: relative;
2541
3090
  }
2542
3091
  /* Backdrop for mobile bottom sheet */
2543
- .bs-dropdown-backdrop {
3092
+ .bs-dropdown-deprecated-backdrop {
2544
3093
  -webkit-backdrop-filter: blur(4px);
2545
3094
  backdrop-filter: blur(4px);
2546
3095
  background: rgba(29, 30, 72, 0.05);
@@ -2553,7 +3102,7 @@ a.bs-circle-button {
2553
3102
  z-index: 998;
2554
3103
  }
2555
3104
  /* Content */
2556
- .bs-dropdown {
3105
+ .bs-dropdown-deprecated {
2557
3106
  --dropdown-bottom: 0;
2558
3107
  --dropdown-left: 0;
2559
3108
  --dropdown-right: auto;
@@ -2575,70 +3124,70 @@ a.bs-circle-button {
2575
3124
  top: var(--dropdown-top);
2576
3125
  transform-origin: center bottom;
2577
3126
  transform: var(--dropdown-transform);
2578
- transition-duration: 75ms;
3127
+ transition-duration: var(--bs-transition-quick);
2579
3128
  transition-property: opacity, transform;
2580
- transition-timing-function: ease-in-out;
3129
+ transition-timing-function: var(--bs-transition-ease);
2581
3130
  width: var(--dropdown-width);
2582
3131
  z-index: 999;
2583
3132
  }
2584
3133
  /* Mobile Header */
2585
- .bs-dropdown > :where(header) {
3134
+ .bs-dropdown-deprecated > :where(header) {
2586
3135
  border-bottom: 1px solid var(--bs-border-base);
2587
3136
  display: flex;
2588
3137
  justify-content: space-between;
2589
3138
  padding: 1.5rem;
2590
3139
  }
2591
- .bs-dropdown > :where(header) :where(h3) {
3140
+ .bs-dropdown-deprecated > :where(header) :where(h3) {
2592
3141
  font-size: 1.25rem;
2593
3142
  }
2594
- .bs-dropdown > :where(header) :where(p) {
3143
+ .bs-dropdown-deprecated > :where(header) :where(p) {
2595
3144
  font-size: 1rem;
2596
3145
  }
2597
- .bs-dropdown > :where(header) :where(button) {
3146
+ .bs-dropdown-deprecated > :where(header) :where(button) {
2598
3147
  cursor: pointer;
2599
3148
  height: 1rem;
2600
3149
  width: 1rem;
2601
3150
  }
2602
3151
  /* data-shown */
2603
- .bs-dropdown:where([data-shown]:not([data-shown="false"])) {
3152
+ .bs-dropdown-deprecated:where([data-shown]:not([data-shown="false"])) {
2604
3153
  --dropdown-transform: translate(0, 0);
2605
3154
  opacity: 1;
2606
3155
  }
2607
3156
  /* Sizing */
2608
- .bs-dropdown:where([data-width="sm"]) {
3157
+ .bs-dropdown-deprecated:where([data-width="sm"]) {
2609
3158
  --dropdown-wscreen-width: 10rem;
2610
3159
  }
2611
- .bs-dropdown:where([data-width="md"]),
2612
- .bs-dropdown:where(:not([data-width])) {
3160
+ .bs-dropdown-deprecated:where([data-width="md"]),
3161
+ .bs-dropdown-deprecated:where(:not([data-width])) {
2613
3162
  --dropdown-wscreen-width: 20rem;
2614
3163
  }
2615
- .bs-dropdown:where([data-width="lg"]) {
3164
+ .bs-dropdown-deprecated:where([data-width="lg"]) {
2616
3165
  --dropdown-wscreen-width: 40rem;
2617
3166
  }
2618
- .bs-dropdown:where([data-width="content"]) {
3167
+ .bs-dropdown-deprecated:where([data-width="content"]) {
2619
3168
  --dropdown-wscreen-width: max-content;
2620
3169
  }
2621
- .bs-dropdown-parent:where([data-width="anchor"]) :where(.bs-dropdown) {
3170
+ .bs-dropdown-deprecated-parent:where([data-width="anchor"]) :where(.bs-dropdown-deprecated) {
2622
3171
  --dropdown-wscreen-width: 100%;
2623
3172
  }
2624
3173
  /* data-top */
2625
- .bs-dropdown:where([data-top]:not([data-top="false"])) {
3174
+ .bs-dropdown-deprecated:where([data-top]:not([data-top="false"])) {
2626
3175
  --dropdown-wscreen-bottom: calc(100% + 0.5rem);
2627
3176
  --dropdown-wscreen-top: auto;
2628
3177
  }
2629
3178
  /* data-center */
2630
- .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) {
2631
3180
  --dropdown-transform: translate(-50%, 0);
2632
3181
  --dropdown-wscreen-left: 50%;
2633
3182
  }
2634
3183
  /* data-right */
2635
- .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) {
2636
3185
  --dropdown-transform: translate(0, 0);
2637
3186
  --dropdown-wscreen-left: auto;
2638
3187
  --dropdown-wscreen-right: 0;
2639
3188
  }
2640
3189
  /* Overrides mobile style when not min-width 1166 */
2641
- .bs-dropdown:where([data-no-mobile="true"]) {
3190
+ .bs-dropdown-deprecated:where([data-no-mobile="true"]) {
2642
3191
  --dropdown-bottom: var(--dropdown-wscreen-bottom, auto);
2643
3192
  --dropdown-left: var(--dropdown-wscreen-left, initial);
2644
3193
  --dropdown-right: var(--dropdown-wscreen-right, initial);
@@ -2648,15 +3197,15 @@ a.bs-circle-button {
2648
3197
 
2649
3198
  position: absolute;
2650
3199
  }
2651
- .bs-dropdown:where([data-no-mobile="true"]) > :where(header) {
3200
+ .bs-dropdown-deprecated:where([data-no-mobile="true"]) > :where(header) {
2652
3201
  display: none;
2653
3202
  }
2654
3203
  @media (min-width: 1166px) {
2655
- .bs-dropdown-backdrop {
3204
+ .bs-dropdown-deprecated-backdrop {
2656
3205
  display: none;
2657
3206
  }
2658
3207
 
2659
- .bs-dropdown {
3208
+ .bs-dropdown-deprecated {
2660
3209
  --dropdown-bottom: var(--dropdown-wscreen-bottom, auto);
2661
3210
  --dropdown-left: var(--dropdown-wscreen-left, initial);
2662
3211
  --dropdown-right: var(--dropdown-wscreen-right, initial);
@@ -2668,31 +3217,31 @@ a.bs-circle-button {
2668
3217
  }
2669
3218
 
2670
3219
  /* Hide the header */
2671
- .bs-dropdown > :where(header) {
3220
+ .bs-dropdown-deprecated > :where(header) {
2672
3221
  display: none;
2673
3222
  }
2674
3223
  }
2675
3224
  /* Vue Transition Styles - Only used in Vue component */
2676
- .bs-dropdown:where(.bs-dropdown-enter-from),
2677
- .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) {
2678
3227
  opacity: 0;
2679
3228
  transform: var(--dropdown-transform);
2680
3229
  }
2681
- .bs-dropdown:where(.bs-dropdown-enter-to),
2682
- .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) {
2683
3232
  opacity: 1;
2684
3233
  transform: translate(0, 0);
2685
3234
  }
2686
- .bs-dropdown :where(.mobile-select-button-container) {
3235
+ .bs-dropdown-deprecated :where(.mobile-select-button-container) {
2687
3236
  display: none;
2688
3237
  overflow: hidden;
2689
3238
  }
2690
3239
  @media (max-width: 1166px) {
2691
- .bs-dropdown :where(.mobile-select-button-container) {
3240
+ .bs-dropdown-deprecated :where(.mobile-select-button-container) {
2692
3241
  display: flex;
2693
3242
  }
2694
3243
  }
2695
- .bs-dropdown :where(.mobile-select-button) {
3244
+ .bs-dropdown-deprecated :where(.mobile-select-button) {
2696
3245
  margin: .875rem;
2697
3246
  width: 100%;
2698
3247
  }
@@ -2703,7 +3252,7 @@ a.bs-circle-button {
2703
3252
  --col-gap: var(--bs-space-6);
2704
3253
  --cta-spacing: var(--bs-space-4);
2705
3254
  --description-font-size: var(--bs-text-base);
2706
- --description-line-height: var(--bs-leading-base);
3255
+ --description-line-height: var(--bs-leading-lg);
2707
3256
  --description-weight: var(--bs-font-normal);
2708
3257
  --icon-size: 3rem;
2709
3258
  --title-font-size: var(--bs-text-lg);
@@ -2761,14 +3310,14 @@ a.bs-circle-button {
2761
3310
  --icon-size: 1.5rem;
2762
3311
  --title-color: var(--bs-ink-light);
2763
3312
  --title-font-size: var(--bs-text-md);
2764
- --title-line-height: var(--bs-leading-base);
3313
+ --title-line-height: var(--bs-leading-lg);
2765
3314
  --title-spacing: 0;
2766
3315
  }
2767
3316
  .bs-empty-state:where([data-size^='sm']) {
2768
3317
  --description-font-size: var(--bs-text-sm);
2769
3318
  --icon-size: 2rem;
2770
3319
  --title-font-size: var(--bs-text-md);
2771
- --title-line-height: var(--bs-leading-base);
3320
+ --title-line-height: var(--bs-leading-lg);
2772
3321
  --title-spacing: 0.125rem;
2773
3322
  }
2774
3323
  .bs-empty-state:where([data-size^='lg']) {
@@ -2778,7 +3327,7 @@ a.bs-circle-button {
2778
3327
  --icon-size: 4rem;
2779
3328
  --title-font-size: var(--bs-text-xl);
2780
3329
  --title-line-height: 110%;
2781
- --title-weight: var(--bs-font-bold);
3330
+ --title-weight: var(--bs-font-semibold);
2782
3331
  }
2783
3332
  /*
2784
3333
  custom properties:
@@ -2812,7 +3361,7 @@ button:where(.bs-filter-button) {
2812
3361
  font-weight: var(--filterbtn-weight);
2813
3362
  height: var(--filterbtn-height);
2814
3363
  line-height: 1.5;
2815
- transition: outline-color 100ms ease-in-out;
3364
+ transition: outline-color var(--bs-transition-fast) var(--bs-transition-ease);
2816
3365
  width: -moz-max-content;
2817
3366
  width: max-content;
2818
3367
  }
@@ -2833,7 +3382,7 @@ button:where(.bs-filter-button) {
2833
3382
  line-height: 1;
2834
3383
  transform: var(--filterbtn-caret-transform);
2835
3384
  transform-origin: center;
2836
- transition: var(--bs-trans-rotate180);
3385
+ transition: transform var(--bs-transition-medium) var(--bs-transition-ease);
2837
3386
  width: var(--filterbtn-caret-size);
2838
3387
  }
2839
3388
  .bs-filter-button:where([data-size="sm"],[data-size="xs"]) {
@@ -2880,68 +3429,6 @@ button:where(.bs-filter-button) {
2880
3429
  --badge-bg: var(--bs-bg-disabled);
2881
3430
  --badge-text: var(--bs-ink-disabled);
2882
3431
  }
2883
- .bs-flyout {
2884
- background-color: var(--bs-bg-base-to-light);
2885
- box-shadow: var(--bs-shadow-drawerRight);
2886
- height: 100%;
2887
- left: 0;
2888
- margin: 0;
2889
- max-width: 100vw;
2890
- opacity: 0;
2891
- padding: 1.5rem;
2892
- position: fixed;
2893
- top: 0;
2894
- transform: translateX(-100%);
2895
- transition-duration: 300ms;
2896
- transition-property: opacity, transform;
2897
- transition-timing-function: ease;
2898
- width: 360px;
2899
- z-index: 1000;
2900
- }
2901
- .bs-flyout:where([data-absolute="true"]) {
2902
- position: absolute;
2903
- }
2904
- .bs-flyout:where([data-position="right"]) {
2905
- box-shadow: var(--bs-shadow-drawerLeft);
2906
- left: auto;
2907
- right: 0;
2908
- transform: translateX(100%);
2909
- }
2910
- .bs-flyout:where([data-size="lg"]) {
2911
- width: 535px;
2912
- }
2913
- .bs-flyout:where([data-shown="true"]) {
2914
- opacity: 1;
2915
- /*
2916
- Needs to be "none" instead of "0" so as not to interfere with calculating
2917
- "containing block" for absolute and fixed positioned elements (see https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block)
2918
- */
2919
- transform: none;
2920
- }
2921
- .bs-flyout :where(.bs-flyout-close-container) {
2922
- display: flex;
2923
- justify-content: flex-end;
2924
- }
2925
- .bs-flyout :where(.bs-flyout-close-container button) {
2926
- cursor: pointer;
2927
- outline-offset: 2px;
2928
- padding: 2px;
2929
- }
2930
- /* Vue Transition Styles - Only used in Vue component */
2931
- .bs-flyout:where(.bs-flyout-enter-from),
2932
- .bs-flyout:where(.bs-flyout-leave-to) {
2933
- opacity: 0;
2934
- transform: translateX(-100%);
2935
- }
2936
- .bs-flyout:where([data-position="right"].bs-flyout-enter-from),
2937
- .bs-flyout:where([data-position="right"].bs-flyout-leave-to) {
2938
- transform: translateX(100%);
2939
- }
2940
- .bs-flyout:where(.bs-flyout-enter-to),
2941
- .bs-flyout:where(.bs-flyout-leave-from) {
2942
- opacity: 1;
2943
- transform: translateX(0);
2944
- }
2945
3432
  /* Containers and Labels for Checkbox/Radio */
2946
3433
  .bs-boolean {
2947
3434
  display: inline-flex;
@@ -3177,7 +3664,7 @@ input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-erro
3177
3664
  .bs-form-container :where(.bs-form-container-header-actions) :where(.bs-icon) {
3178
3665
  color: var(--bs-ink-medium);
3179
3666
  cursor: pointer;
3180
- 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);
3181
3668
 
3182
3669
  /* color utilities for specified icons */
3183
3670
  &:where([data-component="bs-icon-caret-down"]) {
@@ -3209,18 +3696,18 @@ input:where([type='checkbox'], [type='radio'])[data-error]:where(:not([data-erro
3209
3696
  /* Generally applicable (all input types) */
3210
3697
  :where([data-required]:not([data-required="false"])) {
3211
3698
  color: var(--bs-ink-red);
3212
- font-weight: var(--bs-font-bold, 600);
3699
+ font-weight: var(--bs-font-semibold);
3213
3700
  }
3214
3701
  :where([data-disabled]:not([data-disabled="false"]), [data-disabled]:not([data-disabled="false"]) [data-required]:not([data-required="false"])) {
3215
3702
  color: var(--bs-gray-400);
3216
3703
  }
3217
- :where(.box) :is(input, textarea, select):where(:focus-visible),
3218
- :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) {
3219
3706
  --offset-color: var(--bs-bg-medium);
3220
3707
  }
3221
- :where(.box[data-invert]) :is(input, textarea, select):where(:focus-visible),
3222
- :where(.box[data-invert]) :is(.bs-input, .bs-textarea, .bs-select):where(:focus-visible) {
3223
- --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);
3224
3711
  }
3225
3712
  /* Errors and Messages */
3226
3713
  :is(input, select, textarea):where([data-error]:not([data-error="false"])),
@@ -3514,7 +4001,7 @@ data-autosize-icons="true" - see above
3514
4001
  }
3515
4002
  .bs-input-addon:where([data-variant="combobox"]) :where(button svg) {
3516
4003
  transform: var(--icon-btn-transform, none);
3517
- transition: var(--bs-trans-rotate180);
4004
+ transition: transform var(--bs-transition-medium) var(--bs-transition-ease);
3518
4005
  }
3519
4006
  .bs-input-addon:where([data-variant="combobox"]) :where(button[data-open="true"]) {
3520
4007
  --icon-btn-transform: rotate(180deg);
@@ -3542,7 +4029,7 @@ data-autosize-icons="true" - see above
3542
4029
  .bs-input-phone .bs-input-addon:where([data-disabled]:not([data-disabled="false"])) :where(button) :where(span) {
3543
4030
  filter: grayscale(1);
3544
4031
  }
3545
- .bs-input-phone ul:where(.bs-dropdown-options) {
4032
+ .bs-input-phone ul:where(.bs-dropdown-options-deprecated) {
3546
4033
  min-width: 7.5rem;
3547
4034
  }
3548
4035
  :where(.bs-input-search) {
@@ -3565,7 +4052,7 @@ data-autosize-icons="true" - see above
3565
4052
  height: 100%;
3566
4053
  padding-left: 0.75rem;
3567
4054
  padding-right: 0.75rem;
3568
- transition: transform 100ms ease-in-out;
4055
+ transition: transform var(--bs-transition-fast) var(--bs-transition-ease);
3569
4056
  }
3570
4057
  .bs-input-search button:where(:active) {
3571
4058
  transform: scale(0.97);
@@ -3592,10 +4079,10 @@ data-autosize-icons="true" - see above
3592
4079
  }
3593
4080
  /* Filter variant: persist placeholder text color (`ink-light`) in dark mode */
3594
4081
  :where(.dark) .bs-input-search:where([data-variant="filter"]) :is(input.bs-input)::-moz-placeholder {
3595
- --input-placeholder: var(--bs-ink-light);
4082
+ --input-placeholder: var(--bs-ink-light);
3596
4083
  }
3597
4084
  :where(.dark) .bs-input-search:where([data-variant="filter"]) :is(input.bs-input)::placeholder {
3598
- --input-placeholder: var(--bs-ink-light);
4085
+ --input-placeholder: var(--bs-ink-light);
3599
4086
  }
3600
4087
  /* Filter variant: cancels out base hover state styles */
3601
4088
  .bs-input-addon:where([data-variant="filter"]):hover {
@@ -3619,7 +4106,7 @@ label:where(.bs-label) {
3619
4106
  color: var(--label-color);
3620
4107
  font-size: var(--bs-text-sm);
3621
4108
  font-weight: 600;
3622
- line-height: var(--bs-leading-base);
4109
+ line-height: var(--bs-leading-lg);
3623
4110
  }
3624
4111
  /* Required asterisk */
3625
4112
  :where(label, legend) :where([data-required]:not([data-required="false"])),
@@ -3688,7 +4175,7 @@ label:where(.bs-label) {
3688
4175
  padding: 0 var(--inner-text-padding);
3689
4176
  pointer-events: none;
3690
4177
  position: relative;
3691
- transition: 250ms;
4178
+ transition: var(--bs-transition-slow) var(--bs-transition-ease);
3692
4179
  width: var(--switch-width);
3693
4180
  }
3694
4181
  .bs-switch :where(input:checked) ~ :where(span),
@@ -3755,13 +4242,13 @@ label:where(.bs-label) {
3755
4242
  0 0 0 4px var(--outline-color, var(--bs-blue-base));
3756
4243
  outline: 2px solid transparent;
3757
4244
  }
3758
- :where(.box) .bs-switch :where(input:focus-visible) + :where(span),
3759
- :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) {
3760
4247
  --offset-color: var(--bs-bg-medium);
3761
4248
  }
3762
- :where(.box[data-invert]) .bs-switch :where(input:focus-visible) + :where(span),
3763
- :where(.box[data-invert]) .bs-switch:where(:focus-visible) :where(button span) {
3764
- --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);
3765
4252
  }
3766
4253
  /* Disabled state */
3767
4254
  .bs-switch:where([data-disabled]:not([data-disabled="false"]), :disabled, [disabled]),
@@ -3805,7 +4292,7 @@ select,
3805
4292
  font-size: var(--input-text-size, var(--bs-text-base));
3806
4293
  font-weight: 400;
3807
4294
  height: 2.5rem;
3808
- line-height: var(--bs-leading-base);
4295
+ line-height: var(--bs-leading-lg);
3809
4296
  padding-block: var(--input-padding-block, 0.0625rem);
3810
4297
  padding-inline: var(--input-padding-inline, 0.75rem);
3811
4298
  }
@@ -3917,7 +4404,7 @@ select,
3917
4404
  background-position: right 0.75rem center;
3918
4405
  background-repeat: no-repeat;
3919
4406
  background-size: 1em 1em;
3920
- padding-right: var(--bs-space-9);
4407
+ padding-right: 2.25rem;
3921
4408
  }
3922
4409
  select[multiple],
3923
4410
  .bs-select[multiple] {
@@ -3954,16 +4441,13 @@ select[multiple],
3954
4441
  :where(button).bs-select :where(.bs-icon) {
3955
4442
  color: var(--bs-ink-base);
3956
4443
  transform: none;
3957
- transition-duration: 200ms;
4444
+ transition-duration: var(--bs-transition-medium);
3958
4445
  transition-property: transform;
3959
- transition-timing-function: ease-in-out;
4446
+ transition-timing-function: var(--bs-transition-ease);
3960
4447
  }
3961
4448
  :where(button).bs-select:where([data-open="true"]) :where(.bs-icon) {
3962
4449
  transform: rotate(180deg);
3963
4450
  }
3964
- :root {
3965
- --bs-horizontal-nav-height: 48px;
3966
- }
3967
4451
  .bs-horizontal-nav {
3968
4452
  --bg-color: var(--bs-bg-light);
3969
4453
  --top-offset: 48px;
@@ -4010,6 +4494,7 @@ select[multiple],
4010
4494
  width: auto;
4011
4495
  }
4012
4496
  .bs-horizontal-nav :where(.bs-horizontal-nav-title > a) {
4497
+ color: var(--bs-ink-light);
4013
4498
  cursor: pointer;
4014
4499
  display: inline;
4015
4500
  padding-bottom: 0;
@@ -4048,6 +4533,7 @@ select[multiple],
4048
4533
  }
4049
4534
  .bs-horizontal-nav :where(nav > ul > li > a:hover) {
4050
4535
  color: var(--bs-ink-blue);
4536
+ text-decoration: none;
4051
4537
  }
4052
4538
  .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]) {
4053
4539
  color: var(--bs-ink-base);
@@ -4055,6 +4541,7 @@ select[multiple],
4055
4541
  }
4056
4542
  .bs-horizontal-nav :where(nav > ul > li > a[data-active="true"]:hover) {
4057
4543
  color: var(--bs-ink-blue);
4544
+ text-decoration: none;
4058
4545
  }
4059
4546
  /* ===== Nested Nav Items ===== */
4060
4547
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle) {
@@ -4068,6 +4555,7 @@ select[multiple],
4068
4555
  }
4069
4556
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle:hover) {
4070
4557
  color: var(--bs-ink-blue);
4558
+ text-decoration: none;
4071
4559
  }
4072
4560
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle[data-active="true"]) {
4073
4561
  color: var(--bs-ink-base);
@@ -4075,13 +4563,14 @@ select[multiple],
4075
4563
  }
4076
4564
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle[data-active="true"]:hover) {
4077
4565
  color: var(--bs-ink-blue);
4566
+ text-decoration: none;
4078
4567
  }
4079
4568
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle-caret) {
4080
4569
  height: 0.75rem;
4081
4570
  transform: none;
4082
- transition-duration: 0.2s;
4571
+ transition-duration: var(--bs-transition-medium);
4083
4572
  transition-property: transform;
4084
- transition-timing-function: ease-in-out;
4573
+ transition-timing-function: var(--bs-transition-ease);
4085
4574
  width: 0.75rem;
4086
4575
  }
4087
4576
  .bs-horizontal-nav :where(.bs-horizontal-nav-nested-toggle:hover ~ .bs-horizontal-nav-caret) {
@@ -4193,9 +4682,9 @@ select[multiple],
4193
4682
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-toggle-caret) {
4194
4683
  height: 0.75rem;
4195
4684
  transform: none;
4196
- transition-duration: 0.2s;
4685
+ transition-duration: var(--bs-transition-medium);
4197
4686
  transition-property: transform;
4198
- transition-timing-function: ease-in-out;
4687
+ transition-timing-function: var(--bs-transition-ease);
4199
4688
  width: 0.75rem;
4200
4689
  }
4201
4690
  .bs-horizontal-nav-mobile:where([data-shown="true"]) :where(.bs-horizontal-nav-mobile-toggle-caret) {
@@ -4213,9 +4702,9 @@ select[multiple],
4213
4702
  opacity: 0;
4214
4703
  overflow: scroll;
4215
4704
  scrollbar-width: none; /* Firefox */
4216
- transition-duration: 200ms;
4705
+ transition-duration: var(--bs-transition-medium);
4217
4706
  transition-property: opacity;
4218
- transition-timing-function: ease;
4707
+ transition-timing-function: var(--bs-transition-ease);
4219
4708
  }
4220
4709
  .bs-horizontal-nav-mobile:where([data-hide-toggle="true"]) :where(.bs-horizontal-nav-mobile-menu) {
4221
4710
  max-height: calc(100dvh - var(--top-offset));
@@ -4238,8 +4727,7 @@ select[multiple],
4238
4727
  border-bottom: 1px solid var(--bs-border-base);
4239
4728
  }
4240
4729
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a),
4241
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a),
4242
- .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) {
4243
4731
  color: var(--bs-ink-light);
4244
4732
  cursor: pointer;
4245
4733
  display: flex;
@@ -4250,9 +4738,9 @@ select[multiple],
4250
4738
  padding-top: 0.75rem;
4251
4739
  }
4252
4740
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a:hover),
4253
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a:hover),
4254
- .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) {
4255
4742
  color: var(--bs-ink-blue);
4743
+ text-decoration: none;
4256
4744
  }
4257
4745
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a[data-active="true"]),
4258
4746
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a[data-active="true"]) {
@@ -4262,6 +4750,7 @@ select[multiple],
4262
4750
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li > a[data-active="true"]:hover),
4263
4751
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-menu > li > a[data-active="true"]:hover) {
4264
4752
  color: var(--bs-ink-blue);
4753
+ text-decoration: none;
4265
4754
  }
4266
4755
  /* ===== Nested Nav Items ===== */
4267
4756
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle) {
@@ -4286,13 +4775,14 @@ select[multiple],
4286
4775
  }
4287
4776
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle:hover) {
4288
4777
  color: var(--bs-ink-blue);
4778
+ text-decoration: none;
4289
4779
  }
4290
4780
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-nested-toggle-caret) {
4291
4781
  height: 0.75rem;
4292
4782
  transform: none;
4293
- transition-duration: 0.2s;
4783
+ transition-duration: var(--bs-transition-medium);
4294
4784
  transition-property: transform;
4295
- transition-timing-function: ease-in-out;
4785
+ transition-timing-function: var(--bs-transition-ease);
4296
4786
  width: 0.75rem;
4297
4787
  }
4298
4788
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li[data-expanded="true"] .bs-horizontal-nav-mobile-nested-toggle-caret) {
@@ -4305,20 +4795,6 @@ select[multiple],
4305
4795
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-menu > ul > li[data-expanded="true"] > .bs-horizontal-nav-mobile-nested-menu) {
4306
4796
  display: block;
4307
4797
  }
4308
- /* ===== External Links ===== */
4309
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links) {
4310
- margin-top: auto;
4311
- padding-top: 2.25rem;
4312
- }
4313
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-links > ul > li > a) {
4314
- display: flex;
4315
- align-items: center;
4316
- gap: 0.5rem;
4317
- }
4318
- .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-external-link-icon) {
4319
- height: 1rem;
4320
- width: 1rem;
4321
- }
4322
4798
  /* ===== End Items ===== */
4323
4799
  .bs-horizontal-nav-mobile :where(.bs-horizontal-nav-mobile-end-items) {
4324
4800
  display: flex;
@@ -4367,7 +4843,7 @@ select[multiple],
4367
4843
  border: 1px solid transparent;
4368
4844
  outline: none;
4369
4845
  cursor: pointer;
4370
- transition: all 100ms ease-in-out;
4846
+ transition: all var(--bs-transition-fast) var(--bs-transition-ease);
4371
4847
  }
4372
4848
  /* Variant */
4373
4849
  .bs-inline-tab:where([data-variant="white"]) {
@@ -4419,7 +4895,7 @@ select[multiple],
4419
4895
  &[data-selected]:where(:focus-visible) {
4420
4896
  outline-offset: 0;
4421
4897
  }
4422
-
4898
+
4423
4899
  }
4424
4900
  .bs-loader {
4425
4901
  --loader-dot-bg: var(--bs-blue-500);
@@ -4454,7 +4930,7 @@ select[multiple],
4454
4930
  --loader-width: 6rem;
4455
4931
  }
4456
4932
  /* ----- loader dots ----- */
4457
- .bs-loader > :where(*:not(.visually-hidden)) {
4933
+ .bs-loader > :where(*:not(.bs-visually-hidden)) {
4458
4934
  background-color: var(--loader-dot-bg);
4459
4935
  border-radius: 50%;
4460
4936
  display: block;
@@ -4463,7 +4939,7 @@ select[multiple],
4463
4939
  top: var(--loader-dot-top);
4464
4940
  width: var(--loader-dot-size);
4465
4941
  }
4466
- .bs-loader > :where(*:not(.visually-hidden)) {
4942
+ .bs-loader > :where(*:not(.bs-visually-hidden)) {
4467
4943
  animation-timing-function: cubic-bezier(0, 1, 1, 0);
4468
4944
  }
4469
4945
  .bs-loader > :where(*:nth-child(1)) {
@@ -4516,162 +4992,6 @@ select[multiple],
4516
4992
  transform: scale(0);
4517
4993
  }
4518
4994
  }
4519
- .bs-modal {
4520
- --base-modal-width: 35rem; /* 560px */
4521
- --lg-modal-padding: 2rem; /* 32px */
4522
- --lg-modal-width: 45.3125rem; /* 725px */
4523
- --modal-padding: 1.5rem; /* 24px */
4524
- --sm-modal-width: 21.25rem; /* 340px */
4525
- background-color: var(--bs-bg-base-to-medium);
4526
- border-radius: 4px;
4527
- bottom: 0;
4528
- box-shadow: var(--bs-shadow-contentHigh);
4529
- display: flex;
4530
- flex-direction: column;
4531
- height: -moz-fit-content;
4532
- height: fit-content;
4533
- left: 0;
4534
- margin: auto;
4535
- max-height: calc(100% - 3rem);
4536
- opacity: 0;
4537
- overflow: auto;
4538
- position: fixed;
4539
- right: 0;
4540
- top: 0;
4541
- transition-duration: 75ms;
4542
- transition-property: opacity;
4543
- transition-timing-function: ease-in-out;
4544
- width: calc(100% - 3rem);
4545
- z-index: 9999;
4546
- }
4547
- @media (min-width: 752px) {
4548
- .bs-modal {
4549
- max-height: min(calc(100dvh - 3rem), 40.625rem);
4550
- width: var(--base-modal-width);
4551
- }
4552
-
4553
- .bs-modal:where([data-size="sm"]) {
4554
- width: var(--sm-modal-width);
4555
- }
4556
-
4557
- .bs-modal:where([data-size="lg"]) {
4558
- width: var(--lg-modal-width);
4559
- }
4560
- }
4561
- .bs-modal:where([data-shown="true"]) {
4562
- opacity: 1;
4563
- }
4564
- /* Header Container */
4565
- .bs-modal :where(.bs-modal-header-container) {
4566
- padding: var(--modal-padding);
4567
- }
4568
- .bs-modal:where([data-size="lg"]) :where(.bs-modal-header-container) {
4569
- padding: var(--lg-modal-padding);
4570
- }
4571
- .bs-modal:where([data-header-border="true"]) :where(.bs-modal-header-container) {
4572
- border-bottom: 1px solid var(--bs-border-base);
4573
- }
4574
- .bs-modal:where([data-full-width="true"]) :where(.bs-modal-header-container) {
4575
- padding-left: 0;
4576
- padding-right: 0;
4577
- }
4578
- /* Header Row */
4579
- .bs-modal :where(.bs-modal-header) {
4580
- align-items: center;
4581
- display: flex;
4582
- justify-content: space-between;
4583
- }
4584
- /* Title */
4585
- .bs-modal :where(.bs-modal-title) {
4586
- flex-grow: 1;
4587
- font-size: var(--bs-text-lg);
4588
- font-weight: 400;
4589
- margin-right: 2rem;
4590
- }
4591
- /* Subtitle */
4592
- .bs-modal :where(.bs-modal-subtitle) {
4593
- font-size: var(--bs-text-sm);
4594
- font-weight: 400;
4595
- margin-top: 0.5rem;
4596
- width: 100%;
4597
- }
4598
- /* Close Button */
4599
- .bs-modal :where(.bs-modal-close-button) {
4600
- background-color: transparent;
4601
- cursor: pointer;
4602
- z-index: 10000;
4603
- }
4604
- .bs-modal:where(:not(:has(.bs-modal-header-container))) :where(.bs-modal-close-button) {
4605
- position: absolute;
4606
- right: 1rem;
4607
- top: 1rem;
4608
- }
4609
- .bs-modal:where([data-full-width="true"]:has(> .bs-modal-header-container)) :where(.bs-modal-close-button) {
4610
- margin-right: var(--modal-padding);
4611
- }
4612
- .bs-modal:where([data-full-width="true"][data-size="lg"]:has(> .bs-modal-header-container)) :where(.bs-modal-close-button) {
4613
- margin-right: var(--lg-modal-padding);
4614
- }
4615
- /* Progress */
4616
- .bs-modal :where(.bs-modal-progress) {
4617
- margin-top: 1.5rem;
4618
- width: 100%;
4619
- }
4620
- /* Body */
4621
- .bs-modal :where(.bs-modal-body) {
4622
- overflow-y: auto;
4623
- padding: var(--modal-padding);
4624
- }
4625
- .bs-modal:where([data-full-height="true"]) :where(.bs-modal-body) {
4626
- padding-bottom: 0;
4627
- padding-top: 0;
4628
- }
4629
- .bs-modal:where([data-full-width="true"]) :where(.bs-modal-body) {
4630
- padding-left: 0;
4631
- padding-right: 0;
4632
- }
4633
- /* Has header, but no header border */
4634
- .bs-modal:where(:not([data-header-border]):has(.bs-modal-header-container)) :where(.bs-modal-body),
4635
- .bs-modal:where([data-header-border="false"]:has(.bs-modal-header-container)) :where(.bs-modal-body) {
4636
- padding-top: 0;
4637
- }
4638
- /* Has footer, but no footer border */
4639
- .bs-modal:where(:not([data-footer-border])) :where(.bs-modal-body:has(~ .bs-modal-footer)),
4640
- .bs-modal:where([data-footer-border="false"]) :where(.bs-modal-body:has(~ .bs-modal-footer)) {
4641
- padding-bottom: 0;
4642
- }
4643
- .bs-modal:where([data-body-background-contrast="true"]) :where(.bs-modal-body) {
4644
- background-color: var(--bs-bg-light);
4645
- }
4646
- /* Footer */
4647
- .bs-modal :where(.bs-modal-footer) {
4648
- padding-bottom: 1rem;
4649
- padding-left: var(--modal-padding);
4650
- padding-right: var(--modal-padding);
4651
- padding-top: 1rem;
4652
- }
4653
- .bs-modal:where([data-size="lg"]) :where(.bs-modal-footer) {
4654
- padding-bottom: 1.5rem;
4655
- padding-left: var(--lg-modal-padding);
4656
- padding-right: var(--lg-modal-padding);
4657
- padding-top: 1.5rem;
4658
- }
4659
- .bs-modal:where([data-footer-border="true"]) :where(.bs-modal-footer) {
4660
- border-top: 1px solid var(--bs-border-base);
4661
- }
4662
- .bs-modal:where([data-full-width="true"]) :where(.bs-modal-footer) {
4663
- padding-left: 0;
4664
- padding-right: 0;
4665
- }
4666
- /* Vue Transition Styles - Only used in Vue component */
4667
- .bs-modal:where(.bs-modal-enter-from),
4668
- .bs-modal:where(.bs-modal-leave-to) {
4669
- opacity: 0;
4670
- }
4671
- .bs-modal:where(.bs-modal-enter-to),
4672
- .bs-modal:where(.bs-modal-leave-from) {
4673
- opacity: 1;
4674
- }
4675
4995
  .bs-overlay {
4676
4996
  -webkit-backdrop-filter: blur(4px);
4677
4997
  backdrop-filter: blur(4px);
@@ -4682,9 +5002,9 @@ select[multiple],
4682
5002
  position: fixed;
4683
5003
  right: 0;
4684
5004
  top: 0;
4685
- transition-duration: 75ms;
5005
+ transition-duration: var(--bs-transition-quick);
4686
5006
  transition-property: opacity;
4687
- transition-timing-function: ease-in-out;
5007
+ transition-timing-function: var(--bs-transition-ease);
4688
5008
  z-index: 9998;
4689
5009
  }
4690
5010
  .bs-overlay:where([data-shown]:not([data-shown="false"])) {
@@ -4738,7 +5058,7 @@ select[multiple],
4738
5058
  color: var(--bs-gray-50);
4739
5059
  }
4740
5060
  .bs-pagination:where([data-fixed]:not([data-fixed="false"])) {
4741
- background-color: var(--bs-bg-base-elevated);
5061
+ background-color: var(--bs-bg-base-to-light);
4742
5062
  bottom: 0;
4743
5063
  left: 0;
4744
5064
  padding: 1rem;
@@ -4817,7 +5137,7 @@ select[multiple],
4817
5137
  :is(a, button).bs-pill {
4818
5138
  color: var(--pill-text);
4819
5139
  cursor: pointer;
4820
- transition: all 0.15s ease-in-out;
5140
+ transition: all var(--bs-transition-moderate) var(--bs-transition-ease);
4821
5141
  }
4822
5142
  :is(a, button).bs-pill:is(:hover, :focus) {
4823
5143
  --pill-border: var(--bs-royal-base);
@@ -4826,17 +5146,17 @@ select[multiple],
4826
5146
  outline: transparent;
4827
5147
  }
4828
5148
  /* ------------------------------ Background Colors ------------------------------ */
4829
- :where(.box[data-invert]) .bs-pill {
4830
- --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);
4831
5151
  --pill-text: var(--bs-gray-100);
4832
5152
  }
4833
- :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) {
4834
5154
  --pill-border: var(--bs-gray-100);
4835
5155
  }
4836
- :where(.dark .box[data-invert]) .bs-pill {
5156
+ :where(.dark .bs-box[data-invert]) .bs-pill {
4837
5157
  --pill-text: var(--bs-royal-400);
4838
5158
  }
4839
- :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) {
4840
5160
  --pill-border: var(--bs-royal-400);
4841
5161
  }
4842
5162
  /* ------------------ Generally Applicable ::Before Styles ------------------ */
@@ -4871,7 +5191,7 @@ select[multiple],
4871
5191
  --status-color: #16986D;
4872
5192
  }
4873
5193
  .bs-pill:where([data-status^="warning"]) {
4874
- --status-color: var(--bs-orange-warning);
5194
+ --status-color: var(--bs-warning);
4875
5195
  }
4876
5196
  /* Deprecated; use "data-status disabled" instead */
4877
5197
  .bs-pill:where([data-status^="inactive"]) {
@@ -4949,7 +5269,7 @@ select[multiple],
4949
5269
  /* ------------------------------ Variant: "Inactive" Styles ------------------------------ */
4950
5270
  .bs-pill:where([data-variant^="inactive"]) {
4951
5271
  --pill-background: var(--bs-gray-base);
4952
- --pill-text: var(--bs-ink-invert);
5272
+ --pill-text: var(--bs-ink-invert-base);
4953
5273
  }
4954
5274
  /* ------------------------------ Disabled Styles ------------------------------ */
4955
5275
  /* ----- Not to be confused with data-status="disabled" or variant "inactive". These are for link/button/filter pills. ----- */
@@ -4977,7 +5297,7 @@ select[multiple],
4977
5297
  }
4978
5298
  /* Action button aka Follow toggle. */
4979
5299
  .bs-profile-details > :where(button:first-child) {
4980
- color: var(--profile-action-color, var(--bs-orange-warning));
5300
+ color: var(--profile-action-color, var(--bs-warning));
4981
5301
  font-size: inherit;
4982
5302
  }
4983
5303
  .bs-profile-details > :where(button:first-child:hover) {
@@ -5065,7 +5385,7 @@ select[multiple],
5065
5385
  }
5066
5386
  .bs-profile-img:where([data-img-size^='xl']) {
5067
5387
  --profile-size: 5.75rem;
5068
- --profile-text: var(--bs-text-2xl);
5388
+ --profile-text: var(--bs-text-3xl);
5069
5389
  }
5070
5390
  /* Profile with User Details */
5071
5391
  .bs-profile:where([data-layout]),
@@ -5113,7 +5433,7 @@ a.bs-profile:where([data-layout]):hover {
5113
5433
  animation: bs-spin 1s linear infinite;
5114
5434
  stroke-linecap: round;
5115
5435
  stroke-width: 10%;
5116
- transition: all 1s ease-in-out;
5436
+ transition: all 1s var(--bs-transition-ease);
5117
5437
  }
5118
5438
  .bs-spinner:where(:not([data-variant="gradient"])) :where(circle) {
5119
5439
  animation: bs-spin 1s linear infinite, bs-stroke-change 2s linear infinite;
@@ -5172,7 +5492,7 @@ a.bs-profile:where([data-layout]):hover {
5172
5492
  --active-line-max-width: 0;
5173
5493
  --active-line-offset: 0;
5174
5494
  --active-line-scale: 0;
5175
- --active-line-transition-duration: 300ms;
5495
+ --active-line-transition-duration: var(--bs-transition-leisurely);
5176
5496
  --tab-color: var(--bs-ink-light);
5177
5497
  --tab-cursor: pointer;
5178
5498
  --tab-display: inline-flex;
@@ -5242,7 +5562,7 @@ a.bs-profile:where([data-layout]):hover {
5242
5562
  }
5243
5563
  .bs-tab-list-tabs :where([role="tab"][aria-selected="true"]) {
5244
5564
  --tab-color: var(--bs-ink-base);
5245
- --tab-weight: var(--bs-font-bold);
5565
+ --tab-weight: var(--bs-font-semibold);
5246
5566
  }
5247
5567
  /* ---- always use DT styles when tabs have yet to be width-adapted (they're invisible during this time) ---- */
5248
5568
  .bs-tab-list:where([data-resizing="true"]) {
@@ -5269,7 +5589,7 @@ a.bs-profile:where([data-layout]):hover {
5269
5589
  position: absolute;
5270
5590
  transform-origin: top left;
5271
5591
  transform: translate(var(--active-line-offset)) scaleX(var(--active-line-scale));
5272
- transition: transform var(--active-line-transition-duration) ease-in;
5592
+ transition: transform var(--active-line-transition-duration) var(--bs-transition-ease);
5273
5593
  width: 100%;
5274
5594
  }
5275
5595
  /* ------------- Tab Panels ------------- */
@@ -5299,7 +5619,7 @@ a.bs-profile:where([data-layout]):hover {
5299
5619
  }
5300
5620
  .bs-tab-list-toggle:where([data-active="true"]) {
5301
5621
  color: var(--bs-ink-base);
5302
- font-weight: var(--bs-font-bold);
5622
+ font-weight: var(--bs-font-semibold);
5303
5623
  }
5304
5624
  /* ------ WRAPPER ------ */
5305
5625
  .bs-table-wrap {
@@ -5431,14 +5751,14 @@ a.bs-profile:where([data-layout]):hover {
5431
5751
  /* ------ CELLS ------ */
5432
5752
  :where(.bs-table-head-cell) {
5433
5753
  color: var(--bs-table-head-cell-ink, var(--bs-ink-base));
5434
- font-weight: var(--bs-font-bold);
5754
+ font-weight: var(--bs-font-semibold);
5435
5755
  border-color: inherit;
5436
5756
  }
5437
5757
  /* Couldn't use :where due to Blue Steel reset styles on <button> imposing font-size.
5438
5758
  Adding inherit in case consumer does custom header cell styles */
5439
5759
  .bs-table-head-cell .bs-sort-toggle {
5440
5760
  font-size: inherit;
5441
- font-weight: var(--bs-font-bold);
5761
+ font-weight: var(--bs-font-semibold);
5442
5762
  color: inherit;
5443
5763
  line-height: inherit;
5444
5764
  letter-spacing: inherit;
@@ -5447,13 +5767,6 @@ a.bs-profile:where([data-layout]):hover {
5447
5767
  border-color: inherit;
5448
5768
  }
5449
5769
  /* ------ PROP: CELL-PADDING ------ */
5450
- :root {
5451
- --bs-table-cell-padding-xs: var(--bs-space-2);
5452
- --bs-table-cell-padding-sm: var(--bs-space-3);
5453
- --bs-table-cell-padding-md: var(--bs-space-4);
5454
- --bs-table-cell-padding-lg: var(--bs-space-6);
5455
- --bs-table-cell-padding-xl: var(--bs-space-8);
5456
- }
5457
5770
  :where(.bs-table-head-cell, .bs-table-cell) {
5458
5771
  padding: var(--bs-table-cell-padding);
5459
5772
  }
@@ -5470,7 +5783,7 @@ a.bs-profile:where([data-layout]):hover {
5470
5783
  /* ------ PROP: ROW HOVER ------ */
5471
5784
  :where(.bs-table-row-hover .bs-table-body-rowgroup .bs-table-row:hover) {
5472
5785
  background: var(--bs-table-row-hover, var(--bs-bg-light));
5473
- transition: background-color 200ms;
5786
+ transition: background-color var(--bs-transition-medium) var(--bs-transition-ease);
5474
5787
  }
5475
5788
  /* ------ PROP: BORDERS ------ */
5476
5789
  /* -- borders="rows" -- */
@@ -5587,7 +5900,7 @@ th {
5587
5900
  background: var(--bs-bg-base);
5588
5901
  }
5589
5902
  th, td {
5590
- border-bottom: 1px solid var(--bs-border);
5903
+ border-bottom: 1px solid var(--bs-border-base);
5591
5904
  min-width: -moz-fit-content;
5592
5905
  min-width: fit-content;
5593
5906
  padding: var(--bs-space-2);
@@ -5598,13 +5911,13 @@ table[data-borders^="none"] {
5598
5911
  border: 0;
5599
5912
  }
5600
5913
  table[data-borders^="all"] :where(th, td) {
5601
- border-left: 1px solid var(--bs-border);
5914
+ border-left: 1px solid var(--bs-border-base);
5602
5915
  }
5603
5916
  table[data-borders^="all"] :where(th, td):last-child {
5604
- border-right: 1px solid var(--bs-border);
5917
+ border-right: 1px solid var(--bs-border-base);
5605
5918
  }
5606
5919
  table[data-borders^="all"] th {
5607
- border-top: 1px solid var(--bs-border);
5920
+ border-top: 1px solid var(--bs-border-base);
5608
5921
  }
5609
5922
  /* Table Rows */
5610
5923
  table:where([data-rows^="striped"]) tbody > tr:nth-child(even) {
@@ -5741,11 +6054,140 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5741
6054
  --step-color: var(--bs-ink-red);
5742
6055
  --progress-step-bg: var(--bs-red-base);
5743
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
+ }
5744
6186
  /* Base Toast Styles */
5745
6187
  .bs-toast {
5746
6188
  --toast-transform: translate(0, calc(100% + 1.5rem));
5747
6189
 
5748
- background-color: var(--bs-bg-base-elevated);
6190
+ background-color: var(--bs-bg-base-to-light);
5749
6191
  border-top: 4px solid var(--bs-blue-base);
5750
6192
  bottom: 1.5rem;
5751
6193
  box-shadow: var(--bs-shadow-contentMedium);
@@ -5756,9 +6198,9 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5756
6198
  position: fixed;
5757
6199
  right: 0;
5758
6200
  transform: var(--toast-transform);
5759
- transition-duration: 200ms;
6201
+ transition-duration: var(--bs-transition-medium);
5760
6202
  transition-property: transform, opacity;
5761
- transition-timing-function: ease;
6203
+ transition-timing-function: var(--bs-transition-ease);
5762
6204
  /* Clamp width for mobile -> full screen */
5763
6205
  width: clamp(17rem, calc(100vw - 3rem), 25rem);
5764
6206
  z-index: 999;
@@ -5789,7 +6231,7 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5789
6231
  font-weight: 400;
5790
6232
  }
5791
6233
  .bs-toast-body {
5792
- border-bottom: 1px solid var(--bs-border);
6234
+ border-bottom: 1px solid var(--bs-border-base);
5793
6235
  color: var(--bs-ink-light);
5794
6236
  padding-bottom: 1rem;
5795
6237
  padding-left: 1rem;
@@ -5811,10 +6253,10 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5811
6253
  }
5812
6254
  /* Warning Toast Styles */
5813
6255
  .bs-toast:where([data-variant^='warning']) {
5814
- border-top: 4px solid var(--bs-orange-warning);
6256
+ border-top: 4px solid var(--bs-warning);
5815
6257
  }
5816
6258
  .bs-toast:where([data-variant^='warning']) :where(.bs-toast-header .bs-toast-header-icon) {
5817
- color: var(--bs-orange-warning);
6259
+ color: var(--bs-warning);
5818
6260
  }
5819
6261
  /* Positive Toast Styles */
5820
6262
  .bs-toast:where([data-variant^='positive']) {
@@ -5830,229 +6272,64 @@ table:where([data-sticky^="left"]) :is(td:first-child, th:first-child) {
5830
6272
  color: var(--bs-purple-200);
5831
6273
  }
5832
6274
  /* Negative Toast Styles */
5833
- .bs-toast:where([data-variant^='negative']) {
5834
- border-top: 4px solid var(--bs-red-400);
5835
- }
5836
- .bs-toast:where([data-variant^='negative']) :where(.bs-toast-header .bs-toast-header-icon) {
5837
- color: var(--bs-red-400);
5838
- }
5839
- @media (min-width: 440px) {
5840
- .bs-toast {
5841
- --toast-transform: translate(calc(100% + 1.5rem), 0);
5842
-
5843
- left: auto;
5844
- margin-left: 0;
5845
- margin-right: 0;
5846
- opacity: 0;
5847
- right: 1.5rem;
5848
- }
5849
-
5850
- .bs-toast:where([data-shown]:not([data-shown="false"])) {
5851
- opacity: 1;
5852
- transform: translate(0, 0);
5853
- }
5854
-
5855
- .bs-toast-actions:where([data-stacked]:not([data-stacked="false"])) {
5856
- flex-direction: row;
5857
- }
5858
- }
5859
- /* Vue Transition Styles - Only used in Vue component */
5860
- .bs-toast:where(.bs-toast-enter-from),
5861
- .bs-toast:where(.bs-toast-leave-to) {
5862
- opacity: 0;
5863
- transform: var(--toast-transform);
5864
- }
5865
- .bs-toast:where(.bs-toast-enter-to),
5866
- .bs-toast:where(.bs-toast-leave-from) {
5867
- opacity: 1;
5868
- transform: translate(0, 0);
5869
- }
5870
- /* Container for holding all toasts that will be visible */
5871
- .bs-toaster {
5872
- /* Mobile - Center the toasts on the screen */
5873
- align-items: center;
5874
- bottom: 1.5rem;
5875
- display: flex;
5876
- flex-direction: column-reverse;
5877
- gap: 0.5rem;
5878
- left: 0;
5879
- position: fixed;
5880
- right: 0;
5881
- z-index: 999;
5882
- }
5883
- @media (min-width: 440px) {
5884
-
5885
- .bs-toaster {
5886
- /* Non-mobile - Toasts will live on right side of the screen */
5887
- left: auto;
5888
- right: 1.5rem;
5889
- }
5890
-
5891
- }
5892
- /* -------------------- BASE STYLES -------------------- */
5893
- .bs-tooltip {
5894
- display: inline-block;
5895
- position: relative;
5896
- }
5897
- .bs-tooltip :where(.bs-tooltip-text) {
5898
- align-items: center;
5899
- background-color: var(--bs-bg-base-elevated);
5900
- border-radius: 4px;
5901
- box-shadow: var(--bs-shadow-contentLowCenter);
5902
- color: var(--bs-ink-violet);
5903
- display: flex;
5904
- font-size: var(--bs-text-sm);
5905
- justify-content: center;
5906
- max-width: 16rem;
5907
- min-width: 4rem;
5908
- opacity: 0;
5909
- padding-bottom: 0.25rem;
5910
- padding-left: 0.5rem;
5911
- padding-right: 0.5rem;
5912
- padding-top: 0.25rem;
5913
- position: absolute;
5914
- transform: scale(0);
5915
- transition-duration: 75ms;
5916
- transition-property: opacity, transform;
5917
- transition-timing-function: ease-in-out;
5918
- width: -moz-max-content;
5919
- width: max-content;
5920
- z-index: 999;
5921
- }
5922
- :where(.dark) .bs-tooltip :where(.bs-tooltip-text) {
5923
- color: var(--bs-ink-base);
5924
- }
5925
- /* -------------------- POSITION: UNDEFINED / TOP -------------------- */
5926
- .bs-tooltip:where(:not([data-position])) :where(.bs-tooltip-text),
5927
- .bs-tooltip:where([data-position="top"]) :where(.bs-tooltip-text) {
5928
- bottom: calc(100% + 0.5rem);
5929
- left: 50%;
5930
- transform-origin: bottom center;
5931
- transform: translateX(-50%) scale(0);
5932
- }
5933
- /* Active States */
5934
- :where(.bs-tooltip:not([data-position])):hover :where(.bs-tooltip-text),
5935
- :where(.bs-tooltip[data-position="top"]):hover :where(.bs-tooltip-text),
5936
- :where(.bs-tooltip:not([data-position])):has(:focus-visible) :where(.bs-tooltip-text),
5937
- :where(.bs-tooltip[data-position="top"]):has(:focus-visible) :where(.bs-tooltip-text),
5938
- :where(.bs-tooltip:not([data-position]))[data-shown] :where(.bs-tooltip-text),
5939
- :where(.bs-tooltip[data-position="top"])[data-shown] :where(.bs-tooltip-text) {
5940
- opacity: 1;
5941
- transform: translateX(-50%) scale(1);
5942
- }
5943
- /* -------------------- POSITION: BOTTOM -------------------- */
5944
- .bs-tooltip:where([data-position="bottom"]) :where(.bs-tooltip-text) {
5945
- left: 50%;
5946
- top: calc(100% + 0.5rem);
5947
- transform-origin: top center;
5948
- transform: translateX(-50%) scale(0);
5949
- }
5950
- /* Active States */
5951
- :where(.bs-tooltip[data-position="bottom"]):hover :where(.bs-tooltip-text),
5952
- :where(.bs-tooltip[data-position="bottom"]):has(:focus-visible) :where(.bs-tooltip-text),
5953
- :where(.bs-tooltip[data-position="bottom"])[data-shown] :where(.bs-tooltip-text) {
5954
- opacity: 1;
5955
- transform: translateX(-50%) scale(1);
5956
- }
5957
- /* -------------------- POSITION: LEFT -------------------- */
5958
- .bs-tooltip:where([data-position="left"]) :where(.bs-tooltip-text) {
5959
- right: calc(100% + 0.5rem);
5960
- top: 50%;
5961
- transform-origin: center right;
5962
- transform: translateY(-50%) scale(0);
5963
- }
5964
- /* Active States */
5965
- :where(.bs-tooltip[data-position="left"]):hover :where(.bs-tooltip-text),
5966
- :where(.bs-tooltip[data-position="left"]):has(:focus-visible) :where(.bs-tooltip-text),
5967
- :where(.bs-tooltip[data-position="left"])[data-shown] :where(.bs-tooltip-text) {
5968
- opacity: 1;
5969
- transform: translateY(-50%) scale(1);
5970
- }
5971
- /* -------------------- POSITION: RIGHT -------------------- */
5972
- .bs-tooltip:where([data-position="right"]) :where(.bs-tooltip-text) {
5973
- left: calc(100% + 0.5rem);
5974
- top: 50%;
5975
- transform-origin: center left;
5976
- transform: translateY(-50%) scale(0);
5977
- }
5978
- :where(.bs-tooltip[data-position="right"]):hover :where(.bs-tooltip-text),
5979
- :where(.bs-tooltip[data-position="right"]):has(:focus-visible) :where(.bs-tooltip-text),
5980
- :where(.bs-tooltip[data-position="right"])[data-shown] :where(.bs-tooltip-text) {
5981
- opacity: 1;
5982
- transform: translateY(-50%) scale(1);
5983
- }
5984
- /* -------------------- POSITION: CORNERS -------------------- */
5985
- /* top-left */
5986
- .bs-tooltip:where([data-position="top-left"]) :where(.bs-tooltip-text) {
5987
- bottom: calc(100% + 0.5rem);
5988
- right: calc(100% + 0.5rem);
5989
- transform-origin: bottom right;
5990
- }
5991
- /* top-right */
5992
- .bs-tooltip:where([data-position="top-right"]) :where(.bs-tooltip-text) {
5993
- bottom: calc(100% + 0.5rem);
5994
- left: calc(100% + 0.5rem);
5995
- transform-origin: bottom left;
5996
- }
5997
- /* bottom-left */
5998
- .bs-tooltip:where([data-position="bottom-left"]) :where(.bs-tooltip-text) {
5999
- right: calc(100% + 0.5rem);
6000
- top: calc(100% + 0.5rem);
6001
- transform-origin: top right;
6002
- }
6003
- /* bottom-right */
6004
- .bs-tooltip:where([data-position="bottom-right"]) :where(.bs-tooltip-text) {
6005
- left: calc(100% + 0.5rem);
6006
- top: calc(100% + 0.5rem);
6007
- transform-origin: top left;
6008
- }
6009
- /* Active States */
6010
- :where(.bs-tooltip[data-position="top-left"]):hover :where(.bs-tooltip-text),
6011
- :where(.bs-tooltip[data-position="top-right"]):hover :where(.bs-tooltip-text),
6012
- :where(.bs-tooltip[data-position="bottom-left"]):hover :where(.bs-tooltip-text),
6013
- :where(.bs-tooltip[data-position="bottom-right"]):hover :where(.bs-tooltip-text),
6014
- :where(.bs-tooltip[data-position="top-left"]):has(:focus-visible) :where(.bs-tooltip-text),
6015
- :where(.bs-tooltip[data-position="top-right"]):has(:focus-visible) :where(.bs-tooltip-text),
6016
- :where(.bs-tooltip[data-position="bottom-left"]):has(:focus-visible) :where(.bs-tooltip-text),
6017
- :where(.bs-tooltip[data-position="bottom-right"]):has(:focus-visible) :where(.bs-tooltip-text),
6018
- :where(.bs-tooltip[data-position="top-left"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
6019
- :where(.bs-tooltip[data-position="top-right"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
6020
- :where(.bs-tooltip[data-position="bottom-left"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text),
6021
- :where(.bs-tooltip[data-position="bottom-right"]:not([data-shown="false"]))[data-shown] :where(.bs-tooltip-text) {
6022
- opacity: 1;
6023
- transform: scale(1);
6024
- }
6025
- /* -------------------- DISABLED -------------------- */
6026
- /*
6027
- Don't display unless data-shown is present
6028
- This must go last to properly override the other classes
6029
- */
6030
- :where(.bs-tooltip[data-disabled]:not([data-disabled="false"]):not([data-shown])):hover :where(.bs-tooltip-text),
6031
- :where(.bs-tooltip[data-disabled]:not([data-disabled="false"]):not([data-shown])):has(:focus-visible) :where(.bs-tooltip-text) {
6032
- opacity: 0;
6033
- transform: scale(0);
6275
+ .bs-toast:where([data-variant^='negative']) {
6276
+ border-top: 4px solid var(--bs-red-400);
6034
6277
  }
6035
- :where(.bs-tooltip[data-shown="false"][data-disabled]:not([data-disabled="false"])):hover :where(.bs-tooltip-text),
6036
- :where(.bs-tooltip[data-shown="false"][data-disabled]:not([data-disabled="false"])):has(:focus-visible) :where(.bs-tooltip-text) {
6037
- opacity: 0;
6038
- transform: scale(0);
6278
+ .bs-toast:where([data-variant^='negative']) :where(.bs-toast-header .bs-toast-header-icon) {
6279
+ color: var(--bs-red-400);
6039
6280
  }
6040
- /* -------------------- COMPONENT-SPECIFIC STYLES -------------------- */
6041
- .bs-tooltip :where(.bs-tooltip-text.escaped) {
6042
- opacity: 0;
6043
- 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
+ }
6044
6300
  }
6045
- .bs-tooltip :where(.bs-tooltip-text.escaped-x) {
6046
- opacity: 0;
6047
- 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);
6048
6306
  }
6049
- .bs-tooltip :where(.bs-tooltip-text.escaped-y) {
6050
- opacity: 0;
6051
- 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);
6052
6311
  }
6053
- :root {
6054
- --bs-vertical-nav-width: 9.875rem;
6055
- --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
+
6056
6333
  }
6057
6334
  .bs-vertical-nav {
6058
6335
  --active-color: rgba(255, 255, 255, 0.25);
@@ -6078,7 +6355,7 @@ This must go last to properly override the other classes
6078
6355
  scrollbar-width: none; /* Firefox */
6079
6356
  top: var(--top-offset);
6080
6357
  /* Slight delay for visibility to change prior to opacity */
6081
- transition: opacity 200ms ease 10ms;
6358
+ transition: opacity var(--bs-transition-medium) var(--bs-transition-ease) 10ms;
6082
6359
  visibility: hidden;
6083
6360
  width: auto;
6084
6361
  z-index: 1000;
@@ -6161,9 +6438,9 @@ This must go last to properly override the other classes
6161
6438
  .bs-vertical-nav :where(.bs-vertical-nav-section-toggle-caret) {
6162
6439
  height: 0.75rem;
6163
6440
  transform: none;
6164
- transition-duration: 0.2s;
6441
+ transition-duration: var(--bs-transition-medium);
6165
6442
  transition-property: transform;
6166
- transition-timing-function: ease-in-out;
6443
+ transition-timing-function: var(--bs-transition-ease);
6167
6444
  width: 0.75rem;
6168
6445
  }
6169
6446
  .bs-vertical-nav :where(.bs-vertical-nav-section[data-collapsed="true"] .bs-vertical-nav-section-toggle-caret) {
@@ -6187,6 +6464,7 @@ This must go last to properly override the other classes
6187
6464
  .bs-vertical-nav :where(ul li a) {
6188
6465
  align-items: center;
6189
6466
  border-radius: 4px;
6467
+ color: var(--bs-white);
6190
6468
  cursor: pointer;
6191
6469
  display: flex;
6192
6470
  font-size: 1rem;
@@ -6199,6 +6477,9 @@ This must go last to properly override the other classes
6199
6477
  padding-top: 0.75rem;
6200
6478
  width: 100%;
6201
6479
  }
6480
+ .bs-vertical-nav :where(ul li a:hover) {
6481
+ text-decoration: none;
6482
+ }
6202
6483
  @media (min-width: 1166px) {
6203
6484
  .bs-vertical-nav :where(ul li a) {
6204
6485
  font-size: 0.875rem;
@@ -6300,3 +6581,444 @@ This must go last to properly override the other classes
6300
6581
  .bs-vertical-nav:where([data-narrow="true"]) :where(.bs-vertical-nav-end-items) {
6301
6582
  display: none;
6302
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
+ */