blue-web 1.11.1 → 1.13.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -1
- package/dist/js/color-mode.bundle.js +1 -0
- package/dist/js/color-mode.d.ts +4 -0
- package/dist/js/color-mode.js +47 -0
- package/dist/merged.scss +1025 -995
- package/dist/style.css +406 -693
- package/dist/style.css.map +1 -1
- package/dist/style.min.css +4 -4
- package/dist/style.scss +5 -1
- package/dist/styles/_bootstrap-variables.scss +16 -3
- package/dist/styles/_collapse.scss +53 -0
- package/dist/styles/_hover.scss +0 -7
- package/dist/styles/_inter.scss +23 -0
- package/dist/styles/_layout.scss +4 -3
- package/dist/styles/_menu-item.scss +6 -60
- package/dist/styles/_modal.scss +8 -1
- package/dist/styles/_variables.scss +28 -38
- package/package.json +2 -1
package/dist/merged.scss
CHANGED
|
@@ -1,8 +1,24 @@
|
|
|
1
1
|
/*!
|
|
2
|
-
* Blue Web v1.
|
|
2
|
+
* Blue Web v1.13.0 (https://bruegmann.github.io/blue-web)
|
|
3
3
|
* Licensed under GNU General Public License v3.0 (https://github.com/bruegmann/blue-web/blob/master/LICENSE).
|
|
4
4
|
*/
|
|
5
5
|
|
|
6
|
+
// Main color theme. E.g. used for background for body and sidebar.
|
|
7
|
+
$theme: hsl(217deg 10% 94%) !default;
|
|
8
|
+
$theme-dark: hsl(217deg 10% 8%) !default;
|
|
9
|
+
$primary: hsl(217deg 91% 50%) !default;
|
|
10
|
+
$white: #fff !default;
|
|
11
|
+
$gray-100: hsl(217deg 17% 98%) !default;
|
|
12
|
+
$gray-200: hsl(217deg 16% 93%) !default;
|
|
13
|
+
$gray-300: hsl(217deg 14% 89%) !default;
|
|
14
|
+
$gray-400: hsl(217deg 14% 83%) !default;
|
|
15
|
+
$gray-500: hsl(217deg 11% 71%) !default;
|
|
16
|
+
$gray-600: hsl(217deg 7% 46%) !default;
|
|
17
|
+
$gray-700: hsl(217deg 9% 31%) !default;
|
|
18
|
+
$gray-800: hsl(217deg 10% 23%) !default;
|
|
19
|
+
$gray-900: hsl(217deg 11% 15%) !default;
|
|
20
|
+
$black: #000 !default;
|
|
21
|
+
|
|
6
22
|
$light: #ecedf0 !default;
|
|
7
23
|
|
|
8
24
|
// Components
|
|
@@ -26,9 +42,6 @@ $custom-checkbox-indicator-border-radius: $border-radius-sm !default;
|
|
|
26
42
|
$link-decoration: none !default;
|
|
27
43
|
$link-hover-decoration: underline !default;
|
|
28
44
|
|
|
29
|
-
$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI Variable Display", "Segoe UI", Roboto, Oxygen-Sans,
|
|
30
|
-
Ubuntu, Cantarell, "Helvetica Neue", sans-serif !default;
|
|
31
|
-
|
|
32
45
|
// Tint focus border and shadow in primary color.
|
|
33
46
|
// In a future Bootstrap release, this might not be necessary anymore.
|
|
34
47
|
$focus-ring-color: #{rgba(var(--bs-primary-rgb), 25%)} !default;
|
|
@@ -2194,731 +2207,6 @@ $carousel-control-icon-filter-dark: $carousel-dark-control-icon-filter !defaul
|
|
|
2194
2207
|
$btn-close-filter-dark: $btn-close-white-filter !default;
|
|
2195
2208
|
// TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3
|
|
2196
2209
|
|
|
2197
|
-
// Main color theme. E.g. used for background for body and sidebar.
|
|
2198
|
-
$theme: $primary !default;
|
|
2199
|
-
|
|
2200
|
-
$theme-colors: () !default;
|
|
2201
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
|
2202
|
-
$theme-colors: map-merge(
|
|
2203
|
-
(
|
|
2204
|
-
"theme": $theme,
|
|
2205
|
-
"white": white,
|
|
2206
|
-
"black": #212529
|
|
2207
|
-
),
|
|
2208
|
-
$theme-colors
|
|
2209
|
-
);
|
|
2210
|
-
|
|
2211
|
-
// For Bootstrap 5.1 this needs to be set. Otherwise we couldn't use .bg-* and .text-* utils with our custom $theme
|
|
2212
|
-
// Since Bootstrap 5.2 it's no longer required, so it's commented out. If everything works fine, this can be removed for
|
|
2213
|
-
// future releases.
|
|
2214
|
-
// $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value");
|
|
2215
|
-
// $utilities-colors: map-merge($utilities-colors, $theme-colors-rgb);
|
|
2216
|
-
// $utilities-text-colors: map-merge($utilities-text-colors, map-loop($utilities-colors, rgba-css-var, "$key", "text"));
|
|
2217
|
-
// $utilities-bg-colors: map-merge($utilities-bg-colors, map-loop($utilities-colors, rgba-css-var, "$key", "bg"));
|
|
2218
|
-
|
|
2219
|
-
// Alpha value (RGBA) e.g. for header background.
|
|
2220
|
-
$shimmering: 0.8 !default;
|
|
2221
|
-
|
|
2222
|
-
// Thumb color of scrollbar.
|
|
2223
|
-
$scrollbar-thumb-color: white !default;
|
|
2224
|
-
|
|
2225
|
-
// Thumb color of scrollbar as RGB (like `255, 255, 255`).
|
|
2226
|
-
$scrollbar-thumb-color-rgb: red($scrollbar-thumb-color), green($scrollbar-thumb-color), blue($scrollbar-thumb-color) !default;
|
|
2227
|
-
|
|
2228
|
-
// Default size for many components, like sidebar menu items.
|
|
2229
|
-
$normal-size: calc(
|
|
2230
|
-
var(--bs-btn-border-width, 1px) + var(--bs-btn-padding-y, 0.375rem) +
|
|
2231
|
-
(var(--bs-btn-font-size, 1rem) * var(--bs-btn-line-height, 1.5)) + var(--bs-btn-padding-y, 0.375rem) +
|
|
2232
|
-
var(--bs-btn-border-width, 1px)
|
|
2233
|
-
) !default;
|
|
2234
|
-
|
|
2235
|
-
// Height of actions menu when it is expanded, like on mobile devices.
|
|
2236
|
-
$actions-height: 7.5rem !default;
|
|
2237
|
-
|
|
2238
|
-
// Background color of menu toggle button.
|
|
2239
|
-
$bla-button-bg-normal: rgba(0, 0, 0, 0.1) !default;
|
|
2240
|
-
|
|
2241
|
-
// Background color of menu toggle button on hover state.
|
|
2242
|
-
$bla-button-bg-hover: rgba(white, 0.25) !default;
|
|
2243
|
-
|
|
2244
|
-
// Font size for sidebar menu items.
|
|
2245
|
-
$bla-btn-font-size: 1em !default;
|
|
2246
|
-
|
|
2247
|
-
// Padding for action menu items.
|
|
2248
|
-
$bla-header-nav-padding: 0.75rem !default;
|
|
2249
|
-
|
|
2250
|
-
// Width of the sidebar.
|
|
2251
|
-
$bla-sidebar-width: 16.563rem !default;
|
|
2252
|
-
|
|
2253
|
-
// Background of sidebar.
|
|
2254
|
-
$sidebar-bg: $theme !default;
|
|
2255
|
-
|
|
2256
|
-
// Background of sidebar when it's opened (on mobile devices).
|
|
2257
|
-
$sidebar-open-bg: darken($sidebar-bg, 30%) !default;
|
|
2258
|
-
|
|
2259
|
-
// Background of sidebar menu dropdown menus
|
|
2260
|
-
$sidebar-deep-bg: darken($sidebar-bg, 4%) !default;
|
|
2261
|
-
|
|
2262
|
-
// Text color of sidebar.
|
|
2263
|
-
$sidebar-color: #fff !default;
|
|
2264
|
-
|
|
2265
|
-
// Color of indicator for active sidebar item.
|
|
2266
|
-
$sidebar-indicator-color: $sidebar-color !default;
|
|
2267
|
-
|
|
2268
|
-
// Background of search control in sidebar.
|
|
2269
|
-
$sidebar-search-bg: $input-bg !default;
|
|
2270
|
-
|
|
2271
|
-
// Background of the body element
|
|
2272
|
-
$app-bg: $sidebar-bg !default;
|
|
2273
|
-
|
|
2274
|
-
// Text color of header elements
|
|
2275
|
-
$header-color: #fff !default;
|
|
2276
|
-
|
|
2277
|
-
// Background color of Header
|
|
2278
|
-
$header-bg: $theme !default;
|
|
2279
|
-
|
|
2280
|
-
// Background color of Header as RGB (like `255, 255, 255`).
|
|
2281
|
-
$header-bg-rgb: red($header-bg), green($header-bg), blue($header-bg) !default;
|
|
2282
|
-
|
|
2283
|
-
// Background of header action menu dropdown menus
|
|
2284
|
-
$header-deep-bg: darken($header-bg, 4%) !default;
|
|
2285
|
-
|
|
2286
|
-
// Background color, when hovering action menu item.
|
|
2287
|
-
$actions-control-bg-hover: $bla-button-bg-hover !default;
|
|
2288
|
-
|
|
2289
|
-
// Width and height of the scrollbar indicators
|
|
2290
|
-
$scrollbar-size: 10px;
|
|
2291
|
-
|
|
2292
|
-
// Shrink sidebar on smaller screens
|
|
2293
|
-
$sidebar-shrink: true !default;
|
|
2294
|
-
|
|
2295
|
-
// Breakpoint for sidebar shrink
|
|
2296
|
-
$sidebar-shrink-breakpoint: 600px !default;
|
|
2297
|
-
|
|
2298
|
-
// Breakpoint for sidebar fully expanded
|
|
2299
|
-
$sidebar-expanded-breakpoint: 1400px !default;
|
|
2300
|
-
|
|
2301
|
-
:root {
|
|
2302
|
-
--blue-scrollbar-thumb-color-rgb: #{$scrollbar-thumb-color-rgb};
|
|
2303
|
-
--blue-scrollbar-size: #{$scrollbar-size};
|
|
2304
|
-
|
|
2305
|
-
--blue-sidebar-width: #{$bla-sidebar-width};
|
|
2306
|
-
--blue-sidebar-color: #{$sidebar-color};
|
|
2307
|
-
--blue-theme: var(--theme, #{$theme});
|
|
2308
|
-
--blue-shimmering: 0.9;
|
|
2309
|
-
|
|
2310
|
-
--blue-app-bg: #{$app-bg};
|
|
2311
|
-
|
|
2312
|
-
--blue-sidebar-bg: #{$sidebar-bg};
|
|
2313
|
-
--blue-sidebar-depth-1-bg: #{darken($sidebar-bg, 4%)};
|
|
2314
|
-
--blue-sidebar-depth-2-bg: #{darken(darken($sidebar-bg, 4%), 4%)};
|
|
2315
|
-
--blue-sidebar-depth-3-bg: #{darken(darken($sidebar-bg, 4%), 8%)};
|
|
2316
|
-
--blue-sidebar-depth-4-bg: #{darken(darken($sidebar-bg, 4%), 12%)};
|
|
2317
|
-
--blue-sidebar-depth-5-bg: #{darken(darken($sidebar-bg, 4%), 16%)};
|
|
2318
|
-
--blue-sidebar-depth-6-bg: #{darken(darken($sidebar-bg, 4%), 20%)};
|
|
2319
|
-
|
|
2320
|
-
--blue-header-bg: #{$header-bg};
|
|
2321
|
-
--blue-header-bg-rgb: #{$header-bg-rgb};
|
|
2322
|
-
--blue-header-depth-1-bg: #{darken($header-bg, 4%)};
|
|
2323
|
-
--blue-header-depth-2-bg: #{darken(darken($header-bg, 4%), 4%)};
|
|
2324
|
-
--blue-header-depth-3-bg: #{darken(darken($header-bg, 4%), 8%)};
|
|
2325
|
-
--blue-header-depth-4-bg: #{darken(darken($header-bg, 4%), 12%)};
|
|
2326
|
-
--blue-header-depth-5-bg: #{darken(darken($header-bg, 4%), 16%)};
|
|
2327
|
-
--blue-header-depth-6-bg: #{darken(darken($header-bg, 4%), 20%)};
|
|
2328
|
-
|
|
2329
|
-
--blue-header-color: #{$header-color};
|
|
2330
|
-
--blue-action-link-bg-color: var(--blue-theme);
|
|
2331
|
-
--blue-menu-item-indicator-bg: #{$sidebar-indicator-color};
|
|
2332
|
-
--blue-menu-item-height: #{$normal-size};
|
|
2333
|
-
}
|
|
2334
|
-
|
|
2335
|
-
|
|
2336
|
-
@mixin slide-transition() {
|
|
2337
|
-
$slide-transition: width 0.5s;
|
|
2338
|
-
transition: $slide-transition;
|
|
2339
|
-
|
|
2340
|
-
@media (prefers-reduced-motion) {
|
|
2341
|
-
transition: none;
|
|
2342
|
-
}
|
|
2343
|
-
|
|
2344
|
-
@media (prefers-reduced-motion) {
|
|
2345
|
-
transition: none;
|
|
2346
|
-
}
|
|
2347
|
-
}
|
|
2348
|
-
|
|
2349
|
-
@mixin header-bg() {
|
|
2350
|
-
background-image: linear-gradient(
|
|
2351
|
-
var(--blue-header-bg, $header-bg),
|
|
2352
|
-
rgba(var(--blue-header-bg-rgb, var(--bs-theme-rgb)), var(--blue-shimmering, $shimmering))
|
|
2353
|
-
);
|
|
2354
|
-
backdrop-filter: blur(3px) saturate(125%);
|
|
2355
|
-
}
|
|
2356
|
-
|
|
2357
|
-
@mixin blue-menu-item-indicator() {
|
|
2358
|
-
content: "";
|
|
2359
|
-
position: absolute;
|
|
2360
|
-
top: 0.625rem;
|
|
2361
|
-
bottom: 0.625rem;
|
|
2362
|
-
left: 0.125rem;
|
|
2363
|
-
right: initial;
|
|
2364
|
-
width: 0.25rem;
|
|
2365
|
-
height: auto;
|
|
2366
|
-
background-color: var(--blue-menu-item-indicator-bg);
|
|
2367
|
-
border-radius: 1rem;
|
|
2368
|
-
animation: blue-menu-item-indicator-in-from-side 0.2s ease-in-out;
|
|
2369
|
-
|
|
2370
|
-
@media (prefers-reduced-motion) {
|
|
2371
|
-
animation-duration: 0s;
|
|
2372
|
-
}
|
|
2373
|
-
}
|
|
2374
|
-
|
|
2375
|
-
@mixin blue-menu-item-indicator-horizontal() {
|
|
2376
|
-
top: initial;
|
|
2377
|
-
bottom: 0.125rem;
|
|
2378
|
-
left: 0.625rem;
|
|
2379
|
-
right: 0.625rem;
|
|
2380
|
-
width: auto;
|
|
2381
|
-
height: 0.25rem;
|
|
2382
|
-
animation: blue-menu-item-indicator-in-from-below 0.2s ease-in-out;
|
|
2383
|
-
|
|
2384
|
-
@media (prefers-reduced-motion) {
|
|
2385
|
-
animation-duration: 0s;
|
|
2386
|
-
}
|
|
2387
|
-
}
|
|
2388
|
-
|
|
2389
|
-
@mixin blue-menu-item-dropdown-for-shrunk-sidebar() {
|
|
2390
|
-
& > .blue-menu-item-wrapper {
|
|
2391
|
-
display: block;
|
|
2392
|
-
position: relative;
|
|
2393
|
-
|
|
2394
|
-
&:not(:has(.blue-menu-item-dropdown)) > .blue-menu-item:hover {
|
|
2395
|
-
.blue-menu-item-label {
|
|
2396
|
-
&::before,
|
|
2397
|
-
& {
|
|
2398
|
-
animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
|
|
2399
|
-
|
|
2400
|
-
@media (prefers-reduced-motion) {
|
|
2401
|
-
animation-duration: 0s;
|
|
2402
|
-
}
|
|
2403
|
-
}
|
|
2404
|
-
|
|
2405
|
-
&::before {
|
|
2406
|
-
content: "";
|
|
2407
|
-
display: block;
|
|
2408
|
-
position: absolute;
|
|
2409
|
-
border: 5px solid transparent;
|
|
2410
|
-
z-index: 1001;
|
|
2411
|
-
|
|
2412
|
-
top: 50%;
|
|
2413
|
-
border-left-width: 0;
|
|
2414
|
-
border-right-color: var(--bs-tooltip-bg, #353539);
|
|
2415
|
-
left: calc(0em - 5px);
|
|
2416
|
-
transform: translate(0.5em, -50%);
|
|
2417
|
-
opacity: 0;
|
|
2418
|
-
}
|
|
2419
|
-
|
|
2420
|
-
display: block;
|
|
2421
|
-
text-transform: none;
|
|
2422
|
-
line-height: 1;
|
|
2423
|
-
font-size: 0.9em;
|
|
2424
|
-
-webkit-user-select: none;
|
|
2425
|
-
user-select: none;
|
|
2426
|
-
pointer-events: none;
|
|
2427
|
-
position: absolute;
|
|
2428
|
-
font-family: var(--bs-font-sans-serif);
|
|
2429
|
-
text-align: center;
|
|
2430
|
-
min-width: 3em;
|
|
2431
|
-
max-width: var(--bs-tooltip-max-width, 21em);
|
|
2432
|
-
padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
|
|
2433
|
-
border-radius: var(--bs-tooltip-border-radius, 0.3em);
|
|
2434
|
-
box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
|
|
2435
|
-
background: var(--bs-tooltip-bg, #353539);
|
|
2436
|
-
color: var(--bs-tooltip-color, #fff);
|
|
2437
|
-
z-index: 1000;
|
|
2438
|
-
width: auto;
|
|
2439
|
-
top: 50%;
|
|
2440
|
-
left: calc(100% + 5px);
|
|
2441
|
-
transform: translate(-0.5em, -50%);
|
|
2442
|
-
overflow: visible;
|
|
2443
|
-
opacity: 0;
|
|
2444
|
-
}
|
|
2445
|
-
}
|
|
2446
|
-
|
|
2447
|
-
& > .blue-menu-item-dropdown,
|
|
2448
|
-
& > .blue-outside > .blue-menu-item-dropdown {
|
|
2449
|
-
@extend .ms-1;
|
|
2450
|
-
@extend .rounded;
|
|
2451
|
-
@extend .shadow;
|
|
2452
|
-
@extend .blue-menu-item-dropdown-from-start;
|
|
2453
|
-
@extend .blue-sidebar-state;
|
|
2454
|
-
@extend .open;
|
|
2455
|
-
|
|
2456
|
-
position: absolute;
|
|
2457
|
-
top: 0;
|
|
2458
|
-
width: $bla-sidebar-width;
|
|
2459
|
-
left: $normal-size;
|
|
2460
|
-
max-height: calc(100vh - (var(--offset-top, 0px) + 1rem));
|
|
2461
|
-
overflow-y: auto;
|
|
2462
|
-
overflow-x: hidden;
|
|
2463
|
-
background-color: var(--blue-sidebar-bg);
|
|
2464
|
-
|
|
2465
|
-
&::before {
|
|
2466
|
-
content: none;
|
|
2467
|
-
}
|
|
2468
|
-
}
|
|
2469
|
-
|
|
2470
|
-
&:has(.blue-menu-item-dropdown) {
|
|
2471
|
-
& > .blue-menu-item {
|
|
2472
|
-
@extend .highlighted;
|
|
2473
|
-
}
|
|
2474
|
-
}
|
|
2475
|
-
}
|
|
2476
|
-
}
|
|
2477
|
-
|
|
2478
|
-
@mixin show-action-menu-again() {
|
|
2479
|
-
max-height: initial;
|
|
2480
|
-
overflow: initial;
|
|
2481
|
-
|
|
2482
|
-
.blue-actions-menu {
|
|
2483
|
-
max-width: initial;
|
|
2484
|
-
}
|
|
2485
|
-
}
|
|
2486
|
-
|
|
2487
|
-
@mixin actions($breakpoint) {
|
|
2488
|
-
@media (max-width: #{$breakpoint + 1px}) {
|
|
2489
|
-
&.open {
|
|
2490
|
-
display: block;
|
|
2491
|
-
width: auto;
|
|
2492
|
-
position: absolute;
|
|
2493
|
-
z-index: 1;
|
|
2494
|
-
left: unset;
|
|
2495
|
-
top: 0.25rem;
|
|
2496
|
-
box-shadow: 0.6rem 6rem 6rem rgba(0, 0, 0, 0.3);
|
|
2497
|
-
animation: fadeInDown 0.5s;
|
|
2498
|
-
|
|
2499
|
-
@media (prefers-reduced-motion) {
|
|
2500
|
-
animation-duration: 0s;
|
|
2501
|
-
}
|
|
2502
|
-
|
|
2503
|
-
border-radius: $border-radius;
|
|
2504
|
-
|
|
2505
|
-
@include show-action-menu-again();
|
|
2506
|
-
|
|
2507
|
-
.blue-actions-menu-item:not(.blue-actions-menu-toggle) {
|
|
2508
|
-
display: flex;
|
|
2509
|
-
}
|
|
2510
|
-
|
|
2511
|
-
.blue-actions-menu {
|
|
2512
|
-
flex-direction: column;
|
|
2513
|
-
.blue-menu-item-dropdown {
|
|
2514
|
-
--blue-sidebar-bg: #{darken($theme, 34%)};
|
|
2515
|
-
}
|
|
2516
|
-
}
|
|
2517
|
-
}
|
|
2518
|
-
|
|
2519
|
-
.blue-actions-menu-item:not(.blue-actions-menu-toggle) {
|
|
2520
|
-
display: none;
|
|
2521
|
-
}
|
|
2522
|
-
}
|
|
2523
|
-
|
|
2524
|
-
@media (min-width: $breakpoint) {
|
|
2525
|
-
@include show-action-menu-again();
|
|
2526
|
-
|
|
2527
|
-
.blue-actions-menu .blue-actions-label {
|
|
2528
|
-
display: inline;
|
|
2529
|
-
}
|
|
2530
|
-
|
|
2531
|
-
.blue-actions-menu-toggle {
|
|
2532
|
-
display: none;
|
|
2533
|
-
}
|
|
2534
|
-
|
|
2535
|
-
.blue-actions-menu > .blue-menu-item-wrapper > .blue-menu-item-dropdown,
|
|
2536
|
-
.blue-actions-menu > .blue-menu-item-wrapper > * > .blue-menu-item-dropdown {
|
|
2537
|
-
position: absolute;
|
|
2538
|
-
right: 0;
|
|
2539
|
-
}
|
|
2540
|
-
}
|
|
2541
|
-
}
|
|
2542
|
-
|
|
2543
|
-
@mixin switch($width: 35px, $height: 20px, $padding: 3px, $color: $body-color, $color-active: $success) {
|
|
2544
|
-
$slider-size: $height - ($padding * 2);
|
|
2545
|
-
|
|
2546
|
-
& {
|
|
2547
|
-
position: relative;
|
|
2548
|
-
display: inline-block;
|
|
2549
|
-
width: $width;
|
|
2550
|
-
height: $height;
|
|
2551
|
-
|
|
2552
|
-
input {
|
|
2553
|
-
display: none;
|
|
2554
|
-
}
|
|
2555
|
-
|
|
2556
|
-
&.disabled {
|
|
2557
|
-
opacity: 0.8;
|
|
2558
|
-
}
|
|
2559
|
-
|
|
2560
|
-
&:not(.disabled) {
|
|
2561
|
-
.slider {
|
|
2562
|
-
cursor: pointer;
|
|
2563
|
-
}
|
|
2564
|
-
}
|
|
2565
|
-
|
|
2566
|
-
.slider {
|
|
2567
|
-
position: absolute;
|
|
2568
|
-
top: 0;
|
|
2569
|
-
left: 0;
|
|
2570
|
-
right: 0;
|
|
2571
|
-
bottom: 0;
|
|
2572
|
-
background-color: $input-group-addon-bg;
|
|
2573
|
-
transition: 0.4s;
|
|
2574
|
-
|
|
2575
|
-
@media (prefers-reduced-motion) {
|
|
2576
|
-
transition: none;
|
|
2577
|
-
}
|
|
2578
|
-
|
|
2579
|
-
box-shadow: inset 0 0 0 1px rgba($color, 0.5);
|
|
2580
|
-
|
|
2581
|
-
&::before {
|
|
2582
|
-
content: "";
|
|
2583
|
-
position: absolute;
|
|
2584
|
-
height: $slider-size;
|
|
2585
|
-
width: $slider-size;
|
|
2586
|
-
left: $padding;
|
|
2587
|
-
bottom: $padding;
|
|
2588
|
-
background-color: $color;
|
|
2589
|
-
transition: 0.4s;
|
|
2590
|
-
|
|
2591
|
-
@media (prefers-reduced-motion) {
|
|
2592
|
-
transition: none;
|
|
2593
|
-
}
|
|
2594
|
-
}
|
|
2595
|
-
|
|
2596
|
-
&::after {
|
|
2597
|
-
content: attr(data-label);
|
|
2598
|
-
position: absolute;
|
|
2599
|
-
top: 50%;
|
|
2600
|
-
left: 50%;
|
|
2601
|
-
transform: translate(-50%, -50%);
|
|
2602
|
-
margin-left: ($slider-size * 0.5);
|
|
2603
|
-
transition: margin-left 0.4s;
|
|
2604
|
-
|
|
2605
|
-
@media (prefers-reduced-motion) {
|
|
2606
|
-
transition: none;
|
|
2607
|
-
}
|
|
2608
|
-
|
|
2609
|
-
color: $color;
|
|
2610
|
-
}
|
|
2611
|
-
}
|
|
2612
|
-
|
|
2613
|
-
input:checked {
|
|
2614
|
-
& + .slider {
|
|
2615
|
-
background-color: $color-active;
|
|
2616
|
-
box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.3);
|
|
2617
|
-
|
|
2618
|
-
&::before {
|
|
2619
|
-
transform: translateX($width - $slider-size - ($padding * 2));
|
|
2620
|
-
background-color: white;
|
|
2621
|
-
}
|
|
2622
|
-
|
|
2623
|
-
&::after {
|
|
2624
|
-
color: white;
|
|
2625
|
-
margin-left: ($slider-size * 0.5) * -1;
|
|
2626
|
-
}
|
|
2627
|
-
}
|
|
2628
|
-
}
|
|
2629
|
-
input:focus + .slider {
|
|
2630
|
-
box-shadow: 0 0 1px $color-active;
|
|
2631
|
-
}
|
|
2632
|
-
}
|
|
2633
|
-
}
|
|
2634
|
-
|
|
2635
|
-
@mixin customProperty($name, $value) {
|
|
2636
|
-
// fallback for older browser who do not support custom properties / css variables
|
|
2637
|
-
#{$name}: #{$value};
|
|
2638
|
-
|
|
2639
|
-
// create a css variable (this might override the variable on any of the ancestor elements)
|
|
2640
|
-
--#{$name}: #{$value};
|
|
2641
|
-
|
|
2642
|
-
// use the css variable on the property
|
|
2643
|
-
#{$name}: var(--#{$name}, #{$value});
|
|
2644
|
-
}
|
|
2645
|
-
|
|
2646
|
-
@mixin scroll-shadow($bg, $light-base: white) {
|
|
2647
|
-
background: linear-gradient($bg 30%, rgba($light-base, 0)),
|
|
2648
|
-
linear-gradient(rgba($light-base, 0) 10px, $bg 70%) bottom,
|
|
2649
|
-
radial-gradient(at top, rgba(0, 0, 0, 0.2), transparent 70%),
|
|
2650
|
-
radial-gradient(at bottom, rgba(0, 0, 0, 0.2), transparent 70%) bottom;
|
|
2651
|
-
background-repeat: no-repeat;
|
|
2652
|
-
background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
|
|
2653
|
-
background-attachment: local, local, scroll, scroll;
|
|
2654
|
-
}
|
|
2655
|
-
|
|
2656
|
-
|
|
2657
|
-
@keyframes fade-in {
|
|
2658
|
-
from {
|
|
2659
|
-
opacity: 0;
|
|
2660
|
-
}
|
|
2661
|
-
to {
|
|
2662
|
-
opacity: 1;
|
|
2663
|
-
}
|
|
2664
|
-
}
|
|
2665
|
-
|
|
2666
|
-
@keyframes blAppearUp {
|
|
2667
|
-
from {
|
|
2668
|
-
margin-top: 2.5rem;
|
|
2669
|
-
}
|
|
2670
|
-
to {
|
|
2671
|
-
margin-top: 0;
|
|
2672
|
-
}
|
|
2673
|
-
}
|
|
2674
|
-
|
|
2675
|
-
@keyframes blue-menu-item-dropdown {
|
|
2676
|
-
from {
|
|
2677
|
-
transform: translateY(-50%);
|
|
2678
|
-
opacity: 0;
|
|
2679
|
-
}
|
|
2680
|
-
}
|
|
2681
|
-
|
|
2682
|
-
@keyframes enabledBlueAppPage {
|
|
2683
|
-
from {
|
|
2684
|
-
transform: scale(0.98);
|
|
2685
|
-
opacity: 0;
|
|
2686
|
-
}
|
|
2687
|
-
to {
|
|
2688
|
-
opacity: 1;
|
|
2689
|
-
}
|
|
2690
|
-
}
|
|
2691
|
-
|
|
2692
|
-
@keyframes fadeInDown {
|
|
2693
|
-
from {
|
|
2694
|
-
opacity: 0;
|
|
2695
|
-
transform: translate3d(0, -100%, 0);
|
|
2696
|
-
}
|
|
2697
|
-
|
|
2698
|
-
to {
|
|
2699
|
-
opacity: 1;
|
|
2700
|
-
transform: none;
|
|
2701
|
-
}
|
|
2702
|
-
}
|
|
2703
|
-
|
|
2704
|
-
@keyframes alert-in {
|
|
2705
|
-
from {
|
|
2706
|
-
transform: scale(0, 0);
|
|
2707
|
-
opacity: 0.2;
|
|
2708
|
-
transition: 0s;
|
|
2709
|
-
}
|
|
2710
|
-
}
|
|
2711
|
-
|
|
2712
|
-
@keyframes circlebounce {
|
|
2713
|
-
0%,
|
|
2714
|
-
100% {
|
|
2715
|
-
transform: scale(0);
|
|
2716
|
-
}
|
|
2717
|
-
50% {
|
|
2718
|
-
transform: scale(1);
|
|
2719
|
-
}
|
|
2720
|
-
}
|
|
2721
|
-
|
|
2722
|
-
@keyframes scrolling {
|
|
2723
|
-
from {
|
|
2724
|
-
transform: translateX(-100%);
|
|
2725
|
-
}
|
|
2726
|
-
to {
|
|
2727
|
-
transform: translateX(100%);
|
|
2728
|
-
}
|
|
2729
|
-
}
|
|
2730
|
-
|
|
2731
|
-
|
|
2732
|
-
@mixin bsBanner($file) {
|
|
2733
|
-
/*!
|
|
2734
|
-
* Bootstrap #{$file} v5.3.5 (https://getbootstrap.com/)
|
|
2735
|
-
* Copyright 2011-2025 The Bootstrap Authors
|
|
2736
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
2737
|
-
*/
|
|
2738
|
-
}
|
|
2739
|
-
|
|
2740
|
-
@include bsBanner("");
|
|
2741
|
-
|
|
2742
|
-
// scss-docs-start import-stack
|
|
2743
|
-
// Configuration
|
|
2744
|
-
|
|
2745
|
-
|
|
2746
|
-
|
|
2747
|
-
// Re-assigned maps
|
|
2748
|
-
//
|
|
2749
|
-
// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.
|
|
2750
|
-
|
|
2751
|
-
// scss-docs-start theme-colors-rgb
|
|
2752
|
-
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
|
|
2753
|
-
// scss-docs-end theme-colors-rgb
|
|
2754
|
-
|
|
2755
|
-
// scss-docs-start theme-text-map
|
|
2756
|
-
$theme-colors-text: (
|
|
2757
|
-
"primary": $primary-text-emphasis,
|
|
2758
|
-
"secondary": $secondary-text-emphasis,
|
|
2759
|
-
"success": $success-text-emphasis,
|
|
2760
|
-
"info": $info-text-emphasis,
|
|
2761
|
-
"warning": $warning-text-emphasis,
|
|
2762
|
-
"danger": $danger-text-emphasis,
|
|
2763
|
-
"light": $light-text-emphasis,
|
|
2764
|
-
"dark": $dark-text-emphasis,
|
|
2765
|
-
) !default;
|
|
2766
|
-
// scss-docs-end theme-text-map
|
|
2767
|
-
|
|
2768
|
-
// scss-docs-start theme-bg-subtle-map
|
|
2769
|
-
$theme-colors-bg-subtle: (
|
|
2770
|
-
"primary": $primary-bg-subtle,
|
|
2771
|
-
"secondary": $secondary-bg-subtle,
|
|
2772
|
-
"success": $success-bg-subtle,
|
|
2773
|
-
"info": $info-bg-subtle,
|
|
2774
|
-
"warning": $warning-bg-subtle,
|
|
2775
|
-
"danger": $danger-bg-subtle,
|
|
2776
|
-
"light": $light-bg-subtle,
|
|
2777
|
-
"dark": $dark-bg-subtle,
|
|
2778
|
-
) !default;
|
|
2779
|
-
// scss-docs-end theme-bg-subtle-map
|
|
2780
|
-
|
|
2781
|
-
// scss-docs-start theme-border-subtle-map
|
|
2782
|
-
$theme-colors-border-subtle: (
|
|
2783
|
-
"primary": $primary-border-subtle,
|
|
2784
|
-
"secondary": $secondary-border-subtle,
|
|
2785
|
-
"success": $success-border-subtle,
|
|
2786
|
-
"info": $info-border-subtle,
|
|
2787
|
-
"warning": $warning-border-subtle,
|
|
2788
|
-
"danger": $danger-border-subtle,
|
|
2789
|
-
"light": $light-border-subtle,
|
|
2790
|
-
"dark": $dark-border-subtle,
|
|
2791
|
-
) !default;
|
|
2792
|
-
// scss-docs-end theme-border-subtle-map
|
|
2793
|
-
|
|
2794
|
-
$theme-colors-text-dark: null !default;
|
|
2795
|
-
$theme-colors-bg-subtle-dark: null !default;
|
|
2796
|
-
$theme-colors-border-subtle-dark: null !default;
|
|
2797
|
-
|
|
2798
|
-
@if $enable-dark-mode {
|
|
2799
|
-
// scss-docs-start theme-text-dark-map
|
|
2800
|
-
$theme-colors-text-dark: (
|
|
2801
|
-
"primary": $primary-text-emphasis-dark,
|
|
2802
|
-
"secondary": $secondary-text-emphasis-dark,
|
|
2803
|
-
"success": $success-text-emphasis-dark,
|
|
2804
|
-
"info": $info-text-emphasis-dark,
|
|
2805
|
-
"warning": $warning-text-emphasis-dark,
|
|
2806
|
-
"danger": $danger-text-emphasis-dark,
|
|
2807
|
-
"light": $light-text-emphasis-dark,
|
|
2808
|
-
"dark": $dark-text-emphasis-dark,
|
|
2809
|
-
) !default;
|
|
2810
|
-
// scss-docs-end theme-text-dark-map
|
|
2811
|
-
|
|
2812
|
-
// scss-docs-start theme-bg-subtle-dark-map
|
|
2813
|
-
$theme-colors-bg-subtle-dark: (
|
|
2814
|
-
"primary": $primary-bg-subtle-dark,
|
|
2815
|
-
"secondary": $secondary-bg-subtle-dark,
|
|
2816
|
-
"success": $success-bg-subtle-dark,
|
|
2817
|
-
"info": $info-bg-subtle-dark,
|
|
2818
|
-
"warning": $warning-bg-subtle-dark,
|
|
2819
|
-
"danger": $danger-bg-subtle-dark,
|
|
2820
|
-
"light": $light-bg-subtle-dark,
|
|
2821
|
-
"dark": $dark-bg-subtle-dark,
|
|
2822
|
-
) !default;
|
|
2823
|
-
// scss-docs-end theme-bg-subtle-dark-map
|
|
2824
|
-
|
|
2825
|
-
// scss-docs-start theme-border-subtle-dark-map
|
|
2826
|
-
$theme-colors-border-subtle-dark: (
|
|
2827
|
-
"primary": $primary-border-subtle-dark,
|
|
2828
|
-
"secondary": $secondary-border-subtle-dark,
|
|
2829
|
-
"success": $success-border-subtle-dark,
|
|
2830
|
-
"info": $info-border-subtle-dark,
|
|
2831
|
-
"warning": $warning-border-subtle-dark,
|
|
2832
|
-
"danger": $danger-border-subtle-dark,
|
|
2833
|
-
"light": $light-border-subtle-dark,
|
|
2834
|
-
"dark": $dark-border-subtle-dark,
|
|
2835
|
-
) !default;
|
|
2836
|
-
// scss-docs-end theme-border-subtle-dark-map
|
|
2837
|
-
}
|
|
2838
|
-
|
|
2839
|
-
// Utilities maps
|
|
2840
|
-
//
|
|
2841
|
-
// Extends the default `$theme-colors` maps to help create our utilities.
|
|
2842
|
-
|
|
2843
|
-
// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
|
|
2844
|
-
// scss-docs-start utilities-colors
|
|
2845
|
-
$utilities-colors: $theme-colors-rgb !default;
|
|
2846
|
-
// scss-docs-end utilities-colors
|
|
2847
|
-
|
|
2848
|
-
// scss-docs-start utilities-text-colors
|
|
2849
|
-
$utilities-text: map-merge(
|
|
2850
|
-
$utilities-colors,
|
|
2851
|
-
(
|
|
2852
|
-
"black": to-rgb($black),
|
|
2853
|
-
"white": to-rgb($white),
|
|
2854
|
-
"body": to-rgb($body-color)
|
|
2855
|
-
)
|
|
2856
|
-
) !default;
|
|
2857
|
-
$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
|
|
2858
|
-
|
|
2859
|
-
$utilities-text-emphasis-colors: (
|
|
2860
|
-
"primary-emphasis": var(--#{$prefix}primary-text-emphasis),
|
|
2861
|
-
"secondary-emphasis": var(--#{$prefix}secondary-text-emphasis),
|
|
2862
|
-
"success-emphasis": var(--#{$prefix}success-text-emphasis),
|
|
2863
|
-
"info-emphasis": var(--#{$prefix}info-text-emphasis),
|
|
2864
|
-
"warning-emphasis": var(--#{$prefix}warning-text-emphasis),
|
|
2865
|
-
"danger-emphasis": var(--#{$prefix}danger-text-emphasis),
|
|
2866
|
-
"light-emphasis": var(--#{$prefix}light-text-emphasis),
|
|
2867
|
-
"dark-emphasis": var(--#{$prefix}dark-text-emphasis)
|
|
2868
|
-
) !default;
|
|
2869
|
-
// scss-docs-end utilities-text-colors
|
|
2870
|
-
|
|
2871
|
-
// scss-docs-start utilities-bg-colors
|
|
2872
|
-
$utilities-bg: map-merge(
|
|
2873
|
-
$utilities-colors,
|
|
2874
|
-
(
|
|
2875
|
-
"black": to-rgb($black),
|
|
2876
|
-
"white": to-rgb($white),
|
|
2877
|
-
"body": to-rgb($body-bg)
|
|
2878
|
-
)
|
|
2879
|
-
) !default;
|
|
2880
|
-
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
|
|
2881
|
-
|
|
2882
|
-
$utilities-bg-subtle: (
|
|
2883
|
-
"primary-subtle": var(--#{$prefix}primary-bg-subtle),
|
|
2884
|
-
"secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
|
|
2885
|
-
"success-subtle": var(--#{$prefix}success-bg-subtle),
|
|
2886
|
-
"info-subtle": var(--#{$prefix}info-bg-subtle),
|
|
2887
|
-
"warning-subtle": var(--#{$prefix}warning-bg-subtle),
|
|
2888
|
-
"danger-subtle": var(--#{$prefix}danger-bg-subtle),
|
|
2889
|
-
"light-subtle": var(--#{$prefix}light-bg-subtle),
|
|
2890
|
-
"dark-subtle": var(--#{$prefix}dark-bg-subtle)
|
|
2891
|
-
) !default;
|
|
2892
|
-
// scss-docs-end utilities-bg-colors
|
|
2893
|
-
|
|
2894
|
-
// scss-docs-start utilities-border-colors
|
|
2895
|
-
$utilities-border: map-merge(
|
|
2896
|
-
$utilities-colors,
|
|
2897
|
-
(
|
|
2898
|
-
"black": to-rgb($black),
|
|
2899
|
-
"white": to-rgb($white)
|
|
2900
|
-
)
|
|
2901
|
-
) !default;
|
|
2902
|
-
$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
|
|
2903
|
-
|
|
2904
|
-
$utilities-border-subtle: (
|
|
2905
|
-
"primary-subtle": var(--#{$prefix}primary-border-subtle),
|
|
2906
|
-
"secondary-subtle": var(--#{$prefix}secondary-border-subtle),
|
|
2907
|
-
"success-subtle": var(--#{$prefix}success-border-subtle),
|
|
2908
|
-
"info-subtle": var(--#{$prefix}info-border-subtle),
|
|
2909
|
-
"warning-subtle": var(--#{$prefix}warning-border-subtle),
|
|
2910
|
-
"danger-subtle": var(--#{$prefix}danger-border-subtle),
|
|
2911
|
-
"light-subtle": var(--#{$prefix}light-border-subtle),
|
|
2912
|
-
"dark-subtle": var(--#{$prefix}dark-border-subtle)
|
|
2913
|
-
) !default;
|
|
2914
|
-
// scss-docs-end utilities-border-colors
|
|
2915
|
-
|
|
2916
|
-
$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
|
|
2917
|
-
|
|
2918
|
-
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
|
|
2919
|
-
|
|
2920
|
-
$gutters: $spacers !default;
|
|
2921
|
-
|
|
2922
2210
|
// Toggles
|
|
2923
2211
|
//
|
|
2924
2212
|
// Used in conjunction with global variables to enable certain theme features.
|
|
@@ -4107,247 +3395,963 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
4107
3395
|
background-image: var(--#{$prefix}gradient);
|
|
4108
3396
|
}
|
|
4109
3397
|
}
|
|
4110
|
-
// scss-docs-end gradient-bg-mixin
|
|
3398
|
+
// scss-docs-end gradient-bg-mixin
|
|
3399
|
+
|
|
3400
|
+
// scss-docs-start gradient-mixins
|
|
3401
|
+
// Horizontal gradient, from left to right
|
|
3402
|
+
//
|
|
3403
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
|
3404
|
+
@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
|
|
3405
|
+
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
|
|
3406
|
+
}
|
|
3407
|
+
|
|
3408
|
+
// Vertical gradient, from top to bottom
|
|
3409
|
+
//
|
|
3410
|
+
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
|
3411
|
+
@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {
|
|
3412
|
+
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
|
|
3413
|
+
}
|
|
3414
|
+
|
|
3415
|
+
@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
|
|
3416
|
+
background-image: linear-gradient($deg, $start-color, $end-color);
|
|
3417
|
+
}
|
|
3418
|
+
|
|
3419
|
+
@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
|
3420
|
+
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
|
3421
|
+
}
|
|
3422
|
+
|
|
3423
|
+
@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
|
3424
|
+
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
|
3425
|
+
}
|
|
3426
|
+
|
|
3427
|
+
@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
|
|
3428
|
+
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
|
3429
|
+
}
|
|
3430
|
+
|
|
3431
|
+
@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
|
|
3432
|
+
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
|
3433
|
+
}
|
|
3434
|
+
// scss-docs-end gradient-mixins
|
|
3435
|
+
|
|
3436
|
+
// stylelint-disable property-disallowed-list
|
|
3437
|
+
@mixin transition($transition...) {
|
|
3438
|
+
@if length($transition) == 0 {
|
|
3439
|
+
$transition: $transition-base;
|
|
3440
|
+
}
|
|
3441
|
+
|
|
3442
|
+
@if length($transition) > 1 {
|
|
3443
|
+
@each $value in $transition {
|
|
3444
|
+
@if $value == null or $value == none {
|
|
3445
|
+
@warn "The keyword 'none' or 'null' must be used as a single argument.";
|
|
3446
|
+
}
|
|
3447
|
+
}
|
|
3448
|
+
}
|
|
3449
|
+
|
|
3450
|
+
@if $enable-transitions {
|
|
3451
|
+
@if nth($transition, 1) != null {
|
|
3452
|
+
transition: $transition;
|
|
3453
|
+
}
|
|
3454
|
+
|
|
3455
|
+
@if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {
|
|
3456
|
+
@media (prefers-reduced-motion: reduce) {
|
|
3457
|
+
transition: none;
|
|
3458
|
+
}
|
|
3459
|
+
}
|
|
3460
|
+
}
|
|
3461
|
+
}
|
|
3462
|
+
|
|
3463
|
+
|
|
3464
|
+
// Layout
|
|
3465
|
+
// scss-docs-start clearfix
|
|
3466
|
+
@mixin clearfix() {
|
|
3467
|
+
&::after {
|
|
3468
|
+
display: block;
|
|
3469
|
+
clear: both;
|
|
3470
|
+
content: "";
|
|
3471
|
+
}
|
|
3472
|
+
}
|
|
3473
|
+
// scss-docs-end clearfix
|
|
3474
|
+
|
|
3475
|
+
// Container mixins
|
|
3476
|
+
|
|
3477
|
+
@mixin make-container($gutter: $container-padding-x) {
|
|
3478
|
+
--#{$prefix}gutter-x: #{$gutter};
|
|
3479
|
+
--#{$prefix}gutter-y: 0;
|
|
3480
|
+
width: 100%;
|
|
3481
|
+
padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
|
|
3482
|
+
padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
|
|
3483
|
+
margin-right: auto;
|
|
3484
|
+
margin-left: auto;
|
|
3485
|
+
}
|
|
3486
|
+
|
|
3487
|
+
// Grid system
|
|
3488
|
+
//
|
|
3489
|
+
// Generate semantic grid columns with these mixins.
|
|
3490
|
+
|
|
3491
|
+
@mixin make-row($gutter: $grid-gutter-width) {
|
|
3492
|
+
--#{$prefix}gutter-x: #{$gutter};
|
|
3493
|
+
--#{$prefix}gutter-y: 0;
|
|
3494
|
+
display: flex;
|
|
3495
|
+
flex-wrap: wrap;
|
|
3496
|
+
// TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed
|
|
3497
|
+
margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list
|
|
3498
|
+
margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
|
|
3499
|
+
margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
|
|
3500
|
+
}
|
|
3501
|
+
|
|
3502
|
+
@mixin make-col-ready() {
|
|
3503
|
+
// Add box sizing if only the grid is loaded
|
|
3504
|
+
box-sizing: if(variable-exists(include-column-box-sizing) and $include-column-box-sizing, border-box, null);
|
|
3505
|
+
// Prevent columns from becoming too narrow when at smaller grid tiers by
|
|
3506
|
+
// always setting `width: 100%;`. This works because we set the width
|
|
3507
|
+
// later on to override this initial width.
|
|
3508
|
+
flex-shrink: 0;
|
|
3509
|
+
width: 100%;
|
|
3510
|
+
max-width: 100%; // Prevent `.col-auto`, `.col` (& responsive variants) from breaking out the grid
|
|
3511
|
+
padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
|
|
3512
|
+
padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
|
|
3513
|
+
margin-top: var(--#{$prefix}gutter-y);
|
|
3514
|
+
}
|
|
3515
|
+
|
|
3516
|
+
@mixin make-col($size: false, $columns: $grid-columns) {
|
|
3517
|
+
@if $size {
|
|
3518
|
+
flex: 0 0 auto;
|
|
3519
|
+
width: percentage(divide($size, $columns));
|
|
3520
|
+
|
|
3521
|
+
} @else {
|
|
3522
|
+
flex: 1 1 0;
|
|
3523
|
+
max-width: 100%;
|
|
3524
|
+
}
|
|
3525
|
+
}
|
|
3526
|
+
|
|
3527
|
+
@mixin make-col-auto() {
|
|
3528
|
+
flex: 0 0 auto;
|
|
3529
|
+
width: auto;
|
|
3530
|
+
}
|
|
4111
3531
|
|
|
4112
|
-
|
|
4113
|
-
|
|
4114
|
-
|
|
4115
|
-
// Creates two color stops, start and end, by specifying a color and position for each color stop.
|
|
4116
|
-
@mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) {
|
|
4117
|
-
background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent);
|
|
3532
|
+
@mixin make-col-offset($size, $columns: $grid-columns) {
|
|
3533
|
+
$num: divide($size, $columns);
|
|
3534
|
+
margin-left: if($num == 0, 0, percentage($num));
|
|
4118
3535
|
}
|
|
4119
3536
|
|
|
4120
|
-
//
|
|
3537
|
+
// Row columns
|
|
4121
3538
|
//
|
|
4122
|
-
//
|
|
4123
|
-
|
|
4124
|
-
|
|
3539
|
+
// Specify on a parent element(e.g., .row) to force immediate children into NN
|
|
3540
|
+
// number of columns. Supports wrapping to new lines, but does not do a Masonry
|
|
3541
|
+
// style grid.
|
|
3542
|
+
@mixin row-cols($count) {
|
|
3543
|
+
> * {
|
|
3544
|
+
flex: 0 0 auto;
|
|
3545
|
+
width: percentage(divide(1, $count));
|
|
3546
|
+
}
|
|
4125
3547
|
}
|
|
4126
3548
|
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
3549
|
+
// Framework grid generation
|
|
3550
|
+
//
|
|
3551
|
+
// Used only by Bootstrap to generate the correct number of grid classes given
|
|
3552
|
+
// any value of `$grid-columns`.
|
|
4130
3553
|
|
|
4131
|
-
@mixin
|
|
4132
|
-
|
|
4133
|
-
|
|
3554
|
+
@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
|
|
3555
|
+
@each $breakpoint in map-keys($breakpoints) {
|
|
3556
|
+
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
|
4134
3557
|
|
|
4135
|
-
@
|
|
4136
|
-
|
|
4137
|
-
}
|
|
3558
|
+
@include media-breakpoint-up($breakpoint, $breakpoints) {
|
|
3559
|
+
// Provide basic `.col-{bp}` classes for equal-width flexbox columns
|
|
3560
|
+
.col#{$infix} {
|
|
3561
|
+
flex: 1 0 0;
|
|
3562
|
+
}
|
|
4138
3563
|
|
|
4139
|
-
|
|
4140
|
-
|
|
4141
|
-
}
|
|
3564
|
+
.row-cols#{$infix}-auto > * {
|
|
3565
|
+
@include make-col-auto();
|
|
3566
|
+
}
|
|
4142
3567
|
|
|
4143
|
-
@
|
|
4144
|
-
|
|
4145
|
-
}
|
|
4146
|
-
|
|
3568
|
+
@if $grid-row-columns > 0 {
|
|
3569
|
+
@for $i from 1 through $grid-row-columns {
|
|
3570
|
+
.row-cols#{$infix}-#{$i} {
|
|
3571
|
+
@include row-cols($i);
|
|
3572
|
+
}
|
|
3573
|
+
}
|
|
3574
|
+
}
|
|
4147
3575
|
|
|
4148
|
-
|
|
4149
|
-
@
|
|
4150
|
-
|
|
4151
|
-
$transition: $transition-base;
|
|
4152
|
-
}
|
|
3576
|
+
.col#{$infix}-auto {
|
|
3577
|
+
@include make-col-auto();
|
|
3578
|
+
}
|
|
4153
3579
|
|
|
4154
|
-
|
|
4155
|
-
|
|
4156
|
-
|
|
4157
|
-
|
|
3580
|
+
@if $columns > 0 {
|
|
3581
|
+
@for $i from 1 through $columns {
|
|
3582
|
+
.col#{$infix}-#{$i} {
|
|
3583
|
+
@include make-col($i, $columns);
|
|
3584
|
+
}
|
|
3585
|
+
}
|
|
3586
|
+
|
|
3587
|
+
// `$columns - 1` because offsetting by the width of an entire row isn't possible
|
|
3588
|
+
@for $i from 0 through ($columns - 1) {
|
|
3589
|
+
@if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
|
|
3590
|
+
.offset#{$infix}-#{$i} {
|
|
3591
|
+
@include make-col-offset($i, $columns);
|
|
3592
|
+
}
|
|
3593
|
+
}
|
|
3594
|
+
}
|
|
4158
3595
|
}
|
|
4159
|
-
}
|
|
4160
|
-
}
|
|
4161
3596
|
|
|
4162
|
-
|
|
4163
|
-
|
|
4164
|
-
|
|
4165
|
-
|
|
3597
|
+
// Gutters
|
|
3598
|
+
//
|
|
3599
|
+
// Make use of `.g-*`, `.gx-*` or `.gy-*` utilities to change spacing between the columns.
|
|
3600
|
+
@each $key, $value in $gutters {
|
|
3601
|
+
.g#{$infix}-#{$key},
|
|
3602
|
+
.gx#{$infix}-#{$key} {
|
|
3603
|
+
--#{$prefix}gutter-x: #{$value};
|
|
3604
|
+
}
|
|
4166
3605
|
|
|
4167
|
-
|
|
4168
|
-
|
|
4169
|
-
|
|
3606
|
+
.g#{$infix}-#{$key},
|
|
3607
|
+
.gy#{$infix}-#{$key} {
|
|
3608
|
+
--#{$prefix}gutter-y: #{$value};
|
|
3609
|
+
}
|
|
4170
3610
|
}
|
|
4171
3611
|
}
|
|
4172
3612
|
}
|
|
4173
3613
|
}
|
|
4174
3614
|
|
|
3615
|
+
@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {
|
|
3616
|
+
@each $breakpoint in map-keys($breakpoints) {
|
|
3617
|
+
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
|
3618
|
+
|
|
3619
|
+
@include media-breakpoint-up($breakpoint, $breakpoints) {
|
|
3620
|
+
@if $columns > 0 {
|
|
3621
|
+
@for $i from 1 through $columns {
|
|
3622
|
+
.g-col#{$infix}-#{$i} {
|
|
3623
|
+
grid-column: auto / span $i;
|
|
3624
|
+
}
|
|
3625
|
+
}
|
|
4175
3626
|
|
|
4176
|
-
//
|
|
4177
|
-
//
|
|
4178
|
-
@
|
|
4179
|
-
|
|
4180
|
-
|
|
4181
|
-
|
|
4182
|
-
|
|
3627
|
+
// Start with `1` because `0` is an invalid value.
|
|
3628
|
+
// Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
|
|
3629
|
+
@for $i from 1 through ($columns - 1) {
|
|
3630
|
+
.g-start#{$infix}-#{$i} {
|
|
3631
|
+
grid-column-start: $i;
|
|
3632
|
+
}
|
|
3633
|
+
}
|
|
3634
|
+
}
|
|
3635
|
+
}
|
|
4183
3636
|
}
|
|
4184
3637
|
}
|
|
4185
|
-
// scss-docs-end clearfix
|
|
4186
|
-
|
|
4187
|
-
// Container mixins
|
|
4188
3638
|
|
|
4189
|
-
|
|
4190
|
-
|
|
4191
|
-
|
|
4192
|
-
|
|
4193
|
-
|
|
4194
|
-
|
|
4195
|
-
|
|
4196
|
-
|
|
3639
|
+
|
|
3640
|
+
$theme-colors: () !default;
|
|
3641
|
+
// stylelint-disable-next-line scss/dollar-variable-default
|
|
3642
|
+
$theme-colors: map-merge(
|
|
3643
|
+
(
|
|
3644
|
+
"theme": $theme
|
|
3645
|
+
),
|
|
3646
|
+
$theme-colors
|
|
3647
|
+
);
|
|
3648
|
+
|
|
3649
|
+
// Alpha value (RGBA) e.g. for header background.
|
|
3650
|
+
$shimmering: 0.8 !default;
|
|
3651
|
+
|
|
3652
|
+
// Thumb color of scrollbar.
|
|
3653
|
+
$scrollbar-thumb-color: white !default;
|
|
3654
|
+
|
|
3655
|
+
// Thumb color of scrollbar as RGB (like `255, 255, 255`).
|
|
3656
|
+
$scrollbar-thumb-color-rgb:
|
|
3657
|
+
red($scrollbar-thumb-color), green($scrollbar-thumb-color), blue($scrollbar-thumb-color) !default;
|
|
3658
|
+
|
|
3659
|
+
// Default size for many components, like sidebar menu items.
|
|
3660
|
+
$normal-size: calc(
|
|
3661
|
+
var(--bs-btn-border-width, 1px) + var(--bs-btn-padding-y, 0.375rem) +
|
|
3662
|
+
(var(--bs-btn-font-size, 1rem) * var(--bs-btn-line-height, 1.5)) + var(--bs-btn-padding-y, 0.375rem) +
|
|
3663
|
+
var(--bs-btn-border-width, 1px)
|
|
3664
|
+
) !default;
|
|
3665
|
+
|
|
3666
|
+
// Height of actions menu when it is expanded, like on mobile devices.
|
|
3667
|
+
$actions-height: 7.5rem !default;
|
|
3668
|
+
|
|
3669
|
+
// Background color of menu toggle button.
|
|
3670
|
+
$bla-button-bg-normal: rgba(0, 0, 0, 0.1) !default;
|
|
3671
|
+
|
|
3672
|
+
// Background color of menu toggle button on hover state.
|
|
3673
|
+
$bla-button-bg-hover: rgba(white, 0.25) !default;
|
|
3674
|
+
|
|
3675
|
+
// Font size for sidebar menu items.
|
|
3676
|
+
$bla-btn-font-size: 1em !default;
|
|
3677
|
+
|
|
3678
|
+
// Padding for action menu items.
|
|
3679
|
+
$bla-header-nav-padding: 0.75rem !default;
|
|
3680
|
+
|
|
3681
|
+
// Width of the sidebar.
|
|
3682
|
+
$bla-sidebar-width: 16.563rem !default;
|
|
3683
|
+
|
|
3684
|
+
// Background of sidebar.
|
|
3685
|
+
$sidebar-bg: $theme !default;
|
|
3686
|
+
$sidebar-bg-dark: $theme-dark !default;
|
|
3687
|
+
|
|
3688
|
+
// Background of sidebar when it's opened (on mobile devices).
|
|
3689
|
+
$sidebar-open-bg: darken($sidebar-bg, 30%) !default;
|
|
3690
|
+
|
|
3691
|
+
// Background of sidebar menu dropdown menus
|
|
3692
|
+
$sidebar-deep-bg: darken($sidebar-bg, 4%) !default;
|
|
3693
|
+
|
|
3694
|
+
// Text color of sidebar.
|
|
3695
|
+
$sidebar-color: color-contrast($sidebar-bg, $gray-900) !default;
|
|
3696
|
+
$sidebar-color-dark: color-contrast($sidebar-bg-dark, $gray-900) !default;
|
|
3697
|
+
|
|
3698
|
+
// Color of indicator for active sidebar item.
|
|
3699
|
+
$sidebar-indicator-color: $sidebar-color !default;
|
|
3700
|
+
$sidebar-indicator-color-dark: $sidebar-color-dark !default;
|
|
3701
|
+
|
|
3702
|
+
// Background of search control in sidebar.
|
|
3703
|
+
$sidebar-search-bg: $input-bg !default;
|
|
3704
|
+
|
|
3705
|
+
// Background of the body element
|
|
3706
|
+
$app-bg: $theme !default;
|
|
3707
|
+
$app-bg-dark: $theme-dark !default;
|
|
3708
|
+
|
|
3709
|
+
// Background color of Header
|
|
3710
|
+
$header-bg: $theme !default;
|
|
3711
|
+
$header-bg-dark: $theme-dark !default;
|
|
3712
|
+
|
|
3713
|
+
// Text color of header elements
|
|
3714
|
+
$header-color: color-contrast($header-bg, $gray-900) !default;
|
|
3715
|
+
$header-color-dark: color-contrast($header-bg-dark, $gray-900) !default;
|
|
3716
|
+
|
|
3717
|
+
// Background of header action menu dropdown menus
|
|
3718
|
+
$header-deep-bg: darken($header-bg, 4%) !default;
|
|
3719
|
+
|
|
3720
|
+
// Background color, when hovering action menu item.
|
|
3721
|
+
$actions-control-bg-hover: $bla-button-bg-hover !default;
|
|
3722
|
+
|
|
3723
|
+
// Width and height of the scrollbar indicators
|
|
3724
|
+
$scrollbar-size: 10px;
|
|
3725
|
+
|
|
3726
|
+
// Shrink sidebar on smaller screens
|
|
3727
|
+
$sidebar-shrink: true !default;
|
|
3728
|
+
|
|
3729
|
+
// Breakpoint for sidebar shrink
|
|
3730
|
+
$sidebar-shrink-breakpoint: 600px !default;
|
|
3731
|
+
|
|
3732
|
+
// Breakpoint for sidebar fully expanded
|
|
3733
|
+
$sidebar-expanded-breakpoint: 1400px !default;
|
|
3734
|
+
|
|
3735
|
+
:root {
|
|
3736
|
+
--blue-app-bg: #{$app-bg};
|
|
3737
|
+
|
|
3738
|
+
--blue-scrollbar-thumb-color-rgb: #{$scrollbar-thumb-color-rgb};
|
|
3739
|
+
--blue-scrollbar-size: #{$scrollbar-size};
|
|
3740
|
+
|
|
3741
|
+
--blue-sidebar-width: #{$bla-sidebar-width};
|
|
3742
|
+
--blue-sidebar-color: #{$sidebar-color};
|
|
3743
|
+
--blue-theme: var(--theme, #{$theme});
|
|
3744
|
+
--blue-shimmering: 0.9;
|
|
3745
|
+
|
|
3746
|
+
--blue-sidebar-bg: #{$sidebar-bg};
|
|
3747
|
+
--blue-header-bg: #{$header-bg};
|
|
3748
|
+
|
|
3749
|
+
--blue-header-color: #{$header-color};
|
|
3750
|
+
--blue-action-link-bg-color: var(--blue-theme);
|
|
3751
|
+
--blue-menu-item-indicator-bg: #{$sidebar-indicator-color};
|
|
3752
|
+
--blue-menu-item-height: #{$normal-size};
|
|
3753
|
+
}
|
|
3754
|
+
|
|
3755
|
+
@include color-mode(dark, true) {
|
|
3756
|
+
--blue-app-bg: #{$app-bg-dark};
|
|
3757
|
+
|
|
3758
|
+
--blue-sidebar-color: #{$sidebar-color-dark};
|
|
3759
|
+
|
|
3760
|
+
--blue-sidebar-bg: #{$sidebar-bg-dark};
|
|
3761
|
+
--blue-header-bg: #{$header-bg-dark};
|
|
3762
|
+
|
|
3763
|
+
--blue-header-color: #{$header-color-dark};
|
|
3764
|
+
|
|
3765
|
+
--blue-menu-item-indicator-bg: #{$sidebar-indicator-color-dark};
|
|
3766
|
+
}
|
|
3767
|
+
|
|
3768
|
+
|
|
3769
|
+
@mixin slide-transition() {
|
|
3770
|
+
$slide-transition: width 0.5s;
|
|
3771
|
+
transition: $slide-transition;
|
|
3772
|
+
|
|
3773
|
+
@media (prefers-reduced-motion) {
|
|
3774
|
+
transition: none;
|
|
3775
|
+
}
|
|
3776
|
+
|
|
3777
|
+
@media (prefers-reduced-motion) {
|
|
3778
|
+
transition: none;
|
|
3779
|
+
}
|
|
3780
|
+
}
|
|
3781
|
+
|
|
3782
|
+
@mixin header-bg() {
|
|
3783
|
+
background-image: linear-gradient(
|
|
3784
|
+
var(--blue-header-bg, $header-bg),
|
|
3785
|
+
rgba(var(--blue-header-bg-rgb, var(--bs-theme-rgb)), var(--blue-shimmering, $shimmering))
|
|
3786
|
+
);
|
|
3787
|
+
backdrop-filter: blur(3px) saturate(125%);
|
|
3788
|
+
}
|
|
3789
|
+
|
|
3790
|
+
@mixin blue-menu-item-indicator() {
|
|
3791
|
+
content: "";
|
|
3792
|
+
position: absolute;
|
|
3793
|
+
top: 0.625rem;
|
|
3794
|
+
bottom: 0.625rem;
|
|
3795
|
+
left: 0.125rem;
|
|
3796
|
+
right: initial;
|
|
3797
|
+
width: 0.25rem;
|
|
3798
|
+
height: auto;
|
|
3799
|
+
background-color: var(--blue-menu-item-indicator-bg);
|
|
3800
|
+
border-radius: 1rem;
|
|
3801
|
+
animation: blue-menu-item-indicator-in-from-side 0.2s ease-in-out;
|
|
3802
|
+
|
|
3803
|
+
@media (prefers-reduced-motion) {
|
|
3804
|
+
animation-duration: 0s;
|
|
3805
|
+
}
|
|
3806
|
+
}
|
|
3807
|
+
|
|
3808
|
+
@mixin blue-menu-item-indicator-horizontal() {
|
|
3809
|
+
top: initial;
|
|
3810
|
+
bottom: 0.125rem;
|
|
3811
|
+
left: 0.625rem;
|
|
3812
|
+
right: 0.625rem;
|
|
3813
|
+
width: auto;
|
|
3814
|
+
height: 0.25rem;
|
|
3815
|
+
animation: blue-menu-item-indicator-in-from-below 0.2s ease-in-out;
|
|
3816
|
+
|
|
3817
|
+
@media (prefers-reduced-motion) {
|
|
3818
|
+
animation-duration: 0s;
|
|
3819
|
+
}
|
|
3820
|
+
}
|
|
3821
|
+
|
|
3822
|
+
@mixin blue-menu-item-dropdown-for-shrunk-sidebar() {
|
|
3823
|
+
& > .blue-menu-item-wrapper {
|
|
3824
|
+
display: block;
|
|
3825
|
+
position: relative;
|
|
3826
|
+
|
|
3827
|
+
&:not(:has(.blue-menu-item-dropdown)) > .blue-menu-item:hover {
|
|
3828
|
+
.blue-menu-item-label {
|
|
3829
|
+
&::before,
|
|
3830
|
+
& {
|
|
3831
|
+
animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
|
|
3832
|
+
|
|
3833
|
+
@media (prefers-reduced-motion) {
|
|
3834
|
+
animation-duration: 0s;
|
|
3835
|
+
}
|
|
3836
|
+
}
|
|
3837
|
+
|
|
3838
|
+
&::before {
|
|
3839
|
+
content: "";
|
|
3840
|
+
display: block;
|
|
3841
|
+
position: absolute;
|
|
3842
|
+
border: 5px solid transparent;
|
|
3843
|
+
z-index: 1001;
|
|
3844
|
+
|
|
3845
|
+
top: 50%;
|
|
3846
|
+
border-left-width: 0;
|
|
3847
|
+
border-right-color: var(--bs-tooltip-bg, #353539);
|
|
3848
|
+
left: calc(0em - 5px);
|
|
3849
|
+
transform: translate(0.5em, -50%);
|
|
3850
|
+
opacity: 0;
|
|
3851
|
+
}
|
|
3852
|
+
|
|
3853
|
+
display: block;
|
|
3854
|
+
text-transform: none;
|
|
3855
|
+
line-height: 1;
|
|
3856
|
+
font-size: 0.9em;
|
|
3857
|
+
-webkit-user-select: none;
|
|
3858
|
+
user-select: none;
|
|
3859
|
+
pointer-events: none;
|
|
3860
|
+
position: absolute;
|
|
3861
|
+
font-family: var(--bs-font-sans-serif);
|
|
3862
|
+
text-align: center;
|
|
3863
|
+
min-width: 3em;
|
|
3864
|
+
max-width: var(--bs-tooltip-max-width, 21em);
|
|
3865
|
+
padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
|
|
3866
|
+
border-radius: var(--bs-tooltip-border-radius, 0.3em);
|
|
3867
|
+
box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
|
|
3868
|
+
background: var(--bs-tooltip-bg, #353539);
|
|
3869
|
+
color: var(--bs-tooltip-color, #fff);
|
|
3870
|
+
z-index: 1000;
|
|
3871
|
+
width: auto;
|
|
3872
|
+
top: 50%;
|
|
3873
|
+
left: calc(100% + 5px);
|
|
3874
|
+
transform: translate(-0.5em, -50%);
|
|
3875
|
+
overflow: visible;
|
|
3876
|
+
opacity: 0;
|
|
3877
|
+
}
|
|
3878
|
+
}
|
|
3879
|
+
|
|
3880
|
+
& > .blue-menu-item-dropdown,
|
|
3881
|
+
& > .blue-outside > .blue-menu-item-dropdown {
|
|
3882
|
+
@extend .ms-1;
|
|
3883
|
+
@extend .rounded;
|
|
3884
|
+
@extend .shadow;
|
|
3885
|
+
@extend .blue-menu-item-dropdown-from-start;
|
|
3886
|
+
@extend .blue-sidebar-state;
|
|
3887
|
+
@extend .open;
|
|
3888
|
+
|
|
3889
|
+
position: absolute;
|
|
3890
|
+
top: 0;
|
|
3891
|
+
width: $bla-sidebar-width;
|
|
3892
|
+
left: $normal-size;
|
|
3893
|
+
max-height: calc(100vh - (var(--offset-top, 0px) + 1rem));
|
|
3894
|
+
overflow-y: auto;
|
|
3895
|
+
overflow-x: hidden;
|
|
3896
|
+
background-color: var(--blue-sidebar-bg);
|
|
3897
|
+
|
|
3898
|
+
&::before {
|
|
3899
|
+
content: none;
|
|
3900
|
+
}
|
|
3901
|
+
}
|
|
3902
|
+
|
|
3903
|
+
&:has(.blue-menu-item-dropdown) {
|
|
3904
|
+
& > .blue-menu-item {
|
|
3905
|
+
@extend .highlighted;
|
|
3906
|
+
}
|
|
3907
|
+
}
|
|
3908
|
+
}
|
|
3909
|
+
}
|
|
3910
|
+
|
|
3911
|
+
@mixin show-action-menu-again() {
|
|
3912
|
+
max-height: initial;
|
|
3913
|
+
overflow: initial;
|
|
3914
|
+
|
|
3915
|
+
.blue-actions-menu {
|
|
3916
|
+
max-width: initial;
|
|
3917
|
+
}
|
|
3918
|
+
}
|
|
3919
|
+
|
|
3920
|
+
@mixin actions($breakpoint) {
|
|
3921
|
+
@media (max-width: #{$breakpoint + 1px}) {
|
|
3922
|
+
&.open {
|
|
3923
|
+
display: block;
|
|
3924
|
+
width: auto;
|
|
3925
|
+
position: absolute;
|
|
3926
|
+
z-index: 1;
|
|
3927
|
+
left: unset;
|
|
3928
|
+
top: 0.25rem;
|
|
3929
|
+
box-shadow: 0.6rem 6rem 6rem rgba(0, 0, 0, 0.3);
|
|
3930
|
+
animation: fadeInDown 0.5s;
|
|
3931
|
+
|
|
3932
|
+
@media (prefers-reduced-motion) {
|
|
3933
|
+
animation-duration: 0s;
|
|
3934
|
+
}
|
|
3935
|
+
|
|
3936
|
+
border-radius: $border-radius;
|
|
3937
|
+
|
|
3938
|
+
@include show-action-menu-again();
|
|
3939
|
+
|
|
3940
|
+
.blue-actions-menu-item:not(.blue-actions-menu-toggle) {
|
|
3941
|
+
display: flex;
|
|
3942
|
+
}
|
|
3943
|
+
|
|
3944
|
+
.blue-actions-menu {
|
|
3945
|
+
flex-direction: column;
|
|
3946
|
+
.blue-menu-item-dropdown {
|
|
3947
|
+
--blue-sidebar-bg: #{darken($theme, 34%)};
|
|
3948
|
+
}
|
|
3949
|
+
}
|
|
3950
|
+
}
|
|
3951
|
+
|
|
3952
|
+
.blue-actions-menu-item:not(.blue-actions-menu-toggle) {
|
|
3953
|
+
display: none;
|
|
3954
|
+
}
|
|
3955
|
+
}
|
|
3956
|
+
|
|
3957
|
+
@media (min-width: $breakpoint) {
|
|
3958
|
+
@include show-action-menu-again();
|
|
3959
|
+
|
|
3960
|
+
.blue-actions-menu .blue-actions-label {
|
|
3961
|
+
display: inline;
|
|
3962
|
+
}
|
|
3963
|
+
|
|
3964
|
+
.blue-actions-menu-toggle {
|
|
3965
|
+
display: none;
|
|
3966
|
+
}
|
|
3967
|
+
|
|
3968
|
+
.blue-actions-menu > .blue-menu-item-wrapper > .blue-menu-item-dropdown,
|
|
3969
|
+
.blue-actions-menu > .blue-menu-item-wrapper > * > .blue-menu-item-dropdown {
|
|
3970
|
+
position: absolute;
|
|
3971
|
+
right: 0;
|
|
3972
|
+
}
|
|
3973
|
+
}
|
|
3974
|
+
}
|
|
3975
|
+
|
|
3976
|
+
@mixin switch($width: 35px, $height: 20px, $padding: 3px, $color: $body-color, $color-active: $success) {
|
|
3977
|
+
$slider-size: $height - ($padding * 2);
|
|
3978
|
+
|
|
3979
|
+
& {
|
|
3980
|
+
position: relative;
|
|
3981
|
+
display: inline-block;
|
|
3982
|
+
width: $width;
|
|
3983
|
+
height: $height;
|
|
3984
|
+
|
|
3985
|
+
input {
|
|
3986
|
+
display: none;
|
|
3987
|
+
}
|
|
3988
|
+
|
|
3989
|
+
&.disabled {
|
|
3990
|
+
opacity: 0.8;
|
|
3991
|
+
}
|
|
3992
|
+
|
|
3993
|
+
&:not(.disabled) {
|
|
3994
|
+
.slider {
|
|
3995
|
+
cursor: pointer;
|
|
3996
|
+
}
|
|
3997
|
+
}
|
|
3998
|
+
|
|
3999
|
+
.slider {
|
|
4000
|
+
position: absolute;
|
|
4001
|
+
top: 0;
|
|
4002
|
+
left: 0;
|
|
4003
|
+
right: 0;
|
|
4004
|
+
bottom: 0;
|
|
4005
|
+
background-color: $input-group-addon-bg;
|
|
4006
|
+
transition: 0.4s;
|
|
4007
|
+
|
|
4008
|
+
@media (prefers-reduced-motion) {
|
|
4009
|
+
transition: none;
|
|
4010
|
+
}
|
|
4011
|
+
|
|
4012
|
+
box-shadow: inset 0 0 0 1px rgba($color, 0.5);
|
|
4013
|
+
|
|
4014
|
+
&::before {
|
|
4015
|
+
content: "";
|
|
4016
|
+
position: absolute;
|
|
4017
|
+
height: $slider-size;
|
|
4018
|
+
width: $slider-size;
|
|
4019
|
+
left: $padding;
|
|
4020
|
+
bottom: $padding;
|
|
4021
|
+
background-color: $color;
|
|
4022
|
+
transition: 0.4s;
|
|
4023
|
+
|
|
4024
|
+
@media (prefers-reduced-motion) {
|
|
4025
|
+
transition: none;
|
|
4026
|
+
}
|
|
4027
|
+
}
|
|
4028
|
+
|
|
4029
|
+
&::after {
|
|
4030
|
+
content: attr(data-label);
|
|
4031
|
+
position: absolute;
|
|
4032
|
+
top: 50%;
|
|
4033
|
+
left: 50%;
|
|
4034
|
+
transform: translate(-50%, -50%);
|
|
4035
|
+
margin-left: ($slider-size * 0.5);
|
|
4036
|
+
transition: margin-left 0.4s;
|
|
4037
|
+
|
|
4038
|
+
@media (prefers-reduced-motion) {
|
|
4039
|
+
transition: none;
|
|
4040
|
+
}
|
|
4041
|
+
|
|
4042
|
+
color: $color;
|
|
4043
|
+
}
|
|
4044
|
+
}
|
|
4045
|
+
|
|
4046
|
+
input:checked {
|
|
4047
|
+
& + .slider {
|
|
4048
|
+
background-color: $color-active;
|
|
4049
|
+
box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.3);
|
|
4050
|
+
|
|
4051
|
+
&::before {
|
|
4052
|
+
transform: translateX($width - $slider-size - ($padding * 2));
|
|
4053
|
+
background-color: white;
|
|
4054
|
+
}
|
|
4055
|
+
|
|
4056
|
+
&::after {
|
|
4057
|
+
color: white;
|
|
4058
|
+
margin-left: ($slider-size * 0.5) * -1;
|
|
4059
|
+
}
|
|
4060
|
+
}
|
|
4061
|
+
}
|
|
4062
|
+
input:focus + .slider {
|
|
4063
|
+
box-shadow: 0 0 1px $color-active;
|
|
4064
|
+
}
|
|
4065
|
+
}
|
|
4066
|
+
}
|
|
4067
|
+
|
|
4068
|
+
@mixin customProperty($name, $value) {
|
|
4069
|
+
// fallback for older browser who do not support custom properties / css variables
|
|
4070
|
+
#{$name}: #{$value};
|
|
4071
|
+
|
|
4072
|
+
// create a css variable (this might override the variable on any of the ancestor elements)
|
|
4073
|
+
--#{$name}: #{$value};
|
|
4074
|
+
|
|
4075
|
+
// use the css variable on the property
|
|
4076
|
+
#{$name}: var(--#{$name}, #{$value});
|
|
4077
|
+
}
|
|
4078
|
+
|
|
4079
|
+
@mixin scroll-shadow($bg, $light-base: white) {
|
|
4080
|
+
background: linear-gradient($bg 30%, rgba($light-base, 0)),
|
|
4081
|
+
linear-gradient(rgba($light-base, 0) 10px, $bg 70%) bottom,
|
|
4082
|
+
radial-gradient(at top, rgba(0, 0, 0, 0.2), transparent 70%),
|
|
4083
|
+
radial-gradient(at bottom, rgba(0, 0, 0, 0.2), transparent 70%) bottom;
|
|
4084
|
+
background-repeat: no-repeat;
|
|
4085
|
+
background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
|
|
4086
|
+
background-attachment: local, local, scroll, scroll;
|
|
4087
|
+
}
|
|
4088
|
+
|
|
4089
|
+
|
|
4090
|
+
@keyframes fade-in {
|
|
4091
|
+
from {
|
|
4092
|
+
opacity: 0;
|
|
4093
|
+
}
|
|
4094
|
+
to {
|
|
4095
|
+
opacity: 1;
|
|
4096
|
+
}
|
|
4097
|
+
}
|
|
4098
|
+
|
|
4099
|
+
@keyframes blAppearUp {
|
|
4100
|
+
from {
|
|
4101
|
+
margin-top: 2.5rem;
|
|
4102
|
+
}
|
|
4103
|
+
to {
|
|
4104
|
+
margin-top: 0;
|
|
4105
|
+
}
|
|
4106
|
+
}
|
|
4107
|
+
|
|
4108
|
+
@keyframes blue-menu-item-dropdown {
|
|
4109
|
+
from {
|
|
4110
|
+
transform: translateY(-50%);
|
|
4111
|
+
opacity: 0;
|
|
4112
|
+
}
|
|
4113
|
+
}
|
|
4114
|
+
|
|
4115
|
+
@keyframes enabledBlueAppPage {
|
|
4116
|
+
from {
|
|
4117
|
+
transform: scale(0.98);
|
|
4118
|
+
opacity: 0;
|
|
4119
|
+
}
|
|
4120
|
+
to {
|
|
4121
|
+
opacity: 1;
|
|
4122
|
+
}
|
|
4123
|
+
}
|
|
4124
|
+
|
|
4125
|
+
@keyframes fadeInDown {
|
|
4126
|
+
from {
|
|
4127
|
+
opacity: 0;
|
|
4128
|
+
transform: translate3d(0, -100%, 0);
|
|
4129
|
+
}
|
|
4130
|
+
|
|
4131
|
+
to {
|
|
4132
|
+
opacity: 1;
|
|
4133
|
+
transform: none;
|
|
4134
|
+
}
|
|
4135
|
+
}
|
|
4136
|
+
|
|
4137
|
+
@keyframes alert-in {
|
|
4138
|
+
from {
|
|
4139
|
+
transform: scale(0, 0);
|
|
4140
|
+
opacity: 0.2;
|
|
4141
|
+
transition: 0s;
|
|
4142
|
+
}
|
|
4143
|
+
}
|
|
4144
|
+
|
|
4145
|
+
@keyframes circlebounce {
|
|
4146
|
+
0%,
|
|
4147
|
+
100% {
|
|
4148
|
+
transform: scale(0);
|
|
4149
|
+
}
|
|
4150
|
+
50% {
|
|
4151
|
+
transform: scale(1);
|
|
4152
|
+
}
|
|
4153
|
+
}
|
|
4154
|
+
|
|
4155
|
+
@keyframes scrolling {
|
|
4156
|
+
from {
|
|
4157
|
+
transform: translateX(-100%);
|
|
4158
|
+
}
|
|
4159
|
+
to {
|
|
4160
|
+
transform: translateX(100%);
|
|
4161
|
+
}
|
|
4162
|
+
}
|
|
4163
|
+
|
|
4164
|
+
|
|
4165
|
+
@mixin bsBanner($file) {
|
|
4166
|
+
/*!
|
|
4167
|
+
* Bootstrap #{$file} v5.3.5 (https://getbootstrap.com/)
|
|
4168
|
+
* Copyright 2011-2025 The Bootstrap Authors
|
|
4169
|
+
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
4170
|
+
*/
|
|
4197
4171
|
}
|
|
4198
|
-
|
|
4199
|
-
|
|
4172
|
+
|
|
4173
|
+
@include bsBanner("");
|
|
4174
|
+
|
|
4175
|
+
// scss-docs-start import-stack
|
|
4176
|
+
// Configuration
|
|
4177
|
+
|
|
4178
|
+
|
|
4179
|
+
|
|
4180
|
+
// Re-assigned maps
|
|
4200
4181
|
//
|
|
4201
|
-
//
|
|
4182
|
+
// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.
|
|
4202
4183
|
|
|
4203
|
-
|
|
4204
|
-
|
|
4205
|
-
|
|
4206
|
-
display: flex;
|
|
4207
|
-
flex-wrap: wrap;
|
|
4208
|
-
// TODO: Revisit calc order after https://github.com/react-bootstrap/react-bootstrap/issues/6039 is fixed
|
|
4209
|
-
margin-top: calc(-1 * var(--#{$prefix}gutter-y)); // stylelint-disable-line function-disallowed-list
|
|
4210
|
-
margin-right: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
|
|
4211
|
-
margin-left: calc(-.5 * var(--#{$prefix}gutter-x)); // stylelint-disable-line function-disallowed-list
|
|
4212
|
-
}
|
|
4184
|
+
// scss-docs-start theme-colors-rgb
|
|
4185
|
+
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
|
|
4186
|
+
// scss-docs-end theme-colors-rgb
|
|
4213
4187
|
|
|
4214
|
-
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
4225
|
-
|
|
4226
|
-
}
|
|
4188
|
+
// scss-docs-start theme-text-map
|
|
4189
|
+
$theme-colors-text: (
|
|
4190
|
+
"primary": $primary-text-emphasis,
|
|
4191
|
+
"secondary": $secondary-text-emphasis,
|
|
4192
|
+
"success": $success-text-emphasis,
|
|
4193
|
+
"info": $info-text-emphasis,
|
|
4194
|
+
"warning": $warning-text-emphasis,
|
|
4195
|
+
"danger": $danger-text-emphasis,
|
|
4196
|
+
"light": $light-text-emphasis,
|
|
4197
|
+
"dark": $dark-text-emphasis,
|
|
4198
|
+
) !default;
|
|
4199
|
+
// scss-docs-end theme-text-map
|
|
4227
4200
|
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4201
|
+
// scss-docs-start theme-bg-subtle-map
|
|
4202
|
+
$theme-colors-bg-subtle: (
|
|
4203
|
+
"primary": $primary-bg-subtle,
|
|
4204
|
+
"secondary": $secondary-bg-subtle,
|
|
4205
|
+
"success": $success-bg-subtle,
|
|
4206
|
+
"info": $info-bg-subtle,
|
|
4207
|
+
"warning": $warning-bg-subtle,
|
|
4208
|
+
"danger": $danger-bg-subtle,
|
|
4209
|
+
"light": $light-bg-subtle,
|
|
4210
|
+
"dark": $dark-bg-subtle,
|
|
4211
|
+
) !default;
|
|
4212
|
+
// scss-docs-end theme-bg-subtle-map
|
|
4232
4213
|
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4214
|
+
// scss-docs-start theme-border-subtle-map
|
|
4215
|
+
$theme-colors-border-subtle: (
|
|
4216
|
+
"primary": $primary-border-subtle,
|
|
4217
|
+
"secondary": $secondary-border-subtle,
|
|
4218
|
+
"success": $success-border-subtle,
|
|
4219
|
+
"info": $info-border-subtle,
|
|
4220
|
+
"warning": $warning-border-subtle,
|
|
4221
|
+
"danger": $danger-border-subtle,
|
|
4222
|
+
"light": $light-border-subtle,
|
|
4223
|
+
"dark": $dark-border-subtle,
|
|
4224
|
+
) !default;
|
|
4225
|
+
// scss-docs-end theme-border-subtle-map
|
|
4238
4226
|
|
|
4239
|
-
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
}
|
|
4227
|
+
$theme-colors-text-dark: null !default;
|
|
4228
|
+
$theme-colors-bg-subtle-dark: null !default;
|
|
4229
|
+
$theme-colors-border-subtle-dark: null !default;
|
|
4243
4230
|
|
|
4244
|
-
@
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4231
|
+
@if $enable-dark-mode {
|
|
4232
|
+
// scss-docs-start theme-text-dark-map
|
|
4233
|
+
$theme-colors-text-dark: (
|
|
4234
|
+
"primary": $primary-text-emphasis-dark,
|
|
4235
|
+
"secondary": $secondary-text-emphasis-dark,
|
|
4236
|
+
"success": $success-text-emphasis-dark,
|
|
4237
|
+
"info": $info-text-emphasis-dark,
|
|
4238
|
+
"warning": $warning-text-emphasis-dark,
|
|
4239
|
+
"danger": $danger-text-emphasis-dark,
|
|
4240
|
+
"light": $light-text-emphasis-dark,
|
|
4241
|
+
"dark": $dark-text-emphasis-dark,
|
|
4242
|
+
) !default;
|
|
4243
|
+
// scss-docs-end theme-text-dark-map
|
|
4248
4244
|
|
|
4249
|
-
//
|
|
4250
|
-
|
|
4251
|
-
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
4255
|
-
|
|
4256
|
-
|
|
4257
|
-
|
|
4258
|
-
|
|
4245
|
+
// scss-docs-start theme-bg-subtle-dark-map
|
|
4246
|
+
$theme-colors-bg-subtle-dark: (
|
|
4247
|
+
"primary": $primary-bg-subtle-dark,
|
|
4248
|
+
"secondary": $secondary-bg-subtle-dark,
|
|
4249
|
+
"success": $success-bg-subtle-dark,
|
|
4250
|
+
"info": $info-bg-subtle-dark,
|
|
4251
|
+
"warning": $warning-bg-subtle-dark,
|
|
4252
|
+
"danger": $danger-bg-subtle-dark,
|
|
4253
|
+
"light": $light-bg-subtle-dark,
|
|
4254
|
+
"dark": $dark-bg-subtle-dark,
|
|
4255
|
+
) !default;
|
|
4256
|
+
// scss-docs-end theme-bg-subtle-dark-map
|
|
4257
|
+
|
|
4258
|
+
// scss-docs-start theme-border-subtle-dark-map
|
|
4259
|
+
$theme-colors-border-subtle-dark: (
|
|
4260
|
+
"primary": $primary-border-subtle-dark,
|
|
4261
|
+
"secondary": $secondary-border-subtle-dark,
|
|
4262
|
+
"success": $success-border-subtle-dark,
|
|
4263
|
+
"info": $info-border-subtle-dark,
|
|
4264
|
+
"warning": $warning-border-subtle-dark,
|
|
4265
|
+
"danger": $danger-border-subtle-dark,
|
|
4266
|
+
"light": $light-border-subtle-dark,
|
|
4267
|
+
"dark": $dark-border-subtle-dark,
|
|
4268
|
+
) !default;
|
|
4269
|
+
// scss-docs-end theme-border-subtle-dark-map
|
|
4259
4270
|
}
|
|
4260
4271
|
|
|
4261
|
-
//
|
|
4272
|
+
// Utilities maps
|
|
4262
4273
|
//
|
|
4263
|
-
//
|
|
4264
|
-
// any value of `$grid-columns`.
|
|
4265
|
-
|
|
4266
|
-
@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
|
|
4267
|
-
@each $breakpoint in map-keys($breakpoints) {
|
|
4268
|
-
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
|
4269
|
-
|
|
4270
|
-
@include media-breakpoint-up($breakpoint, $breakpoints) {
|
|
4271
|
-
// Provide basic `.col-{bp}` classes for equal-width flexbox columns
|
|
4272
|
-
.col#{$infix} {
|
|
4273
|
-
flex: 1 0 0;
|
|
4274
|
-
}
|
|
4275
|
-
|
|
4276
|
-
.row-cols#{$infix}-auto > * {
|
|
4277
|
-
@include make-col-auto();
|
|
4278
|
-
}
|
|
4274
|
+
// Extends the default `$theme-colors` maps to help create our utilities.
|
|
4279
4275
|
|
|
4280
|
-
|
|
4281
|
-
|
|
4282
|
-
|
|
4283
|
-
|
|
4284
|
-
}
|
|
4285
|
-
}
|
|
4286
|
-
}
|
|
4276
|
+
// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
|
|
4277
|
+
// scss-docs-start utilities-colors
|
|
4278
|
+
$utilities-colors: $theme-colors-rgb !default;
|
|
4279
|
+
// scss-docs-end utilities-colors
|
|
4287
4280
|
|
|
4288
|
-
|
|
4289
|
-
|
|
4290
|
-
|
|
4281
|
+
// scss-docs-start utilities-text-colors
|
|
4282
|
+
$utilities-text: map-merge(
|
|
4283
|
+
$utilities-colors,
|
|
4284
|
+
(
|
|
4285
|
+
"black": to-rgb($black),
|
|
4286
|
+
"white": to-rgb($white),
|
|
4287
|
+
"body": to-rgb($body-color)
|
|
4288
|
+
)
|
|
4289
|
+
) !default;
|
|
4290
|
+
$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
|
|
4291
4291
|
|
|
4292
|
-
|
|
4293
|
-
|
|
4294
|
-
|
|
4295
|
-
|
|
4296
|
-
|
|
4297
|
-
|
|
4292
|
+
$utilities-text-emphasis-colors: (
|
|
4293
|
+
"primary-emphasis": var(--#{$prefix}primary-text-emphasis),
|
|
4294
|
+
"secondary-emphasis": var(--#{$prefix}secondary-text-emphasis),
|
|
4295
|
+
"success-emphasis": var(--#{$prefix}success-text-emphasis),
|
|
4296
|
+
"info-emphasis": var(--#{$prefix}info-text-emphasis),
|
|
4297
|
+
"warning-emphasis": var(--#{$prefix}warning-text-emphasis),
|
|
4298
|
+
"danger-emphasis": var(--#{$prefix}danger-text-emphasis),
|
|
4299
|
+
"light-emphasis": var(--#{$prefix}light-text-emphasis),
|
|
4300
|
+
"dark-emphasis": var(--#{$prefix}dark-text-emphasis)
|
|
4301
|
+
) !default;
|
|
4302
|
+
// scss-docs-end utilities-text-colors
|
|
4298
4303
|
|
|
4299
|
-
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
4303
|
-
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4304
|
+
// scss-docs-start utilities-bg-colors
|
|
4305
|
+
$utilities-bg: map-merge(
|
|
4306
|
+
$utilities-colors,
|
|
4307
|
+
(
|
|
4308
|
+
"black": to-rgb($black),
|
|
4309
|
+
"white": to-rgb($white),
|
|
4310
|
+
"body": to-rgb($body-bg)
|
|
4311
|
+
)
|
|
4312
|
+
) !default;
|
|
4313
|
+
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
|
|
4308
4314
|
|
|
4309
|
-
|
|
4310
|
-
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
|
|
4315
|
+
$utilities-bg-subtle: (
|
|
4316
|
+
"primary-subtle": var(--#{$prefix}primary-bg-subtle),
|
|
4317
|
+
"secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
|
|
4318
|
+
"success-subtle": var(--#{$prefix}success-bg-subtle),
|
|
4319
|
+
"info-subtle": var(--#{$prefix}info-bg-subtle),
|
|
4320
|
+
"warning-subtle": var(--#{$prefix}warning-bg-subtle),
|
|
4321
|
+
"danger-subtle": var(--#{$prefix}danger-bg-subtle),
|
|
4322
|
+
"light-subtle": var(--#{$prefix}light-bg-subtle),
|
|
4323
|
+
"dark-subtle": var(--#{$prefix}dark-bg-subtle)
|
|
4324
|
+
) !default;
|
|
4325
|
+
// scss-docs-end utilities-bg-colors
|
|
4317
4326
|
|
|
4318
|
-
|
|
4319
|
-
|
|
4320
|
-
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4325
|
-
|
|
4327
|
+
// scss-docs-start utilities-border-colors
|
|
4328
|
+
$utilities-border: map-merge(
|
|
4329
|
+
$utilities-colors,
|
|
4330
|
+
(
|
|
4331
|
+
"black": to-rgb($black),
|
|
4332
|
+
"white": to-rgb($white)
|
|
4333
|
+
)
|
|
4334
|
+
) !default;
|
|
4335
|
+
$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
|
|
4326
4336
|
|
|
4327
|
-
|
|
4328
|
-
|
|
4329
|
-
|
|
4337
|
+
$utilities-border-subtle: (
|
|
4338
|
+
"primary-subtle": var(--#{$prefix}primary-border-subtle),
|
|
4339
|
+
"secondary-subtle": var(--#{$prefix}secondary-border-subtle),
|
|
4340
|
+
"success-subtle": var(--#{$prefix}success-border-subtle),
|
|
4341
|
+
"info-subtle": var(--#{$prefix}info-border-subtle),
|
|
4342
|
+
"warning-subtle": var(--#{$prefix}warning-border-subtle),
|
|
4343
|
+
"danger-subtle": var(--#{$prefix}danger-border-subtle),
|
|
4344
|
+
"light-subtle": var(--#{$prefix}light-border-subtle),
|
|
4345
|
+
"dark-subtle": var(--#{$prefix}dark-border-subtle)
|
|
4346
|
+
) !default;
|
|
4347
|
+
// scss-docs-end utilities-border-colors
|
|
4330
4348
|
|
|
4331
|
-
|
|
4332
|
-
@if $columns > 0 {
|
|
4333
|
-
@for $i from 1 through $columns {
|
|
4334
|
-
.g-col#{$infix}-#{$i} {
|
|
4335
|
-
grid-column: auto / span $i;
|
|
4336
|
-
}
|
|
4337
|
-
}
|
|
4349
|
+
$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
|
|
4338
4350
|
|
|
4339
|
-
|
|
4340
|
-
// Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
|
|
4341
|
-
@for $i from 1 through ($columns - 1) {
|
|
4342
|
-
.g-start#{$infix}-#{$i} {
|
|
4343
|
-
grid-column-start: $i;
|
|
4344
|
-
}
|
|
4345
|
-
}
|
|
4346
|
-
}
|
|
4347
|
-
}
|
|
4348
|
-
}
|
|
4349
|
-
}
|
|
4351
|
+
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
|
|
4350
4352
|
|
|
4353
|
+
$gutters: $spacers !default;
|
|
4354
|
+
|
|
4351
4355
|
|
|
4352
4356
|
// Utilities
|
|
4353
4357
|
|
|
@@ -11077,7 +11081,12 @@ body {
|
|
|
11077
11081
|
}
|
|
11078
11082
|
|
|
11079
11083
|
.blue-menu-item {
|
|
11080
|
-
transition:
|
|
11084
|
+
transition:
|
|
11085
|
+
width 0.5s,
|
|
11086
|
+
background-color 0.3s,
|
|
11087
|
+
color 0.15s,
|
|
11088
|
+
box-shadow 0.3s,
|
|
11089
|
+
opacity 0.3s !important;
|
|
11081
11090
|
|
|
11082
11091
|
@media (prefers-reduced-motion) {
|
|
11083
11092
|
transition: none !important;
|
|
@@ -11143,65 +11152,6 @@ body {
|
|
|
11143
11152
|
}
|
|
11144
11153
|
}
|
|
11145
11154
|
|
|
11146
|
-
.blue-sidebar .blue-menu-item-dropdown {
|
|
11147
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-1-bg, #{$sidebar-deep-bg});
|
|
11148
|
-
|
|
11149
|
-
&::before {
|
|
11150
|
-
background-color: var(--blue-sidebar-bg);
|
|
11151
|
-
box-shadow: 0 0.5rem 1rem $black;
|
|
11152
|
-
opacity: 0.15;
|
|
11153
|
-
border-color: currentColor;
|
|
11154
|
-
}
|
|
11155
|
-
|
|
11156
|
-
.blue-menu-item-dropdown {
|
|
11157
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-2-bg, #{darken($sidebar-deep-bg, 4%)});
|
|
11158
|
-
|
|
11159
|
-
.blue-menu-item-dropdown {
|
|
11160
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-3-bg, #{darken($sidebar-deep-bg, 8%)});
|
|
11161
|
-
|
|
11162
|
-
.blue-menu-item-dropdown {
|
|
11163
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-4-bg, #{darken($sidebar-deep-bg, 12%)});
|
|
11164
|
-
|
|
11165
|
-
.blue-menu-item-dropdown {
|
|
11166
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-5-bg, #{darken($sidebar-deep-bg, 16%)});
|
|
11167
|
-
|
|
11168
|
-
.blue-menu-item-dropdown {
|
|
11169
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-6-bg, #{darken($sidebar-deep-bg, 20%)});
|
|
11170
|
-
}
|
|
11171
|
-
}
|
|
11172
|
-
}
|
|
11173
|
-
}
|
|
11174
|
-
}
|
|
11175
|
-
}
|
|
11176
|
-
|
|
11177
|
-
.blue-header .blue-menu-item-dropdown {
|
|
11178
|
-
--blue-sidebar-bg: #{$header-deep-bg};
|
|
11179
|
-
|
|
11180
|
-
&::before {
|
|
11181
|
-
background-color: var(--blue-header-bg);
|
|
11182
|
-
}
|
|
11183
|
-
|
|
11184
|
-
.blue-menu-item-dropdown {
|
|
11185
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 4%)};
|
|
11186
|
-
|
|
11187
|
-
.blue-menu-item-dropdown {
|
|
11188
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 8%)};
|
|
11189
|
-
|
|
11190
|
-
.blue-menu-item-dropdown {
|
|
11191
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 12%)};
|
|
11192
|
-
|
|
11193
|
-
.blue-menu-item-dropdown {
|
|
11194
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 16%)};
|
|
11195
|
-
|
|
11196
|
-
.blue-menu-item-dropdown {
|
|
11197
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 20%)};
|
|
11198
|
-
}
|
|
11199
|
-
}
|
|
11200
|
-
}
|
|
11201
|
-
}
|
|
11202
|
-
}
|
|
11203
|
-
}
|
|
11204
|
-
|
|
11205
11155
|
.blue-menu-item-dropdown-caret.blue-caret {
|
|
11206
11156
|
display: none;
|
|
11207
11157
|
position: absolute;
|
|
@@ -11699,13 +11649,6 @@ body {
|
|
|
11699
11649
|
}
|
|
11700
11650
|
}
|
|
11701
11651
|
|
|
11702
|
-
.blue-btn-silent {
|
|
11703
|
-
&:not(:hover):not(:focus):not(:active) {
|
|
11704
|
-
border-color: transparent;
|
|
11705
|
-
color: inherit;
|
|
11706
|
-
}
|
|
11707
|
-
}
|
|
11708
|
-
|
|
11709
11652
|
@media (hover: hover) {
|
|
11710
11653
|
.blue-d-hover {
|
|
11711
11654
|
&:not(:hover):not(:focus):not(:active):not(.active):not(:focus-within) {
|
|
@@ -12034,13 +11977,20 @@ input.blue-tab:checked + .blue-tab-content {
|
|
|
12034
11977
|
}
|
|
12035
11978
|
|
|
12036
11979
|
dialog.blue-modal {
|
|
11980
|
+
--ani-scale-from: 95%;
|
|
11981
|
+
--ani-scale-to: 100%;
|
|
11982
|
+
--ani-translate-from: 0 0;
|
|
11983
|
+
--ani-translate-to: 0 0;
|
|
11984
|
+
|
|
12037
11985
|
border: none;
|
|
12038
11986
|
background: none;
|
|
12039
11987
|
padding: 0;
|
|
12040
11988
|
margin: 0;
|
|
12041
11989
|
max-width: none;
|
|
12042
11990
|
max-height: none;
|
|
12043
|
-
transition:
|
|
11991
|
+
transition:
|
|
11992
|
+
display 0.2s allow-discrete,
|
|
11993
|
+
overlay 0.2s allow-discrete;
|
|
12044
11994
|
animation: blue-modal-close 0.2s forwards;
|
|
12045
11995
|
|
|
12046
11996
|
.offcanvas-backdrop {
|
|
@@ -12120,8 +12070,9 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12120
12070
|
|
|
12121
12071
|
.blue-layout {
|
|
12122
12072
|
--spacing: 0.25rem;
|
|
12123
|
-
--drawer-side-shadow:
|
|
12124
|
-
rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0
|
|
12073
|
+
--drawer-side-shadow:
|
|
12074
|
+
rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0) 0px 0px 0px 0px,
|
|
12075
|
+
rgba(0, 0, 0, 0) 0px 0px 0px 0px, rgba(0, 0, 0, 0.25) 0px 25px 50px -12px;
|
|
12125
12076
|
--toggler-size: calc(
|
|
12126
12077
|
var(--bs-btn-border-width, 1px) + var(--bs-btn-padding-y, 0.375rem) +
|
|
12127
12078
|
(var(--bs-btn-font-size, 1rem) * var(--bs-btn-line-height, 1.5)) + var(--bs-btn-padding-y, 0.375rem) +
|
|
@@ -12134,7 +12085,7 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12134
12085
|
--side-width: var(--blue-sidebar-width);
|
|
12135
12086
|
--toggler-size: var(--blue-menu-item-height);
|
|
12136
12087
|
|
|
12137
|
-
|
|
12088
|
+
height: 100dvh;
|
|
12138
12089
|
position: relative;
|
|
12139
12090
|
display: grid;
|
|
12140
12091
|
grid-template-columns: 0 var(--toggler-size) calc(var(--side-width) - var(--toggler-size)) auto;
|
|
@@ -12234,3 +12185,82 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12234
12185
|
}
|
|
12235
12186
|
}
|
|
12236
12187
|
|
|
12188
|
+
// Collapse with details and animated
|
|
12189
|
+
// Right now not part of Blue Web, but could become one
|
|
12190
|
+
|
|
12191
|
+
.blue-collapse {
|
|
12192
|
+
interpolate-size: allow-keywords;
|
|
12193
|
+
|
|
12194
|
+
summary {
|
|
12195
|
+
list-style: none;
|
|
12196
|
+
}
|
|
12197
|
+
|
|
12198
|
+
summary::-webkit-details-marker {
|
|
12199
|
+
display: none;
|
|
12200
|
+
}
|
|
12201
|
+
|
|
12202
|
+
.blue-collapse-chevron {
|
|
12203
|
+
transition: transform 0.2s;
|
|
12204
|
+
}
|
|
12205
|
+
|
|
12206
|
+
&[open] > summary > .blue-collapse-header > .blue-collapse-chevron,
|
|
12207
|
+
&[open] > summary > .blue-collapse-chevron {
|
|
12208
|
+
--blue-collapse-chevron-rotate: 90deg;
|
|
12209
|
+
|
|
12210
|
+
// If chevron is on the end, rotate has to be -90deg
|
|
12211
|
+
&:is(:last-child) {
|
|
12212
|
+
--blue-collapse-chevron-rotate: -90deg;
|
|
12213
|
+
}
|
|
12214
|
+
|
|
12215
|
+
&:is(:first-child) {
|
|
12216
|
+
--blue-collapse-chevron-rotate: 90deg;
|
|
12217
|
+
}
|
|
12218
|
+
|
|
12219
|
+
transform: rotate(var(--blue-collapse-chevron-rotate));
|
|
12220
|
+
}
|
|
12221
|
+
|
|
12222
|
+
&::details-content {
|
|
12223
|
+
block-size: 0;
|
|
12224
|
+
transition:
|
|
12225
|
+
block-size 0.2s,
|
|
12226
|
+
content-visibility 0.2s;
|
|
12227
|
+
transition-behavior: allow-discrete;
|
|
12228
|
+
}
|
|
12229
|
+
|
|
12230
|
+
&[open]::details-content {
|
|
12231
|
+
block-size: auto;
|
|
12232
|
+
}
|
|
12233
|
+
}
|
|
12234
|
+
|
|
12235
|
+
@media (prefers-reduced-motion) {
|
|
12236
|
+
.blue-collapse .blue-collapse-chevron,
|
|
12237
|
+
.blue-collapse::details-content {
|
|
12238
|
+
transition: none;
|
|
12239
|
+
}
|
|
12240
|
+
}
|
|
12241
|
+
|
|
12242
|
+
|
|
12243
|
+
:root {
|
|
12244
|
+
--bs-font-sans-serif: Inter, #{$font-family-sans-serif};
|
|
12245
|
+
font-feature-settings:
|
|
12246
|
+
"liga" 1,
|
|
12247
|
+
"calt" 1,
|
|
12248
|
+
"cv05" 1,
|
|
12249
|
+
"cv07" 1,
|
|
12250
|
+
"tnum" 1,
|
|
12251
|
+
"zero" 1;
|
|
12252
|
+
}
|
|
12253
|
+
@supports (font-variation-settings: normal) {
|
|
12254
|
+
:root {
|
|
12255
|
+
--bs-font-sans-serif: InterVariable, #{$font-family-sans-serif};
|
|
12256
|
+
}
|
|
12257
|
+
}
|
|
12258
|
+
|
|
12259
|
+
input,
|
|
12260
|
+
button,
|
|
12261
|
+
select,
|
|
12262
|
+
optgroup,
|
|
12263
|
+
textarea {
|
|
12264
|
+
font-feature-settings: inherit;
|
|
12265
|
+
}
|
|
12266
|
+
|