From 8baad70c56b5e78e614cd2c54c08209bb76f3b2f Mon Sep 17 00:00:00 2001 From: duckietm Date: Tue, 5 Mar 2024 13:12:12 +0100 Subject: [PATCH] Fix: Bootstrap / RoomTools WidgetView / Loading Text --- src/assets/styles/bootstrap/_accordion.scss | 9 +- src/assets/styles/bootstrap/_alert.scss | 5 +- src/assets/styles/bootstrap/_breadcrumb.scss | 9 +- .../styles/bootstrap/_button-group.scss | 23 +- src/assets/styles/bootstrap/_buttons.scss | 131 ++++- src/assets/styles/bootstrap/_card.scss | 22 +- src/assets/styles/bootstrap/_carousel.scss | 19 +- src/assets/styles/bootstrap/_close.scss | 3 +- src/assets/styles/bootstrap/_dropdown.scss | 1 - src/assets/styles/bootstrap/_functions.scss | 138 ++++- src/assets/styles/bootstrap/_images.scss | 3 +- src/assets/styles/bootstrap/_list-group.scss | 19 +- src/assets/styles/bootstrap/_modal.scss | 24 +- src/assets/styles/bootstrap/_nav.scss | 208 +++---- src/assets/styles/bootstrap/_navbar.scss | 7 +- src/assets/styles/bootstrap/_offcanvas.scss | 14 +- src/assets/styles/bootstrap/_pagination.scss | 22 +- .../styles/bootstrap/_placeholders.scss | 11 +- src/assets/styles/bootstrap/_popover.scss | 24 +- src/assets/styles/bootstrap/_progress.scss | 4 +- src/assets/styles/bootstrap/_reboot.scss | 370 ++++++------ src/assets/styles/bootstrap/_spinners.scss | 4 +- src/assets/styles/bootstrap/_tables.scss | 16 +- src/assets/styles/bootstrap/_toasts.scss | 6 +- src/assets/styles/bootstrap/_tooltip.scss | 14 +- src/assets/styles/bootstrap/_type.scss | 2 - src/assets/styles/bootstrap/_utilities.scss | 549 +++++++++++------- src/assets/styles/bootstrap/_variables.scss | 4 +- .../styles/bootstrap/bootstrap-grid.scss | 2 +- .../styles/bootstrap/forms/_form-check.scss | 23 +- .../styles/bootstrap/forms/_form-control.scss | 18 +- .../styles/bootstrap/forms/_form-range.scss | 15 +- .../styles/bootstrap/forms/_form-select.scss | 13 +- .../styles/bootstrap/forms/_input-group.scss | 11 +- .../bootstrap/helpers/_colored-links.scss | 6 +- .../styles/bootstrap/mixins/_backdrop.scss | 8 +- .../bootstrap/mixins/_border-radius.scss | 3 +- .../styles/bootstrap/mixins/_breakpoints.scss | 24 +- .../styles/bootstrap/mixins/_buttons.scss | 51 +- .../styles/bootstrap/mixins/_deprecate.scss | 7 +- .../styles/bootstrap/mixins/_forms.scss | 18 +- .../styles/bootstrap/mixins/_gradients.scss | 72 ++- src/assets/styles/bootstrap/mixins/_grid.scss | 36 +- .../styles/bootstrap/mixins/_image.scss | 1 - .../styles/bootstrap/mixins/_transition.scss | 7 +- .../styles/bootstrap/mixins/_utilities.scss | 35 +- .../styles/bootstrap/utilities/_api.scss | 13 +- src/assets/styles/bootstrap/vendor/_rfs.scss | 11 +- src/common/InfiniteScroll.tsx | 48 +- src/components/loading/LoadingView.tsx | 2 +- src/components/room/widgets/RoomWidgets.scss | 10 +- .../room-tools/RoomToolsWidgetView.tsx | 310 +++++----- 52 files changed, 1513 insertions(+), 892 deletions(-) diff --git a/src/assets/styles/bootstrap/_accordion.scss b/src/assets/styles/bootstrap/_accordion.scss index fc62ceb..2d6ab38 100644 --- a/src/assets/styles/bootstrap/_accordion.scss +++ b/src/assets/styles/bootstrap/_accordion.scss @@ -93,7 +93,6 @@ padding: $accordion-body-padding-y $accordion-body-padding-x; } - // Flush accordion items // // Remove borders and border-radius to keep accordion items edge-to-edge. @@ -108,8 +107,12 @@ border-left: 0; @include border-radius(0); - &:first-child { border-top: 0; } - &:last-child { border-bottom: 0; } + &:first-child { + border-top: 0; + } + &:last-child { + border-bottom: 0; + } .accordion-button { @include border-radius(0); diff --git a/src/assets/styles/bootstrap/_alert.scss b/src/assets/styles/bootstrap/_alert.scss index 34f1e84..670a7bf 100644 --- a/src/assets/styles/bootstrap/_alert.scss +++ b/src/assets/styles/bootstrap/_alert.scss @@ -1,3 +1,4 @@ +@use 'sass:math'; // // Base styles // @@ -21,7 +22,6 @@ font-weight: $alert-link-font-weight; } - // Dismissible alerts // // Expand the right padding and account for the close button's positioning. @@ -39,7 +39,6 @@ } } - // scss-docs-start alert-modifiers // Generate contextual modifier classes for colorizing the alert. @@ -48,7 +47,7 @@ $alert-border: shift-color($value, $alert-border-scale); $alert-color: shift-color($value, $alert-color-scale); @if (contrast-ratio($alert-background, $alert-color) < $min-contrast-ratio) { - $alert-color: mix($value, color-contrast($alert-background), abs($alert-color-scale)); + $alert-color: mix($value, color-contrast($alert-background), math.abs($alert-color-scale)); } .alert-#{$state} { @include alert-variant($alert-background, $alert-border, $alert-color); diff --git a/src/assets/styles/bootstrap/_breadcrumb.scss b/src/assets/styles/bootstrap/_breadcrumb.scss index f7fafe7..bbd5552 100644 --- a/src/assets/styles/bootstrap/_breadcrumb.scss +++ b/src/assets/styles/bootstrap/_breadcrumb.scss @@ -18,7 +18,14 @@ float: left; // Suppress inline spacings and underlining of the separator padding-right: $breadcrumb-item-padding-x; color: $breadcrumb-divider-color; - content: var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider)) #{"/* rtl:"} var(--#{$variable-prefix}breadcrumb-divider, escape-svg($breadcrumb-divider-flipped)) #{"*/"}; + content: var( + --#{$variable-prefix}breadcrumb-divider, + escape-svg($breadcrumb-divider) + ) + #{"/* rtl:"} var( + --#{$variable-prefix}breadcrumb-divider, + escape-svg($breadcrumb-divider-flipped) + ) #{"*/"}; } } diff --git a/src/assets/styles/bootstrap/_button-group.scss b/src/assets/styles/bootstrap/_button-group.scss index 13aa056..e7b961c 100644 --- a/src/assets/styles/bootstrap/_button-group.scss +++ b/src/assets/styles/bootstrap/_button-group.scss @@ -61,17 +61,20 @@ // // 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; } - +.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; + padding-right: $btn-padding-x * 0.75; + padding-left: $btn-padding-x * 0.75; &::after, .dropup &::after, @@ -85,16 +88,15 @@ } .btn-sm + .dropdown-toggle-split { - padding-right: $btn-padding-x-sm * .75; - padding-left: $btn-padding-x-sm * .75; + padding-right: $btn-padding-x-sm * 0.75; + padding-left: $btn-padding-x-sm * 0.75; } .btn-lg + .dropdown-toggle-split { - padding-right: $btn-padding-x-lg * .75; - padding-left: $btn-padding-x-lg * .75; + padding-right: $btn-padding-x-lg * 0.75; + padding-left: $btn-padding-x-lg * 0.75; } - // The clickable button for toggling the menu // Set the same inset shadow as the :active state .btn-group.show .dropdown-toggle { @@ -106,7 +108,6 @@ } } - // // Vertical button groups // diff --git a/src/assets/styles/bootstrap/_buttons.scss b/src/assets/styles/bootstrap/_buttons.scss index 3c2cba9..672fd60 100644 --- a/src/assets/styles/bootstrap/_buttons.scss +++ b/src/assets/styles/bootstrap/_buttons.scss @@ -16,7 +16,12 @@ user-select: none; background-color: transparent; border: $btn-border-width solid transparent; - @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-border-radius); + @include button-size( + $btn-padding-y, + $btn-padding-x, + $btn-font-size, + $btn-border-radius + ); @include transition($btn-transition); &:hover { @@ -50,7 +55,6 @@ } } - // // Alternate buttons // @@ -69,7 +73,6 @@ } // scss-docs-end btn-variant-loops - // // Link buttons // @@ -102,15 +105,131 @@ // No need for an active state here } - // // Button Sizes // +.btn-toggle { + border-image-source: url("@/assets/images/buttons/toggle_bg.png"); + border-image-slice: 6 6 6 6 fill; + border-image-width: 6px 6px 6px 6px; + cursor: pointer; + + .toggle-icon { + background-repeat: no-repeat; + width: 6px; + height: 8px; + + &.left { + background-image: url("@/assets/images/buttons/toggle_left.png"); + } + + &.right { + background-image: url("@/assets/images/buttons/toggle_right.png"); + } + } +} + +.infostand-buttons { + border-image-source: url(@/assets/images/room/infostand_buttons.png); + border-image-slice: 3 3 3 3 fill; + border-image-width: 3px 3px 3px 3px; + font-size: 9px; + color: #ffffff; + height: 25px; + margin-top: 5px; + + &:hover { + border-image-source: url(@/assets/images/room/infostand_buttons_hover.png); + } + + &:active { + border-image-source: url(@/assets/images/room/infostand_buttons_active.png); + } +} + +.volter-bold-button { + border-image-source: url(@/assets/images/buttons/volter_bold_btn.png); + border-image-slice: 6 6 6 6 fill; + border-image-width: 6px 6px 6px 6px; + font-size: 9px; + height: 20px; + margin-top: 5px; + + &:hover { + border-image-source: url(@/assets/images/buttons/volter_bold_btn_hover.png); + } + + &:active { + border-image-source: url(@/assets/images/buttons/volter_bold_btn_active.png); + } +} + +.volter-button { + border-image-source: url(@/assets/images/buttons/volter_normal_btn.png); + border-image-slice: 4 4 4 4 fill; + border-image-width: 4px 4px 4px 4px; + font-size: 9px; + height: 20px; + margin-top: 5px; + + &:hover { + border-image-source: url(@/assets/images/buttons/volter_normal_btn_hover.png); + } + + &:active { + border-image-source: url(@/assets/images/buttons/volter_normal_btn_active.png); + } + &.active { + border-image-source: url(@/assets/images/buttons/volter_normal_btn_active.png); + } +} + +.notification-buttons { + border-image-source: url(@/assets/images/room/infostand_buttons.png); + border-image-slice: 3 3 3 3 fill; + border-image-width: 3px 3px 3px 3px; + color: #ffffff; + height: 25px; + font-size: 13px; + padding: 0; + border-radius: 13px; + + &:hover { + border-image-source: url(@/assets/images/room/infostand_buttons_hover.png); + } + + &:active { + border-image-source: url(@/assets/images/room/infostand_buttons_active.png); + } +} + +.notification-text-link { + font-size: 13px; +} + +.gift-color-btn { + outline: 1px solid #000; + border: 3px solid #fff; + min-height: 22px; + min-width: 23px; + +} + .btn-lg { - @include button-size($btn-padding-y-lg, $btn-padding-x-lg, $btn-font-size-lg, $btn-border-radius-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); + @include button-size( + $btn-padding-y-sm, + $btn-padding-x-sm, + $btn-font-size-sm, + $btn-border-radius-sm + ); } diff --git a/src/assets/styles/bootstrap/_card.scss b/src/assets/styles/bootstrap/_card.scss index 22890f5..94f1b4c 100644 --- a/src/assets/styles/bootstrap/_card.scss +++ b/src/assets/styles/bootstrap/_card.scss @@ -29,7 +29,7 @@ @include border-top-radius($card-inner-border-radius); } - &:last-child { + &:last-child { border-bottom-width: 0; @include border-bottom-radius($card-inner-border-radius); } @@ -56,7 +56,7 @@ } .card-subtitle { - margin-top: -$card-title-spacer-y * .5; + margin-top: -$card-title-spacer-y * 0.5; margin-bottom: 0; } @@ -86,7 +86,9 @@ border-bottom: $card-border-width solid $card-border-color; &:first-child { - @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0); + @include border-radius( + $card-inner-border-radius $card-inner-border-radius 0 0 + ); } } @@ -97,19 +99,20 @@ border-top: $card-border-width solid $card-border-color; &:last-child { - @include border-radius(0 0 $card-inner-border-radius $card-inner-border-radius); + @include border-radius( + 0 0 $card-inner-border-radius $card-inner-border-radius + ); } } - // // Header navs // .card-header-tabs { - margin-right: -$card-cap-padding-x * .5; + margin-right: -$card-cap-padding-x * 0.5; margin-bottom: -$card-cap-padding-y; - margin-left: -$card-cap-padding-x * .5; + margin-left: -$card-cap-padding-x * 0.5; border-bottom: 0; @if $nav-tabs-link-active-bg != $card-bg { @@ -121,8 +124,8 @@ } .card-header-pills { - margin-right: -$card-cap-padding-x * .5; - margin-left: -$card-cap-padding-x * .5; + margin-right: -$card-cap-padding-x * 0.5; + margin-left: -$card-cap-padding-x * 0.5; } // Card image @@ -152,7 +155,6 @@ @include border-bottom-radius($card-inner-border-radius); } - // // Card groups // diff --git a/src/assets/styles/bootstrap/_carousel.scss b/src/assets/styles/bootstrap/_carousel.scss index 3d8fb15..6ea3d65 100644 --- a/src/assets/styles/bootstrap/_carousel.scss +++ b/src/assets/styles/bootstrap/_carousel.scss @@ -55,7 +55,6 @@ /* rtl:end:ignore */ - // // Alternate transitions // @@ -82,7 +81,6 @@ } } - // // Left/right controls for nav // @@ -117,11 +115,19 @@ } .carousel-control-prev { left: 0; - background-image: if($enable-gradients, linear-gradient(90deg, rgba($black, .25), rgba($black, .001)), null); + background-image: if( + $enable-gradients, + linear-gradient(90deg, rgba($black, 0.25), rgba($black, 0.001)), + null + ); } .carousel-control-next { right: 0; - background-image: if($enable-gradients, linear-gradient(270deg, rgba($black, .25), rgba($black, .001)), null); + background-image: if( + $enable-gradients, + linear-gradient(270deg, rgba($black, 0.25), rgba($black, 0.001)), + null + ); } // Icons for within @@ -195,16 +201,15 @@ } } - // Optional captions // // .carousel-caption { position: absolute; - right: (100% - $carousel-caption-width) * .5; + right: (100% - $carousel-caption-width) * 0.5; bottom: $carousel-caption-spacer; - left: (100% - $carousel-caption-width) * .5; + left: (100% - $carousel-caption-width) * 0.5; padding-top: $carousel-caption-padding-y; padding-bottom: $carousel-caption-padding-y; color: $carousel-caption-color; diff --git a/src/assets/styles/bootstrap/_close.scss b/src/assets/styles/bootstrap/_close.scss index 32a0f68..27fc146 100644 --- a/src/assets/styles/bootstrap/_close.scss +++ b/src/assets/styles/bootstrap/_close.scss @@ -9,7 +9,8 @@ height: $btn-close-height; padding: $btn-close-padding-y $btn-close-padding-x; color: $btn-close-color; - background: transparent escape-svg($btn-close-bg) center / $btn-close-width auto no-repeat; // include transparent for button elements + background: transparent escape-svg($btn-close-bg) center / $btn-close-width + auto no-repeat; // include transparent for button elements border: 0; // for button elements @include border-radius(); opacity: $btn-close-opacity; diff --git a/src/assets/styles/bootstrap/_dropdown.scss b/src/assets/styles/bootstrap/_dropdown.scss index adc1143..d3fbf68 100644 --- a/src/assets/styles/bootstrap/_dropdown.scss +++ b/src/assets/styles/bootstrap/_dropdown.scss @@ -116,7 +116,6 @@ } } - // Dividers (basically an `
`) within the dropdown .dropdown-divider { height: 0; diff --git a/src/assets/styles/bootstrap/_functions.scss b/src/assets/styles/bootstrap/_functions.scss index 977f0ee..893c682 100644 --- a/src/assets/styles/bootstrap/_functions.scss +++ b/src/assets/styles/bootstrap/_functions.scss @@ -1,3 +1,4 @@ +@use 'sass:math'; // Bootstrap functions // // Utility mixins and functions for evaluating source code across our variables, maps, and mixins. @@ -38,7 +39,10 @@ } @function rgba-css-var($identifier, $target) { - @return rgba(var(--#{$variable-prefix}#{$identifier}-rgb), var(--#{$variable-prefix}#{$target}-opacity)); + @return rgba( + var(--#{$variable-prefix}#{$identifier}-rgb), + var(--#{$variable-prefix}#{$target}-opacity) + ); } // stylelint-disable scss/dollar-variable-pattern @@ -49,10 +53,18 @@ // allow to pass the $key and $value of the map as an function argument $_args: (); @each $arg in $args { - $_args: append($_args, if($arg == "$key", $key, if($arg == "$value", $value, $arg))); + $_args: append( + $_args, + if($arg == "$key", $key, if($arg == "$value", $value, $arg)) + ); } - $_map: map-merge($_map, ($key: call(get-function($func), $_args...))); + $_map: map-merge( + $_map, + ( + $key: call(get-function($func), $_args...), + ) + ); } @return $_map; @@ -84,7 +96,12 @@ $result: (); @each $key, $value in $map { @if (index($values, $key) != null) { - $result: map-merge($result, ($key: $value)); + $result: map-merge( + $result, + ( + $key: $value, + ) + ); } } @return $result; @@ -112,7 +129,12 @@ $index: str-index($string, $search); @if $index { - @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace); + @return str-slice($string, 1, $index - 1) + $replace + + str-replace( + str-slice($string, $index + str-length($search)), + $search, + $replace + ); } @return $string; @@ -142,9 +164,37 @@ // A list of pre-calculated numbers of pow(divide((divide($value, 255) + .055), 1.055), 2.4). (from 0 to 255) // stylelint-disable-next-line scss/dollar-variable-default, scss/dollar-variable-pattern -$_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 .0033 .0037 .004 .0044 .0048 .0052 .0056 .006 .0065 .007 .0075 .008 .0086 .0091 .0097 .0103 .011 .0116 .0123 .013 .0137 .0144 .0152 .016 .0168 .0176 .0185 .0194 .0203 .0212 .0222 .0232 .0242 .0252 .0262 .0273 .0284 .0296 .0307 .0319 .0331 .0343 .0356 .0369 .0382 .0395 .0409 .0423 .0437 .0452 .0467 .0482 .0497 .0513 .0529 .0545 .0561 .0578 .0595 .0612 .063 .0648 .0666 .0685 .0704 .0723 .0742 .0762 .0782 .0802 .0823 .0844 .0865 .0887 .0908 .0931 .0953 .0976 .0999 .1022 .1046 .107 .1095 .1119 .1144 .117 .1195 .1221 .1248 .1274 .1301 .1329 .1356 .1384 .1413 .1441 .147 .15 .1529 .1559 .159 .162 .1651 .1683 .1714 .1746 .1779 .1812 .1845 .1878 .1912 .1946 .1981 .2016 .2051 .2086 .2122 .2159 .2195 .2232 .227 .2307 .2346 .2384 .2423 .2462 .2502 .2542 .2582 .2623 .2664 .2705 .2747 .2789 .2831 .2874 .2918 .2961 .3005 .305 .3095 .314 .3185 .3231 .3278 .3325 .3372 .3419 .3467 .3515 .3564 .3613 .3663 .3712 .3763 .3813 .3864 .3916 .3968 .402 .4072 .4125 .4179 .4233 .4287 .4342 .4397 .4452 .4508 .4564 .4621 .4678 .4735 .4793 .4851 .491 .4969 .5029 .5089 .5149 .521 .5271 .5333 .5395 .5457 .552 .5583 .5647 .5711 .5776 .5841 .5906 .5972 .6038 .6105 .6172 .624 .6308 .6376 .6445 .6514 .6584 .6654 .6724 .6795 .6867 .6939 .7011 .7084 .7157 .7231 .7305 .7379 .7454 .7529 .7605 .7682 .7758 .7835 .7913 .7991 .807 .8148 .8228 .8308 .8388 .8469 .855 .8632 .8714 .8796 .8879 .8963 .9047 .9131 .9216 .9301 .9387 .9473 .956 .9647 .9734 .9823 .9911 1; +$_luminance-list: 0.0008 0.001 0.0011 0.0013 0.0015 0.0017 0.002 0.0022 0.0025 + 0.0027 0.003 0.0033 0.0037 0.004 0.0044 0.0048 0.0052 0.0056 0.006 0.0065 + 0.007 0.0075 0.008 0.0086 0.0091 0.0097 0.0103 0.011 0.0116 0.0123 0.013 + 0.0137 0.0144 0.0152 0.016 0.0168 0.0176 0.0185 0.0194 0.0203 0.0212 0.0222 + 0.0232 0.0242 0.0252 0.0262 0.0273 0.0284 0.0296 0.0307 0.0319 0.0331 0.0343 + 0.0356 0.0369 0.0382 0.0395 0.0409 0.0423 0.0437 0.0452 0.0467 0.0482 0.0497 + 0.0513 0.0529 0.0545 0.0561 0.0578 0.0595 0.0612 0.063 0.0648 0.0666 0.0685 + 0.0704 0.0723 0.0742 0.0762 0.0782 0.0802 0.0823 0.0844 0.0865 0.0887 0.0908 + 0.0931 0.0953 0.0976 0.0999 0.1022 0.1046 0.107 0.1095 0.1119 0.1144 0.117 + 0.1195 0.1221 0.1248 0.1274 0.1301 0.1329 0.1356 0.1384 0.1413 0.1441 0.147 + 0.15 0.1529 0.1559 0.159 0.162 0.1651 0.1683 0.1714 0.1746 0.1779 0.1812 + 0.1845 0.1878 0.1912 0.1946 0.1981 0.2016 0.2051 0.2086 0.2122 0.2159 0.2195 + 0.2232 0.227 0.2307 0.2346 0.2384 0.2423 0.2462 0.2502 0.2542 0.2582 0.2623 + 0.2664 0.2705 0.2747 0.2789 0.2831 0.2874 0.2918 0.2961 0.3005 0.305 0.3095 + 0.314 0.3185 0.3231 0.3278 0.3325 0.3372 0.3419 0.3467 0.3515 0.3564 0.3613 + 0.3663 0.3712 0.3763 0.3813 0.3864 0.3916 0.3968 0.402 0.4072 0.4125 0.4179 + 0.4233 0.4287 0.4342 0.4397 0.4452 0.4508 0.4564 0.4621 0.4678 0.4735 0.4793 + 0.4851 0.491 0.4969 0.5029 0.5089 0.5149 0.521 0.5271 0.5333 0.5395 0.5457 + 0.552 0.5583 0.5647 0.5711 0.5776 0.5841 0.5906 0.5972 0.6038 0.6105 0.6172 + 0.624 0.6308 0.6376 0.6445 0.6514 0.6584 0.6654 0.6724 0.6795 0.6867 0.6939 + 0.7011 0.7084 0.7157 0.7231 0.7305 0.7379 0.7454 0.7529 0.7605 0.7682 0.7758 + 0.7835 0.7913 0.7991 0.807 0.8148 0.8228 0.8308 0.8388 0.8469 0.855 0.8632 + 0.8714 0.8796 0.8879 0.8963 0.9047 0.9131 0.9216 0.9301 0.9387 0.9473 0.956 + 0.9647 0.9734 0.9823 0.9911 1; -@function color-contrast($background, $color-contrast-dark: $color-contrast-dark, $color-contrast-light: $color-contrast-light, $min-contrast-ratio: $min-contrast-ratio) { +@function color-contrast( + $background, + $color-contrast-dark: $color-contrast-dark, + $color-contrast-light: $color-contrast-light, + $min-contrast-ratio: $min-contrast-ratio +) { $foregrounds: $color-contrast-light, $color-contrast-dark, $white, $black; $max-ratio: 0; $max-ratio-color: null; @@ -168,7 +218,11 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 $l1: luminance($background); $l2: luminance(opaque($background, $foreground)); - @return if($l1 > $l2, divide($l1 + .05, $l2 + .05), divide($l2 + .05, $l1 + .05)); + @return if( + $l1 > $l2, + divide($l1 + 0.05, $l2 + 0.05), + divide($l2 + 0.05, $l1 + 0.05) + ); } // Return WCAG2.0 relative luminance @@ -178,15 +232,25 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 $rgb: ( "r": red($color), "g": green($color), - "b": blue($color) + "b": blue($color), ); @each $name, $value in $rgb { - $value: if(divide($value, 255) < .03928, divide(divide($value, 255), 12.92), nth($_luminance-list, $value + 1)); - $rgb: map-merge($rgb, ($name: $value)); + $value: if( + divide($value, 255) < 0.03928, + divide(divide($value, 255), 12.92), + nth($_luminance-list, $value + 1) + ); + $rgb: map-merge( + $rgb, + ( + $name: $value, + ) + ); } - @return (map-get($rgb, "r") * .2126) + (map-get($rgb, "g") * .7152) + (map-get($rgb, "b") * .0722); + @return (map-get($rgb, "r") * 0.2126) + (map-get($rgb, "g") * 0.7152) + + (map-get($rgb, "b") * 0.0722); } // Return opaque color @@ -208,7 +272,11 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 // Shade the color if the weight is positive, else tint it @function shift-color($color, $weight) { - @return if($weight * 1% > 0, shade-color($color, $weight), tint-color($color, -$weight)); + @return if( + $weight * 1% > 0, + shade-color($color, $weight), + tint-color($color, -$weight) + ); } // scss-docs-end color-functions @@ -222,11 +290,20 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 @return $value1; } - @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { + @if type-of($value1) == + number and + type-of($value2) == + number and + comparable($value1, $value2) + { @return $value1 + $value2; } - @return if($return-calc == true, calc(#{$value1} + #{$value2}), $value1 + unquote(" + ") + $value2); + @return if( + $return-calc == true, + calc(#{$value1} + #{$value2}), + $value1 + unquote(" + ") + $value2 + ); } @function subtract($value1, $value2, $return-calc: true) { @@ -242,7 +319,12 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 @return $value1; } - @if type-of($value1) == number and type-of($value2) == number and comparable($value1, $value2) { + @if type-of($value1) == + number and + type-of($value2) == + number and + comparable($value1, $value2) + { @return $value1 - $value2; } @@ -250,13 +332,21 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 $value2: unquote("(") + $value2 + unquote(")"); } - @return if($return-calc == true, calc(#{$value1} - #{$value2}), $value1 + unquote(" - ") + $value2); + @return if( + $return-calc == true, + calc(#{$value1} - #{$value2}), + $value1 + unquote(" - ") + $value2 + ); } @function divide($dividend, $divisor, $precision: 10) { - $sign: if($dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, 1, -1); - $dividend: abs($dividend); - $divisor: abs($divisor); + $sign: if( + $dividend > 0 and $divisor > 0 or $dividend < 0 and $divisor < 0, + 1, + -1 + ); + $dividend: math.abs($dividend); + $divisor: math.abs($divisor); @if $dividend == 0 { @return 0; } @@ -273,7 +363,7 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 $quotient: $quotient + 1; } $result: $result * 10 + $quotient; - $factor: $factor * .1; + $factor: $factor * 0.1; $remainder: $remainder * 10; $precision: $precision - 1; @if ($precision < 0 and $remainder >= $divisor * 5) { @@ -287,9 +377,11 @@ $_luminance-list: .0008 .001 .0011 .0013 .0015 .0017 .002 .0022 .0025 .0027 .003 "px": 1px, "rem": 1rem, "em": 1em, - "%": 1% + "%": 1%, ); - @if ($dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit)) { + @if ( + $dividend-unit != $divisor-unit and map-has-key($unit-map, $dividend-unit) + ) { $result: $result * map-get($unit-map, $dividend-unit); } @return $result; diff --git a/src/assets/styles/bootstrap/_images.scss b/src/assets/styles/bootstrap/_images.scss index 3d6a101..61677ac 100644 --- a/src/assets/styles/bootstrap/_images.scss +++ b/src/assets/styles/bootstrap/_images.scss @@ -9,7 +9,6 @@ @include img-fluid(); } - // Image thumbnails .img-thumbnail { padding: $thumbnail-padding; @@ -32,7 +31,7 @@ } .figure-img { - margin-bottom: $spacer * .5; + margin-bottom: $spacer * 0.5; line-height: 1; } diff --git a/src/assets/styles/bootstrap/_list-group.scss b/src/assets/styles/bootstrap/_list-group.scss index dcd61d2..b4a9730 100644 --- a/src/assets/styles/bootstrap/_list-group.scss +++ b/src/assets/styles/bootstrap/_list-group.scss @@ -1,3 +1,4 @@ +@use 'sass:math'; // Base class // // Easily usable on