From 8b49e36656d7caf8a2f5c5537df2875ba7eacfee Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=C5=81ukasz=20Holeczek?= Date: Sun, 22 Oct 2017 19:18:46 +0200 Subject: [PATCH] - update: Bootstrap version to v4.0.0-beta.2 - refactor: Remove old SCSS variables - refactor: Breadcrumb Menu styles - fix: External links issue - fix: Mobile sidebar-nav height issue --- React_Full_Project/package.json | 5 +- .../scss/_bootstrap-variables.scss | 1 + React_Full_Project/scss/bootstrap/_alert.scss | 7 +- React_Full_Project/scss/bootstrap/_badge.scss | 3 +- .../scss/bootstrap/_breadcrumb.scss | 8 +- .../scss/bootstrap/_button-group.scss | 57 +- .../scss/bootstrap/_buttons.scss | 55 +- React_Full_Project/scss/bootstrap/_card.scss | 80 +- .../scss/bootstrap/_carousel.scss | 6 + React_Full_Project/scss/bootstrap/_close.scss | 4 +- .../scss/bootstrap/_custom-forms.scss | 19 +- .../scss/bootstrap/_dropdown.scss | 57 +- React_Full_Project/scss/bootstrap/_forms.scss | 56 +- .../scss/bootstrap/_functions.scss | 16 +- React_Full_Project/scss/bootstrap/_grid.scss | 1 - .../scss/bootstrap/_input-group.scss | 24 +- .../scss/bootstrap/_mixins.scss | 1 + React_Full_Project/scss/bootstrap/_modal.scss | 13 +- React_Full_Project/scss/bootstrap/_nav.scss | 10 +- .../scss/bootstrap/_navbar.scss | 32 +- .../scss/bootstrap/_pagination.scss | 6 +- .../scss/bootstrap/_popover.scss | 33 +- React_Full_Project/scss/bootstrap/_print.scss | 5 +- .../scss/bootstrap/_progress.scss | 10 +- .../scss/bootstrap/_reboot.scss | 55 +- React_Full_Project/scss/bootstrap/_root.scss | 19 + .../scss/bootstrap/_tables.scss | 70 +- .../scss/bootstrap/_tooltip.scss | 12 +- .../scss/bootstrap/_transitions.scss | 2 + React_Full_Project/scss/bootstrap/_type.scss | 2 + .../scss/bootstrap/_variables.scss | 931 +++++++++--------- .../scss/bootstrap/bootstrap-grid.scss | 16 +- .../scss/bootstrap/bootstrap-reboot.scss | 11 +- .../scss/bootstrap/bootstrap.scss | 3 +- .../scss/bootstrap/mixins/_alert.scss | 2 +- .../bootstrap/mixins/_background-variant.scss | 8 + .../scss/bootstrap/mixins/_badge.scss | 4 +- .../scss/bootstrap/mixins/_breakpoints.scss | 22 +- .../scss/bootstrap/mixins/_buttons.scss | 43 +- .../scss/bootstrap/mixins/_caret.scss | 35 + .../scss/bootstrap/mixins/_float.scss | 2 + .../scss/bootstrap/mixins/_forms.scss | 35 +- .../scss/bootstrap/mixins/_gradients.scss | 8 + .../bootstrap/mixins/_grid-framework.scss | 15 +- .../scss/bootstrap/mixins/_grid.scss | 15 +- .../scss/bootstrap/mixins/_hover.scss | 25 +- .../scss/bootstrap/mixins/_image.scss | 6 +- .../scss/bootstrap/mixins/_list-group.scss | 2 - .../scss/bootstrap/mixins/_navbar-align.scss | 3 +- .../scss/bootstrap/mixins/_reset-text.scss | 3 +- .../scss/bootstrap/mixins/_screen-reader.scss | 4 +- .../scss/bootstrap/mixins/_text-emphasis.scss | 2 + .../scss/bootstrap/mixins/_visibility.scss | 2 + .../scss/bootstrap/utilities/_align.scss | 2 + .../scss/bootstrap/utilities/_background.scss | 19 +- .../scss/bootstrap/utilities/_borders.scss | 8 +- .../scss/bootstrap/utilities/_display.scss | 3 + .../scss/bootstrap/utilities/_flex.scss | 2 + .../scss/bootstrap/utilities/_position.scss | 13 +- .../scss/bootstrap/utilities/_sizing.scss | 2 + .../scss/bootstrap/utilities/_spacing.scss | 38 +- .../scss/bootstrap/utilities/_text.scss | 11 +- .../scss/core/_breadcrumb-menu.scss | 12 +- React_Full_Project/scss/core/_breadcrumb.scss | 2 - React_Full_Project/scss/core/_layout.scss | 2 +- React_Full_Project/scss/core/_variables.scss | 2 - React_Full_Project/scss/style.scss | 2 +- .../src/components/Aside/package.json | 2 +- .../src/components/Breadcrumb/package.json | 2 +- .../src/components/Footer/package.json | 2 +- .../src/components/Header/HeaderDropdown.js | 5 +- .../src/components/Header/package.json | 2 +- .../src/components/Sidebar/Sidebar.js | 6 +- .../src/components/Sidebar/package.json | 2 +- .../src/components/SidebarFooter/package.json | 2 +- .../src/components/SidebarForm/package.json | 2 +- .../src/components/SidebarHeader/package.json | 2 +- .../components/SidebarMinimizer/package.json | 2 +- .../src/containers/Full/package.json | 2 +- .../src/views/Charts/package.json | 2 +- .../src/views/Components/Buttons/package.json | 2 +- .../src/views/Components/Cards/package.json | 2 +- .../src/views/Components/Forms/package.json | 2 +- .../src/views/Components/Modals/package.json | 2 +- .../Components/SocialButtons/package.json | 2 +- .../src/views/Components/Switches/Switches.js | 4 +- .../views/Components/Switches/package.json | 2 +- .../src/views/Components/Tables/package.json | 2 +- .../src/views/Components/Tabs/package.json | 2 +- .../src/views/Dashboard/Dashboard.js | 2 +- .../src/views/Dashboard/package.json | 2 +- .../src/views/Icons/FontAwesome/package.json | 2 +- .../views/Icons/SimpleLineIcons/package.json | 2 +- .../src/views/Pages/Login/Login.js | 2 +- .../src/views/Pages/Login/package.json | 2 +- .../src/views/Pages/Page404/package.json | 2 +- .../src/views/Pages/Page500/package.json | 2 +- .../src/views/Pages/Register/package.json | 2 +- .../src/views/Widgets/Widgets.js | 2 +- .../src/views/Widgets/package.json | 2 +- React_Starter/package.json | 3 +- React_Starter/scss/_bootstrap-variables.scss | 1 + React_Starter/scss/bootstrap/_alert.scss | 7 +- React_Starter/scss/bootstrap/_badge.scss | 3 +- React_Starter/scss/bootstrap/_breadcrumb.scss | 8 +- .../scss/bootstrap/_button-group.scss | 57 +- React_Starter/scss/bootstrap/_buttons.scss | 55 +- React_Starter/scss/bootstrap/_card.scss | 80 +- React_Starter/scss/bootstrap/_carousel.scss | 6 + React_Starter/scss/bootstrap/_close.scss | 4 +- .../scss/bootstrap/_custom-forms.scss | 19 +- React_Starter/scss/bootstrap/_dropdown.scss | 57 +- React_Starter/scss/bootstrap/_forms.scss | 56 +- React_Starter/scss/bootstrap/_functions.scss | 16 +- React_Starter/scss/bootstrap/_grid.scss | 1 - .../scss/bootstrap/_input-group.scss | 24 +- React_Starter/scss/bootstrap/_mixins.scss | 1 + React_Starter/scss/bootstrap/_modal.scss | 13 +- React_Starter/scss/bootstrap/_nav.scss | 10 +- React_Starter/scss/bootstrap/_navbar.scss | 32 +- React_Starter/scss/bootstrap/_pagination.scss | 6 +- React_Starter/scss/bootstrap/_popover.scss | 33 +- React_Starter/scss/bootstrap/_print.scss | 5 +- React_Starter/scss/bootstrap/_progress.scss | 10 +- React_Starter/scss/bootstrap/_reboot.scss | 55 +- React_Starter/scss/bootstrap/_root.scss | 19 + React_Starter/scss/bootstrap/_tables.scss | 70 +- React_Starter/scss/bootstrap/_tooltip.scss | 12 +- .../scss/bootstrap/_transitions.scss | 2 + React_Starter/scss/bootstrap/_type.scss | 2 + React_Starter/scss/bootstrap/_variables.scss | 931 +++++++++--------- .../scss/bootstrap/bootstrap-grid.scss | 16 +- .../scss/bootstrap/bootstrap-reboot.scss | 11 +- React_Starter/scss/bootstrap/bootstrap.scss | 3 +- .../scss/bootstrap/mixins/_alert.scss | 2 +- .../bootstrap/mixins/_background-variant.scss | 8 + .../scss/bootstrap/mixins/_badge.scss | 4 +- .../scss/bootstrap/mixins/_breakpoints.scss | 22 +- .../scss/bootstrap/mixins/_buttons.scss | 43 +- .../scss/bootstrap/mixins/_caret.scss | 35 + .../scss/bootstrap/mixins/_float.scss | 2 + .../scss/bootstrap/mixins/_forms.scss | 35 +- .../scss/bootstrap/mixins/_gradients.scss | 8 + .../bootstrap/mixins/_grid-framework.scss | 15 +- .../scss/bootstrap/mixins/_grid.scss | 15 +- .../scss/bootstrap/mixins/_hover.scss | 25 +- .../scss/bootstrap/mixins/_image.scss | 6 +- .../scss/bootstrap/mixins/_list-group.scss | 2 - .../scss/bootstrap/mixins/_navbar-align.scss | 3 +- .../scss/bootstrap/mixins/_reset-text.scss | 3 +- .../scss/bootstrap/mixins/_screen-reader.scss | 4 +- .../scss/bootstrap/mixins/_text-emphasis.scss | 2 + .../scss/bootstrap/mixins/_visibility.scss | 2 + .../scss/bootstrap/utilities/_align.scss | 2 + .../scss/bootstrap/utilities/_background.scss | 19 +- .../scss/bootstrap/utilities/_borders.scss | 8 +- .../scss/bootstrap/utilities/_display.scss | 3 + .../scss/bootstrap/utilities/_flex.scss | 2 + .../scss/bootstrap/utilities/_position.scss | 13 +- .../scss/bootstrap/utilities/_sizing.scss | 2 + .../scss/bootstrap/utilities/_spacing.scss | 38 +- .../scss/bootstrap/utilities/_text.scss | 11 +- React_Starter/scss/core/_breadcrumb-menu.scss | 12 +- React_Starter/scss/core/_breadcrumb.scss | 2 - React_Starter/scss/core/_layout.scss | 2 +- React_Starter/scss/core/_variables.scss | 2 - React_Starter/scss/style.scss | 2 +- .../src/components/Aside/package.json | 2 +- .../src/components/Breadcrumb/package.json | 2 +- .../src/components/Footer/package.json | 2 +- .../src/components/Header/package.json | 2 +- .../src/components/Sidebar/Sidebar.js | 7 +- .../src/components/Sidebar/package.json | 2 +- .../src/components/SidebarFooter/package.json | 2 +- .../src/components/SidebarForm/package.json | 2 +- .../src/components/SidebarHeader/package.json | 2 +- .../components/SidebarMinimizer/package.json | 2 +- .../src/containers/Full/package.json | 2 +- .../src/views/Dashboard/package.json | 2 +- package.json | 2 +- 180 files changed, 2284 insertions(+), 1788 deletions(-) create mode 100755 React_Full_Project/scss/bootstrap/_root.scss create mode 100755 React_Full_Project/scss/bootstrap/mixins/_caret.scss create mode 100755 React_Starter/scss/bootstrap/_root.scss create mode 100755 React_Starter/scss/bootstrap/mixins/_caret.scss diff --git a/React_Full_Project/package.json b/React_Full_Project/package.json index 38fd5e0..8af750b 100644 --- a/React_Full_Project/package.json +++ b/React_Full_Project/package.json @@ -1,6 +1,6 @@ { "name": "@coreui/react", - "version": "1.0.2", + "version": "1.0.3", "description": "", "author": "Łukasz Holeczek ", "url": "http://coreui.io", @@ -32,11 +32,10 @@ "webpack-dev-server": "^2.9.2" }, "dependencies": { - "bootstrap": "^4.0.0-beta", + "bootstrap": "^4.0.0-beta.2", "chart.js": "2.7.0", "font-awesome": "^4.7.0", "history": "4.7.2", - "is-url-external": "^1.0.3", "react": "^16.0.0", "react-chartjs-2": "2.6.4", "react-dom": "^16.0.0", diff --git a/React_Full_Project/scss/_bootstrap-variables.scss b/React_Full_Project/scss/_bootstrap-variables.scss index d05c987..9a9c272 100644 --- a/React_Full_Project/scss/_bootstrap-variables.scss +++ b/React_Full_Project/scss/_bootstrap-variables.scss @@ -76,6 +76,7 @@ $font-size-base: 0.875rem; // Breadcrumbs $breadcrumb-bg: #fff; +$breadcrumb-margin-bottom: 1.5rem; // Cards diff --git a/React_Full_Project/scss/bootstrap/_alert.scss b/React_Full_Project/scss/bootstrap/_alert.scss index 3dfd13f..66fba24 100755 --- a/React_Full_Project/scss/bootstrap/_alert.scss +++ b/React_Full_Project/scss/bootstrap/_alert.scss @@ -3,6 +3,7 @@ // .alert { + position: relative; padding: $alert-padding-y $alert-padding-x; margin-bottom: $alert-margin-bottom; border: $alert-border-width solid transparent; @@ -28,9 +29,9 @@ .alert-dismissible { // Adjust close link position .close { - position: relative; - top: -$alert-padding-y; - right: -$alert-padding-x; + position: absolute; + top: 0; + right: 0; padding: $alert-padding-y $alert-padding-x; color: inherit; } diff --git a/React_Full_Project/scss/bootstrap/_badge.scss b/React_Full_Project/scss/bootstrap/_badge.scss index 8a76263..b87a1b0 100755 --- a/React_Full_Project/scss/bootstrap/_badge.scss +++ b/React_Full_Project/scss/bootstrap/_badge.scss @@ -9,11 +9,10 @@ font-size: $badge-font-size; font-weight: $badge-font-weight; line-height: 1; - color: $badge-color; text-align: center; white-space: nowrap; vertical-align: baseline; - @include border-radius(); + @include border-radius($badge-border-radius); // Empty badges collapse automatically &:empty { diff --git a/React_Full_Project/scss/bootstrap/_breadcrumb.scss b/React_Full_Project/scss/bootstrap/_breadcrumb.scss index 2bc0e20..25b9d85 100755 --- a/React_Full_Project/scss/bootstrap/_breadcrumb.scss +++ b/React_Full_Project/scss/bootstrap/_breadcrumb.scss @@ -1,15 +1,14 @@ .breadcrumb { + display: flex; + flex-wrap: wrap; padding: $breadcrumb-padding-y $breadcrumb-padding-x; - margin-bottom: 1rem; + margin-bottom: $breadcrumb-margin-bottom; list-style: none; background-color: $breadcrumb-bg; @include border-radius($border-radius); - @include clearfix; } .breadcrumb-item { - float: left; - // The separator between breadcrumbs (by default, a forward-slash: "/") + .breadcrumb-item::before { display: inline-block; // Suppress underlining of the separator in modern browsers @@ -28,6 +27,7 @@ + .breadcrumb-item:hover::before { text-decoration: underline; } + // stylelint-disable-next-line no-duplicate-selectors + .breadcrumb-item:hover::before { text-decoration: none; } diff --git a/React_Full_Project/scss/bootstrap/_button-group.scss b/React_Full_Project/scss/bootstrap/_button-group.scss index 30a14d8..1a373f3 100755 --- a/React_Full_Project/scss/bootstrap/_button-group.scss +++ b/React_Full_Project/scss/bootstrap/_button-group.scss @@ -1,4 +1,4 @@ -// scss-lint:disable QualifyingElement +// stylelint-disable selector-no-qualifying-type // Make the div behave like a button .btn-group, @@ -10,7 +10,6 @@ > .btn { position: relative; flex: 0 1 auto; - margin-bottom: 0; // Bring the hover, focused, and "active" buttons to the front to overlay // the borders properly @@ -48,7 +47,8 @@ border-radius: 0; } -// Set corners individual because sometimes a single button can be in a .btn-group and we need :first-child and :last-child to both match +// Set corners individual because sometimes a single button can be in a .btn-group +// and we need :first-child and :last-child to both match .btn-group > .btn:first-child { margin-left: 0; @@ -56,25 +56,30 @@ @include border-right-radius(0); } } -// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu immediately after it +// Need .dropdown-toggle since :last-child doesn't apply given a .dropdown-menu +// immediately after it .btn-group > .btn:last-child:not(:first-child), .btn-group > .dropdown-toggle:not(:first-child) { @include border-left-radius(0); } -// Custom edits for including btn-groups within btn-groups (useful for including dropdown buttons within a btn-group) +// Custom edits for including btn-groups within btn-groups (useful for including +// dropdown buttons within a btn-group) .btn-group > .btn-group { float: left; } + .btn-group > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } + .btn-group > .btn-group:first-child:not(:last-child) { > .btn:last-child, > .dropdown-toggle { @include border-right-radius(0); } } + .btn-group > .btn-group:last-child:not(:first-child) > .btn:first-child { @include border-left-radius(0); } @@ -129,7 +134,6 @@ // .btn-group-vertical { - display: inline-flex; flex-direction: column; align-items: flex-start; justify-content: center; @@ -146,31 +150,36 @@ margin-top: -$input-btn-border-width; margin-left: 0; } -} -.btn-group-vertical > .btn { - &:not(:first-child):not(:last-child) { + > .btn { + &:not(:first-child):not(:last-child) { + border-radius: 0; + } + + &:first-child:not(:last-child) { + @include border-bottom-radius(0); + } + + &:last-child:not(:first-child) { + @include border-top-radius(0); + } + } + + > .btn-group:not(:first-child):not(:last-child) > .btn { border-radius: 0; } - &:first-child:not(:last-child) { - @include border-bottom-radius(0); + + > .btn-group:first-child:not(:last-child) { + > .btn:last-child, + > .dropdown-toggle { + @include border-bottom-radius(0); + } } - &:last-child:not(:first-child) { + + > .btn-group:last-child:not(:first-child) > .btn:first-child { @include border-top-radius(0); } } -.btn-group-vertical > .btn-group:not(:first-child):not(:last-child) > .btn { - border-radius: 0; -} -.btn-group-vertical > .btn-group:first-child:not(:last-child) { - > .btn:last-child, - > .dropdown-toggle { - @include border-bottom-radius(0); - } -} -.btn-group-vertical > .btn-group:last-child:not(:first-child) > .btn:first-child { - @include border-top-radius(0); -} // Checkbox and radio options diff --git a/React_Full_Project/scss/bootstrap/_buttons.scss b/React_Full_Project/scss/bootstrap/_buttons.scss index 607f24a..7cd2783 100755 --- a/React_Full_Project/scss/bootstrap/_buttons.scss +++ b/React_Full_Project/scss/bootstrap/_buttons.scss @@ -1,4 +1,4 @@ -// scss-lint:disable QualifyingElement +// stylelint-disable selector-no-qualifying-type // // Base styles @@ -22,7 +22,7 @@ &:focus, &.focus { outline: 0; - box-shadow: $btn-focus-box-shadow; + box-shadow: $input-btn-focus-box-shadow; } // Disabled comes first so active can properly restyle @@ -32,10 +32,10 @@ @include box-shadow(none); } - &:active, - &.active { + &:not([disabled]):not(.disabled):active, + &:not([disabled]):not(.disabled).active { background-image: none; - @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow); + @include box-shadow($input-btn-focus-box-shadow, $btn-active-box-shadow); } } @@ -58,7 +58,11 @@ fieldset[disabled] a.btn { @each $color, $value in $theme-colors { .btn-outline-#{$color} { - @include button-outline-variant($value, #fff); + @if $color == "light" { + @include button-outline-variant($value, $gray-900); + } @else { + @include button-outline-variant($value, $white); + } } } @@ -71,36 +75,27 @@ fieldset[disabled] a.btn { .btn-link { font-weight: $font-weight-normal; color: $link-color; - border-radius: 0; + background-color: transparent; - &, - &:active, - &.active, - &:disabled { - background-color: transparent; - @include box-shadow(none); - } - &, - &:focus, - &:active { - border-color: transparent; - box-shadow: none; - } @include hover { - border-color: transparent; - } - @include hover-focus { color: $link-hover-color; text-decoration: $link-hover-decoration; background-color: transparent; + border-color: transparent; } - &:disabled { - color: $btn-link-disabled-color; - @include hover-focus { - text-decoration: none; - } + &:focus, + &.focus { + border-color: transparent; + box-shadow: none; } + + &:disabled, + &.disabled { + color: $btn-link-disabled-color; + } + + // No need for an active state here } @@ -109,11 +104,11 @@ fieldset[disabled] a.btn { // .btn-lg { - @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $line-height-lg, $btn-border-radius-lg); + @include button-size($input-btn-padding-y-lg, $input-btn-padding-x-lg, $font-size-lg, $input-btn-line-height-lg, $btn-border-radius-lg); } .btn-sm { - @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $line-height-sm, $btn-border-radius-sm); + @include button-size($input-btn-padding-y-sm, $input-btn-padding-x-sm, $font-size-sm, $input-btn-line-height-sm, $btn-border-radius-sm); } diff --git a/React_Full_Project/scss/bootstrap/_card.scss b/React_Full_Project/scss/bootstrap/_card.scss index 1ab85a4..a739f19 100755 --- a/React_Full_Project/scss/bootstrap/_card.scss +++ b/React_Full_Project/scss/bootstrap/_card.scss @@ -12,6 +12,23 @@ background-clip: border-box; border: $card-border-width solid $card-border-color; @include border-radius($card-border-radius); + + > hr { + margin-right: 0; + margin-left: 0; + } + + > .list-group:first-child { + .list-group-item:first-child { + @include border-top-radius($card-border-radius); + } + } + + > .list-group:last-child { + .list-group-item:last-child { + @include border-bottom-radius($card-border-radius); + } + } } .card-body { @@ -44,21 +61,6 @@ } } -.card { - > .list-group:first-child { - .list-group-item:first-child { - @include border-top-radius($card-border-radius); - } - } - - > .list-group:last-child { - .list-group-item:last-child { - @include border-bottom-radius($card-border-radius); - } - } -} - - // // Optional textual caps // @@ -72,6 +74,12 @@ &:first-child { @include border-radius($card-inner-border-radius $card-inner-border-radius 0 0); } + + + .list-group { + .list-group-item:first-child { + border-top: 0; + } + } } .card-footer { @@ -130,18 +138,26 @@ // Card deck -@include media-breakpoint-up(sm) { - .card-deck { - display: flex; +.card-deck { + display: flex; + flex-direction: column; + + .card { + margin-bottom: $card-deck-margin; + } + + @include media-breakpoint-up(sm) { flex-flow: row wrap; margin-right: -$card-deck-margin; margin-left: -$card-deck-margin; .card { display: flex; + // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored flex: 1 0 0%; flex-direction: column; margin-right: $card-deck-margin; + margin-bottom: 0; // Override the default margin-left: $card-deck-margin; } } @@ -152,13 +168,21 @@ // Card groups // -@include media-breakpoint-up(sm) { - .card-group { - display: flex; +.card-group { + display: flex; + flex-direction: column; + + .card { + margin-bottom: $card-group-margin; + } + + @include media-breakpoint-up(sm) { flex-flow: row wrap; .card { + // Flexbugs #4: https://github.com/philipwalton/flexbugs#4-flex-shorthand-declarations-with-unitless-flex-basis-values-are-ignored flex: 1 0 0%; + margin-bottom: 0; + .card { margin-left: 0; @@ -177,6 +201,7 @@ border-bottom-right-radius: 0; } } + &:last-child { @include border-left-radius(0); @@ -188,7 +213,18 @@ } } - &:not(:first-child):not(:last-child) { + &:only-child { + @include border-radius($card-border-radius); + + .card-img-top { + @include border-top-radius($card-border-radius); + } + .card-img-bottom { + @include border-bottom-radius($card-border-radius); + } + } + + &:not(:first-child):not(:last-child):not(:only-child) { border-radius: 0; .card-img-top, diff --git a/React_Full_Project/scss/bootstrap/_carousel.scss b/React_Full_Project/scss/bootstrap/_carousel.scss index 8aa14ac..c3c2073 100755 --- a/React_Full_Project/scss/bootstrap/_carousel.scss +++ b/React_Full_Project/scss/bootstrap/_carousel.scss @@ -90,9 +90,15 @@ } .carousel-control-prev { left: 0; + @if $enable-gradients { + background: linear-gradient(90deg, rgba(0,0,0,.25), rgba(0,0,0,.001)); + } } .carousel-control-next { right: 0; + @if $enable-gradients { + background: linear-gradient(270deg, rgba(0,0,0,.25), rgba(0,0,0,.001)); + } } // Icons for within diff --git a/React_Full_Project/scss/bootstrap/_close.scss b/React_Full_Project/scss/bootstrap/_close.scss index f181490..897d486 100755 --- a/React_Full_Project/scss/bootstrap/_close.scss +++ b/React_Full_Project/scss/bootstrap/_close.scss @@ -19,11 +19,11 @@ // If you want the anchor version, it requires `href="#"`. // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile -// scss-lint:disable QualifyingElement +// stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type button.close { padding: 0; background: transparent; border: 0; -webkit-appearance: none; } -// scss-lint:enable QualifyingElement +// stylelint-enable diff --git a/React_Full_Project/scss/bootstrap/_custom-forms.scss b/React_Full_Project/scss/bootstrap/_custom-forms.scss index d1fbf95..a521dbd 100755 --- a/React_Full_Project/scss/bootstrap/_custom-forms.scss +++ b/React_Full_Project/scss/bootstrap/_custom-forms.scss @@ -1,5 +1,3 @@ -// scss-lint:disable PropertyCount, VendorPrefix - // Embedded icons from Open Iconic. // Released under MIT and copyright 2014 Waybury. // https://useiconic.com/open @@ -24,7 +22,7 @@ &:checked ~ .custom-control-indicator { color: $custom-control-indicator-checked-color; - background-color: $custom-control-indicator-checked-bg; + @include gradient-bg($custom-control-indicator-checked-bg); @include box-shadow($custom-control-indicator-checked-box-shadow); } @@ -35,7 +33,7 @@ &:active ~ .custom-control-indicator { color: $custom-control-indicator-active-color; - background-color: $custom-control-indicator-active-bg; + @include gradient-bg($custom-control-indicator-active-bg); @include box-shadow($custom-control-indicator-active-box-shadow); } @@ -164,6 +162,11 @@ } } + &[multiple] { + height: auto; + background-image: none; + } + &:disabled { color: $custom-select-disabled-color; background-color: $custom-select-disabled-bg; @@ -203,7 +206,7 @@ opacity: 0; &:focus ~ .custom-file-control { - @include box-shadow($custom-file-focus-box-shadow); + box-shadow: $custom-file-focus-box-shadow; } } @@ -214,7 +217,7 @@ left: 0; z-index: 5; height: $custom-file-height; - padding: $custom-file-padding-x $custom-file-padding-y; + padding: $custom-file-padding-y $custom-file-padding-x; line-height: $custom-file-line-height; color: $custom-file-color; pointer-events: none; @@ -238,10 +241,10 @@ z-index: 6; display: block; height: $custom-file-height; - padding: $custom-file-padding-x $custom-file-padding-y; + padding: $custom-file-padding-y $custom-file-padding-x; line-height: $custom-file-line-height; color: $custom-file-button-color; - background-color: $custom-file-button-bg; + @include gradient-bg($custom-file-button-bg); border: $custom-file-border-width solid $custom-file-border-color; @include border-radius(0 $custom-file-border-radius $custom-file-border-radius 0); } diff --git a/React_Full_Project/scss/bootstrap/_dropdown.scss b/React_Full_Project/scss/bootstrap/_dropdown.scss index 05e8b16..daa867a 100755 --- a/React_Full_Project/scss/bootstrap/_dropdown.scss +++ b/React_Full_Project/scss/bootstrap/_dropdown.scss @@ -6,37 +6,7 @@ .dropdown-toggle { // Generate the caret automatically - &::after { - display: inline-block; - width: 0; - height: 0; - margin-left: $caret-width * .85; - vertical-align: $caret-width * .85; - content: ""; - border-top: $caret-width solid; - border-right: $caret-width solid transparent; - border-left: $caret-width solid transparent; - } - - &:empty::after { - margin-left: 0; - } -} - -// 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 { - margin-top: 0; - margin-bottom: $dropdown-spacer; - } - - .dropdown-toggle { - &::after { - border-top: 0; - border-bottom: $caret-width solid; - } - } + @include caret; } // The dropdown menu @@ -61,6 +31,19 @@ @include box-shadow($dropdown-box-shadow); } +// 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 { + margin-top: 0; + margin-bottom: $dropdown-spacer; + } + + .dropdown-toggle { + @include caret(up); + } +} + // Dividers (basically an `
`) within the dropdown .dropdown-divider { @include nav-divider($dropdown-divider-bg); @@ -84,14 +67,14 @@ @include hover-focus { color: $dropdown-link-hover-color; text-decoration: none; - background-color: $dropdown-link-hover-bg; + @include gradient-bg($dropdown-link-hover-bg); } &.active, &:active { color: $dropdown-link-active-color; text-decoration: none; - background-color: $dropdown-link-active-bg; + @include gradient-bg($dropdown-link-active-bg); } &.disabled, @@ -105,14 +88,6 @@ } } -// Open state for the dropdown -.show { - // Remove the outline when :focus is triggered - > a { - outline: 0; - } -} - .dropdown-menu.show { display: block; } diff --git a/React_Full_Project/scss/bootstrap/_forms.scss b/React_Full_Project/scss/bootstrap/_forms.scss index 519554b..80bc7f3 100755 --- a/React_Full_Project/scss/bootstrap/_forms.scss +++ b/React_Full_Project/scss/bootstrap/_forms.scss @@ -1,4 +1,4 @@ -// scss-lint:disable QualifyingElement, VendorPrefix +// stylelint-disable selector-no-qualifying-type // // Textual form controls @@ -7,8 +7,6 @@ .form-control { display: block; width: 100%; - // // Make inputs at least the height of their button counterpart (base line-height + padding + border) - // height: $input-height; padding: $input-btn-padding-y $input-btn-padding-x; font-size: $font-size-base; line-height: $input-btn-line-height; @@ -90,21 +88,24 @@ select.form-control { // For use with horizontal and inline forms, when you need the label text to // align with the form controls. .col-form-label { - padding-top: calc(#{$input-btn-padding-y} - #{$input-btn-border-width} * 2); - padding-bottom: calc(#{$input-btn-padding-y} - #{$input-btn-border-width} * 2); + padding-top: calc(#{$input-btn-padding-y} + #{$input-btn-border-width}); + padding-bottom: calc(#{$input-btn-padding-y} + #{$input-btn-border-width}); margin-bottom: 0; // Override the `