Add theme assets;

This commit is contained in:
2024-01-21 17:18:37 +01:00
parent fcc061aeba
commit aa45b6a645
1425 changed files with 430771 additions and 1 deletions

View File

@@ -0,0 +1,5 @@
@each $color, $value in $social-colors {
.bg-#{$color} {
background: social-color($color);
}
}

View File

@@ -0,0 +1,181 @@
// Demo Styles
.main-content {
color: $body-color;
font-size: 16px;
> .page-title {
margin-bottom: 1rem;
font-weight: 400;
}
> h4 {
margin-top: 1.5rem;
margin-bottom: .875rem;
&::before {
display: block;
height: 5.4rem;
margin-top: -6rem;
content: "";
}
}
> hr {
margin-top: 40px;
margin-bottom: 40px;
}
.example {
font-size: 0.875rem;
letter-spacing: normal;
padding: 10px;
background-color: $card-bg;
border: 4px solid $border-color;
position: relative;
@media(min-width: 576px) {
padding: 25px;
}
}
.highlight {
position: relative;
background-color: $card-bg;
padding: 15px;
pre {
padding: 15px;
font-size: .875rem;
font-family: $font-family-sans-serif;
background: transparent;
line-height: 1.4;
margin: 0;
code {
font-family: $font-family-sans-serif;
padding: 0;
tab-size: 8;
color: $body-color;
text-shadow: none;
.token {
&.url,
&.string,
&.entity,
&.operator {
background: none;
}
}
}
}
.btn-clipboard {
position: absolute;
top: 6px;
right: 6px;
font-size: 12px;
padding: 1px 6px;
background: rgba($primary, .2);
&:hover,
&:focus {
background: rgba($primary, .3);
border-color: transparent;
transition: background .3s ease-in-out;
}
}
}
}
.example {
.btn-toolbar {
+ .btn-toolbar {
margin-top: .5rem;
}
}
.btn-group {
@extend .mb-1;
@extend .mb-md-0;
}
.modal {
&.static {
position: static;
display: block;
}
}
.navbar {
position: relative;
padding: .5rem 1rem;
left: auto;
width: 100%;
height: auto;
z-index: 9;
border-bottom: 0;
box-shadow: none;
.navbar-brand {
font-size: 1.25rem;
}
}
.progress {
+ .progress {
margin-top: 10px;
}
}
.perfect-scrollbar-example {
position: relative;
max-height: 250px;
background: $card-bg;
}
.scrollspy-example {
position: relative;
height: 200px;
margin-top: .5rem;
overflow: auto;
}
.scrollspy-example-2 {
position: relative;
height: 350px;
overflow: auto;
}
nav {
.breadcrumb {
margin-bottom: .75rem;
}
&:last-child {
.breadcrumb {
margin-bottom: 0;
}
}
}
}
.page-breadcrumb {
margin-bottom: 15px;
.breadcrumb {
padding: 0;
background: $body-bg;
}
}
.noble-ui-logo {
font-weight: 700;
font-size: 25px;
color: darken($primary, 50%);
span {
color: $primary;
font-weight: 300;
}
&:hover {
color: darken($primary, 50%);
}
&.logo-light {
color: $body-color;
}
}
.buy-now-wrapper {
position: fixed;
bottom: 30px;
right: 35px;
z-index: 99999;
.rtl & {
right: auto;
left: 35px;
}
.btn {
svg {
width: 19px !important;
height: 19px !important;
}
}
}

View File

@@ -0,0 +1,4 @@
// Functions
@function social-color($key: "twitter") {
@return map-get($social-colors, $key);
}

View File

@@ -0,0 +1,169 @@
// Utilities
.grid-margin {
margin-bottom: 1.5rem;
}
.grid-margin-sm-0 {
@media (min-width: 576px) {
margin-bottom: 0;
}
}
.grid-margin-md-0 {
@media (min-width: 768px) {
margin-bottom: 0;
}
}
.grid-margin-lg-0 {
@media (min-width: 992px) {
margin-bottom: 0;
}
}
.grid-margin-xl-0 {
@media (min-width: 1200px) {
margin-bottom: 0;
}
}
.stretch-card {
display: flex;
align-items: stretch;
justify-content: stretch;
>.card{
width: 100%;
min-width: 100%;
}
}
.img-lg {
width: 92px;
height: 92px;
}
.img-md {
width: 75px;
height: 92px;
}
.img-sm {
width: 43px;
height: 43px;
}
.img-xs {
width: 36px;
height: 36px;
}
.img-ss {
width: 26px;
height: 26px;
}
.fw-boldest {
font-weight: 900;
}
.tx-10 { font-size: 10px; }
.tx-11 { font-size: 11px; }
.tx-12 { font-size: 12px; }
.tx-13 { font-size: 13px; }
.tx-14 { font-size: 14px; }
.tx-16 { font-size: 16px; }
.tx-80 { font-size: 80px; }
svg.icon-xs {
width: 12px;
height: 12px;
}
svg.icon-sm {
width: 14px;
height: 14px;
}
svg.icon-md {
width: 16px;
height: 16px;
}
svg.icon-lg {
width: 20px;
height: 20px;
}
svg.icon-xl {
width: 26px;
height: 26px;
}
svg.icon-xxl {
width: 40px;
height: 40px;
}
.icon-xs {
font-size: 14px;
}
.icon-sm {
font-size: 16px;
}
.icon-md {
font-size: 18px;
}
.icon-lg {
font-size: 20px;
}
.icon-xl {
font-size: 24px;
}
.icon-xxl {
font-size: 30px;
}
.cursor-pointer {
cursor: pointer;
}
.cursor-default {
cursor: default;
}
// Small paddings and margins
.pt-1px { padding-top: 1px }
.pt-2px { padding-top: 2px }
.pt-3px { padding-top: 3px }
.pb-1px { padding-bottom: 1px }
.pb-2px { padding-bottom: 2px }
.pb-3px { padding-bottom: 3px }
.mt-1px { margin-top: 1px }
.mt-2px { margin-top: 2px }
.mt-3px { margin-top: 3px }
.mb-1px { margin-bottom: 1px }
.mb-2px { margin-bottom: 2px }
.mb-3px { margin-bottom: 3px }
// Height
.ht-5 { height: 5px; }
.ht-10 { height: 10px; }
.ht-15 { height: 15px; }
.ht-20 { height: 20px; }
.ht-30 { height: 30px; }
.ht-40 { height: 40px; }
.ht-50 { height: 50px; }
.ht-60 { height: 60px; }
.ht-70 { height: 70px; }
.ht-80 { height: 80px; }
.ht-90 { height: 90px; }
.ht-100 { height: 100px; }

View File

@@ -0,0 +1,22 @@
// Miscellaneous
*:-moz-full-screen,
*:-webkit-full-screen,
*:fullscreen *:-ms-full-screen {
overflow: auto;
}
pre {
background-color: color(gray-lighter);
padding: 15px;
font-size: 14px;
}
code {
padding: 5px;
font-family: $font-family-sans-serif;
font-weight: 400;
font-size: $font-size-base;
border-radius: 4px;
}

View File

@@ -0,0 +1,56 @@
// Reste styles
body {
margin: 0;
padding: 0;
}
.btn,
.btn-group.open .dropdown-toggle,
.btn:active,
.btn:focus,
.btn:hover,
.btn:visited,
a,
a:active,
a:checked,
a:focus,
a:hover,
a:visited,
body,
button,
button:active,
button:hover,
button:visited,
div,
input,
input:active,
input:hover,
input:focus,
input:visited,
select,
select:active,
select:focus,
select:visited,
textarea,
textarea:active,
textarea:focus,
textarea:visited {
-webkit-box-shadow: none;
-moz-box-shadow: none;
box-shadow: none;
}
select,
.form-check-input {
-webkit-appearance: none;
-moz-appearance: none;
}
input:-webkit-autofill,
input:-webkit-autofill:hover,
input:-webkit-autofill:focus,
input:-webkit-autofill:active {
-webkit-box-shadow: 0 0 0 30px $input-bg inset;
-webkit-text-fill-color: $body-color;
}

View File

@@ -0,0 +1,13 @@
// Typography
body {
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}
// Social colors
@each $color, $value in $social-colors {
.text-#{$color} {
color: $value;
}
}

View File

@@ -0,0 +1,32 @@
// Custom utilities
$utilities: map-merge(
$utilities,
(
"border": map-merge(
map-get($utilities, "border"),
( responsive: true ),
),
"border-top": map-merge(
map-get($utilities, "border-top"),
( responsive: true ),
),
"border-end": map-merge(
map-get($utilities, "border-end"),
( responsive: true ),
),
"border-bottom": map-merge(
map-get($utilities, "border-bottom"),
( responsive: true ),
),
"border-start": map-merge(
map-get($utilities, "border-start"),
( responsive: true ),
),
"background-gray": (
property: background-color,
class: bg-gray,
values: $grays
),
)
);

View File

@@ -0,0 +1,8 @@
.auth-page {
.auth-side-wrapper {
width: 100%;
height: 100%;
background-image: url(https://via.placeholder.com/219x452);
background-size: cover;
}
}

View File

@@ -0,0 +1,7 @@
// Badges
a.badge { // for link badges
&:hover {
color: $white;
}
}

View File

@@ -0,0 +1,31 @@
// Bootstrap Alert
@each $state, $value in $theme-colors {
// Basic alerts
.alert-#{$state} {
background-color: rgba($value, .1);
color: darken($value, 5%);
border-color: rgba($value, .2);
.alert-link {
color: darken($value, 5%);
}
svg {
width: 19px;
height: 19px;
margin-right: .5rem;
}
i {
font-size: 19px;
margin-right: .5rem;
}
}
// Fill alerts
.alert-fill-#{$state} {
@include alert-variant($value, $value, $white);
&.alert-fill-light {
color: $text-muted;
}
}
}

View File

@@ -0,0 +1,29 @@
.breadcrumb {
&.breadcrumb-line {
.breadcrumb-item {
+ .breadcrumb-item {
&::before {
content: "-" !important;
}
}
}
}
&.breadcrumb-dot {
.breadcrumb-item {
+ .breadcrumb-item {
&::before {
content: "" !important;
}
}
}
}
&.breadcrumb-arrow {
.breadcrumb-item {
+ .breadcrumb-item {
&::before {
content: ">" !important;
}
}
}
}
}

View File

@@ -0,0 +1,101 @@
/* Buttons */
.btn {
i {
font-size: 1rem;
}
&.btn-rounded {
@include border-radius(50px);
}
&.btn-xs {
padding: $btn-padding-y-xs $btn-padding-x-xs;
font-size: $btn-font-size-xs;
}
// Buttons with only icons
&.btn-icon {
width: 38px;
height: 38px;
padding: 0;
display: inline-flex;
align-items: center;
justify-content: center;
svg {
height: 18px;
}
&.btn-xs {
width: 30px;
height: 30px;
svg {
height: 14px;
}
}
&.btn-sm {
width: 36px;
height: 36px;
svg {
height: 15px;
}
}
&.btn-lg {
width: 42px;
height: 42px;
svg {
height: 18px;
}
}
}
// Buttons with icon and text
&.btn-icon-text {
.btn-icon-prepend {
margin-right: .5rem;
}
.btn-icon-append {
margin-left: .5rem;
}
.btn-icon-prepend,
.btn-icon-append {
width: 18px;
height: 18px;
}
&.btn-xs {
.btn-icon-prepend,
.btn-icon-append {
width: 14px;
height: 14px;
}
}
&.btn-sm {
.btn-icon-prepend,
.btn-icon-append {
width: 15px;
height: 15px;
}
}
&.btn-lg {
.btn-icon-prepend,
.btn-icon-append {
width: 18px;
height: 18px;
}
}
}
}
// Social buttons
@each $color, $value in $social-colors {
.btn-#{$color} {
@include social-button(social-color($color));
}
.btn-outline-#{$color} {
@include social-outline-button(social-color($color));
}
}
// Inverse buttons
@each $color, $value in $theme-colors {
.btn-inverse-#{$color} {
@include button-inverse-variant($value);
}
}

View File

@@ -0,0 +1,25 @@
// Cards
.card {
box-shadow: $card-box-shadow;
-webkit-box-shadow: $card-box-shadow;
-moz-box-shadow: $card-box-shadow;
-ms-box-shadow: $card-box-shadow;
.card-body {
+ .card-body {
padding-top: 1rem;
}
}
.card-title {
text-transform: uppercase;
font-size: .875rem;
font-weight: 500;
}
}
.card-group {
box-shadow: $card-box-shadow;
.card {
box-shadow: none;
}
}

View File

@@ -0,0 +1,163 @@
.chat-wrapper {
height: calc(100vh - #{$navbar-height} - 102px);
@media(max-width: 991px) {
min-height: 100%;
}
@media(max-width: 991px) {
height: 100%;
}
.chat-aside {
@media(min-width: 992px) {
padding-right: 23px;
}
.aside-body {
.tab-content {
.tab-pane {
position: relative;
max-height: calc(100vh - 385px);
.chat-list {
.chat-item {
a {
> div {
padding-top: 11px;
padding-bottom: 11px;
}
}
}
}
}
}
}
}
.chat-content {
@media(max-width: 991px) {
position: absolute;
background: $card-bg;
left: 0;
bottom: -1px;
top: 0;
right: 0;
display: none;
&.show {
display: block;
}
}
.chat-header {
padding: 0 10px;
}
.chat-body {
position: relative;
max-height: calc(100vh - 340px);
@media(max-width: 767px) {
max-height: calc(100vh - 315px);
}
@media(max-width: 991px) {
max-height: calc(100vh - 342px);
}
margin-top: 20px;
margin-bottom: 20px;
.messages {
padding: 0 10px;
list-style-type: none;
.message-item {
display: flex;
max-width: 80%;
margin-bottom: 20px;
@media(max-width: 767px) {
max-width: 95%;
}
.content {
.bubble {
position: relative;
padding: 7px 15px;
margin-bottom: 4px;
width: -webkit-fit-content;
width: -moz-fit-content;
width: fit-content;
}
span {
font-size: 12px;
color: $text-muted;
}
}
&.friend {
img {
order: 1;
margin-right: 15px;
}
.content {
order: 2;
.bubble {
background: rgba($primary, .1);
border-radius: 0 5px 5px;
&::before {
content: '';
width: 0;
height: 0;
position: absolute;
left: -10px;
top: 0;
border-top: 5px solid rgba($primary, .1);
border-bottom: 5px solid transparent;
border-left: 5px solid transparent;
border-right:5px solid rgba($primary, .1);
}
}
}
}
&.me {
margin-left: auto;
img {
order: 2;
margin-left: 15px;
}
.content {
order: 1;
margin-left: auto;
.bubble {
background: rgba($info, .1);
border-radius: 5px 0 5px 5px;
margin-left: auto;
&::before {
content: '';
width: 0;
height: 0;
position: absolute;
right: -10px;
top: 0;
border-top: 5px solid rgba($info, .1);
border-bottom: 5px solid transparent;
border-left: 5px solid rgba($info, .1);
border-right:5px solid transparent;
}
}
span {
text-align: right;
display: block;
}
}
}
}
}
}
}
figure {
position: relative;
.status {
width: 11px;
height: 11px;
background: $secondary;
position: absolute;
bottom: 0px;
right: -2px;
border-radius: 50%;
border: 2px solid $card-bg;
&.online {
background: $success;
}
&.offline {
background: $secondary;
}
}
}
}

View File

@@ -0,0 +1,75 @@
// Dropdowns
.dropdown,
.btn-group {
.dropdown-toggle {
&:after {
border-top: 0;
border-right: 0;
border-left: 0;
border-bottom: 0;
font: normal normal normal 24px/1 "feather";
content: "\e842";
width: auto;
height: auto;
vertical-align: middle;
line-height: .625rem;
font-size: .875rem;
}
}
&.dropup {
.dropdown-toggle {
&::after {
content: "\e845";
}
}
}
&.dropstart {
.dropdown-toggle {
&::before {
border: 0;
font: normal normal normal 24px/1 "feather";
content: "\e843";
width: auto;
height: auto;
vertical-align: middle;
line-height: .625rem;
font-size: .875rem;
}
}
}
&.dropend {
.dropdown-toggle {
&::after {
content: "\e844";
}
}
}
}
.dropdown-menu {
padding: .35rem;
margin-top: 0;
box-shadow: $dropdown-box-shadow;
}
.dropdown-item {
font-size: .812rem;
padding: .25rem .875rem;
border-radius: 2px;
i, svg {
color: $text-muted;
}
&:not(&:active, &.active):hover {
background-color: rgba($primary, .1);
&, i, svg {
color: $primary;
}
}
&:active,
&.active {
i, svg {
color: $white;
}
}
}

View File

@@ -0,0 +1,33 @@
// Forms
.form-control-xs,
.form-select-xs {
padding: $input-padding-y-xs $input-padding-x-xs;
font-size: $input-font-size-xs;
}
.form-control-xs {
+ .input-group-text {
padding-top: $input-padding-y-xs;
padding-bottom: $input-padding-y-xs;
}
}
.form-check-input {
margin-top: .13em; // height adjustment
}
.input-group-text {
svg {
width: 18px;
height: 18px;
}
}
// For RTL
[type="tel"],
[type="url"],
[type="email"],
[type="number"] {
direction: ltr;
}

View File

@@ -0,0 +1,41 @@
// Icons
.icons-list {
border-left: 1px solid $border-color;
border-top: 1px solid $border-color;
> div {
border-bottom: 1px solid $border-color;
border-right: 1px solid $border-color;
background: $body-bg;
display: flex;
align-items: center;
padding:15px 20px;
font-weight: 400;
transition: all .3s ease-in-out;
i {
display: inline-block;
font-size: 20px;
text-align: left;
margin-right: 12px;
color: $secondary;
transition: all .3s ease-in-out;
}
svg {
width: 20px;
margin-right: 12px;
color: $secondary;
transition: all .3s ease-in-out;
}
&:hover {
cursor: text;
i,
svg {
transform: scale(1.3);
color: $primary;
}
}
}
}

View File

@@ -0,0 +1,58 @@
.nav {
&.nav-tabs {
.nav-item {
.nav-link {
border-color: $nav-tabs-link-border-color;
color: $body-color;
background-color: $nav-tabs-link-bg;
cursor: pointer;
&.active {
border-color: $nav-tabs-link-active-border-color;
color: $primary;
background: $nav-tabs-link-active-bg;
}
&.disabled {
background-color: transparent;
color: $text-muted;
border-color: rgba($border-color, .7) rgba($border-color, .7) transparent;
}
}
}
&.nav-tabs-vertical {
border-bottom: 0;
.nav-link {
width: 100%;
border: 1px solid transparent;
border-radius: 0;
border-color: $nav-tabs-link-border-color;
color: $body-color;
background-color: $nav-tabs-link-bg;
&:first-child {
border-radius: $border-radius 0 0 0;
}
&:last-child {
border-radius: 0 0 0 $border-radius;
}
&.active {
background-color: $nav-tabs-link-active-bg;
color: $primary;
border-right-color: transparent;
}
}
}
&.nav-tabs-line {
.nav-link {
border: 0;
background-color: transparent;
&.active {
border-bottom: 2px solid $primary;
}
}
}
}
}
.tab-content {
&.tab-content-vertical {
height: 100%;
}
}

View File

@@ -0,0 +1,31 @@
.pagination {
.page-item {
.page-link {
svg {
width: 18px;
height: 18px;
}
}
}
&.pagination-separated {
.page-item {
margin-left: 2px;
margin-right: 2px;
&:first-child {
margin-left: 0;
}
&:last-child {
margin-right: 0;
}
}
}
&.pagination-rounded {
.page-item {
margin-right: 2px;
margin-left: 2px;
.page-link {
@include border-radius(50px);
}
}
}
}

View File

@@ -0,0 +1,35 @@
// Tables
.table {
margin-bottom: 0;
>:not(:last-child)>:last-child>* {
border-bottom-color: inherit;
}
thead {
th {
border-top: 0;
font-weight: 500;
font-size: 12px;
text-transform: uppercase;
color: $text-muted;
i {
margin-left: 0.325rem;
}
}
}
th,
td {
white-space: nowrap;
}
td {
img {
width: 36px;
height: 36px;
border-radius: 100%;
}
}
}

View File

@@ -0,0 +1,72 @@
.timeline {
border-left: 3px solid $primary;
border-bottom-right-radius: $border-radius;
border-top-right-radius: $border-radius;
background: rgba($primary, .2);
margin: 0 auto;
position: relative;
padding: 50px;
list-style: none;
max-width: 40%;
@media(max-width: 767px) {
max-width: 98%;
padding: 25px;
}
.event {
border-bottom: 1px dashed $border-color;
padding-bottom: (50px * 0.5);
margin-bottom: 25px;
position: relative;
@media(max-width: 767px) {
padding-top: 30px;
}
.title {
font-weight: 500;
font-size: 1rem;
margin-bottom: 10px;
}
&:last-of-type {
padding-bottom: 0;
margin-bottom: 0;
border: none;
}
&:before, &:after {
position: absolute;
display: block;
top: 0;
}
&:before {
left: (((120px * 0.6) + 50px + 4px + 4px + (4px * 2)) * 1.5) * -1;
content: attr(data-date);
text-align: right;
font-weight: 500;
font-size: 0.9em;
min-width: 120px;
@media(max-width: 767px) {
left: 0px;
text-align: left;
}
}
&:after {
-webkit-box-shadow: 0 0 0 3px $primary;
box-shadow: 0 0 0 3px $primary;
left: (50px + 3px + (8px * 0.35)) * -1;
background: $card-bg;
border-radius: 50%;
height: 9px;
width: 9px;
content: "";
top: 5px;
@media(max-width: 767px) {
left: (25px + 4px + (8px * 0.35)) * -1;
}
}
}
}

View File

@@ -0,0 +1,118 @@
.email-aside-nav {
&.collapse {
display: block;
@media(max-width: 991px) {
display: none;
}
&.show {
@media(max-width: 991px) {
display: block;
}
}
}
.nav-item {
border-radius: .2rem;
.nav-link {
color: $body-color;
svg {
color: $text-muted;
}
}
&.active, &:hover {
background: rgba($primary, .1);
.nav-link {
&, svg {
color: $primary;
}
}
}
}
}
.email-list-item {
display: flex;
align-items: center;
border-bottom: 1px solid $border-color;
padding: 10px 20px;
cursor: pointer;
&:hover {
background: rgba($primary, .08);
}
&:last-child {
margin-bottom: 5px;
}
.email-list-actions {
width: 40px;
vertical-align: top;
display: table-cell;
.form-check {
margin-bottom: 0;
}
.favorite {
display: block;
padding-left: 1px;
line-height: 15px;
span {
svg {
width: 14px;
color: $text-muted;
}
}
&:hover span {
color: #8d8d8d;
}
&.active {
span {
svg {
color: $warning;
}
}
}
}
}
.email-list-detail {
width: calc(100% - 40px);
display: flex;
justify-content: space-between;
align-items: center;
flex-grow: 1;
.content {
overflow: hidden;
.from {
display: block;
margin: 0 0 1px 0;
color: $body-color;
}
.msg {
width: 97%;
color: $secondary;
font-size: .8rem;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
}
.date {
color: $body-color;
white-space: nowrap;
.icon {
svg {
width: 14px;
margin-right: 7px;
color: #3d405c;
}
}
}
}
&.email-list-item--unread {
background-color: rgba($primary, .09);
.content {
.from {
font-weight: 500;
}
.msg {
font-weight: 700;
}
}
}
}

View File

@@ -0,0 +1,107 @@
// Animation mixins
@keyframes dropdownAnimation {
from {
opacity: 0;
transform: translate3d(0, 20px, 0);
}
to {
opacity: 1;
transform: none;
transform: translate3d(0, 0px , 0);
}
}
.dropdownAnimation {
-webkit-animation-name: dropdownAnimation;
animation-name: dropdownAnimation;
-webkit-animation-duration: $action-transition-duration;
animation-duration: $action-transition-duration;
-webkit-animation-fill-mode: both;
animation-fill-mode: both;
}
@keyframes fadeOut {
from {
opacity: 1;
}
to {
opacity: 0;
}
}
.fadeOut {
animation-name: fadeOUt;
}
@keyframes fadeInUp {
from {
opacity: 0;
transform: translate3d(0, 100%, 0);
}
to {
opacity: 1;
transform: none;
}
}
.fadeInUp {
animation-name: fadeInUp;
}
.infinite-spin {
@keyframes spin {
from {
transform: rotate(0deg);
}
to {
transform: rotate(360deg);
}
}
animation-name: spin;
animation-duration: 3s;
animation-iteration-count: infinite;
animation-timing-function: linear;
}
@mixin transition($settings) {
-webkit-transition: $settings;
-moz-transition: $settings;
-ms-transition: $settings;
-o-transition: $settings;
transition: $settings;
}
.pulse {
$dim : 7px;
$mult : 4;
@keyframes pulse{
0% {
opacity: 1;
width: $dim;
height: $dim;
left: 0;
top: 0;
}
95% {
opacity: 0.1;
left: -(($dim * $mult) - $dim) * .5;
top: -(($dim * $mult) - $dim) * .5;
width: $dim * $mult;
height: $dim * $mult;
}
100% {
opacity: 0;
width: $dim;
height: $dim;
left: 0;
top: 0;
}
}
animation-name: pulse;
animation-duration: .9s;
animation-iteration-count: infinite;
animation-timing-function: ease-out;
}

View File

@@ -0,0 +1,58 @@
@mixin social-button($color) {
background: $color;
color: $white;
&:hover,
&:focus {
background: darken($color, 10%);
color: $white;
}
&.btn-social-icon-text {
padding: 0 1.5rem 0 0;
background: lighten($color, 10%);
i {
background: $color;
padding: .75rem;
display: inline-block;
margin-right: 1.5rem;
}
}
}
@mixin social-outline-button($color) {
border: 1px solid $color;
color: $color;
&:hover {
background: $color;
color: $white;
}
}
@mixin button-inverse-variant($color, $color-hover: $white) {
background-color: rgba($color, 0.2);
background-image: none;
border-color: rgba($color, 0);
&:not(.btn-inverse-light) {
color: $color;
}
&:hover,
&.active,
&:active,
.show > &.dropdown-toggle {
background-color: rgba($color, 0.3);
border-color: rgba($color, 0);
}
&.focus,
&:focus {
// box-shadow: 0 0 0 3px rgba($color, .5);
background-color: rgba($color, 0.3);
border-color: transparent;
}
&.disabled,
&:disabled {
color: $color;
background-color: transparent;
}
}

View File

@@ -0,0 +1,72 @@
// Miscellaneous Mixins
// general transform
@mixin transform($transforms) {
-moz-transform: $transforms;
-o-transform: $transforms;
-ms-transform: $transforms;
-webkit-transform: $transforms;
transform: $transforms;
}
// rotate
@mixin rotate ($deg) {
@include transform(rotate(#{$deg}deg));
}
// scale
@mixin scale($scale) {
@include transform(scale($scale));
}
// translate
@mixin translate ($x, $y) {
@include transform(translate($x, $y));
}
// skew
@mixin skew ($x, $y) {
@include transform(skew(#{$x}deg, #{$y}deg));
}
//transform origin
@mixin transform-origin ($origin) {
moz-transform-origin: $origin;
-o-transform-origin: $origin;
-ms-transform-origin: $origin;
-webkit-transform-origin: $origin;
transform-origin: $origin;
}
//Ellipsis
%ellipsor{
text-overflow: ellipsis;
overflow: hidden;
max-width:100%;
white-space: nowrap;
}
// Placeholder
@mixin placeholder {
&::-webkit-input-placeholder {
@content
}
&:-moz-placeholder {
@content
}
&::-moz-placeholder {
@content
}
&:-ms-input-placeholder {
@content
}
}
%ellipsor {
text-overflow: ellipsis;
overflow: hidden;
max-width: 100%;
white-space: nowrap;
}
@mixin ellipsor {
text-overflow: ellipsis;
overflow: hidden;
max-width: 100%;
white-space: nowrap;
}

View File

@@ -0,0 +1,91 @@
//width mixin
@mixin make-width($num, $viewport: "") {
$p: $num + "%";
@if $viewport == "" {
$viewport: "-";
} @else {
$viewport: "-" + $viewport + "-";
}
.wd#{$viewport}#{$num} { width: #{$num}px; }
.wd#{$viewport}#{$num}p { width: #{$p}; }
.mx-wd#{$viewport}#{$num}p { max-width: #{$p}; }
.mn-wd#{$viewport}#{$num}p { min-width: #{$p}; }
.wd#{$viewport}#{$num}-f { width: #{$num}px !important; }
.wd#{$viewport}#{$num}p-f { width: #{$p} !important; }
.mx-wd#{$viewport}#{$num}p-f { max-width: #{$p} !important; }
.mn-wd#{$viewport}#{$num}p-f { min-width: #{$p} !important; }
}
$num: 5;
@while $num <= 100 {
@include make-width($num);
$num: $num + 5;
}
$num: 150;
@while $num <= 1000 {
.wd-#{$num} { width: #{$num}px; }
.wd-#{$num}-f { width: #{$num}px !important; }
$num: $num + 50;
}
@mixin do-make-width($viewport, $num, $max, $plus) {
@while $num <= $max {
@include make-width($num,$viewport);
$num: $num + $plus;
}
}
@media (min-width: 480px) {
@include do-make-width("xs",5,100,5);
@include do-make-width("xs",150,1000,50);
.wd-xs-auto { width: auto; }
.wd-xs-auto-f { width: auto !important; }
}
@include media-breakpoint-up(sm) {
@include do-make-width("sm",5,100,5);
@include do-make-width("sm",150,1000,50);
.wd-sm-auto { width: auto; }
.wd-sm-auto-f { width: auto !important; }
}
@include media-breakpoint-up(md) {
@include do-make-width("md",5,100,5);
@include do-make-width("md",150,1000,50);
.wd-md-auto { width: auto; }
.wd-md-auto-f { width: auto !important; }
//Custom
.wd-md-120 { width: 120px; }
}
@include media-breakpoint-up(lg) {
@include do-make-width("lg",5,100,5);
@include do-make-width("lg",150,1000,50);
.wd-lg-auto { width: auto; }
.wd-lg-auto-f { width: auto !important; }
}
@include media-breakpoint-up(xl) {
@include do-make-width("xl",5,100,5);
@include do-make-width("xl",150,1000,50);
.wd-xl-auto { width: auto; }
.wd-xl-auto { width: auto !important; }
}
@include media-breakpoint-up(xxl) {
@include do-make-width("xxl",5,100,5);
@include do-make-width("xxl",150,1000,50);
.wd-xxl-auto { width: auto; }
.wd-xxl-auto { width: auto !important; }
}