Compare commits

..

40 Commits

Author SHA1 Message Date
dependabot[bot]
889c51671b Bump json-schema and jsprim
Bumps [json-schema](https://github.com/kriszyp/json-schema) and [jsprim](https://github.com/joyent/node-jsprim). These dependencies needed to be updated together.

Updates `json-schema` from 0.2.3 to 0.4.0
- [Release notes](https://github.com/kriszyp/json-schema/releases)
- [Commits](https://github.com/kriszyp/json-schema/compare/v0.2.3...v0.4.0)

Updates `jsprim` from 1.4.1 to 1.4.2
- [Release notes](https://github.com/joyent/node-jsprim/releases)
- [Changelog](https://github.com/TritonDataCenter/node-jsprim/blob/v1.4.2/CHANGES.md)
- [Commits](https://github.com/joyent/node-jsprim/compare/v1.4.1...v1.4.2)

---
updated-dependencies:
- dependency-name: json-schema
  dependency-type: indirect
- dependency-name: jsprim
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2023-04-15 23:28:00 +00:00
David Miller
f0309881ef run build and version bump 2021-04-28 21:31:52 -04:00
David Miller
32c4bb5b8a Bootstrap 4.6.0 and dependencies update (final BS4 update) 2021-04-28 21:20:00 -04:00
David Miller
7101b1ba1b rebuild with version bump 2020-11-06 17:29:24 -05:00
David Miller
9c5ab9facc formatting and add pro upgrade info 2020-11-06 17:27:25 -05:00
David Miller
be598357d6 Bootstrap 4.5.3 and dependencies update 2020-11-03 14:53:16 -05:00
David Miller
e9f9c18142 Update README.md 2020-06-19 14:37:38 -04:00
David Miller
e068c5ec5e run build after dependecy update 2020-06-19 14:36:15 -04:00
David Miller
d65df79aae Merge branch 'master' of https://github.com/StartBootstrap/startbootstrap-sb-admin-2 2020-06-19 14:35:34 -04:00
David Miller
f3d4cb9d9d initial dependencies update 2020-06-19 14:35:32 -04:00
David Miller
6ab55f79c0 Merge pull request #331 from irineos1995/master
following Bootstrap 4 guidelines
2020-06-19 14:32:03 -04:00
David Miller
5e63066744 Merge pull request #343 from JackCrispy/patch-1
Fixed comment titles
2020-06-19 14:31:37 -04:00
Jack Crispy
8adb53f985 Fixed comment titles
All the monthly and tasks cards are titled wrong in the comments.
2020-05-14 15:55:10 +10:00
Eirinaios Theodorou
3b656206e5 following Bootstrap 4 guidelines 2020-03-17 09:25:59 +00:00
David Miller
cfc7db04e7 update dependencies and push version 2020-01-14 18:24:29 -05:00
David Miller
08c6a31042 Merge pull request #299 from onesneakymofo/patch-1
Fix wording on buttons (Primary should be Light)
2020-01-14 18:16:14 -05:00
David Miller
192fcb9da6 Merge pull request #262 from sbagdaulet/patch-1
Hide navigation menu in mobile
2020-01-14 18:15:51 -05:00
David Miller
29f20aacc2 Merge pull request #255 from weiserhei/master
Add missing colors to examples
2020-01-14 18:15:09 -05:00
David Miller
d02f059e53 Merge pull request #277 from imtiazShakil/master
Issue#276 fixed!
2020-01-14 18:14:29 -05:00
David Miller
b387a4e220 Merge pull request #321 from dpordomingo/defaults
Letting the user to override bootstrap variables
2020-01-14 18:10:52 -05:00
David Miller
f1652cc9c3 Merge branch 'master' into defaults 2020-01-14 18:10:44 -05:00
David Miller
e1025bfb86 Merge pull request #243 from goat-code-cgn/master
Add !default to sb-admin-2 SCSS variables
2020-01-14 18:05:29 -05:00
David Miller
7124313047 Merge branch 'master' into master 2020-01-14 18:01:07 -05:00
David Pordomingo
cbbbcbdb9f Add generated code with 'npm start' 2020-01-09 17:15:19 +01:00
GoatCode
3fd822f902 Bump SB Admin 2 to v4.0.8 in package.json 2020-01-09 17:13:08 +01:00
GoatCode
0d2fd353c0 Make the login image fully configurable 2020-01-09 17:13:04 +01:00
GoatCode
65a433ebf8 Make SB Admin 2 variables fully configurable
Added `!default` to all sb-admin-2 SCSS variables so they can be overwritten and customized when importing the SCSS in an own project.
2020-01-09 16:30:15 +01:00
David Miller
9c753eff52 Update _topbar.scss 2019-12-31 12:25:09 -05:00
Chris Autwell
294ae50bdd Fix wording on buttons (Primary should be Light)
Just found this theme browsing the internet and I noticed the button is incorrectly labeled.
2019-10-18 02:27:36 -05:00
David Miller
60d24312ca update dependencies, autoprefixer config, navbar search input height adjustment 2019-09-16 17:56:35 -04:00
imtiazShakil
e50ac540f6 Issue#276 fixed! 2019-07-03 22:41:42 +06:00
sbagdaulet
1782569731 Hide navigation menu in mobile
In the mobile with the menu open, the page itself is too narrow. Therefore, I propose to close the navigation menu. Intuitively, it opens due to the presence of a burger. And closing does not look so intuitive as in most other sites and applications the navigation menu is initially hidden
2019-05-31 14:31:33 +06:00
weiserhei
bf4f375444 add light & dark colors to palette 2019-05-27 15:03:52 +02:00
weiserhei
045039d8fc add missing border color to example
secondary and dark. Light color is the same as the background.
2019-05-27 10:35:03 +02:00
weiserhei
6c03cfcebe add gradient colors to example
secondary, light and dark
2019-05-27 10:31:33 +02:00
GoatCode
77c35fe8b3 Update _variables.scss 2019-05-02 11:54:29 +02:00
GoatCode
5b0989eaa9 Update package.json 2019-05-02 11:20:19 +02:00
GoatCode
872d85d758 Update _variables.scss 2019-05-02 11:13:22 +02:00
GoatCode
e6a626a449 Update _login.scss 2019-05-02 11:12:20 +02:00
GoatCode
b2cc438310 Add !default to sb-admin-2 SCSS variables
Added `!default` to all sb-admin-2 SCSS variables so they can be overwritten and customized when importing the SCSS in an own project.
2019-05-01 16:51:25 +02:00
1800 changed files with 85723 additions and 44198 deletions

13
.browserslistrc Normal file
View File

@@ -0,0 +1,13 @@
# https://github.com/browserslist/browserslist#readme
>= 1%
last 1 major version
not dead
Chrome >= 60
Firefox >= 60
Edge >= 15.15063
Explorer 11
iOS >= 10
Safari >= 10
Android >= 6
not ExplorerMobile <= 11

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -43,7 +45,8 @@
<li class="nav-item"> <li class="nav-item">
<a class="nav-link" href="index.html"> <a class="nav-link" href="index.html">
<i class="fas fa-fw fa-tachometer-alt"></i> <i class="fas fa-fw fa-tachometer-alt"></i>
<span>Dashboard</span></a> <span>Dashboard</span>
</a>
</li> </li>
<!-- Divider --> <!-- Divider -->
@@ -56,7 +59,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -71,11 +75,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,11 +102,13 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true"
aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
<div id="collapsePages" class="collapse show" aria-labelledby="headingPages" data-parent="#accordionSidebar"> <div id="collapsePages" class="collapse show" aria-labelledby="headingPages"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Login Screens:</h6> <h6 class="collapse-header">Login Screens:</h6>
<a class="collapse-item" href="login.html">Login</a> <a class="collapse-item" href="login.html">Login</a>
@@ -154,9 +162,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +180,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +204,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +255,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +323,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -349,7 +378,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -367,7 +396,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -1,6 +1,6 @@
The MIT License (MIT) The MIT License (MIT)
Copyright (c) 2013-2019 Blackrock Digital LLC Copyright (c) 2013-2021 Start Bootstrap LLC
Permission is hereby granted, free of charge, to any person obtaining a copy Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal of this software and associated documentation files (the "Software"), to deal

34
PRO_UPGRADE.txt Normal file
View File

@@ -0,0 +1,34 @@
* * * * * * * * * * * * * * * *
* * UPGRADE TO SB ADMIN PRO * *
* * * * * * * * * * * * * * * *
Save $10 and upgrade to SB Admin Pro.
Use the coupon code:
SAVE10
when making your purchase at
https://startbootstrap.com/theme/sb-admin-pro.
* * * * * * * * * * * * * * *
* * SB ADMIN PRO INCLUDES * *
* * * * * * * * * * * * * * *
- Full Documentation
- Expanded Components & Utilities
- Page Examples for Common Web App Views
- Email Support
- Fixed and Static Sidenav Options
- Multiple Page Layout Options
...and more!
* * * * * * * * * * * * * * * * * *
* * SAVE $10 ON ANY PRO PRODUCT * *
* * * * * * * * * * * * * * * * * *
Visit https://startbootstrap.com/shop to see any of
our other pro products, and save $10 on ANY PRODUCT
using the following coupon code:
Coupon Code: SAVE10

View File

@@ -1,31 +1,31 @@
# [Start Bootstrap - SB Admin 2](https://startbootstrap.com/template-overviews/sb-admin-2/) # [Start Bootstrap - SB Admin 2](https://startbootstrap.com/theme/sb-admin-2/)
[SB Admin 2](https://startbootstrap.com/template-overviews/sb-admin-2/) is an open source admin dashboard theme for [Bootstrap](http://getbootstrap.com/) created by [Start Bootstrap](http://startbootstrap.com/). [SB Admin 2](https://startbootstrap.com/theme/sb-admin-2/) is an open source admin dashboard theme for [Bootstrap](https://getbootstrap.com/) created by [Start Bootstrap](https://startbootstrap.com/).
For the legacy Bootstrap 3 version of this theme, you can view the [last stable release](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/releases/tag/v3.3.7%2B1) of SB Admin 2 for Bootstrap 3. For the legacy Bootstrap 3 version of this theme, you can view the [last stable release](https://github.com/StartBootstrap/startbootstrap-sb-admin-2/releases/tag/v3.3.7%2B1) of SB Admin 2 for Bootstrap 3.
## Preview ## Preview
[![SB Admin 2 Preview](https://startbootstrap.com/assets/img/screenshots/themes/sb-admin-2.png)](https://blackrockdigital.github.io/startbootstrap-sb-admin-2/) [![SB Admin 2 Preview](https://assets.startbootstrap.com/img/screenshots/themes/sb-admin-2.png)](https://startbootstrap.github.io/startbootstrap-sb-admin-2/)
**[Launch Live Preview](https://blackrockdigital.github.io/startbootstrap-sb-admin-2/)** **[Launch Live Preview](https://startbootstrap.github.io/startbootstrap-sb-admin-2/)**
## Status ## Status
[![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/BlackrockDigital/startbootstrap-sb-admin-2/master/LICENSE) [![GitHub license](https://img.shields.io/badge/license-MIT-blue.svg)](https://raw.githubusercontent.com/StartBootstrap/startbootstrap-sb-admin-2/master/LICENSE)
[![npm version](https://img.shields.io/npm/v/startbootstrap-sb-admin-2.svg)](https://www.npmjs.com/package/startbootstrap-sb-admin-2) [![npm version](https://img.shields.io/npm/v/startbootstrap-sb-admin-2.svg)](https://www.npmjs.com/package/startbootstrap-sb-admin-2)
[![Build Status](https://travis-ci.org/BlackrockDigital/startbootstrap-sb-admin-2.svg?branch=master)](https://travis-ci.org/BlackrockDigital/startbootstrap-sb-admin-2) [![Build Status](https://travis-ci.org/StartBootstrap/startbootstrap-sb-admin-2.svg?branch=master)](https://travis-ci.org/StartBootstrap/startbootstrap-sb-admin-2)
[![dependencies Status](https://david-dm.org/BlackrockDigital/startbootstrap-sb-admin-2/status.svg)](https://david-dm.org/BlackrockDigital/startbootstrap-sb-admin-2) [![dependencies Status](https://david-dm.org/StartBootstrap/startbootstrap-sb-admin-2/status.svg)](https://david-dm.org/StartBootstrap/startbootstrap-sb-admin-2)
[![devDependencies Status](https://david-dm.org/BlackrockDigital/startbootstrap-sb-admin-2/dev-status.svg)](https://david-dm.org/BlackrockDigital/startbootstrap-sb-admin-2?type=dev) [![devDependencies Status](https://david-dm.org/StartBootstrap/startbootstrap-sb-admin-2/dev-status.svg)](https://david-dm.org/StartBootstrap/startbootstrap-sb-admin-2?type=dev)
## Download and Installation ## Download and Installation
To begin using this template, choose one of the following options to get started: To begin using this template, choose one of the following options to get started:
- [Download the latest release on Start Bootstrap](https://startbootstrap.com/template-overviews/sb-admin-2/) * [Download the latest release on Start Bootstrap](https://startbootstrap.com/theme/sb-admin-2/)
- Install via npm: `npm i startbootstrap-sb-admin-2` * Install via npm: `npm i startbootstrap-sb-admin-2`
- Clone the repo: `git clone https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git` * Clone the repo: `git clone https://github.com/StartBootstrap/startbootstrap-sb-admin-2.git`
- [Fork, Clone, or Download on GitHub](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2) * [Fork, Clone, or Download on GitHub](https://github.com/StartBootstrap/startbootstrap-sb-admin-2)
## Usage ## Usage
@@ -33,33 +33,33 @@ After installation, run `npm install` and then run `npm start` which will open u
### Gulp Tasks ### Gulp Tasks
- `gulp` the default task that builds everything * `gulp` the default task that builds everything
- `gulp watch` browserSync opens the project in your default browser and live reloads when changes are made * `gulp watch` browserSync opens the project in your default browser and live reloads when changes are made
- `gulp css` compiles SCSS files into CSS and minifies the compiled CSS * `gulp css` compiles SCSS files into CSS and minifies the compiled CSS
- `gulp js` minifies the themes JS file * `gulp js` minifies the themes JS file
- `gulp vendor` copies dependencies from node_modules to the vendor directory * `gulp vendor` copies dependencies from node_modules to the vendor directory
You must have npm installed globally in order to use this build environment. This theme was built using node v11.6.0 and the Gulp CLI v2.0.1. If Gulp is not running properly after running `npm install`, you may need to update node and/or the Gulp CLI locally. You must have npm installed globally in order to use this build environment. This theme was built using node v11.6.0 and the Gulp CLI v2.0.1. If Gulp is not running properly after running `npm install`, you may need to update node and/or the Gulp CLI locally.
## Bugs and Issues ## Bugs and Issues
Have a bug or an issue with this template? [Open a new issue](https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](http://startbootstrap.com/template-overviews/sb-admin-2/). Have a bug or an issue with this template? [Open a new issue](https://github.com/StartBootstrap/startbootstrap-sb-admin-2/issues) here on GitHub or leave a comment on the [template overview page at Start Bootstrap](https://startbootstrap.com/theme/sb-admin-2/).
## About ## About
Start Bootstrap is an open source library of free Bootstrap templates and themes. All of the free templates and themes on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects. Start Bootstrap is an open source library of free Bootstrap templates and themes. All of the free templates and themes on Start Bootstrap are released under the MIT license, which means you can use them for any purpose, even for commercial projects.
- <https://startbootstrap.com> * <https://startbootstrap.com>
- <https://twitter.com/SBootstrap> * <https://twitter.com/SBootstrap>
Start Bootstrap was created by and is maintained by **[David Miller](http://davidmiller.io/)**. Start Bootstrap was created by and is maintained by **[David Miller](https://davidmiller.io/)**.
- <http://davidmiller.io> * <https://davidmiller.io>
- <https://twitter.com/davidmillerskt> * <https://twitter.com/davidmillerhere>
- <https://github.com/davidtmiller> * <https://github.com/davidtmiller>
Start Bootstrap is based on the [Bootstrap](http://getbootstrap.com/) framework created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thorton](https://twitter.com/fat). Start Bootstrap is based on the [Bootstrap](https://getbootstrap.com/) framework created by [Mark Otto](https://twitter.com/mdo) and [Jacob Thorton](https://twitter.com/fat).
## Copyright and License ## Copyright and License
Copyright 2013-2019 Blackrock Digital LLC. Code released under the [MIT](https://github.com/BlackrockDigital/startbootstrap-resume/blob/gh-pages/LICENSE) license. Copyright 2013-2021 Start Bootstrap LLC. Code released under the [MIT](https://github.com/StartBootstrap/startbootstrap-resume/blob/master/LICENSE) license.

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,7 +58,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -71,11 +74,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,11 +101,13 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true"
aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
<div id="collapsePages" class="collapse show" aria-labelledby="headingPages" data-parent="#accordionSidebar"> <div id="collapsePages" class="collapse show" aria-labelledby="headingPages"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Login Screens:</h6> <h6 class="collapse-header">Login Screens:</h6>
<a class="collapse-item" href="login.html">Login</a> <a class="collapse-item" href="login.html">Login</a>
@@ -154,9 +161,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +179,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +203,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +254,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +322,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -344,7 +372,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -362,7 +390,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,11 +58,13 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true"
aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
<div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo" data-parent="#accordionSidebar"> <div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Components:</h6> <h6 class="collapse-header">Custom Components:</h6>
<a class="collapse-item active" href="buttons.html">Buttons</a> <a class="collapse-item active" href="buttons.html">Buttons</a>
@@ -71,11 +75,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,7 +102,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -154,9 +161,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +179,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +203,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +254,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +322,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -344,7 +372,8 @@
<h6 class="m-0 font-weight-bold text-primary">Circle Buttons</h6> <h6 class="m-0 font-weight-bold text-primary">Circle Buttons</h6>
</div> </div>
<div class="card-body"> <div class="card-body">
<p>Use Font Awesome Icons (included with this theme package) along with the circle buttons as shown in the examples below!</p> <p>Use Font Awesome Icons (included with this theme package) along with the circle
buttons as shown in the examples below!</p>
<!-- Circle Buttons (Default) --> <!-- Circle Buttons (Default) -->
<div class="mb-2"> <div class="mb-2">
<code>.btn-circle</code> <code>.btn-circle</code>
@@ -411,10 +440,16 @@
<h6 class="m-0 font-weight-bold text-primary">Brand Buttons</h6> <h6 class="m-0 font-weight-bold text-primary">Brand Buttons</h6>
</div> </div>
<div class="card-body"> <div class="card-body">
<p>Google and Facebook buttons are available featuring each company's respective brand color. They are used on the user login and registration pages.</p> <p>Google and Facebook buttons are available featuring each company's respective
<p>You can create more custom buttons by adding a new color variable in the <code>_variables.scss</code> file and then using the Bootstrap button variant mixin to create a new style, as demonstrated in the <code>_buttons.scss</code> file.</p> brand color. They are used on the user login and registration pages.</p>
<a href="#" class="btn btn-google btn-block"><i class="fab fa-google fa-fw"></i> .btn-google</a> <p>You can create more custom buttons by adding a new color variable in the
<a href="#" class="btn btn-facebook btn-block"><i class="fab fa-facebook-f fa-fw"></i> .btn-facebook</a> <code>_variables.scss</code> file and then using the Bootstrap button variant
mixin to create a new style, as demonstrated in the <code>_buttons.scss</code>
file.</p>
<a href="#" class="btn btn-google btn-block"><i class="fab fa-google fa-fw"></i>
.btn-google</a>
<a href="#" class="btn btn-facebook btn-block"><i
class="fab fa-facebook-f fa-fw"></i> .btn-facebook</a>
</div> </div>
</div> </div>
@@ -428,7 +463,10 @@
<h6 class="m-0 font-weight-bold text-primary">Split Buttons with Icon</h6> <h6 class="m-0 font-weight-bold text-primary">Split Buttons with Icon</h6>
</div> </div>
<div class="card-body"> <div class="card-body">
<p>Works with any button colors, just use the <code>.btn-icon-split</code> class and the markup in the examples below. The examples below also use the <code>.text-white-50</code> helper class on the icons for additional styling, but it is not required.</p> <p>Works with any button colors, just use the <code>.btn-icon-split</code> class and
the markup in the examples below. The examples below also use the
<code>.text-white-50</code> helper class on the icons for additional styling,
but it is not required.</p>
<a href="#" class="btn btn-primary btn-icon-split"> <a href="#" class="btn btn-primary btn-icon-split">
<span class="icon text-white-50"> <span class="icon text-white-50">
<i class="fas fa-flag"></i> <i class="fas fa-flag"></i>
@@ -475,7 +513,7 @@
<span class="icon text-gray-600"> <span class="icon text-gray-600">
<i class="fas fa-arrow-right"></i> <i class="fas fa-arrow-right"></i>
</span> </span>
<span class="text">Split Button Primary</span> <span class="text">Split Button Light</span>
</a> </a>
<div class="mb-4"></div> <div class="mb-4"></div>
<p>Also works with small and large button classes!</p> <p>Also works with small and large button classes!</p>
@@ -509,7 +547,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -527,7 +565,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,11 +58,13 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true"
aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
<div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo" data-parent="#accordionSidebar"> <div id="collapseTwo" class="collapse show" aria-labelledby="headingTwo"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Components:</h6> <h6 class="collapse-header">Custom Components:</h6>
<a class="collapse-item" href="buttons.html">Buttons</a> <a class="collapse-item" href="buttons.html">Buttons</a>
@@ -71,11 +75,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,7 +102,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -154,9 +161,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +179,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +203,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +254,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +322,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -344,7 +372,8 @@
<div class="card-body"> <div class="card-body">
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col mr-2"> <div class="col mr-2">
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Earnings (Monthly)</div> <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
Earnings (Monthly)</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div> <div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -355,13 +384,14 @@
</div> </div>
</div> </div>
<!-- Earnings (Monthly) Card Example --> <!-- Earnings (Annual) Card Example -->
<div class="col-xl-3 col-md-6 mb-4"> <div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-success shadow h-100 py-2"> <div class="card border-left-success shadow h-100 py-2">
<div class="card-body"> <div class="card-body">
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col mr-2"> <div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Earnings (Annual)</div> <div class="text-xs font-weight-bold text-success text-uppercase mb-1">
Earnings (Annual)</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div> <div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -372,20 +402,23 @@
</div> </div>
</div> </div>
<!-- Earnings (Monthly) Card Example --> <!-- Tasks Card Example -->
<div class="col-xl-3 col-md-6 mb-4"> <div class="col-xl-3 col-md-6 mb-4">
<div class="card border-left-info shadow h-100 py-2"> <div class="card border-left-info shadow h-100 py-2">
<div class="card-body"> <div class="card-body">
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col mr-2"> <div class="col mr-2">
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks</div> <div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks
</div>
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col-auto"> <div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div> <div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div>
</div> </div>
<div class="col"> <div class="col">
<div class="progress progress-sm mr-2"> <div class="progress progress-sm mr-2">
<div class="progress-bar bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar bg-info" role="progressbar"
style="width: 50%" aria-valuenow="50" aria-valuemin="0"
aria-valuemax="100"></div>
</div> </div>
</div> </div>
</div> </div>
@@ -404,7 +437,8 @@
<div class="card-body"> <div class="card-body">
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col mr-2"> <div class="col mr-2">
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Pending Requests</div> <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
Pending Requests</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">18</div> <div class="h5 mb-0 font-weight-bold text-gray-800">18</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -426,7 +460,8 @@
Default Card Example Default Card Example
</div> </div>
<div class="card-body"> <div class="card-body">
This card uses Bootstrap's default styling with no utility classes added. Global styles are the only things modifying the look and feel of this default card example. This card uses Bootstrap's default styling with no utility classes added. Global
styles are the only things modifying the look and feel of this default card example.
</div> </div>
</div> </div>
@@ -436,7 +471,9 @@
<h6 class="m-0 font-weight-bold text-primary">Basic Card Example</h6> <h6 class="m-0 font-weight-bold text-primary">Basic Card Example</h6>
</div> </div>
<div class="card-body"> <div class="card-body">
The styling for this basic card example is created by using default Bootstrap utility classes. By using utility classes, the style of the card component can be easily modified with no need for any custom CSS! The styling for this basic card example is created by using default Bootstrap
utility classes. By using utility classes, the style of the card component can be
easily modified with no need for any custom CSS!
</div> </div>
</div> </div>
@@ -447,13 +484,16 @@
<!-- Dropdown Card Example --> <!-- Dropdown Card Example -->
<div class="card shadow mb-4"> <div class="card shadow mb-4">
<!-- Card Header - Dropdown --> <!-- Card Header - Dropdown -->
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between"> <div
class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Dropdown Card Example</h6> <h6 class="m-0 font-weight-bold text-primary">Dropdown Card Example</h6>
<div class="dropdown no-arrow"> <div class="dropdown no-arrow">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i> <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
</a> </a>
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink"> <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
aria-labelledby="dropdownMenuLink">
<div class="dropdown-header">Dropdown Header:</div> <div class="dropdown-header">Dropdown Header:</div>
<a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Another action</a>
@@ -464,20 +504,25 @@
</div> </div>
<!-- Card Body --> <!-- Card Body -->
<div class="card-body"> <div class="card-body">
Dropdown menus can be placed in the card header in order to extend the functionality of a basic card. In this dropdown card example, the Font Awesome vertical ellipsis icon in the card header can be clicked on in order to toggle a dropdown menu. Dropdown menus can be placed in the card header in order to extend the functionality
of a basic card. In this dropdown card example, the Font Awesome vertical ellipsis
icon in the card header can be clicked on in order to toggle a dropdown menu.
</div> </div>
</div> </div>
<!-- Collapsable Card Example --> <!-- Collapsable Card Example -->
<div class="card shadow mb-4"> <div class="card shadow mb-4">
<!-- Card Header - Accordion --> <!-- Card Header - Accordion -->
<a href="#collapseCardExample" class="d-block card-header py-3" data-toggle="collapse" role="button" aria-expanded="true" aria-controls="collapseCardExample"> <a href="#collapseCardExample" class="d-block card-header py-3" data-toggle="collapse"
role="button" aria-expanded="true" aria-controls="collapseCardExample">
<h6 class="m-0 font-weight-bold text-primary">Collapsable Card Example</h6> <h6 class="m-0 font-weight-bold text-primary">Collapsable Card Example</h6>
</a> </a>
<!-- Card Content - Collapse --> <!-- Card Content - Collapse -->
<div class="collapse show" id="collapseCardExample"> <div class="collapse show" id="collapseCardExample">
<div class="card-body"> <div class="card-body">
This is a collapsable card example using Bootstrap's built in collapse functionality. <strong>Click on the card header</strong> to see the card body collapse and expand! This is a collapsable card example using Bootstrap's built in collapse
functionality. <strong>Click on the card header</strong> to see the card body
collapse and expand!
</div> </div>
</div> </div>
</div> </div>
@@ -496,7 +541,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -514,7 +559,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,7 +58,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -71,11 +74,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,7 +101,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -154,9 +160,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +178,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +202,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +253,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +321,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -333,7 +360,10 @@
<!-- Page Heading --> <!-- Page Heading -->
<h1 class="h3 mb-2 text-gray-800">Charts</h1> <h1 class="h3 mb-2 text-gray-800">Charts</h1>
<p class="mb-4">Chart.js is a third party plugin that is used to generate the charts in this theme. The charts below have been customized - for further customization options, please visit the <a target="_blank" href="https://www.chartjs.org/docs/latest/">official Chart.js documentation</a>.</p> <p class="mb-4">Chart.js is a third party plugin that is used to generate the charts in this theme.
The charts below have been customized - for further customization options, please visit the <a
target="_blank" href="https://www.chartjs.org/docs/latest/">official Chart.js
documentation</a>.</p>
<!-- Content Row --> <!-- Content Row -->
<div class="row"> <div class="row">
@@ -350,7 +380,8 @@
<canvas id="myAreaChart"></canvas> <canvas id="myAreaChart"></canvas>
</div> </div>
<hr> <hr>
Styling for the area chart can be found in the <code>/js/demo/chart-area-demo.js</code> file. Styling for the area chart can be found in the
<code>/js/demo/chart-area-demo.js</code> file.
</div> </div>
</div> </div>
@@ -364,7 +395,8 @@
<canvas id="myBarChart"></canvas> <canvas id="myBarChart"></canvas>
</div> </div>
<hr> <hr>
Styling for the bar chart can be found in the <code>/js/demo/chart-bar-demo.js</code> file. Styling for the bar chart can be found in the
<code>/js/demo/chart-bar-demo.js</code> file.
</div> </div>
</div> </div>
@@ -383,7 +415,8 @@
<canvas id="myPieChart"></canvas> <canvas id="myPieChart"></canvas>
</div> </div>
<hr> <hr>
Styling for the donut chart can be found in the <code>/js/demo/chart-pie-demo.js</code> file. Styling for the donut chart can be found in the
<code>/js/demo/chart-pie-demo.js</code> file.
</div> </div>
</div> </div>
</div> </div>
@@ -399,7 +432,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -417,7 +450,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -38,11 +40,14 @@
<div class="p-5"> <div class="p-5">
<div class="text-center"> <div class="text-center">
<h1 class="h4 text-gray-900 mb-2">Forgot Your Password?</h1> <h1 class="h4 text-gray-900 mb-2">Forgot Your Password?</h1>
<p class="mb-4">We get it, stuff happens. Just enter your email address below and we'll send you a link to reset your password!</p> <p class="mb-4">We get it, stuff happens. Just enter your email address below
and we'll send you a link to reset your password!</p>
</div> </div>
<form class="user"> <form class="user">
<div class="form-group"> <div class="form-group">
<input type="email" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Enter Email Address..."> <input type="email" class="form-control form-control-user"
id="exampleInputEmail" aria-describedby="emailHelp"
placeholder="Enter Email Address...">
</div> </div>
<a href="login.html" class="btn btn-primary btn-user btn-block"> <a href="login.html" class="btn btn-primary btn-user btn-block">
Reset Password Reset Password

View File

@@ -20,7 +20,7 @@ const pkg = require('./package.json');
const banner = ['/*!\n', const banner = ['/*!\n',
' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n', ' * Start Bootstrap - <%= pkg.title %> v<%= pkg.version %> (<%= pkg.homepage %>)\n',
' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n', ' * Copyright 2013-' + (new Date()).getFullYear(), ' <%= pkg.author %>\n',
' * Licensed under <%= pkg.license %> (https://github.com/BlackrockDigital/<%= pkg.name %>/blob/master/LICENSE)\n', ' * Licensed under <%= pkg.license %> (https://github.com/StartBootstrap/<%= pkg.name %>/blob/master/LICENSE)\n',
' */\n', ' */\n',
'\n' '\n'
].join(''); ].join('');
@@ -91,7 +91,6 @@ function css() {
})) }))
.on("error", sass.logError) .on("error", sass.logError)
.pipe(autoprefixer({ .pipe(autoprefixer({
browsers: ['last 2 versions'],
cascade: false cascade: false
})) }))
.pipe(header(banner, { .pipe(header(banner, {

38
img/undraw_profile.svg Normal file
View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 108.3 108.3" style="enable-background:new 0 0 108.3 108.3;" xml:space="preserve">
<style type="text/css">
.st0{fill:#E6E6E6;}
.st1{fill:#FFB8B8;}
.st2{fill:#575A89;}
.st3{fill:#2F2E41;}
</style>
<g id="Group_45" transform="translate(-191 -152.079)">
<g id="Group_30" transform="translate(282.246 224.353)">
<path id="Path_944" class="st0" d="M17.1-18.1c0,10.5-3,20.8-8.8,29.6c-1.2,1.9-2.5,3.6-4,5.3c-3.4,4-7.3,7.4-11.6,10.3
c-1.2,0.8-2.4,1.5-3.6,2.2c-6.5,3.6-13.7,5.8-21,6.5c-1.7,0.2-3.4,0.2-5.1,0.2c-4.7,0-9.4-0.6-14-1.8c-2.6-0.7-5.1-1.6-7.6-2.6
c-1.3-0.5-2.5-1.1-3.7-1.8c-2.9-1.5-5.6-3.3-8.2-5.3c-1.2-0.9-2.3-1.9-3.4-2.9C-95.8,1.3-97.1-33-76.8-54.9s54.6-23.3,76.5-2.9
C10.8-47.6,17.1-33.2,17.1-18.1L17.1-18.1z"/>
<path id="Path_945" class="st1" d="M-50.2-13.2c0,0,4.9,13.7,1.1,21.4s6,16.4,6,16.4s25.8-13.1,22.5-19.7s-8.8-15.3-7.7-20.8
L-50.2-13.2z"/>
<ellipse id="Ellipse_185" class="st1" cx="-40.6" cy="-25.5" rx="17.5" ry="17.5"/>
<path id="Path_946" class="st2" d="M-51.1,34.2c-2.6-0.7-5.1-1.6-7.6-2.6l0.5-13.3l4.9-11c1.1,0.9,2.3,1.6,3.5,2.3
c0.3,0.2,0.6,0.3,0.9,0.5c4.6,2.2,12.2,4.2,19.5-1.3c2.7-2.1,5-4.7,6.7-7.6L-8.8,9l0.7,8.4l0.8,9.8c-1.2,0.8-2.4,1.5-3.6,2.2
c-6.5,3.6-13.7,5.8-21,6.5c-1.7,0.2-3.4,0.2-5.1,0.2C-41.8,36.1-46.5,35.4-51.1,34.2z"/>
<path id="Path_947" class="st2" d="M-47.7-0.9L-47.7-0.9l-0.7,7.2l-0.4,3.8l-0.5,5.6l-1.8,18.5c-2.6-0.7-5.1-1.6-7.6-2.6
c-1.3-0.5-2.5-1.1-3.7-1.8c-2.9-1.5-5.6-3.3-8.2-5.3l-1.9-9l0.1-0.1L-47.7-0.9z"/>
<path id="Path_948" class="st2" d="M-10.9,29.3c-6.5,3.6-13.7,5.8-21,6.5c0.4-6.7,1-13.1,1.6-18.8c0.3-2.9,0.7-5.7,1.1-8.2
c1.2-8,2.5-13.5,3.4-14.2l6.1,4L4.9,7.3l-0.5,9.5c-3.4,4-7.3,7.4-11.6,10.3C-8.5,27.9-9.7,28.7-10.9,29.3z"/>
<path id="Path_949" class="st2" d="M-70.5,24.6c-1.2-0.9-2.3-1.9-3.4-2.9l0.9-6.1l0.7-0.1l3.1-0.4l6.8,14.8
C-65.2,28.3-67.9,26.6-70.5,24.6L-70.5,24.6z"/>
<path id="Path_950" class="st2" d="M8.3,11.5c-1.2,1.9-2.5,3.6-4,5.3c-3.4,4-7.3,7.4-11.6,10.3c-1.2,0.8-2.4,1.5-3.6,2.2l-0.6-2.8
l3.5-9.1l4.2-11.1l8.8,1.1C6.1,8.7,7.2,10.1,8.3,11.5z"/>
<path id="Path_951" class="st3" d="M-23.9-41.4c-2.7-4.3-6.8-7.5-11.6-8.9l-3.6,2.9l1.4-3.3c-1.2-0.2-2.3-0.2-3.5-0.2l-3.2,4.1
l1.3-4c-5.6,0.7-10.7,3.7-14,8.3c-4.1,5.9-4.8,14.1-0.8,20c1.1-3.4,2.4-6.6,3.5-9.9c0.9,0.1,1.7,0.1,2.6,0l1.3-3.1l0.4,3
c4.2-0.4,10.3-1.2,14.3-1.9l-0.4-2.3l2.3,1.9c1.2-0.3,1.9-0.5,1.9-0.7c2.9,4.7,5.8,7.7,8.8,12.5C-22.1-29.8-20.2-35.3-23.9-41.4z"
/>
<ellipse id="Ellipse_186" class="st1" cx="-24.9" cy="-26.1" rx="1.2" ry="2.4"/>
</g>
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

38
img/undraw_profile_1.svg Normal file
View File

@@ -0,0 +1,38 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_x38_8ce59e9-c4b8-4d1d-9d7a-ce0190159aa8"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 231.8 231.8"
style="enable-background:new 0 0 231.8 231.8;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:url(#SVGID_1_);}
.st2{fill:#F5F5F5;}
.st3{fill:#333333;}
.st4{fill:#4E73DF;}
.st5{opacity:0.1;enable-background:new ;}
.st6{fill:#BE7C5E;}
</style>
<g class="st0">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="115.89" y1="525.2" x2="115.89" y2="756.98" gradientTransform="matrix(1 0 0 -1 0 756.98)">
<stop offset="0" style="stop-color:#808080;stop-opacity:0.25"/>
<stop offset="0.54" style="stop-color:#808080;stop-opacity:0.12"/>
<stop offset="1" style="stop-color:#808080;stop-opacity:0.1"/>
</linearGradient>
<circle class="st1" cx="115.9" cy="115.9" r="115.9"/>
</g>
<circle class="st2" cx="115.9" cy="115.3" r="113.4"/>
<path class="st3" d="M71.6,116.3c0,0-12.9,63.4-19.9,59.8c0,0,67.7,58.5,127.5,0c0,0-10.5-44.6-25.7-59.8H71.6z"/>
<path class="st4" d="M116.2,229c22.2,0,43.9-6.5,62.4-18.7c-4.2-22.8-20.1-24.1-20.1-24.1H70.8c0,0-15,1.2-19.7,22.2
C70.1,221.9,92.9,229.1,116.2,229z"/>
<circle class="st3" cx="115" cy="112.8" r="50.3"/>
<path class="st5" d="M97.3,158.4h35.1l0,0v28.1c0,9.7-7.8,17.5-17.5,17.5l0,0c-9.7,0-17.5-7.9-17.5-17.5L97.3,158.4L97.3,158.4z"/>
<path class="st6" d="M100.7,157.1h28.4c1.9,0,3.4,1.5,3.4,3.3v0v24.7c0,9.7-7.8,17.5-17.5,17.5l0,0c-9.7,0-17.5-7.9-17.5-17.5v0
v-24.7C97.4,158.6,98.9,157.1,100.7,157.1z"/>
<path class="st5" d="M97.4,171.6c11.3,4.2,23.8,4.3,35.1,0.1v-4.3H97.4V171.6z"/>
<circle class="st6" cx="115" cy="123.7" r="50.3"/>
<path class="st3" d="M66.9,104.6h95.9c0,0-8.2-38.7-44.4-36.2S66.9,104.6,66.9,104.6z"/>
<ellipse class="st6" cx="65.8" cy="121.5" rx="4.7" ry="8.8"/>
<ellipse class="st6" cx="164" cy="121.5" rx="4.7" ry="8.8"/>
<path class="st5" d="M66.9,105.9h95.9c0,0-8.2-38.7-44.4-36.2S66.9,105.9,66.9,105.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 2.1 KiB

44
img/undraw_profile_2.svg Normal file
View File

@@ -0,0 +1,44 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_x38_8ce59e9-c4b8-4d1d-9d7a-ce0190159aa8"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 231.8 231.8"
style="enable-background:new 0 0 231.8 231.8;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:url(#SVGID_1_);}
.st2{fill:#F5F5F5;}
.st3{fill:#4E73DF;}
.st4{fill:#72351C;}
.st5{opacity:0.1;enable-background:new ;}
.st6{fill:#FDA57D;}
</style>
<g class="st0">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="115.89" y1="526.22" x2="115.89" y2="758" gradientTransform="matrix(1 0 0 -1 0 758)">
<stop offset="0" style="stop-color:#808080;stop-opacity:0.25"/>
<stop offset="0.54" style="stop-color:#808080;stop-opacity:0.12"/>
<stop offset="1" style="stop-color:#808080;stop-opacity:0.1"/>
</linearGradient>
<circle class="st1" cx="115.9" cy="115.9" r="115.9"/>
</g>
<circle class="st2" cx="116.1" cy="115.1" r="113.4"/>
<path class="st3" d="M116.2,229c22.2,0,43.9-6.5,62.4-18.7c-4.2-22.9-20.1-24.2-20.1-24.2H70.8c0,0-15,1.2-19.7,22.2
C70.1,221.9,92.9,229.1,116.2,229z"/>
<circle class="st4" cx="115" cy="112.8" r="54.8"/>
<path class="st5" d="M97.3,158.4h35.1l0,0v28.1c0,9.7-7.8,17.6-17.5,17.6c0,0,0,0,0,0l0,0c-9.7,0-17.5-7.9-17.5-17.5L97.3,158.4
L97.3,158.4z"/>
<path class="st6" d="M100.7,157.1h28.4c1.9,0,3.3,1.5,3.3,3.4v24.7c0,9.7-7.9,17.5-17.5,17.5l0,0c-9.7,0-17.5-7.9-17.5-17.5v-24.7
C97.3,158.6,98.8,157.1,100.7,157.1L100.7,157.1z"/>
<path class="st5" d="M97.4,171.6c11.3,4.2,23.8,4.3,35.1,0.1v-4.3H97.4V171.6z"/>
<circle class="st6" cx="115" cy="123.7" r="50.3"/>
<path class="st5" d="M79.2,77.9c0,0,21.2,43,81,18l-13.9-21.8l-24.7-8.9L79.2,77.9z"/>
<path class="st4" d="M79.2,77.3c0,0,21.2,43,81,18l-13.9-21.8l-24.7-8.9L79.2,77.3z"/>
<path class="st4" d="M79,74.4c1.4-4.4,3.9-8.4,7.2-11.7c9.9-9.8,26.1-11.8,34.4-23c1.8,3.1,0.7,7.1-2.4,8.9
c-0.2,0.1-0.4,0.2-0.6,0.3c8-0.1,17.2-0.8,21.7-7.3c2.3,5.3,1.3,11.4-2.5,15.7c7.1,0.3,14.6,5.1,15.1,12.2c0.3,4.7-2.6,9.1-6.5,11.9
s-8.5,3.9-13.1,4.9C118.8,89.2,70.3,101.6,79,74.4z"/>
<path class="st4" d="M165.3,124.1H164L138,147.2c-25-11.7-43.3,0-43.3,0l-27.2-22.1l-2.7,0.3c0.8,27.8,23.9,49.6,51.7,48.9
C143.6,173.5,165.3,151.3,165.3,124.1L165.3,124.1z M115,156.1c-9.8,0-17.7-2-17.7-4.4s7.9-4.4,17.7-4.4s17.7,2,17.7,4.4
S124.7,156.1,115,156.1L115,156.1z"/>
<ellipse class="st6" cx="64.7" cy="123.6" rx="4.7" ry="8.8"/>
<ellipse class="st6" cx="165.3" cy="123.6" rx="4.7" ry="8.8"/>
</svg>

After

Width:  |  Height:  |  Size: 2.6 KiB

47
img/undraw_profile_3.svg Normal file
View File

@@ -0,0 +1,47 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="_x38_8ce59e9-c4b8-4d1d-9d7a-ce0190159aa8"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 231.8 231.8"
style="enable-background:new 0 0 231.8 231.8;" xml:space="preserve">
<style type="text/css">
.st0{opacity:0.5;}
.st1{fill:url(#SVGID_1_);}
.st2{fill:#F5F5F5;}
.st3{fill:#4E73DF;}
.st4{fill:#F55F44;}
.st5{opacity:0.1;enable-background:new ;}
.st6{fill:#FDA57D;}
.st7{fill:#333333;}
</style>
<g class="st0">
<linearGradient id="SVGID_1_" gradientUnits="userSpaceOnUse" x1="115.89" y1="9.36" x2="115.89" y2="241.14" gradientTransform="matrix(1 0 0 -1 0 241.14)">
<stop offset="0" style="stop-color:#808080;stop-opacity:0.25"/>
<stop offset="0.54" style="stop-color:#808080;stop-opacity:0.12"/>
<stop offset="1" style="stop-color:#808080;stop-opacity:0.1"/>
</linearGradient>
<circle class="st1" cx="115.9" cy="115.9" r="115.9"/>
</g>
<circle class="st2" cx="116.1" cy="115.1" r="113.4"/>
<path class="st3" d="M116.2,229c22.2,0,43.8-6.5,62.3-18.7c-4.2-22.8-20.1-24.2-20.1-24.2H70.8c0,0-15,1.2-19.7,22.2
C70.1,221.9,92.9,229.1,116.2,229z"/>
<circle class="st4" cx="115" cy="112.8" r="54.8"/>
<path class="st5" d="M97.3,158.4h35.1l0,0v28.1c0,9.7-7.9,17.5-17.5,17.5l0,0l0,0c-9.7,0-17.5-7.9-17.5-17.5l0,0L97.3,158.4
L97.3,158.4z"/>
<path class="st6" d="M100.7,157.1h28.4c1.9,0,3.4,1.5,3.4,3.4l0,0v24.7c0,9.7-7.9,17.5-17.5,17.5l0,0l0,0c-9.7,0-17.5-7.9-17.5-17.5
l0,0v-24.7C97.4,158.6,98.8,157.1,100.7,157.1L100.7,157.1L100.7,157.1z"/>
<path class="st5" d="M97.4,171.6c11.3,4.2,23.8,4.3,35.1,0.1v-4.3H97.4V171.6z"/>
<circle class="st6" cx="115" cy="123.7" r="50.3"/>
<circle class="st4" cx="114.9" cy="57.1" r="20.2"/>
<circle class="st4" cx="114.9" cy="37.1" r="13.3"/>
<path class="st4" d="M106.2,68.2c-9.9-4.4-14.5-15.8-10.5-25.9c-0.1,0.3-0.3,0.6-0.4,0.9c-4.6,10.2,0,22.2,10.2,26.8
s22.2,0,26.8-10.2c0.1-0.3,0.2-0.6,0.4-0.9C127.6,68.5,116,72.6,106.2,68.2z"/>
<path class="st5" d="M79.2,77.9c0,0,21.2,43,81,18l-13.9-21.8l-24.7-8.9L79.2,77.9z"/>
<path class="st4" d="M79.2,77.3c0,0,21.2,43,81,18l-13.9-21.8l-24.7-8.9L79.2,77.3z"/>
<path class="st7" d="M95.5,61.6c13-1,26.1-1,39.2,0C134.7,61.6,105.8,64.3,95.5,61.6z"/>
<path class="st4" d="M118,23c-1,0-2,0-3,0.2h0.8c7.3,0.2,13.1,6.4,12.8,13.7c-0.2,6.2-4.7,11.5-10.8,12.6
c7.3,0.1,13.3-5.8,13.4-13.2C131.2,29.1,125.3,23.1,118,23L118,23z"/>
<ellipse class="st6" cx="64.7" cy="123.6" rx="4.7" ry="8.8"/>
<ellipse class="st6" cx="165.3" cy="123.6" rx="4.7" ry="8.8"/>
<polygon class="st4" points="76,78.6 85.8,73.5 88,81.6 82,85.7 "/>
</svg>

After

Width:  |  Height:  |  Size: 2.7 KiB

39
img/undraw_rocket.svg Normal file
View File

@@ -0,0 +1,39 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 25.0.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="b759170a-51c3-4e2f-999d-77dec9fd6d11"
xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px" viewBox="0 0 650.9 610.5"
style="enable-background:new 0 0 650.9 610.5;" xml:space="preserve">
<style type="text/css">
.st0{fill:#AFC0E0;}
.st1{opacity:0.2;fill:#FFFFFF;enable-background:new ;}
.st2{opacity:0.1;enable-background:new ;}
.st3{fill:#E3E8F4;}
.st4{fill:#4E73DF;}
</style>
<path class="st0" d="M174,321c-2-1.6-4.2-3-6.6-4.2c-51.8-26.2-157,67.8-157,67.8L0,372.7c0,0,42.1-43.8,92.4-117.3
c45.2-66.1,150.7-51.8,171.4-48.3c2.3,0.4,3.6,0.7,3.6,0.7C298.7,288.3,174,321,174,321z"/>
<path class="st1" d="M269.4,213.9c-0.6-2-1.3-4-2-6c0,0-1.2-0.2-3.6-0.7c-20.7-3.5-126.2-17.8-171.4,48.3C42.1,329,0,372.7,0,372.7
l5.9,6.7c0,0,42.1-43.8,92.4-117.3C143.3,196.3,248,210.2,269.4,213.9z"/>
<path class="st0" d="M337.7,533.4c-79.2,40.8-127.8,77.1-127.8,77.1l-10.5-11.9c0,0,111.1-96.8,85.3-150.9c-0.5-1.2-1.2-2.3-1.9-3.4
c0,0,47.9-119.6,123.9-78.5c0,0,0.1,1,0.2,2.9C407.8,387.8,409.7,496.3,337.7,533.4z"/>
<path class="st2" d="M174,321c-2-1.6-4.2-3-6.6-4.2c29.3-38.9,61.5-75.5,96.3-109.7c2.3,0.4,3.6,0.7,3.6,0.7
C298.7,288.3,174,321,174,321z"/>
<path class="st2" d="M406.9,368.6c-38.6,29.6-79.4,56.1-122.3,79.1c-0.5-1.2-1.2-2.3-1.9-3.4c0,0,47.9-119.6,123.9-78.5
C406.7,365.7,406.8,366.7,406.9,368.6z"/>
<path class="st3" d="M263.6,455.5c-20.3,10.4-41.6,20.5-64,30.2c-33.6,14.6-51.5-2.2-80.7-91.5c0,0,12.5-22.5,37.2-57
c54.3-75.8,167.5-209.1,336.1-286.7C542.7,27.1,596.1,10.1,650.9,0c0,0-9.1,68.8-62,160.1S439.1,365.3,263.6,455.5z"/>
<circle class="st0" cx="435.6" cy="199.7" r="71.6"/>
<path class="st4" d="M469.2,237.9c-21,18.6-53.1,16.6-71.7-4.5c-7.8-8.8-12.2-20-12.7-31.8c-0.2-4.7,0.3-9.4,1.4-14
c0.5-2,1.1-4.1,1.9-6c2.9-7.7,7.7-14.5,13.8-19.9c0.3-0.3,0.6-0.5,0.9-0.8c17.1-14.4,41.5-15.9,60.3-3.8c3.5,2.3,6.7,4.9,9.5,7.9
l1,1.1C492.2,187.2,490.2,219.3,469.2,237.9C469.2,237.8,469.2,237.9,469.2,237.9z"/>
<path class="st0" d="M588.9,160.1c-83-35.2-96.8-109.6-96.8-109.6C542.7,27,596.1,10.1,650.9,0C650.9,0,641.8,68.8,588.9,160.1z"/>
<path class="st0" d="M263.6,455.5c-13.7,7.1-27.9,13.9-42.6,20.7c-7,3.2-14.1,6.4-21.4,9.5c-10.9,4.7-51.5-2.2-80.7-91.5
c0,0,4.1-7.3,12.1-20c6.1-9.6,14.5-22.2,25.1-37c0,0,11,33.2,41.1,67.3C215.8,425.7,238.4,443,263.6,455.5z"/>
<path class="st3" d="M221,476.2c-7,3.2-14.1,6.4-21.4,9.5c-10.9,4.7-51.5-2.2-80.7-91.5c0,0,4.1-7.3,12.1-20
C131,374.2,170.2,456.9,221,476.2z"/>
<path class="st1" d="M463.2,157l-0.1,0l-60.1,3.9c-0.3,0.3-0.6,0.5-0.9,0.8c-6.2,5.4-10.9,12.3-13.8,19.9l84.5-16.6L463.2,157z"/>
<path class="st1" d="M438.8,194.3l-53.9,7.3c-0.2-4.7,0.3-9.4,1.4-14l52.8,1.4L438.8,194.3z"/>
<path class="st1" d="M131.7,408.7c0,0,12.5-22.5,37.2-57C223.2,276,336.4,142.7,504.9,65c45.6-21.1,93.3-36.9,142.5-47.3
C650.1,6.4,650.9,0,650.9,0c-54.8,10.1-108.2,27-158.7,50.5c-168.6,77.7-281.8,211-336.1,286.7c-24.7,34.4-37.2,57-37.2,57
c11.5,35.3,26.6,57,40.5,70.3C149.4,451.4,139.7,433.3,131.7,408.7z"/>
</svg>

After

Width:  |  Height:  |  Size: 3.1 KiB

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,7 +58,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -71,11 +74,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,7 +101,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -136,6 +142,13 @@
<button class="rounded-circle border-0" id="sidebarToggle"></button> <button class="rounded-circle border-0" id="sidebarToggle"></button>
</div> </div>
<!-- Sidebar Message -->
<div class="sidebar-card d-none d-lg-flex">
<img class="sidebar-card-illustration mb-2" src="img/undraw_rocket.svg" alt="...">
<p class="text-center mb-2"><strong>SB Admin Pro</strong> is packed with premium features, components, and more!</p>
<a class="btn btn-success btn-sm" href="https://startbootstrap.com/theme/sb-admin-pro">Upgrade to Pro!</a>
</div>
</ul> </ul>
<!-- End of Sidebar --> <!-- End of Sidebar -->
@@ -154,9 +167,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +185,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +209,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +260,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +328,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -334,7 +368,8 @@
<!-- Page Heading --> <!-- Page Heading -->
<div class="d-sm-flex align-items-center justify-content-between mb-4"> <div class="d-sm-flex align-items-center justify-content-between mb-4">
<h1 class="h3 mb-0 text-gray-800">Dashboard</h1> <h1 class="h3 mb-0 text-gray-800">Dashboard</h1>
<a href="#" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i class="fas fa-download fa-sm text-white-50"></i> Generate Report</a> <a href="#" class="d-none d-sm-inline-block btn btn-sm btn-primary shadow-sm"><i
class="fas fa-download fa-sm text-white-50"></i> Generate Report</a>
</div> </div>
<!-- Content Row --> <!-- Content Row -->
@@ -346,7 +381,8 @@
<div class="card-body"> <div class="card-body">
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col mr-2"> <div class="col mr-2">
<div class="text-xs font-weight-bold text-primary text-uppercase mb-1">Earnings (Monthly)</div> <div class="text-xs font-weight-bold text-primary text-uppercase mb-1">
Earnings (Monthly)</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div> <div class="h5 mb-0 font-weight-bold text-gray-800">$40,000</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -363,7 +399,8 @@
<div class="card-body"> <div class="card-body">
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col mr-2"> <div class="col mr-2">
<div class="text-xs font-weight-bold text-success text-uppercase mb-1">Earnings (Annual)</div> <div class="text-xs font-weight-bold text-success text-uppercase mb-1">
Earnings (Annual)</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div> <div class="h5 mb-0 font-weight-bold text-gray-800">$215,000</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -380,14 +417,17 @@
<div class="card-body"> <div class="card-body">
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col mr-2"> <div class="col mr-2">
<div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks</div> <div class="text-xs font-weight-bold text-info text-uppercase mb-1">Tasks
</div>
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col-auto"> <div class="col-auto">
<div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div> <div class="h5 mb-0 mr-3 font-weight-bold text-gray-800">50%</div>
</div> </div>
<div class="col"> <div class="col">
<div class="progress progress-sm mr-2"> <div class="progress progress-sm mr-2">
<div class="progress-bar bg-info" role="progressbar" style="width: 50%" aria-valuenow="50" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar bg-info" role="progressbar"
style="width: 50%" aria-valuenow="50" aria-valuemin="0"
aria-valuemax="100"></div>
</div> </div>
</div> </div>
</div> </div>
@@ -406,7 +446,8 @@
<div class="card-body"> <div class="card-body">
<div class="row no-gutters align-items-center"> <div class="row no-gutters align-items-center">
<div class="col mr-2"> <div class="col mr-2">
<div class="text-xs font-weight-bold text-warning text-uppercase mb-1">Pending Requests</div> <div class="text-xs font-weight-bold text-warning text-uppercase mb-1">
Pending Requests</div>
<div class="h5 mb-0 font-weight-bold text-gray-800">18</div> <div class="h5 mb-0 font-weight-bold text-gray-800">18</div>
</div> </div>
<div class="col-auto"> <div class="col-auto">
@@ -426,13 +467,16 @@
<div class="col-xl-8 col-lg-7"> <div class="col-xl-8 col-lg-7">
<div class="card shadow mb-4"> <div class="card shadow mb-4">
<!-- Card Header - Dropdown --> <!-- Card Header - Dropdown -->
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between"> <div
class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Earnings Overview</h6> <h6 class="m-0 font-weight-bold text-primary">Earnings Overview</h6>
<div class="dropdown no-arrow"> <div class="dropdown no-arrow">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i> <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
</a> </a>
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink"> <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
aria-labelledby="dropdownMenuLink">
<div class="dropdown-header">Dropdown Header:</div> <div class="dropdown-header">Dropdown Header:</div>
<a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Another action</a>
@@ -454,13 +498,16 @@
<div class="col-xl-4 col-lg-5"> <div class="col-xl-4 col-lg-5">
<div class="card shadow mb-4"> <div class="card shadow mb-4">
<!-- Card Header - Dropdown --> <!-- Card Header - Dropdown -->
<div class="card-header py-3 d-flex flex-row align-items-center justify-content-between"> <div
class="card-header py-3 d-flex flex-row align-items-center justify-content-between">
<h6 class="m-0 font-weight-bold text-primary">Revenue Sources</h6> <h6 class="m-0 font-weight-bold text-primary">Revenue Sources</h6>
<div class="dropdown no-arrow"> <div class="dropdown no-arrow">
<a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="dropdown-toggle" href="#" role="button" id="dropdownMenuLink"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i> <i class="fas fa-ellipsis-v fa-sm fa-fw text-gray-400"></i>
</a> </a>
<div class="dropdown-menu dropdown-menu-right shadow animated--fade-in" aria-labelledby="dropdownMenuLink"> <div class="dropdown-menu dropdown-menu-right shadow animated--fade-in"
aria-labelledby="dropdownMenuLink">
<div class="dropdown-header">Dropdown Header:</div> <div class="dropdown-header">Dropdown Header:</div>
<a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Another action</a>
@@ -502,25 +549,35 @@
<h6 class="m-0 font-weight-bold text-primary">Projects</h6> <h6 class="m-0 font-weight-bold text-primary">Projects</h6>
</div> </div>
<div class="card-body"> <div class="card-body">
<h4 class="small font-weight-bold">Server Migration <span class="float-right">20%</span></h4> <h4 class="small font-weight-bold">Server Migration <span
class="float-right">20%</span></h4>
<div class="progress mb-4"> <div class="progress mb-4">
<div class="progress-bar bg-danger" role="progressbar" style="width: 20%" aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar bg-danger" role="progressbar" style="width: 20%"
aria-valuenow="20" aria-valuemin="0" aria-valuemax="100"></div>
</div> </div>
<h4 class="small font-weight-bold">Sales Tracking <span class="float-right">40%</span></h4> <h4 class="small font-weight-bold">Sales Tracking <span
class="float-right">40%</span></h4>
<div class="progress mb-4"> <div class="progress mb-4">
<div class="progress-bar bg-warning" role="progressbar" style="width: 40%" aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar bg-warning" role="progressbar" style="width: 40%"
aria-valuenow="40" aria-valuemin="0" aria-valuemax="100"></div>
</div> </div>
<h4 class="small font-weight-bold">Customer Database <span class="float-right">60%</span></h4> <h4 class="small font-weight-bold">Customer Database <span
class="float-right">60%</span></h4>
<div class="progress mb-4"> <div class="progress mb-4">
<div class="progress-bar" role="progressbar" style="width: 60%" aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar" role="progressbar" style="width: 60%"
aria-valuenow="60" aria-valuemin="0" aria-valuemax="100"></div>
</div> </div>
<h4 class="small font-weight-bold">Payout Details <span class="float-right">80%</span></h4> <h4 class="small font-weight-bold">Payout Details <span
class="float-right">80%</span></h4>
<div class="progress mb-4"> <div class="progress mb-4">
<div class="progress-bar bg-info" role="progressbar" style="width: 80%" aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar bg-info" role="progressbar" style="width: 80%"
aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
</div> </div>
<h4 class="small font-weight-bold">Account Setup <span class="float-right">Complete!</span></h4> <h4 class="small font-weight-bold">Account Setup <span
class="float-right">Complete!</span></h4>
<div class="progress"> <div class="progress">
<div class="progress-bar bg-success" role="progressbar" style="width: 100%" aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar bg-success" role="progressbar" style="width: 100%"
aria-valuenow="100" aria-valuemin="0" aria-valuemax="100"></div>
</div> </div>
</div> </div>
</div> </div>
@@ -575,6 +632,22 @@
</div> </div>
</div> </div>
</div> </div>
<div class="col-lg-6 mb-4">
<div class="card bg-light text-black shadow">
<div class="card-body">
Light
<div class="text-black-50 small">#f8f9fc</div>
</div>
</div>
</div>
<div class="col-lg-6 mb-4">
<div class="card bg-dark text-white shadow">
<div class="card-body">
Dark
<div class="text-white-50 small">#5a5c69</div>
</div>
</div>
</div>
</div> </div>
</div> </div>
@@ -588,10 +661,15 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="text-center"> <div class="text-center">
<img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;" src="img/undraw_posting_photo.svg" alt=""> <img class="img-fluid px-3 px-sm-4 mt-3 mb-4" style="width: 25rem;"
src="img/undraw_posting_photo.svg" alt="...">
</div> </div>
<p>Add some quality, svg illustrations to your project courtesy of <a target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a constantly updated collection of beautiful svg images that you can use completely free and without attribution!</p> <p>Add some quality, svg illustrations to your project courtesy of <a
<a target="_blank" rel="nofollow" href="https://undraw.co/">Browse Illustrations on unDraw &rarr;</a> target="_blank" rel="nofollow" href="https://undraw.co/">unDraw</a>, a
constantly updated collection of beautiful svg images that you can use
completely free and without attribution!</p>
<a target="_blank" rel="nofollow" href="https://undraw.co/">Browse Illustrations on
unDraw &rarr;</a>
</div> </div>
</div> </div>
@@ -601,8 +679,11 @@
<h6 class="m-0 font-weight-bold text-primary">Development Approach</h6> <h6 class="m-0 font-weight-bold text-primary">Development Approach</h6>
</div> </div>
<div class="card-body"> <div class="card-body">
<p>SB Admin 2 makes extensive use of Bootstrap 4 utility classes in order to reduce CSS bloat and poor page performance. Custom CSS classes are used to create custom components and custom utility classes.</p> <p>SB Admin 2 makes extensive use of Bootstrap 4 utility classes in order to reduce
<p class="mb-0">Before working with this theme, you should become familiar with the Bootstrap framework, especially the utility classes.</p> CSS bloat and poor page performance. Custom CSS classes are used to create
custom components and custom utility classes.</p>
<p class="mb-0">Before working with this theme, you should become familiar with the
Bootstrap framework, especially the utility classes.</p>
</div> </div>
</div> </div>
@@ -619,7 +700,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2021</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -637,7 +718,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -15,6 +15,13 @@
if ($(window).width() < 768) { if ($(window).width() < 768) {
$('.sidebar .collapse').collapse('hide'); $('.sidebar .collapse').collapse('hide');
}; };
// Toggle the side navigation when window is resized below 480px
if ($(window).width() < 480 && !$(".sidebar").hasClass("toggled")) {
$("body").addClass("sidebar-toggled");
$(".sidebar").addClass("toggled");
$('.sidebar .collapse').collapse('hide');
};
}); });
// Prevent the content wrapper from scrolling when the fixed side navigation hovered over // Prevent the content wrapper from scrolling when the fixed side navigation hovered over

View File

@@ -1,7 +1,7 @@
/*! /*!
* Start Bootstrap - SB Admin 2 v4.0.6 (https://startbootstrap.com/template-overviews/sb-admin-2) * Start Bootstrap - SB Admin 2 v4.1.4 (https://startbootstrap.com/theme/sb-admin-2)
* Copyright 2013-2019 Start Bootstrap * Copyright 2013-2021 Start Bootstrap
* Licensed under MIT (https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/blob/master/LICENSE) * Licensed under MIT (https://github.com/StartBootstrap/startbootstrap-sb-admin-2/blob/master/LICENSE)
*/ */
!function(t){"use strict";t("#sidebarToggle, #sidebarToggleTop").on("click",function(o){t("body").toggleClass("sidebar-toggled"),t(".sidebar").toggleClass("toggled"),t(".sidebar").hasClass("toggled")&&t(".sidebar .collapse").collapse("hide")}),t(window).resize(function(){t(window).width()<768&&t(".sidebar .collapse").collapse("hide")}),t("body.fixed-nav .sidebar").on("mousewheel DOMMouseScroll wheel",function(o){if(768<t(window).width()){var e=o.originalEvent,l=e.wheelDelta||-e.detail;this.scrollTop+=30*(l<0?1:-1),o.preventDefault()}}),t(document).on("scroll",function(){100<t(this).scrollTop()?t(".scroll-to-top").fadeIn():t(".scroll-to-top").fadeOut()}),t(document).on("click","a.scroll-to-top",function(o){var e=t(this);t("html, body").stop().animate({scrollTop:t(e.attr("href")).offset().top},1e3,"easeInOutExpo"),o.preventDefault()})}(jQuery); !function(l){"use strict";l("#sidebarToggle, #sidebarToggleTop").on("click",function(e){l("body").toggleClass("sidebar-toggled"),l(".sidebar").toggleClass("toggled"),l(".sidebar").hasClass("toggled")&&l(".sidebar .collapse").collapse("hide")}),l(window).resize(function(){l(window).width()<768&&l(".sidebar .collapse").collapse("hide"),l(window).width()<480&&!l(".sidebar").hasClass("toggled")&&(l("body").addClass("sidebar-toggled"),l(".sidebar").addClass("toggled"),l(".sidebar .collapse").collapse("hide"))}),l("body.fixed-nav .sidebar").on("mousewheel DOMMouseScroll wheel",function(e){var o;768<l(window).width()&&(o=(o=e.originalEvent).wheelDelta||-o.detail,this.scrollTop+=30*(o<0?1:-1),e.preventDefault())}),l(document).on("scroll",function(){100<l(this).scrollTop()?l(".scroll-to-top").fadeIn():l(".scroll-to-top").fadeOut()}),l(document).on("click","a.scroll-to-top",function(e){var o=l(this);l("html, body").stop().animate({scrollTop:l(o.attr("href")).offset().top},1e3,"easeInOutExpo"),e.preventDefault()})}(jQuery);

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -41,15 +43,19 @@
</div> </div>
<form class="user"> <form class="user">
<div class="form-group"> <div class="form-group">
<input type="email" class="form-control form-control-user" id="exampleInputEmail" aria-describedby="emailHelp" placeholder="Enter Email Address..."> <input type="email" class="form-control form-control-user"
id="exampleInputEmail" aria-describedby="emailHelp"
placeholder="Enter Email Address...">
</div> </div>
<div class="form-group"> <div class="form-group">
<input type="password" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password"> <input type="password" class="form-control form-control-user"
id="exampleInputPassword" placeholder="Password">
</div> </div>
<div class="form-group"> <div class="form-group">
<div class="custom-control custom-checkbox small"> <div class="custom-control custom-checkbox small">
<input type="checkbox" class="custom-control-input" id="customCheck"> <input type="checkbox" class="custom-control-input" id="customCheck">
<label class="custom-control-label" for="customCheck">Remember Me</label> <label class="custom-control-label" for="customCheck">Remember
Me</label>
</div> </div>
</div> </div>
<a href="index.html" class="btn btn-primary btn-user btn-block"> <a href="index.html" class="btn btn-primary btn-user btn-block">

12973
package-lock.json generated

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
{ {
"title": "SB Admin 2", "title": "SB Admin 2",
"name": "startbootstrap-sb-admin-2", "name": "startbootstrap-sb-admin-2",
"version": "4.0.6", "version": "4.1.4",
"scripts": { "scripts": {
"start": "node_modules/.bin/gulp watch" "start": "node_modules/.bin/gulp watch"
}, },
@@ -16,38 +16,38 @@
"admin", "admin",
"app" "app"
], ],
"homepage": "https://startbootstrap.com/template-overviews/sb-admin-2", "homepage": "https://startbootstrap.com/theme/sb-admin-2",
"bugs": { "bugs": {
"url": "https://github.com/BlackrockDigital/startbootstrap-sb-admin-2/issues", "url": "https://github.com/StartBootstrap/startbootstrap-sb-admin-2/issues",
"email": "feedback@startbootstrap.com" "email": "feedback@startbootstrap.com"
}, },
"license": "MIT", "license": "MIT",
"author": "Start Bootstrap", "author": "Start Bootstrap",
"contributors": [ "contributors": [
"David Miller (http://davidmiller.io/)" "David Miller (https://davidmiller.io/)"
], ],
"repository": { "repository": {
"type": "git", "type": "git",
"url": "https://github.com/BlackrockDigital/startbootstrap-sb-admin-2.git" "url": "https://github.com/StartBootstrap/startbootstrap-sb-admin-2.git"
}, },
"dependencies": { "dependencies": {
"@fortawesome/fontawesome-free": "5.9.0", "@fortawesome/fontawesome-free": "5.15.3",
"bootstrap": "4.3.1", "bootstrap": "4.6.0",
"chart.js": "2.8.0", "chart.js": "2.9.4",
"datatables.net-bs4": "1.10.19", "datatables.net-bs4": "1.10.24",
"jquery": "3.4.1", "jquery": "3.6.0",
"jquery.easing": "^1.4.1" "jquery.easing": "^1.4.1"
}, },
"devDependencies": { "devDependencies": {
"browser-sync": "2.26.7", "browser-sync": "2.26.14",
"del": "4.1.1", "del": "6.0.0",
"gulp": "4.0.2", "gulp": "4.0.2",
"gulp-autoprefixer": "6.1.0", "gulp-autoprefixer": "7.0.1",
"gulp-clean-css": "4.2.0", "gulp-clean-css": "4.3.0",
"gulp-header": "2.0.7", "gulp-header": "2.0.9",
"gulp-plumber": "^1.2.1", "gulp-plumber": "^1.2.1",
"gulp-rename": "1.4.0", "gulp-rename": "2.0.0",
"gulp-sass": "4.0.2", "gulp-sass": "4.1.0",
"gulp-uglify": "3.0.2", "gulp-uglify": "3.0.2",
"merge-stream": "2.0.0" "merge-stream": "2.0.0"
} }

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -37,21 +39,26 @@
<form class="user"> <form class="user">
<div class="form-group row"> <div class="form-group row">
<div class="col-sm-6 mb-3 mb-sm-0"> <div class="col-sm-6 mb-3 mb-sm-0">
<input type="text" class="form-control form-control-user" id="exampleFirstName" placeholder="First Name"> <input type="text" class="form-control form-control-user" id="exampleFirstName"
placeholder="First Name">
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="text" class="form-control form-control-user" id="exampleLastName" placeholder="Last Name"> <input type="text" class="form-control form-control-user" id="exampleLastName"
placeholder="Last Name">
</div> </div>
</div> </div>
<div class="form-group"> <div class="form-group">
<input type="email" class="form-control form-control-user" id="exampleInputEmail" placeholder="Email Address"> <input type="email" class="form-control form-control-user" id="exampleInputEmail"
placeholder="Email Address">
</div> </div>
<div class="form-group row"> <div class="form-group row">
<div class="col-sm-6 mb-3 mb-sm-0"> <div class="col-sm-6 mb-3 mb-sm-0">
<input type="password" class="form-control form-control-user" id="exampleInputPassword" placeholder="Password"> <input type="password" class="form-control form-control-user"
id="exampleInputPassword" placeholder="Password">
</div> </div>
<div class="col-sm-6"> <div class="col-sm-6">
<input type="password" class="form-control form-control-user" id="exampleRepeatPassword" placeholder="Repeat Password"> <input type="password" class="form-control form-control-user"
id="exampleRepeatPassword" placeholder="Repeat Password">
</div> </div>
</div> </div>
<a href="login.html" class="btn btn-primary btn-user btn-block"> <a href="login.html" class="btn btn-primary btn-user btn-block">

View File

@@ -2,19 +2,19 @@
// Toshi the dog from https://unsplash.com/@charlesdeluvio - what a funny dog... // Toshi the dog from https://unsplash.com/@charlesdeluvio - what a funny dog...
.bg-login-image { .bg-login-image {
background: url('https://source.unsplash.com/K4mSJ7kc0As/600x800'); background: url($login-image);
background-position: center; background-position: center;
background-size: cover; background-size: cover;
} }
.bg-register-image { .bg-register-image {
background: url('https://source.unsplash.com/Mv9hjnEUHR4/600x800'); background: url($register-image);
background-position: center; background-position: center;
background-size: cover; background-size: cover;
} }
.bg-password-image { .bg-password-image {
background: url('https://source.unsplash.com/oWTW-jNGl9I/600x800'); background: url($password-image);
background-position: center; background-position: center;
background-size: cover; background-size: cover;
} }

View File

@@ -28,8 +28,8 @@ $teal: #20c9a6 !default;
$cyan: #36b9cc !default; $cyan: #36b9cc !default;
// Custom Colors // Custom Colors
$brand-google: #ea4335; $brand-google: #ea4335 !default;
$brand-facebook: #3b5998; $brand-facebook: #3b5998 !default;
// Set Contrast Threshold // Set Contrast Threshold
$yiq-contrasted-threshold: 195 !default; $yiq-contrasted-threshold: 195 !default;
@@ -50,27 +50,32 @@ $box-shadow: 0 0.15rem 1.75rem 0 rgba($gray-900, .15) !default;
// Borders Radius // Borders Radius
$border-radius: 0.35rem !default; $border-radius: 0.35rem !default;
$border-color: darken($gray-200, 2%); $border-color: darken($gray-200, 2%) !default;
// Spacing Variables // Spacing Variables
// Change below variable if the height of the navbar changes // Change below variable if the height of the navbar changes
$topbar-base-height: 4.375rem; $topbar-base-height: 4.375rem !default;
// Change below variable to change the width of the sidenav // Change below variable to change the width of the sidenav
$sidebar-base-width: 14rem; $sidebar-base-width: 14rem !default;
// Change below variable to change the width of the sidenav when collapsed // Change below variable to change the width of the sidenav when collapsed
$sidebar-collapsed-width: 6.5rem; $sidebar-collapsed-width: 6.5rem !default;
// Card // Card
$card-cap-bg: $gray-100; $card-cap-bg: $gray-100 !default;
$card-border-color: $border-color; $card-border-color: $border-color !default;
// Adjust column spacing for symmetry // Adjust column spacing for symmetry
$spacer: 1rem; $spacer: 1rem !default;
$grid-gutter-width: $spacer * 1.5; $grid-gutter-width: $spacer * 1.5 !default;
// Transitions // Transitions
$transition-collapse: height .15s ease !default; $transition-collapse: height .15s ease !default;
// Dropdowns // Dropdowns
$dropdown-font-size: 0.85rem; $dropdown-font-size: 0.85rem !default;
$dropdown-border-color: $border-color; $dropdown-border-color: $border-color !default;
// Images
$login-image: 'https://source.unsplash.com/K4mSJ7kc0As/600x800' !default;
$register-image: 'https://source.unsplash.com/Mv9hjnEUHR4/600x800' !default;
$password-image: 'https://source.unsplash.com/oWTW-jNGl9I/600x800' !default;

View File

@@ -2,25 +2,31 @@
.sidebar { .sidebar {
width: $sidebar-collapsed-width; width: $sidebar-collapsed-width;
min-height: 100vh; min-height: 100vh;
.nav-item { .nav-item {
position: relative; position: relative;
&:last-child { &:last-child {
margin-bottom: 1rem; margin-bottom: 1rem;
} }
.nav-link { .nav-link {
text-align: center; text-align: center;
padding: 0.75rem 1rem; padding: 0.75rem 1rem;
width: $sidebar-collapsed-width; width: $sidebar-collapsed-width;
span { span {
font-size: 0.65rem; font-size: 0.65rem;
display: block; display: block;
} }
} }
&.active { &.active {
.nav-link { .nav-link {
font-weight: 700; font-weight: 700;
} }
} }
// Accordion // Accordion
.collapse { .collapse {
position: absolute; position: absolute;
@@ -29,15 +35,18 @@
top: 2px; top: 2px;
// Grow In Animation // Grow In Animation
@extend .animated--grow-in; @extend .animated--grow-in;
.collapse-inner { .collapse-inner {
border-radius: $border-radius; border-radius: $border-radius;
box-shadow: $box-shadow; box-shadow: $box-shadow;
} }
} }
.collapsing { .collapsing {
display: none; display: none;
transition: none; transition: none;
} }
.collapse, .collapse,
.collapsing { .collapsing {
.collapse-inner { .collapse-inner {
@@ -45,6 +54,7 @@
min-width: 10rem; min-width: 10rem;
font-size: $dropdown-font-size; font-size: $dropdown-font-size;
margin: 0 0 1rem 0; margin: 0 0 1rem 0;
.collapse-header { .collapse-header {
margin: 0; margin: 0;
white-space: nowrap; white-space: nowrap;
@@ -54,6 +64,7 @@
font-size: 0.65rem; font-size: 0.65rem;
color: $gray-500; color: $gray-500;
} }
.collapse-item { .collapse-item {
padding: 0.5rem 1rem; padding: 0.5rem 1rem;
margin: 0 0.5rem; margin: 0 0.5rem;
@@ -62,12 +73,15 @@
text-decoration: none; text-decoration: none;
border-radius: $border-radius; border-radius: $border-radius;
white-space: nowrap; white-space: nowrap;
&:hover { &:hover {
background-color: $gray-200; background-color: $gray-200;
} }
&:active { &:active {
background-color: $gray-300; background-color: $gray-300;
} }
&.active { &.active {
color: $primary; color: $primary;
font-weight: 700; font-weight: 700;
@@ -76,34 +90,45 @@
} }
} }
} }
#sidebarToggle { #sidebarToggle {
width: 2.5rem; width: 2.5rem;
height: 2.5rem; height: 2.5rem;
text-align: center; text-align: center;
margin-bottom: 1rem; margin-bottom: 1rem;
cursor: pointer; cursor: pointer;
&::after { &::after {
font-weight: 900; font-weight: 900;
content: '\f104'; content: '\f104';
font-family: 'Font Awesome 5 Free'; font-family: 'Font Awesome 5 Free';
margin-right: 0.1rem; margin-right: 0.1rem;
} }
&:hover { &:hover {
text-decoration: none; text-decoration: none;
} }
&:focus { &:focus {
outline: none; outline: none;
} }
} }
&.toggled { &.toggled {
width: 0 !important; width: 0 !important;
overflow: hidden; overflow: hidden;
#sidebarToggle::after { #sidebarToggle::after {
content: '\f105'; content: '\f105';
font-family: 'Font Awesome 5 Free'; font-family: 'Font Awesome 5 Free';
margin-left: 0.25rem; margin-left: 0.25rem;
} }
.sidebar-card {
display: none;
} }
}
.sidebar-brand { .sidebar-brand {
height: $topbar-base-height; height: $topbar-base-height;
text-decoration: none; text-decoration: none;
@@ -118,13 +143,16 @@
.sidebar-brand-icon i { .sidebar-brand-icon i {
font-size: 2rem; font-size: 2rem;
} }
.sidebar-brand-text { .sidebar-brand-text {
display: none; display: none;
} }
} }
hr.sidebar-divider { hr.sidebar-divider {
margin: 0 1rem 1rem; margin: 0 1rem 1rem;
} }
.sidebar-heading { .sidebar-heading {
text-align: center; text-align: center;
padding: 0 1rem; padding: 0 1rem;
@@ -132,12 +160,39 @@
font-size: 0.65rem; font-size: 0.65rem;
@extend .text-uppercase; @extend .text-uppercase;
} }
.sidebar-card {
display: flex;
flex-direction: column;
align-items: center;
font-size: $font-size-sm;
border-radius: $border-radius;
color: fade-out($white, 0.2);
margin-left: 1rem;
margin-right: 1rem;
margin-bottom: 1rem;
padding: 1rem;
background-color: fade-out($black, 0.9);
.sidebar-card-illustration {
height: 3rem;
display: block;
}
.sidebar-card-title {
font-weight: bold;
}
p {
font-size: 0.75rem;
color: fade-out($white, 0.5);
}
}
} }
@include media-breakpoint-up(md) { @include media-breakpoint-up(md) {
.sidebar { .sidebar {
width: $sidebar-base-width !important; width: $sidebar-base-width !important;
.nav-item { .nav-item {
// Accordion // Accordion
.collapse { .collapse {
position: relative; position: relative;
@@ -145,33 +200,40 @@
z-index: 1; z-index: 1;
top: 0; top: 0;
animation: none; animation: none;
.collapse-inner { .collapse-inner {
border-radius: 0; border-radius: 0;
box-shadow: none; box-shadow: none;
} }
} }
.collapsing { .collapsing {
display: block; display: block;
transition: $transition-collapse; transition: $transition-collapse;
} }
.collapse, .collapse,
.collapsing { .collapsing {
margin: 0 1rem; margin: 0 1rem;
} }
.nav-link { .nav-link {
display: block; display: block;
width: 100%; width: 100%;
text-align: left; text-align: left;
padding: 1rem; padding: 1rem;
width: $sidebar-base-width; width: $sidebar-base-width;
i { i {
font-size: 0.85rem; font-size: 0.85rem;
margin-right: 0.25rem; margin-right: 0.25rem;
} }
span { span {
font-size: 0.85rem; font-size: 0.85rem;
display: inline; display: inline;
} }
// Accordion Arrow Icon // Accordion Arrow Icon
&[data-toggle="collapse"] { &[data-toggle="collapse"] {
&::after { &::after {
@@ -184,27 +246,34 @@
content: '\f107'; content: '\f107';
font-family: 'Font Awesome 5 Free'; font-family: 'Font Awesome 5 Free';
} }
&.collapsed::after { &.collapsed::after {
content: '\f105'; content: '\f105';
} }
} }
} }
} }
.sidebar-brand { .sidebar-brand {
.sidebar-brand-icon i { .sidebar-brand-icon i {
font-size: 2rem; font-size: 2rem;
} }
.sidebar-brand-text { .sidebar-brand-text {
display: inline; display: inline;
} }
} }
.sidebar-heading { .sidebar-heading {
text-align: left; text-align: left;
} }
&.toggled { &.toggled {
overflow: visible; overflow: visible;
width: $sidebar-collapsed-width !important; width: $sidebar-collapsed-width !important;
.nav-item { .nav-item {
// Accordion // Accordion
.collapse { .collapse {
position: absolute; position: absolute;
@@ -214,47 +283,58 @@
// Grow In Animation for Toggled State // Grow In Animation for Toggled State
animation-name: growIn; animation-name: growIn;
animation-duration: 200ms; animation-duration: 200ms;
animation-timing-function: transform cubic-bezier(.18,1.25,.4,1), opacity cubic-bezier(0,1,.4,1); animation-timing-function: transform cubic-bezier(.18, 1.25, .4, 1), opacity cubic-bezier(0, 1, .4, 1);
.collapse-inner { .collapse-inner {
box-shadow: $box-shadow; box-shadow: $box-shadow;
border-radius: $border-radius; border-radius: $border-radius;
} }
} }
.collapsing { .collapsing {
display: none; display: none;
transition: none; transition: none;
} }
.collapse, .collapse,
.collapsing { .collapsing {
margin: 0; margin: 0;
} }
&:last-child { &:last-child {
margin-bottom: 1rem; margin-bottom: 1rem;
} }
.nav-link { .nav-link {
text-align: center; text-align: center;
padding: 0.75rem 1rem; padding: 0.75rem 1rem;
width: $sidebar-collapsed-width; width: $sidebar-collapsed-width;
span { span {
font-size: 0.65rem; font-size: 0.65rem;
display: block; display: block;
} }
i { i {
margin-right: 0; margin-right: 0;
} }
&[data-toggle="collapse"]::after { &[data-toggle="collapse"]::after {
display: none; display: none;
} }
} }
} }
.sidebar-brand { .sidebar-brand {
.sidebar-brand-icon i { .sidebar-brand-icon i {
font-size: 2rem; font-size: 2rem;
} }
.sidebar-brand-text { .sidebar-brand-text {
display: none; display: none;
} }
} }
.sidebar-heading { .sidebar-heading {
text-align: center; text-align: center;
} }
@@ -269,46 +349,58 @@
.sidebar-brand { .sidebar-brand {
color: $gray-700; color: $gray-700;
} }
hr.sidebar-divider { hr.sidebar-divider {
border-top: 1px solid $gray-200; border-top: 1px solid $gray-200;
} }
.sidebar-heading { .sidebar-heading {
color: $gray-500; color: $gray-500;
} }
.nav-item { .nav-item {
.nav-link { .nav-link {
color: $gray-600; color: $gray-600;
i { i {
color: $gray-400; color: $gray-400;
} }
&:active, &:active,
&:focus, &:focus,
&:hover { &:hover {
color: $gray-700; color: $gray-700;
i { i {
color: $gray-700; color: $gray-700;
} }
} }
// Accordion // Accordion
&[data-toggle="collapse"]::after { &[data-toggle="collapse"]::after {
color: $gray-500; color: $gray-500;
} }
} }
&.active { &.active {
.nav-link { .nav-link {
color: $gray-700; color: $gray-700;
i { i {
color: $gray-700; color: $gray-700;
} }
} }
} }
} }
// Color the sidebar toggler // Color the sidebar toggler
#sidebarToggle { #sidebarToggle {
background-color: $gray-200; background-color: $gray-200;
&::after { &::after {
color: $gray-500; color: $gray-500;
} }
&:hover { &:hover {
background-color: $gray-300; background-color: $gray-300;
} }
@@ -320,50 +412,63 @@
.sidebar-brand { .sidebar-brand {
color: $white; color: $white;
} }
hr.sidebar-divider { hr.sidebar-divider {
border-top: 1px solid fade-out($white, 0.85); border-top: 1px solid fade-out($white, 0.85);
} }
.sidebar-heading { .sidebar-heading {
color: fade-out($white, 0.6); color: fade-out($white, 0.6);
} }
.nav-item { .nav-item {
.nav-link { .nav-link {
color: fade-out($white, 0.2); color: fade-out($white, 0.2);
i { i {
color: fade-out($white, 0.7); color: fade-out($white, 0.7);
} }
&:active, &:active,
&:focus, &:focus,
&:hover { &:hover {
color: $white; color: $white;
i { i {
color: $white; color: $white;
} }
} }
// Accordion // Accordion
&[data-toggle="collapse"]::after { &[data-toggle="collapse"]::after {
color: fade-out($white, 0.5); color: fade-out($white, 0.5);
} }
} }
&.active { &.active {
.nav-link { .nav-link {
color: $white; color: $white;
i { i {
color: $white; color: $white;
} }
} }
} }
} }
// Color the sidebar toggler // Color the sidebar toggler
#sidebarToggle { #sidebarToggle {
background-color: fade-out($white, 0.8); background-color: fade-out($white, 0.8);
&::after { &::after {
color: fade-out($white, 0.5); color: fade-out($white, 0.5);
} }
&:hover { &:hover {
background-color: fade-out($white, 0.75); background-color: fade-out($white, 0.75);
} }
} }
&.toggled { &.toggled {
#sidebarToggle::after { #sidebarToggle::after {
color: fade-out($white, 0.5); color: fade-out($white, 0.5);

View File

@@ -15,6 +15,7 @@
width: 25rem; width: 25rem;
input { input {
font-size: 0.85rem; font-size: 0.85rem;
height: auto;
} }
} }
.topbar-divider { .topbar-divider {
@@ -110,7 +111,21 @@
} }
} }
.topbar.navbar-dark {} .topbar.navbar-dark {
.navbar-nav {
.nav-item {
.nav-link {
color: fade-out($white, 0.2);
&:hover {
color: $white;
}
&:active {
color: $white;
}
}
}
}
}
.topbar.navbar-light { .topbar.navbar-light {
.navbar-nav { .navbar-nav {

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template --> <!-- Custom fonts for this template -->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template --> <!-- Custom styles for this template -->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -59,7 +61,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -74,11 +77,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -99,7 +104,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -152,14 +158,18 @@
<nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow"> <nav class="navbar navbar-expand navbar-light bg-white topbar mb-4 static-top shadow">
<!-- Sidebar Toggle (Topbar) --> <!-- Sidebar Toggle (Topbar) -->
<form class="form-inline">
<button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3"> <button id="sidebarToggleTop" class="btn btn-link d-md-none rounded-circle mr-3">
<i class="fa fa-bars"></i> <i class="fa fa-bars"></i>
</button> </button>
</form>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -173,14 +183,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -193,13 +207,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -242,53 +258,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -300,12 +326,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -336,7 +365,9 @@
<!-- Page Heading --> <!-- Page Heading -->
<h1 class="h3 mb-2 text-gray-800">Tables</h1> <h1 class="h3 mb-2 text-gray-800">Tables</h1>
<p class="mb-4">DataTables is a third party plugin that is used to generate the demo table below. For more information about DataTables, please visit the <a target="_blank" href="https://datatables.net">official DataTables documentation</a>.</p> <p class="mb-4">DataTables is a third party plugin that is used to generate the demo table below.
For more information about DataTables, please visit the <a target="_blank"
href="https://datatables.net">official DataTables documentation</a>.</p>
<!-- DataTales Example --> <!-- DataTales Example -->
<div class="card shadow mb-4"> <div class="card shadow mb-4">
@@ -839,7 +870,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -857,7 +888,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,7 +58,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -71,11 +74,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse show" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse show" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,7 +101,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -154,9 +160,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +178,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +202,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +253,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +321,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -333,7 +360,10 @@
<!-- Page Heading --> <!-- Page Heading -->
<h1 class="h3 mb-1 text-gray-800">Animation Utilities</h1> <h1 class="h3 mb-1 text-gray-800">Animation Utilities</h1>
<p class="mb-4">Bootstrap's default utility classes can be found on the official <a href="https://getbootstrap.com/docs">Bootstrap Documentation</a> page. The custom utilities below were created to extend this theme past the default utility classes built into Bootstrap's framework.</p> <p class="mb-4">Bootstrap's default utility classes can be found on the official <a
href="https://getbootstrap.com/docs">Bootstrap Documentation</a> page. The custom utilities
below were created to extend this theme past the default utility classes built into Bootstrap's
framework.</p>
<!-- Content Row --> <!-- Content Row -->
<div class="row"> <div class="row">
@@ -354,10 +384,13 @@
<a class="navbar-brand" href="#">Navbar</a> <a class="navbar-brand" href="#">Navbar</a>
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown"
role="button" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Dropdown Dropdown
</a> </a>
<div class="dropdown-menu dropdown-menu-right animated--grow-in" aria-labelledby="navbarDropdown"> <div class="dropdown-menu dropdown-menu-right animated--grow-in"
aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@@ -366,7 +399,10 @@
</li> </li>
</ul> </ul>
</nav> </nav>
<p class="mb-0 small">Note: This utility animates the CSS transform property, meaning it will override any existing transforms on an element being animated! In this theme, the grow in animation is only being used on dropdowns within the navbar.</p> <p class="mb-0 small">Note: This utility animates the CSS transform property,
meaning it will override any existing transforms on an element being animated!
In this theme, the grow in animation is only being used on dropdowns within the
navbar.</p>
</div> </div>
</div> </div>
@@ -388,10 +424,13 @@
<a class="navbar-brand" href="#">Navbar</a> <a class="navbar-brand" href="#">Navbar</a>
<ul class="navbar-nav ml-auto"> <ul class="navbar-nav ml-auto">
<li class="nav-item dropdown"> <li class="nav-item dropdown">
<a class="nav-link dropdown-toggle" href="#" id="navbarDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="navbarDropdown"
role="button" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Dropdown Dropdown
</a> </a>
<div class="dropdown-menu dropdown-menu-right animated--fade-in" aria-labelledby="navbarDropdown"> <div class="dropdown-menu dropdown-menu-right animated--fade-in"
aria-labelledby="navbarDropdown">
<a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Another action</a>
<div class="dropdown-divider"></div> <div class="dropdown-divider"></div>
@@ -402,16 +441,20 @@
</nav> </nav>
<div class="small mb-1">Dropdown Button Example:</div> <div class="small mb-1">Dropdown Button Example:</div>
<div class="dropdown mb-4"> <div class="dropdown mb-4">
<button class="btn btn-primary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <button class="btn btn-primary dropdown-toggle" type="button"
id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Dropdown Dropdown
</button> </button>
<div class="dropdown-menu animated--fade-in" aria-labelledby="dropdownMenuButton"> <div class="dropdown-menu animated--fade-in"
aria-labelledby="dropdownMenuButton">
<a class="dropdown-item" href="#">Action</a> <a class="dropdown-item" href="#">Action</a>
<a class="dropdown-item" href="#">Another action</a> <a class="dropdown-item" href="#">Another action</a>
<a class="dropdown-item" href="#">Something else here</a> <a class="dropdown-item" href="#">Something else here</a>
</div> </div>
</div> </div>
<p class="mb-0 small">Note: This utility animates the CSS opacity property, meaning it will override any existing opacity on an element being animated!</p> <p class="mb-0 small">Note: This utility animates the CSS opacity property, meaning
it will override any existing opacity on an element being animated!</p>
</div> </div>
</div> </div>
@@ -429,7 +472,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -447,7 +490,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,7 +58,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -71,11 +74,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse show" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse show" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,7 +101,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -154,9 +160,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +178,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +202,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +253,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +321,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -333,7 +360,10 @@
<!-- Page Heading --> <!-- Page Heading -->
<h1 class="h3 mb-1 text-gray-800">Border Utilities</h1> <h1 class="h3 mb-1 text-gray-800">Border Utilities</h1>
<p class="mb-4">Bootstrap's default utility classes can be found on the official <a href="https://getbootstrap.com/docs">Bootstrap Documentation</a> page. The custom utilities below were created to extend this theme past the default utility classes built into Bootstrap's framework.</p> <p class="mb-4">Bootstrap's default utility classes can be found on the official <a
href="https://getbootstrap.com/docs">Bootstrap Documentation</a> page. The custom utilities
below were created to extend this theme past the default utility classes built into Bootstrap's
framework.</p>
<!-- Content Row --> <!-- Content Row -->
<div class="row"> <div class="row">
@@ -347,6 +377,12 @@
</div> </div>
</div> </div>
<div class="card mb-4 py-3 border-left-secondary">
<div class="card-body">
.border-left-secondary
</div>
</div>
<div class="card mb-4 py-3 border-left-success"> <div class="card mb-4 py-3 border-left-success">
<div class="card-body"> <div class="card-body">
.border-left-success .border-left-success
@@ -371,6 +407,12 @@
</div> </div>
</div> </div>
<div class="card mb-4 py-3 border-left-dark">
<div class="card-body">
.border-left-dark
</div>
</div>
</div> </div>
<!-- Border Bottom Utilities --> <!-- Border Bottom Utilities -->
@@ -382,6 +424,12 @@
</div> </div>
</div> </div>
<div class="card mb-4 py-3 border-bottom-secondary">
<div class="card-body">
.border-bottom-secondary
</div>
</div>
<div class="card mb-4 py-3 border-bottom-success"> <div class="card mb-4 py-3 border-bottom-success">
<div class="card-body"> <div class="card-body">
.border-bottom-success .border-bottom-success
@@ -406,6 +454,12 @@
</div> </div>
</div> </div>
<div class="card mb-4 py-3 border-bottom-dark">
<div class="card-body">
.border-bottom-dark
</div>
</div>
</div> </div>
</div> </div>
@@ -420,7 +474,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -438,7 +492,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,7 +58,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -71,11 +74,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse show" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse show" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item active" href="utilities-color.html">Colors</a> <a class="collapse-item active" href="utilities-color.html">Colors</a>
@@ -96,7 +101,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -154,9 +160,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +178,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +202,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +253,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +321,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -333,7 +360,10 @@
<!-- Page Heading --> <!-- Page Heading -->
<h1 class="h3 mb-1 text-gray-800">Color Utilities</h1> <h1 class="h3 mb-1 text-gray-800">Color Utilities</h1>
<p class="mb-4">Bootstrap's default utility classes can be found on the official <a href="https://getbootstrap.com/docs">Bootstrap Documentation</a> page. The custom utilities below were created to extend this theme past the default utility classes built into Bootstrap's framework.</p> <p class="mb-4">Bootstrap's default utility classes can be found on the official <a
href="https://getbootstrap.com/docs">Bootstrap Documentation</a> page. The custom utilities
below were created to extend this theme past the default utility classes built into Bootstrap's
framework.</p>
<!-- Content Row --> <!-- Content Row -->
<div class="row"> <div class="row">
@@ -378,14 +408,18 @@
<!-- Background Gradient Utilities --> <!-- Background Gradient Utilities -->
<div class="card shadow mb-4"> <div class="card shadow mb-4">
<div class="card-header py-3"> <div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Custom Background Gradient Utilities</h6> <h6 class="m-0 font-weight-bold text-primary">Custom Background Gradient Utilities
</h6>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="px-3 py-5 bg-gradient-primary text-white">.bg-gradient-primary</div> <div class="px-3 py-5 bg-gradient-primary text-white">.bg-gradient-primary</div>
<div class="px-3 py-5 bg-gradient-secondary text-white">.bg-gradient-secondary</div>
<div class="px-3 py-5 bg-gradient-success text-white">.bg-gradient-success</div> <div class="px-3 py-5 bg-gradient-success text-white">.bg-gradient-success</div>
<div class="px-3 py-5 bg-gradient-info text-white">.bg-gradient-info</div> <div class="px-3 py-5 bg-gradient-info text-white">.bg-gradient-info</div>
<div class="px-3 py-5 bg-gradient-warning text-white">.bg-gradient-warning</div> <div class="px-3 py-5 bg-gradient-warning text-white">.bg-gradient-warning</div>
<div class="px-3 py-5 bg-gradient-danger text-white">.bg-gradient-danger</div> <div class="px-3 py-5 bg-gradient-danger text-white">.bg-gradient-danger</div>
<div class="px-3 py-5 bg-gradient-light text-white">.bg-gradient-light</div>
<div class="px-3 py-5 bg-gradient-dark text-white">.bg-gradient-dark</div>
</div> </div>
</div> </div>
@@ -397,7 +431,8 @@
<!-- Grayscale Utilities --> <!-- Grayscale Utilities -->
<div class="card shadow mb-4"> <div class="card shadow mb-4">
<div class="card-header py-3"> <div class="card-header py-3">
<h6 class="m-0 font-weight-bold text-primary">Custom Grayscale Background Utilities</h6> <h6 class="m-0 font-weight-bold text-primary">Custom Grayscale Background Utilities
</h6>
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="p-3 bg-gray-100">.bg-gray-100</div> <div class="p-3 bg-gray-100">.bg-gray-100</div>
@@ -425,7 +460,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -443,7 +478,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

View File

@@ -13,7 +13,9 @@
<!-- Custom fonts for this template--> <!-- Custom fonts for this template-->
<link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css"> <link href="vendor/fontawesome-free/css/all.min.css" rel="stylesheet" type="text/css">
<link href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i" rel="stylesheet"> <link
href="https://fonts.googleapis.com/css?family=Nunito:200,200i,300,300i,400,400i,600,600i,700,700i,800,800i,900,900i"
rel="stylesheet">
<!-- Custom styles for this template--> <!-- Custom styles for this template-->
<link href="css/sb-admin-2.min.css" rel="stylesheet"> <link href="css/sb-admin-2.min.css" rel="stylesheet">
@@ -56,7 +58,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo" aria-expanded="true" aria-controls="collapseTwo"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapseTwo"
aria-expanded="true" aria-controls="collapseTwo">
<i class="fas fa-fw fa-cog"></i> <i class="fas fa-fw fa-cog"></i>
<span>Components</span> <span>Components</span>
</a> </a>
@@ -71,11 +74,13 @@
<!-- Nav Item - Utilities Collapse Menu --> <!-- Nav Item - Utilities Collapse Menu -->
<li class="nav-item active"> <li class="nav-item active">
<a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseUtilities" aria-expanded="true" aria-controls="collapseUtilities"> <a class="nav-link" href="#" data-toggle="collapse" data-target="#collapseUtilities"
aria-expanded="true" aria-controls="collapseUtilities">
<i class="fas fa-fw fa-wrench"></i> <i class="fas fa-fw fa-wrench"></i>
<span>Utilities</span> <span>Utilities</span>
</a> </a>
<div id="collapseUtilities" class="collapse show" aria-labelledby="headingUtilities" data-parent="#accordionSidebar"> <div id="collapseUtilities" class="collapse show" aria-labelledby="headingUtilities"
data-parent="#accordionSidebar">
<div class="bg-white py-2 collapse-inner rounded"> <div class="bg-white py-2 collapse-inner rounded">
<h6 class="collapse-header">Custom Utilities:</h6> <h6 class="collapse-header">Custom Utilities:</h6>
<a class="collapse-item" href="utilities-color.html">Colors</a> <a class="collapse-item" href="utilities-color.html">Colors</a>
@@ -96,7 +101,8 @@
<!-- Nav Item - Pages Collapse Menu --> <!-- Nav Item - Pages Collapse Menu -->
<li class="nav-item"> <li class="nav-item">
<a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages" aria-expanded="true" aria-controls="collapsePages"> <a class="nav-link collapsed" href="#" data-toggle="collapse" data-target="#collapsePages"
aria-expanded="true" aria-controls="collapsePages">
<i class="fas fa-fw fa-folder"></i> <i class="fas fa-fw fa-folder"></i>
<span>Pages</span> <span>Pages</span>
</a> </a>
@@ -154,9 +160,11 @@
</button> </button>
<!-- Topbar Search --> <!-- Topbar Search -->
<form class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search"> <form
class="d-none d-sm-inline-block form-inline mr-auto ml-md-3 my-2 my-md-0 mw-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small" placeholder="Search for..."
aria-label="Search" aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -170,14 +178,18 @@
<!-- Nav Item - Search Dropdown (Visible Only XS) --> <!-- Nav Item - Search Dropdown (Visible Only XS) -->
<li class="nav-item dropdown no-arrow d-sm-none"> <li class="nav-item dropdown no-arrow d-sm-none">
<a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="searchDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-search fa-fw"></i> <i class="fas fa-search fa-fw"></i>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in" aria-labelledby="searchDropdown"> <div class="dropdown-menu dropdown-menu-right p-3 shadow animated--grow-in"
aria-labelledby="searchDropdown">
<form class="form-inline mr-auto w-100 navbar-search"> <form class="form-inline mr-auto w-100 navbar-search">
<div class="input-group"> <div class="input-group">
<input type="text" class="form-control bg-light border-0 small" placeholder="Search for..." aria-label="Search" aria-describedby="basic-addon2"> <input type="text" class="form-control bg-light border-0 small"
placeholder="Search for..." aria-label="Search"
aria-describedby="basic-addon2">
<div class="input-group-append"> <div class="input-group-append">
<button class="btn btn-primary" type="button"> <button class="btn btn-primary" type="button">
<i class="fas fa-search fa-sm"></i> <i class="fas fa-search fa-sm"></i>
@@ -190,13 +202,15 @@
<!-- Nav Item - Alerts --> <!-- Nav Item - Alerts -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="alertsDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-bell fa-fw"></i> <i class="fas fa-bell fa-fw"></i>
<!-- Counter - Alerts --> <!-- Counter - Alerts -->
<span class="badge badge-danger badge-counter">3+</span> <span class="badge badge-danger badge-counter">3+</span>
</a> </a>
<!-- Dropdown - Alerts --> <!-- Dropdown - Alerts -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="alertsDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="alertsDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Alerts Center Alerts Center
</h6> </h6>
@@ -239,53 +253,63 @@
<!-- Nav Item - Messages --> <!-- Nav Item - Messages -->
<li class="nav-item dropdown no-arrow mx-1"> <li class="nav-item dropdown no-arrow mx-1">
<a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="messagesDropdown" role="button"
data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<i class="fas fa-envelope fa-fw"></i> <i class="fas fa-envelope fa-fw"></i>
<!-- Counter - Messages --> <!-- Counter - Messages -->
<span class="badge badge-danger badge-counter">7</span> <span class="badge badge-danger badge-counter">7</span>
</a> </a>
<!-- Dropdown - Messages --> <!-- Dropdown - Messages -->
<div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="messagesDropdown"> <div class="dropdown-list dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="messagesDropdown">
<h6 class="dropdown-header"> <h6 class="dropdown-header">
Message Center Message Center
</h6> </h6>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/fn_BT9fwg_E/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_1.svg"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div class="font-weight-bold"> <div class="font-weight-bold">
<div class="text-truncate">Hi there! I am wondering if you can help me with a problem I've been having.</div> <div class="text-truncate">Hi there! I am wondering if you can help me with a
problem I've been having.</div>
<div class="small text-gray-500">Emily Fowler · 58m</div> <div class="small text-gray-500">Emily Fowler · 58m</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/AU4VPcFN4LE/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_2.svg"
alt="...">
<div class="status-indicator"></div> <div class="status-indicator"></div>
</div> </div>
<div> <div>
<div class="text-truncate">I have the photos that you ordered last month, how would you like them sent to you?</div> <div class="text-truncate">I have the photos that you ordered last month, how
would you like them sent to you?</div>
<div class="small text-gray-500">Jae Chun · 1d</div> <div class="small text-gray-500">Jae Chun · 1d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/CS2uCrpNzJY/60x60" alt=""> <img class="rounded-circle" src="img/undraw_profile_3.svg"
alt="...">
<div class="status-indicator bg-warning"></div> <div class="status-indicator bg-warning"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Last month's report looks great, I am very happy with the progress so far, keep up the good work!</div> <div class="text-truncate">Last month's report looks great, I am very happy with
the progress so far, keep up the good work!</div>
<div class="small text-gray-500">Morgan Alvarez · 2d</div> <div class="small text-gray-500">Morgan Alvarez · 2d</div>
</div> </div>
</a> </a>
<a class="dropdown-item d-flex align-items-center" href="#"> <a class="dropdown-item d-flex align-items-center" href="#">
<div class="dropdown-list-image mr-3"> <div class="dropdown-list-image mr-3">
<img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60" alt=""> <img class="rounded-circle" src="https://source.unsplash.com/Mv9hjnEUHR4/60x60"
alt="...">
<div class="status-indicator bg-success"></div> <div class="status-indicator bg-success"></div>
</div> </div>
<div> <div>
<div class="text-truncate">Am I a good boy? The reason I ask is because someone told me that people say this to all dogs, even if they aren't good...</div> <div class="text-truncate">Am I a good boy? The reason I ask is because someone
told me that people say this to all dogs, even if they aren't good...</div>
<div class="small text-gray-500">Chicken the Dog · 2w</div> <div class="small text-gray-500">Chicken the Dog · 2w</div>
</div> </div>
</a> </a>
@@ -297,12 +321,15 @@
<!-- Nav Item - User Information --> <!-- Nav Item - User Information -->
<li class="nav-item dropdown no-arrow"> <li class="nav-item dropdown no-arrow">
<a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <a class="nav-link dropdown-toggle" href="#" id="userDropdown" role="button"
<span class="mr-2 d-none d-lg-inline text-gray-600 small">Valerie Luna</span> data-toggle="dropdown" aria-haspopup="true" aria-expanded="false">
<img class="img-profile rounded-circle" src="https://source.unsplash.com/QAB-WJcbgJk/60x60"> <span class="mr-2 d-none d-lg-inline text-gray-600 small">Douglas McGee</span>
<img class="img-profile rounded-circle"
src="img/undraw_profile.svg">
</a> </a>
<!-- Dropdown - User Information --> <!-- Dropdown - User Information -->
<div class="dropdown-menu dropdown-menu-right shadow animated--grow-in" aria-labelledby="userDropdown"> <div class="dropdown-menu dropdown-menu-right shadow animated--grow-in"
aria-labelledby="userDropdown">
<a class="dropdown-item" href="#"> <a class="dropdown-item" href="#">
<i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i> <i class="fas fa-user fa-sm fa-fw mr-2 text-gray-400"></i>
Profile Profile
@@ -333,7 +360,10 @@
<!-- Page Heading --> <!-- Page Heading -->
<h1 class="h3 mb-1 text-gray-800">Other Utilities</h1> <h1 class="h3 mb-1 text-gray-800">Other Utilities</h1>
<p class="mb-4">Bootstrap's default utility classes can be found on the official <a href="https://getbootstrap.com/docs">Bootstrap Documentation</a> page. The custom utilities below were created to extend this theme past the default utility classes built into Bootstrap's framework.</p> <p class="mb-4">Bootstrap's default utility classes can be found on the official <a
href="https://getbootstrap.com/docs">Bootstrap Documentation</a> page. The custom utilities
below were created to extend this theme past the default utility classes built into Bootstrap's
framework.</p>
<!-- Content Row --> <!-- Content Row -->
<div class="row"> <div class="row">
@@ -358,11 +388,13 @@
<div class="card-body"> <div class="card-body">
<div class="mb-1 small">Normal Progress Bar</div> <div class="mb-1 small">Normal Progress Bar</div>
<div class="progress mb-4"> <div class="progress mb-4">
<div class="progress-bar" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar" role="progressbar" style="width: 75%"
aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
</div> </div>
<div class="mb-1 small">Small Progress Bar</div> <div class="mb-1 small">Small Progress Bar</div>
<div class="progress progress-sm mb-2"> <div class="progress progress-sm mb-2">
<div class="progress-bar" role="progressbar" style="width: 75%" aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div> <div class="progress-bar" role="progressbar" style="width: 75%"
aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
</div> </div>
Use the <code>.progress-sm</code> class along with <code>.progress</code> Use the <code>.progress-sm</code> class along with <code>.progress</code>
</div> </div>
@@ -375,7 +407,9 @@
</div> </div>
<div class="card-body"> <div class="card-body">
<div class="dropdown no-arrow mb-4"> <div class="dropdown no-arrow mb-4">
<button class="btn btn-secondary dropdown-toggle" type="button" id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"> <button class="btn btn-secondary dropdown-toggle" type="button"
id="dropdownMenuButton" data-toggle="dropdown" aria-haspopup="true"
aria-expanded="false">
Dropdown (no arrow) Dropdown (no arrow)
</button> </button>
<div class="dropdown-menu" aria-labelledby="dropdownMenuButton"> <div class="dropdown-menu" aria-labelledby="dropdownMenuButton">
@@ -398,9 +432,11 @@
<h6 class="m-0 font-weight-bold text-primary">Rotation Utilities</h6> <h6 class="m-0 font-weight-bold text-primary">Rotation Utilities</h6>
</div> </div>
<div class="card-body text-center"> <div class="card-body text-center">
<div class="bg-primary text-white p-3 rotate-15 d-inline-block my-4">.rotate-15</div> <div class="bg-primary text-white p-3 rotate-15 d-inline-block my-4">.rotate-15
</div>
<hr> <hr>
<div class="bg-primary text-white p-3 rotate-n-15 d-inline-block my-4">.rotate-n-15</div> <div class="bg-primary text-white p-3 rotate-n-15 d-inline-block my-4">.rotate-n-15
</div>
</div> </div>
</div> </div>
@@ -418,7 +454,7 @@
<footer class="sticky-footer bg-white"> <footer class="sticky-footer bg-white">
<div class="container my-auto"> <div class="container my-auto">
<div class="copyright text-center my-auto"> <div class="copyright text-center my-auto">
<span>Copyright &copy; Your Website 2019</span> <span>Copyright &copy; Your Website 2020</span>
</div> </div>
</div> </div>
</footer> </footer>
@@ -436,7 +472,8 @@
</a> </a>
<!-- Logout Modal--> <!-- Logout Modal-->
<div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel" aria-hidden="true"> <div class="modal fade" id="logoutModal" tabindex="-1" role="dialog" aria-labelledby="exampleModalLabel"
aria-hidden="true">
<div class="modal-dialog" role="document"> <div class="modal-dialog" role="document">
<div class="modal-content"> <div class="modal-content">
<div class="modal-header"> <div class="modal-header">

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because it is too large Load Diff

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -34,6 +34,7 @@
position: absolute; position: absolute;
top: 0; top: 0;
right: 0; right: 0;
z-index: 2;
padding: $alert-padding-y $alert-padding-x; padding: $alert-padding-y $alert-padding-x;
color: inherit; color: inherit;
} }

View File

@@ -16,7 +16,7 @@
@include transition($badge-transition); @include transition($badge-transition);
@at-root a#{&} { @at-root a#{&} {
@include hover-focus { @include hover-focus() {
text-decoration: none; text-decoration: none;
} }
} }

View File

@@ -3,6 +3,7 @@
flex-wrap: wrap; flex-wrap: wrap;
padding: $breadcrumb-padding-y $breadcrumb-padding-x; padding: $breadcrumb-padding-y $breadcrumb-padding-x;
margin-bottom: $breadcrumb-margin-bottom; margin-bottom: $breadcrumb-margin-bottom;
@include font-size($breadcrumb-font-size);
list-style: none; list-style: none;
background-color: $breadcrumb-bg; background-color: $breadcrumb-bg;
@include border-radius($breadcrumb-border-radius); @include border-radius($breadcrumb-border-radius);
@@ -14,10 +15,10 @@
padding-left: $breadcrumb-item-padding; padding-left: $breadcrumb-item-padding;
&::before { &::before {
display: inline-block; // Suppress underlining of the separator in modern browsers float: left; // Suppress inline spacings and underlining of the separator
padding-right: $breadcrumb-item-padding; padding-right: $breadcrumb-item-padding;
color: $breadcrumb-divider-color; color: $breadcrumb-divider-color;
content: $breadcrumb-divider; content: escape-svg($breadcrumb-divider);
} }
} }

View File

@@ -13,7 +13,7 @@
// Bring the hover, focused, and "active" buttons to the front to overlay // Bring the hover, focused, and "active" buttons to the front to overlay
// the borders properly // the borders properly
@include hover { @include hover() {
z-index: 1; z-index: 1;
} }
&:focus, &:focus,

View File

@@ -10,6 +10,8 @@
font-weight: $btn-font-weight; font-weight: $btn-font-weight;
color: $body-color; color: $body-color;
text-align: center; text-align: center;
text-decoration: if($link-decoration == none, null, none);
white-space: $btn-white-space;
vertical-align: middle; vertical-align: middle;
user-select: none; user-select: none;
background-color: transparent; background-color: transparent;
@@ -17,7 +19,7 @@
@include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius); @include button-size($btn-padding-y, $btn-padding-x, $btn-font-size, $btn-line-height, $btn-border-radius);
@include transition($btn-transition); @include transition($btn-transition);
@include hover { @include hover() {
color: $body-color; color: $body-color;
text-decoration: none; text-decoration: none;
} }
@@ -35,14 +37,18 @@
@include box-shadow(none); @include box-shadow(none);
} }
&:not(:disabled):not(.disabled):active, &:not(:disabled):not(.disabled) {
&:not(:disabled):not(.disabled).active { cursor: if($enable-pointer-cursor-for-buttons, pointer, null);
&:active,
&.active {
@include box-shadow($btn-active-box-shadow); @include box-shadow($btn-active-box-shadow);
&:focus { &:focus {
@include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow); @include box-shadow($btn-focus-box-shadow, $btn-active-box-shadow);
} }
} }
}
} }
// Future-proof disabling of clicks on `<a>` elements // Future-proof disabling of clicks on `<a>` elements
@@ -79,7 +85,7 @@ fieldset:disabled a.btn {
color: $link-color; color: $link-color;
text-decoration: $link-decoration; text-decoration: $link-decoration;
@include hover { @include hover() {
color: $link-hover-color; color: $link-hover-color;
text-decoration: $link-hover-decoration; text-decoration: $link-hover-decoration;
} }
@@ -87,7 +93,6 @@ fieldset:disabled a.btn {
&:focus, &:focus,
&.focus { &.focus {
text-decoration: $link-hover-decoration; text-decoration: $link-hover-decoration;
box-shadow: none;
} }
&:disabled, &:disabled,

View File

@@ -7,6 +7,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106 min-width: 0; // See https://github.com/twbs/bootstrap/pull/22740#issuecomment-305868106
height: $card-height;
word-wrap: break-word; word-wrap: break-word;
background-color: $card-bg; background-color: $card-bg;
background-clip: border-box; background-clip: border-box;
@@ -18,16 +19,26 @@
margin-left: 0; margin-left: 0;
} }
> .list-group:first-child { > .list-group {
.list-group-item:first-child { border-top: inherit;
@include border-top-radius($card-border-radius); border-bottom: inherit;
&:first-child {
border-top-width: 0;
@include border-top-radius($card-inner-border-radius);
}
&:last-child {
border-bottom-width: 0;
@include border-bottom-radius($card-inner-border-radius);
} }
} }
> .list-group:last-child { // Due to specificity of the above selector (`.card > .list-group`), we must
.list-group-item:last-child { // use a child selector here to prevent double borders.
@include border-bottom-radius($card-border-radius); > .card-header + .list-group,
} > .list-group + .card-footer {
border-top: 0;
} }
} }
@@ -35,6 +46,9 @@
// Enable `flex-grow: 1` for decks and groups so that card blocks take up // Enable `flex-grow: 1` for decks and groups so that card blocks take up
// as much space as possible, ensuring footers are aligned to the bottom. // as much space as possible, ensuring footers are aligned to the bottom.
flex: 1 1 auto; flex: 1 1 auto;
// Workaround for the image size bug in IE
// See: https://github.com/twbs/bootstrap/pull/28855
min-height: 1px;
padding: $card-spacer-x; padding: $card-spacer-x;
color: $card-color; color: $card-color;
} }
@@ -53,7 +67,7 @@
} }
.card-link { .card-link {
@include hover { @include hover() {
text-decoration: none; text-decoration: none;
} }
@@ -76,16 +90,11 @@
&:first-child { &: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);
} }
+ .list-group {
.list-group-item:first-child {
border-top: 0;
}
}
} }
.card-footer { .card-footer {
padding: $card-spacer-y $card-spacer-x; padding: $card-spacer-y $card-spacer-x;
color: $card-cap-color;
background-color: $card-cap-bg; background-color: $card-cap-bg;
border-top: $card-border-width solid $card-border-color; border-top: $card-border-width solid $card-border-color;
@@ -119,21 +128,23 @@
bottom: 0; bottom: 0;
left: 0; left: 0;
padding: $card-img-overlay-padding; padding: $card-img-overlay-padding;
}
.card-img {
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
@include border-radius($card-inner-border-radius); @include border-radius($card-inner-border-radius);
} }
// Card image caps .card-img,
.card-img-top { .card-img-top,
.card-img-bottom {
flex-shrink: 0; // For IE: https://github.com/twbs/bootstrap/issues/29396
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
}
.card-img,
.card-img-top {
@include border-top-radius($card-inner-border-radius); @include border-top-radius($card-inner-border-radius);
} }
.card-img,
.card-img-bottom { .card-img-bottom {
width: 100%; // Required because we use flexbox and this inherently applies align-self: stretch
@include border-bottom-radius($card-inner-border-radius); @include border-bottom-radius($card-inner-border-radius);
} }
@@ -141,23 +152,19 @@
// Card deck // Card deck
.card-deck { .card-deck {
display: flex;
flex-direction: column;
.card { .card {
margin-bottom: $card-deck-margin; margin-bottom: $card-deck-margin;
} }
@include media-breakpoint-up(sm) { @include media-breakpoint-up(sm) {
display: flex;
flex-flow: row wrap; flex-flow: row wrap;
margin-right: -$card-deck-margin; margin-right: -$card-deck-margin;
margin-left: -$card-deck-margin; margin-left: -$card-deck-margin;
.card { .card {
display: flex;
// Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4 // Flexbugs #4: https://github.com/philipwalton/flexbugs#flexbug-4
flex: 1 0 0%; flex: 1 0 0%;
flex-direction: column;
margin-right: $card-deck-margin; margin-right: $card-deck-margin;
margin-bottom: 0; // Override the default margin-bottom: 0; // Override the default
margin-left: $card-deck-margin; margin-left: $card-deck-margin;
@@ -171,9 +178,6 @@
// //
.card-group { .card-group {
display: flex;
flex-direction: column;
// The child selector allows nested `.card` within `.card-group` // The child selector allows nested `.card` within `.card-group`
// to display properly. // to display properly.
> .card { > .card {
@@ -181,6 +185,7 @@
} }
@include media-breakpoint-up(sm) { @include media-breakpoint-up(sm) {
display: flex;
flex-flow: row wrap; flex-flow: row wrap;
// The child selector allows nested `.card` within `.card-group` // The child selector allows nested `.card` within `.card-group`
// to display properly. // to display properly.
@@ -201,12 +206,12 @@
.card-img-top, .card-img-top,
.card-header { .card-header {
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-top-right-radius: 0; border-top-right-radius: 0;
} }
.card-img-bottom, .card-img-bottom,
.card-footer { .card-footer {
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-bottom-right-radius: 0; border-bottom-right-radius: 0;
} }
} }
@@ -216,12 +221,12 @@
.card-img-top, .card-img-top,
.card-header { .card-header {
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-top-left-radius: 0; border-top-left-radius: 0;
} }
.card-img-bottom, .card-img-bottom,
.card-footer { .card-footer {
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-bottom-left-radius: 0; border-bottom-left-radius: 0;
} }
} }
@@ -259,30 +264,22 @@
// //
.accordion { .accordion {
overflow-anchor: none;
> .card { > .card {
overflow: hidden; overflow: hidden;
&:not(:first-of-type) {
.card-header:first-child {
@include border-radius(0);
}
&:not(:last-of-type) { &:not(:last-of-type) {
border-bottom: 0;
@include border-radius(0);
}
}
&:first-of-type {
border-bottom: 0; border-bottom: 0;
@include border-bottom-radius(0); @include border-bottom-radius(0);
} }
&:last-of-type { &:not(:first-of-type) {
@include border-top-radius(0); @include border-top-radius(0);
} }
.card-header { > .card-header {
@include border-radius(0);
margin-bottom: -$card-border-width; margin-bottom: -$card-border-width;
} }
} }

View File

@@ -75,7 +75,7 @@
.active.carousel-item-right { .active.carousel-item-right {
z-index: 0; z-index: 0;
opacity: 0; opacity: 0;
@include transition(0s $carousel-transition-duration opacity); @include transition(opacity 0s $carousel-transition-duration);
} }
} }
@@ -101,7 +101,7 @@
@include transition($carousel-control-transition); @include transition($carousel-control-transition);
// Hover/focus state // Hover/focus state
@include hover-focus { @include hover-focus() {
color: $carousel-control-color; color: $carousel-control-color;
text-decoration: none; text-decoration: none;
outline: 0; outline: 0;
@@ -111,13 +111,13 @@
.carousel-control-prev { .carousel-control-prev {
left: 0; left: 0;
@if $enable-gradients { @if $enable-gradients {
background: linear-gradient(90deg, rgba($black, .25), rgba($black, .001)); background-image: linear-gradient(90deg, rgba($black, .25), rgba($black, .001));
} }
} }
.carousel-control-next { .carousel-control-next {
right: 0; right: 0;
@if $enable-gradients { @if $enable-gradients {
background: linear-gradient(270deg, rgba($black, .25), rgba($black, .001)); background-image: linear-gradient(270deg, rgba($black, .25), rgba($black, .001));
} }
} }
@@ -127,13 +127,13 @@
display: inline-block; display: inline-block;
width: $carousel-control-icon-width; width: $carousel-control-icon-width;
height: $carousel-control-icon-width; height: $carousel-control-icon-width;
background: no-repeat 50% / 100% 100%; background: 50% / 100% 100% no-repeat;
} }
.carousel-control-prev-icon { .carousel-control-prev-icon {
background-image: $carousel-control-prev-icon-bg; background-image: escape-svg($carousel-control-prev-icon-bg);
} }
.carousel-control-next-icon { .carousel-control-next-icon {
background-image: $carousel-control-next-icon-bg; background-image: escape-svg($carousel-control-next-icon-bg);
} }

View File

@@ -8,13 +8,13 @@
opacity: .5; opacity: .5;
// Override <a>'s hover style // Override <a>'s hover style
@include hover { @include hover() {
color: $close-color; color: $close-color;
text-decoration: none; text-decoration: none;
} }
&:not(:disabled):not(.disabled) { &:not(:disabled):not(.disabled) {
@include hover-focus { @include hover-focus() {
opacity: .75; opacity: .75;
} }
} }
@@ -30,7 +30,6 @@ button.close {
padding: 0; padding: 0;
background-color: transparent; background-color: transparent;
border: 0; border: 0;
appearance: none;
} }
// Future-proof disabling of clicks on `<a>` elements // Future-proof disabling of clicks on `<a>` elements

View File

@@ -2,7 +2,7 @@
code { code {
@include font-size($code-font-size); @include font-size($code-font-size);
color: $code-color; color: $code-color;
word-break: break-word; word-wrap: break-word;
// Streamline the style when inside anchors to avoid broken underline and more // Streamline the style when inside anchors to avoid broken underline and more
a > & { a > & {

View File

@@ -9,9 +9,11 @@
.custom-control { .custom-control {
position: relative; position: relative;
z-index: 1;
display: block; display: block;
min-height: $font-size-base * $line-height-base; min-height: $font-size-base * $line-height-base;
padding-left: $custom-control-gutter + $custom-control-indicator-size; padding-left: $custom-control-gutter + $custom-control-indicator-size;
color-adjust: exact; // Keep themed appearance for print
} }
.custom-control-inline { .custom-control-inline {
@@ -21,7 +23,10 @@
.custom-control-input { .custom-control-input {
position: absolute; position: absolute;
left: 0;
z-index: -1; // Put the input behind the label so it doesn't overlay text z-index: -1; // Put the input behind the label so it doesn't overlay text
width: $custom-control-indicator-size;
height: ($font-size-base * $line-height-base + $custom-control-indicator-size) / 2;
opacity: 0; opacity: 0;
&:checked ~ .custom-control-label::before { &:checked ~ .custom-control-label::before {
@@ -34,7 +39,7 @@
&:focus ~ .custom-control-label::before { &:focus ~ .custom-control-label::before {
// the mixin is not used here to make sure there is feedback // the mixin is not used here to make sure there is feedback
@if $enable-shadows { @if $enable-shadows {
box-shadow: $input-box-shadow, $input-focus-box-shadow; box-shadow: $input-box-shadow, $custom-control-indicator-focus-box-shadow;
} @else { } @else {
box-shadow: $custom-control-indicator-focus-box-shadow; box-shadow: $custom-control-indicator-focus-box-shadow;
} }
@@ -51,6 +56,8 @@
@include box-shadow($custom-control-indicator-active-box-shadow); @include box-shadow($custom-control-indicator-active-box-shadow);
} }
// Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247
&[disabled],
&:disabled { &:disabled {
~ .custom-control-label { ~ .custom-control-label {
color: $custom-control-label-disabled-color; color: $custom-control-label-disabled-color;
@@ -69,7 +76,9 @@
.custom-control-label { .custom-control-label {
position: relative; position: relative;
margin-bottom: 0; margin-bottom: 0;
color: $custom-control-label-color;
vertical-align: top; vertical-align: top;
cursor: $custom-control-cursor;
// Background-color and (when enabled) gradient // Background-color and (when enabled) gradient
&::before { &::before {
@@ -95,7 +104,7 @@
width: $custom-control-indicator-size; width: $custom-control-indicator-size;
height: $custom-control-indicator-size; height: $custom-control-indicator-size;
content: ""; content: "";
background: no-repeat 50% / #{$custom-control-indicator-bg-size}; background: 50% / #{$custom-control-indicator-bg-size} no-repeat;
} }
} }
@@ -111,7 +120,7 @@
.custom-control-input:checked ~ .custom-control-label { .custom-control-input:checked ~ .custom-control-label {
&::after { &::after {
background-image: $custom-checkbox-indicator-icon-checked; background-image: escape-svg($custom-checkbox-indicator-icon-checked);
} }
} }
@@ -122,16 +131,16 @@
@include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow); @include box-shadow($custom-checkbox-indicator-indeterminate-box-shadow);
} }
&::after { &::after {
background-image: $custom-checkbox-indicator-icon-indeterminate; background-image: escape-svg($custom-checkbox-indicator-icon-indeterminate);
} }
} }
.custom-control-input:disabled { .custom-control-input:disabled {
&:checked ~ .custom-control-label::before { &:checked ~ .custom-control-label::before {
background-color: $custom-control-indicator-checked-disabled-bg; @include gradient-bg($custom-control-indicator-checked-disabled-bg);
} }
&:indeterminate ~ .custom-control-label::before { &:indeterminate ~ .custom-control-label::before {
background-color: $custom-control-indicator-checked-disabled-bg; @include gradient-bg($custom-control-indicator-checked-disabled-bg);
} }
} }
} }
@@ -142,19 +151,19 @@
.custom-radio { .custom-radio {
.custom-control-label::before { .custom-control-label::before {
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-radius: $custom-radio-indicator-border-radius; border-radius: $custom-radio-indicator-border-radius;
} }
.custom-control-input:checked ~ .custom-control-label { .custom-control-input:checked ~ .custom-control-label {
&::after { &::after {
background-image: $custom-radio-indicator-icon-checked; background-image: escape-svg($custom-radio-indicator-icon-checked);
} }
} }
.custom-control-input:disabled { .custom-control-input:disabled {
&:checked ~ .custom-control-label::before { &:checked ~ .custom-control-label::before {
background-color: $custom-control-indicator-checked-disabled-bg; @include gradient-bg($custom-control-indicator-checked-disabled-bg);
} }
} }
} }
@@ -172,17 +181,17 @@
left: -($custom-switch-width + $custom-control-gutter); left: -($custom-switch-width + $custom-control-gutter);
width: $custom-switch-width; width: $custom-switch-width;
pointer-events: all; pointer-events: all;
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-radius: $custom-switch-indicator-border-radius; border-radius: $custom-switch-indicator-border-radius;
} }
&::after { &::after {
top: calc(#{(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2)} + #{$custom-control-indicator-border-width * 2}); top: add(($font-size-base * $line-height-base - $custom-control-indicator-size) / 2, $custom-control-indicator-border-width * 2);
left: calc(#{-($custom-switch-width + $custom-control-gutter)} + #{$custom-control-indicator-border-width * 2}); left: add(-($custom-switch-width + $custom-control-gutter), $custom-control-indicator-border-width * 2);
width: $custom-switch-indicator-size; width: $custom-switch-indicator-size;
height: $custom-switch-indicator-size; height: $custom-switch-indicator-size;
background-color: $custom-control-indicator-border-color; background-color: $custom-control-indicator-border-color;
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-radius: $custom-switch-indicator-border-radius; border-radius: $custom-switch-indicator-border-radius;
@include transition(transform .15s ease-in-out, $custom-forms-transition); @include transition(transform .15s ease-in-out, $custom-forms-transition);
} }
@@ -197,7 +206,7 @@
.custom-control-input:disabled { .custom-control-input:disabled {
&:checked ~ .custom-control-label::before { &:checked ~ .custom-control-label::before {
background-color: $custom-control-indicator-checked-disabled-bg; @include gradient-bg($custom-control-indicator-checked-disabled-bg);
} }
} }
} }
@@ -220,8 +229,7 @@
line-height: $custom-select-line-height; line-height: $custom-select-line-height;
color: $custom-select-color; color: $custom-select-color;
vertical-align: middle; vertical-align: middle;
background: $custom-select-background; background: $custom-select-bg $custom-select-background;
background-color: $custom-select-bg;
border: $custom-select-border-width solid $custom-select-border-color; border: $custom-select-border-width solid $custom-select-border-color;
@include border-radius($custom-select-border-radius, 0); @include border-radius($custom-select-border-radius, 0);
@include box-shadow($custom-select-box-shadow); @include box-shadow($custom-select-box-shadow);
@@ -231,8 +239,9 @@
border-color: $custom-select-focus-border-color; border-color: $custom-select-focus-border-color;
outline: 0; outline: 0;
@if $enable-shadows { @if $enable-shadows {
box-shadow: $custom-select-box-shadow, $custom-select-focus-box-shadow; @include box-shadow($custom-select-box-shadow, $custom-select-focus-box-shadow);
} @else { } @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $custom-select-focus-box-shadow; box-shadow: $custom-select-focus-box-shadow;
} }
@@ -263,6 +272,12 @@
&::-ms-expand { &::-ms-expand {
display: none; display: none;
} }
// Remove outline from select box in FF
&:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 $custom-select-color;
}
} }
.custom-select-sm { .custom-select-sm {
@@ -300,6 +315,7 @@
width: 100%; width: 100%;
height: $custom-file-height; height: $custom-file-height;
margin: 0; margin: 0;
overflow: hidden;
opacity: 0; opacity: 0;
&:focus ~ .custom-file-label { &:focus ~ .custom-file-label {
@@ -307,6 +323,8 @@
box-shadow: $custom-file-focus-box-shadow; box-shadow: $custom-file-focus-box-shadow;
} }
// Use [disabled] and :disabled to work around https://github.com/twbs/bootstrap/issues/28247
&[disabled] ~ .custom-file-label,
&:disabled ~ .custom-file-label { &:disabled ~ .custom-file-label {
background-color: $custom-file-disabled-bg; background-color: $custom-file-disabled-bg;
} }
@@ -330,6 +348,7 @@
z-index: 1; z-index: 1;
height: $custom-file-height; height: $custom-file-height;
padding: $custom-file-padding-y $custom-file-padding-x; padding: $custom-file-padding-y $custom-file-padding-x;
overflow: hidden;
font-family: $custom-file-font-family; font-family: $custom-file-font-family;
font-weight: $custom-file-font-weight; font-weight: $custom-file-font-weight;
line-height: $custom-file-line-height; line-height: $custom-file-line-height;
@@ -365,13 +384,13 @@
.custom-range { .custom-range {
width: 100%; width: 100%;
height: calc(#{$custom-range-thumb-height} + #{$custom-range-thumb-focus-box-shadow-width * 2}); height: add($custom-range-thumb-height, $custom-range-thumb-focus-box-shadow-width * 2);
padding: 0; // Need to reset padding padding: 0; // Need to reset padding
background-color: transparent; background-color: transparent;
appearance: none; appearance: none;
&:focus { &:focus {
outline: none; outline: 0;
// Pseudo-elements must be split across multiple rulesets to have an effect. // Pseudo-elements must be split across multiple rulesets to have an effect.
// No box-shadow() mixin for focus accessibility. // No box-shadow() mixin for focus accessibility.

View File

@@ -10,7 +10,7 @@
white-space: nowrap; white-space: nowrap;
// Generate the caret automatically // Generate the caret automatically
@include caret; @include caret();
} }
// The dropdown menu // The dropdown menu
@@ -22,7 +22,7 @@
display: none; // none by default, but block on "open" of the menu display: none; // none by default, but block on "open" of the menu
float: left; float: left;
min-width: $dropdown-min-width; min-width: $dropdown-min-width;
padding: $dropdown-padding-y 0; padding: $dropdown-padding-y $dropdown-padding-x;
margin: $dropdown-spacer 0 0; // override default ul margin: $dropdown-spacer 0 0; // override default ul
@include font-size($dropdown-font-size); @include font-size($dropdown-font-size);
color: $dropdown-color; color: $dropdown-color;
@@ -100,7 +100,7 @@
} }
} }
// When enabled Popper.js, reset basic dropdown position // When Popper is enabled, reset the basic dropdown position
// stylelint-disable-next-line no-duplicate-selectors // stylelint-disable-next-line no-duplicate-selectors
.dropdown-menu { .dropdown-menu {
&[x-placement^="top"], &[x-placement^="top"],
@@ -114,7 +114,7 @@
// Dividers (basically an `<hr>`) within the dropdown // Dividers (basically an `<hr>`) within the dropdown
.dropdown-divider { .dropdown-divider {
@include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y); @include nav-divider($dropdown-divider-bg, $dropdown-divider-margin-y, true);
} }
// Links, buttons, and more within the dropdown menu // Links, buttons, and more within the dropdown menu
@@ -128,6 +128,7 @@
font-weight: $font-weight-normal; font-weight: $font-weight-normal;
color: $dropdown-link-color; color: $dropdown-link-color;
text-align: inherit; // For `<button>`s text-align: inherit; // For `<button>`s
text-decoration: if($link-decoration == none, null, none);
white-space: nowrap; // prevent links from randomly breaking onto new lines white-space: nowrap; // prevent links from randomly breaking onto new lines
background-color: transparent; // For `<button>`s background-color: transparent; // For `<button>`s
border: 0; // For `<button>`s border: 0; // For `<button>`s
@@ -144,7 +145,7 @@
} }
} }
@include hover-focus { @include hover-focus() {
color: $dropdown-link-hover-color; color: $dropdown-link-hover-color;
text-decoration: none; text-decoration: none;
@include gradient-bg($dropdown-link-hover-bg); @include gradient-bg($dropdown-link-hover-bg);
@@ -176,7 +177,7 @@
// Dropdown section headers // Dropdown section headers
.dropdown-header { .dropdown-header {
display: block; display: block;
padding: $dropdown-padding-y $dropdown-item-padding-x; padding: $dropdown-header-padding;
margin-bottom: 0; // for use with heading elements margin-bottom: 0; // for use with heading elements
@include font-size($font-size-sm); @include font-size($font-size-sm);
color: $dropdown-header-color; color: $dropdown-header-color;

View File

@@ -30,8 +30,14 @@
border: 0; border: 0;
} }
// Remove select outline from select box in FF
&:-moz-focusring {
color: transparent;
text-shadow: 0 0 0 $input-color;
}
// Customize the `:focus` state to imitate native WebKit styles. // Customize the `:focus` state to imitate native WebKit styles.
@include form-control-focus(); @include form-control-focus($ignore-warning: true);
// Placeholder // Placeholder
&::placeholder { &::placeholder {
@@ -53,6 +59,15 @@
} }
} }
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
&.form-control {
appearance: none; // Fix appearance for date inputs in Safari
}
}
select.form-control { select.form-control {
&:focus::-ms-value { &:focus::-ms-value {
// Suppress the nested default white text on blue background highlight given to // Suppress the nested default white text on blue background highlight given to
@@ -80,23 +95,23 @@ select.form-control {
// For use with horizontal and inline forms, when you need the label (or legend) // For use with horizontal and inline forms, when you need the label (or legend)
// text to align with the form controls. // text to align with the form controls.
.col-form-label { .col-form-label {
padding-top: calc(#{$input-padding-y} + #{$input-border-width}); padding-top: add($input-padding-y, $input-border-width);
padding-bottom: calc(#{$input-padding-y} + #{$input-border-width}); padding-bottom: add($input-padding-y, $input-border-width);
margin-bottom: 0; // Override the `<label>/<legend>` default margin-bottom: 0; // Override the `<label>/<legend>` default
@include font-size(inherit); // Override the `<legend>` default @include font-size(inherit); // Override the `<legend>` default
line-height: $input-line-height; line-height: $input-line-height;
} }
.col-form-label-lg { .col-form-label-lg {
padding-top: calc(#{$input-padding-y-lg} + #{$input-border-width}); padding-top: add($input-padding-y-lg, $input-border-width);
padding-bottom: calc(#{$input-padding-y-lg} + #{$input-border-width}); padding-bottom: add($input-padding-y-lg, $input-border-width);
@include font-size($input-font-size-lg); @include font-size($input-font-size-lg);
line-height: $input-line-height-lg; line-height: $input-line-height-lg;
} }
.col-form-label-sm { .col-form-label-sm {
padding-top: calc(#{$input-padding-y-sm} + #{$input-border-width}); padding-top: add($input-padding-y-sm, $input-border-width);
padding-bottom: calc(#{$input-padding-y-sm} + #{$input-border-width}); padding-bottom: add($input-padding-y-sm, $input-border-width);
@include font-size($input-font-size-sm); @include font-size($input-font-size-sm);
line-height: $input-line-height-sm; line-height: $input-line-height-sm;
} }
@@ -110,9 +125,9 @@ select.form-control {
.form-control-plaintext { .form-control-plaintext {
display: block; display: block;
width: 100%; width: 100%;
padding-top: $input-padding-y; padding: $input-padding-y 0;
padding-bottom: $input-padding-y;
margin-bottom: 0; // match inputs if this class comes on inputs with default margins margin-bottom: 0; // match inputs if this class comes on inputs with default margins
@include font-size($input-font-size);
line-height: $input-line-height; line-height: $input-line-height;
color: $input-plaintext-color; color: $input-plaintext-color;
background-color: transparent; background-color: transparent;
@@ -210,6 +225,8 @@ textarea.form-control {
margin-top: $form-check-input-margin-y; margin-top: $form-check-input-margin-y;
margin-left: -$form-check-input-gutter; margin-left: -$form-check-input-gutter;
// Use [disabled] and :disabled for workaround https://github.com/twbs/bootstrap/issues/28247
&[disabled] ~ .form-check-label,
&:disabled ~ .form-check-label { &:disabled ~ .form-check-label {
color: $text-muted; color: $text-muted;
} }

View File

@@ -8,7 +8,7 @@
$prev-key: null; $prev-key: null;
$prev-num: null; $prev-num: null;
@each $key, $num in $map { @each $key, $num in $map {
@if $prev-num == null or unit($num) == "%" { @if $prev-num == null or unit($num) == "%" or unit($prev-num) == "%" {
// Do nothing // Do nothing
} @else if not comparable($prev-num, $num) { } @else if not comparable($prev-num, $num) {
@warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !"; @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
@@ -23,11 +23,13 @@
// Starts at zero // Starts at zero
// Used to ensure the min-width of the lowest breakpoint starts at 0. // Used to ensure the min-width of the lowest breakpoint starts at 0.
@mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") { @mixin _assert-starts-at-zero($map, $map-name: "$grid-breakpoints") {
@if length($map) > 0 {
$values: map-values($map); $values: map-values($map);
$first-value: nth($values, 1); $first-value: nth($values, 1);
@if $first-value != 0 { @if $first-value != 0 {
@warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}."; @warn "First breakpoint in #{$map-name} must start at 0, but starts at #{$first-value}.";
} }
}
} }
// Replace `$search` with `$replace` in `$string` // Replace `$search` with `$replace` in `$string`
@@ -48,6 +50,25 @@
@return $string; @return $string;
} }
// See https://codepen.io/kevinweber/pen/dXWoRw
//
// Requires the use of quotes around data URIs.
@function escape-svg($string) {
@if str-index($string, "data:image/svg+xml") {
@each $char, $encoded in $escaped-characters {
// Do not escape the url brackets
@if str-index($string, "url(") == 1 {
$string: url("#{str-replace(str-slice($string, 6, -3), $char, $encoded)}");
} @else {
$string: str-replace($string, $char, $encoded);
}
}
}
@return $string;
}
// Color contrast // Color contrast
@function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) { @function color-yiq($color, $dark: $yiq-text-dark, $light: $yiq-text-light) {
$r: red($color); $r: red($color);
@@ -84,3 +105,40 @@
@return mix($color-base, $color, $level * $theme-color-interval); @return mix($color-base, $color, $level * $theme-color-interval);
} }
// Return valid calc
@function add($value1, $value2, $return-calc: true) {
@if $value1 == null {
@return $value2;
}
@if $value2 == null {
@return $value1;
}
@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);
}
@function subtract($value1, $value2, $return-calc: true) {
@if $value1 == null and $value2 == null {
@return null;
}
@if $value1 == null {
@return -$value2;
}
@if $value2 == null {
@return $value1;
}
@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);
}

View File

@@ -3,26 +3,47 @@
// Set the container width, and override it for fixed navbars in media queries. // Set the container width, and override it for fixed navbars in media queries.
@if $enable-grid-classes { @if $enable-grid-classes {
.container { // Single container class with breakpoint max-widths
@include make-container(); .container,
@include make-container-max-widths(); // 100% wide container at all breakpoints
}
}
// Fluid container
//
// Utilizes the mixin meant for fixed width containers, but with 100% width for
// fluid, full width layouts.
@if $enable-grid-classes {
.container-fluid { .container-fluid {
@include make-container(); @include make-container();
} }
// Responsive containers that are 100% wide until a breakpoint
@each $breakpoint, $container-max-width in $container-max-widths {
.container-#{$breakpoint} {
@extend .container-fluid;
}
@include media-breakpoint-up($breakpoint, $grid-breakpoints) {
%responsive-container-#{$breakpoint} {
max-width: $container-max-width;
}
// Extend each breakpoint which is smaller or equal to the current breakpoint
$extend-breakpoint: true;
@each $name, $width in $grid-breakpoints {
@if ($extend-breakpoint) {
.container#{breakpoint-infix($name, $grid-breakpoints)} {
@extend %responsive-container-#{$breakpoint};
}
// Once the current breakpoint is reached, stop extending
@if ($breakpoint == $name) {
$extend-breakpoint: false;
}
}
}
}
}
} }
// Row // Row
// //
// Rows contain and clear the floats of your columns. // Rows contain your columns.
@if $enable-grid-classes { @if $enable-grid-classes {
.row { .row {

View File

@@ -6,7 +6,7 @@
// which weren't expecting the images within themselves to be involuntarily resized. // which weren't expecting the images within themselves to be involuntarily resized.
// See also https://github.com/twbs/bootstrap/issues/18178 // See also https://github.com/twbs/bootstrap/issues/18178
.img-fluid { .img-fluid {
@include img-fluid; @include img-fluid();
} }
@@ -19,7 +19,7 @@
@include box-shadow($thumbnail-box-shadow); @include box-shadow($thumbnail-box-shadow);
// Keep them at most 100% wide // Keep them at most 100% wide
@include img-fluid; @include img-fluid();
} }
// //

View File

@@ -17,9 +17,8 @@
> .custom-file { > .custom-file {
position: relative; // For focus state's z-index position: relative; // For focus state's z-index
flex: 1 1 auto; flex: 1 1 auto;
// Add width 1% and flex-basis auto to ensure that button will not wrap out
// the column. Applies to IE Edge+ and Firefox. Chrome does not require this.
width: 1%; width: 1%;
min-width: 0; // https://stackoverflow.com/questions/36247140/why-dont-flex-items-shrink-past-content-size
margin-bottom: 0; margin-bottom: 0;
+ .form-control, + .form-control,
@@ -43,7 +42,6 @@
> .form-control, > .form-control,
> .custom-select { > .custom-select {
&:not(:last-child) { @include border-right-radius(0); }
&:not(:first-child) { @include border-left-radius(0); } &:not(:first-child) { @include border-left-radius(0); }
} }
@@ -54,9 +52,24 @@
align-items: center; align-items: center;
&:not(:last-child) .custom-file-label, &:not(:last-child) .custom-file-label,
&:not(:last-child) .custom-file-label::after { @include border-right-radius(0); }
&:not(:first-child) .custom-file-label { @include border-left-radius(0); } &:not(:first-child) .custom-file-label { @include border-left-radius(0); }
} }
&:not(.has-validation) {
> .form-control:not(:last-child),
> .custom-select:not(:last-child),
> .custom-file:not(:last-child) .custom-file-label::after {
@include border-right-radius(0);
}
}
&.has-validation {
> .form-control:nth-last-child(n + 3),
> .custom-select:nth-last-child(n + 3),
> .custom-file:nth-last-child(n + 3) .custom-file-label::after {
@include border-right-radius(0);
}
}
} }
@@ -176,8 +189,10 @@
.input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .btn,
.input-group > .input-group-prepend > .input-group-text, .input-group > .input-group-prepend > .input-group-text,
.input-group > .input-group-append:not(:last-child) > .btn, .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .btn,
.input-group > .input-group-append:not(:last-child) > .input-group-text, .input-group:not(.has-validation) > .input-group-append:not(:last-child) > .input-group-text,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .btn,
.input-group.has-validation > .input-group-append:nth-last-child(n + 3) > .input-group-text,
.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), .input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle),
.input-group > .input-group-append:last-child > .input-group-text:not(:last-child) { .input-group > .input-group-append:last-child > .input-group-text:not(:last-child) {
@include border-right-radius(0); @include border-right-radius(0);

View File

@@ -9,6 +9,7 @@
// No need to set list-style: none; since .list-group-item is block level // No need to set list-style: none; since .list-group-item is block level
padding-left: 0; // reset padding because ul and ol padding-left: 0; // reset padding because ul and ol
margin-bottom: 0; margin-bottom: 0;
@include border-radius($list-group-border-radius);
} }
@@ -23,7 +24,7 @@
text-align: inherit; // For `<button>`s (anchors inherit) text-align: inherit; // For `<button>`s (anchors inherit)
// Hover state // Hover state
@include hover-focus { @include hover-focus() {
z-index: 1; // Place hover/focus items above their siblings for proper border styling z-index: 1; // Place hover/focus items above their siblings for proper border styling
color: $list-group-action-hover-color; color: $list-group-action-hover-color;
text-decoration: none; text-decoration: none;
@@ -45,19 +46,17 @@
position: relative; position: relative;
display: block; display: block;
padding: $list-group-item-padding-y $list-group-item-padding-x; padding: $list-group-item-padding-y $list-group-item-padding-x;
// Place the border on the list items and negative margin up for better styling
margin-bottom: -$list-group-border-width;
color: $list-group-color; color: $list-group-color;
text-decoration: if($link-decoration == none, null, none);
background-color: $list-group-bg; background-color: $list-group-bg;
border: $list-group-border-width solid $list-group-border-color; border: $list-group-border-width solid $list-group-border-color;
&:first-child { &:first-child {
@include border-top-radius($list-group-border-radius); @include border-top-radius(inherit);
} }
&:last-child { &:last-child {
margin-bottom: 0; @include border-bottom-radius(inherit);
@include border-bottom-radius($list-group-border-radius);
} }
&.disabled, &.disabled,
@@ -74,6 +73,15 @@
background-color: $list-group-active-bg; background-color: $list-group-active-bg;
border-color: $list-group-active-border-color; border-color: $list-group-active-border-color;
} }
& + & {
border-top-width: 0;
&.active {
margin-top: -$list-group-border-width;
border-top-width: $list-group-border-width;
}
}
} }
@@ -88,20 +96,30 @@
.list-group-horizontal#{$infix} { .list-group-horizontal#{$infix} {
flex-direction: row; flex-direction: row;
.list-group-item { > .list-group-item {
margin-right: -$list-group-border-width;
margin-bottom: 0;
&:first-child { &:first-child {
@include border-left-radius($list-group-border-radius); @include border-bottom-left-radius($list-group-border-radius);
@include border-top-right-radius(0); @include border-top-right-radius(0);
} }
&:last-child { &:last-child {
margin-right: 0; @include border-top-right-radius($list-group-border-radius);
@include border-right-radius($list-group-border-radius);
@include border-bottom-left-radius(0); @include border-bottom-left-radius(0);
} }
&.active {
margin-top: 0;
}
+ .list-group-item {
border-top-width: $list-group-border-width;
border-left-width: 0;
&.active {
margin-left: -$list-group-border-width;
border-left-width: $list-group-border-width;
}
}
} }
} }
} }
@@ -114,26 +132,13 @@
// useful within other components (e.g., cards). // useful within other components (e.g., cards).
.list-group-flush { .list-group-flush {
.list-group-item {
border-right: 0;
border-left: 0;
@include border-radius(0); @include border-radius(0);
&:last-child { > .list-group-item {
margin-bottom: -$list-group-border-width; border-width: 0 0 $list-group-border-width;
}
}
&:first-child {
.list-group-item:first-child {
border-top: 0;
}
}
&:last-child { &:last-child {
.list-group-item:last-child { border-bottom-width: 0;
margin-bottom: 0;
border-bottom: 0;
} }
} }
} }

View File

@@ -22,7 +22,7 @@
@import "mixins/text-truncate"; @import "mixins/text-truncate";
@import "mixins/visibility"; @import "mixins/visibility";
// // Components // Components
@import "mixins/alert"; @import "mixins/alert";
@import "mixins/buttons"; @import "mixins/buttons";
@import "mixins/caret"; @import "mixins/caret";
@@ -33,14 +33,14 @@
@import "mixins/forms"; @import "mixins/forms";
@import "mixins/table-row"; @import "mixins/table-row";
// // Skins // Skins
@import "mixins/background-variant"; @import "mixins/background-variant";
@import "mixins/border-radius"; @import "mixins/border-radius";
@import "mixins/box-shadow"; @import "mixins/box-shadow";
@import "mixins/gradients"; @import "mixins/gradients";
@import "mixins/transition"; @import "mixins/transition";
// // Layout // Layout
@import "mixins/clearfix"; @import "mixins/clearfix";
@import "mixins/grid-framework"; @import "mixins/grid-framework";
@import "mixins/grid"; @import "mixins/grid";

View File

@@ -48,14 +48,19 @@
.modal.show & { .modal.show & {
transform: $modal-show-transform; transform: $modal-show-transform;
} }
// When trying to close, animate focus to scale
.modal.modal-static & {
transform: $modal-scale-transform;
}
} }
.modal-dialog-scrollable { .modal-dialog-scrollable {
display: flex; // IE10/11 display: flex; // IE10/11
max-height: calc(100% - #{$modal-dialog-margin * 2}); max-height: subtract(100%, $modal-dialog-margin * 2);
.modal-content { .modal-content {
max-height: calc(100vh - #{$modal-dialog-margin * 2}); // IE10/11 max-height: subtract(100vh, $modal-dialog-margin * 2); // IE10/11
overflow: hidden; overflow: hidden;
} }
@@ -72,12 +77,13 @@
.modal-dialog-centered { .modal-dialog-centered {
display: flex; display: flex;
align-items: center; align-items: center;
min-height: calc(100% - #{$modal-dialog-margin * 2}); min-height: subtract(100%, $modal-dialog-margin * 2);
// Ensure `modal-dialog-centered` extends the full height of the view (IE10/11) // Ensure `modal-dialog-centered` extends the full height of the view (IE10/11)
&::before { &::before {
display: block; // IE10 display: block; // IE10
height: calc(100vh - #{$modal-dialog-margin * 2}); height: subtract(100vh, $modal-dialog-margin * 2);
height: min-content; // Reset height to 0 except on IE
content: ""; content: "";
} }
@@ -138,7 +144,7 @@
justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends justify-content: space-between; // Put modal header elements (title and dismiss) on opposite ends
padding: $modal-header-padding; padding: $modal-header-padding;
border-bottom: $modal-header-border-width solid $modal-header-border-color; border-bottom: $modal-header-border-width solid $modal-header-border-color;
@include border-top-radius($modal-content-border-radius); @include border-top-radius($modal-content-inner-border-radius);
.close { .close {
padding: $modal-header-padding; padding: $modal-header-padding;
@@ -158,7 +164,7 @@
.modal-body { .modal-body {
position: relative; position: relative;
// Enable `flex-grow: 1` so that the body take up as much space as possible // Enable `flex-grow: 1` so that the body take up as much space as possible
// when should there be a fixed height on `.modal-dialog`. // when there should be a fixed height on `.modal-dialog`.
flex: 1 1 auto; flex: 1 1 auto;
padding: $modal-inner-padding; padding: $modal-inner-padding;
} }
@@ -166,15 +172,19 @@
// Footer (for actions) // Footer (for actions)
.modal-footer { .modal-footer {
display: flex; display: flex;
flex-wrap: wrap;
align-items: center; // vertically center align-items: center; // vertically center
justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items justify-content: flex-end; // Right align buttons with flex property because text-align doesn't work on flex items
padding: $modal-inner-padding; padding: $modal-inner-padding - $modal-footer-margin-between / 2;
border-top: $modal-footer-border-width solid $modal-footer-border-color; border-top: $modal-footer-border-width solid $modal-footer-border-color;
@include border-bottom-radius($modal-content-border-radius); @include border-bottom-radius($modal-content-inner-border-radius);
// Easily place margin between footer elements // Place margin between footer elements
> :not(:first-child) { margin-left: .25rem; } // This solution is far from ideal because of the universal selector usage,
> :not(:last-child) { margin-right: .25rem; } // but is needed to fix https://github.com/twbs/bootstrap/issues/24800
> * {
margin: $modal-footer-margin-between / 2;
}
} }
// Measure scrollbar width for padding body during modal show/hide // Measure scrollbar width for padding body during modal show/hide
@@ -195,18 +205,19 @@
} }
.modal-dialog-scrollable { .modal-dialog-scrollable {
max-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2}); max-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
.modal-content { .modal-content {
max-height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2}); max-height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
} }
} }
.modal-dialog-centered { .modal-dialog-centered {
min-height: calc(100% - #{$modal-dialog-margin-y-sm-up * 2}); min-height: subtract(100%, $modal-dialog-margin-y-sm-up * 2);
&::before { &::before {
height: calc(100vh - #{$modal-dialog-margin-y-sm-up * 2}); height: subtract(100vh, $modal-dialog-margin-y-sm-up * 2);
height: min-content;
} }
} }

View File

@@ -1,7 +1,7 @@
// Base class // Base class
// //
// Kickstart any navigation component with a set of style resets. Works with // Kickstart any navigation component with a set of style resets. Works with
// `<nav>`s or `<ul>`s. // `<nav>`s, `<ul>`s or `<ol>`s.
.nav { .nav {
display: flex; display: flex;
@@ -14,8 +14,9 @@
.nav-link { .nav-link {
display: block; display: block;
padding: $nav-link-padding-y $nav-link-padding-x; padding: $nav-link-padding-y $nav-link-padding-x;
text-decoration: if($link-decoration == none, null, none);
@include hover-focus { @include hover-focus() {
text-decoration: none; text-decoration: none;
} }
@@ -34,15 +35,12 @@
.nav-tabs { .nav-tabs {
border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color; border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
.nav-item {
margin-bottom: -$nav-tabs-border-width;
}
.nav-link { .nav-link {
margin-bottom: -$nav-tabs-border-width;
border: $nav-tabs-border-width solid transparent; border: $nav-tabs-border-width solid transparent;
@include border-top-radius($nav-tabs-border-radius); @include border-top-radius($nav-tabs-border-radius);
@include hover-focus { @include hover-focus() {
border-color: $nav-tabs-link-hover-border-color; border-color: $nav-tabs-link-hover-border-color;
} }
@@ -91,6 +89,7 @@
// //
.nav-fill { .nav-fill {
> .nav-link,
.nav-item { .nav-item {
flex: 1 1 auto; flex: 1 1 auto;
text-align: center; text-align: center;
@@ -98,6 +97,7 @@
} }
.nav-justified { .nav-justified {
> .nav-link,
.nav-item { .nav-item {
flex-basis: 0; flex-basis: 0;
flex-grow: 1; flex-grow: 1;

View File

@@ -25,13 +25,23 @@
// Because flex properties aren't inherited, we need to redeclare these first // Because flex properties aren't inherited, we need to redeclare these first
// few properties so that content nested within behave properly. // few properties so that content nested within behave properly.
> .container, %container-flex-properties {
> .container-fluid {
display: flex; display: flex;
flex-wrap: wrap; flex-wrap: wrap;
align-items: center; align-items: center;
justify-content: space-between; justify-content: space-between;
} }
.container,
.container-fluid {
@extend %container-flex-properties;
}
@each $breakpoint, $container-max-width in $container-max-widths {
> .container#{breakpoint-infix($breakpoint, $container-max-widths)} {
@extend %container-flex-properties;
}
}
} }
@@ -48,7 +58,7 @@
line-height: inherit; line-height: inherit;
white-space: nowrap; white-space: nowrap;
@include hover-focus { @include hover-focus() {
text-decoration: none; text-decoration: none;
} }
} }
@@ -113,7 +123,7 @@
border: $border-width solid transparent; // remove default button style border: $border-width solid transparent; // remove default button style
@include border-radius($navbar-toggler-border-radius); @include border-radius($navbar-toggler-border-radius);
@include hover-focus { @include hover-focus() {
text-decoration: none; text-decoration: none;
} }
} }
@@ -126,8 +136,12 @@
height: 1.5em; height: 1.5em;
vertical-align: middle; vertical-align: middle;
content: ""; content: "";
background: no-repeat center center; background: 50% / 100% 100% no-repeat;
background-size: 100% 100%; }
.navbar-nav-scroll {
max-height: $navbar-nav-scroll-max-height;
overflow-y: auto;
} }
// Generate series of `.navbar-expand-*` responsive classes for configuring // Generate series of `.navbar-expand-*` responsive classes for configuring
@@ -139,11 +153,21 @@
&#{$infix} { &#{$infix} {
@include media-breakpoint-down($breakpoint) { @include media-breakpoint-down($breakpoint) {
> .container, %container-navbar-expand-#{$breakpoint} {
> .container-fluid {
padding-right: 0; padding-right: 0;
padding-left: 0; padding-left: 0;
} }
> .container,
> .container-fluid {
@extend %container-navbar-expand-#{$breakpoint};
}
@each $size, $container-max-width in $container-max-widths {
> .container#{breakpoint-infix($size, $container-max-widths)} {
@extend %container-navbar-expand-#{$breakpoint};
}
}
} }
@include media-breakpoint-up($next) { @include media-breakpoint-up($next) {
@@ -164,9 +188,23 @@
} }
// For nesting containers, have to redeclare for alignment purposes // For nesting containers, have to redeclare for alignment purposes
%container-nesting-#{$breakpoint} {
flex-wrap: nowrap;
}
> .container, > .container,
> .container-fluid { > .container-fluid {
flex-wrap: nowrap; @extend %container-nesting-#{$breakpoint};
}
@each $size, $container-max-width in $container-max-widths {
> .container#{breakpoint-infix($size, $container-max-widths)} {
@extend %container-nesting-#{$breakpoint};
}
}
.navbar-nav-scroll {
overflow: visible;
} }
.navbar-collapse { .navbar-collapse {
@@ -194,7 +232,7 @@
.navbar-brand { .navbar-brand {
color: $navbar-light-brand-color; color: $navbar-light-brand-color;
@include hover-focus { @include hover-focus() {
color: $navbar-light-brand-hover-color; color: $navbar-light-brand-hover-color;
} }
} }
@@ -203,7 +241,7 @@
.nav-link { .nav-link {
color: $navbar-light-color; color: $navbar-light-color;
@include hover-focus { @include hover-focus() {
color: $navbar-light-hover-color; color: $navbar-light-hover-color;
} }
@@ -226,7 +264,7 @@
} }
.navbar-toggler-icon { .navbar-toggler-icon {
background-image: $navbar-light-toggler-icon-bg; background-image: escape-svg($navbar-light-toggler-icon-bg);
} }
.navbar-text { .navbar-text {
@@ -234,7 +272,7 @@
a { a {
color: $navbar-light-active-color; color: $navbar-light-active-color;
@include hover-focus { @include hover-focus() {
color: $navbar-light-active-color; color: $navbar-light-active-color;
} }
} }
@@ -246,7 +284,7 @@
.navbar-brand { .navbar-brand {
color: $navbar-dark-brand-color; color: $navbar-dark-brand-color;
@include hover-focus { @include hover-focus() {
color: $navbar-dark-brand-hover-color; color: $navbar-dark-brand-hover-color;
} }
} }
@@ -255,7 +293,7 @@
.nav-link { .nav-link {
color: $navbar-dark-color; color: $navbar-dark-color;
@include hover-focus { @include hover-focus() {
color: $navbar-dark-hover-color; color: $navbar-dark-hover-color;
} }
@@ -278,7 +316,7 @@
} }
.navbar-toggler-icon { .navbar-toggler-icon {
background-image: $navbar-dark-toggler-icon-bg; background-image: escape-svg($navbar-dark-toggler-icon-bg);
} }
.navbar-text { .navbar-text {
@@ -286,7 +324,7 @@
a { a {
color: $navbar-dark-active-color; color: $navbar-dark-active-color;
@include hover-focus { @include hover-focus() {
color: $navbar-dark-active-color; color: $navbar-dark-active-color;
} }
} }

View File

@@ -11,6 +11,7 @@
margin-left: -$pagination-border-width; margin-left: -$pagination-border-width;
line-height: $pagination-line-height; line-height: $pagination-line-height;
color: $pagination-color; color: $pagination-color;
text-decoration: if($link-decoration == none, null, none);
background-color: $pagination-bg; background-color: $pagination-bg;
border: $pagination-border-width solid $pagination-border-color; border: $pagination-border-width solid $pagination-border-color;
@@ -23,7 +24,7 @@
} }
&:focus { &:focus {
z-index: 2; z-index: 3;
outline: $pagination-focus-outline; outline: $pagination-focus-outline;
box-shadow: $pagination-focus-box-shadow; box-shadow: $pagination-focus-box-shadow;
} }
@@ -43,7 +44,7 @@
} }
&.active .page-link { &.active .page-link {
z-index: 1; z-index: 3;
color: $pagination-active-color; color: $pagination-active-color;
background-color: $pagination-active-bg; background-color: $pagination-active-bg;
border-color: $pagination-active-border-color; border-color: $pagination-active-border-color;
@@ -65,9 +66,9 @@
// //
.pagination-lg { .pagination-lg {
@include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg); @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $pagination-border-radius-lg);
} }
.pagination-sm { .pagination-sm {
@include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm); @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $pagination-border-radius-sm);
} }

View File

@@ -22,7 +22,7 @@
display: block; display: block;
width: $popover-arrow-width; width: $popover-arrow-width;
height: $popover-arrow-height; height: $popover-arrow-height;
margin: 0 $border-radius-lg; margin: 0 $popover-border-radius;
&::before, &::before,
&::after { &::after {
@@ -39,7 +39,7 @@
margin-bottom: $popover-arrow-height; margin-bottom: $popover-arrow-height;
> .arrow { > .arrow {
bottom: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1); bottom: subtract(-$popover-arrow-height, $popover-border-width);
&::before { &::before {
bottom: 0; bottom: 0;
@@ -59,10 +59,10 @@
margin-left: $popover-arrow-height; margin-left: $popover-arrow-height;
> .arrow { > .arrow {
left: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1); left: subtract(-$popover-arrow-height, $popover-border-width);
width: $popover-arrow-height; width: $popover-arrow-height;
height: $popover-arrow-width; height: $popover-arrow-width;
margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
&::before { &::before {
left: 0; left: 0;
@@ -82,7 +82,7 @@
margin-top: $popover-arrow-height; margin-top: $popover-arrow-height;
> .arrow { > .arrow {
top: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1); top: subtract(-$popover-arrow-height, $popover-border-width);
&::before { &::before {
top: 0; top: 0;
@@ -114,10 +114,10 @@
margin-right: $popover-arrow-height; margin-right: $popover-arrow-height;
> .arrow { > .arrow {
right: calc((#{$popover-arrow-height} + #{$popover-border-width}) * -1); right: subtract(-$popover-arrow-height, $popover-border-width);
width: $popover-arrow-height; width: $popover-arrow-height;
height: $popover-arrow-width; height: $popover-arrow-width;
margin: $border-radius-lg 0; // make sure the arrow does not touch the popover's rounded corners margin: $popover-border-radius 0; // make sure the arrow does not touch the popover's rounded corners
&::before { &::before {
right: 0; right: 0;
@@ -157,8 +157,7 @@
color: $popover-header-color; color: $popover-header-color;
background-color: $popover-header-bg; background-color: $popover-header-bg;
border-bottom: $popover-border-width solid darken($popover-header-bg, 5%); border-bottom: $popover-border-width solid darken($popover-header-bg, 5%);
$offset-border-width: calc(#{$border-radius-lg} - #{$popover-border-width}); @include border-top-radius($popover-inner-border-radius);
@include border-top-radius($offset-border-width);
&:empty { &:empty {
display: none; display: none;

View File

@@ -1,6 +1,6 @@
// stylelint-disable declaration-no-important, selector-no-qualifying-type // stylelint-disable declaration-no-important, selector-no-qualifying-type
// Source: https://github.com/h5bp/html5-boilerplate/blob/master/src/css/main.css // Source: https://github.com/h5bp/main.css/blob/master/src/_print.css
// ========================================================================== // ==========================================================================
// Print styles. // Print styles.
@@ -57,7 +57,7 @@
// //
// Printing Tables: // Printing Tables:
// http://css-discuss.incutio.com/wiki/Printing_Tables // https://web.archive.org/web/20180815150934/http://css-discuss.incutio.com/wiki/Printing_Tables
// //
thead { thead {

View File

@@ -10,6 +10,7 @@
display: flex; display: flex;
height: $progress-height; height: $progress-height;
overflow: hidden; // force rounded corners by cropping it overflow: hidden; // force rounded corners by cropping it
line-height: 0;
@include font-size($progress-font-size); @include font-size($progress-font-size);
background-color: $progress-bg; background-color: $progress-bg;
@include border-radius($progress-border-radius); @include border-radius($progress-border-radius);
@@ -20,6 +21,7 @@
display: flex; display: flex;
flex-direction: column; flex-direction: column;
justify-content: center; justify-content: center;
overflow: hidden;
color: $progress-bar-color; color: $progress-bar-color;
text-align: center; text-align: center;
white-space: nowrap; white-space: nowrap;
@@ -34,10 +36,12 @@
@if $enable-transitions { @if $enable-transitions {
.progress-bar-animated { .progress-bar-animated {
animation: progress-bar-stripes $progress-bar-animation-timing; animation: $progress-bar-animation-timing progress-bar-stripes;
@if $enable-prefers-reduced-motion-media-query {
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
animation: none; animation: none;
} }
} }
}
} }

View File

@@ -1,4 +1,4 @@
// stylelint-disable at-rule-no-vendor-prefix, declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix // stylelint-disable declaration-no-important, selector-no-qualifying-type, property-no-vendor-prefix
// Reboot // Reboot
// //
@@ -54,12 +54,16 @@ body {
background-color: $body-bg; // 2 background-color: $body-bg; // 2
} }
// Suppress the focus outline on elements that cannot be accessed via keyboard. // Future-proof rule: in browsers that support :focus-visible, suppress the focus outline
// This prevents an unwanted focus outline from appearing around elements that // on elements that programmatically receive focus but wouldn't normally show a visible
// might still respond to pointer events. // focus outline. In general, this would mean that the outline is only applied if the
// interaction that led to the element receiving programmatic focus was a keyboard interaction,
// or the browser has somehow determined that the user is primarily a keyboard user and/or
// wants focus outlines to always be presented.
// //
// Credit: https://github.com/suitcss/base // See https://developer.mozilla.org/en-US/docs/Web/CSS/:focus-visible
[tabindex="-1"]:focus { // and https://developer.paciellogroup.com/blog/2018/03/focus-visible-and-backwards-compatibility/
[tabindex="-1"]:focus:not(:focus-visible) {
outline: 0 !important; outline: 0 !important;
} }
@@ -184,30 +188,25 @@ a {
text-decoration: $link-decoration; text-decoration: $link-decoration;
background-color: transparent; // Remove the gray background on active links in IE 10. background-color: transparent; // Remove the gray background on active links in IE 10.
@include hover { @include hover() {
color: $link-hover-color; color: $link-hover-color;
text-decoration: $link-hover-decoration; text-decoration: $link-hover-decoration;
} }
} }
// And undo these styles for placeholder links/named anchors (without href) // And undo these styles for placeholder links/named anchors (without href).
// which have not been made explicitly keyboard-focusable (without tabindex).
// It would be more straightforward to just use a[href] in previous block, but that // It would be more straightforward to just use a[href] in previous block, but that
// causes specificity issues in many other styles that are too complex to fix. // causes specificity issues in many other styles that are too complex to fix.
// See https://github.com/twbs/bootstrap/issues/19402 // See https://github.com/twbs/bootstrap/issues/19402
a:not([href]):not([tabindex]) { a:not([href]):not([class]) {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
@include hover-focus { @include hover() {
color: inherit; color: inherit;
text-decoration: none; text-decoration: none;
} }
&:focus {
outline: 0;
}
} }
@@ -230,6 +229,9 @@ pre {
margin-bottom: 1rem; margin-bottom: 1rem;
// Don't allow content to break outside // Don't allow content to break outside
overflow: auto; overflow: auto;
// Disable auto-hiding scrollbar in IE & legacy Edge to avoid overlap,
// making it impossible to interact with the content
-ms-overflow-style: scrollbar;
} }
@@ -276,10 +278,14 @@ caption {
caption-side: bottom; caption-side: bottom;
} }
// 1. Removes font-weight bold by inheriting
// 2. Matches default `<td>` alignment by inheriting `text-align`.
// 3. Fix alignment for Safari
th { th {
// Matches default `<td>` alignment by inheriting from the `<body>`, or the font-weight: $table-th-font-weight; // 1
// closest parent with a set `text-align`. text-align: inherit; // 2
text-align: inherit; text-align: -webkit-match-parent; // 3
} }
@@ -297,17 +303,17 @@ label {
// //
// Details at https://github.com/twbs/bootstrap/issues/24093 // Details at https://github.com/twbs/bootstrap/issues/24093
button { button {
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-radius: 0; border-radius: 0;
} }
// Work around a Firefox/IE bug where the transparent `button` background // Explicitly remove focus outline in Chromium when it shouldn't be
// results in a loss of the default `button` focus styles. // visible (e.g. as result of mouse click or touch tap). It already
// // should be doing this automatically, but seems to currently be
// Credit: https://github.com/suitcss/base/ // confused and applies its very visible two-tone outline anyway.
button:focus {
outline: 1px dotted; button:focus:not(:focus-visible) {
outline: 5px auto -webkit-focus-ring-color; outline: 0;
} }
input, input,
@@ -331,6 +337,13 @@ select {
text-transform: none; // Remove the inheritance of text transform in Firefox text-transform: none; // Remove the inheritance of text transform in Firefox
} }
// Set the cursor for non-`<button>` buttons
//
// Details at https://github.com/twbs/bootstrap/pull/30562
[role="button"] {
cursor: pointer;
}
// Remove the inheritance of word-wrap in Safari. // Remove the inheritance of word-wrap in Safari.
// //
// Details at https://github.com/twbs/bootstrap/issues/24990 // Details at https://github.com/twbs/bootstrap/issues/24990
@@ -377,18 +390,6 @@ input[type="checkbox"] {
} }
input[type="date"],
input[type="time"],
input[type="datetime-local"],
input[type="month"] {
// Remove the default appearance of temporal inputs to avoid a Mobile Safari
// bug where setting a custom line-height prevents text from being vertically
// centered within the input.
// See https://bugs.webkit.org/show_bug.cgi?id=139848
// and https://github.com/twbs/bootstrap/issues/11266
-webkit-appearance: listbox;
}
textarea { textarea {
overflow: auto; // Remove the default vertical scrollbar in IE. overflow: auto; // Remove the default vertical scrollbar in IE.
// Textareas should really only resize vertically so they don't break their (horizontal) containers. // Textareas should really only resize vertically so they don't break their (horizontal) containers.

View File

@@ -13,9 +13,9 @@
vertical-align: text-bottom; vertical-align: text-bottom;
border: $spinner-border-width solid currentColor; border: $spinner-border-width solid currentColor;
border-right-color: transparent; border-right-color: transparent;
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-radius: 50%; border-radius: 50%;
animation: spinner-border .75s linear infinite; animation: .75s linear infinite spinner-border;
} }
.spinner-border-sm { .spinner-border-sm {
@@ -34,6 +34,7 @@
} }
50% { 50% {
opacity: 1; opacity: 1;
transform: none;
} }
} }
@@ -43,13 +44,22 @@
height: $spinner-height; height: $spinner-height;
vertical-align: text-bottom; vertical-align: text-bottom;
background-color: currentColor; background-color: currentColor;
// stylelint-disable-next-line property-blacklist // stylelint-disable-next-line property-disallowed-list
border-radius: 50%; border-radius: 50%;
opacity: 0; opacity: 0;
animation: spinner-grow .75s linear infinite; animation: .75s linear infinite spinner-grow;
} }
.spinner-grow-sm { .spinner-grow-sm {
width: $spinner-width-sm; width: $spinner-width-sm;
height: $spinner-height-sm; height: $spinner-height-sm;
} }
@if $enable-prefers-reduced-motion-media-query {
@media (prefers-reduced-motion: reduce) {
.spinner-border,
.spinner-grow {
animation-duration: 1.5s;
}
}
}

View File

@@ -84,7 +84,7 @@
.table-hover { .table-hover {
tbody tr { tbody tr {
@include hover { @include hover() {
color: $table-hover-color; color: $table-hover-color;
background-color: $table-hover-bg; background-color: $table-hover-bg;
} }
@@ -142,14 +142,14 @@
} }
&.table-striped { &.table-striped {
tbody tr:nth-of-type(odd) { tbody tr:nth-of-type(#{$table-striped-order}) {
background-color: $table-dark-accent-bg; background-color: $table-dark-accent-bg;
} }
} }
&.table-hover { &.table-hover {
tbody tr { tbody tr {
@include hover { @include hover() {
color: $table-dark-hover-color; color: $table-dark-hover-color;
background-color: $table-dark-hover-bg; background-color: $table-dark-hover-bg;
} }

View File

@@ -1,13 +1,14 @@
.toast { .toast {
// Prevents from shrinking in IE11, when in a flex container
// See https://github.com/twbs/bootstrap/issues/28341
flex-basis: $toast-max-width;
max-width: $toast-max-width; max-width: $toast-max-width;
overflow: hidden; // cheap rounded corners on nested items
@include font-size($toast-font-size); @include font-size($toast-font-size);
color: $toast-color; color: $toast-color;
background-color: $toast-background-color; background-color: $toast-background-color;
background-clip: padding-box; background-clip: padding-box;
border: $toast-border-width solid $toast-border-color; border: $toast-border-width solid $toast-border-color;
box-shadow: $toast-box-shadow; box-shadow: $toast-box-shadow;
backdrop-filter: blur(10px);
opacity: 0; opacity: 0;
@include border-radius($toast-border-radius); @include border-radius($toast-border-radius);
@@ -37,6 +38,7 @@
background-color: $toast-header-background-color; background-color: $toast-header-background-color;
background-clip: padding-box; background-clip: padding-box;
border-bottom: $toast-border-width solid $toast-header-border-color; border-bottom: $toast-border-width solid $toast-header-border-color;
@include border-top-radius(subtract($toast-border-radius, $toast-border-width));
} }
.toast-body { .toast-body {

View File

@@ -1,4 +1,4 @@
// stylelint-disable declaration-no-important, selector-list-comma-newline-after // stylelint-disable selector-list-comma-newline-after
// //
// Headings // Headings
@@ -82,12 +82,12 @@ mark,
// //
.list-unstyled { .list-unstyled {
@include list-unstyled; @include list-unstyled();
} }
// Inline turns list items into inline-block // Inline turns list items into inline-block
.list-inline { .list-inline {
@include list-unstyled; @include list-unstyled();
} }
.list-inline-item { .list-inline-item {
display: inline-block; display: inline-block;

View File

@@ -6,12 +6,13 @@
@import "utilities/embed"; @import "utilities/embed";
@import "utilities/flex"; @import "utilities/flex";
@import "utilities/float"; @import "utilities/float";
@import "utilities/interactions";
@import "utilities/overflow"; @import "utilities/overflow";
@import "utilities/position"; @import "utilities/position";
@import "utilities/screenreaders"; @import "utilities/screenreaders";
@import "utilities/shadows"; @import "utilities/shadows";
@import "utilities/sizing"; @import "utilities/sizing";
@import "utilities/stretched-link";
@import "utilities/spacing"; @import "utilities/spacing";
@import "utilities/stretched-link";
@import "utilities/text"; @import "utilities/text";
@import "utilities/visibility"; @import "utilities/visibility";

View File

@@ -18,7 +18,6 @@ $gray-900: #212529 !default;
$black: #000 !default; $black: #000 !default;
$grays: () !default; $grays: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$grays: map-merge( $grays: map-merge(
( (
"100": $gray-100, "100": $gray-100,
@@ -46,7 +45,6 @@ $teal: #20c997 !default;
$cyan: #17a2b8 !default; $cyan: #17a2b8 !default;
$colors: () !default; $colors: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$colors: map-merge( $colors: map-merge(
( (
"blue": $blue, "blue": $blue,
@@ -76,7 +74,6 @@ $light: $gray-100 !default;
$dark: $gray-800 !default; $dark: $gray-800 !default;
$theme-colors: () !default; $theme-colors: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$theme-colors: map-merge( $theme-colors: map-merge(
( (
"primary": $primary, "primary": $primary,
@@ -101,6 +98,15 @@ $yiq-contrasted-threshold: 150 !default;
$yiq-text-dark: $gray-900 !default; $yiq-text-dark: $gray-900 !default;
$yiq-text-light: $white !default; $yiq-text-light: $white !default;
// Characters which are escaped by the escape-svg function
$escaped-characters: (
("<", "%3c"),
(">", "%3e"),
("#", "%23"),
("(", "%28"),
(")", "%29"),
) !default;
// Options // Options
// //
@@ -129,7 +135,6 @@ $enable-deprecation-messages: true !default;
$spacer: 1rem !default; $spacer: 1rem !default;
$spacers: () !default; $spacers: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$spacers: map-merge( $spacers: map-merge(
( (
0: 0, 0: 0,
@@ -144,7 +149,6 @@ $spacers: map-merge(
// This variable affects the `.h-*` and `.w-*` classes. // This variable affects the `.h-*` and `.w-*` classes.
$sizes: () !default; $sizes: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$sizes: map-merge( $sizes: map-merge(
( (
25: 25%, 25: 25%,
@@ -220,6 +224,7 @@ $container-max-widths: (
$grid-columns: 12 !default; $grid-columns: 12 !default;
$grid-gutter-width: 30px !default; $grid-gutter-width: 30px !default;
$grid-row-columns: 6 !default;
// Components // Components
@@ -254,7 +259,6 @@ $transition-fade: opacity .15s linear !default;
$transition-collapse: height .35s ease !default; $transition-collapse: height .35s ease !default;
$embed-responsive-aspect-ratios: () !default; $embed-responsive-aspect-ratios: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$embed-responsive-aspect-ratios: join( $embed-responsive-aspect-ratios: join(
( (
(21 9), (21 9),
@@ -270,7 +274,7 @@ $embed-responsive-aspect-ratios: join(
// Font, line-height, and color for body text, headings, and more. // Font, line-height, and color for body text, headings, and more.
// stylelint-disable value-keyword-case // stylelint-disable value-keyword-case
$font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default; $font-family-sans-serif: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, "Noto Sans", "Liberation Sans", sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji" !default;
$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default; $font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace !default;
$font-family-base: $font-family-sans-serif !default; $font-family-base: $font-family-sans-serif !default;
// stylelint-enable value-keyword-case // stylelint-enable value-keyword-case
@@ -359,6 +363,7 @@ $table-border-color: $border-color !default;
$table-head-bg: $gray-200 !default; $table-head-bg: $gray-200 !default;
$table-head-color: $gray-700 !default; $table-head-color: $gray-700 !default;
$table-th-font-weight: null !default;
$table-dark-color: $white !default; $table-dark-color: $white !default;
$table-dark-bg: $gray-800 !default; $table-dark-bg: $gray-800 !default;
@@ -366,7 +371,6 @@ $table-dark-accent-bg: rgba($white, .05) !default;
$table-dark-hover-color: $table-dark-color !default; $table-dark-hover-color: $table-dark-color !default;
$table-dark-hover-bg: rgba($white, .075) !default; $table-dark-hover-bg: rgba($white, .075) !default;
$table-dark-border-color: lighten($table-dark-bg, 7.5%) !default; $table-dark-border-color: lighten($table-dark-bg, 7.5%) !default;
$table-dark-color: $white !default;
$table-striped-order: odd !default; $table-striped-order: odd !default;
@@ -412,6 +416,7 @@ $btn-padding-x: $input-btn-padding-x !default;
$btn-font-family: $input-btn-font-family !default; $btn-font-family: $input-btn-font-family !default;
$btn-font-size: $input-btn-font-size !default; $btn-font-size: $input-btn-font-size !default;
$btn-line-height: $input-btn-line-height !default; $btn-line-height: $input-btn-line-height !default;
$btn-white-space: null !default; // Set to `nowrap` to prevent text wrapping
$btn-padding-y-sm: $input-btn-padding-y-sm !default; $btn-padding-y-sm: $input-btn-padding-y-sm !default;
$btn-padding-x-sm: $input-btn-padding-x-sm !default; $btn-padding-x-sm: $input-btn-padding-x-sm !default;
@@ -488,13 +493,13 @@ $input-plaintext-color: $body-color !default;
$input-height-border: $input-border-width * 2 !default; $input-height-border: $input-border-width * 2 !default;
$input-height-inner: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2}) !default; $input-height-inner: add($input-line-height * 1em, $input-padding-y * 2) !default;
$input-height-inner-half: calc(#{$input-line-height * .5em} + #{$input-padding-y}) !default; $input-height-inner-half: add($input-line-height * .5em, $input-padding-y) !default;
$input-height-inner-quarter: calc(#{$input-line-height * .25em} + #{$input-padding-y / 2}) !default; $input-height-inner-quarter: add($input-line-height * .25em, $input-padding-y / 2) !default;
$input-height: calc(#{$input-line-height * 1em} + #{$input-padding-y * 2} + #{$input-height-border}) !default; $input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)) !default;
$input-height-sm: calc(#{$input-line-height-sm * 1em} + #{$input-btn-padding-y-sm * 2} + #{$input-height-border}) !default; $input-height-sm: add($input-line-height-sm * 1em, add($input-padding-y-sm * 2, $input-height-border, false)) !default;
$input-height-lg: calc(#{$input-line-height-lg * 1em} + #{$input-btn-padding-y-lg * 2} + #{$input-height-border}) !default; $input-height-lg: add($input-line-height-lg * 1em, add($input-padding-y-lg * 2, $input-height-border, false)) !default;
$input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default; $input-transition: border-color .15s ease-in-out, box-shadow .15s ease-in-out !default;
@@ -518,6 +523,7 @@ $custom-forms-transition: background-color .15s ease-in-out, borde
$custom-control-gutter: .5rem !default; $custom-control-gutter: .5rem !default;
$custom-control-spacer-x: 1rem !default; $custom-control-spacer-x: 1rem !default;
$custom-control-cursor: null !default;
$custom-control-indicator-size: 1rem !default; $custom-control-indicator-size: 1rem !default;
$custom-control-indicator-bg: $input-bg !default; $custom-control-indicator-bg: $input-bg !default;
@@ -527,13 +533,15 @@ $custom-control-indicator-box-shadow: $input-box-shadow !default;
$custom-control-indicator-border-color: $gray-500 !default; $custom-control-indicator-border-color: $gray-500 !default;
$custom-control-indicator-border-width: $input-border-width !default; $custom-control-indicator-border-width: $input-border-width !default;
$custom-control-label-color: null !default;
$custom-control-indicator-disabled-bg: $input-disabled-bg !default; $custom-control-indicator-disabled-bg: $input-disabled-bg !default;
$custom-control-label-disabled-color: $gray-600 !default; $custom-control-label-disabled-color: $gray-600 !default;
$custom-control-indicator-checked-color: $component-active-color !default; $custom-control-indicator-checked-color: $component-active-color !default;
$custom-control-indicator-checked-bg: $component-active-bg !default; $custom-control-indicator-checked-bg: $component-active-bg !default;
$custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default; $custom-control-indicator-checked-disabled-bg: rgba(theme-color("primary"), .5) !default;
$custom-control-indicator-checked-box-shadow: none !default; $custom-control-indicator-checked-box-shadow: null !default;
$custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default; $custom-control-indicator-checked-border-color: $custom-control-indicator-checked-bg !default;
$custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default; $custom-control-indicator-focus-box-shadow: $input-focus-box-shadow !default;
@@ -541,24 +549,24 @@ $custom-control-indicator-focus-border-color: $input-focus-border-color !defau
$custom-control-indicator-active-color: $component-active-color !default; $custom-control-indicator-active-color: $component-active-color !default;
$custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default; $custom-control-indicator-active-bg: lighten($component-active-bg, 35%) !default;
$custom-control-indicator-active-box-shadow: none !default; $custom-control-indicator-active-box-shadow: null !default;
$custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default; $custom-control-indicator-active-border-color: $custom-control-indicator-active-bg !default;
$custom-checkbox-indicator-border-radius: $border-radius !default; $custom-checkbox-indicator-border-radius: $border-radius !default;
$custom-checkbox-indicator-icon-checked: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26 2.974 7.25 8 2.193z'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-checkbox-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$custom-control-indicator-checked-color}' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/></svg>") !default;
$custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default; $custom-checkbox-indicator-indeterminate-bg: $component-active-bg !default;
$custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default; $custom-checkbox-indicator-indeterminate-color: $custom-control-indicator-checked-color !default;
$custom-checkbox-indicator-icon-indeterminate: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 4'%3e%3cpath stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-checkbox-indicator-icon-indeterminate: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'><path stroke='#{$custom-checkbox-indicator-indeterminate-color}' d='M0 2h4'/></svg>") !default;
$custom-checkbox-indicator-indeterminate-box-shadow: none !default; $custom-checkbox-indicator-indeterminate-box-shadow: null !default;
$custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default; $custom-checkbox-indicator-indeterminate-border-color: $custom-checkbox-indicator-indeterminate-bg !default;
$custom-radio-indicator-border-radius: 50% !default; $custom-radio-indicator-border-radius: 50% !default;
$custom-radio-indicator-icon-checked: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='#{$custom-control-indicator-checked-color}'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-radio-indicator-icon-checked: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'><circle r='3' fill='#{$custom-control-indicator-checked-color}'/></svg>") !default;
$custom-switch-width: $custom-control-indicator-size * 1.75 !default; $custom-switch-width: $custom-control-indicator-size * 1.75 !default;
$custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default; $custom-switch-indicator-border-radius: $custom-control-indicator-size / 2 !default;
$custom-switch-indicator-size: calc(#{$custom-control-indicator-size} - #{$custom-control-indicator-border-width * 4}) !default; $custom-switch-indicator-size: subtract($custom-control-indicator-size, $custom-control-indicator-border-width * 4) !default;
$custom-select-padding-y: $input-padding-y !default; $custom-select-padding-y: $input-padding-y !default;
$custom-select-padding-x: $input-padding-x !default; $custom-select-padding-x: $input-padding-x !default;
@@ -574,10 +582,10 @@ $custom-select-bg: $input-bg !default;
$custom-select-disabled-bg: $gray-200 !default; $custom-select-disabled-bg: $gray-200 !default;
$custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions $custom-select-bg-size: 8px 10px !default; // In pixels because image dimensions
$custom-select-indicator-color: $gray-800 !default; $custom-select-indicator-color: $gray-800 !default;
$custom-select-indicator: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 4 5'%3e%3cpath fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e"), "#", "%23") !default; $custom-select-indicator: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'><path fill='#{$custom-select-indicator-color}' d='M2 0L0 2h4zm0 5L0 3h4z'/></svg>") !default;
$custom-select-background: $custom-select-indicator no-repeat right $custom-select-padding-x center / $custom-select-bg-size !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon) $custom-select-background: escape-svg($custom-select-indicator) right $custom-select-padding-x center / $custom-select-bg-size no-repeat !default; // Used so we can have multiple background elements (e.g., arrow and feedback icon)
$custom-select-feedback-icon-padding-right: calc((1em + #{2 * $custom-select-padding-y}) * 3 / 4 + #{$custom-select-padding-x + $custom-select-indicator-padding}) !default; $custom-select-feedback-icon-padding-right: add(1em * .75, (2 * $custom-select-padding-y * .75) + $custom-select-padding-x + $custom-select-indicator-padding) !default;
$custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default; $custom-select-feedback-icon-position: center right ($custom-select-padding-x + $custom-select-indicator-padding) !default;
$custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default; $custom-select-feedback-icon-size: $input-height-inner-half $input-height-inner-half !default;
@@ -650,12 +658,11 @@ $form-feedback-valid-color: theme-color("success") !default;
$form-feedback-invalid-color: theme-color("danger") !default; $form-feedback-invalid-color: theme-color("danger") !default;
$form-feedback-icon-valid-color: $form-feedback-valid-color !default; $form-feedback-icon-valid-color: $form-feedback-valid-color !default;
$form-feedback-icon-valid: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e"), "#", "%23") !default; $form-feedback-icon-valid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'><path fill='#{$form-feedback-icon-valid-color}' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/></svg>") !default;
$form-feedback-icon-invalid-color: $form-feedback-invalid-color !default; $form-feedback-icon-invalid-color: $form-feedback-invalid-color !default;
$form-feedback-icon-invalid: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$form-feedback-icon-invalid-color}' viewBox='-2 -2 7 7'%3e%3cpath stroke='#{$form-feedback-icon-invalid-color}' d='M0 0l3 3m0-3L0 3'/%3e%3ccircle r='.5'/%3e%3ccircle cx='3' r='.5'/%3e%3ccircle cy='3' r='.5'/%3e%3ccircle cx='3' cy='3' r='.5'/%3e%3c/svg%3E"), "#", "%23") !default; $form-feedback-icon-invalid: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='#{$form-feedback-icon-invalid-color}' viewBox='0 0 12 12'><circle cx='6' cy='6' r='4.5'/><path stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/><circle cx='6' cy='8.2' r='.6' fill='#{$form-feedback-icon-invalid-color}' stroke='none'/></svg>") !default;
$form-validation-states: () !default; $form-validation-states: () !default;
// stylelint-disable-next-line scss/dollar-variable-default
$form-validation-states: map-merge( $form-validation-states: map-merge(
( (
"valid": ( "valid": (
@@ -724,18 +731,20 @@ $navbar-toggler-padding-x: .75rem !default;
$navbar-toggler-font-size: $font-size-lg !default; $navbar-toggler-font-size: $font-size-lg !default;
$navbar-toggler-border-radius: $btn-border-radius !default; $navbar-toggler-border-radius: $btn-border-radius !default;
$navbar-nav-scroll-max-height: 75vh !default;
$navbar-dark-color: rgba($white, .5) !default; $navbar-dark-color: rgba($white, .5) !default;
$navbar-dark-hover-color: rgba($white, .75) !default; $navbar-dark-hover-color: rgba($white, .75) !default;
$navbar-dark-active-color: $white !default; $navbar-dark-active-color: $white !default;
$navbar-dark-disabled-color: rgba($white, .25) !default; $navbar-dark-disabled-color: rgba($white, .25) !default;
$navbar-dark-toggler-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-dark-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default; $navbar-dark-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-dark-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
$navbar-dark-toggler-border-color: rgba($white, .1) !default; $navbar-dark-toggler-border-color: rgba($white, .1) !default;
$navbar-light-color: rgba($black, .5) !default; $navbar-light-color: rgba($black, .5) !default;
$navbar-light-hover-color: rgba($black, .7) !default; $navbar-light-hover-color: rgba($black, .7) !default;
$navbar-light-active-color: rgba($black, .9) !default; $navbar-light-active-color: rgba($black, .9) !default;
$navbar-light-disabled-color: rgba($black, .3) !default; $navbar-light-disabled-color: rgba($black, .3) !default;
$navbar-light-toggler-icon-bg: str-replace(url("data:image/svg+xml,%3csvg viewBox='0 0 30 30' xmlns='http://www.w3.org/2000/svg'%3e%3cpath stroke='#{$navbar-light-color}' stroke-width='2' stroke-linecap='round' stroke-miterlimit='10' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e"), "#", "%23") !default; $navbar-light-toggler-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'><path stroke='#{$navbar-light-color}' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/></svg>") !default;
$navbar-light-toggler-border-color: rgba($black, .1) !default; $navbar-light-toggler-border-color: rgba($black, .1) !default;
$navbar-light-brand-color: $navbar-light-active-color !default; $navbar-light-brand-color: $navbar-light-active-color !default;
@@ -749,6 +758,7 @@ $navbar-dark-brand-hover-color: $navbar-dark-active-color !default;
// Dropdown menu container and contents. // Dropdown menu container and contents.
$dropdown-min-width: 10rem !default; $dropdown-min-width: 10rem !default;
$dropdown-padding-x: 0 !default;
$dropdown-padding-y: .5rem !default; $dropdown-padding-y: .5rem !default;
$dropdown-spacer: .125rem !default; $dropdown-spacer: .125rem !default;
$dropdown-font-size: $font-size-base !default; $dropdown-font-size: $font-size-base !default;
@@ -757,24 +767,25 @@ $dropdown-bg: $white !default;
$dropdown-border-color: rgba($black, .15) !default; $dropdown-border-color: rgba($black, .15) !default;
$dropdown-border-radius: $border-radius !default; $dropdown-border-radius: $border-radius !default;
$dropdown-border-width: $border-width !default; $dropdown-border-width: $border-width !default;
$dropdown-inner-border-radius: calc(#{$dropdown-border-radius} - #{$dropdown-border-width}) !default; $dropdown-inner-border-radius: subtract($dropdown-border-radius, $dropdown-border-width) !default;
$dropdown-divider-bg: $gray-200 !default; $dropdown-divider-bg: $gray-200 !default;
$dropdown-divider-margin-y: $nav-divider-margin-y !default; $dropdown-divider-margin-y: $nav-divider-margin-y !default;
$dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default; $dropdown-box-shadow: 0 .5rem 1rem rgba($black, .175) !default;
$dropdown-link-color: $gray-900 !default; $dropdown-link-color: $gray-900 !default;
$dropdown-link-hover-color: darken($gray-900, 5%) !default; $dropdown-link-hover-color: darken($gray-900, 5%) !default;
$dropdown-link-hover-bg: $gray-100 !default; $dropdown-link-hover-bg: $gray-200 !default;
$dropdown-link-active-color: $component-active-color !default; $dropdown-link-active-color: $component-active-color !default;
$dropdown-link-active-bg: $component-active-bg !default; $dropdown-link-active-bg: $component-active-bg !default;
$dropdown-link-disabled-color: $gray-600 !default; $dropdown-link-disabled-color: $gray-500 !default;
$dropdown-item-padding-y: .25rem !default; $dropdown-item-padding-y: .25rem !default;
$dropdown-item-padding-x: 1.5rem !default; $dropdown-item-padding-x: 1.5rem !default;
$dropdown-header-color: $gray-600 !default; $dropdown-header-color: $gray-600 !default;
$dropdown-header-padding: $dropdown-padding-y $dropdown-item-padding-x !default;
// Pagination // Pagination
@@ -807,6 +818,8 @@ $pagination-disabled-color: $gray-600 !default;
$pagination-disabled-bg: $white !default; $pagination-disabled-bg: $white !default;
$pagination-disabled-border-color: $gray-300 !default; $pagination-disabled-border-color: $gray-300 !default;
$pagination-border-radius-sm: $border-radius-sm !default;
$pagination-border-radius-lg: $border-radius-lg !default;
// Jumbotron // Jumbotron
@@ -822,9 +835,10 @@ $card-spacer-x: 1.25rem !default;
$card-border-width: $border-width !default; $card-border-width: $border-width !default;
$card-border-radius: $border-radius !default; $card-border-radius: $border-radius !default;
$card-border-color: rgba($black, .125) !default; $card-border-color: rgba($black, .125) !default;
$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}) !default; $card-inner-border-radius: subtract($card-border-radius, $card-border-width) !default;
$card-cap-bg: rgba($black, .03) !default; $card-cap-bg: rgba($black, .03) !default;
$card-cap-color: null !default; $card-cap-color: null !default;
$card-height: null !default;
$card-color: null !default; $card-color: null !default;
$card-bg: $white !default; $card-bg: $white !default;
@@ -871,6 +885,7 @@ $popover-max-width: 276px !default;
$popover-border-width: $border-width !default; $popover-border-width: $border-width !default;
$popover-border-color: rgba($black, .2) !default; $popover-border-color: rgba($black, .2) !default;
$popover-border-radius: $border-radius-lg !default; $popover-border-radius: $border-radius-lg !default;
$popover-inner-border-radius: subtract($popover-border-radius, $popover-border-width) !default;
$popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default; $popover-box-shadow: 0 .25rem .5rem rgba($black, .2) !default;
$popover-header-bg: darken($popover-bg, 3%) !default; $popover-header-bg: darken($popover-bg, 3%) !default;
@@ -929,6 +944,9 @@ $badge-pill-border-radius: 10rem !default;
// Padding applied to the modal body // Padding applied to the modal body
$modal-inner-padding: 1rem !default; $modal-inner-padding: 1rem !default;
// Margin between elements in footer, must be lower than or equal to 2 * $modal-inner-padding
$modal-footer-margin-between: .5rem !default;
$modal-dialog-margin: .5rem !default; $modal-dialog-margin: .5rem !default;
$modal-dialog-margin-y-sm-up: 1.75rem !default; $modal-dialog-margin-y-sm-up: 1.75rem !default;
@@ -939,6 +957,7 @@ $modal-content-bg: $white !default;
$modal-content-border-color: rgba($black, .2) !default; $modal-content-border-color: rgba($black, .2) !default;
$modal-content-border-width: $border-width !default; $modal-content-border-width: $border-width !default;
$modal-content-border-radius: $border-radius-lg !default; $modal-content-border-radius: $border-radius-lg !default;
$modal-content-inner-border-radius: subtract($modal-content-border-radius, $modal-content-border-width) !default;
$modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default; $modal-content-box-shadow-xs: 0 .25rem .5rem rgba($black, .5) !default;
$modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default; $modal-content-box-shadow-sm-up: 0 .5rem 1rem rgba($black, .5) !default;
@@ -960,6 +979,7 @@ $modal-sm: 300px !default;
$modal-fade-transform: translate(0, -50px) !default; $modal-fade-transform: translate(0, -50px) !default;
$modal-show-transform: none !default; $modal-show-transform: none !default;
$modal-transition: transform .3s ease-out !default; $modal-transition: transform .3s ease-out !default;
$modal-scale-transform: scale(1.02) !default;
// Alerts // Alerts
@@ -1035,6 +1055,8 @@ $figure-caption-color: $gray-600 !default;
// Breadcrumbs // Breadcrumbs
$breadcrumb-font-size: null !default;
$breadcrumb-padding-y: .75rem !default; $breadcrumb-padding-y: .75rem !default;
$breadcrumb-padding-x: 1rem !default; $breadcrumb-padding-x: 1rem !default;
$breadcrumb-item-padding: .5rem !default; $breadcrumb-item-padding: .5rem !default;
@@ -1069,8 +1091,8 @@ $carousel-caption-color: $white !default;
$carousel-control-icon-width: 20px !default; $carousel-control-icon-width: 20px !default;
$carousel-control-prev-icon-bg: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5-2.5-2.5 2.5-2.5-1.5-1.5z'/%3e%3c/svg%3e"), "#", "%23") !default; $carousel-control-prev-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/></svg>") !default;
$carousel-control-next-icon-bg: str-replace(url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5 2.5 2.5-2.5 2.5 1.5 1.5 4-4-4-4z'/%3e%3c/svg%3e"), "#", "%23") !default; $carousel-control-next-icon-bg: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' fill='#{$carousel-control-color}' width='8' height='8' viewBox='0 0 8 8'><path d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/></svg>") !default;
$carousel-transition-duration: .6s !default; $carousel-transition-duration: .6s !default;
$carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`) $carousel-transition: transform $carousel-transition-duration ease-in-out !default; // Define transform transition first if using multiple transitions (e.g., `transform 2s ease, opacity .5s ease-out`)
@@ -1115,6 +1137,7 @@ $pre-scrollable-max-height: 340px !default;
$displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default; $displays: none, inline, inline-block, block, table, table-row, table-cell, flex, inline-flex !default;
$overflows: auto, hidden !default; $overflows: auto, hidden !default;
$positions: static, relative, absolute, fixed, sticky !default; $positions: static, relative, absolute, fixed, sticky !default;
$user-selects: all, auto, none !default;
// Printing // Printing

View File

@@ -1,8 +1,8 @@
/*! /*!
* Bootstrap Grid v4.3.1 (https://getbootstrap.com/) * Bootstrap Grid v4.6.0 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
html { html {
@@ -19,6 +19,7 @@ html {
@import "functions"; @import "functions";
@import "variables"; @import "variables";
@import "mixins/deprecate";
@import "mixins/breakpoints"; @import "mixins/breakpoints";
@import "mixins/grid-framework"; @import "mixins/grid-framework";
@import "mixins/grid"; @import "mixins/grid";

View File

@@ -1,8 +1,8 @@
/*! /*!
* Bootstrap Reboot v4.3.1 (https://getbootstrap.com/) * Bootstrap Reboot v4.6.0 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
* Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md)
*/ */

View File

@@ -1,8 +1,8 @@
/*! /*!
* Bootstrap v4.3.1 (https://getbootstrap.com/) * Bootstrap v4.6.0 (https://getbootstrap.com/)
* Copyright 2011-2019 The Bootstrap Authors * Copyright 2011-2021 The Bootstrap Authors
* Copyright 2011-2019 Twitter, Inc. * Copyright 2011-2021 Twitter, Inc.
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE)
*/ */
@import "functions"; @import "functions";

View File

@@ -2,20 +2,22 @@
// Contextual backgrounds // Contextual backgrounds
@mixin bg-variant($parent, $color) { @mixin bg-variant($parent, $color, $ignore-warning: false) {
#{$parent} { #{$parent} {
background-color: $color !important; background-color: $color !important;
} }
a#{$parent}, a#{$parent},
button#{$parent} { button#{$parent} {
@include hover-focus { @include hover-focus() {
background-color: darken($color, 10%) !important; background-color: darken($color, 10%) !important;
} }
} }
@include deprecate("The `bg-variant` mixin", "v4.4.0", "v5", $ignore-warning);
} }
@mixin bg-gradient-variant($parent, $color) { @mixin bg-gradient-variant($parent, $color, $ignore-warning: false) {
#{$parent} { #{$parent} {
background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important;
} }
@include deprecate("The `bg-gradient-variant` mixin", "v4.5.0", "v5", $ignore-warning);
} }

View File

@@ -3,7 +3,7 @@
background-color: $bg; background-color: $bg;
@at-root a#{&} { @at-root a#{&} {
@include hover-focus { @include hover-focus() {
color: color-yiq($bg); color: color-yiq($bg);
background-color: darken($bg, 10%); background-color: darken($bg, 10%);
} }

View File

@@ -1,9 +1,22 @@
// stylelint-disable property-blacklist // stylelint-disable property-disallowed-list
// Single side border-radius // Single side border-radius
// Helper function to replace negative values with 0
@function valid-radius($radius) {
$return: ();
@each $value in $radius {
@if type-of($value) == number {
$return: append($return, max($value, 0));
} @else {
$return: append($return, $value);
}
}
@return $return;
}
@mixin border-radius($radius: $border-radius, $fallback-border-radius: false) { @mixin border-radius($radius: $border-radius, $fallback-border-radius: false) {
@if $enable-rounded { @if $enable-rounded {
border-radius: $radius; border-radius: valid-radius($radius);
} }
@else if $fallback-border-radius != false { @else if $fallback-border-radius != false {
border-radius: $fallback-border-radius; border-radius: $fallback-border-radius;
@@ -12,52 +25,52 @@
@mixin border-top-radius($radius) { @mixin border-top-radius($radius) {
@if $enable-rounded { @if $enable-rounded {
border-top-left-radius: $radius; border-top-left-radius: valid-radius($radius);
border-top-right-radius: $radius; border-top-right-radius: valid-radius($radius);
} }
} }
@mixin border-right-radius($radius) { @mixin border-right-radius($radius) {
@if $enable-rounded { @if $enable-rounded {
border-top-right-radius: $radius; border-top-right-radius: valid-radius($radius);
border-bottom-right-radius: $radius; border-bottom-right-radius: valid-radius($radius);
} }
} }
@mixin border-bottom-radius($radius) { @mixin border-bottom-radius($radius) {
@if $enable-rounded { @if $enable-rounded {
border-bottom-right-radius: $radius; border-bottom-right-radius: valid-radius($radius);
border-bottom-left-radius: $radius; border-bottom-left-radius: valid-radius($radius);
} }
} }
@mixin border-left-radius($radius) { @mixin border-left-radius($radius) {
@if $enable-rounded { @if $enable-rounded {
border-top-left-radius: $radius; border-top-left-radius: valid-radius($radius);
border-bottom-left-radius: $radius; border-bottom-left-radius: valid-radius($radius);
} }
} }
@mixin border-top-left-radius($radius) { @mixin border-top-left-radius($radius) {
@if $enable-rounded { @if $enable-rounded {
border-top-left-radius: $radius; border-top-left-radius: valid-radius($radius);
} }
} }
@mixin border-top-right-radius($radius) { @mixin border-top-right-radius($radius) {
@if $enable-rounded { @if $enable-rounded {
border-top-right-radius: $radius; border-top-right-radius: valid-radius($radius);
} }
} }
@mixin border-bottom-right-radius($radius) { @mixin border-bottom-right-radius($radius) {
@if $enable-rounded { @if $enable-rounded {
border-bottom-right-radius: $radius; border-bottom-right-radius: valid-radius($radius);
} }
} }
@mixin border-bottom-left-radius($radius) { @mixin border-bottom-left-radius($radius) {
@if $enable-rounded { @if $enable-rounded {
border-bottom-left-radius: $radius; border-bottom-left-radius: valid-radius($radius);
} }
} }

View File

@@ -9,7 +9,7 @@
border-color: $border; border-color: $border;
@include box-shadow($btn-box-shadow); @include box-shadow($btn-box-shadow);
@include hover { @include hover() {
color: color-yiq($hover-background); color: color-yiq($hover-background);
@include gradient-bg($hover-background); @include gradient-bg($hover-background);
border-color: $hover-border; border-color: $hover-border;
@@ -17,10 +17,13 @@
&:focus, &:focus,
&.focus { &.focus {
// Avoid using mixin so we can pass custom focus shadow properly color: color-yiq($hover-background);
@include gradient-bg($hover-background);
border-color: $hover-border;
@if $enable-shadows { @if $enable-shadows {
box-shadow: $btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); @include box-shadow($btn-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
} @else { } @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
} }
} }
@@ -48,10 +51,10 @@
border-color: $active-border; border-color: $active-border;
&:focus { &:focus {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows and $btn-active-box-shadow != none { @if $enable-shadows and $btn-active-box-shadow != none {
box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5));
} @else { } @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5); box-shadow: 0 0 0 $btn-focus-width rgba(mix(color-yiq($background), $border, 15%), .5);
} }
} }
@@ -62,7 +65,7 @@
color: $color; color: $color;
border-color: $color; border-color: $color;
@include hover { @include hover() {
color: $color-hover; color: $color-hover;
background-color: $active-background; background-color: $active-background;
border-color: $active-border; border-color: $active-border;
@@ -87,10 +90,10 @@
border-color: $active-border; border-color: $active-border;
&:focus { &:focus {
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows and $btn-active-box-shadow != none { @if $enable-shadows and $btn-active-box-shadow != none {
box-shadow: $btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5); @include box-shadow($btn-active-box-shadow, 0 0 0 $btn-focus-width rgba($color, .5));
} @else { } @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: 0 0 0 $btn-focus-width rgba($color, .5); box-shadow: 0 0 0 $btn-focus-width rgba($color, .5);
} }
} }

View File

@@ -1,25 +1,25 @@
@mixin caret-down { @mixin caret-down() {
border-top: $caret-width solid; border-top: $caret-width solid;
border-right: $caret-width solid transparent; border-right: $caret-width solid transparent;
border-bottom: 0; border-bottom: 0;
border-left: $caret-width solid transparent; border-left: $caret-width solid transparent;
} }
@mixin caret-up { @mixin caret-up() {
border-top: 0; border-top: 0;
border-right: $caret-width solid transparent; border-right: $caret-width solid transparent;
border-bottom: $caret-width solid; border-bottom: $caret-width solid;
border-left: $caret-width solid transparent; border-left: $caret-width solid transparent;
} }
@mixin caret-right { @mixin caret-right() {
border-top: $caret-width solid transparent; border-top: $caret-width solid transparent;
border-right: 0; border-right: 0;
border-bottom: $caret-width solid transparent; border-bottom: $caret-width solid transparent;
border-left: $caret-width solid; border-left: $caret-width solid;
} }
@mixin caret-left { @mixin caret-left() {
border-top: $caret-width solid transparent; border-top: $caret-width solid transparent;
border-right: $caret-width solid; border-right: $caret-width solid;
border-bottom: $caret-width solid transparent; border-bottom: $caret-width solid transparent;
@@ -33,11 +33,11 @@
vertical-align: $caret-vertical-align; vertical-align: $caret-vertical-align;
content: ""; content: "";
@if $direction == down { @if $direction == down {
@include caret-down; @include caret-down();
} @else if $direction == up { } @else if $direction == up {
@include caret-up; @include caret-up();
} @else if $direction == right { } @else if $direction == right {
@include caret-right; @include caret-right();
} }
} }
@@ -51,7 +51,7 @@
margin-right: $caret-spacing; margin-right: $caret-spacing;
vertical-align: $caret-vertical-align; vertical-align: $caret-vertical-align;
content: ""; content: "";
@include caret-left; @include caret-left();
} }
} }

View File

@@ -1,14 +1,14 @@
// stylelint-disable declaration-no-important // stylelint-disable declaration-no-important
@mixin float-left { @mixin float-left() {
float: left !important; float: left !important;
@include deprecate("The `float-left` mixin", "v4.3.0", "v5"); @include deprecate("The `float-left` mixin", "v4.3.0", "v5");
} }
@mixin float-right { @mixin float-right() {
float: right !important; float: right !important;
@include deprecate("The `float-right` mixin", "v4.3.0", "v5"); @include deprecate("The `float-right` mixin", "v4.3.0", "v5");
} }
@mixin float-none { @mixin float-none() {
float: none !important; float: none !important;
@include deprecate("The `float-none` mixin", "v4.3.0", "v5"); @include deprecate("The `float-none` mixin", "v4.3.0", "v5");
} }

View File

@@ -10,21 +10,36 @@
// //
// Example usage: change the default blue border and shadow to white for better // Example usage: change the default blue border and shadow to white for better
// contrast against a dark gray background. // contrast against a dark gray background.
@mixin form-control-focus() { @mixin form-control-focus($ignore-warning: false) {
&:focus { &:focus {
color: $input-focus-color; color: $input-focus-color;
background-color: $input-focus-bg; background-color: $input-focus-bg;
border-color: $input-focus-border-color; border-color: $input-focus-border-color;
outline: 0; outline: 0;
// Avoid using mixin so we can pass custom focus shadow properly
@if $enable-shadows { @if $enable-shadows {
box-shadow: $input-box-shadow, $input-focus-box-shadow; @include box-shadow($input-box-shadow, $input-focus-box-shadow);
} @else { } @else {
// Avoid using mixin so we can pass custom focus shadow properly
box-shadow: $input-focus-box-shadow; box-shadow: $input-focus-box-shadow;
} }
} }
@include deprecate("The `form-control-focus()` mixin", "v4.4.0", "v5", $ignore-warning);
} }
// This mixin uses an `if()` technique to be compatible with Dart Sass
// See https://github.com/sass/sass/issues/1873#issuecomment-152293725 for more details
@mixin form-validation-state-selector($state) {
@if ($state == "valid" or $state == "invalid") {
.was-validated #{if(&, "&", "")}:#{$state},
#{if(&, "&", "")}.is-#{$state} {
@content;
}
} @else {
#{if(&, "&", "")}.is-#{$state} {
@content;
}
}
}
@mixin form-validation-state($state, $color, $icon) { @mixin form-validation-state($state, $color, $icon) {
.#{$state}-feedback { .#{$state}-feedback {
@@ -38,6 +53,7 @@
.#{$state}-tooltip { .#{$state}-tooltip {
position: absolute; position: absolute;
top: 100%; top: 100%;
left: 0;
z-index: 5; z-index: 5;
display: none; display: none;
max-width: 100%; // Contain to parent when possible max-width: 100%; // Contain to parent when possible
@@ -48,18 +64,31 @@
color: color-yiq($color); color: color-yiq($color);
background-color: rgba($color, $form-feedback-tooltip-opacity); background-color: rgba($color, $form-feedback-tooltip-opacity);
@include border-radius($form-feedback-tooltip-border-radius); @include border-radius($form-feedback-tooltip-border-radius);
// See https://github.com/twbs/bootstrap/pull/31557
// Align tooltip to form elements
.form-row > .col > &,
.form-row > [class*="col-"] > & {
left: $form-grid-gutter-width / 2;
}
}
@include form-validation-state-selector($state) {
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
} }
.form-control { .form-control {
.was-validated &:#{$state}, @include form-validation-state-selector($state) {
&.is-#{$state} {
border-color: $color; border-color: $color;
@if $enable-validation-icons { @if $enable-validation-icons {
padding-right: $input-height-inner; padding-right: $input-height-inner;
background-image: $icon; background-image: escape-svg($icon);
background-repeat: no-repeat; background-repeat: no-repeat;
background-position: center right $input-height-inner-quarter; background-position: right $input-height-inner-quarter center;
background-size: $input-height-inner-half $input-height-inner-half; background-size: $input-height-inner-half $input-height-inner-half;
} }
@@ -67,18 +96,12 @@
border-color: $color; border-color: $color;
box-shadow: 0 0 0 $input-focus-width rgba($color, .25); box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
} }
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
} }
} }
// stylelint-disable-next-line selector-no-qualifying-type // stylelint-disable-next-line selector-no-qualifying-type
textarea.form-control { textarea.form-control {
.was-validated &:#{$state}, @include form-validation-state-selector($state) {
&.is-#{$state} {
@if $enable-validation-icons { @if $enable-validation-icons {
padding-right: $input-height-inner; padding-right: $input-height-inner;
background-position: top $input-height-inner-quarter right $input-height-inner-quarter; background-position: top $input-height-inner-quarter right $input-height-inner-quarter;
@@ -87,41 +110,23 @@
} }
.custom-select { .custom-select {
.was-validated &:#{$state}, @include form-validation-state-selector($state) {
&.is-#{$state} {
border-color: $color; border-color: $color;
@if $enable-validation-icons { @if $enable-validation-icons {
padding-right: $custom-select-feedback-icon-padding-right; padding-right: $custom-select-feedback-icon-padding-right;
background: $custom-select-background, $icon $custom-select-bg no-repeat $custom-select-feedback-icon-position / $custom-select-feedback-icon-size; background: $custom-select-background, $custom-select-bg escape-svg($icon) $custom-select-feedback-icon-position / $custom-select-feedback-icon-size no-repeat;
} }
&:focus { &:focus {
border-color: $color; border-color: $color;
box-shadow: 0 0 0 $input-focus-width rgba($color, .25); box-shadow: 0 0 0 $input-focus-width rgba($color, .25);
} }
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
}
}
.form-control-file {
.was-validated &:#{$state},
&.is-#{$state} {
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
} }
} }
.form-check-input { .form-check-input {
.was-validated &:#{$state}, @include form-validation-state-selector($state) {
&.is-#{$state} {
~ .form-check-label { ~ .form-check-label {
color: $color; color: $color;
} }
@@ -134,8 +139,7 @@
} }
.custom-control-input { .custom-control-input {
.was-validated &:#{$state}, @include form-validation-state-selector($state) {
&.is-#{$state} {
~ .custom-control-label { ~ .custom-control-label {
color: $color; color: $color;
@@ -144,11 +148,6 @@
} }
} }
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
&:checked { &:checked {
~ .custom-control-label::before { ~ .custom-control-label::before {
border-color: lighten($color, 10%); border-color: lighten($color, 10%);
@@ -170,17 +169,11 @@
// custom file // custom file
.custom-file-input { .custom-file-input {
.was-validated &:#{$state}, @include form-validation-state-selector($state) {
&.is-#{$state} {
~ .custom-file-label { ~ .custom-file-label {
border-color: $color; border-color: $color;
} }
~ .#{$state}-feedback,
~ .#{$state}-tooltip {
display: block;
}
&:focus { &:focus {
~ .custom-file-label { ~ .custom-file-label {
border-color: $color; border-color: $color;

View File

@@ -15,12 +15,15 @@
@each $breakpoint in map-keys($breakpoints) { @each $breakpoint in map-keys($breakpoints) {
$infix: breakpoint-infix($breakpoint, $breakpoints); $infix: breakpoint-infix($breakpoint, $breakpoints);
@if $columns > 0 {
// Allow columns to stretch full width below their breakpoints // Allow columns to stretch full width below their breakpoints
@for $i from 1 through $columns { @for $i from 1 through $columns {
.col#{$infix}-#{$i} { .col#{$infix}-#{$i} {
@extend %grid-column; @extend %grid-column;
} }
} }
}
.col#{$infix}, .col#{$infix},
.col#{$infix}-auto { .col#{$infix}-auto {
@extend %grid-column; @extend %grid-column;
@@ -33,17 +36,26 @@
flex-grow: 1; flex-grow: 1;
max-width: 100%; max-width: 100%;
} }
.col#{$infix}-auto {
flex: 0 0 auto; @if $grid-row-columns > 0 {
width: auto; @for $i from 1 through $grid-row-columns {
max-width: 100%; // Reset earlier grid tiers .row-cols#{$infix}-#{$i} {
@include row-cols($i);
}
}
} }
.col#{$infix}-auto {
@include make-col-auto();
}
@if $columns > 0 {
@for $i from 1 through $columns { @for $i from 1 through $columns {
.col#{$infix}-#{$i} { .col#{$infix}-#{$i} {
@include make-col($i, $columns); @include make-col($i, $columns);
} }
} }
}
.order#{$infix}-first { order: -1; } .order#{$infix}-first { order: -1; }
@@ -53,6 +65,7 @@
.order#{$infix}-#{$i} { order: $i; } .order#{$infix}-#{$i} { order: $i; }
} }
@if $columns > 0 {
// `$columns - 1` because offsetting by the width of an entire row isn't possible // `$columns - 1` because offsetting by the width of an entire row isn't possible
@for $i from 0 through ($columns - 1) { @for $i from 0 through ($columns - 1) {
@if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0 @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0
@@ -63,4 +76,5 @@
} }
} }
} }
}
} }

View File

@@ -10,6 +10,12 @@
margin-left: auto; margin-left: auto;
} }
@mixin make-row($gutter: $grid-gutter-width) {
display: flex;
flex-wrap: wrap;
margin-right: -$gutter / 2;
margin-left: -$gutter / 2;
}
// For each breakpoint, define the maximum width of the container in a media query // For each breakpoint, define the maximum width of the container in a media query
@mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) {
@@ -18,13 +24,7 @@
max-width: $container-max-width; max-width: $container-max-width;
} }
} }
} @include deprecate("The `make-container-max-widths` mixin", "v4.5.2", "v5");
@mixin make-row($gutter: $grid-gutter-width) {
display: flex;
flex-wrap: wrap;
margin-right: -$gutter / 2;
margin-left: -$gutter / 2;
} }
@mixin make-col-ready($gutter: $grid-gutter-width) { @mixin make-col-ready($gutter: $grid-gutter-width) {
@@ -45,7 +45,25 @@
max-width: percentage($size / $columns); max-width: percentage($size / $columns);
} }
@mixin make-col-auto() {
flex: 0 0 auto;
width: auto;
max-width: 100%; // Reset earlier grid tiers
}
@mixin make-col-offset($size, $columns: $grid-columns) { @mixin make-col-offset($size, $columns: $grid-columns) {
$num: $size / $columns; $num: $size / $columns;
margin-left: if($num == 0, 0, percentage($num)); margin-left: if($num == 0, 0, percentage($num));
} }
// Row columns
//
// Specify on a parent element(e.g., .row) to force immediate children into NN
// numberof columns. Supports wrapping to new lines, but does not do a Masonry
// style grid.
@mixin row-cols($count) {
> * {
flex: 0 0 100% / $count;
max-width: 100% / $count;
}
}

View File

@@ -9,18 +9,18 @@
// //
// Issue: https://github.com/twbs/bootstrap/issues/25195 // Issue: https://github.com/twbs/bootstrap/issues/25195
@mixin hover { @mixin hover() {
&:hover { @content; } &:hover { @content; }
} }
@mixin hover-focus { @mixin hover-focus() {
&:hover, &:hover,
&:focus { &:focus {
@content; @content;
} }
} }
@mixin plain-hover-focus { @mixin plain-hover-focus() {
&, &,
&:hover, &:hover,
&:focus { &:focus {
@@ -28,7 +28,7 @@
} }
} }
@mixin hover-focus-active { @mixin hover-focus-active() {
&:hover, &:hover,
&:focus, &:focus,
&:active { &:active {

View File

@@ -7,7 +7,7 @@
// //
// Keep images from scaling beyond the width of their parents. // Keep images from scaling beyond the width of their parents.
@mixin img-fluid { @mixin img-fluid() {
// Part 1: Set a maximum relative to the parent // Part 1: Set a maximum relative to the parent
max-width: 100%; max-width: 100%;
// Part 2: Override the height to auto, otherwise images will be stretched // Part 2: Override the height to auto, otherwise images will be stretched
@@ -26,7 +26,7 @@
// Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio,
// but doesn't convert dppx=>dpi. // but doesn't convert dppx=>dpi.
// There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard.
// Compatibility info: https://caniuse.com/#feat=css-media-resolution // Compatibility info: https://caniuse.com/css-media-resolution
@media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx
only screen and (min-resolution: 2dppx) { // Standardized only screen and (min-resolution: 2dppx) { // Standardized
background-image: url($file-2x); background-image: url($file-2x);

View File

@@ -6,7 +6,7 @@
background-color: $background; background-color: $background;
&.list-group-item-action { &.list-group-item-action {
@include hover-focus { @include hover-focus() {
color: $color; color: $color;
background-color: darken($background, 5%); background-color: darken($background, 5%);
} }

View File

@@ -1,7 +1,7 @@
// Lists // Lists
// Unstyled keeps list items block level, just removes default browser padding and list-style // Unstyled keeps list items block level, just removes default browser padding and list-style
@mixin list-unstyled { @mixin list-unstyled() {
padding-left: 0; padding-left: 0;
list-style: none; list-style: none;
} }

View File

@@ -2,9 +2,10 @@
// //
// Dividers (basically an hr) within dropdowns and nav lists // Dividers (basically an hr) within dropdowns and nav lists
@mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) { @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y, $ignore-warning: false) {
height: 0; height: 0;
margin: $margin-y 0; margin: $margin-y 0;
overflow: hidden; overflow: hidden;
border-top: 1px solid $color; border-top: 1px solid $color;
@include deprecate("The `nav-divider()` mixin", "v4.4.0", "v5", $ignore-warning);
} }

View File

@@ -1,4 +1,4 @@
@mixin reset-text { @mixin reset-text() {
font-family: $font-family-base; font-family: $font-family-base;
// We deliberately do NOT reset font-size or word-wrap. // We deliberately do NOT reset font-size or word-wrap.
font-style: normal; font-style: normal;

View File

@@ -1,13 +1,14 @@
// Only display content to screen readers // Only display content to screen readers
// //
// See: https://a11yproject.com/posts/how-to-hide-content/ // See: https://www.a11yproject.com/posts/2013-01-11-how-to-hide-content/
// See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/
@mixin sr-only { @mixin sr-only() {
position: absolute; position: absolute;
width: 1px; width: 1px;
height: 1px; height: 1px;
padding: 0; padding: 0;
margin: -1px; // Fix for https://github.com/twbs/bootstrap/issues/25686
overflow: hidden; overflow: hidden;
clip: rect(0, 0, 0, 0); clip: rect(0, 0, 0, 0);
white-space: nowrap; white-space: nowrap;
@@ -20,7 +21,7 @@
// //
// Credit: HTML5 Boilerplate // Credit: HTML5 Boilerplate
@mixin sr-only-focusable { @mixin sr-only-focusable() {
&:active, &:active,
&:focus { &:focus {
position: static; position: static;

View File

@@ -26,7 +26,7 @@
$hover-background: darken($background, 5%); $hover-background: darken($background, 5%);
.table-#{$state} { .table-#{$state} {
@include hover { @include hover() {
background-color: $hover-background; background-color: $hover-background;
> td, > td,

View File

@@ -2,15 +2,16 @@
// Typography // Typography
@mixin text-emphasis-variant($parent, $color) { @mixin text-emphasis-variant($parent, $color, $ignore-warning: false) {
#{$parent} { #{$parent} {
color: $color !important; color: $color !important;
} }
@if $emphasized-link-hover-darken-percentage != 0 { @if $emphasized-link-hover-darken-percentage != 0 {
a#{$parent} { a#{$parent} {
@include hover-focus { @include hover-focus() {
color: darken($color, $emphasized-link-hover-darken-percentage) !important; color: darken($color, $emphasized-link-hover-darken-percentage) !important;
} }
} }
} }
@include deprecate("`text-emphasis-variant()`", "v4.4.0", "v5", $ignore-warning);
} }

View File

@@ -1,16 +1,26 @@
// stylelint-disable property-blacklist // stylelint-disable property-disallowed-list
@mixin transition($transition...) { @mixin transition($transition...) {
@if $enable-transitions {
@if length($transition) == 0 { @if length($transition) == 0 {
transition: $transition-base; $transition: $transition-base;
} @else { }
transition: $transition;
@if length($transition) > 1 {
@each $value in $transition {
@if $value == null or $value == none {
@warn "The keyword 'none' or 'null' must be used as a single argument.";
}
} }
} }
@if $enable-prefers-reduced-motion-media-query { @if $enable-transitions {
@if nth($transition, 1) != null {
transition: $transition;
}
@if $enable-prefers-reduced-motion-media-query and nth($transition, 1) != null and nth($transition, 1) != none {
@media (prefers-reduced-motion: reduce) { @media (prefers-reduced-motion: reduce) {
transition: none; transition: none;
} }
} }
}
} }

View File

@@ -1,12 +1,12 @@
// stylelint-disable declaration-no-important // stylelint-disable declaration-no-important
@each $color, $value in $theme-colors { @each $color, $value in $theme-colors {
@include bg-variant(".bg-#{$color}", $value); @include bg-variant(".bg-#{$color}", $value, true);
} }
@if $enable-gradients { @if $enable-gradients {
@each $color, $value in $theme-colors { @each $color, $value in $theme-colors {
@include bg-gradient-variant(".bg-gradient-#{$color}", $value); @include bg-gradient-variant(".bg-gradient-#{$color}", $value, true);
} }
} }

View File

@@ -1,4 +1,4 @@
// stylelint-disable property-blacklist, declaration-no-important // stylelint-disable property-disallowed-list, declaration-no-important
// //
// Border // Border

View File

@@ -0,0 +1,5 @@
// stylelint-disable declaration-no-important
@each $value in $user-selects {
.user-select-#{$value} { user-select: $value !important; }
}

View File

@@ -11,7 +11,7 @@
.text-justify { text-align: justify !important; } .text-justify { text-align: justify !important; }
.text-wrap { white-space: normal !important; } .text-wrap { white-space: normal !important; }
.text-nowrap { white-space: nowrap !important; } .text-nowrap { white-space: nowrap !important; }
.text-truncate { @include text-truncate; } .text-truncate { @include text-truncate(); }
// Responsive alignment // Responsive alignment
@@ -45,7 +45,7 @@
.text-white { color: $white !important; } .text-white { color: $white !important; }
@each $color, $value in $theme-colors { @each $color, $value in $theme-colors {
@include text-emphasis-variant(".text-#{$color}", $value); @include text-emphasis-variant(".text-#{$color}", $value, true);
} }
.text-body { color: $body-color !important; } .text-body { color: $body-color !important; }
@@ -63,8 +63,8 @@
.text-decoration-none { text-decoration: none !important; } .text-decoration-none { text-decoration: none !important; }
.text-break { .text-break {
word-break: break-word !important; // IE & < Edge 18 word-break: break-word !important; // Deprecated, but avoids issues with flex containers
overflow-wrap: break-word !important; word-wrap: break-word !important; // Used instead of `overflow-wrap` for IE & Edge Legacy
} }
// Reset // Reset

Some files were not shown because too many files have changed in this diff Show More