From 9031a269559389ceaa7b862f6c42dd88c59d0ef9 Mon Sep 17 00:00:00 2001 From: duckietm Date: Tue, 2 Apr 2024 16:56:24 +0200 Subject: [PATCH] Migrate Look&Feel of CoolUI --- src/App.scss | 17 +- src/assets/styles/bootstrap/_accordion.scss | 9 +- src/assets/styles/bootstrap/_alert.scss | 4 +- 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 | 136 ++++- 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 | 2 +- src/assets/styles/icons.scss | 119 ++++ src/assets/styles/index.scss | 92 +++ src/common/InfiniteScroll.tsx | 96 ++- src/common/Slider.tsx | 21 + src/common/card/NitroCardView.scss | 61 +- src/common/card/NitroCardView.tsx | 30 + src/common/card/tabs/NitroCardTabsView.tsx | 4 +- src/common/index.scss | 18 +- src/common/layout/LayoutCurrencyIcon.tsx | 2 +- .../layout/LayoutFurniIconImageView.tsx | 2 +- src/common/layout/LayoutFurniImageView.tsx | 17 +- src/common/layout/LayoutGiftTagView.tsx | 4 +- .../layout/LayoutGridColorPickerItem.tsx | 75 +++ src/common/layout/LayoutMiniCameraView.tsx | 2 +- src/common/layout/LayoutPetImageView.tsx | 21 +- src/common/layout/LayoutRoomPreviewerView.tsx | 63 +- src/common/layout/LayoutTrophyView.tsx | 5 +- 66 files changed, 1811 insertions(+), 861 deletions(-) create mode 100644 src/common/Slider.tsx create mode 100644 src/common/layout/LayoutGridColorPickerItem.tsx diff --git a/src/App.scss b/src/App.scss index 2000ade..687677d 100644 --- a/src/App.scss +++ b/src/App.scss @@ -21,14 +21,14 @@ $toolbar-height: 55px; $achievement-width: 375px; $achievement-height: 405px; -$avatar-editor-width: 620px; -$avatar-editor-height: 374px; +$avatar-editor-width: 520px; +$avatar-editor-height: 553px; -$catalog-width: 630px; -$catalog-height: 400px; +$catalog-width: 650px; +$catalog-height: 480px; $inventory-width: 528px; -$inventory-height: 320px; +$inventory-height: 370px; $navigator-width: 420px; $navigator-height: 440px; @@ -60,8 +60,11 @@ $help-height: 290px; $nitropedia-width: 400px; $nitropedia-height: 400px; -$messenger-width: 500px; -$messenger-height: 370px; +$nitrobubblehidden-width: 400px; +$nitrobubblehidden-height: 400px; + +$messenger-width: 580px; +$messenger-height: 455px; $marketplace-post-offer-width: 430px; $marketplace-post-offer-height: 250px; 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 80b6a43..670a7bf 100644 --- a/src/assets/styles/bootstrap/_alert.scss +++ b/src/assets/styles/bootstrap/_alert.scss @@ -1,7 +1,7 @@ +@use 'sass:math'; // // Base styles // -@use 'sass:math'; .alert { position: relative; @@ -22,7 +22,6 @@ font-weight: $alert-link-font-weight; } - // Dismissible alerts // // Expand the right padding and account for the close button's positioning. @@ -40,7 +39,6 @@ } } - // scss-docs-start alert-modifiers // Generate contextual modifier classes for colorizing the alert. 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 1f5a283..893c682 100644 --- a/src/assets/styles/bootstrap/_functions.scss +++ b/src/assets/styles/bootstrap/_functions.scss @@ -1,11 +1,10 @@ +@use 'sass:math'; // Bootstrap functions // // Utility mixins and functions for evaluating source code across our variables, maps, and mixins. // Ascending // Used to evaluate Sass maps like our grid breakpoints. -@use 'sass:math'; - @mixin _assert-ascending($map, $map-name) { $prev-key: null; $prev-num: null; @@ -40,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 @@ -51,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; @@ -86,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; @@ -114,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; @@ -144,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; @@ -170,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 @@ -180,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 @@ -210,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 @@ -224,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) { @@ -244,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; } @@ -252,11 +332,19 @@ $_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); + $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 { @@ -275,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) { @@ -289,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 455acef..b4a9730 100644 --- a/src/assets/styles/bootstrap/_list-group.scss +++ b/src/assets/styles/bootstrap/_list-group.scss @@ -1,9 +1,8 @@ +@use 'sass:math'; // Base class // // Easily usable on