blue-web 1.12.0 → 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 +964 -1037
- package/dist/style.css +42 -391
- package/dist/style.css.map +1 -1
- package/dist/style.min.css +4 -4
- package/dist/style.scss +2 -1
- package/dist/styles/_bootstrap-variables.scss +1 -2
- package/dist/styles/_collapse.scss +0 -4
- package/dist/styles/_hover.scss +0 -7
- package/dist/styles/_menu-item.scss +6 -60
- package/dist/styles/_variables.scss +26 -34
- package/package.json +2 -1
package/dist/merged.scss
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
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
6
|
// Main color theme. E.g. used for background for body and sidebar.
|
|
7
7
|
$theme: hsl(217deg 10% 94%) !default;
|
|
8
|
+
$theme-dark: hsl(217deg 10% 8%) !default;
|
|
8
9
|
$primary: hsl(217deg 91% 50%) !default;
|
|
9
10
|
$white: #fff !default;
|
|
10
11
|
$gray-100: hsl(217deg 17% 98%) !default;
|
|
@@ -17,8 +18,6 @@ $gray-700: hsl(217deg 9% 31%) !default;
|
|
|
17
18
|
$gray-800: hsl(217deg 10% 23%) !default;
|
|
18
19
|
$gray-900: hsl(217deg 11% 15%) !default;
|
|
19
20
|
$black: #000 !default;
|
|
20
|
-
$header-color: $gray-900 !default;
|
|
21
|
-
$sidebar-color: $gray-900 !default;
|
|
22
21
|
|
|
23
22
|
$light: #ecedf0 !default;
|
|
24
23
|
|
|
@@ -2208,729 +2207,6 @@ $carousel-control-icon-filter-dark: $carousel-dark-control-icon-filter !defaul
|
|
|
2208
2207
|
$btn-close-filter-dark: $btn-close-white-filter !default;
|
|
2209
2208
|
// TODO: can be removed safely in v6, only here to avoid breaking changes in v5.3
|
|
2210
2209
|
|
|
2211
|
-
$theme-colors: () !default;
|
|
2212
|
-
// stylelint-disable-next-line scss/dollar-variable-default
|
|
2213
|
-
$theme-colors: map-merge(
|
|
2214
|
-
(
|
|
2215
|
-
"theme": $theme,
|
|
2216
|
-
"white": white,
|
|
2217
|
-
"black": #212529
|
|
2218
|
-
),
|
|
2219
|
-
$theme-colors
|
|
2220
|
-
);
|
|
2221
|
-
|
|
2222
|
-
// For Bootstrap 5.1 this needs to be set. Otherwise we couldn't use .bg-* and .text-* utils with our custom $theme
|
|
2223
|
-
// Since Bootstrap 5.2 it's no longer required, so it's commented out. If everything works fine, this can be removed for
|
|
2224
|
-
// future releases.
|
|
2225
|
-
// $theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value");
|
|
2226
|
-
// $utilities-colors: map-merge($utilities-colors, $theme-colors-rgb);
|
|
2227
|
-
// $utilities-text-colors: map-merge($utilities-text-colors, map-loop($utilities-colors, rgba-css-var, "$key", "text"));
|
|
2228
|
-
// $utilities-bg-colors: map-merge($utilities-bg-colors, map-loop($utilities-colors, rgba-css-var, "$key", "bg"));
|
|
2229
|
-
|
|
2230
|
-
// Alpha value (RGBA) e.g. for header background.
|
|
2231
|
-
$shimmering: 0.8 !default;
|
|
2232
|
-
|
|
2233
|
-
// Thumb color of scrollbar.
|
|
2234
|
-
$scrollbar-thumb-color: white !default;
|
|
2235
|
-
|
|
2236
|
-
// Thumb color of scrollbar as RGB (like `255, 255, 255`).
|
|
2237
|
-
$scrollbar-thumb-color-rgb:
|
|
2238
|
-
red($scrollbar-thumb-color), green($scrollbar-thumb-color), blue($scrollbar-thumb-color) !default;
|
|
2239
|
-
|
|
2240
|
-
// Default size for many components, like sidebar menu items.
|
|
2241
|
-
$normal-size: calc(
|
|
2242
|
-
var(--bs-btn-border-width, 1px) + var(--bs-btn-padding-y, 0.375rem) +
|
|
2243
|
-
(var(--bs-btn-font-size, 1rem) * var(--bs-btn-line-height, 1.5)) + var(--bs-btn-padding-y, 0.375rem) +
|
|
2244
|
-
var(--bs-btn-border-width, 1px)
|
|
2245
|
-
) !default;
|
|
2246
|
-
|
|
2247
|
-
// Height of actions menu when it is expanded, like on mobile devices.
|
|
2248
|
-
$actions-height: 7.5rem !default;
|
|
2249
|
-
|
|
2250
|
-
// Background color of menu toggle button.
|
|
2251
|
-
$bla-button-bg-normal: rgba(0, 0, 0, 0.1) !default;
|
|
2252
|
-
|
|
2253
|
-
// Background color of menu toggle button on hover state.
|
|
2254
|
-
$bla-button-bg-hover: rgba(white, 0.25) !default;
|
|
2255
|
-
|
|
2256
|
-
// Font size for sidebar menu items.
|
|
2257
|
-
$bla-btn-font-size: 1em !default;
|
|
2258
|
-
|
|
2259
|
-
// Padding for action menu items.
|
|
2260
|
-
$bla-header-nav-padding: 0.75rem !default;
|
|
2261
|
-
|
|
2262
|
-
// Width of the sidebar.
|
|
2263
|
-
$bla-sidebar-width: 16.563rem !default;
|
|
2264
|
-
|
|
2265
|
-
// Background of sidebar.
|
|
2266
|
-
$sidebar-bg: $theme !default;
|
|
2267
|
-
|
|
2268
|
-
// Background of sidebar when it's opened (on mobile devices).
|
|
2269
|
-
$sidebar-open-bg: darken($sidebar-bg, 30%) !default;
|
|
2270
|
-
|
|
2271
|
-
// Background of sidebar menu dropdown menus
|
|
2272
|
-
$sidebar-deep-bg: darken($sidebar-bg, 4%) !default;
|
|
2273
|
-
|
|
2274
|
-
// Text color of sidebar.
|
|
2275
|
-
$sidebar-color: #fff !default;
|
|
2276
|
-
|
|
2277
|
-
// Color of indicator for active sidebar item.
|
|
2278
|
-
$sidebar-indicator-color: $sidebar-color !default;
|
|
2279
|
-
|
|
2280
|
-
// Background of search control in sidebar.
|
|
2281
|
-
$sidebar-search-bg: $input-bg !default;
|
|
2282
|
-
|
|
2283
|
-
// Background of the body element
|
|
2284
|
-
$app-bg: $sidebar-bg !default;
|
|
2285
|
-
|
|
2286
|
-
// Text color of header elements
|
|
2287
|
-
$header-color: #fff !default;
|
|
2288
|
-
|
|
2289
|
-
// Background color of Header
|
|
2290
|
-
$header-bg: $theme !default;
|
|
2291
|
-
|
|
2292
|
-
// Background color of Header as RGB (like `255, 255, 255`).
|
|
2293
|
-
$header-bg-rgb: red($header-bg), green($header-bg), blue($header-bg) !default;
|
|
2294
|
-
|
|
2295
|
-
// Background of header action menu dropdown menus
|
|
2296
|
-
$header-deep-bg: darken($header-bg, 4%) !default;
|
|
2297
|
-
|
|
2298
|
-
// Background color, when hovering action menu item.
|
|
2299
|
-
$actions-control-bg-hover: $bla-button-bg-hover !default;
|
|
2300
|
-
|
|
2301
|
-
// Width and height of the scrollbar indicators
|
|
2302
|
-
$scrollbar-size: 10px;
|
|
2303
|
-
|
|
2304
|
-
// Shrink sidebar on smaller screens
|
|
2305
|
-
$sidebar-shrink: true !default;
|
|
2306
|
-
|
|
2307
|
-
// Breakpoint for sidebar shrink
|
|
2308
|
-
$sidebar-shrink-breakpoint: 600px !default;
|
|
2309
|
-
|
|
2310
|
-
// Breakpoint for sidebar fully expanded
|
|
2311
|
-
$sidebar-expanded-breakpoint: 1400px !default;
|
|
2312
|
-
|
|
2313
|
-
:root {
|
|
2314
|
-
--blue-scrollbar-thumb-color-rgb: #{$scrollbar-thumb-color-rgb};
|
|
2315
|
-
--blue-scrollbar-size: #{$scrollbar-size};
|
|
2316
|
-
|
|
2317
|
-
--blue-sidebar-width: #{$bla-sidebar-width};
|
|
2318
|
-
--blue-sidebar-color: #{$sidebar-color};
|
|
2319
|
-
--blue-theme: var(--theme, #{$theme});
|
|
2320
|
-
--blue-shimmering: 0.9;
|
|
2321
|
-
|
|
2322
|
-
--blue-app-bg: #{$app-bg};
|
|
2323
|
-
|
|
2324
|
-
--blue-sidebar-bg: #{$sidebar-bg};
|
|
2325
|
-
--blue-sidebar-depth-1-bg: #{darken($sidebar-bg, 4%)};
|
|
2326
|
-
--blue-sidebar-depth-2-bg: #{darken(darken($sidebar-bg, 4%), 4%)};
|
|
2327
|
-
--blue-sidebar-depth-3-bg: #{darken(darken($sidebar-bg, 4%), 8%)};
|
|
2328
|
-
--blue-sidebar-depth-4-bg: #{darken(darken($sidebar-bg, 4%), 12%)};
|
|
2329
|
-
--blue-sidebar-depth-5-bg: #{darken(darken($sidebar-bg, 4%), 16%)};
|
|
2330
|
-
--blue-sidebar-depth-6-bg: #{darken(darken($sidebar-bg, 4%), 20%)};
|
|
2331
|
-
|
|
2332
|
-
--blue-header-bg: #{$header-bg};
|
|
2333
|
-
--blue-header-bg-rgb: #{$header-bg-rgb};
|
|
2334
|
-
--blue-header-depth-1-bg: #{darken($header-bg, 4%)};
|
|
2335
|
-
--blue-header-depth-2-bg: #{darken(darken($header-bg, 4%), 4%)};
|
|
2336
|
-
--blue-header-depth-3-bg: #{darken(darken($header-bg, 4%), 8%)};
|
|
2337
|
-
--blue-header-depth-4-bg: #{darken(darken($header-bg, 4%), 12%)};
|
|
2338
|
-
--blue-header-depth-5-bg: #{darken(darken($header-bg, 4%), 16%)};
|
|
2339
|
-
--blue-header-depth-6-bg: #{darken(darken($header-bg, 4%), 20%)};
|
|
2340
|
-
|
|
2341
|
-
--blue-header-color: #{$header-color};
|
|
2342
|
-
--blue-action-link-bg-color: var(--blue-theme);
|
|
2343
|
-
--blue-menu-item-indicator-bg: #{$sidebar-indicator-color};
|
|
2344
|
-
--blue-menu-item-height: #{$normal-size};
|
|
2345
|
-
}
|
|
2346
|
-
|
|
2347
|
-
|
|
2348
|
-
@mixin slide-transition() {
|
|
2349
|
-
$slide-transition: width 0.5s;
|
|
2350
|
-
transition: $slide-transition;
|
|
2351
|
-
|
|
2352
|
-
@media (prefers-reduced-motion) {
|
|
2353
|
-
transition: none;
|
|
2354
|
-
}
|
|
2355
|
-
|
|
2356
|
-
@media (prefers-reduced-motion) {
|
|
2357
|
-
transition: none;
|
|
2358
|
-
}
|
|
2359
|
-
}
|
|
2360
|
-
|
|
2361
|
-
@mixin header-bg() {
|
|
2362
|
-
background-image: linear-gradient(
|
|
2363
|
-
var(--blue-header-bg, $header-bg),
|
|
2364
|
-
rgba(var(--blue-header-bg-rgb, var(--bs-theme-rgb)), var(--blue-shimmering, $shimmering))
|
|
2365
|
-
);
|
|
2366
|
-
backdrop-filter: blur(3px) saturate(125%);
|
|
2367
|
-
}
|
|
2368
|
-
|
|
2369
|
-
@mixin blue-menu-item-indicator() {
|
|
2370
|
-
content: "";
|
|
2371
|
-
position: absolute;
|
|
2372
|
-
top: 0.625rem;
|
|
2373
|
-
bottom: 0.625rem;
|
|
2374
|
-
left: 0.125rem;
|
|
2375
|
-
right: initial;
|
|
2376
|
-
width: 0.25rem;
|
|
2377
|
-
height: auto;
|
|
2378
|
-
background-color: var(--blue-menu-item-indicator-bg);
|
|
2379
|
-
border-radius: 1rem;
|
|
2380
|
-
animation: blue-menu-item-indicator-in-from-side 0.2s ease-in-out;
|
|
2381
|
-
|
|
2382
|
-
@media (prefers-reduced-motion) {
|
|
2383
|
-
animation-duration: 0s;
|
|
2384
|
-
}
|
|
2385
|
-
}
|
|
2386
|
-
|
|
2387
|
-
@mixin blue-menu-item-indicator-horizontal() {
|
|
2388
|
-
top: initial;
|
|
2389
|
-
bottom: 0.125rem;
|
|
2390
|
-
left: 0.625rem;
|
|
2391
|
-
right: 0.625rem;
|
|
2392
|
-
width: auto;
|
|
2393
|
-
height: 0.25rem;
|
|
2394
|
-
animation: blue-menu-item-indicator-in-from-below 0.2s ease-in-out;
|
|
2395
|
-
|
|
2396
|
-
@media (prefers-reduced-motion) {
|
|
2397
|
-
animation-duration: 0s;
|
|
2398
|
-
}
|
|
2399
|
-
}
|
|
2400
|
-
|
|
2401
|
-
@mixin blue-menu-item-dropdown-for-shrunk-sidebar() {
|
|
2402
|
-
& > .blue-menu-item-wrapper {
|
|
2403
|
-
display: block;
|
|
2404
|
-
position: relative;
|
|
2405
|
-
|
|
2406
|
-
&:not(:has(.blue-menu-item-dropdown)) > .blue-menu-item:hover {
|
|
2407
|
-
.blue-menu-item-label {
|
|
2408
|
-
&::before,
|
|
2409
|
-
& {
|
|
2410
|
-
animation: tips-horz 150ms cubic-bezier(0.5, 0, 0.6, 1.3) 1ms forwards;
|
|
2411
|
-
|
|
2412
|
-
@media (prefers-reduced-motion) {
|
|
2413
|
-
animation-duration: 0s;
|
|
2414
|
-
}
|
|
2415
|
-
}
|
|
2416
|
-
|
|
2417
|
-
&::before {
|
|
2418
|
-
content: "";
|
|
2419
|
-
display: block;
|
|
2420
|
-
position: absolute;
|
|
2421
|
-
border: 5px solid transparent;
|
|
2422
|
-
z-index: 1001;
|
|
2423
|
-
|
|
2424
|
-
top: 50%;
|
|
2425
|
-
border-left-width: 0;
|
|
2426
|
-
border-right-color: var(--bs-tooltip-bg, #353539);
|
|
2427
|
-
left: calc(0em - 5px);
|
|
2428
|
-
transform: translate(0.5em, -50%);
|
|
2429
|
-
opacity: 0;
|
|
2430
|
-
}
|
|
2431
|
-
|
|
2432
|
-
display: block;
|
|
2433
|
-
text-transform: none;
|
|
2434
|
-
line-height: 1;
|
|
2435
|
-
font-size: 0.9em;
|
|
2436
|
-
-webkit-user-select: none;
|
|
2437
|
-
user-select: none;
|
|
2438
|
-
pointer-events: none;
|
|
2439
|
-
position: absolute;
|
|
2440
|
-
font-family: var(--bs-font-sans-serif);
|
|
2441
|
-
text-align: center;
|
|
2442
|
-
min-width: 3em;
|
|
2443
|
-
max-width: var(--bs-tooltip-max-width, 21em);
|
|
2444
|
-
padding: var(--bs-tooltip-padding-y, 1ch) var(--bs-tooltip-padding-x, 1.5ch);
|
|
2445
|
-
border-radius: var(--bs-tooltip-border-radius, 0.3em);
|
|
2446
|
-
box-shadow: 0 1em 2em -0.5em rgba(0, 0, 0, 0.35);
|
|
2447
|
-
background: var(--bs-tooltip-bg, #353539);
|
|
2448
|
-
color: var(--bs-tooltip-color, #fff);
|
|
2449
|
-
z-index: 1000;
|
|
2450
|
-
width: auto;
|
|
2451
|
-
top: 50%;
|
|
2452
|
-
left: calc(100% + 5px);
|
|
2453
|
-
transform: translate(-0.5em, -50%);
|
|
2454
|
-
overflow: visible;
|
|
2455
|
-
opacity: 0;
|
|
2456
|
-
}
|
|
2457
|
-
}
|
|
2458
|
-
|
|
2459
|
-
& > .blue-menu-item-dropdown,
|
|
2460
|
-
& > .blue-outside > .blue-menu-item-dropdown {
|
|
2461
|
-
@extend .ms-1;
|
|
2462
|
-
@extend .rounded;
|
|
2463
|
-
@extend .shadow;
|
|
2464
|
-
@extend .blue-menu-item-dropdown-from-start;
|
|
2465
|
-
@extend .blue-sidebar-state;
|
|
2466
|
-
@extend .open;
|
|
2467
|
-
|
|
2468
|
-
position: absolute;
|
|
2469
|
-
top: 0;
|
|
2470
|
-
width: $bla-sidebar-width;
|
|
2471
|
-
left: $normal-size;
|
|
2472
|
-
max-height: calc(100vh - (var(--offset-top, 0px) + 1rem));
|
|
2473
|
-
overflow-y: auto;
|
|
2474
|
-
overflow-x: hidden;
|
|
2475
|
-
background-color: var(--blue-sidebar-bg);
|
|
2476
|
-
|
|
2477
|
-
&::before {
|
|
2478
|
-
content: none;
|
|
2479
|
-
}
|
|
2480
|
-
}
|
|
2481
|
-
|
|
2482
|
-
&:has(.blue-menu-item-dropdown) {
|
|
2483
|
-
& > .blue-menu-item {
|
|
2484
|
-
@extend .highlighted;
|
|
2485
|
-
}
|
|
2486
|
-
}
|
|
2487
|
-
}
|
|
2488
|
-
}
|
|
2489
|
-
|
|
2490
|
-
@mixin show-action-menu-again() {
|
|
2491
|
-
max-height: initial;
|
|
2492
|
-
overflow: initial;
|
|
2493
|
-
|
|
2494
|
-
.blue-actions-menu {
|
|
2495
|
-
max-width: initial;
|
|
2496
|
-
}
|
|
2497
|
-
}
|
|
2498
|
-
|
|
2499
|
-
@mixin actions($breakpoint) {
|
|
2500
|
-
@media (max-width: #{$breakpoint + 1px}) {
|
|
2501
|
-
&.open {
|
|
2502
|
-
display: block;
|
|
2503
|
-
width: auto;
|
|
2504
|
-
position: absolute;
|
|
2505
|
-
z-index: 1;
|
|
2506
|
-
left: unset;
|
|
2507
|
-
top: 0.25rem;
|
|
2508
|
-
box-shadow: 0.6rem 6rem 6rem rgba(0, 0, 0, 0.3);
|
|
2509
|
-
animation: fadeInDown 0.5s;
|
|
2510
|
-
|
|
2511
|
-
@media (prefers-reduced-motion) {
|
|
2512
|
-
animation-duration: 0s;
|
|
2513
|
-
}
|
|
2514
|
-
|
|
2515
|
-
border-radius: $border-radius;
|
|
2516
|
-
|
|
2517
|
-
@include show-action-menu-again();
|
|
2518
|
-
|
|
2519
|
-
.blue-actions-menu-item:not(.blue-actions-menu-toggle) {
|
|
2520
|
-
display: flex;
|
|
2521
|
-
}
|
|
2522
|
-
|
|
2523
|
-
.blue-actions-menu {
|
|
2524
|
-
flex-direction: column;
|
|
2525
|
-
.blue-menu-item-dropdown {
|
|
2526
|
-
--blue-sidebar-bg: #{darken($theme, 34%)};
|
|
2527
|
-
}
|
|
2528
|
-
}
|
|
2529
|
-
}
|
|
2530
|
-
|
|
2531
|
-
.blue-actions-menu-item:not(.blue-actions-menu-toggle) {
|
|
2532
|
-
display: none;
|
|
2533
|
-
}
|
|
2534
|
-
}
|
|
2535
|
-
|
|
2536
|
-
@media (min-width: $breakpoint) {
|
|
2537
|
-
@include show-action-menu-again();
|
|
2538
|
-
|
|
2539
|
-
.blue-actions-menu .blue-actions-label {
|
|
2540
|
-
display: inline;
|
|
2541
|
-
}
|
|
2542
|
-
|
|
2543
|
-
.blue-actions-menu-toggle {
|
|
2544
|
-
display: none;
|
|
2545
|
-
}
|
|
2546
|
-
|
|
2547
|
-
.blue-actions-menu > .blue-menu-item-wrapper > .blue-menu-item-dropdown,
|
|
2548
|
-
.blue-actions-menu > .blue-menu-item-wrapper > * > .blue-menu-item-dropdown {
|
|
2549
|
-
position: absolute;
|
|
2550
|
-
right: 0;
|
|
2551
|
-
}
|
|
2552
|
-
}
|
|
2553
|
-
}
|
|
2554
|
-
|
|
2555
|
-
@mixin switch($width: 35px, $height: 20px, $padding: 3px, $color: $body-color, $color-active: $success) {
|
|
2556
|
-
$slider-size: $height - ($padding * 2);
|
|
2557
|
-
|
|
2558
|
-
& {
|
|
2559
|
-
position: relative;
|
|
2560
|
-
display: inline-block;
|
|
2561
|
-
width: $width;
|
|
2562
|
-
height: $height;
|
|
2563
|
-
|
|
2564
|
-
input {
|
|
2565
|
-
display: none;
|
|
2566
|
-
}
|
|
2567
|
-
|
|
2568
|
-
&.disabled {
|
|
2569
|
-
opacity: 0.8;
|
|
2570
|
-
}
|
|
2571
|
-
|
|
2572
|
-
&:not(.disabled) {
|
|
2573
|
-
.slider {
|
|
2574
|
-
cursor: pointer;
|
|
2575
|
-
}
|
|
2576
|
-
}
|
|
2577
|
-
|
|
2578
|
-
.slider {
|
|
2579
|
-
position: absolute;
|
|
2580
|
-
top: 0;
|
|
2581
|
-
left: 0;
|
|
2582
|
-
right: 0;
|
|
2583
|
-
bottom: 0;
|
|
2584
|
-
background-color: $input-group-addon-bg;
|
|
2585
|
-
transition: 0.4s;
|
|
2586
|
-
|
|
2587
|
-
@media (prefers-reduced-motion) {
|
|
2588
|
-
transition: none;
|
|
2589
|
-
}
|
|
2590
|
-
|
|
2591
|
-
box-shadow: inset 0 0 0 1px rgba($color, 0.5);
|
|
2592
|
-
|
|
2593
|
-
&::before {
|
|
2594
|
-
content: "";
|
|
2595
|
-
position: absolute;
|
|
2596
|
-
height: $slider-size;
|
|
2597
|
-
width: $slider-size;
|
|
2598
|
-
left: $padding;
|
|
2599
|
-
bottom: $padding;
|
|
2600
|
-
background-color: $color;
|
|
2601
|
-
transition: 0.4s;
|
|
2602
|
-
|
|
2603
|
-
@media (prefers-reduced-motion) {
|
|
2604
|
-
transition: none;
|
|
2605
|
-
}
|
|
2606
|
-
}
|
|
2607
|
-
|
|
2608
|
-
&::after {
|
|
2609
|
-
content: attr(data-label);
|
|
2610
|
-
position: absolute;
|
|
2611
|
-
top: 50%;
|
|
2612
|
-
left: 50%;
|
|
2613
|
-
transform: translate(-50%, -50%);
|
|
2614
|
-
margin-left: ($slider-size * 0.5);
|
|
2615
|
-
transition: margin-left 0.4s;
|
|
2616
|
-
|
|
2617
|
-
@media (prefers-reduced-motion) {
|
|
2618
|
-
transition: none;
|
|
2619
|
-
}
|
|
2620
|
-
|
|
2621
|
-
color: $color;
|
|
2622
|
-
}
|
|
2623
|
-
}
|
|
2624
|
-
|
|
2625
|
-
input:checked {
|
|
2626
|
-
& + .slider {
|
|
2627
|
-
background-color: $color-active;
|
|
2628
|
-
box-shadow: inset 0 0 12px rgba(255, 255, 255, 0.3);
|
|
2629
|
-
|
|
2630
|
-
&::before {
|
|
2631
|
-
transform: translateX($width - $slider-size - ($padding * 2));
|
|
2632
|
-
background-color: white;
|
|
2633
|
-
}
|
|
2634
|
-
|
|
2635
|
-
&::after {
|
|
2636
|
-
color: white;
|
|
2637
|
-
margin-left: ($slider-size * 0.5) * -1;
|
|
2638
|
-
}
|
|
2639
|
-
}
|
|
2640
|
-
}
|
|
2641
|
-
input:focus + .slider {
|
|
2642
|
-
box-shadow: 0 0 1px $color-active;
|
|
2643
|
-
}
|
|
2644
|
-
}
|
|
2645
|
-
}
|
|
2646
|
-
|
|
2647
|
-
@mixin customProperty($name, $value) {
|
|
2648
|
-
// fallback for older browser who do not support custom properties / css variables
|
|
2649
|
-
#{$name}: #{$value};
|
|
2650
|
-
|
|
2651
|
-
// create a css variable (this might override the variable on any of the ancestor elements)
|
|
2652
|
-
--#{$name}: #{$value};
|
|
2653
|
-
|
|
2654
|
-
// use the css variable on the property
|
|
2655
|
-
#{$name}: var(--#{$name}, #{$value});
|
|
2656
|
-
}
|
|
2657
|
-
|
|
2658
|
-
@mixin scroll-shadow($bg, $light-base: white) {
|
|
2659
|
-
background: linear-gradient($bg 30%, rgba($light-base, 0)),
|
|
2660
|
-
linear-gradient(rgba($light-base, 0) 10px, $bg 70%) bottom,
|
|
2661
|
-
radial-gradient(at top, rgba(0, 0, 0, 0.2), transparent 70%),
|
|
2662
|
-
radial-gradient(at bottom, rgba(0, 0, 0, 0.2), transparent 70%) bottom;
|
|
2663
|
-
background-repeat: no-repeat;
|
|
2664
|
-
background-size: 100% 40px, 100% 40px, 100% 14px, 100% 14px;
|
|
2665
|
-
background-attachment: local, local, scroll, scroll;
|
|
2666
|
-
}
|
|
2667
|
-
|
|
2668
|
-
|
|
2669
|
-
@keyframes fade-in {
|
|
2670
|
-
from {
|
|
2671
|
-
opacity: 0;
|
|
2672
|
-
}
|
|
2673
|
-
to {
|
|
2674
|
-
opacity: 1;
|
|
2675
|
-
}
|
|
2676
|
-
}
|
|
2677
|
-
|
|
2678
|
-
@keyframes blAppearUp {
|
|
2679
|
-
from {
|
|
2680
|
-
margin-top: 2.5rem;
|
|
2681
|
-
}
|
|
2682
|
-
to {
|
|
2683
|
-
margin-top: 0;
|
|
2684
|
-
}
|
|
2685
|
-
}
|
|
2686
|
-
|
|
2687
|
-
@keyframes blue-menu-item-dropdown {
|
|
2688
|
-
from {
|
|
2689
|
-
transform: translateY(-50%);
|
|
2690
|
-
opacity: 0;
|
|
2691
|
-
}
|
|
2692
|
-
}
|
|
2693
|
-
|
|
2694
|
-
@keyframes enabledBlueAppPage {
|
|
2695
|
-
from {
|
|
2696
|
-
transform: scale(0.98);
|
|
2697
|
-
opacity: 0;
|
|
2698
|
-
}
|
|
2699
|
-
to {
|
|
2700
|
-
opacity: 1;
|
|
2701
|
-
}
|
|
2702
|
-
}
|
|
2703
|
-
|
|
2704
|
-
@keyframes fadeInDown {
|
|
2705
|
-
from {
|
|
2706
|
-
opacity: 0;
|
|
2707
|
-
transform: translate3d(0, -100%, 0);
|
|
2708
|
-
}
|
|
2709
|
-
|
|
2710
|
-
to {
|
|
2711
|
-
opacity: 1;
|
|
2712
|
-
transform: none;
|
|
2713
|
-
}
|
|
2714
|
-
}
|
|
2715
|
-
|
|
2716
|
-
@keyframes alert-in {
|
|
2717
|
-
from {
|
|
2718
|
-
transform: scale(0, 0);
|
|
2719
|
-
opacity: 0.2;
|
|
2720
|
-
transition: 0s;
|
|
2721
|
-
}
|
|
2722
|
-
}
|
|
2723
|
-
|
|
2724
|
-
@keyframes circlebounce {
|
|
2725
|
-
0%,
|
|
2726
|
-
100% {
|
|
2727
|
-
transform: scale(0);
|
|
2728
|
-
}
|
|
2729
|
-
50% {
|
|
2730
|
-
transform: scale(1);
|
|
2731
|
-
}
|
|
2732
|
-
}
|
|
2733
|
-
|
|
2734
|
-
@keyframes scrolling {
|
|
2735
|
-
from {
|
|
2736
|
-
transform: translateX(-100%);
|
|
2737
|
-
}
|
|
2738
|
-
to {
|
|
2739
|
-
transform: translateX(100%);
|
|
2740
|
-
}
|
|
2741
|
-
}
|
|
2742
|
-
|
|
2743
|
-
|
|
2744
|
-
@mixin bsBanner($file) {
|
|
2745
|
-
/*!
|
|
2746
|
-
* Bootstrap #{$file} v5.3.5 (https://getbootstrap.com/)
|
|
2747
|
-
* Copyright 2011-2025 The Bootstrap Authors
|
|
2748
|
-
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
|
|
2749
|
-
*/
|
|
2750
|
-
}
|
|
2751
|
-
|
|
2752
|
-
@include bsBanner("");
|
|
2753
|
-
|
|
2754
|
-
// scss-docs-start import-stack
|
|
2755
|
-
// Configuration
|
|
2756
|
-
|
|
2757
|
-
|
|
2758
|
-
|
|
2759
|
-
// Re-assigned maps
|
|
2760
|
-
//
|
|
2761
|
-
// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.
|
|
2762
|
-
|
|
2763
|
-
// scss-docs-start theme-colors-rgb
|
|
2764
|
-
$theme-colors-rgb: map-loop($theme-colors, to-rgb, "$value") !default;
|
|
2765
|
-
// scss-docs-end theme-colors-rgb
|
|
2766
|
-
|
|
2767
|
-
// scss-docs-start theme-text-map
|
|
2768
|
-
$theme-colors-text: (
|
|
2769
|
-
"primary": $primary-text-emphasis,
|
|
2770
|
-
"secondary": $secondary-text-emphasis,
|
|
2771
|
-
"success": $success-text-emphasis,
|
|
2772
|
-
"info": $info-text-emphasis,
|
|
2773
|
-
"warning": $warning-text-emphasis,
|
|
2774
|
-
"danger": $danger-text-emphasis,
|
|
2775
|
-
"light": $light-text-emphasis,
|
|
2776
|
-
"dark": $dark-text-emphasis,
|
|
2777
|
-
) !default;
|
|
2778
|
-
// scss-docs-end theme-text-map
|
|
2779
|
-
|
|
2780
|
-
// scss-docs-start theme-bg-subtle-map
|
|
2781
|
-
$theme-colors-bg-subtle: (
|
|
2782
|
-
"primary": $primary-bg-subtle,
|
|
2783
|
-
"secondary": $secondary-bg-subtle,
|
|
2784
|
-
"success": $success-bg-subtle,
|
|
2785
|
-
"info": $info-bg-subtle,
|
|
2786
|
-
"warning": $warning-bg-subtle,
|
|
2787
|
-
"danger": $danger-bg-subtle,
|
|
2788
|
-
"light": $light-bg-subtle,
|
|
2789
|
-
"dark": $dark-bg-subtle,
|
|
2790
|
-
) !default;
|
|
2791
|
-
// scss-docs-end theme-bg-subtle-map
|
|
2792
|
-
|
|
2793
|
-
// scss-docs-start theme-border-subtle-map
|
|
2794
|
-
$theme-colors-border-subtle: (
|
|
2795
|
-
"primary": $primary-border-subtle,
|
|
2796
|
-
"secondary": $secondary-border-subtle,
|
|
2797
|
-
"success": $success-border-subtle,
|
|
2798
|
-
"info": $info-border-subtle,
|
|
2799
|
-
"warning": $warning-border-subtle,
|
|
2800
|
-
"danger": $danger-border-subtle,
|
|
2801
|
-
"light": $light-border-subtle,
|
|
2802
|
-
"dark": $dark-border-subtle,
|
|
2803
|
-
) !default;
|
|
2804
|
-
// scss-docs-end theme-border-subtle-map
|
|
2805
|
-
|
|
2806
|
-
$theme-colors-text-dark: null !default;
|
|
2807
|
-
$theme-colors-bg-subtle-dark: null !default;
|
|
2808
|
-
$theme-colors-border-subtle-dark: null !default;
|
|
2809
|
-
|
|
2810
|
-
@if $enable-dark-mode {
|
|
2811
|
-
// scss-docs-start theme-text-dark-map
|
|
2812
|
-
$theme-colors-text-dark: (
|
|
2813
|
-
"primary": $primary-text-emphasis-dark,
|
|
2814
|
-
"secondary": $secondary-text-emphasis-dark,
|
|
2815
|
-
"success": $success-text-emphasis-dark,
|
|
2816
|
-
"info": $info-text-emphasis-dark,
|
|
2817
|
-
"warning": $warning-text-emphasis-dark,
|
|
2818
|
-
"danger": $danger-text-emphasis-dark,
|
|
2819
|
-
"light": $light-text-emphasis-dark,
|
|
2820
|
-
"dark": $dark-text-emphasis-dark,
|
|
2821
|
-
) !default;
|
|
2822
|
-
// scss-docs-end theme-text-dark-map
|
|
2823
|
-
|
|
2824
|
-
// scss-docs-start theme-bg-subtle-dark-map
|
|
2825
|
-
$theme-colors-bg-subtle-dark: (
|
|
2826
|
-
"primary": $primary-bg-subtle-dark,
|
|
2827
|
-
"secondary": $secondary-bg-subtle-dark,
|
|
2828
|
-
"success": $success-bg-subtle-dark,
|
|
2829
|
-
"info": $info-bg-subtle-dark,
|
|
2830
|
-
"warning": $warning-bg-subtle-dark,
|
|
2831
|
-
"danger": $danger-bg-subtle-dark,
|
|
2832
|
-
"light": $light-bg-subtle-dark,
|
|
2833
|
-
"dark": $dark-bg-subtle-dark,
|
|
2834
|
-
) !default;
|
|
2835
|
-
// scss-docs-end theme-bg-subtle-dark-map
|
|
2836
|
-
|
|
2837
|
-
// scss-docs-start theme-border-subtle-dark-map
|
|
2838
|
-
$theme-colors-border-subtle-dark: (
|
|
2839
|
-
"primary": $primary-border-subtle-dark,
|
|
2840
|
-
"secondary": $secondary-border-subtle-dark,
|
|
2841
|
-
"success": $success-border-subtle-dark,
|
|
2842
|
-
"info": $info-border-subtle-dark,
|
|
2843
|
-
"warning": $warning-border-subtle-dark,
|
|
2844
|
-
"danger": $danger-border-subtle-dark,
|
|
2845
|
-
"light": $light-border-subtle-dark,
|
|
2846
|
-
"dark": $dark-border-subtle-dark,
|
|
2847
|
-
) !default;
|
|
2848
|
-
// scss-docs-end theme-border-subtle-dark-map
|
|
2849
|
-
}
|
|
2850
|
-
|
|
2851
|
-
// Utilities maps
|
|
2852
|
-
//
|
|
2853
|
-
// Extends the default `$theme-colors` maps to help create our utilities.
|
|
2854
|
-
|
|
2855
|
-
// Come v6, we'll de-dupe these variables. Until then, for backward compatibility, we keep them to reassign.
|
|
2856
|
-
// scss-docs-start utilities-colors
|
|
2857
|
-
$utilities-colors: $theme-colors-rgb !default;
|
|
2858
|
-
// scss-docs-end utilities-colors
|
|
2859
|
-
|
|
2860
|
-
// scss-docs-start utilities-text-colors
|
|
2861
|
-
$utilities-text: map-merge(
|
|
2862
|
-
$utilities-colors,
|
|
2863
|
-
(
|
|
2864
|
-
"black": to-rgb($black),
|
|
2865
|
-
"white": to-rgb($white),
|
|
2866
|
-
"body": to-rgb($body-color)
|
|
2867
|
-
)
|
|
2868
|
-
) !default;
|
|
2869
|
-
$utilities-text-colors: map-loop($utilities-text, rgba-css-var, "$key", "text") !default;
|
|
2870
|
-
|
|
2871
|
-
$utilities-text-emphasis-colors: (
|
|
2872
|
-
"primary-emphasis": var(--#{$prefix}primary-text-emphasis),
|
|
2873
|
-
"secondary-emphasis": var(--#{$prefix}secondary-text-emphasis),
|
|
2874
|
-
"success-emphasis": var(--#{$prefix}success-text-emphasis),
|
|
2875
|
-
"info-emphasis": var(--#{$prefix}info-text-emphasis),
|
|
2876
|
-
"warning-emphasis": var(--#{$prefix}warning-text-emphasis),
|
|
2877
|
-
"danger-emphasis": var(--#{$prefix}danger-text-emphasis),
|
|
2878
|
-
"light-emphasis": var(--#{$prefix}light-text-emphasis),
|
|
2879
|
-
"dark-emphasis": var(--#{$prefix}dark-text-emphasis)
|
|
2880
|
-
) !default;
|
|
2881
|
-
// scss-docs-end utilities-text-colors
|
|
2882
|
-
|
|
2883
|
-
// scss-docs-start utilities-bg-colors
|
|
2884
|
-
$utilities-bg: map-merge(
|
|
2885
|
-
$utilities-colors,
|
|
2886
|
-
(
|
|
2887
|
-
"black": to-rgb($black),
|
|
2888
|
-
"white": to-rgb($white),
|
|
2889
|
-
"body": to-rgb($body-bg)
|
|
2890
|
-
)
|
|
2891
|
-
) !default;
|
|
2892
|
-
$utilities-bg-colors: map-loop($utilities-bg, rgba-css-var, "$key", "bg") !default;
|
|
2893
|
-
|
|
2894
|
-
$utilities-bg-subtle: (
|
|
2895
|
-
"primary-subtle": var(--#{$prefix}primary-bg-subtle),
|
|
2896
|
-
"secondary-subtle": var(--#{$prefix}secondary-bg-subtle),
|
|
2897
|
-
"success-subtle": var(--#{$prefix}success-bg-subtle),
|
|
2898
|
-
"info-subtle": var(--#{$prefix}info-bg-subtle),
|
|
2899
|
-
"warning-subtle": var(--#{$prefix}warning-bg-subtle),
|
|
2900
|
-
"danger-subtle": var(--#{$prefix}danger-bg-subtle),
|
|
2901
|
-
"light-subtle": var(--#{$prefix}light-bg-subtle),
|
|
2902
|
-
"dark-subtle": var(--#{$prefix}dark-bg-subtle)
|
|
2903
|
-
) !default;
|
|
2904
|
-
// scss-docs-end utilities-bg-colors
|
|
2905
|
-
|
|
2906
|
-
// scss-docs-start utilities-border-colors
|
|
2907
|
-
$utilities-border: map-merge(
|
|
2908
|
-
$utilities-colors,
|
|
2909
|
-
(
|
|
2910
|
-
"black": to-rgb($black),
|
|
2911
|
-
"white": to-rgb($white)
|
|
2912
|
-
)
|
|
2913
|
-
) !default;
|
|
2914
|
-
$utilities-border-colors: map-loop($utilities-border, rgba-css-var, "$key", "border") !default;
|
|
2915
|
-
|
|
2916
|
-
$utilities-border-subtle: (
|
|
2917
|
-
"primary-subtle": var(--#{$prefix}primary-border-subtle),
|
|
2918
|
-
"secondary-subtle": var(--#{$prefix}secondary-border-subtle),
|
|
2919
|
-
"success-subtle": var(--#{$prefix}success-border-subtle),
|
|
2920
|
-
"info-subtle": var(--#{$prefix}info-border-subtle),
|
|
2921
|
-
"warning-subtle": var(--#{$prefix}warning-border-subtle),
|
|
2922
|
-
"danger-subtle": var(--#{$prefix}danger-border-subtle),
|
|
2923
|
-
"light-subtle": var(--#{$prefix}light-border-subtle),
|
|
2924
|
-
"dark-subtle": var(--#{$prefix}dark-border-subtle)
|
|
2925
|
-
) !default;
|
|
2926
|
-
// scss-docs-end utilities-border-colors
|
|
2927
|
-
|
|
2928
|
-
$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
|
|
2929
|
-
|
|
2930
|
-
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
|
|
2931
|
-
|
|
2932
|
-
$gutters: $spacers !default;
|
|
2933
|
-
|
|
2934
2210
|
// Toggles
|
|
2935
2211
|
//
|
|
2936
2212
|
// Used in conjunction with global variables to enable certain theme features.
|
|
@@ -4083,283 +3359,999 @@ $rfs-mq-property-height: if($rfs-mode == max-media-query, max-height, min-height
|
|
|
4083
3359
|
}
|
|
4084
3360
|
}
|
|
4085
3361
|
|
|
4086
|
-
@mixin border-bottom-start-radius($radius: $border-radius) {
|
|
4087
|
-
@if $enable-rounded {
|
|
4088
|
-
border-bottom-left-radius: valid-radius($radius);
|
|
4089
|
-
}
|
|
4090
|
-
}
|
|
4091
|
-
// scss-docs-end border-radius-mixins
|
|
3362
|
+
@mixin border-bottom-start-radius($radius: $border-radius) {
|
|
3363
|
+
@if $enable-rounded {
|
|
3364
|
+
border-bottom-left-radius: valid-radius($radius);
|
|
3365
|
+
}
|
|
3366
|
+
}
|
|
3367
|
+
// scss-docs-end border-radius-mixins
|
|
3368
|
+
|
|
3369
|
+
@mixin box-shadow($shadow...) {
|
|
3370
|
+
@if $enable-shadows {
|
|
3371
|
+
$result: ();
|
|
3372
|
+
|
|
3373
|
+
@each $value in $shadow {
|
|
3374
|
+
@if $value != null {
|
|
3375
|
+
$result: append($result, $value, "comma");
|
|
3376
|
+
}
|
|
3377
|
+
@if $value == none and length($shadow) > 1 {
|
|
3378
|
+
@warn "The keyword 'none' must be used as a single argument.";
|
|
3379
|
+
}
|
|
3380
|
+
}
|
|
3381
|
+
|
|
3382
|
+
@if (length($result) > 0) {
|
|
3383
|
+
box-shadow: $result;
|
|
3384
|
+
}
|
|
3385
|
+
}
|
|
3386
|
+
}
|
|
3387
|
+
|
|
3388
|
+
// Gradients
|
|
3389
|
+
|
|
3390
|
+
// scss-docs-start gradient-bg-mixin
|
|
3391
|
+
@mixin gradient-bg($color: null) {
|
|
3392
|
+
background-color: $color;
|
|
3393
|
+
|
|
3394
|
+
@if $enable-gradients {
|
|
3395
|
+
background-image: var(--#{$prefix}gradient);
|
|
3396
|
+
}
|
|
3397
|
+
}
|
|
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
|
+
}
|
|
3531
|
+
|
|
3532
|
+
@mixin make-col-offset($size, $columns: $grid-columns) {
|
|
3533
|
+
$num: divide($size, $columns);
|
|
3534
|
+
margin-left: if($num == 0, 0, percentage($num));
|
|
3535
|
+
}
|
|
3536
|
+
|
|
3537
|
+
// Row columns
|
|
3538
|
+
//
|
|
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
|
+
}
|
|
3547
|
+
}
|
|
3548
|
+
|
|
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`.
|
|
3553
|
+
|
|
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);
|
|
3557
|
+
|
|
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
|
+
}
|
|
4092
3563
|
|
|
4093
|
-
|
|
4094
|
-
|
|
4095
|
-
|
|
3564
|
+
.row-cols#{$infix}-auto > * {
|
|
3565
|
+
@include make-col-auto();
|
|
3566
|
+
}
|
|
4096
3567
|
|
|
4097
|
-
|
|
4098
|
-
|
|
4099
|
-
|
|
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
|
+
}
|
|
4100
3574
|
}
|
|
4101
|
-
|
|
4102
|
-
|
|
3575
|
+
|
|
3576
|
+
.col#{$infix}-auto {
|
|
3577
|
+
@include make-col-auto();
|
|
4103
3578
|
}
|
|
4104
|
-
}
|
|
4105
3579
|
|
|
4106
|
-
|
|
4107
|
-
|
|
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
|
+
}
|
|
3595
|
+
}
|
|
3596
|
+
|
|
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
|
+
}
|
|
3605
|
+
|
|
3606
|
+
.g#{$infix}-#{$key},
|
|
3607
|
+
.gy#{$infix}-#{$key} {
|
|
3608
|
+
--#{$prefix}gutter-y: #{$value};
|
|
3609
|
+
}
|
|
3610
|
+
}
|
|
4108
3611
|
}
|
|
4109
3612
|
}
|
|
4110
3613
|
}
|
|
4111
3614
|
|
|
4112
|
-
|
|
3615
|
+
@mixin make-cssgrid($columns: $grid-columns, $breakpoints: $grid-breakpoints) {
|
|
3616
|
+
@each $breakpoint in map-keys($breakpoints) {
|
|
3617
|
+
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
|
4113
3618
|
|
|
4114
|
-
|
|
4115
|
-
@
|
|
4116
|
-
|
|
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
|
+
}
|
|
4117
3626
|
|
|
4118
|
-
|
|
4119
|
-
|
|
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
|
+
}
|
|
4120
3636
|
}
|
|
4121
3637
|
}
|
|
4122
|
-
// scss-docs-end gradient-bg-mixin
|
|
4123
3638
|
|
|
4124
|
-
|
|
4125
|
-
|
|
4126
|
-
//
|
|
4127
|
-
|
|
4128
|
-
|
|
4129
|
-
|
|
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
|
+
*/
|
|
4130
4171
|
}
|
|
4131
|
-
|
|
4132
|
-
|
|
4172
|
+
|
|
4173
|
+
@include bsBanner("");
|
|
4174
|
+
|
|
4175
|
+
// scss-docs-start import-stack
|
|
4176
|
+
// Configuration
|
|
4177
|
+
|
|
4178
|
+
|
|
4179
|
+
|
|
4180
|
+
// Re-assigned maps
|
|
4133
4181
|
//
|
|
4134
|
-
//
|
|
4135
|
-
@mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: null, $end-percent: null) {
|
|
4136
|
-
background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent);
|
|
4137
|
-
}
|
|
4138
|
-
|
|
4139
|
-
@mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) {
|
|
4140
|
-
background-image: linear-gradient($deg, $start-color, $end-color);
|
|
4141
|
-
}
|
|
4142
|
-
|
|
4143
|
-
@mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
|
4144
|
-
background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color);
|
|
4145
|
-
}
|
|
4146
|
-
|
|
4147
|
-
@mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) {
|
|
4148
|
-
background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color);
|
|
4149
|
-
}
|
|
4150
|
-
|
|
4151
|
-
@mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) {
|
|
4152
|
-
background-image: radial-gradient(circle, $inner-color, $outer-color);
|
|
4153
|
-
}
|
|
4154
|
-
|
|
4155
|
-
@mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) {
|
|
4156
|
-
background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent);
|
|
4157
|
-
}
|
|
4158
|
-
// scss-docs-end gradient-mixins
|
|
4159
|
-
|
|
4160
|
-
// stylelint-disable property-disallowed-list
|
|
4161
|
-
@mixin transition($transition...) {
|
|
4162
|
-
@if length($transition) == 0 {
|
|
4163
|
-
$transition: $transition-base;
|
|
4164
|
-
}
|
|
4165
|
-
|
|
4166
|
-
@if length($transition) > 1 {
|
|
4167
|
-
@each $value in $transition {
|
|
4168
|
-
@if $value == null or $value == none {
|
|
4169
|
-
@warn "The keyword 'none' or 'null' must be used as a single argument.";
|
|
4170
|
-
}
|
|
4171
|
-
}
|
|
4172
|
-
}
|
|
4173
|
-
|
|
4174
|
-
@if $enable-transitions {
|
|
4175
|
-
@if nth($transition, 1) != null {
|
|
4176
|
-
transition: $transition;
|
|
4177
|
-
}
|
|
4178
|
-
|
|
4179
|
-
@if $enable-reduced-motion and nth($transition, 1) != null and nth($transition, 1) != none {
|
|
4180
|
-
@media (prefers-reduced-motion: reduce) {
|
|
4181
|
-
transition: none;
|
|
4182
|
-
}
|
|
4183
|
-
}
|
|
4184
|
-
}
|
|
4185
|
-
}
|
|
4186
|
-
|
|
4187
|
-
|
|
4188
|
-
// Layout
|
|
4189
|
-
// scss-docs-start clearfix
|
|
4190
|
-
@mixin clearfix() {
|
|
4191
|
-
&::after {
|
|
4192
|
-
display: block;
|
|
4193
|
-
clear: both;
|
|
4194
|
-
content: "";
|
|
4195
|
-
}
|
|
4196
|
-
}
|
|
4197
|
-
// scss-docs-end clearfix
|
|
4198
|
-
|
|
4199
|
-
// Container mixins
|
|
4200
|
-
|
|
4201
|
-
@mixin make-container($gutter: $container-padding-x) {
|
|
4202
|
-
--#{$prefix}gutter-x: #{$gutter};
|
|
4203
|
-
--#{$prefix}gutter-y: 0;
|
|
4204
|
-
width: 100%;
|
|
4205
|
-
padding-right: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
|
|
4206
|
-
padding-left: calc(var(--#{$prefix}gutter-x) * .5); // stylelint-disable-line function-disallowed-list
|
|
4207
|
-
margin-right: auto;
|
|
4208
|
-
margin-left: auto;
|
|
4209
|
-
}
|
|
4182
|
+
// Placed here so that others can override the default Sass maps and see automatic updates to utilities and more.
|
|
4210
4183
|
|
|
4211
|
-
//
|
|
4212
|
-
|
|
4213
|
-
//
|
|
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
|
|
4214
4187
|
|
|
4215
|
-
|
|
4216
|
-
|
|
4217
|
-
|
|
4218
|
-
|
|
4219
|
-
|
|
4220
|
-
|
|
4221
|
-
|
|
4222
|
-
|
|
4223
|
-
|
|
4224
|
-
|
|
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
|
|
4225
4200
|
|
|
4226
|
-
|
|
4227
|
-
|
|
4228
|
-
|
|
4229
|
-
|
|
4230
|
-
|
|
4231
|
-
|
|
4232
|
-
|
|
4233
|
-
|
|
4234
|
-
|
|
4235
|
-
|
|
4236
|
-
|
|
4237
|
-
|
|
4238
|
-
}
|
|
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
|
|
4239
4213
|
|
|
4240
|
-
|
|
4241
|
-
|
|
4242
|
-
|
|
4243
|
-
|
|
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
|
|
4244
4226
|
|
|
4245
|
-
|
|
4246
|
-
|
|
4247
|
-
|
|
4248
|
-
}
|
|
4249
|
-
}
|
|
4227
|
+
$theme-colors-text-dark: null !default;
|
|
4228
|
+
$theme-colors-bg-subtle-dark: null !default;
|
|
4229
|
+
$theme-colors-border-subtle-dark: null !default;
|
|
4250
4230
|
|
|
4251
|
-
@
|
|
4252
|
-
|
|
4253
|
-
|
|
4254
|
-
|
|
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
|
|
4255
4244
|
|
|
4256
|
-
|
|
4257
|
-
$
|
|
4258
|
-
|
|
4259
|
-
|
|
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
|
|
4260
4257
|
|
|
4261
|
-
//
|
|
4262
|
-
|
|
4263
|
-
|
|
4264
|
-
|
|
4265
|
-
|
|
4266
|
-
|
|
4267
|
-
|
|
4268
|
-
|
|
4269
|
-
|
|
4270
|
-
|
|
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
|
|
4271
4270
|
}
|
|
4272
4271
|
|
|
4273
|
-
//
|
|
4272
|
+
// Utilities maps
|
|
4274
4273
|
//
|
|
4275
|
-
//
|
|
4276
|
-
// any value of `$grid-columns`.
|
|
4277
|
-
|
|
4278
|
-
@mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) {
|
|
4279
|
-
@each $breakpoint in map-keys($breakpoints) {
|
|
4280
|
-
$infix: breakpoint-infix($breakpoint, $breakpoints);
|
|
4281
|
-
|
|
4282
|
-
@include media-breakpoint-up($breakpoint, $breakpoints) {
|
|
4283
|
-
// Provide basic `.col-{bp}` classes for equal-width flexbox columns
|
|
4284
|
-
.col#{$infix} {
|
|
4285
|
-
flex: 1 0 0;
|
|
4286
|
-
}
|
|
4287
|
-
|
|
4288
|
-
.row-cols#{$infix}-auto > * {
|
|
4289
|
-
@include make-col-auto();
|
|
4290
|
-
}
|
|
4274
|
+
// Extends the default `$theme-colors` maps to help create our utilities.
|
|
4291
4275
|
|
|
4292
|
-
|
|
4293
|
-
|
|
4294
|
-
|
|
4295
|
-
|
|
4296
|
-
}
|
|
4297
|
-
}
|
|
4298
|
-
}
|
|
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
|
|
4299
4280
|
|
|
4300
|
-
|
|
4301
|
-
|
|
4302
|
-
|
|
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;
|
|
4303
4291
|
|
|
4304
|
-
|
|
4305
|
-
|
|
4306
|
-
|
|
4307
|
-
|
|
4308
|
-
|
|
4309
|
-
|
|
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
|
|
4310
4303
|
|
|
4311
|
-
|
|
4312
|
-
|
|
4313
|
-
|
|
4314
|
-
|
|
4315
|
-
|
|
4316
|
-
|
|
4317
|
-
|
|
4318
|
-
|
|
4319
|
-
|
|
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;
|
|
4320
4314
|
|
|
4321
|
-
|
|
4322
|
-
|
|
4323
|
-
|
|
4324
|
-
|
|
4325
|
-
|
|
4326
|
-
|
|
4327
|
-
|
|
4328
|
-
|
|
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
|
|
4329
4326
|
|
|
4330
|
-
|
|
4331
|
-
|
|
4332
|
-
|
|
4333
|
-
|
|
4334
|
-
|
|
4335
|
-
|
|
4336
|
-
|
|
4337
|
-
|
|
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;
|
|
4338
4336
|
|
|
4339
|
-
|
|
4340
|
-
|
|
4341
|
-
|
|
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
|
|
4342
4348
|
|
|
4343
|
-
|
|
4344
|
-
@if $columns > 0 {
|
|
4345
|
-
@for $i from 1 through $columns {
|
|
4346
|
-
.g-col#{$infix}-#{$i} {
|
|
4347
|
-
grid-column: auto / span $i;
|
|
4348
|
-
}
|
|
4349
|
-
}
|
|
4349
|
+
$utilities-links-underline: map-loop($utilities-colors, rgba-css-var, "$key", "link-underline") !default;
|
|
4350
4350
|
|
|
4351
|
-
|
|
4352
|
-
// Ends with `$columns - 1` because offsetting by the width of an entire row isn't possible.
|
|
4353
|
-
@for $i from 1 through ($columns - 1) {
|
|
4354
|
-
.g-start#{$infix}-#{$i} {
|
|
4355
|
-
grid-column-start: $i;
|
|
4356
|
-
}
|
|
4357
|
-
}
|
|
4358
|
-
}
|
|
4359
|
-
}
|
|
4360
|
-
}
|
|
4361
|
-
}
|
|
4351
|
+
$negative-spacers: if($enable-negative-margins, negativify-map($spacers), null) !default;
|
|
4362
4352
|
|
|
4353
|
+
$gutters: $spacers !default;
|
|
4354
|
+
|
|
4363
4355
|
|
|
4364
4356
|
// Utilities
|
|
4365
4357
|
|
|
@@ -11089,7 +11081,12 @@ body {
|
|
|
11089
11081
|
}
|
|
11090
11082
|
|
|
11091
11083
|
.blue-menu-item {
|
|
11092
|
-
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;
|
|
11093
11090
|
|
|
11094
11091
|
@media (prefers-reduced-motion) {
|
|
11095
11092
|
transition: none !important;
|
|
@@ -11155,65 +11152,6 @@ body {
|
|
|
11155
11152
|
}
|
|
11156
11153
|
}
|
|
11157
11154
|
|
|
11158
|
-
.blue-sidebar .blue-menu-item-dropdown {
|
|
11159
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-1-bg, #{$sidebar-deep-bg});
|
|
11160
|
-
|
|
11161
|
-
&::before {
|
|
11162
|
-
background-color: var(--blue-sidebar-bg);
|
|
11163
|
-
box-shadow: 0 0.5rem 1rem $black;
|
|
11164
|
-
opacity: 0.15;
|
|
11165
|
-
border-color: currentColor;
|
|
11166
|
-
}
|
|
11167
|
-
|
|
11168
|
-
.blue-menu-item-dropdown {
|
|
11169
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-2-bg, #{darken($sidebar-deep-bg, 4%)});
|
|
11170
|
-
|
|
11171
|
-
.blue-menu-item-dropdown {
|
|
11172
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-3-bg, #{darken($sidebar-deep-bg, 8%)});
|
|
11173
|
-
|
|
11174
|
-
.blue-menu-item-dropdown {
|
|
11175
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-4-bg, #{darken($sidebar-deep-bg, 12%)});
|
|
11176
|
-
|
|
11177
|
-
.blue-menu-item-dropdown {
|
|
11178
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-5-bg, #{darken($sidebar-deep-bg, 16%)});
|
|
11179
|
-
|
|
11180
|
-
.blue-menu-item-dropdown {
|
|
11181
|
-
--blue-sidebar-bg: var(--blue-sidebar-depth-6-bg, #{darken($sidebar-deep-bg, 20%)});
|
|
11182
|
-
}
|
|
11183
|
-
}
|
|
11184
|
-
}
|
|
11185
|
-
}
|
|
11186
|
-
}
|
|
11187
|
-
}
|
|
11188
|
-
|
|
11189
|
-
.blue-header .blue-menu-item-dropdown {
|
|
11190
|
-
--blue-sidebar-bg: #{$header-deep-bg};
|
|
11191
|
-
|
|
11192
|
-
&::before {
|
|
11193
|
-
background-color: var(--blue-header-bg);
|
|
11194
|
-
}
|
|
11195
|
-
|
|
11196
|
-
.blue-menu-item-dropdown {
|
|
11197
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 4%)};
|
|
11198
|
-
|
|
11199
|
-
.blue-menu-item-dropdown {
|
|
11200
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 8%)};
|
|
11201
|
-
|
|
11202
|
-
.blue-menu-item-dropdown {
|
|
11203
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 12%)};
|
|
11204
|
-
|
|
11205
|
-
.blue-menu-item-dropdown {
|
|
11206
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 16%)};
|
|
11207
|
-
|
|
11208
|
-
.blue-menu-item-dropdown {
|
|
11209
|
-
--blue-sidebar-bg: #{darken($header-deep-bg, 20%)};
|
|
11210
|
-
}
|
|
11211
|
-
}
|
|
11212
|
-
}
|
|
11213
|
-
}
|
|
11214
|
-
}
|
|
11215
|
-
}
|
|
11216
|
-
|
|
11217
11155
|
.blue-menu-item-dropdown-caret.blue-caret {
|
|
11218
11156
|
display: none;
|
|
11219
11157
|
position: absolute;
|
|
@@ -11711,13 +11649,6 @@ body {
|
|
|
11711
11649
|
}
|
|
11712
11650
|
}
|
|
11713
11651
|
|
|
11714
|
-
.blue-btn-silent {
|
|
11715
|
-
&:not(:hover):not(:focus):not(:active) {
|
|
11716
|
-
border-color: transparent;
|
|
11717
|
-
color: inherit;
|
|
11718
|
-
}
|
|
11719
|
-
}
|
|
11720
|
-
|
|
11721
11652
|
@media (hover: hover) {
|
|
11722
11653
|
.blue-d-hover {
|
|
11723
11654
|
&:not(:hover):not(:focus):not(:active):not(.active):not(:focus-within) {
|
|
@@ -12260,10 +12191,6 @@ dialog.blue-modal:has(.offcanvas-start) {
|
|
|
12260
12191
|
.blue-collapse {
|
|
12261
12192
|
interpolate-size: allow-keywords;
|
|
12262
12193
|
|
|
12263
|
-
&:has(summary:focus) {
|
|
12264
|
-
overflow: hidden;
|
|
12265
|
-
}
|
|
12266
|
-
|
|
12267
12194
|
summary {
|
|
12268
12195
|
list-style: none;
|
|
12269
12196
|
}
|