diff --git a/angular.json b/angular.json index bfc0c1b..226ed4c 100644 --- a/angular.json +++ b/angular.json @@ -26,7 +26,8 @@ ], "styles": [ "node_modules/bootstrap/dist/css/bootstrap.min.css", - "src/styles.css" + "src/styles.css", + "src/assets/scss/black-dashboard.scss" ], "scripts": [] }, diff --git a/src/app/app.component.html b/src/app/app.component.html index 90c6b64..2e44c1d 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1 +1,39 @@ - \ No newline at end of file + +
+
+ + + + +
+
\ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts index e9f6ffa..6efd665 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -5,4 +5,42 @@ import { Component } from '@angular/core'; templateUrl: './app.component.html', styleUrls: ['./app.component.css'] }) -export class AppComponent {} +export class AppComponent { + /* + changeSidebarColor(color){ + var sidebar = document.getElementsByClassName('sidebar')[0]; + var mainPanel = document.getElementsByClassName('main-panel')[0]; + + this.sidebarColor = color; + + if(sidebar != undefined){ + sidebar.setAttribute('data',color); + } + if(mainPanel != undefined){ + mainPanel.setAttribute('data',color); + } + } + */ + changeDashboardColor(color){ + var body = document.getElementsByTagName('body')[0]; + if (body && color === 'white-content') { + body.classList.add(color); + } + else if(body.classList.contains('white-content')) { + body.classList.remove('white-content'); + } + } + // function that adds color white/transparent to the navbar on resize (this is for the collapse) + /* + updateColor = () => { + var navbar = document.getElementsByClassName('navbar')[0]; + if (window.innerWidth < 993 && !this.isCollapsed) { + navbar.classList.add('bg-white'); + navbar.classList.remove('navbar-transparent'); + } else { + navbar.classList.remove('bg-white'); + navbar.classList.add('navbar-transparent'); + } + }; + */ +} diff --git a/src/app/sprint-table/sprint-table.component.html b/src/app/sprint-table/sprint-table.component.html index ad80d25..b0c66c3 100644 --- a/src/app/sprint-table/sprint-table.component.html +++ b/src/app/sprint-table/sprint-table.component.html @@ -10,31 +10,35 @@ ID - - - - + + + + + Titel - - - - + + + + + Start - - - - + + + + + - + End - - - - + + + + + @@ -47,8 +51,12 @@ {{sprint.startDate | date:'dd.MM.yyyy'}} {{sprint.endDate | date:'dd.MM.yyyy'}} - - + + diff --git a/src/app/task-table/task-table.component.html b/src/app/task-table/task-table.component.html index 9afb260..821a305 100644 --- a/src/app/task-table/task-table.component.html +++ b/src/app/task-table/task-table.component.html @@ -19,57 +19,67 @@ ID - - - + + + + Titel - - - + + + + Userstory - - - + + + + Status - - - + + + + - - Priorität - - - - - + +
+ Priorität: +
+ {{filterPriority || "All"}} +
+ + +
+
+ + + + + +
Assigned To - - - + + + + Category - - - + + + + @@ -102,8 +112,12 @@ - - + + diff --git a/src/app/userstory-table/userstory-table.component.html b/src/app/userstory-table/userstory-table.component.html index 502aa3f..0a0242a 100644 --- a/src/app/userstory-table/userstory-table.component.html +++ b/src/app/userstory-table/userstory-table.component.html @@ -10,51 +10,62 @@ ID - - - - + + + + + Titel - - - - + + + + + Tasks - - - - + + + + + Status - - - - + + + + + - - Priorität - - - - - + +
+
+ Priorität: +
+ {{filterPriority || "All"}} +
+ + +
+
+ + + + + +
+
Category - - - - + + + + + @@ -81,8 +92,12 @@ - - + + diff --git a/src/assets/css/nucleo-icons.css b/src/assets/css/nucleo-icons.css new file mode 100644 index 0000000..8cc6765 --- /dev/null +++ b/src/assets/css/nucleo-icons.css @@ -0,0 +1,543 @@ +/* -------------------------------- + +Nucleo Outline Web Font - nucleoapp.com/ +License - nucleoapp.com/license/ +Created using IcoMoon - icomoon.io + +-------------------------------- */ + +@font-face { + font-family: 'Nucleo'; + src: url('../fonts/nucleo.eot'); + src: url('../fonts/nucleo.eot') format('embedded-opentype'), url('../fonts/nucleo.woff2') format('woff2'), url('../fonts/nucleo.woff') format('woff'), url('../fonts/nucleo.ttf') format('truetype'); + font-weight: normal; + font-style: normal; +} + +/*------------------------ + base class definition +-------------------------*/ + +.tim-icons { + display: inline-block; + font: normal normal normal 1em/1 'Nucleo'; + vertical-align: middle; + speak: none; + text-transform: none; + /* Better Font Rendering */ + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; +} + +.font-icon-detail { + text-align: center; + padding: 45px 0 30px; + border: 1px solid #e44cc4; + border-radius: .1875rem; + margin: 15px 0; + min-height: 168px; +} + +.font-icon-detail i { + color: #FFFFFF; + font-size: 1.5em; +} + +.font-icon-detail p { + color: #e44cc4 !important; + margin-top: 30px; + padding: 0 10px; + font-size: .7142em; +} + +/*------------------------ + change icon size +-------------------------*/ + +.tim-icons-sm { + font-size: 0.8em; +} + +.tim-icons-lg { + font-size: 1.2em; +} + +/* absolute units */ + +.tim-icons-16 { + font-size: 16px; +} + +.tim-icons-32 { + font-size: 32px; +} + +/*---------------------------------- + add a square/circle background +-----------------------------------*/ + +.tim-icons-bg-square, +.tim-icons-bg-circle { + padding: 0.35em; +} + +.tim-icons-bg-circle { + border-radius: 50%; +} + +/*------------------------ + list icons +-------------------------*/ + +/*------------------------ + spinning icons +-------------------------*/ + +.tim-icons-is-spinning { + -webkit-animation: tim-icons-spin 2s infinite linear; + -moz-animation: tim-icons-spin 2s infinite linear; + animation: tim-icons-spin 2s infinite linear; +} + +@-webkit-keyframes tim-icons-spin { + 0% { + -webkit-transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + } +} + +@-moz-keyframes tim-icons-spin { + 0% { + -moz-transform: rotate(0deg); + } + 100% { + -moz-transform: rotate(360deg); + } +} + +@keyframes tim-icons-spin { + 0% { + -webkit-transform: rotate(0deg); + -moz-transform: rotate(0deg); + -ms-transform: rotate(0deg); + -o-transform: rotate(0deg); + transform: rotate(0deg); + } + 100% { + -webkit-transform: rotate(360deg); + -moz-transform: rotate(360deg); + -ms-transform: rotate(360deg); + -o-transform: rotate(360deg); + transform: rotate(360deg); + } +} + +/*------------------------ + rotated/flipped icons +-------------------------*/ + +/*------------------------ + icons +-------------------------*/ + +.icon-alert-circle-exc::before { + content: "\ea02"; +} + +.icon-align-center::before { + content: "\ea03"; +} + +.icon-align-left-2::before { + content: "\ea04"; +} + +.icon-app::before { + content: "\ea05"; +} + +.icon-atom::before { + content: "\ea06"; +} + +.icon-attach-87::before { + content: "\ea07"; +} + +.icon-badge::before { + content: "\ea08"; +} + +.icon-bag-16::before { + content: "\ea09"; +} + +.icon-bank::before { + content: "\ea0a"; +} + +.icon-basket-simple::before { + content: "\ea0b"; +} + +.icon-bell-55::before { + content: "\ea0c"; +} + +.icon-bold::before { + content: "\ea0d"; +} + +.icon-book-bookmark::before { + content: "\ea0e"; +} + +.icon-bulb-63::before { + content: "\ea0f"; +} + +.icon-bullet-list-67::before { + content: "\ea10"; +} + +.icon-bus-front-12::before { + content: "\ea11"; +} + +.icon-button-pause::before { + content: "\ea12"; +} + +.icon-button-power::before { + content: "\ea13"; +} + +.icon-calendar-60::before { + content: "\ea14"; +} + +.icon-camera-18::before { + content: "\ea15"; +} + +.icon-caps-small::before { + content: "\ea16"; +} + +.icon-cart::before { + content: "\ea17"; +} + +.icon-chart-bar-32::before { + content: "\ea18"; +} + +.icon-chart-pie-36::before { + content: "\ea19"; +} + +.icon-chat-33::before { + content: "\ea1a"; +} + +.icon-check-2::before { + content: "\ea1b"; +} + +.icon-cloud-download-93::before { + content: "\ea1c"; +} + +.icon-cloud-upload-94::before { + content: "\ea1d"; +} + +.icon-coins::before { + content: "\ea1e"; +} + +.icon-compass-05::before { + content: "\ea1f"; +} + +.icon-controller::before { + content: "\ea20"; +} + +.icon-credit-card::before { + content: "\ea21"; +} + +.icon-delivery-fast::before { + content: "\ea22"; +} + +.icon-double-left::before { + content: "\ea23"; +} + +.icon-double-right::before { + content: "\ea24"; +} + +.icon-email-85::before { + content: "\ea25"; +} + +.icon-gift-2::before { + content: "\ea26"; +} + +.icon-globe-2::before { + content: "\ea27"; +} + +.icon-headphones::before { + content: "\ea28"; +} + +.icon-heart-2::before { + content: "\ea29"; +} + +.icon-html5::before { + content: "\ea2a"; +} + +.icon-image-02::before { + content: "\ea2b"; +} + +.icon-istanbul::before { + content: "\ea2c"; +} + +.icon-key-25::before { + content: "\ea2d"; +} + +.icon-laptop::before { + content: "\ea2e"; +} + +.icon-light-3::before { + content: "\ea2f"; +} + +.icon-link-72::before { + content: "\ea30"; +} + +.icon-lock-circle::before { + content: "\ea31"; +} + +.icon-map-big::before { + content: "\ea32"; +} + +.icon-minimal-down::before { + content: "\ea33"; +} + +.icon-minimal-left::before { + content: "\ea34"; +} + +.icon-minimal-right::before { + content: "\ea35"; +} + +.icon-minimal-up::before { + content: "\ea36"; +} + +.icon-mobile::before { + content: "\ea37"; +} + +.icon-molecule-40::before { + content: "\ea38"; +} + +.icon-money-coins::before { + content: "\ea39"; +} + +.icon-notes::before { + content: "\ea3a"; +} + +.icon-palette::before { + content: "\ea3b"; +} + +.icon-paper::before { + content: "\ea3c"; +} + +.icon-pencil::before { + content: "\ea3d"; +} + +.icon-pin::before { + content: "\ea3e"; +} + +.icon-planet::before { + content: "\ea3f"; +} + +.icon-puzzle-10::before { + content: "\ea40"; +} + +.icon-satisfied::before { + content: "\ea41"; +} + +.icon-scissors::before { + content: "\ea42"; +} + +.icon-send::before { + content: "\ea43"; +} + +.icon-settings-gear-63::before { + content: "\ea44"; +} + +.icon-settings::before { + content: "\ea45"; +} + +.icon-simple-add::before { + content: "\ea46"; +} + +.icon-simple-delete::before { + content: "\ea47"; +} + +.icon-simple-remove::before { + content: "\ea48"; +} + +.icon-single-02::before { + content: "\ea49"; +} + +.icon-single-copy-04::before { + content: "\ea4a"; +} + +.icon-sound-wave::before { + content: "\ea4b"; +} + +.icon-spaceship::before { + content: "\ea4c"; +} + +.icon-square-pin::before { + content: "\ea4d"; +} + +.icon-support-17::before { + content: "\ea4e"; +} + +.icon-tablet-2::before { + content: "\ea4f"; +} + +.icon-tag::before { + content: "\ea50"; +} + +.icon-tap-02::before { + content: "\ea51"; +} + +.icon-tie-bow::before { + content: "\ea52"; +} + +.icon-time-alarm::before { + content: "\ea53"; +} + +.icon-trash-simple::before { + content: "\ea54"; +} + +.icon-triangle-right-17::before { + content: "\ea55"; +} + +.icon-trophy::before { + content: "\ea56"; +} + +.icon-tv-2::before { + content: "\ea57"; +} + +.icon-upload::before { + content: "\ea58"; +} + +.icon-user-run::before { + content: "\ea59"; +} + +.icon-vector::before { + content: "\ea5a"; +} + +.icon-video-66::before { + content: "\ea5b"; +} + +.icon-volume-98::before { + content: "\ea5c"; +} + +.icon-wallet-43::before { + content: "\ea5d"; +} + +.icon-watch-time::before { + content: "\ea5e"; +} + +.icon-wifi::before { + content: "\ea5f"; +} + +.icon-world::before { + content: "\ea60"; +} + +.icon-zoom-split::before { + content: "\ea61"; +} + +.icon-refresh-01::before { + content: "\ea62"; +} + +.icon-refresh-02::before { + content: "\ea63"; +} + +.icon-shape-star::before { + content: "\ea64"; +} + +.icon-components::before { + content: "\ea65"; +} diff --git a/src/assets/scss/black-dashboard.scss b/src/assets/scss/black-dashboard.scss new file mode 100644 index 0000000..7516cc3 --- /dev/null +++ b/src/assets/scss/black-dashboard.scss @@ -0,0 +1,103 @@ + +/* + ========================================================= + * Black Dashboard Angular - v1.1.0 + ========================================================= + + * Product Page: https://www.creative-tim.com/product/black-dashboard-angular + * Copyright 2019 Creative Tim (https://www.creative-tim.com) + * Licensed under MIT (https://github.com/creativetimofficial/argon-dashboard/blob/master/LICENSE.md) + + ========================================================= + +* The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. + +*/ + + // Core + +@import "black-dashboard/custom/functions"; +@import "black-dashboard/bootstrap/functions"; + +@import "black-dashboard/custom/variables"; +@import "black-dashboard/bootstrap/variables"; + +@import "black-dashboard/custom/mixins"; +@import "black-dashboard/bootstrap/mixins"; + + // Bootstrap components + +@import "black-dashboard/bootstrap/root"; +@import "black-dashboard/bootstrap/reboot"; +@import "black-dashboard/bootstrap/type"; +@import "black-dashboard/bootstrap/images"; +@import "black-dashboard/bootstrap/code"; +@import "black-dashboard/bootstrap/grid"; +@import "black-dashboard/bootstrap/tables"; +@import "black-dashboard/bootstrap/forms"; +@import "black-dashboard/bootstrap/buttons"; +@import "black-dashboard/bootstrap/transitions"; +@import "black-dashboard/bootstrap/dropdown"; +@import "black-dashboard/bootstrap/button-group"; +@import "black-dashboard/bootstrap/input-group"; +@import "black-dashboard/bootstrap/custom-forms"; +@import "black-dashboard/bootstrap/nav"; +@import "black-dashboard/bootstrap/navbar"; +@import "black-dashboard/bootstrap/card"; +@import "black-dashboard/bootstrap/breadcrumb"; +@import "black-dashboard/bootstrap/pagination"; +@import "black-dashboard/bootstrap/badge"; +@import "black-dashboard/bootstrap/jumbotron"; +@import "black-dashboard/bootstrap/alert"; +@import "black-dashboard/bootstrap/progress"; +@import "black-dashboard/bootstrap/media"; +@import "black-dashboard/bootstrap/list-group"; +@import "black-dashboard/bootstrap/close"; +@import "black-dashboard/bootstrap/modal"; +@import "black-dashboard/bootstrap/tooltip"; +@import "black-dashboard/bootstrap/popover"; +@import "black-dashboard/bootstrap/carousel"; +@import "black-dashboard/bootstrap/utilities"; +@import "black-dashboard/bootstrap/print"; + + // Custom components + + @import "black-dashboard/custom/alerts.scss"; + @import "black-dashboard/custom/buttons.scss"; + @import "black-dashboard/custom/dropdown.scss"; + @import "black-dashboard/custom/footer.scss"; + @import "black-dashboard/custom/forms.scss"; + @import "black-dashboard/custom/images.scss"; + @import "black-dashboard/custom/modal.scss"; + @import "black-dashboard/custom/navbar.scss"; + @import "black-dashboard/custom/type.scss"; + @import "black-dashboard/custom/tables"; + @import "black-dashboard/custom/checkboxes-radio"; + @import "black-dashboard/custom/fixed-plugin"; + @import "black-dashboard/custom/sidebar-and-main-panel.scss"; + @import "black-dashboard/custom/misc.scss"; + @import "black-dashboard/custom/rtl.scss"; + @import "black-dashboard/custom/input-group.scss"; + + + // Vendor / Plugins + +@import "black-dashboard/custom/vendor/plugin-perfect-scrollbar.scss"; +@import "black-dashboard/custom/vendor/plugin-animate-bootstrap-notify.scss"; + +// light mode + +@import "black-dashboard/custom/white-content.scss"; + +// Cards + +@import 'black-dashboard/custom/card'; +@import "black-dashboard/custom/cards/card-chart"; +@import "black-dashboard/custom/cards/card-map"; +@import "black-dashboard/custom/cards/card-user"; +@import "black-dashboard/custom/cards/card-task"; +@import "black-dashboard/custom/cards/card-plain"; + +// Angular Differences + +@import "black-dashboard/angular-differences/angular-differences" diff --git a/src/assets/scss/black-dashboard/angular-differences/_angular-differences.scss b/src/assets/scss/black-dashboard/angular-differences/_angular-differences.scss new file mode 100644 index 0000000..41c9f90 --- /dev/null +++ b/src/assets/scss/black-dashboard/angular-differences/_angular-differences.scss @@ -0,0 +1,5 @@ +@import "sidebar-and-main-panel"; +@import "charts"; +@import "rtl"; +@import "nucleo-icons"; +@import "./plugins/ngx-toastr"; diff --git a/src/assets/scss/black-dashboard/angular-differences/_card-user.scss b/src/assets/scss/black-dashboard/angular-differences/_card-user.scss new file mode 100644 index 0000000..b89d990 --- /dev/null +++ b/src/assets/scss/black-dashboard/angular-differences/_card-user.scss @@ -0,0 +1,21 @@ +.card-user { + .author { + .block { + &.block-one { + @include linear-gradient-right(rgba($danger,0.6), rgba($danger,0)); + } + + &.block-two { + @include linear-gradient-right(rgba($danger,0.6), rgba($danger,0)); + } + + &.block-three { + @include linear-gradient-right(rgba($danger,0.6), rgba($danger,0)); + } + + &.block-four { + @include linear-gradient-right(rgba($danger,0.6), rgba($danger,0)); + } + } + } +} diff --git a/src/assets/scss/black-dashboard/angular-differences/_charts.scss b/src/assets/scss/black-dashboard/angular-differences/_charts.scss new file mode 100644 index 0000000..43e8f86 --- /dev/null +++ b/src/assets/scss/black-dashboard/angular-differences/_charts.scss @@ -0,0 +1,3 @@ +.text-danger-states{ + color: #ec250d; +} diff --git a/src/assets/scss/black-dashboard/angular-differences/_nucleo-icons.scss b/src/assets/scss/black-dashboard/angular-differences/_nucleo-icons.scss new file mode 100644 index 0000000..c631caa --- /dev/null +++ b/src/assets/scss/black-dashboard/angular-differences/_nucleo-icons.scss @@ -0,0 +1,6 @@ +.font-icon-list .font-icon-detail{ + border: 1px solid #fd5d93; + p{ + color: #fd5d93 !important; + } +} diff --git a/src/assets/scss/black-dashboard/angular-differences/_rtl.scss b/src/assets/scss/black-dashboard/angular-differences/_rtl.scss new file mode 100644 index 0000000..b526e18 --- /dev/null +++ b/src/assets/scss/black-dashboard/angular-differences/_rtl.scss @@ -0,0 +1,13 @@ +.rtl .fixed-plugin { + border-radius: 0 8px 8px 0; + left: 0; + right: unset; + .dropdown-menu { + left: 80px!important; + right: auto!important; + } +} +.rtl .off-canvas-sidebar .nav li.active>a:not([data-toggle=collapse]):before, .rtl .sidebar .nav li.active>a:not([data-toggle=collapse]):before { + left: unset; + right: -4px; +} diff --git a/src/assets/scss/black-dashboard/angular-differences/_sidebar-and-main-panel.scss b/src/assets/scss/black-dashboard/angular-differences/_sidebar-and-main-panel.scss new file mode 100644 index 0000000..8b43a2e --- /dev/null +++ b/src/assets/scss/black-dashboard/angular-differences/_sidebar-and-main-panel.scss @@ -0,0 +1,45 @@ +.main-panel { + &, &[data="red"]{ + border-color: $danger; + } + + .content { + padding: 78px 30px 30px 280px; + min-height: calc(100vh - 70px); + } +} +@media screen and (max-width: 768px){ + .main-panel .content { + padding-left: 15px; + padding-right: 15px; + } +} +.logo-img{ + width: 35px; + height: 35px; + display: block; + margin-left: 2px; + position: absolute; + top: 12px; + img{ + width: 35px; + } +} +.sidebar, .off-canvas-sidebar{ + &, &[data="red"]{ + @include linear-gradient($danger-states, $danger); + } + &[data="primary"]{ + @include linear-gradient($primary-states, $primary); + } +} +@media screen and (max-width: 991px){ + .main-panel { + .content { + padding-left: 30px !important; + } + } + .fixed-plugin .dropdown-toggle:after{ + display: none; + } +} diff --git a/src/assets/scss/black-dashboard/angular-differences/plugins/_ngx-toastr.scss b/src/assets/scss/black-dashboard/angular-differences/plugins/_ngx-toastr.scss new file mode 100644 index 0000000..9275f6c --- /dev/null +++ b/src/assets/scss/black-dashboard/angular-differences/plugins/_ngx-toastr.scss @@ -0,0 +1,104 @@ + +.toast-container{ + width: 100%; + + .toast-close-button { + font-weight: 300; + text-shadow: none; + position: absolute; + right: 10px; + top: 50%; + margin-top: -14px; + width: 25px; + height: 25px; + + &:focus{ + outline: none; + } + + &:hover{ + opacity: 1; + color: $white; + } + + & > span { + display: none; + } + + &:before{ + display: block; + display: inline-block; + font: normal normal normal 1em/1 'Nucleo'; + font-size: inherit; + speak: none; + text-transform: none; + -webkit-font-smoothing: antialiased; + -moz-osx-font-smoothing: grayscale; + font-size: 20px; + content: "\ea48"; + font-weight: 300; + } + } + + .alert{ + z-index: 9999; + width: 33.3333%; + pointer-events: auto; + + .toast-message { + max-width: 89%; + } + + &.alert-with-icon{ + .tim-icons{ + position: absolute; + left: 24px; + top: 50%; + margin-top: -14px; + font-size: 24px; + } + } + } + + .toast-error{ + background-image: none; + } + + .toast-success{ + background-image: none; + } + + .toast-info{ + background-image: none; + } + + .toast-warning{ + background-image: none; + } +} +.toast-top-center, .toast-bottom-center{ + .alert{ + margin-left: auto; + margin-right: auto; + } +} +.toast-top-right, .toast-bottom-right{ + .alert{ + margin-left: auto; + margin-right: 0; + } +} + +.toast-top-center{ + top: 12px; +} + +.toast-bottom-center{ + bottom: 12px; +} + +@media screen and (max-width: 767px) { + .toast-container .alert{ + width: 91.6666%; + } +} diff --git a/src/assets/scss/black-dashboard/bootstrap/_alert.scss b/src/assets/scss/black-dashboard/bootstrap/_alert.scss new file mode 100644 index 0000000..dd43e23 --- /dev/null +++ b/src/assets/scss/black-dashboard/bootstrap/_alert.scss @@ -0,0 +1,51 @@ +// +// Base styles +// + +.alert { + position: relative; + padding: $alert-padding-y $alert-padding-x; + margin-bottom: $alert-margin-bottom; + border: $alert-border-width solid transparent; + @include border-radius($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; +} + + +// Dismissible alerts +// +// Expand the right padding and account for the close button's positioning. + +.alert-dismissible { + padding-right: ($close-font-size + $alert-padding-x * 2); + + // Adjust close link position + .close { + position: absolute; + top: 0; + right: 0; + padding: $alert-padding-y $alert-padding-x; + color: inherit; + } +} + + +// Alternate styles +// +// Generate contextual modifier classes for colorizing the alert. + +@each $color, $value in $theme-colors { + .alert-#{$color} { + @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); + } +} diff --git a/src/assets/scss/black-dashboard/bootstrap/_badge.scss b/src/assets/scss/black-dashboard/bootstrap/_badge.scss new file mode 100644 index 0000000..b87a1b0 --- /dev/null +++ b/src/assets/scss/black-dashboard/bootstrap/_badge.scss @@ -0,0 +1,47 @@ +// Base class +// +// Requires one of the contextual, color modifier classes for `color` and +// `background-color`. + +.badge { + display: inline-block; + padding: $badge-padding-y $badge-padding-x; + font-size: $badge-font-size; + font-weight: $badge-font-weight; + line-height: 1; + text-align: center; + white-space: nowrap; + vertical-align: baseline; + @include border-radius($badge-border-radius); + + // Empty badges collapse automatically + &:empty { + display: none; + } +} + +// Quick fix for badges in buttons +.btn .badge { + position: relative; + top: -1px; +} + +// Pill badges +// +// Make them extra rounded with a modifier to replace v3's badges. + +.badge-pill { + padding-right: $badge-pill-padding-x; + padding-left: $badge-pill-padding-x; + @include border-radius($badge-pill-border-radius); +} + +// Colors +// +// Contextual variations (linked badges get darker on :hover). + +@each $color, $value in $theme-colors { + .badge-#{$color} { + @include badge-variant($value); + } +} diff --git a/src/assets/scss/black-dashboard/bootstrap/_breadcrumb.scss b/src/assets/scss/black-dashboard/bootstrap/_breadcrumb.scss new file mode 100644 index 0000000..be30950 --- /dev/null +++ b/src/assets/scss/black-dashboard/bootstrap/_breadcrumb.scss @@ -0,0 +1,41 @@ +.breadcrumb { + display: flex; + flex-wrap: wrap; + padding: $breadcrumb-padding-y $breadcrumb-padding-x; + margin-bottom: $breadcrumb-margin-bottom; + list-style: none; + background-color: $breadcrumb-bg; + @include border-radius($breadcrumb-border-radius); +} + +.breadcrumb-item { + // The separator between breadcrumbs (by default, a forward-slash: "/") + + .breadcrumb-item { + padding-left: $breadcrumb-item-padding; + + &::before { + display: inline-block; // Suppress underlining of the separator in modern browsers + padding-right: $breadcrumb-item-padding; + color: $breadcrumb-divider-color; + content: $breadcrumb-divider; + } + } + + // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built + // without `