From 5779242f2234c7be569c1dc9098e8e3d0a306102 Mon Sep 17 00:00:00 2001 From: Eli Ribble Date: Sat, 21 Mar 2026 19:41:51 +0000 Subject: [PATCH] Prettier everything, remove vendored bootstrap These are installed now via pnpm --- auth/session.go | 4 +- db/geo.go | 15 +- label-studio/client.go | 9 +- scss/rmo/mailer.scss | 1 - scss/rmo/nuisance.scss | 2 +- scss/rmo/root.scss | 28 +- scss/rmo/status.scss | 6 +- scss/sidebar.scss | 24 +- scss/style.scss | 38 +- scss/sync/notification.scss | 2 +- scss/sync/upload-by-id.scss | 10 +- .../bootstrap-5.3.8/scss/_accordion.scss | 153 -- scss/vendor/bootstrap-5.3.8/scss/_alert.scss | 68 - scss/vendor/bootstrap-5.3.8/scss/_badge.scss | 38 - .../bootstrap-5.3.8/scss/_breadcrumb.scss | 40 - .../bootstrap-5.3.8/scss/_button-group.scss | 147 -- .../vendor/bootstrap-5.3.8/scss/_buttons.scss | 216 -- scss/vendor/bootstrap-5.3.8/scss/_card.scss | 238 -- .../bootstrap-5.3.8/scss/_carousel.scss | 226 -- scss/vendor/bootstrap-5.3.8/scss/_close.scss | 66 - .../bootstrap-5.3.8/scss/_containers.scss | 41 - .../bootstrap-5.3.8/scss/_dropdown.scss | 250 -- scss/vendor/bootstrap-5.3.8/scss/_forms.scss | 9 - .../bootstrap-5.3.8/scss/_functions.scss | 302 --- scss/vendor/bootstrap-5.3.8/scss/_grid.scss | 39 - .../vendor/bootstrap-5.3.8/scss/_helpers.scss | 12 - scss/vendor/bootstrap-5.3.8/scss/_images.scss | 42 - .../bootstrap-5.3.8/scss/_list-group.scss | 199 -- scss/vendor/bootstrap-5.3.8/scss/_maps.scss | 174 -- scss/vendor/bootstrap-5.3.8/scss/_mixins.scss | 42 - scss/vendor/bootstrap-5.3.8/scss/_modal.scss | 240 -- scss/vendor/bootstrap-5.3.8/scss/_nav.scss | 197 -- scss/vendor/bootstrap-5.3.8/scss/_navbar.scss | 289 --- .../bootstrap-5.3.8/scss/_offcanvas.scss | 147 -- .../bootstrap-5.3.8/scss/_pagination.scss | 109 - .../bootstrap-5.3.8/scss/_placeholders.scss | 51 - .../vendor/bootstrap-5.3.8/scss/_popover.scss | 196 -- .../bootstrap-5.3.8/scss/_progress.scss | 68 - scss/vendor/bootstrap-5.3.8/scss/_reboot.scss | 617 ----- scss/vendor/bootstrap-5.3.8/scss/_root.scss | 187 -- .../bootstrap-5.3.8/scss/_spinners.scss | 86 - scss/vendor/bootstrap-5.3.8/scss/_tables.scss | 171 -- scss/vendor/bootstrap-5.3.8/scss/_toasts.scss | 73 - .../vendor/bootstrap-5.3.8/scss/_tooltip.scss | 119 - .../bootstrap-5.3.8/scss/_transitions.scss | 27 - scss/vendor/bootstrap-5.3.8/scss/_type.scss | 106 - .../bootstrap-5.3.8/scss/_utilities.scss | 806 ------- .../bootstrap-5.3.8/scss/_variables-dark.scss | 102 - .../bootstrap-5.3.8/scss/_variables.scss | 1753 -------------- .../bootstrap-5.3.8/scss/bootstrap-grid.scss | 62 - .../scss/bootstrap-reboot.scss | 10 - .../scss/bootstrap-utilities.scss | 19 - .../bootstrap-5.3.8/scss/bootstrap.scss | 52 - .../scss/forms/_floating-labels.scss | 97 - .../scss/forms/_form-check.scss | 189 -- .../scss/forms/_form-control.scss | 214 -- .../scss/forms/_form-range.scss | 91 - .../scss/forms/_form-select.scss | 80 - .../scss/forms/_form-text.scss | 11 - .../scss/forms/_input-group.scss | 132 - .../bootstrap-5.3.8/scss/forms/_labels.scss | 36 - .../scss/forms/_validation.scss | 12 - .../scss/helpers/_clearfix.scss | 3 - .../scss/helpers/_color-bg.scss | 7 - .../scss/helpers/_colored-links.scss | 30 - .../scss/helpers/_focus-ring.scss | 5 - .../scss/helpers/_icon-link.scss | 25 - .../scss/helpers/_position.scss | 36 - .../bootstrap-5.3.8/scss/helpers/_ratio.scss | 26 - .../bootstrap-5.3.8/scss/helpers/_stacks.scss | 15 - .../scss/helpers/_stretched-link.scss | 15 - .../scss/helpers/_text-truncation.scss | 7 - .../scss/helpers/_visually-hidden.scss | 8 - .../bootstrap-5.3.8/scss/helpers/_vr.scss | 8 - .../bootstrap-5.3.8/scss/mixins/_alert.scss | 18 - .../scss/mixins/_backdrop.scss | 14 - .../bootstrap-5.3.8/scss/mixins/_banner.scss | 7 - .../scss/mixins/_border-radius.scss | 78 - .../scss/mixins/_box-shadow.scss | 24 - .../scss/mixins/_breakpoints.scss | 127 - .../bootstrap-5.3.8/scss/mixins/_buttons.scss | 70 - .../bootstrap-5.3.8/scss/mixins/_caret.scss | 69 - .../scss/mixins/_clearfix.scss | 9 - .../scss/mixins/_color-mode.scss | 21 - .../scss/mixins/_color-scheme.scss | 7 - .../scss/mixins/_container.scss | 11 - .../scss/mixins/_deprecate.scss | 10 - .../bootstrap-5.3.8/scss/mixins/_forms.scss | 163 -- .../scss/mixins/_gradients.scss | 47 - .../bootstrap-5.3.8/scss/mixins/_grid.scss | 151 -- .../bootstrap-5.3.8/scss/mixins/_image.scss | 16 - .../scss/mixins/_list-group.scss | 26 - .../bootstrap-5.3.8/scss/mixins/_lists.scss | 7 - .../scss/mixins/_pagination.scss | 10 - .../scss/mixins/_reset-text.scss | 17 - .../bootstrap-5.3.8/scss/mixins/_resize.scss | 6 - .../scss/mixins/_table-variants.scss | 24 - .../scss/mixins/_text-truncate.scss | 8 - .../scss/mixins/_transition.scss | 26 - .../scss/mixins/_utilities.scss | 97 - .../scss/mixins/_visually-hidden.scss | 38 - .../bootstrap-5.3.8/scss/tests/jasmine.js | 16 - .../_auto-import-of-variables-dark.test.scss | 7 - .../scss/tests/mixins/_box-shadow.test.scss | 188 -- .../tests/mixins/_color-contrast.test.scss | 139 -- .../scss/tests/mixins/_color-modes.test.scss | 69 - .../_media-query-color-mode-full.test.scss | 8 - .../scss/tests/mixins/_utilities.test.scss | 393 --- .../scss/tests/sass-true/register.js | 17 - .../scss/tests/sass-true/runner.js | 15 - .../scss/tests/utilities/_api.test.scss | 75 - .../bootstrap-5.3.8/scss/utilities/_api.scss | 47 - .../bootstrap-5.3.8/scss/vendor/_rfs.scss | 348 --- .../bootstrap-icons.scss | 2118 ----------------- ts/app.vue | 24 +- ts/components/map-view.vue | 32 +- ts/global.d.ts | 14 +- ts/main.ts | 87 +- ts/sidebar.ts | 2 +- ts/sse-manager.ts | 225 +- ts/style/sidebar.scss | 24 +- ts/style/style.scss | 38 +- 122 files changed, 297 insertions(+), 13665 deletions(-) delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_accordion.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_alert.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_badge.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_breadcrumb.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_button-group.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_buttons.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_card.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_carousel.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_close.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_containers.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_dropdown.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_forms.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_functions.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_grid.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_helpers.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_images.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_list-group.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_maps.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_mixins.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_modal.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_nav.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_navbar.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_offcanvas.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_pagination.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_placeholders.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_popover.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_progress.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_reboot.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_root.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_spinners.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_tables.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_toasts.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_tooltip.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_transitions.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_type.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_utilities.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_variables-dark.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/_variables.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/bootstrap-grid.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/bootstrap-reboot.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/bootstrap-utilities.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/bootstrap.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_floating-labels.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_form-check.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_form-control.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_form-range.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_form-select.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_form-text.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_input-group.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_labels.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/forms/_validation.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_clearfix.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_color-bg.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_colored-links.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_focus-ring.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_icon-link.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_position.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_ratio.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_stacks.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_stretched-link.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_text-truncation.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_visually-hidden.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/helpers/_vr.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_alert.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_backdrop.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_banner.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_border-radius.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_box-shadow.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_breakpoints.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_buttons.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_caret.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_clearfix.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_color-mode.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_color-scheme.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_container.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_deprecate.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_forms.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_gradients.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_grid.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_image.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_list-group.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_lists.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_pagination.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_reset-text.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_resize.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_table-variants.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_text-truncate.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_transition.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_utilities.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/mixins/_visually-hidden.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/jasmine.js delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/mixins/_auto-import-of-variables-dark.test.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/mixins/_box-shadow.test.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/mixins/_color-contrast.test.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/mixins/_color-modes.test.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/mixins/_media-query-color-mode-full.test.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/mixins/_utilities.test.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/sass-true/register.js delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/sass-true/runner.js delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/tests/utilities/_api.test.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/utilities/_api.scss delete mode 100644 scss/vendor/bootstrap-5.3.8/scss/vendor/_rfs.scss delete mode 100644 scss/vendor/bootstrap-icons-1.13.1/bootstrap-icons.scss diff --git a/auth/session.go b/auth/session.go index f01b82ed..e01fd054 100644 --- a/auth/session.go +++ b/auth/session.go @@ -3,9 +3,9 @@ package auth import ( "time" - "github.com/alexedwards/scs/v2" - "github.com/alexedwards/scs/pgxstore" "github.com/Gleipnir-Technology/nidus-sync/db" + "github.com/alexedwards/scs/pgxstore" + "github.com/alexedwards/scs/v2" ) var sessionManager *scs.SessionManager diff --git a/db/geo.go b/db/geo.go index 4d3690ed..f2860c34 100644 --- a/db/geo.go +++ b/db/geo.go @@ -1,32 +1,31 @@ package db -import ( -) +import () type GeoBounds struct { - East float64 + East float64 North float64 South float64 - West float64 + West float64 } type GeoQuery struct { Bounds GeoBounds - Limit int + Limit int } func NewGeoBounds() GeoBounds { return GeoBounds{ - East: 180, + East: 180, North: 180, South: -180, - West: -180, + West: -180, } } func NewGeoQuery() GeoQuery { return GeoQuery{ Bounds: NewGeoBounds(), - Limit: 0, + Limit: 0, } } diff --git a/label-studio/client.go b/label-studio/client.go index 176faa24..c8513e0b 100644 --- a/label-studio/client.go +++ b/label-studio/client.go @@ -11,11 +11,11 @@ import ( // Client represents a Label Studio API client type Client struct { - BaseURL string - APIKey string - AccessToken string + BaseURL string + APIKey string + AccessToken string AccessTokenExpires time.Time - HTTPClient *http.Client + HTTPClient *http.Client } // NewClient creates a new Label Studio client @@ -124,6 +124,5 @@ func (c *Client) makeRequest(method string, path string, payload []byte) (*http. return nil, fmt.Errorf("API returned error status %d: %s: ", resp.Status, bodyString) } - return resp, nil } diff --git a/scss/rmo/mailer.scss b/scss/rmo/mailer.scss index fad8de37..3917ff1e 100644 --- a/scss/rmo/mailer.scss +++ b/scss/rmo/mailer.scss @@ -1,4 +1,3 @@ - body { background-color: #f8f9fa; } diff --git a/scss/rmo/nuisance.scss b/scss/rmo/nuisance.scss index 56bc9670..c65dba40 100644 --- a/scss/rmo/nuisance.scss +++ b/scss/rmo/nuisance.scss @@ -34,7 +34,7 @@ } .source-card:hover { transform: translateY(-5px); - box-shadow: 0 5px 15px rgba(0,0,0,0.1); + box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1); } .source-icon { font-size: 2rem; diff --git a/scss/rmo/root.scss b/scss/rmo/root.scss index 1bb7880e..9703828d 100644 --- a/scss/rmo/root.scss +++ b/scss/rmo/root.scss @@ -2,19 +2,19 @@ display: block; } @include media-breakpoint-up(xs) { - .banner { - width: 100%; - } + .banner { + width: 100%; + } } @include media-breakpoint-up(xl) { - .banner { - height: 100%; - } + .banner { + height: 100%; + } } .district-logo { - display:block; - margin-left:auto; - margin-right:auto; + display: block; + margin-left: auto; + margin-right: auto; max-height: 88px; width: auto; } @@ -24,7 +24,7 @@ } .service-card:hover { transform: translateY(-5px); - box-shadow: 0 10px 20px rgba(0,0,0,0.1); + box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1); } .district-logo { max-height: 80px; @@ -39,8 +39,8 @@ } .banner-container { - position: relative; - width: 100%; - background-color: #F76436; - overflow: hidden; + position: relative; + width: 100%; + background-color: #f76436; + overflow: hidden; } diff --git a/scss/rmo/status.scss b/scss/rmo/status.scss index ee5968d1..da2c897d 100644 --- a/scss/rmo/status.scss +++ b/scss/rmo/status.scss @@ -1,7 +1,7 @@ .map-container { background-color: #e9ecef; border-radius: 10px; - box-shadow: 0 4px 6px rgba(0,0,0,0.05); + box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05); height: 500px; display: flex; align-items: center; @@ -10,7 +10,7 @@ } #map { height: 500px; - width:100%; + width: 100%; margin-bottom: 10px; } #map img { @@ -19,7 +19,7 @@ height: auto; } .search-box { - box-shadow: 0 2px 10px rgba(0,0,0,0.1); + box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1); border-radius: 8px; } @media (max-width: 768px) { diff --git a/scss/sidebar.scss b/scss/sidebar.scss index 8aa2e84e..24c9fc48 100644 --- a/scss/sidebar.scss +++ b/scss/sidebar.scss @@ -1,14 +1,14 @@ .logo-container { - display: flex; - justify-content: center; - align-items: center; - transition: all 0.3s ease; + display: flex; + justify-content: center; + align-items: center; + transition: all 0.3s ease; } .logo { - max-width: 100%; - height: auto; - transition: all 0.3s ease; + max-width: 100%; + height: auto; + transition: all 0.3s ease; } #sidebar { @@ -27,11 +27,11 @@ } /* Logo style when sidebar is collapsed */ #sidebar.collapsed .logo-container { - width: 100%; + width: 100%; } #sidebar.collapsed .logo-img { - max-width: 40px; /* smaller size for collapsed state */ + max-width: 40px; /* smaller size for collapsed state */ } #content { transition: all 0.3s; @@ -51,8 +51,8 @@ margin-bottom: 20px; overflow: hidden; white-space: nowrap; - display: flex; - justify-content: center; /* Center for the logo */ + display: flex; + justify-content: center; /* Center for the logo */ } .sidebar-menu { @@ -127,7 +127,7 @@ } #sidebar.collapsed > #sidebarToggle { - left: calc(70px - 15px); + left: calc(70px - 15px); } #sidebar > #sidebarToggle i { diff --git a/scss/style.scss b/scss/style.scss index 5b312e89..071c50cd 100644 --- a/scss/style.scss +++ b/scss/style.scss @@ -1,29 +1,29 @@ // 1. Include specific theme variables -$primary: #F76436; -$secondary: #3C552D; -$success: #8BAE67; -$warning: #FFC01B; +$primary: #f76436; +$secondary: #3c552d; +$success: #8bae67; +$warning: #ffc01b; $danger: #6b2737; -$info: #D7B26D; +$info: #d7b26d; $dark: #3b1002; $light: #fde1d8; -$off-white: #F8F9FA; +$off-white: #f8f9fa; $off-black: #495057; -$primary-light-4: #FAA489; +$primary-light-4: #faa489; // 2. Configure color contrast $color-contrast-dark: #000; $color-contrast-light: #fff; -$min-contrast-ratio: 2.0; +$min-contrast-ratio: 2; $custom-colors: ( - "color1": $primary, - "color2": $secondary, - "color3": $success, - "color4": $danger, - "color5": $warning, - "color6": $info, + "color1": $primary, + "color2": $secondary, + "color3": $success, + "color4": $danger, + "color5": $warning, + "color6": $info, ); $theme-colors: map-merge( ( @@ -34,14 +34,18 @@ $theme-colors: map-merge( "warning": $warning, "info": $info, "dark": $dark, - "light": $light + "light": $light, ), $custom-colors ); @keyframes spin { - 0% { transform: rotate(0deg); } - 100% { transform: rotate(360deg); } + 0% { + transform: rotate(0deg); + } + 100% { + transform: rotate(360deg); + } } // Make custom SVG icons about the same size as other icons diff --git a/scss/sync/notification.scss b/scss/sync/notification.scss index c0a32667..7345ec28 100644 --- a/scss/sync/notification.scss +++ b/scss/sync/notification.scss @@ -2,7 +2,7 @@ transition: all 0.2s ease; } .notification-item:hover { - background-color: rgba(0,0,0,0.05); + background-color: rgba(0, 0, 0, 0.05); } .notification-time { font-size: 0.8rem; diff --git a/scss/sync/upload-by-id.scss b/scss/sync/upload-by-id.scss index bbe986f1..a2f72bae 100644 --- a/scss/sync/upload-by-id.scss +++ b/scss/sync/upload-by-id.scss @@ -2,16 +2,16 @@ background-color: $info; } .badge.empty { - background-color: #9C9BC0; + background-color: #9c9bc0; } .badge.false.pool { - background-color: #6B2737; + background-color: #6b2737; } .badge.green { - background-color: #4B6827; + background-color: #4b6827; } .badge.murky { - background-color: #88BC4E; + background-color: #88bc4e; } .badge.unknown { background-color: gray; @@ -22,7 +22,7 @@ .summary-card:hover { transform: translateY(-5px); } -.badge.status{ +.badge.status { font-size: 0.85rem; } .badge.status.existing { diff --git a/scss/vendor/bootstrap-5.3.8/scss/_accordion.scss b/scss/vendor/bootstrap-5.3.8/scss/_accordion.scss deleted file mode 100644 index e9f267fb..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_accordion.scss +++ /dev/null @@ -1,153 +0,0 @@ -// -// Base styles -// - -.accordion { - // scss-docs-start accordion-css-vars - --#{$prefix}accordion-color: #{$accordion-color}; - --#{$prefix}accordion-bg: #{$accordion-bg}; - --#{$prefix}accordion-transition: #{$accordion-transition}; - --#{$prefix}accordion-border-color: #{$accordion-border-color}; - --#{$prefix}accordion-border-width: #{$accordion-border-width}; - --#{$prefix}accordion-border-radius: #{$accordion-border-radius}; - --#{$prefix}accordion-inner-border-radius: #{$accordion-inner-border-radius}; - --#{$prefix}accordion-btn-padding-x: #{$accordion-button-padding-x}; - --#{$prefix}accordion-btn-padding-y: #{$accordion-button-padding-y}; - --#{$prefix}accordion-btn-color: #{$accordion-button-color}; - --#{$prefix}accordion-btn-bg: #{$accordion-button-bg}; - --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon)}; - --#{$prefix}accordion-btn-icon-width: #{$accordion-icon-width}; - --#{$prefix}accordion-btn-icon-transform: #{$accordion-icon-transform}; - --#{$prefix}accordion-btn-icon-transition: #{$accordion-icon-transition}; - --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon)}; - --#{$prefix}accordion-btn-focus-box-shadow: #{$accordion-button-focus-box-shadow}; - --#{$prefix}accordion-body-padding-x: #{$accordion-body-padding-x}; - --#{$prefix}accordion-body-padding-y: #{$accordion-body-padding-y}; - --#{$prefix}accordion-active-color: #{$accordion-button-active-color}; - --#{$prefix}accordion-active-bg: #{$accordion-button-active-bg}; - // scss-docs-end accordion-css-vars -} - -.accordion-button { - position: relative; - display: flex; - align-items: center; - width: 100%; - padding: var(--#{$prefix}accordion-btn-padding-y) var(--#{$prefix}accordion-btn-padding-x); - @include font-size($font-size-base); - color: var(--#{$prefix}accordion-btn-color); - text-align: left; // Reset button style - background-color: var(--#{$prefix}accordion-btn-bg); - border: 0; - @include border-radius(0); - overflow-anchor: none; - @include transition(var(--#{$prefix}accordion-transition)); - - &:not(.collapsed) { - color: var(--#{$prefix}accordion-active-color); - background-color: var(--#{$prefix}accordion-active-bg); - box-shadow: inset 0 calc(-1 * var(--#{$prefix}accordion-border-width)) 0 var(--#{$prefix}accordion-border-color); // stylelint-disable-line function-disallowed-list - - &::after { - background-image: var(--#{$prefix}accordion-btn-active-icon); - transform: var(--#{$prefix}accordion-btn-icon-transform); - } - } - - // Accordion icon - &::after { - flex-shrink: 0; - width: var(--#{$prefix}accordion-btn-icon-width); - height: var(--#{$prefix}accordion-btn-icon-width); - margin-left: auto; - content: ""; - background-image: var(--#{$prefix}accordion-btn-icon); - background-repeat: no-repeat; - background-size: var(--#{$prefix}accordion-btn-icon-width); - @include transition(var(--#{$prefix}accordion-btn-icon-transition)); - } - - &:hover { - z-index: 2; - } - - &:focus { - z-index: 3; - outline: 0; - box-shadow: var(--#{$prefix}accordion-btn-focus-box-shadow); - } -} - -.accordion-header { - margin-bottom: 0; -} - -.accordion-item { - color: var(--#{$prefix}accordion-color); - background-color: var(--#{$prefix}accordion-bg); - border: var(--#{$prefix}accordion-border-width) solid var(--#{$prefix}accordion-border-color); - - &:first-of-type { - @include border-top-radius(var(--#{$prefix}accordion-border-radius)); - - > .accordion-header .accordion-button { - @include border-top-radius(var(--#{$prefix}accordion-inner-border-radius)); - } - } - - &:not(:first-of-type) { - border-top: 0; - } - - // Only set a border-radius on the last item if the accordion is collapsed - &:last-of-type { - @include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); - - > .accordion-header .accordion-button { - &.collapsed { - @include border-bottom-radius(var(--#{$prefix}accordion-inner-border-radius)); - } - } - - > .accordion-collapse { - @include border-bottom-radius(var(--#{$prefix}accordion-border-radius)); - } - } -} - -.accordion-body { - padding: var(--#{$prefix}accordion-body-padding-y) var(--#{$prefix}accordion-body-padding-x); -} - - -// Flush accordion items -// -// Remove borders and border-radius to keep accordion items edge-to-edge. - -.accordion-flush { - > .accordion-item { - border-right: 0; - border-left: 0; - @include border-radius(0); - - &:first-child { border-top: 0; } - &:last-child { border-bottom: 0; } - - // stylelint-disable selector-max-class - > .accordion-collapse, - > .accordion-header .accordion-button, - > .accordion-header .accordion-button.collapsed { - @include border-radius(0); - } - // stylelint-enable selector-max-class - } -} - -@if $enable-dark-mode { - @include color-mode(dark) { - .accordion-button::after { - --#{$prefix}accordion-btn-icon: #{escape-svg($accordion-button-icon-dark)}; - --#{$prefix}accordion-btn-active-icon: #{escape-svg($accordion-button-active-icon-dark)}; - } - } -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_alert.scss b/scss/vendor/bootstrap-5.3.8/scss/_alert.scss deleted file mode 100644 index b8cff9b7..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_alert.scss +++ /dev/null @@ -1,68 +0,0 @@ -// -// Base styles -// - -.alert { - // scss-docs-start alert-css-vars - --#{$prefix}alert-bg: transparent; - --#{$prefix}alert-padding-x: #{$alert-padding-x}; - --#{$prefix}alert-padding-y: #{$alert-padding-y}; - --#{$prefix}alert-margin-bottom: #{$alert-margin-bottom}; - --#{$prefix}alert-color: inherit; - --#{$prefix}alert-border-color: transparent; - --#{$prefix}alert-border: #{$alert-border-width} solid var(--#{$prefix}alert-border-color); - --#{$prefix}alert-border-radius: #{$alert-border-radius}; - --#{$prefix}alert-link-color: inherit; - // scss-docs-end alert-css-vars - - position: relative; - padding: var(--#{$prefix}alert-padding-y) var(--#{$prefix}alert-padding-x); - margin-bottom: var(--#{$prefix}alert-margin-bottom); - color: var(--#{$prefix}alert-color); - background-color: var(--#{$prefix}alert-bg); - border: var(--#{$prefix}alert-border); - @include border-radius(var(--#{$prefix}alert-border-radius)); -} - -// Headings for larger alerts -.alert-heading { - // Specified to prevent conflicts of changing $headings-color - color: inherit; -} - -// Provide class for links that match alerts -.alert-link { - font-weight: $alert-link-font-weight; - color: var(--#{$prefix}alert-link-color); -} - - -// Dismissible alerts -// -// Expand the right padding and account for the close button's positioning. - -.alert-dismissible { - padding-right: $alert-dismissible-padding-r; - - // Adjust close link position - .btn-close { - position: absolute; - top: 0; - right: 0; - z-index: $stretched-link-z-index + 1; - padding: $alert-padding-y * 1.25 $alert-padding-x; - } -} - - -// scss-docs-start alert-modifiers -// Generate contextual modifier classes for colorizing the alert -@each $state in map-keys($theme-colors) { - .alert-#{$state} { - --#{$prefix}alert-color: var(--#{$prefix}#{$state}-text-emphasis); - --#{$prefix}alert-bg: var(--#{$prefix}#{$state}-bg-subtle); - --#{$prefix}alert-border-color: var(--#{$prefix}#{$state}-border-subtle); - --#{$prefix}alert-link-color: var(--#{$prefix}#{$state}-text-emphasis); - } -} -// scss-docs-end alert-modifiers diff --git a/scss/vendor/bootstrap-5.3.8/scss/_badge.scss b/scss/vendor/bootstrap-5.3.8/scss/_badge.scss deleted file mode 100644 index cc3d2695..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_badge.scss +++ /dev/null @@ -1,38 +0,0 @@ -// Base class -// -// Requires one of the contextual, color modifier classes for `color` and -// `background-color`. - -.badge { - // scss-docs-start badge-css-vars - --#{$prefix}badge-padding-x: #{$badge-padding-x}; - --#{$prefix}badge-padding-y: #{$badge-padding-y}; - @include rfs($badge-font-size, --#{$prefix}badge-font-size); - --#{$prefix}badge-font-weight: #{$badge-font-weight}; - --#{$prefix}badge-color: #{$badge-color}; - --#{$prefix}badge-border-radius: #{$badge-border-radius}; - // scss-docs-end badge-css-vars - - display: inline-block; - padding: var(--#{$prefix}badge-padding-y) var(--#{$prefix}badge-padding-x); - @include font-size(var(--#{$prefix}badge-font-size)); - font-weight: var(--#{$prefix}badge-font-weight); - line-height: 1; - color: var(--#{$prefix}badge-color); - text-align: center; - white-space: nowrap; - vertical-align: baseline; - @include border-radius(var(--#{$prefix}badge-border-radius)); - @include gradient-bg(); - - // Empty badges collapse automatically - &:empty { - display: none; - } -} - -// Quick fix for badges in buttons -.btn .badge { - position: relative; - top: -1px; -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_breadcrumb.scss b/scss/vendor/bootstrap-5.3.8/scss/_breadcrumb.scss deleted file mode 100644 index b8252ff2..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_breadcrumb.scss +++ /dev/null @@ -1,40 +0,0 @@ -.breadcrumb { - // scss-docs-start breadcrumb-css-vars - --#{$prefix}breadcrumb-padding-x: #{$breadcrumb-padding-x}; - --#{$prefix}breadcrumb-padding-y: #{$breadcrumb-padding-y}; - --#{$prefix}breadcrumb-margin-bottom: #{$breadcrumb-margin-bottom}; - @include rfs($breadcrumb-font-size, --#{$prefix}breadcrumb-font-size); - --#{$prefix}breadcrumb-bg: #{$breadcrumb-bg}; - --#{$prefix}breadcrumb-border-radius: #{$breadcrumb-border-radius}; - --#{$prefix}breadcrumb-divider-color: #{$breadcrumb-divider-color}; - --#{$prefix}breadcrumb-item-padding-x: #{$breadcrumb-item-padding-x}; - --#{$prefix}breadcrumb-item-active-color: #{$breadcrumb-active-color}; - // scss-docs-end breadcrumb-css-vars - - display: flex; - flex-wrap: wrap; - padding: var(--#{$prefix}breadcrumb-padding-y) var(--#{$prefix}breadcrumb-padding-x); - margin-bottom: var(--#{$prefix}breadcrumb-margin-bottom); - @include font-size(var(--#{$prefix}breadcrumb-font-size)); - list-style: none; - background-color: var(--#{$prefix}breadcrumb-bg); - @include border-radius(var(--#{$prefix}breadcrumb-border-radius)); -} - -.breadcrumb-item { - // The separator between breadcrumbs (by default, a forward-slash: "/") - + .breadcrumb-item { - padding-left: var(--#{$prefix}breadcrumb-item-padding-x); - - &::before { - float: left; // Suppress inline spacings and underlining of the separator - padding-right: var(--#{$prefix}breadcrumb-item-padding-x); - color: var(--#{$prefix}breadcrumb-divider-color); - content: var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"}; - } - } - - &.active { - color: var(--#{$prefix}breadcrumb-item-active-color); - } -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_button-group.scss b/scss/vendor/bootstrap-5.3.8/scss/_button-group.scss deleted file mode 100644 index 78e12522..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_button-group.scss +++ /dev/null @@ -1,147 +0,0 @@ -// Make the div behave like a button -.btn-group, -.btn-group-vertical { - position: relative; - display: inline-flex; - vertical-align: middle; // match .btn alignment given font-size hack above - - > .btn { - position: relative; - flex: 1 1 auto; - } - - // Bring the hover, focused, and "active" buttons to the front to overlay - // the borders properly - > .btn-check:checked + .btn, - > .btn-check:focus + .btn, - > .btn:hover, - > .btn:focus, - > .btn:active, - > .btn.active { - z-index: 1; - } -} - -// Optional: Group multiple button groups together for a toolbar -.btn-toolbar { - display: flex; - flex-wrap: wrap; - justify-content: flex-start; - - .input-group { - width: auto; - } -} - -.btn-group { - @include border-radius($btn-border-radius); - - // Prevent double borders when buttons are next to each other - > :not(.btn-check:first-child) + .btn, - > .btn-group:not(:first-child) { - margin-left: calc(-1 * #{$btn-border-width}); // stylelint-disable-line function-disallowed-list - } - - // Reset rounded corners - > .btn:not(:last-child):not(.dropdown-toggle), - > .btn.dropdown-toggle-split:first-child, - > .btn-group:not(:last-child) > .btn { - @include border-end-radius(0); - } - - // The left radius should be 0 if the button is: - // - the "third or more" child - // - the second child and the previous element isn't `.btn-check` (making it the first child visually) - // - part of a btn-group which isn't the first child - > .btn:nth-child(n + 3), - > :not(.btn-check) + .btn, - > .btn-group:not(:first-child) > .btn { - @include border-start-radius(0); - } -} - -// Sizing -// -// Remix the default button sizing classes into new ones for easier manipulation. - -.btn-group-sm > .btn { @extend .btn-sm; } -.btn-group-lg > .btn { @extend .btn-lg; } - - -// -// Split button dropdowns -// - -.dropdown-toggle-split { - padding-right: $btn-padding-x * .75; - padding-left: $btn-padding-x * .75; - - &::after, - .dropup &::after, - .dropend &::after { - margin-left: 0; - } - - .dropstart &::before { - margin-right: 0; - } -} - -.btn-sm + .dropdown-toggle-split { - padding-right: $btn-padding-x-sm * .75; - padding-left: $btn-padding-x-sm * .75; -} - -.btn-lg + .dropdown-toggle-split { - padding-right: $btn-padding-x-lg * .75; - padding-left: $btn-padding-x-lg * .75; -} - - -// The clickable button for toggling the menu -// Set the same inset shadow as the :active state -.btn-group.show .dropdown-toggle { - @include box-shadow($btn-active-box-shadow); - - // Show no shadow for `.btn-link` since it has no other button styles. - &.btn-link { - @include box-shadow(none); - } -} - - -// -// Vertical button groups -// - -.btn-group-vertical { - flex-direction: column; - align-items: flex-start; - justify-content: center; - - > .btn, - > .btn-group { - width: 100%; - } - - > .btn:not(:first-child), - > .btn-group:not(:first-child) { - margin-top: calc(-1 * #{$btn-border-width}); // stylelint-disable-line function-disallowed-list - } - - // Reset rounded corners - > .btn:not(:last-child):not(.dropdown-toggle), - > .btn-group:not(:last-child) > .btn { - @include border-bottom-radius(0); - } - - // The top radius should be 0 if the button is: - // - the "third or more" child - // - the second child and the previous element isn't `.btn-check` (making it the first child visually) - // - part of a btn-group which isn't the first child - > .btn:nth-child(n + 3), - > :not(.btn-check) + .btn, - > .btn-group:not(:first-child) > .btn { - @include border-top-radius(0); - } -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_buttons.scss b/scss/vendor/bootstrap-5.3.8/scss/_buttons.scss deleted file mode 100644 index caa4518a..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_buttons.scss +++ /dev/null @@ -1,216 +0,0 @@ -// -// Base styles -// - -.btn { - // scss-docs-start btn-css-vars - --#{$prefix}btn-padding-x: #{$btn-padding-x}; - --#{$prefix}btn-padding-y: #{$btn-padding-y}; - --#{$prefix}btn-font-family: #{$btn-font-family}; - @include rfs($btn-font-size, --#{$prefix}btn-font-size); - --#{$prefix}btn-font-weight: #{$btn-font-weight}; - --#{$prefix}btn-line-height: #{$btn-line-height}; - --#{$prefix}btn-color: #{$btn-color}; - --#{$prefix}btn-bg: transparent; - --#{$prefix}btn-border-width: #{$btn-border-width}; - --#{$prefix}btn-border-color: transparent; - --#{$prefix}btn-border-radius: #{$btn-border-radius}; - --#{$prefix}btn-hover-border-color: transparent; - --#{$prefix}btn-box-shadow: #{$btn-box-shadow}; - --#{$prefix}btn-disabled-opacity: #{$btn-disabled-opacity}; - --#{$prefix}btn-focus-box-shadow: 0 0 0 #{$btn-focus-width} rgba(var(--#{$prefix}btn-focus-shadow-rgb), .5); - // scss-docs-end btn-css-vars - - display: inline-block; - padding: var(--#{$prefix}btn-padding-y) var(--#{$prefix}btn-padding-x); - font-family: var(--#{$prefix}btn-font-family); - @include font-size(var(--#{$prefix}btn-font-size)); - font-weight: var(--#{$prefix}btn-font-weight); - line-height: var(--#{$prefix}btn-line-height); - color: var(--#{$prefix}btn-color); - text-align: center; - text-decoration: if($link-decoration == none, null, none); - white-space: $btn-white-space; - vertical-align: middle; - cursor: if($enable-button-pointers, pointer, null); - user-select: none; - border: var(--#{$prefix}btn-border-width) solid var(--#{$prefix}btn-border-color); - @include border-radius(var(--#{$prefix}btn-border-radius)); - @include gradient-bg(var(--#{$prefix}btn-bg)); - @include box-shadow(var(--#{$prefix}btn-box-shadow)); - @include transition($btn-transition); - - &:hover { - color: var(--#{$prefix}btn-hover-color); - text-decoration: if($link-hover-decoration == underline, none, null); - background-color: var(--#{$prefix}btn-hover-bg); - border-color: var(--#{$prefix}btn-hover-border-color); - } - - .btn-check + &:hover { - // override for the checkbox/radio buttons - color: var(--#{$prefix}btn-color); - background-color: var(--#{$prefix}btn-bg); - border-color: var(--#{$prefix}btn-border-color); - } - - &:focus-visible { - color: var(--#{$prefix}btn-hover-color); - @include gradient-bg(var(--#{$prefix}btn-hover-bg)); - border-color: var(--#{$prefix}btn-hover-border-color); - outline: 0; - // Avoid using mixin so we can pass custom focus shadow properly - @if $enable-shadows { - box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); - } @else { - box-shadow: var(--#{$prefix}btn-focus-box-shadow); - } - } - - .btn-check:focus-visible + & { - border-color: var(--#{$prefix}btn-hover-border-color); - outline: 0; - // Avoid using mixin so we can pass custom focus shadow properly - @if $enable-shadows { - box-shadow: var(--#{$prefix}btn-box-shadow), var(--#{$prefix}btn-focus-box-shadow); - } @else { - box-shadow: var(--#{$prefix}btn-focus-box-shadow); - } - } - - .btn-check:checked + &, - :not(.btn-check) + &:active, - &:first-child:active, - &.active, - &.show { - color: var(--#{$prefix}btn-active-color); - background-color: var(--#{$prefix}btn-active-bg); - // Remove CSS gradients if they're enabled - background-image: if($enable-gradients, none, null); - border-color: var(--#{$prefix}btn-active-border-color); - @include box-shadow(var(--#{$prefix}btn-active-shadow)); - - &:focus-visible { - // Avoid using mixin so we can pass custom focus shadow properly - @if $enable-shadows { - box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); - } @else { - box-shadow: var(--#{$prefix}btn-focus-box-shadow); - } - } - } - - .btn-check:checked:focus-visible + & { - // Avoid using mixin so we can pass custom focus shadow properly - @if $enable-shadows { - box-shadow: var(--#{$prefix}btn-active-shadow), var(--#{$prefix}btn-focus-box-shadow); - } @else { - box-shadow: var(--#{$prefix}btn-focus-box-shadow); - } - } - - &:disabled, - &.disabled, - fieldset:disabled & { - color: var(--#{$prefix}btn-disabled-color); - pointer-events: none; - background-color: var(--#{$prefix}btn-disabled-bg); - background-image: if($enable-gradients, none, null); - border-color: var(--#{$prefix}btn-disabled-border-color); - opacity: var(--#{$prefix}btn-disabled-opacity); - @include box-shadow(none); - } -} - - -// -// Alternate buttons -// - -// scss-docs-start btn-variant-loops -@each $color, $value in $theme-colors { - .btn-#{$color} { - @if $color == "light" { - @include button-variant( - $value, - $value, - $hover-background: shade-color($value, $btn-hover-bg-shade-amount), - $hover-border: shade-color($value, $btn-hover-border-shade-amount), - $active-background: shade-color($value, $btn-active-bg-shade-amount), - $active-border: shade-color($value, $btn-active-border-shade-amount) - ); - } @else if $color == "dark" { - @include button-variant( - $value, - $value, - $hover-background: tint-color($value, $btn-hover-bg-tint-amount), - $hover-border: tint-color($value, $btn-hover-border-tint-amount), - $active-background: tint-color($value, $btn-active-bg-tint-amount), - $active-border: tint-color($value, $btn-active-border-tint-amount) - ); - } @else { - @include button-variant($value, $value); - } - } -} - -@each $color, $value in $theme-colors { - .btn-outline-#{$color} { - @include button-outline-variant($value); - } -} -// scss-docs-end btn-variant-loops - - -// -// Link buttons -// - -// Make a button look and behave like a link -.btn-link { - --#{$prefix}btn-font-weight: #{$font-weight-normal}; - --#{$prefix}btn-color: #{$btn-link-color}; - --#{$prefix}btn-bg: transparent; - --#{$prefix}btn-border-color: transparent; - --#{$prefix}btn-hover-color: #{$btn-link-hover-color}; - --#{$prefix}btn-hover-border-color: transparent; - --#{$prefix}btn-active-color: #{$btn-link-hover-color}; - --#{$prefix}btn-active-border-color: transparent; - --#{$prefix}btn-disabled-color: #{$btn-link-disabled-color}; - --#{$prefix}btn-disabled-border-color: transparent; - --#{$prefix}btn-box-shadow: 0 0 0 #000; // Can't use `none` as keyword negates all values when used with multiple shadows - --#{$prefix}btn-focus-shadow-rgb: #{$btn-link-focus-shadow-rgb}; - - text-decoration: $link-decoration; - @if $enable-gradients { - background-image: none; - } - - &:hover, - &:focus-visible { - text-decoration: $link-hover-decoration; - } - - &:focus-visible { - color: var(--#{$prefix}btn-color); - } - - &:hover { - color: var(--#{$prefix}btn-hover-color); - } - - // No need for an active state here -} - - -// -// Button Sizes -// - -.btn-lg { - @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-lg); -} - -.btn-sm { - @include button-size($btn-padding-y-sm, $btn-padding-x-sm, $btn-font-size-sm, $btn-border-radius-sm); -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_card.scss b/scss/vendor/bootstrap-5.3.8/scss/_card.scss deleted file mode 100644 index dcebe6ac..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_card.scss +++ /dev/null @@ -1,238 +0,0 @@ -// -// Base styles -// - -.card { - // scss-docs-start card-css-vars - --#{$prefix}card-spacer-y: #{$card-spacer-y}; - --#{$prefix}card-spacer-x: #{$card-spacer-x}; - --#{$prefix}card-title-spacer-y: #{$card-title-spacer-y}; - --#{$prefix}card-title-color: #{$card-title-color}; - --#{$prefix}card-subtitle-color: #{$card-subtitle-color}; - --#{$prefix}card-border-width: #{$card-border-width}; - --#{$prefix}card-border-color: #{$card-border-color}; - --#{$prefix}card-border-radius: #{$card-border-radius}; - --#{$prefix}card-box-shadow: #{$card-box-shadow}; - --#{$prefix}card-inner-border-radius: #{$card-inner-border-radius}; - --#{$prefix}card-cap-padding-y: #{$card-cap-padding-y}; - --#{$prefix}card-cap-padding-x: #{$card-cap-padding-x}; - --#{$prefix}card-cap-bg: #{$card-cap-bg}; - --#{$prefix}card-cap-color: #{$card-cap-color}; - --#{$prefix}card-height: #{$card-height}; - --#{$prefix}card-color: #{$card-color}; - --#{$prefix}card-bg: #{$card-bg}; - --#{$prefix}card-img-overlay-padding: #{$card-img-overlay-padding}; - --#{$prefix}card-group-margin: #{$card-group-margin}; - // scss-docs-end card-css-vars - - position: relative; - display: flex; - flex-direction: column; - min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 - height: var(--#{$prefix}card-height); - color: var(--#{$prefix}body-color); - word-wrap: break-word; - background-color: var(--#{$prefix}card-bg); - background-clip: border-box; - border: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); - @include border-radius(var(--#{$prefix}card-border-radius)); - @include box-shadow(var(--#{$prefix}card-box-shadow)); - - > hr { - margin-right: 0; - margin-left: 0; - } - - > .list-group { - border-top: inherit; - border-bottom: inherit; - - &:first-child { - border-top-width: 0; - @include border-top-radius(var(--#{$prefix}card-inner-border-radius)); - } - - &:last-child { - border-bottom-width: 0; - @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius)); - } - } - - // Due to specificity of the above selector (`.card > .list-group`), we must - // use a child selector here to prevent double borders. - > .card-header + .list-group, - > .list-group + .card-footer { - border-top: 0; - } -} - -.card-body { - // Enable `flex-grow: 1` for decks and groups so that card blocks take up - // as much space as possible, ensuring footers are aligned to the bottom. - flex: 1 1 auto; - padding: var(--#{$prefix}card-spacer-y) var(--#{$prefix}card-spacer-x); - color: var(--#{$prefix}card-color); -} - -.card-title { - margin-bottom: var(--#{$prefix}card-title-spacer-y); - color: var(--#{$prefix}card-title-color); -} - -.card-subtitle { - margin-top: calc(-.5 * var(--#{$prefix}card-title-spacer-y)); // stylelint-disable-line function-disallowed-list - margin-bottom: 0; - color: var(--#{$prefix}card-subtitle-color); -} - -.card-text:last-child { - margin-bottom: 0; -} - -.card-link { - &:hover { - text-decoration: if($link-hover-decoration == underline, none, null); - } - - + .card-link { - margin-left: var(--#{$prefix}card-spacer-x); - } -} - -// -// Optional textual caps -// - -.card-header { - padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x); - margin-bottom: 0; // Removes the default margin-bottom of - color: var(--#{$prefix}card-cap-color); - background-color: var(--#{$prefix}card-cap-bg); - border-bottom: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); - - &:first-child { - @include border-radius(var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius) 0 0); - } -} - -.card-footer { - padding: var(--#{$prefix}card-cap-padding-y) var(--#{$prefix}card-cap-padding-x); - color: var(--#{$prefix}card-cap-color); - background-color: var(--#{$prefix}card-cap-bg); - border-top: var(--#{$prefix}card-border-width) solid var(--#{$prefix}card-border-color); - - &:last-child { - @include border-radius(0 0 var(--#{$prefix}card-inner-border-radius) var(--#{$prefix}card-inner-border-radius)); - } -} - - -// -// Header navs -// - -.card-header-tabs { - margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list - margin-bottom: calc(-1 * var(--#{$prefix}card-cap-padding-y)); // stylelint-disable-line function-disallowed-list - margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list - border-bottom: 0; - - .nav-link.active { - background-color: var(--#{$prefix}card-bg); - border-bottom-color: var(--#{$prefix}card-bg); - } -} - -.card-header-pills { - margin-right: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list - margin-left: calc(-.5 * var(--#{$prefix}card-cap-padding-x)); // stylelint-disable-line function-disallowed-list -} - -// Card image -.card-img-overlay { - position: absolute; - top: 0; - right: 0; - bottom: 0; - left: 0; - padding: var(--#{$prefix}card-img-overlay-padding); - @include border-radius(var(--#{$prefix}card-inner-border-radius)); -} - -.card-img, -.card-img-top, -.card-img-bottom { - width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch -} - -.card-img, -.card-img-top { - @include border-top-radius(var(--#{$prefix}card-inner-border-radius)); -} - -.card-img, -.card-img-bottom { - @include border-bottom-radius(var(--#{$prefix}card-inner-border-radius)); -} - - -// -// Card groups -// - -.card-group { - // The child selector allows nested `.card` within `.card-group` - // to display properly. - > .card { - margin-bottom: var(--#{$prefix}card-group-margin); - } - - @include media-breakpoint-up(sm) { - display: flex; - flex-flow: row wrap; - // The child selector allows nested `.card` within `.card-group` - // to display properly. - > .card { - flex: 1 0 0; - margin-bottom: 0; - - + .card { - margin-left: 0; - border-left: 0; - } - - // Handle rounded corners - @if $enable-rounded { - &:not(:last-child) { - @include border-end-radius(0); - - > .card-img-top, - > .card-header { - // stylelint-disable-next-line property-disallowed-list - border-top-right-radius: 0; - } - > .card-img-bottom, - > .card-footer { - // stylelint-disable-next-line property-disallowed-list - border-bottom-right-radius: 0; - } - } - - &:not(:first-child) { - @include border-start-radius(0); - - > .card-img-top, - > .card-header { - // stylelint-disable-next-line property-disallowed-list - border-top-left-radius: 0; - } - > .card-img-bottom, - > .card-footer { - // stylelint-disable-next-line property-disallowed-list - border-bottom-left-radius: 0; - } - } - } - } - } -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_carousel.scss b/scss/vendor/bootstrap-5.3.8/scss/_carousel.scss deleted file mode 100644 index 5ebf6b15..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_carousel.scss +++ /dev/null @@ -1,226 +0,0 @@ -// Notes on the classes: -// -// 1. .carousel.pointer-event should ideally be pan-y (to allow for users to scroll vertically) -// even when their scroll action started on a carousel, but for compatibility (with Firefox) -// we're preventing all actions instead -// 2. The .carousel-item-start and .carousel-item-end is used to indicate where -// the active slide is heading. -// 3. .active.carousel-item is the current slide. -// 4. .active.carousel-item-start and .active.carousel-item-end is the current -// slide in its in-transition state. Only one of these occurs at a time. -// 5. .carousel-item-next.carousel-item-start and .carousel-item-prev.carousel-item-end -// is the upcoming slide in transition. - -.carousel { - position: relative; -} - -.carousel.pointer-event { - touch-action: pan-y; -} - -.carousel-inner { - position: relative; - width: 100%; - overflow: hidden; - @include clearfix(); -} - -.carousel-item { - position: relative; - display: none; - float: left; - width: 100%; - margin-right: -100%; - backface-visibility: hidden; - @include transition($carousel-transition); -} - -.carousel-item.active, -.carousel-item-next, -.carousel-item-prev { - display: block; -} - -.carousel-item-next:not(.carousel-item-start), -.active.carousel-item-end { - transform: translateX(100%); -} - -.carousel-item-prev:not(.carousel-item-end), -.active.carousel-item-start { - transform: translateX(-100%); -} - - -// -// Alternate transitions -// - -.carousel-fade { - .carousel-item { - opacity: 0; - transition-property: opacity; - transform: none; - } - - .carousel-item.active, - .carousel-item-next.carousel-item-start, - .carousel-item-prev.carousel-item-end { - z-index: 1; - opacity: 1; - } - - .active.carousel-item-start, - .active.carousel-item-end { - z-index: 0; - opacity: 0; - @include transition(opacity 0s $carousel-transition-duration); - } -} - - -// -// Left/right controls for nav -// - -.carousel-control-prev, -.carousel-control-next { - position: absolute; - top: 0; - bottom: 0; - z-index: 1; - // Use flex for alignment (1-3) - display: flex; // 1. allow flex styles - align-items: center; // 2. vertically center contents - justify-content: center; // 3. horizontally center contents - width: $carousel-control-width; - padding: 0; - color: $carousel-control-color; - text-align: center; - background: none; - filter: var(--#{$prefix}carousel-control-icon-filter); - border: 0; - opacity: $carousel-control-opacity; - @include transition($carousel-control-transition); - - // Hover/focus state - &:hover, - &:focus { - color: $carousel-control-color; - text-decoration: none; - outline: 0; - opacity: $carousel-control-hover-opacity; - } -} -.carousel-control-prev { - left: 0; - background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null); -} -.carousel-control-next { - right: 0; - background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null); -} - -// Icons for within -.carousel-control-prev-icon, -.carousel-control-next-icon { - display: inline-block; - width: $carousel-control-icon-width; - height: $carousel-control-icon-width; - background-repeat: no-repeat; - background-position: 50%; - background-size: 100% 100%; -} - -.carousel-control-prev-icon { - background-image: escape-svg($carousel-control-prev-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-next-icon-bg) + "*/"}; -} -.carousel-control-next-icon { - background-image: escape-svg($carousel-control-next-icon-bg) #{"/*rtl:" + escape-svg($carousel-control-prev-icon-bg) + "*/"}; -} - -// Optional indicator pips/controls -// -// Add a container (such as a list) with the following class and add an item (ideally a focusable control, -// like a button) with data-bs-target for each slide your carousel holds. - -.carousel-indicators { - position: absolute; - right: 0; - bottom: 0; - left: 0; - z-index: 2; - display: flex; - justify-content: center; - padding: 0; - // Use the .carousel-control's width as margin so we don't overlay those - margin-right: $carousel-control-width; - margin-bottom: 1rem; - margin-left: $carousel-control-width; - - [data-bs-target] { - box-sizing: content-box; - flex: 0 1 auto; - width: $carousel-indicator-width; - height: $carousel-indicator-height; - padding: 0; - margin-right: $carousel-indicator-spacer; - margin-left: $carousel-indicator-spacer; - text-indent: -999px; - cursor: pointer; - background-color: var(--#{$prefix}carousel-indicator-active-bg); - background-clip: padding-box; - border: 0; - // Use transparent borders to increase the hit area by 10px on top and bottom. - border-top: $carousel-indicator-hit-area-height solid transparent; - border-bottom: $carousel-indicator-hit-area-height solid transparent; - opacity: $carousel-indicator-opacity; - @include transition($carousel-indicator-transition); - } - - .active { - opacity: $carousel-indicator-active-opacity; - } -} - - -// Optional captions -// -// - -.carousel-caption { - position: absolute; - right: (100% - $carousel-caption-width) * .5; - bottom: $carousel-caption-spacer; - left: (100% - $carousel-caption-width) * .5; - padding-top: $carousel-caption-padding-y; - padding-bottom: $carousel-caption-padding-y; - color: var(--#{$prefix}carousel-caption-color); - text-align: center; -} - -// Dark mode carousel - -@mixin carousel-dark() { - --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg-dark}; - --#{$prefix}carousel-caption-color: #{$carousel-caption-color-dark}; - --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter-dark}; -} - -.carousel-dark { - @include carousel-dark(); -} - -:root, -[data-bs-theme="light"] { - --#{$prefix}carousel-indicator-active-bg: #{$carousel-indicator-active-bg}; - --#{$prefix}carousel-caption-color: #{$carousel-caption-color}; - --#{$prefix}carousel-control-icon-filter: #{$carousel-control-icon-filter}; -} - -@if $enable-dark-mode { - @include color-mode(dark, true) { - @include carousel-dark(); - } -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_close.scss b/scss/vendor/bootstrap-5.3.8/scss/_close.scss deleted file mode 100644 index d53c96fb..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_close.scss +++ /dev/null @@ -1,66 +0,0 @@ -// Transparent background and border properties included for button version. -// iOS requires the button element instead of an anchor tag. -// If you want the anchor version, it requires `href="#"`. -// See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile - -.btn-close { - // scss-docs-start close-css-vars - --#{$prefix}btn-close-color: #{$btn-close-color}; - --#{$prefix}btn-close-bg: #{ escape-svg($btn-close-bg) }; - --#{$prefix}btn-close-opacity: #{$btn-close-opacity}; - --#{$prefix}btn-close-hover-opacity: #{$btn-close-hover-opacity}; - --#{$prefix}btn-close-focus-shadow: #{$btn-close-focus-shadow}; - --#{$prefix}btn-close-focus-opacity: #{$btn-close-focus-opacity}; - --#{$prefix}btn-close-disabled-opacity: #{$btn-close-disabled-opacity}; - // scss-docs-end close-css-vars - - box-sizing: content-box; - width: $btn-close-width; - height: $btn-close-height; - padding: $btn-close-padding-y $btn-close-padding-x; - color: var(--#{$prefix}btn-close-color); - background: transparent var(--#{$prefix}btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements - filter: var(--#{$prefix}btn-close-filter); - border: 0; // for button elements - @include border-radius(); - opacity: var(--#{$prefix}btn-close-opacity); - - // Override 's hover style - &:hover { - color: var(--#{$prefix}btn-close-color); - text-decoration: none; - opacity: var(--#{$prefix}btn-close-hover-opacity); - } - - &:focus { - outline: 0; - box-shadow: var(--#{$prefix}btn-close-focus-shadow); - opacity: var(--#{$prefix}btn-close-focus-opacity); - } - - &:disabled, - &.disabled { - pointer-events: none; - user-select: none; - opacity: var(--#{$prefix}btn-close-disabled-opacity); - } -} - -@mixin btn-close-white() { - --#{$prefix}btn-close-filter: #{$btn-close-filter-dark}; -} - -.btn-close-white { - @include btn-close-white(); -} - -:root, -[data-bs-theme="light"] { - --#{$prefix}btn-close-filter: #{$btn-close-filter}; -} - -@if $enable-dark-mode { - @include color-mode(dark, true) { - @include btn-close-white(); - } -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_containers.scss b/scss/vendor/bootstrap-5.3.8/scss/_containers.scss deleted file mode 100644 index 83b31381..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_containers.scss +++ /dev/null @@ -1,41 +0,0 @@ -// Container widths -// -// Set the container width, and override it for fixed navbars in media queries. - -@if $enable-container-classes { - // Single container class with breakpoint max-widths - .container, - // 100% wide container at all breakpoints - .container-fluid { - @include make-container(); - } - - // Responsive containers that are 100% wide until a breakpoint - @each $breakpoint, $container-max-width in $container-max-widths { - .container-#{$breakpoint} { - @extend .container-fluid; - } - - @include media-breakpoint-up($breakpoint, $grid-breakpoints) { - %responsive-container-#{$breakpoint} { - max-width: $container-max-width; - } - - // Extend each breakpoint which is smaller or equal to the current breakpoint - $extend-breakpoint: true; - - @each $name, $width in $grid-breakpoints { - @if ($extend-breakpoint) { - .container#{breakpoint-infix($name, $grid-breakpoints)} { - @extend %responsive-container-#{$breakpoint}; - } - - // Once the current breakpoint is reached, stop extending - @if ($breakpoint == $name) { - $extend-breakpoint: false; - } - } - } - } - } -} diff --git a/scss/vendor/bootstrap-5.3.8/scss/_dropdown.scss b/scss/vendor/bootstrap-5.3.8/scss/_dropdown.scss deleted file mode 100644 index 587ebb48..00000000 --- a/scss/vendor/bootstrap-5.3.8/scss/_dropdown.scss +++ /dev/null @@ -1,250 +0,0 @@ -// The dropdown wrapper (`
`) -.dropup, -.dropend, -.dropdown, -.dropstart, -.dropup-center, -.dropdown-center { - position: relative; -} - -.dropdown-toggle { - white-space: nowrap; - - // Generate the caret automatically - @include caret(); -} - -// The dropdown menu -.dropdown-menu { - // scss-docs-start dropdown-css-vars - --#{$prefix}dropdown-zindex: #{$zindex-dropdown}; - --#{$prefix}dropdown-min-width: #{$dropdown-min-width}; - --#{$prefix}dropdown-padding-x: #{$dropdown-padding-x}; - --#{$prefix}dropdown-padding-y: #{$dropdown-padding-y}; - --#{$prefix}dropdown-spacer: #{$dropdown-spacer}; - @include rfs($dropdown-font-size, --#{$prefix}dropdown-font-size); - --#{$prefix}dropdown-color: #{$dropdown-color}; - --#{$prefix}dropdown-bg: #{$dropdown-bg}; - --#{$prefix}dropdown-border-color: #{$dropdown-border-color}; - --#{$prefix}dropdown-border-radius: #{$dropdown-border-radius}; - --#{$prefix}dropdown-border-width: #{$dropdown-border-width}; - --#{$prefix}dropdown-inner-border-radius: #{$dropdown-inner-border-radius}; - --#{$prefix}dropdown-divider-bg: #{$dropdown-divider-bg}; - --#{$prefix}dropdown-divider-margin-y: #{$dropdown-divider-margin-y}; - --#{$prefix}dropdown-box-shadow: #{$dropdown-box-shadow}; - --#{$prefix}dropdown-link-color: #{$dropdown-link-color}; - --#{$prefix}dropdown-link-hover-color: #{$dropdown-link-hover-color}; - --#{$prefix}dropdown-link-hover-bg: #{$dropdown-link-hover-bg}; - --#{$prefix}dropdown-link-active-color: #{$dropdown-link-active-color}; - --#{$prefix}dropdown-link-active-bg: #{$dropdown-link-active-bg}; - --#{$prefix}dropdown-link-disabled-color: #{$dropdown-link-disabled-color}; - --#{$prefix}dropdown-item-padding-x: #{$dropdown-item-padding-x}; - --#{$prefix}dropdown-item-padding-y: #{$dropdown-item-padding-y}; - --#{$prefix}dropdown-header-color: #{$dropdown-header-color}; - --#{$prefix}dropdown-header-padding-x: #{$dropdown-header-padding-x}; - --#{$prefix}dropdown-header-padding-y: #{$dropdown-header-padding-y}; - // scss-docs-end dropdown-css-vars - - position: absolute; - z-index: var(--#{$prefix}dropdown-zindex); - display: none; // none by default, but block on "open" of the menu - min-width: var(--#{$prefix}dropdown-min-width); - padding: var(--#{$prefix}dropdown-padding-y) var(--#{$prefix}dropdown-padding-x); - margin: 0; // Override default margin of ul - @include font-size(var(--#{$prefix}dropdown-font-size)); - color: var(--#{$prefix}dropdown-color); - text-align: left; // Ensures proper alignment if parent has it changed (e.g., modal footer) - list-style: none; - background-color: var(--#{$prefix}dropdown-bg); - background-clip: padding-box; - border: var(--#{$prefix}dropdown-border-width) solid var(--#{$prefix}dropdown-border-color); - @include border-radius(var(--#{$prefix}dropdown-border-radius)); - @include box-shadow(var(--#{$prefix}dropdown-box-shadow)); - - &[data-bs-popper] { - top: 100%; - left: 0; - margin-top: var(--#{$prefix}dropdown-spacer); - } - - @if $dropdown-padding-y == 0 { - > .dropdown-item:first-child, - > li:first-child .dropdown-item { - @include border-top-radius(var(--#{$prefix}dropdown-inner-border-radius)); - } - > .dropdown-item:last-child, - > li:last-child .dropdown-item { - @include border-bottom-radius(var(--#{$prefix}dropdown-inner-border-radius)); - } - - } -} - -// scss-docs-start responsive-breakpoints -// We deliberately hardcode the `bs-` prefix because we check -// this custom property in JS to determine Popper's positioning - -@each $breakpoint in map-keys($grid-breakpoints) { - @include media-breakpoint-up($breakpoint) { - $infix: breakpoint-infix($breakpoint, $grid-breakpoints); - - .dropdown-menu#{$infix}-start { - --bs-position: start; - - &[data-bs-popper] { - right: auto; - left: 0; - } - } - - .dropdown-menu#{$infix}-end { - --bs-position: end; - - &[data-bs-popper] { - right: 0; - left: auto; - } - } - } -} -// scss-docs-end responsive-breakpoints - -// Allow for dropdowns to go bottom up (aka, dropup-menu) -// Just add .dropup after the standard .dropdown class and you're set. -.dropup { - .dropdown-menu[data-bs-popper] { - top: auto; - bottom: 100%; - margin-top: 0; - margin-bottom: var(--#{$prefix}dropdown-spacer); - } - - .dropdown-toggle { - @include caret(up); - } -} - -.dropend { - .dropdown-menu[data-bs-popper] { - top: 0; - right: auto; - left: 100%; - margin-top: 0; - margin-left: var(--#{$prefix}dropdown-spacer); - } - - .dropdown-toggle { - @include caret(end); - &::after { - vertical-align: 0; - } - } -} - -.dropstart { - .dropdown-menu[data-bs-popper] { - top: 0; - right: 100%; - left: auto; - margin-top: 0; - margin-right: var(--#{$prefix}dropdown-spacer); - } - - .dropdown-toggle { - @include caret(start); - &::before { - vertical-align: 0; - } - } -} - - -// Dividers (basically an `
`) within the dropdown -.dropdown-divider { - height: 0; - margin: var(--#{$prefix}dropdown-divider-margin-y) 0; - overflow: hidden; - border-top: 1px solid var(--#{$prefix}dropdown-divider-bg); - opacity: 1; // Revisit in v6 to de-dupe styles that conflict with
element -} - -// Links, buttons, and more within the dropdown menu -// -// `