mirror of
https://github.com/fergalmoran/bitchmin.git
synced 2025-12-22 09:27:53 +00:00
Merge branch '@release/0.1.1' into trunk
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
{
|
||||
"name": "bitchmin",
|
||||
"version": "0.1.0",
|
||||
"version": "0.1.1",
|
||||
"private": true,
|
||||
"scripts": {
|
||||
"serve": "vue-cli-service serve",
|
||||
@@ -11,19 +11,22 @@
|
||||
"@mdi/font": "^5.5.55",
|
||||
"@types/jquery": "^3.5.1",
|
||||
"@types/jwt-decode": "^2.2.1",
|
||||
"@types/vue-select": "^2.5.0",
|
||||
"@types/lodash": "^4.14.161",
|
||||
"axios": "^0.20.0",
|
||||
"axios-auth-refresh": "^3.0.0",
|
||||
"bootstrap": "^4.5.2",
|
||||
"compass-mixins": "^0.12.10",
|
||||
"core-js": "^3.6.5",
|
||||
"dayjs": "^1.8.35",
|
||||
"decko": "^1.2.0",
|
||||
"ee-first": "^1.1.1",
|
||||
"eslint-config-prettier": "^6.11.0",
|
||||
"eslint-plugin-prettier": "^3.1.4",
|
||||
"fibers": "^5.0.0",
|
||||
"fs": "^0.0.1-security",
|
||||
"jquery": "^3.5.1",
|
||||
"jwt-decode": "^2.2.0",
|
||||
"lodash": "^4.17.20",
|
||||
"popper.js": "^1.16.1",
|
||||
"prettier": "^2.1.1",
|
||||
"qs": "^6.9.4",
|
||||
@@ -32,8 +35,8 @@
|
||||
"vue-color": "^2.7.1",
|
||||
"vue-property-decorator": "^8.4.2",
|
||||
"vue-router": "^3.2.0",
|
||||
"vue-select": "^3.10.8",
|
||||
"vue-toasted": "^1.1.28",
|
||||
"vuetify": "^2.2.11",
|
||||
"vuex": "^3.5.1"
|
||||
},
|
||||
"devDependencies": {
|
||||
@@ -48,11 +51,14 @@
|
||||
"eslint": "^7.7.0",
|
||||
"eslint-plugin-vue": "^6.2.2",
|
||||
"node-sass": "^4.14.1",
|
||||
"sass": "^1.19.0",
|
||||
"sass-loader": "^10.0.1",
|
||||
"style-resources-loader": "^1.3.2",
|
||||
"typescript": "~3.9.3",
|
||||
"vue-cli-plugin-style-resources-loader": "~0.1.4",
|
||||
"vue-template-compiler": "^2.6.11"
|
||||
"vue-cli-plugin-vuetify": "~2.0.7",
|
||||
"vue-template-compiler": "^2.6.11",
|
||||
"vuetify-loader": "^1.3.0"
|
||||
},
|
||||
"eslintConfig": {
|
||||
"root": true,
|
||||
|
||||
@@ -11,6 +11,8 @@
|
||||
href="<%= BASE_URL %>favicon.ico">
|
||||
<title>Bitch::Min</title>
|
||||
|
||||
<link rel="stylesheet" href="https://fonts.googleapis.com/css?family=Roboto:100,300,400,500,700,900">
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@mdi/font@latest/css/materialdesignicons.min.css">
|
||||
</head>
|
||||
|
||||
<body>
|
||||
|
||||
@@ -1,35 +1,21 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="container-scroller" v-if="isAuthenticated">
|
||||
<v-app id="bitchmin">
|
||||
<TopBarNav />
|
||||
<div class="container-fluid page-body-wrapper">
|
||||
<SideBarNav />
|
||||
<div class="main-panel">
|
||||
<div class="content-wrapper">
|
||||
<router-view />
|
||||
</div>
|
||||
<Footer />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div v-if="!isAuthenticated">
|
||||
<router-view />
|
||||
</div>
|
||||
</div>
|
||||
<v-main>
|
||||
<v-container fluid>
|
||||
<router-view></router-view>
|
||||
</v-container>
|
||||
</v-main>
|
||||
</v-app>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
import { Component, Prop, Vue } from 'vue-property-decorator';
|
||||
import TopBarNav from '@/components/TopBarNav.vue'; // @ is an alias to /src
|
||||
import SideBarNav from '@/components/SideBarNav.vue'; // @ is an alias to /src
|
||||
import Footer from '@/components/Footer.vue'; // @ is an alias to /src
|
||||
import vSelect from 'vue-select';
|
||||
|
||||
import store from '@/store';
|
||||
|
||||
Vue.component('v-select', vSelect);
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
TopBarNav,
|
||||
@@ -47,7 +33,8 @@ export default class App extends Vue {
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<style lang="scss">
|
||||
@import '@/assets/styles/_mixins.scss';
|
||||
<style>
|
||||
#keep .v-navigation-drawer__border {
|
||||
display: none;
|
||||
}
|
||||
</style>
|
||||
|
||||
@@ -2,7 +2,6 @@ import { Api } from '@/api/apiBase';
|
||||
import { AxiosRequestConfig, AxiosResponse } from 'axios';
|
||||
import { apiConfig } from '@/api/config';
|
||||
import { ApiResult, DataApiResult } from '@/api/apiResult';
|
||||
import { DnsUpdate } from '@/models/interfaces';
|
||||
import { DnsRecord } from '@/models/interfaces/dnsRecord';
|
||||
|
||||
export class DnsApi extends Api {
|
||||
|
||||
1
client/src/assets/logo.svg
Normal file
1
client/src/assets/logo.svg
Normal file
@@ -0,0 +1 @@
|
||||
<svg id="Layer_1" data-name="Layer 1" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 87.5 100"><defs><style>.cls-1{fill:#1697f6;}.cls-2{fill:#7bc6ff;}.cls-3{fill:#1867c0;}.cls-4{fill:#aeddff;}</style></defs><title>Artboard 46</title><polyline class="cls-1" points="43.75 0 23.31 0 43.75 48.32"/><polygon class="cls-2" points="43.75 62.5 43.75 100 0 14.58 22.92 14.58 43.75 62.5"/><polyline class="cls-3" points="43.75 0 64.19 0 43.75 48.32"/><polygon class="cls-4" points="64.58 14.58 87.5 14.58 43.75 100 43.75 62.5 64.58 14.58"/></svg>
|
||||
|
After Width: | Height: | Size: 539 B |
@@ -1,9 +0,0 @@
|
||||
@import '~bootstrap/scss/bootstrap';
|
||||
// @import '~@mdi/font/scss/variables';
|
||||
// @import '~@mdi/font/scss/icons';
|
||||
|
||||
@import 'assets/styles/vendor/mdi/css/materialdesignicons.min.css';
|
||||
@import 'theme/style';
|
||||
@import 'custom/alerts';
|
||||
|
||||
@import '~vue-select/src/scss/vue-select';
|
||||
@@ -1,29 +0,0 @@
|
||||
.alert {
|
||||
font-size: $default-font-size;
|
||||
i {
|
||||
font-size: 1.25rem;
|
||||
margin-right: 1.25rem;
|
||||
vertical-align: middle;
|
||||
line-height: 0.5;
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in $theme-colors {
|
||||
.alert-#{$color} {
|
||||
@include alert-variant(
|
||||
rgba(theme-color($color), 0.2),
|
||||
theme-color-level($color, 1),
|
||||
theme-color-level($color, 3)
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in $theme-colors {
|
||||
.alert-fill-#{$color} {
|
||||
@include alert-variant(
|
||||
theme-color($color),
|
||||
theme-color($color),
|
||||
color(white)
|
||||
);
|
||||
}
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,272 +0,0 @@
|
||||
/* Dashboard */
|
||||
|
||||
.card-statistics {
|
||||
.highlight-icon {
|
||||
height: 53px;
|
||||
width: 53px;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
justify-content: center;
|
||||
border-radius: 50px;
|
||||
|
||||
i {
|
||||
font-size: 27px;
|
||||
}
|
||||
}
|
||||
|
||||
.card-col {
|
||||
border-right: 1px solid $border-color;
|
||||
|
||||
&:last-child {
|
||||
border-right: none;
|
||||
}
|
||||
|
||||
@include media-breakpoint-down(sm) {
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
position: relative;
|
||||
border: none;
|
||||
|
||||
&:first-child,
|
||||
&:nth-child(2),
|
||||
&:nth-child(3) {
|
||||
|
||||
&:after,
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
background: $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
&:before {
|
||||
bottom: 0;
|
||||
width: 94.2%;
|
||||
height: 1px;
|
||||
right: 0;
|
||||
}
|
||||
|
||||
&:after {
|
||||
bottom: 0;
|
||||
width: 1px;
|
||||
height: 100%;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
&:before {
|
||||
bottom: 0;
|
||||
width: 94.2%;
|
||||
height: 1px;
|
||||
left: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
&:before {
|
||||
width: 1px;
|
||||
height: 100%;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-revenue-table {
|
||||
.revenue-item {
|
||||
border-bottom: 1px solid $border-color;
|
||||
@extend .py-3;
|
||||
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
@extend .pb-0;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
@extend .pt-0;
|
||||
}
|
||||
|
||||
.revenue-desc {
|
||||
margin-right: auto;
|
||||
width: 80%;
|
||||
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.revenue-amount {
|
||||
margin-left: auto;
|
||||
width: 40%;
|
||||
|
||||
p {
|
||||
font-size: 1.25rem;
|
||||
font-family: $type-1;
|
||||
font-weight: 600;
|
||||
text-align: right;
|
||||
|
||||
.rtl & {
|
||||
text-align: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.card-revenue {
|
||||
background: linear-gradient(120deg, #556cdc, #128bfc, #18bef1);
|
||||
background-size: cover;
|
||||
color: color(white);
|
||||
|
||||
.highlight-text {
|
||||
font-size: 1.875rem;
|
||||
font-family: $type-1;
|
||||
font-weight: 500;
|
||||
}
|
||||
|
||||
.badge {
|
||||
background-color: rgba(color(white), .2);
|
||||
font-size: 1.125rem;
|
||||
padding: 0.5rem 1.25rem;
|
||||
}
|
||||
}
|
||||
|
||||
.product-chart-wrapper {
|
||||
height: 92%;
|
||||
}
|
||||
|
||||
#dashboardTrendingProgress {
|
||||
width: 60px;
|
||||
}
|
||||
|
||||
.dashboard-bar-chart-legend {
|
||||
.col {
|
||||
text-align: center;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
flex-direction: column;
|
||||
|
||||
.bg {
|
||||
margin-left: auto;
|
||||
margin-right: auto;
|
||||
height: 5px;
|
||||
width: 30px;
|
||||
display: block;
|
||||
margin-top: 5px;
|
||||
}
|
||||
|
||||
&:nth-child(1) {
|
||||
.bg {
|
||||
background: theme-color(info);
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(2) {
|
||||
.bg {
|
||||
background: theme-color(primary);
|
||||
}
|
||||
}
|
||||
|
||||
&:nth-child(3) {
|
||||
.bg {
|
||||
background: theme-color(danger);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.intro-banner {
|
||||
background: #dbe4ec;
|
||||
display: flex;
|
||||
align-items: center;
|
||||
padding: 20px;
|
||||
border-radius: 2px;
|
||||
|
||||
.banner-image {
|
||||
width: 24%;
|
||||
max-width: 100%;
|
||||
|
||||
img {
|
||||
display: block;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
|
||||
.content-area {
|
||||
width: 58%;
|
||||
color: $black;
|
||||
display: flex;
|
||||
flex-direction: column;
|
||||
align-items: end;
|
||||
}
|
||||
}
|
||||
|
||||
.sales-mini-tabs {
|
||||
border-bottom: none;
|
||||
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
border: none;
|
||||
font-weight: 500;
|
||||
padding: 5px 15px;
|
||||
border-radius: 2px;
|
||||
transition-duration: 0.7s;
|
||||
transition-property: "color";
|
||||
|
||||
&.active {
|
||||
font-weight: 600;
|
||||
background: lighten($card-bg-varient, 4%);
|
||||
color: theme-color(primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.purchase-popup {
|
||||
@extend .grid-margin;
|
||||
background: #fff;
|
||||
padding: 15px 20px;
|
||||
@include border-radius(3px);
|
||||
|
||||
.btn {
|
||||
margin-right: 20px;
|
||||
font-weight: 500;
|
||||
color: $white;
|
||||
@include border-radius(5px);
|
||||
@include transition-duration(0.2s);
|
||||
|
||||
&.download-button {
|
||||
background: rgba(249, 249, 249, 0.7);
|
||||
color: #969292;
|
||||
border: 1px solid darken(#e4e4e4,5%);
|
||||
}
|
||||
|
||||
&.purchase-button {
|
||||
background-color: rgba(172, 50 ,228, 0.9);
|
||||
@include background-image(theme-gradient-color(primary));
|
||||
color: $white;
|
||||
border: none;
|
||||
line-height: 1;
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
p {
|
||||
margin-bottom: auto;
|
||||
margin-top: auto;
|
||||
color: darken(#e4e4e4,40%);
|
||||
font-weight: 400;
|
||||
vertical-align: middle;
|
||||
line-height: 1;
|
||||
}
|
||||
|
||||
i {
|
||||
vertical-align: middle;
|
||||
line-height: 1;
|
||||
margin: auto 0;
|
||||
color: darken(#e4e4e4,20%);
|
||||
}
|
||||
}
|
||||
@@ -1,163 +0,0 @@
|
||||
/* Demo Styles */
|
||||
// Add spacing to Boostrap components for demo purpose
|
||||
.template-demo {
|
||||
> .btn {
|
||||
@extend .mt-3;
|
||||
@extend .mr-3;
|
||||
}
|
||||
|
||||
.slider-wrap {
|
||||
height: 100px;
|
||||
}
|
||||
|
||||
> .btn-toolbar {
|
||||
@extend .mt-3;
|
||||
@extend .mr-3;
|
||||
}
|
||||
|
||||
> .btn-group,
|
||||
> .btn-group-vertical {
|
||||
@extend .mt-2;
|
||||
@extend .mr-2;
|
||||
}
|
||||
|
||||
.progress {
|
||||
margin-top: 1.5rem;
|
||||
}
|
||||
|
||||
.circle-progress {
|
||||
@extend .mt-2;
|
||||
}
|
||||
|
||||
> h2,
|
||||
> h3,
|
||||
> h4,
|
||||
> h5,
|
||||
> h6,
|
||||
> h1 {
|
||||
border-top: 1px solid $border-color;
|
||||
padding: 0.5rem 0 0;
|
||||
}
|
||||
|
||||
.ul-slider {
|
||||
&.noUi-horizontal {
|
||||
margin-top: 2rem;
|
||||
}
|
||||
|
||||
&.noUi-vertical {
|
||||
margin-right: 2rem;
|
||||
}
|
||||
}
|
||||
|
||||
> .dropdown {
|
||||
display: inline-block;
|
||||
@extend .mr-2;
|
||||
margin-bottom: 0.5rem;
|
||||
}
|
||||
|
||||
nav {
|
||||
.breadcrumb {
|
||||
margin-bottom: 1.375rem;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
.breadcrumb {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.editable-form {
|
||||
> .form-group {
|
||||
border-bottom: 1px solid $border-color;
|
||||
padding-bottom: 0.8rem;
|
||||
margin-bottom: 0.8rem;
|
||||
}
|
||||
}
|
||||
|
||||
.circle-progress {
|
||||
padding: 15px;
|
||||
}
|
||||
|
||||
.circle-progress-block {
|
||||
@extend .mb-3;
|
||||
@extend .px-2;
|
||||
}
|
||||
}
|
||||
|
||||
.demo-modal {
|
||||
position: static;
|
||||
display: block;
|
||||
|
||||
.modal-dialog {
|
||||
@extend .mt-0;
|
||||
|
||||
&.modal-lg {
|
||||
max-width: 100%;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.loader-demo-box {
|
||||
@extend .border;
|
||||
@extend .border-secondary;
|
||||
@extend .rounded;
|
||||
width: 100%;
|
||||
height: 200px;
|
||||
@extend .d-flex;
|
||||
@extend .align-items-center;
|
||||
}
|
||||
|
||||
.dropdown-menu-static-demo {
|
||||
height: 250px;
|
||||
margin-bottom: 20px;
|
||||
}
|
||||
|
||||
.rounded-legend {
|
||||
ul {
|
||||
li {
|
||||
list-style-type: none;
|
||||
color: $text-muted;
|
||||
font-size: .75rem;
|
||||
.legend-dots {
|
||||
width: 1rem;
|
||||
height: 1rem;
|
||||
border-radius: 100%;
|
||||
display: inline-block;
|
||||
vertical-align: text-bottom;
|
||||
margin-right: .5rem;
|
||||
.rtl & {
|
||||
margin-left: .5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.legend-horizontal {
|
||||
@include display-flex;
|
||||
ul {
|
||||
li {
|
||||
display: inline-block;
|
||||
margin-right: 1.5rem;
|
||||
.rtl & {
|
||||
margin-right: auto;
|
||||
margin-left: 1.5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.legend-top-right {
|
||||
ul {
|
||||
float: right;
|
||||
.rtl & {
|
||||
float: left;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.legend-vertical {
|
||||
ul {
|
||||
li {
|
||||
margin-top: 1rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
/* Footer */
|
||||
|
||||
.footer {
|
||||
background: $footer-bg;
|
||||
color: $footer-color;
|
||||
border-top: 1px solid darken($footer-bg, 5%);
|
||||
padding: 30px 1rem;
|
||||
transition: all $action-transition-duration $action-transition-timing-function;
|
||||
-moz-transition: all $action-transition-duration $action-transition-timing-function;
|
||||
-webkit-transition: all $action-transition-duration $action-transition-timing-function;
|
||||
-ms-transition: all $action-transition-duration $action-transition-timing-function;
|
||||
font-size: calc(#{$default-font-size} - 0.05rem);
|
||||
font-family: $type1-regular;
|
||||
a {
|
||||
color: theme-color(success);
|
||||
font-size: inherit;
|
||||
}
|
||||
@media (max-width: 991px) {
|
||||
margin-left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
// Functions
|
||||
@function social-color($key: "twitter") {
|
||||
@return map-get($social-colors, $key);
|
||||
}
|
||||
|
||||
@function theme-gradient-color($key: "primary") {
|
||||
@return map-get($theme-gradient-colors, $key);
|
||||
}
|
||||
// Social Color
|
||||
@each $color, $value in $social-colors {
|
||||
.text-#{$color} {
|
||||
@include text-color(social-color($color));
|
||||
}
|
||||
}
|
||||
@each $color, $value in $social-colors {
|
||||
.bg-#{$color} {
|
||||
background: social-color($color);
|
||||
}
|
||||
}
|
||||
@@ -1,185 +0,0 @@
|
||||
/* Layouts */
|
||||
|
||||
.navbar {
|
||||
&.fixed-top {
|
||||
+ .page-body-wrapper {
|
||||
padding-top: $navbar-height;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
// Sidebar Icon Only
|
||||
.sidebar-icon-only {
|
||||
@media (min-width: 992px) {
|
||||
.navbar {
|
||||
.navbar-brand-wrapper {
|
||||
width: $sidebar-width-icon;
|
||||
.brand-logo {
|
||||
display: none;
|
||||
}
|
||||
.brand-logo-mini {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
.navbar-menu-wrapper {
|
||||
width: calc(100% - #{$sidebar-width-icon});
|
||||
}
|
||||
}
|
||||
.sidebar {
|
||||
width: $sidebar-width-icon;
|
||||
.nav {
|
||||
overflow: visible;
|
||||
.nav-item {
|
||||
position: relative;
|
||||
padding: 0;
|
||||
.nav-link {
|
||||
display: block;
|
||||
text-align: center;
|
||||
.menu-title,
|
||||
.badge,.menu-sub-title {
|
||||
display: none;
|
||||
}
|
||||
.menu-title {
|
||||
@include border-radius(0 5px 5px 0px);
|
||||
@at-root #{selector-append(".rtl", &)} {
|
||||
@include border-radius(5px 0 0 5px);
|
||||
}
|
||||
}
|
||||
i {
|
||||
&.menu-icon {
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
&.menu-arrow {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
&[aria-expanded] {
|
||||
.menu-title{
|
||||
@include border-radius(0 5px 0 0px);
|
||||
@at-root #{selector-append(".rtl", &)} {
|
||||
@include border-radius(5px 0 0 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.nav-profile {
|
||||
display: none;
|
||||
}
|
||||
&.nav-category {
|
||||
display: none;
|
||||
}
|
||||
&.nav-doc {
|
||||
margin: 0;
|
||||
i {
|
||||
display: block;
|
||||
}
|
||||
}
|
||||
.collapse {
|
||||
display: none;
|
||||
}
|
||||
&.hover-open {
|
||||
.nav-link {
|
||||
.menu-title {
|
||||
@include display-flex;
|
||||
@include align-items(center);
|
||||
background: $icon-only-menu-bg-light;
|
||||
padding: 0.5rem 1.4rem;
|
||||
left: $sidebar-width-icon;
|
||||
position: absolute;
|
||||
text-align: left;
|
||||
top: 0;
|
||||
bottom: 0;
|
||||
width: $icon-only-collapse-width;
|
||||
z-index: 1;
|
||||
line-height: 1.8;
|
||||
@at-root #{selector-append(".rtl", &)} {
|
||||
left: auto;
|
||||
right: $sidebar-width-icon;
|
||||
text-align: left;
|
||||
}
|
||||
&:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
.collapse,
|
||||
.collapsing {
|
||||
display: block;
|
||||
padding: .5rem 0;
|
||||
background: $icon-only-menu-bg-light;
|
||||
@include border-radius(0 0 5px 0);
|
||||
position: absolute;
|
||||
left: $sidebar-width-icon;
|
||||
width: $icon-only-collapse-width;
|
||||
@at-root #{selector-append(".rtl", &)} {
|
||||
left: auto;
|
||||
right:$sidebar-width-icon;
|
||||
@include border-radius(0 0 0 5px);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.sub-menu {
|
||||
padding: $sidebar-icon-only-submenu-padding;
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
text-align: left;
|
||||
padding-left: 20px;
|
||||
}
|
||||
}
|
||||
@at-root #{selector-append(".rtl", &)} {
|
||||
.nav-item {
|
||||
margin-right: auto;
|
||||
margin-left: 0;
|
||||
.nav-link {
|
||||
text-align: right;
|
||||
&:before{
|
||||
left: 0;
|
||||
right: unset;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.sidebar-actions {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
|
||||
.main-panel {
|
||||
width: calc(100% - #{$sidebar-width-icon});
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
//RTL layout
|
||||
.rtl {
|
||||
direction: rtl;
|
||||
text-align: right;
|
||||
|
||||
.sidebar {
|
||||
.nav {
|
||||
padding-right: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.product-chart-wrapper,
|
||||
.sidebar-fixed .nav,
|
||||
.table-responsive,
|
||||
ul.chats {
|
||||
&::-webkit-scrollbar {
|
||||
width: 0.5em;
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-track {
|
||||
-webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
|
||||
}
|
||||
|
||||
&::-webkit-scrollbar-thumb {
|
||||
background-color: darkgrey;
|
||||
outline: 1px solid slategrey;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,58 +0,0 @@
|
||||
/* Miscellanoeous */
|
||||
body,
|
||||
html {
|
||||
overflow-x: hidden;
|
||||
padding-right: 0 !important; // resets padding right added by Bootstrap modal
|
||||
}
|
||||
|
||||
*:-moz-full-screen,
|
||||
*:-webkit-full-screen,
|
||||
*:fullscreen *:-ms-fullscreen {
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
.container-scroller {
|
||||
overflow: hidden;
|
||||
}
|
||||
|
||||
pre {
|
||||
background: color(gray-lighter);
|
||||
padding: 15px;
|
||||
font-size: 14px;
|
||||
}
|
||||
|
||||
code {
|
||||
padding: 5px;
|
||||
color: theme-color(danger);
|
||||
font-family: $type1-light;
|
||||
font-size: $default-font-size;
|
||||
border-radius: 4px;
|
||||
}
|
||||
|
||||
.page-header {
|
||||
@extend .d-flex;
|
||||
@extend .justify-content-between;
|
||||
@extend .align-items-center;
|
||||
margin: 0 0 1.5rem 0;
|
||||
.breadcrumb {
|
||||
border: 0;
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
.page-title {
|
||||
color: $page-title-color;
|
||||
font-size: 1.125rem;
|
||||
margin-bottom: 0;
|
||||
.page-title-icon {
|
||||
display: inline-block;
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 4px;
|
||||
text-align: center;
|
||||
box-shadow: 0px 3px 8.3px 0.7px rgba(163, 93, 255, 0.35);
|
||||
i {
|
||||
font-size: .9375rem;
|
||||
line-height: 36px;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,365 +0,0 @@
|
||||
/* Navbar */
|
||||
|
||||
.navbar {
|
||||
font-family: $type1-light;
|
||||
background: $navbar-bg;
|
||||
transition:background $action-transition-duration $action-transition-timing-function;
|
||||
-webkit-transition:background $action-transition-duration $action-transition-timing-function;
|
||||
-moz-transition:background $action-transition-duration $action-transition-timing-function;
|
||||
-ms-transition:background $action-transition-duration $action-transition-timing-function;
|
||||
|
||||
.navbar-brand {
|
||||
width: 110px;
|
||||
}
|
||||
.navbar-brand-wrapper {
|
||||
transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function;
|
||||
-webkit-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function;
|
||||
-moz-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function;
|
||||
-ms-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function;
|
||||
background: $navbar-bg;
|
||||
width: $sidebar-width-lg;
|
||||
height: $navbar-height;
|
||||
@media (max-width: 991px) {
|
||||
width: 55px;
|
||||
}
|
||||
.navbar-brand {
|
||||
color: lighten(color(gray-dark), 20%);
|
||||
font-size: 1.5rem;
|
||||
line-height: 48px;
|
||||
margin-right: 0;
|
||||
padding: .25rem 0;
|
||||
width: 100%;
|
||||
|
||||
&:active,
|
||||
&:focus,
|
||||
&:hover {
|
||||
color: lighten(color(gray-dark), 10%);
|
||||
}
|
||||
|
||||
img {
|
||||
width: calc(#{$sidebar-width-lg} - 120px );
|
||||
max-width: 100%;
|
||||
height: 28px;
|
||||
margin: auto;
|
||||
vertical-align: middle;
|
||||
}
|
||||
&.brand-logo-mini {
|
||||
display: none;
|
||||
img {
|
||||
width: calc(#{$sidebar-width-icon} - 50px );
|
||||
max-width: 100%;
|
||||
height: 28px;
|
||||
margin: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.navbar-menu-wrapper {
|
||||
transition: width $action-transition-duration $action-transition-timing-function;
|
||||
-webkit-transition: width $action-transition-duration $action-transition-timing-function;
|
||||
-moz-transition: width $action-transition-duration $action-transition-timing-function;
|
||||
-ms-transition: width $action-transition-duration $action-transition-timing-function;
|
||||
color: $navbar-menu-color;
|
||||
padding-left: 24px;
|
||||
padding-right: 24px;
|
||||
width: calc(100% - #{$sidebar-width-lg});
|
||||
height: $navbar-height;
|
||||
@media (max-width: 991px) {
|
||||
width: auto;
|
||||
padding-left: 15px;
|
||||
padding-right: 15px;
|
||||
}
|
||||
|
||||
.navbar-toggler {
|
||||
border: 0;
|
||||
color: inherit;
|
||||
height: $navbar-height;
|
||||
@include border-radius(0px);
|
||||
padding-left: 5px;
|
||||
padding-right: 20px;
|
||||
&:not(.navbar-toggler-right) {
|
||||
font-size: 1.5rem;
|
||||
@media (max-width: 991px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
&.navbar-toggler-right{
|
||||
@media (max-width:991px){
|
||||
padding-left: 15px;
|
||||
padding-right: 11px;
|
||||
border-right: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.search-field {
|
||||
.input-group {
|
||||
input {
|
||||
font-size: $default-font-size;
|
||||
padding: .5rem;
|
||||
@include input-placeholder {
|
||||
font-size: $navbar-font-size;
|
||||
color: $navbar-menu-color;
|
||||
font-family: $type1-light;
|
||||
}
|
||||
}
|
||||
i {
|
||||
font-size: 17px;
|
||||
margin-right: 0;
|
||||
color: $navbar-menu-color;
|
||||
}
|
||||
.input-group-text {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
.rtl & {
|
||||
@extend .ml-0;
|
||||
@extend .mr-4;
|
||||
}
|
||||
}
|
||||
|
||||
.count-indicator {
|
||||
position: relative;
|
||||
|
||||
.count-symbol,
|
||||
.count-number {
|
||||
position: absolute;
|
||||
border-radius: 100%;
|
||||
border: 2px solid $white;
|
||||
}
|
||||
.count-symbol {
|
||||
top: 17px;
|
||||
right: -3px;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
}
|
||||
.count-number {
|
||||
min-width: 14px;
|
||||
height: 14px;
|
||||
font-size: .5rem;
|
||||
color: $white;
|
||||
bottom: 16px;
|
||||
right: -5px;
|
||||
line-height: 1;
|
||||
text-align: center;
|
||||
}
|
||||
&:after {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
.navbar-nav {
|
||||
flex-direction: row;
|
||||
align-items: center;
|
||||
.nav-item {
|
||||
.nav-link {
|
||||
color: inherit;
|
||||
font-size: $navbar-font-size;
|
||||
margin-left: 1.5rem;
|
||||
margin-right: 1.5rem;
|
||||
height: $navbar-height;
|
||||
@include display-flex;
|
||||
@include align-items(center);
|
||||
@media (max-width: 767px) {
|
||||
margin-left: .8rem;
|
||||
margin-right: .8rem;
|
||||
}
|
||||
i {
|
||||
font-size: $navbar-icon-font-size;
|
||||
}
|
||||
}
|
||||
&.dropdown {
|
||||
.dropdown-toggle {
|
||||
&:after {
|
||||
color: theme-color(primary);
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
.dropdown-menu {
|
||||
@extend .dropdownAnimation;
|
||||
border: none;
|
||||
@include border-radius(5px);
|
||||
-webkit-box-shadow: 0px 3px 21px 0px rgba(0, 0, 0, 0.2);
|
||||
-moz-box-shadow: 0px 3px 21px 0px rgba(0, 0, 0, 0.2);
|
||||
box-shadow: 0px 3px 21px 0px rgba(0, 0, 0, 0.2);
|
||||
&.navbar-dropdown {
|
||||
position: absolute;
|
||||
font-size: 0.9rem;
|
||||
margin-top: 0;
|
||||
.rtl & {
|
||||
right: auto;
|
||||
left: 0;
|
||||
}
|
||||
padding: 0;
|
||||
|
||||
.dropdown-item {
|
||||
@extend .d-flex;
|
||||
@extend .align-items-center;
|
||||
margin-bottom: 0;
|
||||
padding: 11px 13px;
|
||||
cursor: pointer;
|
||||
|
||||
i {
|
||||
font-size: 17px;
|
||||
}
|
||||
|
||||
.ellipsis {
|
||||
max-width: 200px;
|
||||
overflow: hidden;
|
||||
text-overflow: ellipsis;
|
||||
}
|
||||
.rtl & {
|
||||
i{
|
||||
@extend .mr-0;
|
||||
margin-left: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.dropdown-divider {
|
||||
margin: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@media (max-width: 991px) {
|
||||
position: static;
|
||||
.navbar-dropdown {
|
||||
left: 20px;
|
||||
right: 20px;
|
||||
top: $navbar-height;
|
||||
width: calc(100% - 40px);
|
||||
}
|
||||
}
|
||||
}
|
||||
&.nav-settings {
|
||||
padding-left: 20px;
|
||||
padding-right: 5px;
|
||||
.nav-link{
|
||||
margin-right: 0;
|
||||
margin-left: 0;
|
||||
}
|
||||
}
|
||||
&.nav-profile {
|
||||
.nav-link {
|
||||
@extend .d-flex;
|
||||
.nav-profile-img {
|
||||
position: relative;
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
img {
|
||||
width: 32px;
|
||||
height: 32px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
.availability-status {
|
||||
position: absolute;
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 100%;
|
||||
border: 2px solid #ffffff;
|
||||
bottom: 5px;
|
||||
right: -5px;
|
||||
&.online {
|
||||
background: theme-color(success);
|
||||
}
|
||||
&.offline {
|
||||
background: theme-color(danger);
|
||||
}
|
||||
&.busy {
|
||||
background: theme-color(warning);
|
||||
}
|
||||
}
|
||||
}
|
||||
.nav-profile-text {
|
||||
margin-left: 1.25rem;
|
||||
.rtl & {
|
||||
margin-left: 0;
|
||||
margin-right: 1.25rem;
|
||||
}
|
||||
p {
|
||||
line-height: 1;
|
||||
}
|
||||
@media (max-width: 767px) {
|
||||
display: none;
|
||||
}
|
||||
}
|
||||
&.dropdown-toggle {
|
||||
&:after {
|
||||
line-height: 2;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.navbar-nav-right {
|
||||
@media (min-width: 992px) {
|
||||
margin-left: auto;
|
||||
.rtl & {
|
||||
margin-left: 0;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@media (max-width:991px) {
|
||||
.navbar {
|
||||
flex-direction: row;
|
||||
.navbar-brand-wrapper {
|
||||
width: 75px;
|
||||
.navbar-brand {
|
||||
&.brand-logo {
|
||||
display: none;
|
||||
}
|
||||
&.brand-logo-mini {
|
||||
display: inline-block;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.navbar-collapse {
|
||||
display: flex;
|
||||
margin-top: 0.5rem;
|
||||
}
|
||||
}
|
||||
|
||||
@media (max-width:480px) {
|
||||
.navbar {
|
||||
.navbar-brand-wrapper {
|
||||
width: 55px;
|
||||
.brand-logo-mini{
|
||||
padding-top: 0px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* Navbar color variations */
|
||||
@each $color, $value in $theme-gradient-colors {
|
||||
.navbar {
|
||||
&.navbar-#{$color} {
|
||||
.navbar-menu-wrapper {
|
||||
background: $value;
|
||||
color: $white;
|
||||
.nav-profile-text {
|
||||
p {
|
||||
@extend .text-white;
|
||||
}
|
||||
}
|
||||
.search-field {
|
||||
.input-group {
|
||||
input {
|
||||
@include input-placeholder {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
i {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,136 +0,0 @@
|
||||
/* Reset Styles */
|
||||
|
||||
body {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.form-control,
|
||||
.form-control:focus {
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none
|
||||
}
|
||||
|
||||
.form-control {
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
.form-control:focus {
|
||||
outline: 0;
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
a,
|
||||
div,
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
p,
|
||||
span {
|
||||
text-shadow: none
|
||||
}
|
||||
|
||||
[type=button]:focus,
|
||||
a:active,
|
||||
a:focus,
|
||||
a:visited,
|
||||
button::-moz-focus-inner,
|
||||
input[type=reset]::-moz-focus-inner,
|
||||
input[type=button]::-moz-focus-inner,
|
||||
input[type=submit]::-moz-focus-inner,
|
||||
input[type=file]>input[type=button]::-moz-focus-inner,
|
||||
select::-moz-focus-inner {
|
||||
outline: 0
|
||||
}
|
||||
|
||||
input,
|
||||
.form-control:focus,
|
||||
input:focus,
|
||||
select:focus,
|
||||
textarea:focus,
|
||||
button:focus {
|
||||
outline: none;
|
||||
outline-width: 0;
|
||||
outline-color: transparent;
|
||||
box-shadow: none;
|
||||
outline-style: none;
|
||||
}
|
||||
|
||||
textarea {
|
||||
resize: none;
|
||||
overflow-x: hidden;
|
||||
}
|
||||
|
||||
.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:focus,
|
||||
input:hover,
|
||||
input:visited,
|
||||
select,
|
||||
select:active,
|
||||
select:focus,
|
||||
select:visited,
|
||||
textarea,
|
||||
textarea:active,
|
||||
textarea:focus,
|
||||
textarea:hover,
|
||||
textarea:visited {
|
||||
-webkit-box-shadow: none;
|
||||
-moz-box-shadow: none;
|
||||
box-shadow: none
|
||||
}
|
||||
|
||||
.btn.active.focus,
|
||||
.btn.active:focus,
|
||||
.btn.focus,
|
||||
.btn:active.focus,
|
||||
.btn:active:focus,
|
||||
.btn:focus,
|
||||
button,
|
||||
button:active,
|
||||
button:checked,
|
||||
button:focus,
|
||||
button:hover,
|
||||
button:visited {
|
||||
outline: 0;
|
||||
outline-offset: 0
|
||||
}
|
||||
|
||||
.bootstrap-select .dropdown-toggle:focus {
|
||||
outline: 0 ;
|
||||
outline-offset: 0;
|
||||
}
|
||||
|
||||
.dropdown-menu>li>a:active,
|
||||
.dropdown-menu>li>a:focus,
|
||||
.dropdown-menu>li>a:hover,
|
||||
.dropdown-menu>li>a:visited {
|
||||
outline: 0;
|
||||
}
|
||||
|
||||
a:focus,
|
||||
input:focus {
|
||||
border-color: transparent;
|
||||
outline: none
|
||||
}
|
||||
@@ -1,240 +0,0 @@
|
||||
/* Sidebar */
|
||||
|
||||
.sidebar {
|
||||
min-height: calc(100vh - #{$navbar-height});
|
||||
background: $sidebar-light-bg;
|
||||
font-family: $type1-regular;
|
||||
padding: 0;
|
||||
width: $sidebar-width-lg;
|
||||
z-index: 11;
|
||||
transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function;
|
||||
-webkit-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function;
|
||||
-moz-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function;
|
||||
-ms-transition: width $action-transition-duration $action-transition-timing-function, background $action-transition-duration $action-transition-timing-function;
|
||||
|
||||
.nav {
|
||||
overflow: hidden;
|
||||
flex-wrap: nowrap;
|
||||
flex-direction: column;
|
||||
margin-bottom: 60px;
|
||||
|
||||
.nav-item {
|
||||
padding:0 $sidebar-menu-padding-x;
|
||||
@include transition-duration(0.25s);
|
||||
transition-property: background;
|
||||
-webkit-transition-property: background;
|
||||
.collapse {
|
||||
z-index: 999;
|
||||
}
|
||||
|
||||
.nav-link {
|
||||
@include display-flex;
|
||||
@include align-items(center);
|
||||
white-space: nowrap;
|
||||
padding:$sidebar-menu-padding-y 0 $sidebar-menu-padding-y 0;
|
||||
color: $sidebar-light-menu-color;
|
||||
@include transition-duration(0.45s);
|
||||
transition-property: color;
|
||||
-webkit-transition-property: color;
|
||||
|
||||
i {
|
||||
color: inherit;
|
||||
|
||||
&.menu-icon {
|
||||
font-size: $sidebar-icon-font-size;
|
||||
line-height: 1;
|
||||
margin-left: auto;
|
||||
.rtl & {
|
||||
margin-left: 0;
|
||||
margin-right: auto;
|
||||
}
|
||||
color: $sidebar-light-menu-icon-color;
|
||||
&:before {
|
||||
vertical-align: middle;
|
||||
}
|
||||
}
|
||||
|
||||
&.menu-arrow {
|
||||
font: normal normal normal 24px/1 "Material Design Icons";
|
||||
line-height: 1;
|
||||
font-size: $sidebar-icon-font-size;
|
||||
margin-left: auto;
|
||||
.rtl & {
|
||||
margin-left: 0;
|
||||
margin-right: auto;
|
||||
}
|
||||
color: $sidebar-light-menu-arrow-color;
|
||||
&:before{
|
||||
content: "\f141";
|
||||
font-size: inherit;
|
||||
color: inherit;
|
||||
}
|
||||
+ .menu-icon {
|
||||
margin-left: .25rem;
|
||||
.rtl & {
|
||||
margin-left: 0;
|
||||
margin-right: .25rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.menu-title {
|
||||
color: inherit;
|
||||
display: inline-block;
|
||||
font-size: $sidebar-menu-font-size;
|
||||
line-height: 1;
|
||||
vertical-align: middle;
|
||||
}
|
||||
|
||||
.badge {
|
||||
margin-right: auto;
|
||||
margin-left: 1rem;
|
||||
}
|
||||
|
||||
&[aria-expanded="true"]{
|
||||
.menu-arrow{
|
||||
&:before{
|
||||
content: "\f140";
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.active {
|
||||
background: $sidebar-light-menu-active-bg;
|
||||
> .nav-link {
|
||||
.menu-title {
|
||||
color: $sidebar-light-menu-active-color;
|
||||
font-family: $type1-medium;
|
||||
}
|
||||
i {
|
||||
color: theme-color(primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
&:hover{
|
||||
background: $sidebar-light-menu-hover-bg;
|
||||
}
|
||||
&.nav-profile {
|
||||
.nav-link {
|
||||
height: auto;
|
||||
line-height: 1;
|
||||
border-top: 0;
|
||||
padding: 1.25rem 0;
|
||||
.nav-profile-image {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
img {
|
||||
width: 44px;
|
||||
height: 44px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
}
|
||||
.nav-profile-text {
|
||||
margin-left: 1rem;
|
||||
.rtl & {
|
||||
margin-left: auto;
|
||||
margin-right: 1rem;
|
||||
}
|
||||
}
|
||||
.nav-profile-badge {
|
||||
font-size: 1.125rem;
|
||||
margin-left: auto;
|
||||
.rtl & {
|
||||
margin-left: 0;
|
||||
margin-right: auto;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.sidebar-actions {
|
||||
margin-top: 1rem;
|
||||
.nav-link {
|
||||
border-top: 0;
|
||||
display: block;
|
||||
height: auto;
|
||||
}
|
||||
&:hover {
|
||||
background: initial;
|
||||
.nav-link {
|
||||
color: initial;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:not(.sub-menu) {
|
||||
> .nav-item {
|
||||
&:hover {
|
||||
&:not(.nav-category):not(.nav-profile) {
|
||||
> .nav-link {
|
||||
color: $sidebar-light-menu-hover-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.sub-menu {
|
||||
margin-bottom: 20px;
|
||||
margin-top:0;
|
||||
list-style: none;
|
||||
|
||||
.nav-item {
|
||||
padding: 0;
|
||||
.nav-link {
|
||||
color: $sidebar-light-submenu-color;
|
||||
padding: $sidebar-submenu-item-padding;
|
||||
position: relative;
|
||||
font-size: $sidebar-submenu-font-size;
|
||||
line-height: 1;
|
||||
height: auto;
|
||||
border-top: 0;
|
||||
&:before {
|
||||
content: "\F054";
|
||||
font-family: "Material Design Icons";
|
||||
display: block;
|
||||
position: absolute;
|
||||
left:0px;
|
||||
.rtl & {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
top:50%;
|
||||
@include transform(translateY(-50%));
|
||||
color: lighten($sidebar-light-submenu-color, 10%);
|
||||
font-size: .75rem;
|
||||
}
|
||||
&.active {
|
||||
color: $sidebar-light-menu-active-color;
|
||||
background: transparent;
|
||||
}
|
||||
&:hover {
|
||||
color: $sidebar-light-submenu-hover-color;
|
||||
}
|
||||
}
|
||||
&:hover {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/* style for off-canvas menu*/
|
||||
@media screen and (max-width: 991px) {
|
||||
.sidebar-offcanvas {
|
||||
position: fixed;
|
||||
max-height: calc(100vh - #{$navbar-height});
|
||||
top: $navbar-height;
|
||||
bottom: 0;
|
||||
overflow: auto;
|
||||
right: -$sidebar-width-lg;
|
||||
-webkit-transition: all 0.25s ease-out;
|
||||
-o-transition: all 0.25s ease-out;
|
||||
transition: all 0.25s ease-out;
|
||||
&.active {
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,118 +0,0 @@
|
||||
/* Typography */
|
||||
|
||||
body {
|
||||
font-size: 1rem;
|
||||
font-family: $type1-regular;
|
||||
font-weight: initial;
|
||||
line-height: normal;
|
||||
-webkit-font-smoothing: antialiased;
|
||||
}
|
||||
h1,
|
||||
h2,
|
||||
h3,
|
||||
h4,
|
||||
h5,
|
||||
h6,
|
||||
.h1,
|
||||
.h2,
|
||||
.h3,
|
||||
.h4,
|
||||
.h5,
|
||||
.h6 {
|
||||
font-family: $type1-medium;
|
||||
}
|
||||
p {
|
||||
font-size: $default-font-size;
|
||||
}
|
||||
h1,
|
||||
.h1 {
|
||||
font-size: 2.19rem;
|
||||
}
|
||||
h2,
|
||||
.h2 {
|
||||
font-size: 1.88rem;
|
||||
}
|
||||
h3,
|
||||
.h3 {
|
||||
font-size: 1.56rem;
|
||||
}
|
||||
h4,
|
||||
.h4 {
|
||||
font-size: 1.13rem;
|
||||
}
|
||||
h5,
|
||||
.h5 {
|
||||
font-size: 1rem;
|
||||
}
|
||||
h6,
|
||||
.h6 {
|
||||
font-size: .9375rem;
|
||||
}
|
||||
p {
|
||||
font-size: .9375rem;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.display-1 {
|
||||
font-size: 3.75rem;
|
||||
@media (max-width: 991px) {
|
||||
font-size: 3rem;
|
||||
}
|
||||
}
|
||||
.display-2 {
|
||||
font-size: 3.125rem;
|
||||
@media (max-width: 991px) {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
}
|
||||
.display-3 {
|
||||
font-size: 2.5rem;
|
||||
@media (max-width: 991px) {
|
||||
font-size: 2rem;
|
||||
}
|
||||
}
|
||||
.display-4 {
|
||||
font-size: 1.875rem;
|
||||
@media (max-width: 991px) {
|
||||
font-size: 1.5rem;
|
||||
}
|
||||
}
|
||||
.display-5 {
|
||||
font-size: 1.25rem;
|
||||
@media (max-width: 991px) {
|
||||
font-size: 1rem;
|
||||
}
|
||||
}
|
||||
.blockquote {
|
||||
padding: 1.25rem;
|
||||
border: 1px solid $border-color;
|
||||
}
|
||||
|
||||
address {
|
||||
p {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
//blockqoute color variations
|
||||
@each $color, $value in $theme-colors {
|
||||
.blockquote-#{$color} {
|
||||
@include blockquote($value);
|
||||
}
|
||||
}
|
||||
.error-page {
|
||||
h1 {
|
||||
font-size: 12rem;
|
||||
@media (max-width: 991px) {
|
||||
font-size: 8rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
.icon-lg {
|
||||
font-size: 2.5rem;
|
||||
}
|
||||
.icon-md {
|
||||
font-size: 1.875rem;
|
||||
}
|
||||
.icon-sm {
|
||||
font-size: 1rem;
|
||||
}
|
||||
@@ -1,211 +0,0 @@
|
||||
/* Utilities */
|
||||
|
||||
.grid-margin {
|
||||
margin-bottom: $card-spacing-y;
|
||||
}
|
||||
.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;
|
||||
}
|
||||
}
|
||||
.img-lg {
|
||||
width: 92px;
|
||||
height: 92px;
|
||||
}
|
||||
.img-sm {
|
||||
width: 43px;
|
||||
height: 43px;
|
||||
}
|
||||
.img-xs {
|
||||
width: 37px;
|
||||
height: 37px;
|
||||
}
|
||||
.img-ss {
|
||||
width: 35px;
|
||||
height: 35px;
|
||||
}
|
||||
.stretch-card {
|
||||
@include display-flex;
|
||||
@include align-items(stretch);
|
||||
@include justify-content(stretch);
|
||||
>.card{
|
||||
width: 100%;
|
||||
min-width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.border-right-sm {
|
||||
@media (min-width: 576px) {
|
||||
border-right: $border-width solid $border-color;
|
||||
}
|
||||
}
|
||||
.border-right-md {
|
||||
@media (min-width: 768px) {
|
||||
border-right: $border-width solid $border-color;
|
||||
}
|
||||
}
|
||||
.border-right-lg {
|
||||
@media (min-width: 992px) {
|
||||
border-right: $border-width solid $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.border-left-sm {
|
||||
@media (min-width: 576px) {
|
||||
border-left: $border-width solid $border-color;
|
||||
}
|
||||
}
|
||||
.border-left-md {
|
||||
@media (min-width: 768px) {
|
||||
border-left: $border-width solid $border-color;
|
||||
}
|
||||
}
|
||||
.border-left-lg {
|
||||
@media (min-width: 992px) {
|
||||
border-left: $border-width solid $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
.text-gray {
|
||||
color: #8c8c8c;
|
||||
}
|
||||
|
||||
.text-black {
|
||||
color: $black;
|
||||
}
|
||||
|
||||
.text-small {
|
||||
font-size: 12px;
|
||||
}
|
||||
|
||||
.flex-grow {
|
||||
flex-grow: 1;
|
||||
}
|
||||
|
||||
.font-weight-light {
|
||||
font-family: $type1-light;
|
||||
}
|
||||
|
||||
.font-weight-bold {
|
||||
font-family: $type1-bold;
|
||||
}
|
||||
|
||||
.font-weight-normal {
|
||||
font-family: $type1-regular;
|
||||
}
|
||||
|
||||
.image-grouped {
|
||||
display: flex;
|
||||
|
||||
.text-avatar,
|
||||
img {
|
||||
@extend .img-ss;
|
||||
border-radius: 100%;
|
||||
margin-left: -10px;
|
||||
z-index: 0;
|
||||
border: 4px solid $card-bg;
|
||||
transform: scale(1);
|
||||
transition-duration: 0.3s;
|
||||
transition-timing-function: ease;
|
||||
transition-property: "box-shadow", "z-index", "transform", "border-width";
|
||||
|
||||
&:first-child {
|
||||
margin-left: 0;
|
||||
}
|
||||
|
||||
&:hover {
|
||||
z-index: 1;
|
||||
box-shadow: 0 0 5px -2px rgba(0, 0, 0, 0.5);
|
||||
transform: scale(1.05);
|
||||
border-width: 0;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
.text-avatar {
|
||||
@extend .bg-inverse-primary;
|
||||
color: theme-color(primary);
|
||||
font-size: 11px;
|
||||
font-weight: 600;
|
||||
}
|
||||
}
|
||||
|
||||
.aligner-wrapper {
|
||||
position: relative;
|
||||
|
||||
.absolute {
|
||||
position: absolute;
|
||||
|
||||
&.absolute-center {
|
||||
top: 50%;
|
||||
transform: translateY(-50%);
|
||||
bottom: 0;
|
||||
right: 0;
|
||||
left: 0;
|
||||
margin: auto;
|
||||
}
|
||||
|
||||
&.left {
|
||||
left: 0;
|
||||
}
|
||||
|
||||
&.right {
|
||||
right: 0;
|
||||
}
|
||||
|
||||
&.bottom {
|
||||
bottom: 0;
|
||||
}
|
||||
|
||||
&.top {
|
||||
top: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.v-strock-1 {
|
||||
width: 2px;
|
||||
}
|
||||
|
||||
.v-strock-2 {
|
||||
width: 3px;
|
||||
}
|
||||
|
||||
.v-strock-3 {
|
||||
width: 4px;
|
||||
}
|
||||
|
||||
.v-strock-4 {
|
||||
width: 5px;
|
||||
}
|
||||
|
||||
.dot-indicator {
|
||||
width: 10px;
|
||||
height: 10px;
|
||||
border-radius: 100%;
|
||||
|
||||
&.dot-indicator-sm {
|
||||
width: 6px;
|
||||
height: 6px;
|
||||
}
|
||||
}
|
||||
@each $color, $value in $theme-gradient-colors {
|
||||
.bg-gradient-#{$color} {
|
||||
background: theme-gradient-color($color) !important;
|
||||
}
|
||||
}
|
||||
@@ -1,365 +0,0 @@
|
||||
////////// COLOR SYSTEM //////////
|
||||
|
||||
$blue: #5E50F9;
|
||||
$indigo: #6610f2;
|
||||
$purple: #6a008a;
|
||||
$pink: #E91E63;
|
||||
$red: #f96868;
|
||||
$orange: #f2a654;
|
||||
$yellow: #f6e84e;
|
||||
$green: #46c35f;
|
||||
$teal: #58d8a3;
|
||||
$cyan: #57c7d4;
|
||||
$black: #000;
|
||||
$white: #ffffff;
|
||||
$white-smoke: #f2f7f8;
|
||||
$violet: #41478a;
|
||||
$darkslategray : #2e383e;
|
||||
$dodger-blue : #3498db;
|
||||
|
||||
|
||||
$colors: (blue: $blue,
|
||||
indigo: $indigo,
|
||||
purple: $purple,
|
||||
pink: $pink,
|
||||
red: $red,
|
||||
orange: $orange,
|
||||
yellow: $yellow,
|
||||
green: $green,
|
||||
teal: $teal,
|
||||
cyan: $cyan,
|
||||
white: $white,
|
||||
gray: #434a54,
|
||||
gray-light: #aab2bd,
|
||||
gray-lighter: #e8eff4,
|
||||
gray-lightest: #e6e9ed,
|
||||
gray-dark: #0f1531,
|
||||
black: #000000);
|
||||
|
||||
|
||||
$theme-colors: (primary: #b66dff,
|
||||
secondary: #c3bdbd,
|
||||
success: #1bcfb4,
|
||||
info: #198ae3,
|
||||
warning: #fed713,
|
||||
danger: #fe7c96,
|
||||
light: #f8f9fa,
|
||||
dark: #3e4b5b);
|
||||
|
||||
$theme-gradient-colors: (primary: linear-gradient(to right, #da8cff, #9a55ff),
|
||||
secondary: linear-gradient(to right, #e7ebf0, #868e96),
|
||||
success: linear-gradient(to right, #84d9d2, #07cdae),
|
||||
info: linear-gradient(to right, #90caf9, #047edf 99%),
|
||||
warning: linear-gradient(to right, #f6e384, #ffd500),
|
||||
danger: linear-gradient(to right, #ffbf96, #fe7096),
|
||||
light: linear-gradient(to bottom, #f4f4f4, #e4e4e9),
|
||||
dark: linear-gradient(89deg, #5e7188, #3e4b5b));
|
||||
|
||||
|
||||
////////// COLOR SYSTEM //////////
|
||||
|
||||
////////// COLOR VARIABLES //////////
|
||||
$content-bg: #f2edf3;
|
||||
$footer-bg: $content-bg;
|
||||
$footer-color: color(dark);
|
||||
$border-color: #ebedf2;
|
||||
$circle-border:$white;
|
||||
////////// COLOR VARIABLES //////////
|
||||
|
||||
////////// SOCIAL COLORS //////////
|
||||
|
||||
$social-colors: (twitter: #2caae1,
|
||||
facebook: #3b579d,
|
||||
google: #dc4a38,
|
||||
linkedin: #0177b5,
|
||||
pinterest: #cc2127,
|
||||
youtube: #e52d27,
|
||||
github: #333333,
|
||||
behance: #1769ff,
|
||||
dribbble: #ea4c89,
|
||||
reddit: #ff4500);
|
||||
|
||||
////////// SOCIAL COLORS //////////
|
||||
|
||||
////////// FONTS//
|
||||
$type-1: 'roboto',
|
||||
sans-serif;
|
||||
$type-2: $type-1;
|
||||
$type1-light: 'ubuntu-light',
|
||||
sans-serif;
|
||||
$type1-regular: 'ubuntu-regular',
|
||||
sans-serif;
|
||||
$type1-medium: 'ubuntu-medium',
|
||||
sans-serif;
|
||||
$type1-bold: 'ubuntu-bold',
|
||||
sans-serif;
|
||||
|
||||
$default-font-size: .875rem; // 14px as base font size
|
||||
|
||||
$text-muted: #9c9fa6;
|
||||
$body-color: #343a40;
|
||||
|
||||
////////// FONT VARIABLES //////////
|
||||
|
||||
///////// CARD ////////
|
||||
$card-bg: #fff;
|
||||
$card-description-color: #76838f;
|
||||
$card-title-color: $body-color;
|
||||
$card-bg-varient: #fff;
|
||||
///////// CARD ////////
|
||||
|
||||
//////// TABLES ////////
|
||||
$table-accent-bg: $content-bg;
|
||||
$table-hover-bg: $content-bg;
|
||||
$table-cell-padding: .9375rem;
|
||||
$table-border-color: $border-color;
|
||||
$table-inverse-bg: #2a2b32;
|
||||
$table-inverse-color: color(white);
|
||||
//////// TABLES ////////
|
||||
|
||||
////////// MODALS VARIABLES //////////
|
||||
$modal-content-bg: $content-bg;
|
||||
////////// MODALS VARIABLES //////////
|
||||
|
||||
///////// NAVBAR ////////
|
||||
$navbar-bg: #fff;
|
||||
$navbar-height: 70px;
|
||||
$navbar-menu-color: #9c9fa6;
|
||||
$navbar-font-size: .875rem;
|
||||
$navbar-icon-font-size: 1.25rem;
|
||||
$mail-head-bg:#303a40;
|
||||
$u-name-color:$black;
|
||||
$file-name:$black;
|
||||
///////// NAVBAR ////////
|
||||
|
||||
|
||||
|
||||
///////// BUTTONS ////////
|
||||
|
||||
$button-fixed-width: 150px;
|
||||
$btn-padding-y: .875rem;
|
||||
$btn-padding-x: 2.5rem;
|
||||
$btn-line-height: 1;
|
||||
|
||||
$btn-padding-y-xs: .5rem;
|
||||
$btn-padding-x-xs: .75rem;
|
||||
|
||||
$btn-padding-y-sm: .50rem;
|
||||
$btn-padding-x-sm: .81rem;
|
||||
|
||||
$btn-padding-y-lg: 1rem;
|
||||
$btn-padding-x-lg: 3rem;
|
||||
|
||||
$btn-font-size: .875rem;
|
||||
$btn-font-size-xs: .625rem;
|
||||
$btn-font-size-sm: .875rem;
|
||||
$btn-font-size-lg: .875rem;
|
||||
|
||||
$btn-border-radius: .1875rem;
|
||||
$btn-border-radius-xs: .1875rem;
|
||||
$btn-border-radius-sm: .1875rem;
|
||||
$btn-border-radius-lg: .1875rem;
|
||||
|
||||
///////// BUTTONS ////////
|
||||
|
||||
|
||||
|
||||
////////// TOOLTIP VARIABLES //////////
|
||||
|
||||
//default styles
|
||||
$tooltip-font-size: .75rem;
|
||||
$tooltip-padding-y: .4rem;
|
||||
$tooltip-padding-x: .75rem;
|
||||
$tooltip-border-radius: .375rem;
|
||||
|
||||
////////// TOOLTIP VARIABLES //////////
|
||||
|
||||
|
||||
|
||||
///////// FORMS /////////
|
||||
|
||||
$input-bg: color(white);
|
||||
$input-border-radius: 2px;
|
||||
$input-placeholder-color: #c9c8c8;
|
||||
$input-font-size: .8125rem;
|
||||
|
||||
$input-padding-y: 0.94rem;
|
||||
$input-padding-x: 1.375rem;
|
||||
$input-line-height: 1;
|
||||
|
||||
$input-padding-y-xs: .5rem;
|
||||
$input-padding-x-xs: .75rem;
|
||||
|
||||
$input-padding-y-sm: .50rem;
|
||||
$input-padding-x-sm: .81rem;
|
||||
|
||||
$input-padding-y-lg: .94rem;
|
||||
$input-padding-x-lg: 1.94rem;
|
||||
|
||||
$input-height: 2.875rem;
|
||||
$input-height-sm: 2.575rem;
|
||||
$input-height-lg: 3.175rem;
|
||||
|
||||
///////// FORMS /////////
|
||||
|
||||
//////// DROPDOWNS ///////
|
||||
$dropdown-border-color: $border-color;
|
||||
$dropdown-divider-bg: $border-color;
|
||||
$dropdown-link-color: $body-color;
|
||||
$dropdown-header-color: $body-color;
|
||||
$dropdown-menu-box-shadow: 0px 1px 15px 1px rgba(230, 234, 236, 0.35);
|
||||
$dropdown-hover-bg: #f8f9fa;
|
||||
//////// DROPDOWNS ///////
|
||||
|
||||
|
||||
////////// MEASUREMENT AND PROPERTY VARIABLES //////////
|
||||
|
||||
$boxed-container-width: 1200px;
|
||||
$border-property: 1px solid $border-color;
|
||||
$card-spacing-y: 2.5rem;
|
||||
$card-padding-y: 2.5rem;
|
||||
$card-padding-x: 2.5rem;
|
||||
$card-border-radius: .3125rem;
|
||||
$grid-gutter-width: 40px;
|
||||
$action-transition-duration: 0.25s;
|
||||
$action-transition-timing-function: ease;
|
||||
////////// OTHER VARIABLES //////////
|
||||
|
||||
////////// BREAD CRUMBS VARIABLES //////////
|
||||
|
||||
// default styles
|
||||
$breadcrumb-padding-y: 0.56rem;
|
||||
$breadcrumb-padding-x: 1.13rem;
|
||||
$breadcrumb-item-padding: .5rem;
|
||||
$breadcrumb-margin-bottom: 1rem;
|
||||
$breadcrumb-font-size: $default-font-size;
|
||||
$breadcrumb-bg: transparent;
|
||||
$breadcrumb-border-color: $border-color;
|
||||
$breadcrumb-divider-color: $gray-600;
|
||||
$breadcrumb-active-color: $gray-700;
|
||||
$breadcrumb-divider: "/";
|
||||
|
||||
// custom styles
|
||||
$breadcrumb-custom-padding-y: 0;
|
||||
$breadcrumb-custom-padding-x: 0;
|
||||
$breadcrumb-custom-item-padding-y: 0.56rem;
|
||||
$breadcrumb-custom-item-padding-x: 10px;
|
||||
$breadcrumb-custom-item-color: $black;
|
||||
$breadcrumb-item-bg: #dbe3e6;
|
||||
////////// BREAD CRUMBS VARIABLES //////////
|
||||
|
||||
|
||||
////////// MODALS VARIABLES //////////
|
||||
$modal-inner-padding: .9375rem;
|
||||
$modal-dialog-margin: 10px;
|
||||
$modal-dialog-margin-y-sm-up: 30px;
|
||||
$modal-title-line-height: $line-height-base;
|
||||
$modal-content-box-shadow-xs: 0 3px 9px rgba($black, .5);
|
||||
$modal-content-box-shadow-sm-up: 0 5px 15px rgba($black, .5);
|
||||
|
||||
$modal-backdrop-bg: $black;
|
||||
$modal-backdrop-opacity: .5;
|
||||
|
||||
$modal-header-border-color: $border-color;
|
||||
$modal-content-border-color: $border-color;
|
||||
$modal-footer-border-color: $border-color;
|
||||
|
||||
$modal-header-border-width: $border-width;
|
||||
$modal-content-border-width: $border-width;
|
||||
$modal-footer-border-width: $border-width;
|
||||
|
||||
$modal-header-padding-x: 26px;
|
||||
$modal-header-padding-y: 25px;
|
||||
|
||||
$modal-body-padding-x: 26px;
|
||||
$modal-body-padding-y: 35px;
|
||||
|
||||
$modal-footer-padding-x: 31px;
|
||||
$modal-footer-padding-y: 15px;
|
||||
|
||||
$modal-lg: 90%;
|
||||
$modal-md: 500px;
|
||||
$modal-sm: 300px;
|
||||
$modal-transition: transform .4s ease;
|
||||
|
||||
////////// MODALS VARIABLES //////////
|
||||
|
||||
///////// TABS VARIABLES //////////
|
||||
$nav-tabs-border-color: #ebedf2;
|
||||
$nav-tabs-link-bg: #f6f8fa;
|
||||
$nav-tabs-link-color: #000000;
|
||||
$nav-tabs-link-hover-border-color: $nav-tabs-border-color $nav-tabs-border-color $nav-tabs-border-color;
|
||||
$nav-tabs-link-active-color: $body-color;
|
||||
$nav-tabs-link-active-bg: $white;
|
||||
$nav-tabs-link-active-border-color: $nav-tabs-border-color $nav-tabs-border-color $nav-tabs-link-active-bg;
|
||||
$nav-pills-custom-bg: #fcfcfd;
|
||||
//////// TABS VARIABLES /////////
|
||||
$accent-color: $white;
|
||||
$chat-container-height:100%s;
|
||||
$text-gray:gray;
|
||||
$bullet-line-list-shape-bg: color(white) !default;
|
||||
$arrow-color: $white;
|
||||
$tab-head-bg: darken(#f2edf3, 2%);
|
||||
$accordian-shadow-color:rgba(230, 234, 236, 0.35);
|
||||
$landing-bg:#1a142dfa;
|
||||
$private-btn-bg:#eae2ec;
|
||||
$circle-img-border: $white;
|
||||
$bottom-submenu-bg: $white;
|
||||
$chat-bottom-btn: $white;
|
||||
$form-focus-bg:$white;
|
||||
$form-focus-bg: $white;
|
||||
$form-focus-color:$black;
|
||||
$landing-bg-color: $white;
|
||||
$mail-hover-color: rgba(240, 244, 249, 0.8);
|
||||
|
||||
|
||||
//////// CALENDAR //////////////
|
||||
$fullcalendar-color: #a8b2b9;
|
||||
//////// CALENDAR //////////////
|
||||
|
||||
//////// MISC //////////////
|
||||
$page-title-color: $body-color;
|
||||
//////// MISC //////////////
|
||||
|
||||
|
||||
////////// SIDEBAR ////////
|
||||
$sidebar-width-lg: 260px;
|
||||
$sidebar-width-mini: 185px;
|
||||
$sidebar-width-icon: 70px;
|
||||
|
||||
$sidebar-light-bg: $white;
|
||||
$sidebar-light-menu-color: #3e4b5b;
|
||||
$sidebar-light-submenu-color: #888;
|
||||
$sidebar-light-menu-active-bg: $white;
|
||||
$sidebar-light-menu-active-color: theme-color(primary);
|
||||
$sidebar-light-menu-hover-bg: darken($sidebar-light-bg, 1%);
|
||||
$sidebar-light-menu-hover-color: darken($sidebar-light-menu-color, 10%);
|
||||
$sidebar-light-submenu-hover-color: darken($sidebar-light-submenu-color, 20%);
|
||||
$sidebar-light-menu-icon-color: #bba8bff5;
|
||||
$sidebar-light-menu-arrow-color: #9e9da0;
|
||||
$sidebar-light-menu-border-color: #f2edf3;
|
||||
|
||||
$sidebar-menu-font-size: $default-font-size;
|
||||
$sidebar-menu-padding-y: 1.125rem;
|
||||
$sidebar-menu-padding-x: 2.25rem;
|
||||
|
||||
$sidebar-submenu-font-size: .8125rem;
|
||||
$sidebar-submenu-item-padding: .75rem 2rem .75rem 2rem;
|
||||
|
||||
$sidebar-icon-font-size: 1.125rem;
|
||||
$sidebar-arrow-font-size: .625rem;
|
||||
|
||||
$sidebar-profile-bg: transparent;
|
||||
$sidebar-profile-padding: .75rem 1.625rem .75rem 1.188rem;
|
||||
|
||||
$rtl-sidebar-submenu-padding: 0 1.5rem 0 0;
|
||||
|
||||
$sidebar-icon-only-menu-padding: .5rem 1.625rem .5rem 1.188rem;
|
||||
$sidebar-icon-only-submenu-padding: 0 0 0 1.5rem;
|
||||
|
||||
$icon-only-collapse-width: 190px;
|
||||
$icon-only-menu-bg-light: $sidebar-light-menu-hover-bg;
|
||||
|
||||
///////// SIDEBAR ////////
|
||||
|
||||
$bullet-line-list-shape-bg: color(white) !default;
|
||||
@@ -1,31 +0,0 @@
|
||||
.page-body-wrapper {
|
||||
min-height: calc(100vh - #{$navbar-height});
|
||||
@include display-flex();
|
||||
@include flex-direction(row);
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
|
||||
&.full-page-wrapper {
|
||||
width: 100%;
|
||||
min-height: 100vh;
|
||||
}
|
||||
}
|
||||
|
||||
.main-panel {
|
||||
transition: width $action-transition-duration $action-transition-timing-function, margin $action-transition-duration $action-transition-timing-function;
|
||||
width: calc(100% - #{$sidebar-width-lg});
|
||||
min-height: calc(100vh - #{$navbar-height});
|
||||
@include display-flex();
|
||||
@include flex-direction(column);
|
||||
@media (max-width: 991px) {
|
||||
margin-left: 0;
|
||||
width: 100%;
|
||||
}
|
||||
}
|
||||
|
||||
.content-wrapper {
|
||||
background: $content-bg;
|
||||
padding: 2.75rem 2.25rem;
|
||||
width: 100%;
|
||||
@include flex-grow(1);
|
||||
}
|
||||
@@ -1,20 +0,0 @@
|
||||
#resizable-grid {
|
||||
.drag-item {
|
||||
position: relative;
|
||||
.dismiss {
|
||||
position: absolute;
|
||||
top: 7px;
|
||||
right: 25px;
|
||||
font-size: 15px;
|
||||
font-weight: bold;
|
||||
color: lighten(theme-color(danger), 10%);
|
||||
background: lighten(color(gray-light), 40%);
|
||||
height: 15px;
|
||||
width: 16px;
|
||||
line-height: 13px;
|
||||
cursor: pointer;
|
||||
text-align: center;
|
||||
@include border-radius(100%);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,35 +0,0 @@
|
||||
/* Badges */
|
||||
|
||||
.badge {
|
||||
border-radius: .125rem;
|
||||
font-size: 11px;
|
||||
font-weight: initial;
|
||||
line-height: 1;
|
||||
padding: .375rem .5625rem;
|
||||
font-family: $type1-medium;
|
||||
&.badge-pill {
|
||||
border-radius: 10rem;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/*Badge variations*/
|
||||
@each $color, $value in $theme-colors {
|
||||
.badge-#{$color} {
|
||||
@include badge-variations($value);
|
||||
}
|
||||
}
|
||||
|
||||
/*Badge gradient variations*/
|
||||
@each $color, $value in $theme-gradient-colors {
|
||||
.badge-gradient-#{$color} {
|
||||
@include badge-gradient-variations($value);
|
||||
}
|
||||
}
|
||||
|
||||
/*Badge outlined variations*/
|
||||
@each $color, $value in $theme-colors {
|
||||
.badge-outline-#{$color} {
|
||||
@include badge-outline-variations($value);
|
||||
}
|
||||
}
|
||||
@@ -1,22 +0,0 @@
|
||||
/* Bootstrap Progress */
|
||||
|
||||
.progress {
|
||||
@include border-radius(3px);
|
||||
height: 8px;
|
||||
.progress-bar {
|
||||
@include border-radius(3px);
|
||||
}
|
||||
|
||||
&.progress-sm{
|
||||
height: 0.375rem;
|
||||
}
|
||||
&.progress-md {
|
||||
height: 8px;
|
||||
}
|
||||
&.progress-lg {
|
||||
height: 15px;
|
||||
}
|
||||
&.progress-xl {
|
||||
height: 18px;
|
||||
}
|
||||
}
|
||||
@@ -1,90 +0,0 @@
|
||||
/* Breadcrumbs */
|
||||
|
||||
.breadcrumb {
|
||||
border: $border-width solid $border-color;
|
||||
|
||||
.breadcrumb-item {
|
||||
font-size: $breadcrumb-font-size;
|
||||
|
||||
&.active {
|
||||
color: rgba($body-color, 0.8);
|
||||
}
|
||||
}
|
||||
|
||||
&.breadcrumb-custom {
|
||||
padding: $breadcrumb-custom-padding-y $breadcrumb-custom-padding-x;
|
||||
border-color: $breadcrumb-item-bg;
|
||||
.breadcrumb-item {
|
||||
font-size: $breadcrumb-font-size;
|
||||
background: $breadcrumb-item-bg;
|
||||
padding: $breadcrumb-custom-item-padding-y $breadcrumb-custom-item-padding-x;
|
||||
color: $breadcrumb-custom-item-color;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
&:last-child {
|
||||
background: transparent;
|
||||
}
|
||||
&:before{
|
||||
content: "";
|
||||
}
|
||||
a {
|
||||
position: relative;
|
||||
color: inherit;
|
||||
border: 1px solid $breadcrumb-item-bg;
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
&:before,&:after{
|
||||
position: absolute;
|
||||
top: -9px;
|
||||
width: 0;
|
||||
height: 0;
|
||||
content: "";
|
||||
border-top: 21px solid transparent;
|
||||
border-bottom: 21px solid transparent;
|
||||
}
|
||||
&:before{
|
||||
right: -22px;
|
||||
z-index: 3;
|
||||
border-left-color: $breadcrumb-item-bg;
|
||||
border-left-style: solid;
|
||||
border-left-width: 12px;
|
||||
}
|
||||
&:after{
|
||||
border-top: 21px solid transparent;
|
||||
border-bottom: 22px solid transparent;
|
||||
border-left: 12px solid $white;
|
||||
top: -9px;
|
||||
right: -23px;
|
||||
}
|
||||
}
|
||||
span{
|
||||
display: inline-block;
|
||||
vertical-align: top;
|
||||
}
|
||||
&.active {
|
||||
color: rgba($body-color, 0.8);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&.bg-success,&.bg-dark,&.bg-danger,&.bg-warning,&.bg-primary,&.bg-info{
|
||||
border: none;
|
||||
.breadcrumb-item{
|
||||
color: $white;
|
||||
&:before{
|
||||
color: inherit;
|
||||
}
|
||||
a,span{
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
/* inverse breadcrumb */
|
||||
@each $color, $value in $theme-colors {
|
||||
.bg-inverse-#{$color} {
|
||||
@include breadcrumb-inverse-variant($value);
|
||||
}
|
||||
}
|
||||
@@ -1,104 +0,0 @@
|
||||
/* Buttons */
|
||||
|
||||
.btn {
|
||||
font-size: $btn-font-size;
|
||||
line-height: 1;
|
||||
font-family: $type1-bold;
|
||||
i {
|
||||
font-size: 1rem;
|
||||
}
|
||||
&.btn-rounded {
|
||||
@include border-radius(50px);
|
||||
}
|
||||
&.btn-fw {
|
||||
min-width: $button-fixed-width;
|
||||
}
|
||||
&.btn-sm {
|
||||
font-size: $btn-font-size-sm;
|
||||
}
|
||||
&.btn-lg {
|
||||
font-size: $btn-font-size-lg;
|
||||
}
|
||||
&.btn-xs {
|
||||
padding: $btn-padding-y-xs $btn-padding-x-xs;
|
||||
font-size: $btn-font-size-xs;
|
||||
}
|
||||
/* Buttons with only icons */
|
||||
&.btn-icon {
|
||||
width: 42px;
|
||||
height: 42px;
|
||||
padding: 0;
|
||||
}
|
||||
/* Buttons with icon and text */
|
||||
&.btn-icon-text {
|
||||
.btn-icon-prepend {
|
||||
margin-right: .5rem;
|
||||
}
|
||||
.btn-icon-append {
|
||||
margin-left: .5rem;
|
||||
}
|
||||
}
|
||||
&.btn-social-icon {
|
||||
width: 50px;
|
||||
height: 50px;
|
||||
padding: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.btn-group {
|
||||
.btn {
|
||||
+ .btn {
|
||||
border-left: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.btn-toolbar {
|
||||
.btn-group {
|
||||
+.btn-group {
|
||||
@extend .ml-2;
|
||||
}
|
||||
}
|
||||
}
|
||||
/*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);
|
||||
}
|
||||
.btn-#{$color}:not(.btn-light) {
|
||||
color: $white;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
color: $white;
|
||||
}
|
||||
&:focus,
|
||||
&:active {
|
||||
background: $value;
|
||||
border-color: $value;
|
||||
}
|
||||
}
|
||||
.btn-outline-#{$color} {
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
background: theme-gradient-color($color);
|
||||
color: $black;
|
||||
}
|
||||
}
|
||||
}
|
||||
/* gradient buttons */
|
||||
@each $color, $value in $theme-gradient-colors {
|
||||
.btn-gradient-#{$color} {
|
||||
@include button-gradient-variant($value);
|
||||
}
|
||||
}
|
||||
@@ -1,91 +0,0 @@
|
||||
/* Cards */
|
||||
|
||||
.card {
|
||||
border: 0;
|
||||
background: $card-bg;
|
||||
.card-body {
|
||||
padding: $card-padding-y $card-padding-x;
|
||||
+ .card-body {
|
||||
padding-top: 1rem;
|
||||
}
|
||||
}
|
||||
.card-title {
|
||||
color: $card-title-color;
|
||||
margin-bottom: 0.75rem;
|
||||
text-transform: capitalize;
|
||||
font-family: $type1-medium;
|
||||
font-size: 1.125rem;
|
||||
}
|
||||
.card-subtitle {
|
||||
@extend .text-gray;
|
||||
font-family: $type1-regular;
|
||||
margin-top: 0.625rem;
|
||||
margin-bottom: 0.625rem;
|
||||
}
|
||||
.card-description {
|
||||
color: $card-description-color;
|
||||
margin-bottom: 1.5rem;
|
||||
font-family: $type1-regular;
|
||||
}
|
||||
&.card-outline-success {
|
||||
border: 1px solid theme-color("success");
|
||||
}
|
||||
&.card-outline-primary {
|
||||
border: 1px solid theme-color("primary");
|
||||
}
|
||||
&.card-outline-warning {
|
||||
border: 1px solid theme-color("warning");
|
||||
}
|
||||
&.card-outline-danger {
|
||||
border: 1px solid theme-color("danger");
|
||||
}
|
||||
&.card-rounded {
|
||||
@include border-radius(5px);
|
||||
}
|
||||
|
||||
&.card-faded {
|
||||
background: #b5b0b2;
|
||||
border-color: #b5b0b2;
|
||||
}
|
||||
&.card-circle-progress {
|
||||
color: $white;
|
||||
text-align: center;
|
||||
}
|
||||
&.card-img-holder {
|
||||
position: relative;
|
||||
.card-img-absolute {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
right: 0;
|
||||
height: 100%;
|
||||
}
|
||||
}
|
||||
&.bg-blue-gradient {
|
||||
background: linear-gradient(to right, #065efd, #3169fd, #6f79fc);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&.bg-orange-gradient {
|
||||
background: linear-gradient(to right, #ff7f2e, #fe7452);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&.bg-green-gradient {
|
||||
background: linear-gradient(to right, #24e8a6, #09cdd1);
|
||||
color: #fff;
|
||||
}
|
||||
|
||||
&.card-no-shadow {
|
||||
box-shadow: none;
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in $theme-colors {
|
||||
.card-inverse-#{$color} {
|
||||
@include card-inverse-variant(
|
||||
rgba(theme-color($color), 0.2),
|
||||
theme-color-level($color, 1),
|
||||
theme-color-level($color, 3)
|
||||
);
|
||||
}
|
||||
}
|
||||
@@ -1,234 +0,0 @@
|
||||
/* Checkboxes and Radios */
|
||||
|
||||
.form-check {
|
||||
position: relative;
|
||||
display: block;
|
||||
margin-top: 15px;
|
||||
margin-bottom: 10px;
|
||||
padding-left: 0;
|
||||
|
||||
.form-check-label {
|
||||
display: block;
|
||||
margin-left: 1.75rem;
|
||||
font-size: $default-font-size;
|
||||
line-height: 1.5;
|
||||
.rtl & {
|
||||
margin-left: 0;
|
||||
margin-right: 1.75rem;
|
||||
}
|
||||
|
||||
input {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
.rtl & {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
margin-left: 0;
|
||||
margin-top: 0;
|
||||
z-index: 1;
|
||||
cursor: pointer;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
}
|
||||
input[type="checkbox"] {
|
||||
+ .input-helper {
|
||||
&:before,
|
||||
&:after {
|
||||
position: absolute;
|
||||
top: 0;
|
||||
left: 0;
|
||||
.rtl & {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
}
|
||||
&:before {
|
||||
content: "";
|
||||
width: 18px;
|
||||
height: 18px;
|
||||
border-radius: 2px;
|
||||
border: solid theme-color(primary);
|
||||
border-width: 2px;
|
||||
@include transition(all);
|
||||
transition-duration: 0s;
|
||||
-webkit-transition-duration: 250ms;
|
||||
transition-duration: 250ms;
|
||||
}
|
||||
|
||||
&:after {
|
||||
@include transition(all);
|
||||
transition-duration: 0s;
|
||||
-webkit-transition-duration: 250ms;
|
||||
transition-duration: 250ms;
|
||||
font-family: Material Design Icons;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
-webkit-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
content: '\F12C';
|
||||
font-size: .9375rem;
|
||||
font-weight: bold;
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
&:checked {
|
||||
+.input-helper {
|
||||
&:before {
|
||||
background: theme-gradient-color(primary);
|
||||
border-width: 0;
|
||||
}
|
||||
&:after {
|
||||
width: 18px;
|
||||
opacity: 1;
|
||||
line-height: 18px;
|
||||
filter: alpha(opacity=100);
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
+ .input-helper {
|
||||
&:before {
|
||||
border-color: $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
&:checked {
|
||||
+ .input-helper {
|
||||
&:after {
|
||||
background: $border-color;
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
input[type="radio"] {
|
||||
+.input-helper {
|
||||
&:before {
|
||||
position: absolute;
|
||||
content: "";
|
||||
top: 0;
|
||||
left: 0;
|
||||
.rtl & {
|
||||
left: auto;
|
||||
right: 0;
|
||||
}
|
||||
border: solid theme-color(primary);
|
||||
border-width: 2px;
|
||||
width: 20px;
|
||||
height: 20px;
|
||||
border-radius: 50%;
|
||||
@include transition(all);
|
||||
transition-duration: 0s;
|
||||
-webkit-transition-duration: 250ms;
|
||||
transition-duration: 250ms;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
width: 8px;
|
||||
height: 8px;
|
||||
background: $white;
|
||||
border-radius: 50%;
|
||||
top: 6px;
|
||||
left: 6px;
|
||||
.rtl & {
|
||||
left: auto;
|
||||
right: 6px;
|
||||
}
|
||||
-webkit-transition: all;
|
||||
-o-transition: all;
|
||||
transition: all;
|
||||
transition-duration: 0s;
|
||||
-webkit-transition-duration: 250ms;
|
||||
transition-duration: 250ms;
|
||||
opacity: 0;
|
||||
filter: alpha(opacity=0);
|
||||
-webkit-transform: scale(0);
|
||||
-ms-transform: scale(0);
|
||||
-o-transform: scale(0);
|
||||
transform: scale(0);
|
||||
position: absolute;
|
||||
}
|
||||
}
|
||||
|
||||
&:checked {
|
||||
+.input-helper {
|
||||
&:before {
|
||||
background: theme-gradient-color(primary);
|
||||
border-width: 0;
|
||||
}
|
||||
|
||||
&:after {
|
||||
opacity: 1;
|
||||
line-height: 1.5;
|
||||
filter: alpha(opacity=100);
|
||||
-webkit-transform: scale(1);
|
||||
-ms-transform: scale(1);
|
||||
-o-transform: scale(1);
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
&:disabled {
|
||||
+ .input-helper {
|
||||
&:before {
|
||||
border-color: $border-color;
|
||||
}
|
||||
}
|
||||
|
||||
&:checked {
|
||||
+ .input-helper {
|
||||
&:before {
|
||||
background: $border-color;
|
||||
}
|
||||
|
||||
&:after {
|
||||
background: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@each $color, $value in $theme-gradient-colors {
|
||||
.form-check-#{$color} {
|
||||
&.form-check {
|
||||
label {
|
||||
input[type="checkbox"],
|
||||
input[type="radio"] {
|
||||
+.input-helper {
|
||||
&:before {
|
||||
border-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
&:checked {
|
||||
+.input-helper {
|
||||
&:before {
|
||||
background: $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@media (min-width: 576px) {
|
||||
.form-inline .form-check {
|
||||
|
||||
}
|
||||
}
|
||||
@@ -1,34 +0,0 @@
|
||||
/* Dropdowns */
|
||||
|
||||
.dropdown {
|
||||
.dropdown-toggle {
|
||||
&:after {
|
||||
border-top: 0;
|
||||
border-right: 0;
|
||||
border-left: 0;
|
||||
border-bottom: 0;
|
||||
font: normal normal normal 24px/1 "Material Design Icons";
|
||||
content: "\f140";
|
||||
width: auto;
|
||||
height: auto;
|
||||
vertical-align: baseline;
|
||||
font-size: .75rem;
|
||||
}
|
||||
}
|
||||
.dropdown-menu {
|
||||
margin-top: .75rem;
|
||||
font-size: $default-font-size;
|
||||
box-shadow: $dropdown-menu-box-shadow;
|
||||
.dropdown-item {
|
||||
font-size: 1rem;
|
||||
padding: .25rem 1.5rem;
|
||||
&:active {
|
||||
background: initial;
|
||||
}
|
||||
&:hover {
|
||||
background-color: $dropdown-hover-bg;
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,67 +0,0 @@
|
||||
/* Forms */
|
||||
|
||||
.form-group {
|
||||
margin-bottom: 1.5rem;
|
||||
}
|
||||
.input-group-append,
|
||||
.input-group-prepend {
|
||||
color: $input-placeholder-color;
|
||||
width: auto;
|
||||
border: none;
|
||||
|
||||
.input-group-text {
|
||||
border-color: $border-color;
|
||||
padding: $input-padding-y .75rem;
|
||||
color: $input-placeholder-color;
|
||||
}
|
||||
}
|
||||
.form-control {
|
||||
border: 1px solid $border-color;
|
||||
font-family: $type1-regular;
|
||||
font-size: $input-font-size;
|
||||
&:focus {
|
||||
background-color: $form-focus-bg;
|
||||
color: $form-focus-color;
|
||||
outline: none;
|
||||
}
|
||||
}
|
||||
|
||||
select {
|
||||
&.form-control {
|
||||
padding: .4375rem .75rem;
|
||||
border: 0;
|
||||
outline: 1px solid $border-color;
|
||||
color: $input-placeholder-color;
|
||||
&:focus {
|
||||
outline: 1px solid $border-color;
|
||||
}
|
||||
@each $color, $value in $theme-colors {
|
||||
&.border-#{$color} {
|
||||
outline: 1px solid $value;
|
||||
&:focus {
|
||||
outline: 1px solid $value;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.form-group {
|
||||
label {
|
||||
font-size: $default-font-size;
|
||||
line-height: 1;
|
||||
vertical-align: top;
|
||||
margin-bottom: .5rem;
|
||||
}
|
||||
&.has-danger {
|
||||
.form-control {
|
||||
border-color: theme-color(danger);
|
||||
}
|
||||
}
|
||||
.file-upload-default {
|
||||
visibility: hidden;
|
||||
position: absolute;
|
||||
}
|
||||
.file-upload-info {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
@@ -1,23 +0,0 @@
|
||||
/* 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;
|
||||
@include display-flex;
|
||||
@include align-items(center);
|
||||
padding:15px 15px;
|
||||
font-family: $type1-regular;
|
||||
font-size: $default-font-size;
|
||||
|
||||
i {
|
||||
display: inline-block;
|
||||
font-size: 20px;
|
||||
width: 40px;
|
||||
text-align: left;
|
||||
color: theme-color(primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,170 +0,0 @@
|
||||
/* Lists */
|
||||
|
||||
ul,
|
||||
ol,
|
||||
dl {
|
||||
padding-left: 1rem;
|
||||
font-size: $default-font-size;
|
||||
li {
|
||||
line-height: 1.8;
|
||||
}
|
||||
}
|
||||
|
||||
.list-ticked,
|
||||
.list-arrow,
|
||||
.list-star {
|
||||
list-style: none;
|
||||
padding: 0;
|
||||
li {
|
||||
padding-left: 1.5rem;
|
||||
&:before {
|
||||
font-family: "Material Design Icons";
|
||||
margin-left: -1.5rem;
|
||||
width: 1.5rem;
|
||||
margin-right: .5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-ticked {
|
||||
li {
|
||||
&:before {
|
||||
content: '\F12D';
|
||||
color: theme-color(danger);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-arrow {
|
||||
li {
|
||||
&:before {
|
||||
content: '\F142';
|
||||
color: theme-color(success);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-star {
|
||||
li {
|
||||
&:before {
|
||||
content: '\F4CE';
|
||||
color: theme-color(warning);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.gradient-bullet-list {
|
||||
padding-left: 0;
|
||||
.rtl & {
|
||||
padding-right: 0;
|
||||
}
|
||||
li {
|
||||
position: relative;
|
||||
list-style-type: none;
|
||||
padding-left: 25px;
|
||||
line-height: 1;
|
||||
padding-bottom: 25px;
|
||||
&:before,
|
||||
&:after {
|
||||
content:"";
|
||||
position: absolute;
|
||||
}
|
||||
&:before {
|
||||
top: 0;
|
||||
left: 0;
|
||||
width: 15px;
|
||||
height: 15px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
&:after {
|
||||
width: 11px;
|
||||
height: 11px;
|
||||
top: 2px;
|
||||
left: 2px;
|
||||
background: $card-bg;
|
||||
border-radius: 100%;
|
||||
}
|
||||
&:nth-child(1) {
|
||||
&:before {
|
||||
background: theme-gradient-color(danger);
|
||||
}
|
||||
}
|
||||
&:nth-child(2) {
|
||||
&:before {
|
||||
background: theme-gradient-color(info);
|
||||
}
|
||||
}
|
||||
&:nth-child(3) {
|
||||
&:before {
|
||||
background: theme-gradient-color(warning);
|
||||
}
|
||||
}
|
||||
&:nth-child(4) {
|
||||
&:before {
|
||||
background: theme-gradient-color(success);
|
||||
}
|
||||
}
|
||||
&:nth-child(5) {
|
||||
&:before {
|
||||
background: theme-gradient-color(primary);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.bullet-line-list {
|
||||
padding-left: 30px;
|
||||
margin-bottom: 0;
|
||||
position: relative;
|
||||
list-style-type: none;
|
||||
|
||||
.rtl & {
|
||||
padding-right: 0px;
|
||||
}
|
||||
|
||||
li {
|
||||
position: relative;
|
||||
line-height: 1;
|
||||
padding-bottom: 10px;
|
||||
|
||||
&:before {
|
||||
content: "";
|
||||
position: absolute;
|
||||
border-radius: 100%;
|
||||
width: 12px;
|
||||
height: 12px;
|
||||
left: -28px;
|
||||
top: 6px;
|
||||
border: 3px solid theme-color(primary);
|
||||
margin-right: 15px;
|
||||
z-index: 2;
|
||||
background: $bullet-line-list-shape-bg;
|
||||
}
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
border: 1px solid $border-color;
|
||||
position: absolute;
|
||||
bottom: 0;
|
||||
left: -23px;
|
||||
height: 100%;
|
||||
}
|
||||
|
||||
&:first-child {
|
||||
&:after {
|
||||
content: "";
|
||||
height: 80%;
|
||||
}
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
padding-bottom: 0;
|
||||
|
||||
&:after {
|
||||
content: "";
|
||||
top: 0;
|
||||
height: 30%;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,122 +0,0 @@
|
||||
/* Preview */
|
||||
|
||||
.preview-list {
|
||||
.preview-item {
|
||||
@include display-flex;
|
||||
@include flex-direction(row);
|
||||
@include align-items(flex-start);
|
||||
padding: .75rem 1.5rem;
|
||||
font-size: .875rem;
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
&:hover {
|
||||
background: $dropdown-link-hover-bg;
|
||||
}
|
||||
.form-check {
|
||||
margin-top: 8px;
|
||||
margin-right: 1rem;
|
||||
}
|
||||
.preview-thumbnail {
|
||||
color: color(white);
|
||||
position: relative;
|
||||
img,
|
||||
.preview-icon {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
.preview-icon {
|
||||
padding: 6px;
|
||||
text-align: center;
|
||||
@include display-flex;
|
||||
@include align-items(center);
|
||||
@include justify-content(center);
|
||||
i {
|
||||
font-size: 1.125rem;
|
||||
margin: 0;
|
||||
.rtl & {
|
||||
@extend .ml-0;
|
||||
}
|
||||
}
|
||||
}
|
||||
.badge {
|
||||
border: 2px solid color(white);
|
||||
border-radius: 100%;
|
||||
bottom: 5px;
|
||||
display: block;
|
||||
height: 14px;
|
||||
left: -5px;
|
||||
padding: 0;
|
||||
position: absolute;
|
||||
width: 14px;
|
||||
&.badge-online {
|
||||
@extend .badge-success;
|
||||
}
|
||||
&.badge-offline {
|
||||
@extend .badge-info;
|
||||
}
|
||||
&.badge-busy {
|
||||
@extend .badge-warning;
|
||||
}
|
||||
}
|
||||
}
|
||||
.preview-item-content {
|
||||
line-height: 1;
|
||||
padding-left: 15px;
|
||||
&:first-child {
|
||||
padding-left: 0;
|
||||
}
|
||||
p {
|
||||
margin-bottom: 10px;
|
||||
.content-category {
|
||||
font-family: 'source-sans-pro-semibold', sans-serif;
|
||||
padding-right: 15px;
|
||||
border-right: 1px solid $border-color;
|
||||
@extend .text-muted;
|
||||
}
|
||||
}
|
||||
.rtl & {
|
||||
padding-left: 0;
|
||||
padding-right: 1rem;
|
||||
margin-right: 0;
|
||||
margin-left: auto;
|
||||
}
|
||||
}
|
||||
.preview-actions {
|
||||
@include display-flex;
|
||||
@include flex-direction(row);
|
||||
i {
|
||||
width: 29px;
|
||||
color: color(gray-lightest);
|
||||
height: 29px;
|
||||
border: 2px solid color(gray-lightest);
|
||||
border-radius: 100%;
|
||||
padding: 3px 6px;
|
||||
display: inline-block;
|
||||
&:first-child {
|
||||
margin-right: 10px;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
&.comment-preview {
|
||||
.preview-item {
|
||||
padding: .87rem 0;
|
||||
&:first-child {
|
||||
padding-top: 0;
|
||||
}
|
||||
p {
|
||||
line-height: 27px;
|
||||
}
|
||||
}
|
||||
}
|
||||
&.bordered {
|
||||
.preview-item {
|
||||
border-bottom: 1px solid $border-color;
|
||||
&:last-child {
|
||||
border-bottom: 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,46 +0,0 @@
|
||||
/* Tables */
|
||||
|
||||
.table {
|
||||
margin-bottom: 0;
|
||||
|
||||
thead {
|
||||
th {
|
||||
border-top: 0;
|
||||
border-bottom-width: 1px;
|
||||
font-family: $type1-medium;
|
||||
font-weight: initial;
|
||||
|
||||
i {
|
||||
margin-left: 0.325rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
th,
|
||||
td {
|
||||
vertical-align: middle;
|
||||
font-size: $default-font-size;
|
||||
line-height: 1;
|
||||
white-space: nowrap;
|
||||
|
||||
img {
|
||||
width: 36px;
|
||||
height: 36px;
|
||||
border-radius: 100%;
|
||||
}
|
||||
|
||||
.badge {
|
||||
margin-bottom: 0;
|
||||
}
|
||||
}
|
||||
|
||||
&.table-borderless {
|
||||
border: none;
|
||||
|
||||
tr,
|
||||
td,
|
||||
th {
|
||||
border: none;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,78 +0,0 @@
|
||||
/* Tabs */
|
||||
|
||||
.add-items {
|
||||
margin-bottom: 1.5rem;
|
||||
overflow: hidden;
|
||||
input[type="text"] {
|
||||
border-top-right-radius: 0;
|
||||
border-bottom-right-radius: 0;
|
||||
width: 100%;
|
||||
background: transparent;
|
||||
}
|
||||
.btn {
|
||||
margin-left: .5rem;
|
||||
.rtl & {
|
||||
margin-left: auto;
|
||||
margin-right: .5rem;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
.list-wrapper {
|
||||
height: 100%;
|
||||
max-height: 100%;
|
||||
ul {
|
||||
padding: 0;
|
||||
text-align: left;
|
||||
list-style: none;
|
||||
margin-bottom: 0;
|
||||
li {
|
||||
@extend .d-flex;
|
||||
@extend .align-items-center;
|
||||
@extend .justify-content-start;
|
||||
font-size: .9375rem;
|
||||
padding: .4rem 0;
|
||||
border-bottom: 1px solid $border-color;
|
||||
&:first-child {
|
||||
border-bottom: none;
|
||||
}
|
||||
.form-check{
|
||||
@extend %ellipsor;
|
||||
max-width: 90%;
|
||||
margin-top: .25rem;
|
||||
margin-bottom: .25rem;
|
||||
.form-check-label{
|
||||
@extend%ellipsor;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
input[type="checkbox"] {
|
||||
margin-right: 15px;
|
||||
}
|
||||
|
||||
.remove {
|
||||
@extend .ml-auto;
|
||||
@extend .text-secondary;
|
||||
.rtl & {
|
||||
@extend .ml-0;
|
||||
@extend .mr-auto;
|
||||
}
|
||||
cursor: pointer;
|
||||
font-size: 1.438rem;
|
||||
font-weight: 600;
|
||||
width: 1.25rem;
|
||||
height: 1.25rem;
|
||||
line-height: 20px;
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.completed {
|
||||
text-decoration: line-through;
|
||||
text-decoration-color: theme-color(info);
|
||||
.remove {
|
||||
@extend .text-primary;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,47 +0,0 @@
|
||||
/* Auth */
|
||||
|
||||
.auth {
|
||||
.auth-form-light {
|
||||
background: $white;
|
||||
select {
|
||||
color: $input-placeholder-color;
|
||||
}
|
||||
.input-group {
|
||||
.form-control {
|
||||
&:focus,
|
||||
&:active {
|
||||
border-color: $border-color;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
.brand-logo {
|
||||
margin-bottom: 2rem;
|
||||
img {
|
||||
width: 150px;
|
||||
}
|
||||
}
|
||||
form {
|
||||
.form-group {
|
||||
margin-bottom: 1.5rem;
|
||||
label {
|
||||
font-size: .8125rem;
|
||||
}
|
||||
.form-control {
|
||||
background: transparent;
|
||||
border-radius: 0;
|
||||
font-size: .9375rem;
|
||||
}
|
||||
}
|
||||
.auth-form-btn {
|
||||
height: 50px;
|
||||
line-height: 1.5;
|
||||
}
|
||||
.auth-link {
|
||||
font-size: $default-font-size;
|
||||
&:hover {
|
||||
color: initial;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,70 +0,0 @@
|
||||
/* Animation Mixins */
|
||||
@keyframes dropdownAnimation {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, -30px, 0);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
transform: translate3d(0, 0px, 0);
|
||||
}
|
||||
}
|
||||
|
||||
.dropdownAnimation {
|
||||
animation-name: dropdownAnimation;
|
||||
@include animation-duration($action-transition-duration);
|
||||
@include animation-fill-mode(both);
|
||||
}
|
||||
@mixin transition($settings) {
|
||||
-webkit-transition: $settings;
|
||||
-moz-transition: $settings;
|
||||
-ms-transition: $settings;
|
||||
-o-transition: $settings;
|
||||
transition: $settings;
|
||||
}
|
||||
@keyframes fadeOut {
|
||||
from {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 0;
|
||||
}
|
||||
}
|
||||
|
||||
.fadeOut {
|
||||
animation-name: fadeOut;
|
||||
}
|
||||
|
||||
.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;
|
||||
}
|
||||
@keyframes fadeInUp {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translate3d(0, 100%, 0);
|
||||
}
|
||||
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: none;
|
||||
}
|
||||
}
|
||||
|
||||
.fadeInUp {
|
||||
animation-name: fadeInUp;
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
// Background Mixins //
|
||||
@mixin bg($color) {
|
||||
background: $color;
|
||||
}
|
||||
|
||||
@mixin bg-gradient($color1, $color2) {
|
||||
background: $color1;
|
||||
/* For browsers that do not support gradients */
|
||||
background: -webkit-linear-gradient(90deg, $color1, $color2);
|
||||
/* For Safari 5.1 to 6.0 */
|
||||
background: -o-linear-gradient(90deg, $color1, $color2);
|
||||
/* For Opera 11.1 to 12.0 */
|
||||
background: -moz-linear-gradient(90deg, $color1, $color2);
|
||||
/* For Firefox 3.6 to 15 */
|
||||
background: linear-gradient(90deg, $color1, $color2);
|
||||
/* Standard syntax */
|
||||
}
|
||||
|
||||
@mixin bg-inverse-variant($color) {
|
||||
background: rgba($color, 0.2);
|
||||
}
|
||||
@@ -1,17 +0,0 @@
|
||||
//Badge Mixins
|
||||
|
||||
//Badge vriations
|
||||
@mixin badge-variations($color) {
|
||||
border: 1px solid $color;
|
||||
color: $white;
|
||||
}
|
||||
// Badge outlined variations
|
||||
@mixin badge-outline-variations($color) {
|
||||
color: $color;
|
||||
border: 1px solid $color;
|
||||
}
|
||||
// Badge outlined variations
|
||||
@mixin badge-gradient-variations($color) {
|
||||
background: $color;
|
||||
color: $white;
|
||||
}
|
||||
@@ -1,8 +0,0 @@
|
||||
// BlockQuote Mixins //
|
||||
|
||||
@mixin blockquote($color) {
|
||||
border-color: $color;
|
||||
.blockquote-footer {
|
||||
color: $color;
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// Breadcrumb color variations
|
||||
@mixin breadcrumb-inverse-variant($color) {
|
||||
background: lighten($color, 25%);
|
||||
border-color: $color;
|
||||
|
||||
.breadcrumb-item {
|
||||
color: $color;
|
||||
|
||||
&:before {
|
||||
color: inherit;
|
||||
}
|
||||
|
||||
a {
|
||||
color: inherit;
|
||||
}
|
||||
}
|
||||
|
||||
&.breadcrumb-custom {
|
||||
background: transparent;
|
||||
|
||||
.breadcrumb-item {
|
||||
background: lighten($color, 25%);
|
||||
|
||||
a {
|
||||
color: $color;
|
||||
border: none;
|
||||
|
||||
&:before {
|
||||
border-left-color: lighten($color, 25%);
|
||||
}
|
||||
}
|
||||
|
||||
span {
|
||||
color: $color;
|
||||
}
|
||||
|
||||
&:last-child {
|
||||
background: transparent;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,81 +0,0 @@
|
||||
@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;
|
||||
}
|
||||
@include hover {
|
||||
color: $color-hover;
|
||||
background-color: $color;
|
||||
border-color: $color;
|
||||
}
|
||||
|
||||
&.focus,
|
||||
&:focus {
|
||||
box-shadow: 0 0 0 3px rgba($color, .5);
|
||||
}
|
||||
|
||||
&.disabled,
|
||||
&:disabled {
|
||||
color: $color;
|
||||
background-color: transparent;
|
||||
}
|
||||
|
||||
&.active,
|
||||
&:active,
|
||||
.show > &.dropdown-toggle {
|
||||
color: $color-hover;
|
||||
background-color: $color;
|
||||
border-color: $color;
|
||||
}
|
||||
}
|
||||
@mixin button-gradient-variant($value) {
|
||||
background: $value;
|
||||
border: 0;
|
||||
&:not([disabled]):not(.disabled):active,
|
||||
&:not([disabled]):not(.disabled).active,
|
||||
.show > &.dropdown-toggle {
|
||||
background: $value;
|
||||
}
|
||||
&:hover {
|
||||
opacity: .8;
|
||||
}
|
||||
&:not(.btn-gradient-light) {
|
||||
color: $white;
|
||||
&:hover,
|
||||
&:focus,
|
||||
&:active {
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
@include transition(opacity .3s ease);
|
||||
}
|
||||
@@ -1,7 +0,0 @@
|
||||
// Cards Mixins
|
||||
|
||||
@mixin card-inverse-variant($bg, $border, $color) {
|
||||
background: $bg;
|
||||
border: 1px solid $border;
|
||||
color: $color;
|
||||
}
|
||||
@@ -1,66 +0,0 @@
|
||||
/* 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;
|
||||
}
|
||||
|
||||
@mixin 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
|
||||
}
|
||||
}
|
||||
@@ -1,19 +0,0 @@
|
||||
// Pagination variations
|
||||
@mixin pagination-variants($color) {
|
||||
.page-item {
|
||||
&.active {
|
||||
.page-link {
|
||||
background: $color;
|
||||
border-color: $color;
|
||||
}
|
||||
}
|
||||
|
||||
.page-link {
|
||||
&:hover {
|
||||
background: lighten($color,5%);
|
||||
border-color: $color;
|
||||
color: $white;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,42 +0,0 @@
|
||||
// popover color variations //
|
||||
|
||||
@mixin popover-variant($color) {
|
||||
border-color: $color;
|
||||
.popover-header {
|
||||
background: theme-gradient-color($color);
|
||||
color: $white;
|
||||
border-bottom: 0;
|
||||
}
|
||||
&.bs-popover-top {
|
||||
.arrow {
|
||||
&:before,
|
||||
&:after {
|
||||
border-top-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
&.bs-popover-right {
|
||||
.arrow {
|
||||
&:before,
|
||||
&:after {
|
||||
border-right-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
&.bs-popover-bottom {
|
||||
.arrow {
|
||||
&:before,
|
||||
&:after {
|
||||
border-bottom-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
&.bs-popover-left {
|
||||
.arrow {
|
||||
&:before,
|
||||
&:after {
|
||||
border-left-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,3 +0,0 @@
|
||||
@mixin text-color($color) {
|
||||
color: $color;
|
||||
}
|
||||
@@ -1,28 +0,0 @@
|
||||
// Tooltip color variations
|
||||
|
||||
@mixin tooltip-variant($color) {
|
||||
.tooltip-inner {
|
||||
background: theme-gradient-color($color);
|
||||
color: $white;
|
||||
}
|
||||
&.bs-tooltip-top {
|
||||
.arrow::before {
|
||||
border-top-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
&.bs-tooltip-right {
|
||||
.arrow::before {
|
||||
border-right-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
&.bs-tooltip-bottom {
|
||||
.arrow::before {
|
||||
border-bottom-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
&.bs-tooltip-left {
|
||||
.arrow::before {
|
||||
border-left-color: theme-color($color);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1,115 +0,0 @@
|
||||
/*-------------------------------------------------------------------
|
||||
===== Table of Contents =====
|
||||
|
||||
* Bootstrap functions
|
||||
* Template variables
|
||||
* SCSS Compass Functions
|
||||
* Boostrap Main SCSS
|
||||
* Template mixins
|
||||
+ Animation Mixins
|
||||
+ Background Mixins
|
||||
+ Badge Mixins
|
||||
+ Button Mixins
|
||||
+ Miscellaneous Mixins
|
||||
+ BlockQuote Mixins
|
||||
+ Cards Mixins
|
||||
+ Color Functions Mixins
|
||||
+ Tooltips
|
||||
+ popovers
|
||||
* Core Styles
|
||||
+ Reset Styles
|
||||
+ Fonts
|
||||
+ Functions
|
||||
+ Backgrounds
|
||||
+ Typography
|
||||
+ Miscellaneous
|
||||
+ Footer
|
||||
+ Layouts
|
||||
+ Utilities
|
||||
+ Demo styles
|
||||
* Components
|
||||
+ Badges
|
||||
+ Boostrap Progress
|
||||
+ Buttons
|
||||
+ Breadcrumbs
|
||||
+ Cards
|
||||
+ Checkboxes and Radios
|
||||
+ Dropdowns
|
||||
+ Forms
|
||||
+ Icons
|
||||
+ Preview
|
||||
+ Tables
|
||||
+ Todo List
|
||||
* Landing screens
|
||||
+ Auth
|
||||
-------------------------------------------------------------------*/
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* === Import Bootstrap functions and variables === */
|
||||
@import "../../../../node_modules/bootstrap/scss/functions";
|
||||
@import "../../../../node_modules/bootstrap/scss/variables";
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* === Import template variables === */
|
||||
@import './variables';
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* === SCSS Compass Functions === */
|
||||
@import "../../../../node_modules/compass-mixins/lib/compass";
|
||||
@import "../../../../node_modules/compass-mixins/lib/animate";
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* === Boostrap Main SCSS === */
|
||||
@import "../../../../node_modules/bootstrap/scss/bootstrap";
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* === Template mixins === */
|
||||
@import "./mixins/misc";
|
||||
@import "./mixins/animation";
|
||||
@import "./mixins/background";
|
||||
@import "./mixins/badges";
|
||||
@import "./mixins/blockqoute";
|
||||
@import "./mixins/buttons";
|
||||
@import "./mixins/breadcrumbs";
|
||||
@import "./mixins/cards";
|
||||
@import "./mixins/pagination";
|
||||
@import "./mixins/popovers";
|
||||
@import "./mixins/tooltips";
|
||||
@import "./mixins/text";
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* === Core Styles === */
|
||||
@import "./reset";
|
||||
@import "./functions";
|
||||
@import "./typography";
|
||||
@import "./misc";
|
||||
@import "./footer";
|
||||
@import "./utilities";
|
||||
@import "./demo";
|
||||
@import "./dashboard";
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* === Components === */
|
||||
@import "./components/badges";
|
||||
@import "./components/bootstrap-progress";
|
||||
@import "./components/buttons";
|
||||
@import "./components/breadcrumbs";
|
||||
@import "./components/cards";
|
||||
@import "./components/checkbox-radio";
|
||||
@import "./components/dropdown";
|
||||
@import "./components/forms";
|
||||
@import "./components/icons";
|
||||
@import "./components/lists";
|
||||
@import "./components/preview";
|
||||
@import "./components/tables";
|
||||
@import "./components/todo-list";
|
||||
|
||||
/*-------------------------------------------------------------------*/
|
||||
/* === Landing screens === */
|
||||
@import "./landing-screens/auth";
|
||||
|
||||
|
||||
@import './navbar';
|
||||
@import './sidebar';
|
||||
@import './layouts';
|
||||
@import './vertical-wrapper';
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because one or more lines are too long
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -1,29 +1,20 @@
|
||||
<template>
|
||||
<div class="card">
|
||||
<div class="card-header header-sm">
|
||||
<div class="d-flex align-items-center">
|
||||
<div class="wrapper d-flex align-items-center media-info text-linkedin">
|
||||
<h2 class="card-title ml-3">Existing records</h2>
|
||||
</div>
|
||||
<div class="wrapper ml-auto action-bar" v-if="callInProgress">
|
||||
<i class="mdi mdi-image-filter-vintage text-danger mdi-spin"></i>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<transition name="fade">
|
||||
<div class="alert alert-fill-danger" role="alert" v-if="errorMessage">
|
||||
<i class="mdi mdi-alert-circle"></i>
|
||||
{{errorMessage}}
|
||||
</div>
|
||||
</transition>
|
||||
<table class="table table-hover table-bordered" v-if="records && records.length > 0">
|
||||
<thead class="thead-dark">
|
||||
<v-card outlined>
|
||||
<template slot="progress">
|
||||
<v-progress-linear color="deep-purple" height="10" indeterminate></v-progress-linear>
|
||||
</template>
|
||||
<v-card-title>Existing records</v-card-title>
|
||||
<v-card-text>
|
||||
<v-row>
|
||||
<v-alert type="error" v-if="errorMessage">{{errorMessage}}</v-alert>
|
||||
<v-simple-table>
|
||||
<template v-slot:default>
|
||||
<thead>
|
||||
<tr>
|
||||
<th scope="col">Host</th>
|
||||
<th scope="col">IP</th>
|
||||
<th scope="col">Added</th>
|
||||
<th scope="col">#</th>
|
||||
<th class="text-left">Host</th>
|
||||
<th class="text-left">IP</th>
|
||||
<th class="text-left">Added</th>
|
||||
<th class="text-left">Actions</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
@@ -32,42 +23,25 @@
|
||||
<td>{{host.ip}}</td>
|
||||
<td>{{host.created_on | formatDate}}</td>
|
||||
<td>
|
||||
<div class="btn-group" role="group" aria-label="Basic example">
|
||||
<button
|
||||
@click="refreshRecord(host)"
|
||||
data-toggle="tooltip"
|
||||
title="Refresh record in BIND"
|
||||
type="button"
|
||||
class="btn btn-sm btn-primary btn-rounded btn-icon"
|
||||
>
|
||||
<i class="mdi mdi-refresh"></i>
|
||||
</button>
|
||||
<button
|
||||
@click="verifyRecord(host)"
|
||||
data-toggle="tooltip"
|
||||
title="Verify record in BIND"
|
||||
type="button"
|
||||
:disabled="callInProgress"
|
||||
class="btn btn-sm btn-primary btn-rounded btn-icon"
|
||||
>
|
||||
<i class="mdi mdi-eye-check"></i>
|
||||
</button>
|
||||
<button
|
||||
@click="deleteRecord(host)"
|
||||
data-toggle="tooltip"
|
||||
title="Delete record"
|
||||
type="button"
|
||||
class="btn btn-sm btn-primary btn-rounded btn-icon"
|
||||
>
|
||||
<i class="mdi mdi-delete"></i>
|
||||
</button>
|
||||
</div>
|
||||
<v-btn-toggle dense background-color="pink" rounded>
|
||||
<v-btn icon color="pink" @click="refreshRecord(host)">
|
||||
<v-icon dark>mdi-refresh</v-icon>
|
||||
</v-btn>
|
||||
<v-btn icon color="pink" @click="verifyRecord(host)">
|
||||
<v-icon dark>mdi-eye-check</v-icon>
|
||||
</v-btn>
|
||||
<v-btn icon color="pink" @click="deleteRecord(host)">
|
||||
<v-icon dark>mdi-delete</v-icon>
|
||||
</v-btn>
|
||||
</v-btn-toggle>
|
||||
</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
</div>
|
||||
</div>
|
||||
</template>
|
||||
</v-simple-table>
|
||||
</v-row>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
@@ -78,7 +52,6 @@ import dayjs from 'dayjs';
|
||||
// eslint-disable-next-line @typescript-eslint/no-unused-vars
|
||||
import relativeTime from 'dayjs/plugin/relativeTime';
|
||||
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
||||
import { error } from 'jquery';
|
||||
|
||||
@Component({
|
||||
name: 'DnsRecordsList',
|
||||
|
||||
@@ -1,24 +1,31 @@
|
||||
<template>
|
||||
<div class="card">
|
||||
<div class="card-header">Add new record</div>
|
||||
<div class="card-body">
|
||||
<form class="forms-sample" @submit.prevent="processUpdate">
|
||||
<div class="form-group">
|
||||
<label for="ipAddress">IP Address</label>
|
||||
<input type="text" class="form-control" id="ipAddress" v-model="ipAddress" />
|
||||
</div>
|
||||
<v-card class="mx-auto" outlined>
|
||||
<template slot="progress">
|
||||
<v-progress-linear color="deep-purple" height="10" indeterminate></v-progress-linear>
|
||||
</template>
|
||||
<v-card-title>Add New Host</v-card-title>
|
||||
<v-card-text>
|
||||
<v-row align="start" justify="start" class="mx-0">
|
||||
<v-form ref="form" v-model="valid" :lazy-validation="lazy">
|
||||
<v-text-field
|
||||
v-model="hostName"
|
||||
:rules="hostNameRules"
|
||||
label="Host Name"
|
||||
required
|
||||
></v-text-field>
|
||||
|
||||
<div class="form-group">
|
||||
<label for="hostName">Host name</label>
|
||||
<input type="text" class="form-control" id="hostName" v-model="hostName" />
|
||||
</div>
|
||||
<div class="alert alert-danger" role="alert" v-if="error">{{error}}</div>
|
||||
<button type="submit" class="btn btn-gradient-primary mr-2">Submit</button>
|
||||
<button class="btn btn-light">Cancel</button>
|
||||
</form>
|
||||
<p v-if="msg">{{ msg }}</p>
|
||||
</div>
|
||||
</div>
|
||||
<v-text-field
|
||||
v-model="ipAddress"
|
||||
:rules="ipAddressRules"
|
||||
label="IP Address"
|
||||
required
|
||||
></v-text-field>
|
||||
|
||||
<v-btn color="warning" :disabled="!valid" @click="processUpdate">Add record</v-btn>
|
||||
</v-form>
|
||||
</v-row>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { Component, PropSync, Vue } from 'vue-property-decorator';
|
||||
@@ -30,14 +37,36 @@ import { DataApiResult } from '@/api/apiResult';
|
||||
name: 'DnsUpdateForm',
|
||||
})
|
||||
export default class DnsUpdateForm extends Vue {
|
||||
public ipAddress = '';
|
||||
public hostName = '';
|
||||
public msg = '';
|
||||
msg = '';
|
||||
error = '';
|
||||
valid = true;
|
||||
lazy = false;
|
||||
|
||||
@PropSync("inrecords")
|
||||
hostName = '';
|
||||
hostNameRules = [
|
||||
(v: string) => !!v || 'Host name is required',
|
||||
(v: string) =>
|
||||
(v && v.length < 253) || 'Hostname cannot exceed 253 characters',
|
||||
];
|
||||
|
||||
ipAddress = '';
|
||||
ipAddressRules = [
|
||||
(v: string) => !!v || 'IP address is required',
|
||||
(v: string) =>
|
||||
/^(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.(25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)$/.test(
|
||||
v
|
||||
) || 'Invalid IP Address',
|
||||
(v: string) =>
|
||||
(v && v.length < 16) || 'IP address cannot exceed 16 characters',
|
||||
];
|
||||
|
||||
@PropSync('inrecords')
|
||||
public records!: DnsRecord[];
|
||||
|
||||
validate() {
|
||||
// this.$refs.form.validate();
|
||||
}
|
||||
|
||||
processUpdate() {
|
||||
dnsApi
|
||||
.updateDnsRecord(this.hostName, this.ipAddress)
|
||||
|
||||
@@ -1,99 +1,153 @@
|
||||
<template>
|
||||
<div class="hello">
|
||||
<h1>{{ msg }}</h1>
|
||||
<p>
|
||||
For a guide and recipes on how to configure / customize this project,
|
||||
<br />check out the
|
||||
<v-container>
|
||||
<v-row class="text-center">
|
||||
<v-col cols="12">
|
||||
<v-img
|
||||
:src="require('../assets/logo.svg')"
|
||||
class="my-3"
|
||||
contain
|
||||
height="200"
|
||||
/>
|
||||
</v-col>
|
||||
|
||||
<v-col class="mb-4">
|
||||
<h1 class="display-2 font-weight-bold mb-3">
|
||||
Welcome to Vuetify
|
||||
</h1>
|
||||
|
||||
<p class="subheading font-weight-regular">
|
||||
For help and collaboration with other Vuetify developers,
|
||||
<br>please join our online
|
||||
<a
|
||||
href="https://cli.vuejs.org"
|
||||
href="https://community.vuetifyjs.com"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>vue-cli documentation</a>.
|
||||
>Discord Community</a>
|
||||
</p>
|
||||
<h3>Installed CLI Plugins</h3>
|
||||
<ul>
|
||||
<li>
|
||||
</v-col>
|
||||
|
||||
<v-col
|
||||
class="mb-5"
|
||||
cols="12"
|
||||
>
|
||||
<h2 class="headline font-weight-bold mb-3">
|
||||
What's next?
|
||||
</h2>
|
||||
|
||||
<v-row justify="center">
|
||||
<a
|
||||
href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-babel"
|
||||
v-for="(next, i) in whatsNext"
|
||||
:key="i"
|
||||
:href="next.href"
|
||||
class="subheading mx-3"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>babel</a>
|
||||
</li>
|
||||
<li>
|
||||
>
|
||||
{{ next.text }}
|
||||
</a>
|
||||
</v-row>
|
||||
</v-col>
|
||||
|
||||
<v-col
|
||||
class="mb-5"
|
||||
cols="12"
|
||||
>
|
||||
<h2 class="headline font-weight-bold mb-3">
|
||||
Important Links
|
||||
</h2>
|
||||
|
||||
<v-row justify="center">
|
||||
<a
|
||||
href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-router"
|
||||
v-for="(link, i) in importantLinks"
|
||||
:key="i"
|
||||
:href="link.href"
|
||||
class="subheading mx-3"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>router</a>
|
||||
</li>
|
||||
<li>
|
||||
>
|
||||
{{ link.text }}
|
||||
</a>
|
||||
</v-row>
|
||||
</v-col>
|
||||
|
||||
<v-col
|
||||
class="mb-5"
|
||||
cols="12"
|
||||
>
|
||||
<h2 class="headline font-weight-bold mb-3">
|
||||
Ecosystem
|
||||
</h2>
|
||||
|
||||
<v-row justify="center">
|
||||
<a
|
||||
href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-eslint"
|
||||
v-for="(eco, i) in ecosystem"
|
||||
:key="i"
|
||||
:href="eco.href"
|
||||
class="subheading mx-3"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>eslint</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/vuejs/vue-cli/tree/dev/packages/%40vue/cli-plugin-typescript"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>typescript</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Essential Links</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://vuejs.org" target="_blank" rel="noopener">Core Docs</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://forum.vuejs.org" target="_blank" rel="noopener">Forum</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://chat.vuejs.org" target="_blank" rel="noopener">Community Chat</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://twitter.com/vuejs" target="_blank" rel="noopener">Twitter</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://news.vuejs.org" target="_blank" rel="noopener">News</a>
|
||||
</li>
|
||||
</ul>
|
||||
<h3>Ecosystem</h3>
|
||||
<ul>
|
||||
<li>
|
||||
<a href="https://router.vuejs.org" target="_blank" rel="noopener">vue-router</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://vuex.vuejs.org" target="_blank" rel="noopener">vuex</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/vuejs/vue-devtools#vue-devtools"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>vue-devtools</a>
|
||||
</li>
|
||||
<li>
|
||||
<a href="https://vue-loader.vuejs.org" target="_blank" rel="noopener">vue-loader</a>
|
||||
</li>
|
||||
<li>
|
||||
<a
|
||||
href="https://github.com/vuejs/awesome-vue"
|
||||
target="_blank"
|
||||
rel="noopener"
|
||||
>awesome-vue</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
>
|
||||
{{ eco.text }}
|
||||
</a>
|
||||
</v-row>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
import { Component, Prop, Vue } from 'vue-property-decorator';
|
||||
import Vue from 'vue'
|
||||
|
||||
@Component
|
||||
export default class HelloWorld extends Vue {
|
||||
@Prop() private msg!: string;
|
||||
}
|
||||
export default Vue.extend({
|
||||
name: 'HelloWorld',
|
||||
|
||||
data: () => ({
|
||||
ecosystem: [
|
||||
{
|
||||
text: 'vuetify-loader',
|
||||
href: 'https://github.com/vuetifyjs/vuetify-loader',
|
||||
},
|
||||
{
|
||||
text: 'github',
|
||||
href: 'https://github.com/vuetifyjs/vuetify',
|
||||
},
|
||||
{
|
||||
text: 'awesome-vuetify',
|
||||
href: 'https://github.com/vuetifyjs/awesome-vuetify',
|
||||
},
|
||||
],
|
||||
importantLinks: [
|
||||
{
|
||||
text: 'Documentation',
|
||||
href: 'https://vuetifyjs.com',
|
||||
},
|
||||
{
|
||||
text: 'Chat',
|
||||
href: 'https://community.vuetifyjs.com',
|
||||
},
|
||||
{
|
||||
text: 'Made with Vuetify',
|
||||
href: 'https://madewithvuejs.com/vuetify',
|
||||
},
|
||||
{
|
||||
text: 'Twitter',
|
||||
href: 'https://twitter.com/vuetifyjs',
|
||||
},
|
||||
{
|
||||
text: 'Articles',
|
||||
href: 'https://medium.com/vuetify',
|
||||
},
|
||||
],
|
||||
whatsNext: [
|
||||
{
|
||||
text: 'Explore components',
|
||||
href: 'https://vuetifyjs.com/components/api-explorer',
|
||||
},
|
||||
{
|
||||
text: 'Select a layout',
|
||||
href: 'https://vuetifyjs.com/getting-started/pre-made-layouts',
|
||||
},
|
||||
{
|
||||
text: 'Frequently Asked Questions',
|
||||
href: 'https://vuetifyjs.com/getting-started/frequently-asked-questions',
|
||||
},
|
||||
],
|
||||
}),
|
||||
})
|
||||
</script>
|
||||
|
||||
|
||||
@@ -1,54 +1,27 @@
|
||||
<template>
|
||||
<nav class="sidebar sidebar-offcanvas" id="sidebar">
|
||||
<ul class="nav">
|
||||
<li class="nav-item nav-profile">
|
||||
<router-link to="/" class="nav-link">
|
||||
<div class="nav-profile-image">
|
||||
<img src="https://placebeard.it/128x128" alt="profile" />
|
||||
<span class="login-status online"></span>
|
||||
<!--change to offline or busy as needed-->
|
||||
</div>
|
||||
<div class="nav-profile-text d-flex flex-column">
|
||||
<span
|
||||
class="font-weight-bold mb-2"
|
||||
>{{ this.$store.state.user.fullName }}</span>
|
||||
<span class="text-secondary text-small">Beard Manager</span>
|
||||
</div>
|
||||
<i class="mdi mdi-bookmark-check text-success nav-profile-badge"></i>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item" v-if="false">
|
||||
<router-link class="nav-link" to="/debug">
|
||||
<span class="menu-title">Debug</span>
|
||||
<i class="mdi mdi-bug menu-icon"></i>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<router-link class="nav-link" to="/bitchns">
|
||||
<span class="menu-title">DNS Config</span>
|
||||
<i class="mdi mdi-dns menu-icon"></i>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<router-link class="nav-link" to="/myip">
|
||||
<span class="menu-title">My IP Address</span>
|
||||
<i class="mdi mdi-ip menu-icon"></i>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<router-link class="nav-link" to="/jwt">
|
||||
<span class="menu-title">JWT Decoder</span>
|
||||
<i class="mdi mdi-code-array menu-icon"></i>
|
||||
</router-link>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<router-link class="nav-link" to="/lights">
|
||||
<span class="menu-title">Lights</span>
|
||||
<i class="mdi mdi-lightbulb menu-icon"></i>
|
||||
</router-link>
|
||||
</li>
|
||||
</ul>
|
||||
</nav>
|
||||
<v-navigation-drawer v-model="drawer" app clipped color="grey lighten-4">
|
||||
<v-list dense class="grey lighten-4">
|
||||
<template v-for="(item, i) in items">
|
||||
<v-row v-if="item.heading" :key="i" align="center">
|
||||
<v-col cols="6">
|
||||
<v-subheader v-if="item.heading">{{ item.heading }}</v-subheader>
|
||||
</v-col>
|
||||
<v-col cols="6" class="text-right">
|
||||
<v-btn small text>edit</v-btn>
|
||||
</v-col>
|
||||
</v-row>
|
||||
<v-divider v-else-if="item.divider" :key="i" dark class="my-4"></v-divider>
|
||||
<v-list-item v-else :key="i" link @click="$router.push({ path: item.route })">
|
||||
<v-list-item-action>
|
||||
<v-icon>{{ item.icon }}</v-icon>
|
||||
</v-list-item-action>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title class="grey--text">{{ item.title }}</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
</template>
|
||||
</v-list>
|
||||
</v-navigation-drawer>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
@@ -56,6 +29,13 @@ import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
@Component
|
||||
export default class SideBarNav extends Vue {
|
||||
|
||||
drawer = null;
|
||||
items = [
|
||||
{ title: 'Debug', icon: 'mdi-bug', route: 'debug' },
|
||||
{ title: 'DNS Config', icon: 'mdi-dns', route: 'bitchns' },
|
||||
{ title: 'IP Tools', icon: 'mdi-ip', route: 'myip' },
|
||||
{ title: 'JWT Decoder', icon: 'mdi-code-array', route: 'jwt' },
|
||||
{ title: 'Lights', icon: 'mdi-lightbulb', route: 'lights' },
|
||||
];
|
||||
}
|
||||
</script>
|
||||
|
||||
@@ -1,138 +1,15 @@
|
||||
<template>
|
||||
<nav class="navbar default-layout-navbar col-lg-12 col-12 p-0 fixed-top d-flex flex-row">
|
||||
<div
|
||||
class="text-center navbar-brand-wrapper d-flex align-items-center justify-content-center"
|
||||
>
|
||||
<a class="navbar-brand brand-logo" href="/">
|
||||
<img src="/images/logo.png" alt="logo" />
|
||||
</a>
|
||||
<a class="navbar-brand brand-logo-mini" href="/">
|
||||
<img src="/images/logo-mini.svg" alt="logo" />
|
||||
</a>
|
||||
</div>
|
||||
<div class="navbar-menu-wrapper d-flex align-items-stretch">
|
||||
<button
|
||||
class="navbar-toggler navbar-toggler align-self-center"
|
||||
type="button"
|
||||
data-toggle="minimize"
|
||||
>
|
||||
<span class="mdi mdi-menu"></span>
|
||||
</button>
|
||||
<div class="search-field d-none d-md-block">
|
||||
<form class="d-flex align-items-center h-100" action="#">
|
||||
<div class="input-group">
|
||||
<div class="input-group-prepend bg-transparent">
|
||||
<i class="input-group-text border-0 mdi mdi-magnify"></i>
|
||||
</div>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control bg-transparent border-0"
|
||||
placeholder="Search projects"
|
||||
/>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
|
||||
<ul class="navbar-nav navbar-nav-right">
|
||||
<li class="nav-item dropdown">
|
||||
<a
|
||||
class="nav-link count-indicator dropdown-toggle"
|
||||
id="notificationDropdown"
|
||||
href="#"
|
||||
data-toggle="dropdown"
|
||||
>
|
||||
<i class="mdi mdi-bell-outline"></i>
|
||||
<span class="count-symbol bg-danger"></span>
|
||||
</a>
|
||||
<div
|
||||
class="dropdown-menu dropdown-menu-right navbar-dropdown preview-list"
|
||||
aria-labelledby="notificationDropdown"
|
||||
>
|
||||
<h6 class="p-3 mb-0">Notifications</h6>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item preview-item">
|
||||
<div class="preview-thumbnail">
|
||||
<div class="preview-icon bg-success">
|
||||
<i class="mdi mdi-calendar"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="preview-item-content d-flex align-items-start flex-column justify-content-center"
|
||||
>
|
||||
<h6 class="preview-subject font-weight-normal mb-1">Event today</h6>
|
||||
<p
|
||||
class="text-gray ellipsis mb-0"
|
||||
>Just a reminder that you have an event today</p>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item preview-item">
|
||||
<div class="preview-thumbnail">
|
||||
<div class="preview-icon bg-warning">
|
||||
<i class="mdi mdi-settings"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="preview-item-content d-flex align-items-start flex-column justify-content-center"
|
||||
>
|
||||
<h6 class="preview-subject font-weight-normal mb-1">Settings</h6>
|
||||
<p class="text-gray ellipsis mb-0">Update dashboard</p>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item preview-item">
|
||||
<div class="preview-thumbnail">
|
||||
<div class="preview-icon bg-info">
|
||||
<i class="mdi mdi-link-variant"></i>
|
||||
</div>
|
||||
</div>
|
||||
<div
|
||||
class="preview-item-content d-flex align-items-start flex-column justify-content-center"
|
||||
>
|
||||
<h6 class="preview-subject font-weight-normal mb-1">Launch Admin</h6>
|
||||
<p class="text-gray ellipsis mb-0">New admin wow!</p>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<h6 class="p-3 mb-0 text-center">See all notifications</h6>
|
||||
</div>
|
||||
</li>
|
||||
<li class="nav-item nav-profile dropdown">
|
||||
<a
|
||||
class="nav-link dropdown-toggle"
|
||||
id="profileDropdown"
|
||||
href="#"
|
||||
data-toggle="dropdown"
|
||||
aria-expanded="false"
|
||||
>
|
||||
<div class="nav-profile-img">
|
||||
<img src="https://placebeard.it/128x128" alt="image" />
|
||||
<span class="availability-status online"></span>
|
||||
</div>
|
||||
<div class="nav-profile-text">
|
||||
<p class="mb-1 text-black">{{this.$store.state.user.fullName}}</p>
|
||||
</div>
|
||||
</a>
|
||||
<div class="dropdown-menu navbar-dropdown" aria-labelledby="profileDropdown">
|
||||
<a class="dropdown-item" href="#">
|
||||
<i class="mdi mdi-cached mr-2 text-success"></i> Activity Log
|
||||
</a>
|
||||
<div class="dropdown-divider"></div>
|
||||
<a class="dropdown-item" @click="signout">
|
||||
<i class="mdi mdi-logout mr-2 text-primary"></i> Signout
|
||||
</a>
|
||||
</div>
|
||||
</li>
|
||||
</ul>
|
||||
<button
|
||||
class="navbar-toggler navbar-toggler-right d-lg-none align-self-center"
|
||||
type="button"
|
||||
data-toggle="offcanvas"
|
||||
>
|
||||
<span class="mdi mdi-menu"></span>
|
||||
</button>
|
||||
</div>
|
||||
</nav>
|
||||
<v-app-bar app clipped-left color="#90CAF9">
|
||||
<v-app-bar-nav-icon @click="drawer = !drawer"></v-app-bar-nav-icon>
|
||||
<span class="title ml-3 mr-5">
|
||||
Bitch
|
||||
<span class="font-weight-light">Mints</span>
|
||||
</span>
|
||||
<v-spacer></v-spacer>
|
||||
<v-btn icon>
|
||||
<v-icon>mdi-exit-to-app</v-icon>
|
||||
</v-btn>
|
||||
</v-app-bar>
|
||||
</template>
|
||||
<script>
|
||||
import { Component, Prop, Vue } from 'vue-property-decorator';
|
||||
|
||||
@@ -6,6 +6,8 @@ import router from './router';
|
||||
import store from '@/store';
|
||||
import $ from 'jquery';
|
||||
import 'bootstrap';
|
||||
import vuetify from '@/plugins/vuetify';
|
||||
|
||||
|
||||
Vue.config.productionTip = false;
|
||||
Vue.use(Toasted, {
|
||||
@@ -16,5 +18,6 @@ Vue.use(Toasted, {
|
||||
new Vue({
|
||||
router,
|
||||
store,
|
||||
render: (h) => h(App),
|
||||
vuetify,
|
||||
render: (h) => h(App)
|
||||
}).$mount('#app');
|
||||
|
||||
@@ -1 +0,0 @@
|
||||
export interface DnsUpdate {}
|
||||
@@ -3,5 +3,4 @@ export * from './authResult';
|
||||
export * from './userLoginModel';
|
||||
export * from './user';
|
||||
export * from './user';
|
||||
export * from './dnsUpdapte';
|
||||
export * from './light';
|
||||
|
||||
9
client/src/plugins/vuetify.ts
Normal file
9
client/src/plugins/vuetify.ts
Normal file
@@ -0,0 +1,9 @@
|
||||
import Vue from 'vue';
|
||||
import Vuetify from 'vuetify';
|
||||
import 'vuetify/dist/vuetify.min.css';
|
||||
|
||||
Vue.use(Vuetify);
|
||||
|
||||
const opts = {};
|
||||
|
||||
export default new Vuetify(opts);
|
||||
@@ -1,22 +1,24 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="page-header">
|
||||
<h3 class="page-title">
|
||||
<span class="page-title-icon bg-gradient-primary text-white mr-2">
|
||||
<i class="mdi mdi-dns"></i>
|
||||
</span> BitchMints Dynamic DNS Stuff
|
||||
</h3>
|
||||
</div>
|
||||
|
||||
<div class="row">
|
||||
<div class="col-md-6 grid-margin stretch-card">
|
||||
<DnsUpdateForm :inrecords.sync="dnsRecords"/>
|
||||
</div>
|
||||
<div class="col-md-6 grid-margin stretch-card">
|
||||
<DnsRecordsList :inrecords.sync="dnsRecords"/>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<v-container id="dashboard" fluid tag="section">
|
||||
<v-row>
|
||||
<v-col cols="12" sm="4" lg="4">
|
||||
<DnsUpdateForm :inrecords="dnsRecords" />
|
||||
</v-col>
|
||||
<v-col cols="12" sm="8" lg="8">
|
||||
<DnsRecordsList :inrecords="dnsRecords" />
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-container>
|
||||
<!-- <v-container fluid grid-list-xl>
|
||||
<v-layout row wrap>
|
||||
<v-flex sm4 xs4>
|
||||
<DnsUpdateForm :inrecords="dnsRecords" />
|
||||
</v-flex>
|
||||
<v-flex d-flex lg4 sm6 xs12>
|
||||
<DnsRecordsList :inrecords="dnsRecords" />
|
||||
</v-flex>
|
||||
</v-layout>
|
||||
</v-container>-->
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
|
||||
@@ -1,50 +1,44 @@
|
||||
<template>
|
||||
<div>
|
||||
<div class="page-header">
|
||||
<h3 class="page-title">JWT Token Decoder</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-12 grid-margin stretch-card">
|
||||
<div class="card">
|
||||
<div class="card-body">
|
||||
<form class="forms-sample">
|
||||
<div class="form-group">
|
||||
<label for="exampleInputUsername1">Enter JWT Token</label>
|
||||
<input
|
||||
type="text"
|
||||
class="form-control"
|
||||
<v-row>
|
||||
<v-col cols="12" class="pa-4" sm="5" lg="5">
|
||||
<v-card class="elevation-12">
|
||||
<v-list-item>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title class="headline">JWT Token Decoder</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<v-card-text>
|
||||
<v-form ref="form">
|
||||
<v-text-field
|
||||
v-model="token"
|
||||
label="JWT Token"
|
||||
@keydown="tokenChanged"
|
||||
placeholder="JWT Token"
|
||||
/>
|
||||
</div>
|
||||
required
|
||||
></v-text-field>
|
||||
</v-form>
|
||||
<transition name="fade">
|
||||
<div v-if="error" class="alert alert-danger" role="alert">{{error}}</div>
|
||||
</transition>
|
||||
</form>
|
||||
<!-- <table class="table table-bordered" v-if="decoded.iat"> -->
|
||||
<div class="row" v-if="decoded">
|
||||
<div
|
||||
class="col-md-6"
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
<v-col cols="12" class="pa-4" sm="7" lg="7">
|
||||
<v-row>
|
||||
<v-col
|
||||
cols="12"
|
||||
sm="6"
|
||||
v-for="(value, propertyName) in decoded"
|
||||
:key="propertyName"
|
||||
>
|
||||
<div class="wrapper ml-3">
|
||||
<dl>
|
||||
<dt>
|
||||
{{propertyName | narrativeText}}
|
||||
<small>({{propertyName}})</small>
|
||||
</dt>
|
||||
<dd>{{value | transformValue(propertyName)}}</dd>
|
||||
</dl>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<v-card class="pa-2">
|
||||
<v-card-title>{{propertyName | narrativeText}}</v-card-title>
|
||||
<v-card-subtitle>({{propertyName}})</v-card-subtitle>
|
||||
<v-card-text>{{value | transformValue(propertyName)}}</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
<script lang="ts">
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
|
||||
@@ -1,52 +1,47 @@
|
||||
|
||||
<template>
|
||||
<div>
|
||||
<div class="page-header">
|
||||
<h3 class="page-title">
|
||||
<span class="page-title-icon bg-gradient-primary text-white mr-2">
|
||||
<i class="mdi mdi-home"></i>
|
||||
</span> Lights
|
||||
</h3>
|
||||
</div>
|
||||
<div class="row">
|
||||
<div class="col-md-6 grid-margin stretch-card">
|
||||
<div class="card">
|
||||
<div class="card-body" v-if="currentLight && currentLight.supportsColour">
|
||||
<form class="forms-sample" @submit.prevent="processUpdate">
|
||||
<div class="form-group">
|
||||
<label for="light-list">Choose light</label>
|
||||
<v-row>
|
||||
<v-col cols="12" class="pa-12" sm="4" lg="4">
|
||||
<v-skeleton-loader
|
||||
v-if="lights.length===0"
|
||||
class="mx-auto"
|
||||
max-width="300"
|
||||
type="list-item-avatar-three-line"
|
||||
></v-skeleton-loader>
|
||||
|
||||
<v-card class="elevation-12" v-if="lights.length !== 0 && currentLight">
|
||||
<v-list-item>
|
||||
<v-list-item-content>
|
||||
<v-list-item-title class="headline">Light Settings</v-list-item-title>
|
||||
</v-list-item-content>
|
||||
</v-list-item>
|
||||
<v-card-text>
|
||||
<v-select
|
||||
label="name"
|
||||
:options="lights"
|
||||
:value="currentLight"
|
||||
@input="light => onLightChange(light)"
|
||||
label="Choose light"
|
||||
item-text="name"
|
||||
item-value="id"
|
||||
:items="lights"
|
||||
v-model="currentLight"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="brightness">Brightness</label>
|
||||
<input
|
||||
type="range"
|
||||
max="254"
|
||||
class="form-control-range"
|
||||
id="brightness"
|
||||
<v-slider
|
||||
@change="light => changeBrightness(currentLight)"
|
||||
:max="254"
|
||||
v-model="currentLight.brightness"
|
||||
/>
|
||||
</div>
|
||||
<div class="form-group">
|
||||
<label for="colour">Colour</label>
|
||||
<compact-picker
|
||||
v-model="currentLight.rgbColour"
|
||||
label="Brightness"
|
||||
></v-slider>
|
||||
<v-row justify="space-around">
|
||||
<v-color-picker
|
||||
@input="changeColour"
|
||||
></compact-picker>
|
||||
</div>
|
||||
</form>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
v-model="currentLight.rgbColour"
|
||||
class="ma-2"
|
||||
:swatches="swatches"
|
||||
show-swatches
|
||||
hide-mode-switch
|
||||
></v-color-picker>
|
||||
</v-row>
|
||||
</v-card-text>
|
||||
</v-card>
|
||||
</v-col>
|
||||
</v-row>
|
||||
</template>
|
||||
|
||||
<script lang="ts">
|
||||
@@ -58,6 +53,7 @@ var colors = require('vue-color');
|
||||
import { Component, Vue } from 'vue-property-decorator';
|
||||
import { lightsApi } from '@/api';
|
||||
import { Light } from '@/models/interfaces';
|
||||
import { debounce } from 'decko';
|
||||
|
||||
@Component({
|
||||
components: {
|
||||
@@ -65,11 +61,36 @@ import { Light } from '@/models/interfaces';
|
||||
},
|
||||
})
|
||||
export default class Lights extends Vue {
|
||||
error = '';
|
||||
loading = true;
|
||||
transition = 'scale-transition';
|
||||
transitions = [
|
||||
{
|
||||
text: 'None',
|
||||
value: undefined,
|
||||
},
|
||||
{
|
||||
text: 'Fade Transition',
|
||||
value: 'fade-transition',
|
||||
},
|
||||
{
|
||||
text: 'Scale Transition',
|
||||
value: 'scale-transition',
|
||||
},
|
||||
];
|
||||
lights: Light[] = [];
|
||||
currentLight: Light | null = null;
|
||||
swatches = [
|
||||
['#FF0000', '#AA0000', '#550000'],
|
||||
['#FFFF00', '#AAAA00', '#555500'],
|
||||
['#00FF00', '#00AA00', '#005500'],
|
||||
['#00FFFF', '#00AAAA', '#005555'],
|
||||
['#0000FF', '#0000AA', '#000055'],
|
||||
];
|
||||
async mounted() {
|
||||
this.lights = await lightsApi.getLights();
|
||||
this.currentLight = this.lights[0];
|
||||
this.loading = false;
|
||||
console.log('Lights', 'mounted', 'lights', this.lights);
|
||||
}
|
||||
|
||||
@@ -79,26 +100,26 @@ export default class Lights extends Vue {
|
||||
light.id,
|
||||
parseInt(light.brightness.toString())
|
||||
);
|
||||
if (result) {
|
||||
Vue.toasted.success('Brightness changed');
|
||||
} else {
|
||||
if (!result) {
|
||||
Vue.toasted.error('Failed to set the brightness');
|
||||
}
|
||||
}
|
||||
|
||||
@debounce(1000)
|
||||
async changeColour(value: any) {
|
||||
console.log('Lights', 'changeColour', value);
|
||||
if (this.currentLight != null) {
|
||||
this.currentLight.rgbColour = value.hex;
|
||||
this.currentLight.rgbColour = value;
|
||||
const result = await lightsApi.changeColour(
|
||||
this.currentLight.id,
|
||||
this.currentLight.rgbColour
|
||||
);
|
||||
if (result) {
|
||||
Vue.toasted.success('Colour changed');
|
||||
} else {
|
||||
if (!result) {
|
||||
Vue.toasted.error('Failed to set the colour');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
onLightChange(light: any): void {
|
||||
console.log('Lights', 'onLightChange', light, this.currentLight);
|
||||
this.currentLight = light;
|
||||
|
||||
@@ -2,10 +2,11 @@ module.exports = {
|
||||
pluginOptions: {
|
||||
'style-resources-loader': {
|
||||
preProcessor: 'scss',
|
||||
patterns: []
|
||||
}
|
||||
patterns: [],
|
||||
},
|
||||
},
|
||||
configureWebpack: {
|
||||
devtool: "source-map"
|
||||
}
|
||||
}
|
||||
devtool: 'source-map',
|
||||
},
|
||||
transpileDependencies: ['vuetify'],
|
||||
};
|
||||
|
||||
134
client/yarn.lock
134
client/yarn.lock
@@ -1051,6 +1051,11 @@
|
||||
resolved "https://registry.yarnpkg.com/@types/jwt-decode/-/jwt-decode-2.2.1.tgz#afdf5c527fcfccbd4009b5fd02d1e18241f2d2f2"
|
||||
integrity sha512-aWw2YTtAdT7CskFyxEX2K21/zSDStuf/ikI3yBqmwpwJF0pS+/IX5DWv+1UFffZIbruP6cnT9/LAJV1gFwAT1A==
|
||||
|
||||
"@types/lodash@^4.14.161":
|
||||
version "4.14.161"
|
||||
resolved "https://registry.yarnpkg.com/@types/lodash/-/lodash-4.14.161.tgz#a21ca0777dabc6e4f44f3d07f37b765f54188b18"
|
||||
integrity sha512-EP6O3Jkr7bXvZZSZYlsgt5DIjiGr0dXP1/jVEwVLTFgg0d+3lWVQkRavYVQszV7dYUwvg0B8R0MBDpcmXg7XIA==
|
||||
|
||||
"@types/mime@*":
|
||||
version "2.0.3"
|
||||
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-2.0.3.tgz#c893b73721db73699943bfc3653b1deb7faa4a3a"
|
||||
@@ -1133,13 +1138,6 @@
|
||||
dependencies:
|
||||
source-map "^0.6.1"
|
||||
|
||||
"@types/vue-select@^2.5.0":
|
||||
version "2.5.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/vue-select/-/vue-select-2.5.0.tgz#b674ab3f37bb591e0c9f37b984a52342422f284f"
|
||||
integrity sha512-dQh+ytU5dNTTD41Be6YkN1icu/VTaVe1ntcHktk5/OLuhVsDAketgXaILPEGx91Mi3c8Gj+f2Yg+JMW/9gwEuw==
|
||||
dependencies:
|
||||
vue ">=2.0.0"
|
||||
|
||||
"@types/webpack-dev-server@^3.11.0":
|
||||
version "3.11.0"
|
||||
resolved "https://registry.yarnpkg.com/@types/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz#bcc3b85e7dc6ac2db25330610513f2228c2fcfb2"
|
||||
@@ -2496,6 +2494,21 @@ check-types@^8.0.3:
|
||||
resolved "https://registry.yarnpkg.com/check-types/-/check-types-8.0.3.tgz#3356cca19c889544f2d7a95ed49ce508a0ecf552"
|
||||
integrity sha512-YpeKZngUmG65rLudJ4taU7VLkOCTMhNl/u4ctNC56LQS/zJTyNH0Lrtwm1tfTsbLlwvlfsA2d1c8vCf/Kh2KwQ==
|
||||
|
||||
"chokidar@>=2.0.0 <4.0.0", chokidar@^3.3.0, chokidar@^3.4.1:
|
||||
version "3.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
|
||||
integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
|
||||
dependencies:
|
||||
anymatch "~3.1.1"
|
||||
braces "~3.0.2"
|
||||
glob-parent "~5.1.0"
|
||||
is-binary-path "~2.1.0"
|
||||
is-glob "~4.0.1"
|
||||
normalize-path "~3.0.0"
|
||||
readdirp "~3.4.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.1.2"
|
||||
|
||||
chokidar@^2.1.8:
|
||||
version "2.1.8"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-2.1.8.tgz#804b3a7b6a99358c3c5c61e71d8728f041cff917"
|
||||
@@ -2515,21 +2528,6 @@ chokidar@^2.1.8:
|
||||
optionalDependencies:
|
||||
fsevents "^1.2.7"
|
||||
|
||||
chokidar@^3.3.0, chokidar@^3.4.1:
|
||||
version "3.4.2"
|
||||
resolved "https://registry.yarnpkg.com/chokidar/-/chokidar-3.4.2.tgz#38dc8e658dec3809741eb3ef7bb0a47fe424232d"
|
||||
integrity sha512-IZHaDeBeI+sZJRX7lGcXsdzgvZqKv6sECqsbErJA4mHWfpRrD8B97kSFN4cQz6nGBGiuFia1MKR4d6c1o8Cv7A==
|
||||
dependencies:
|
||||
anymatch "~3.1.1"
|
||||
braces "~3.0.2"
|
||||
glob-parent "~5.1.0"
|
||||
is-binary-path "~2.1.0"
|
||||
is-glob "~4.0.1"
|
||||
normalize-path "~3.0.0"
|
||||
readdirp "~3.4.0"
|
||||
optionalDependencies:
|
||||
fsevents "~2.1.2"
|
||||
|
||||
chownr@^1.1.1, chownr@^1.1.2:
|
||||
version "1.1.4"
|
||||
resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.4.tgz#6fc9d7b42d32a583596337666e7d08084da2cc6b"
|
||||
@@ -3222,6 +3220,11 @@ decamelize@^1.1.2, decamelize@^1.2.0:
|
||||
resolved "https://registry.yarnpkg.com/decamelize/-/decamelize-1.2.0.tgz#f6534d15148269b20352e7bee26f501f9a191290"
|
||||
integrity sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=
|
||||
|
||||
decko@^1.2.0:
|
||||
version "1.2.0"
|
||||
resolved "https://registry.yarnpkg.com/decko/-/decko-1.2.0.tgz#fd43c735e967b8013306884a56fbe665996b6817"
|
||||
integrity sha1-/UPHNelnuAEzBohKVvvmZZlraBc=
|
||||
|
||||
decode-uri-component@^0.2.0:
|
||||
version "0.2.0"
|
||||
resolved "https://registry.yarnpkg.com/decode-uri-component/-/decode-uri-component-0.2.0.tgz#eb3913333458775cb84cd1a1fae062106bb87545"
|
||||
@@ -3346,6 +3349,11 @@ destroy@~1.0.4:
|
||||
resolved "https://registry.yarnpkg.com/destroy/-/destroy-1.0.4.tgz#978857442c44749e4206613e37946205826abd80"
|
||||
integrity sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=
|
||||
|
||||
detect-libc@^1.0.3:
|
||||
version "1.0.3"
|
||||
resolved "https://registry.yarnpkg.com/detect-libc/-/detect-libc-1.0.3.tgz#fa137c4bd698edf55cd5cd02ac559f91a4c4ba9b"
|
||||
integrity sha1-+hN8S9aY7fVc1c0CrFWfkaTEups=
|
||||
|
||||
detect-node@^2.0.4:
|
||||
version "2.0.4"
|
||||
resolved "https://registry.yarnpkg.com/detect-node/-/detect-node-2.0.4.tgz#014ee8f8f669c5c58023da64b8179c083a28c46c"
|
||||
@@ -4026,6 +4034,13 @@ faye-websocket@~0.11.1:
|
||||
dependencies:
|
||||
websocket-driver ">=0.5.1"
|
||||
|
||||
fibers@^5.0.0:
|
||||
version "5.0.0"
|
||||
resolved "https://registry.yarnpkg.com/fibers/-/fibers-5.0.0.tgz#3a60e0695b3ee5f6db94e62726716fa7a59acc41"
|
||||
integrity sha512-UpGv/YAZp7mhKHxDvC1tColrroGRX90sSvh8RMZV9leo+e5+EkRVgCEZPlmXeo3BUNQTZxUaVdLskq1Q2FyCPg==
|
||||
dependencies:
|
||||
detect-libc "^1.0.3"
|
||||
|
||||
figgy-pudding@^3.5.1:
|
||||
version "3.5.2"
|
||||
resolved "https://registry.yarnpkg.com/figgy-pudding/-/figgy-pudding-3.5.2.tgz#b4eee8148abb01dcf1d1ac34367d59e12fa61d6e"
|
||||
@@ -4045,7 +4060,7 @@ file-entry-cache@^5.0.1:
|
||||
dependencies:
|
||||
flat-cache "^2.0.1"
|
||||
|
||||
file-loader@^4.2.0:
|
||||
file-loader@^4.0.0, file-loader@^4.2.0:
|
||||
version "4.3.0"
|
||||
resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-4.3.0.tgz#780f040f729b3d18019f20605f723e844b8a58af"
|
||||
integrity sha512-aKrYPYjF1yG3oX0kWRrqrSMfgftm7oJW5M+m4owoldH5C51C0RkIwB++JbRvEW3IU6/ZG5n8UvEcdgwOt2UOWA==
|
||||
@@ -4960,6 +4975,11 @@ internal-ip@^4.3.0:
|
||||
default-gateway "^4.2.0"
|
||||
ipaddr.js "^1.9.0"
|
||||
|
||||
interpret@^1.0.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/interpret/-/interpret-1.4.0.tgz#665ab8bc4da27a774a40584e812e3e0fa45b1a1e"
|
||||
integrity sha512-agE4QfB2Lkp9uICn7BAqoscw4SZP9kTE2hxiFI3jBPmXJfdqiahTbUuKGsMoN2GtqL9AxhYioAcVvgsb1HvRbA==
|
||||
|
||||
invariant@^2.2.2, invariant@^2.2.4:
|
||||
version "2.2.4"
|
||||
resolved "https://registry.yarnpkg.com/invariant/-/invariant-2.2.4.tgz#610f3c92c9359ce1db616e538008d23ff35158e6"
|
||||
@@ -5568,7 +5588,7 @@ loader-utils@^0.2.16:
|
||||
json5 "^0.5.0"
|
||||
object-assign "^4.0.1"
|
||||
|
||||
loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
|
||||
loader-utils@^1.0.2, loader-utils@^1.1.0, loader-utils@^1.2.0, loader-utils@^1.2.3, loader-utils@^1.4.0:
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/loader-utils/-/loader-utils-1.4.0.tgz#c579b5e34cb34b1a74edc6c1fb36bfa371d5a613"
|
||||
integrity sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==
|
||||
@@ -5636,7 +5656,7 @@ lodash.uniq@^4.5.0:
|
||||
resolved "https://registry.yarnpkg.com/lodash.uniq/-/lodash.uniq-4.5.0.tgz#d0225373aeb652adc1bc82e4945339a842754773"
|
||||
integrity sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=
|
||||
|
||||
lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.3, lodash@~4.17.10:
|
||||
lodash@^4.0.0, lodash@^4.17.11, lodash@^4.17.14, lodash@^4.17.15, lodash@^4.17.19, lodash@^4.17.20, lodash@^4.17.3, lodash@~4.17.10:
|
||||
version "4.17.20"
|
||||
resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.20.tgz#b44a9b6297bcb698f1c51a3545a2b3b368d59c52"
|
||||
integrity sha512-PlhdFcillOINfeV7Ni6oF1TAEayyZBoZ8bcshTHqOYJYlrqzRK5hagpagky5o4HfCzzd1TRkXPMFq6cKk9rGmA==
|
||||
@@ -6255,6 +6275,14 @@ nth-check@^1.0.2, nth-check@~1.0.1:
|
||||
dependencies:
|
||||
boolbase "~1.0.0"
|
||||
|
||||
null-loader@^3.0.0:
|
||||
version "3.0.0"
|
||||
resolved "https://registry.yarnpkg.com/null-loader/-/null-loader-3.0.0.tgz#3e2b6c663c5bda8c73a54357d8fa0708dc61b245"
|
||||
integrity sha512-hf5sNLl8xdRho4UPBOOeoIwT3WhjYcMUQm0zj44EhD6UscMAz72o2udpoDFBgykucdEDGIcd6SXbc/G6zssbzw==
|
||||
dependencies:
|
||||
loader-utils "^1.2.3"
|
||||
schema-utils "^1.0.0"
|
||||
|
||||
num2fraction@^1.2.2:
|
||||
version "1.2.2"
|
||||
resolved "https://registry.yarnpkg.com/num2fraction/-/num2fraction-1.2.2.tgz#6f682b6a027a4e9ddfa4564cd2589d1d4e669ede"
|
||||
@@ -7375,6 +7403,13 @@ readdirp@~3.4.0:
|
||||
dependencies:
|
||||
picomatch "^2.2.1"
|
||||
|
||||
rechoir@^0.6.2:
|
||||
version "0.6.2"
|
||||
resolved "https://registry.yarnpkg.com/rechoir/-/rechoir-0.6.2.tgz#85204b54dba82d5742e28c96756ef43af50e3384"
|
||||
integrity sha1-hSBLVNuoLVdC4oyWdW70OvUOM4Q=
|
||||
dependencies:
|
||||
resolve "^1.1.6"
|
||||
|
||||
redent@^1.0.0:
|
||||
version "1.0.0"
|
||||
resolved "https://registry.yarnpkg.com/redent/-/redent-1.0.0.tgz#cf916ab1fd5f1f16dfb20822dd6ec7f730c2afde"
|
||||
@@ -7553,7 +7588,7 @@ resolve-url@^0.2.1:
|
||||
resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a"
|
||||
integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=
|
||||
|
||||
resolve@^1.10.0, resolve@^1.3.2, resolve@^1.8.1:
|
||||
resolve@^1.1.6, resolve@^1.10.0, resolve@^1.3.2, resolve@^1.8.1:
|
||||
version "1.17.0"
|
||||
resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.17.0.tgz#b25941b54968231cc2d1bb76a79cb7f2c0bf8444"
|
||||
integrity sha512-ic+7JYiV8Vi2yzQGFWOkiZD5Z9z7O2Zhm9XMaTxdJExKasieFCr+yXZ/WmXsckHiKl12ar0y6XiXDx3m4RHn1w==
|
||||
@@ -7680,6 +7715,13 @@ sass-loader@^10.0.1:
|
||||
schema-utils "^2.7.0"
|
||||
semver "^7.3.2"
|
||||
|
||||
sass@^1.19.0:
|
||||
version "1.26.10"
|
||||
resolved "https://registry.yarnpkg.com/sass/-/sass-1.26.10.tgz#851d126021cdc93decbf201d1eca2a20ee434760"
|
||||
integrity sha512-bzN0uvmzfsTvjz0qwccN1sPm2HxxpNI/Xa+7PlUEMS+nQvbyuEK7Y0qFqxlPHhiNHb1Ze8WQJtU31olMObkAMw==
|
||||
dependencies:
|
||||
chokidar ">=2.0.0 <4.0.0"
|
||||
|
||||
sax@~1.2.4:
|
||||
version "1.2.4"
|
||||
resolved "https://registry.yarnpkg.com/sax/-/sax-1.2.4.tgz#2816234e2378bddc4e5354fab5caa895df7100d9"
|
||||
@@ -7738,7 +7780,7 @@ semver@^6.0.0, semver@^6.1.0, semver@^6.3.0:
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-6.3.0.tgz#ee0a64c8af5e8ceea67687b133761e1becbd1d3d"
|
||||
integrity sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==
|
||||
|
||||
semver@^7.2.1, semver@^7.3.2:
|
||||
semver@^7.1.2, semver@^7.2.1, semver@^7.3.2:
|
||||
version "7.3.2"
|
||||
resolved "https://registry.yarnpkg.com/semver/-/semver-7.3.2.tgz#604962b052b81ed0786aae84389ffba70ffd3938"
|
||||
integrity sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==
|
||||
@@ -7864,6 +7906,15 @@ shell-quote@^1.6.1:
|
||||
resolved "https://registry.yarnpkg.com/shell-quote/-/shell-quote-1.7.2.tgz#67a7d02c76c9da24f99d20808fcaded0e0e04be2"
|
||||
integrity sha512-mRz/m/JVscCrkMyPqHc/bczi3OQHkLTqXHEFu0zDhK/qfv3UcOA4SVmRCLmos4bhjr9ekVQubj/R7waKapmiQg==
|
||||
|
||||
shelljs@^0.8.3:
|
||||
version "0.8.4"
|
||||
resolved "https://registry.yarnpkg.com/shelljs/-/shelljs-0.8.4.tgz#de7684feeb767f8716b326078a8a00875890e3c2"
|
||||
integrity sha512-7gk3UZ9kOfPLIAbslLzyWeGiEqx9e3rxwZM0KE6EL8GlGwjym9Mrlx5/p33bWTu9YG6vcS4MBxYZDHYr5lr8BQ==
|
||||
dependencies:
|
||||
glob "^7.0.0"
|
||||
interpret "^1.0.0"
|
||||
rechoir "^0.6.2"
|
||||
|
||||
signal-exit@^3.0.0, signal-exit@^3.0.2:
|
||||
version "3.0.3"
|
||||
resolved "https://registry.yarnpkg.com/signal-exit/-/signal-exit-3.0.3.tgz#a1410c2edd8f077b08b4e253c8eacfcaf057461c"
|
||||
@@ -8923,6 +8974,15 @@ vue-cli-plugin-style-resources-loader@~0.1.4:
|
||||
resolved "https://registry.yarnpkg.com/vue-cli-plugin-style-resources-loader/-/vue-cli-plugin-style-resources-loader-0.1.4.tgz#6087a86132ea8125aa89e5f8e0a978fbc8cf6f59"
|
||||
integrity sha512-aK2TyVThZO6oVPZJpCckha8ALcg1RXKYLNqtuy1fNv+24x6zGWKpSK+FHAo47B7yeRlFS9DbKo+cvUFMqWaZ7Q==
|
||||
|
||||
vue-cli-plugin-vuetify@~2.0.7:
|
||||
version "2.0.7"
|
||||
resolved "https://registry.yarnpkg.com/vue-cli-plugin-vuetify/-/vue-cli-plugin-vuetify-2.0.7.tgz#fcb4f1655e7c9199ee40dcbf6465e2355fd074d5"
|
||||
integrity sha512-4riK5bzyvkZ4CxpQk/Vl6z8n8tmJUhuxh+k8xc/MZRdCt9RxAm3G4SxcEweroqKGXg+CRRfhqysaEQVtd4D40Q==
|
||||
dependencies:
|
||||
null-loader "^3.0.0"
|
||||
semver "^7.1.2"
|
||||
shelljs "^0.8.3"
|
||||
|
||||
vue-color@^2.7.1:
|
||||
version "2.7.1"
|
||||
resolved "https://registry.yarnpkg.com/vue-color/-/vue-color-2.7.1.tgz#ca035109ea0010f0d60b889b97d63d37ac712f2d"
|
||||
@@ -8985,11 +9045,6 @@ vue-router@^3.2.0:
|
||||
resolved "https://registry.yarnpkg.com/vue-router/-/vue-router-3.4.3.tgz#fa93768616ee338aa174f160ac965167fa572ffa"
|
||||
integrity sha512-BADg1mjGWX18Dpmy6bOGzGNnk7B/ZA0RxuA6qedY/YJwirMfKXIDzcccmHbQI0A6k5PzMdMloc0ElHfyOoX35A==
|
||||
|
||||
vue-select@^3.10.8:
|
||||
version "3.10.8"
|
||||
resolved "https://registry.yarnpkg.com/vue-select/-/vue-select-3.10.8.tgz#5d0839cba228a9a5efa1a88e5436840eb3fd0c7a"
|
||||
integrity sha512-PnjtZWCTiSr04bs8ctPIiU41qnBK+oh/SOe6Pb4gElMMxofDFwUxiUe++mz0+84aTy4zrleGxtvVVyWbiPYBiw==
|
||||
|
||||
vue-style-loader@^4.1.0, vue-style-loader@^4.1.2:
|
||||
version "4.1.2"
|
||||
resolved "https://registry.yarnpkg.com/vue-style-loader/-/vue-style-loader-4.1.2.tgz#dedf349806f25ceb4e64f3ad7c0a44fba735fcf8"
|
||||
@@ -9016,11 +9071,24 @@ vue-toasted@^1.1.28:
|
||||
resolved "https://registry.yarnpkg.com/vue-toasted/-/vue-toasted-1.1.28.tgz#dbabb83acc89f7a9e8765815e491d79f0dc65c26"
|
||||
integrity sha512-UUzr5LX51UbbiROSGZ49GOgSzFxaMHK6L00JV8fir/CYNJCpIIvNZ5YmS4Qc8Y2+Z/4VVYRpeQL2UO0G800Raw==
|
||||
|
||||
vue@>=2.0.0, vue@^2.6.11:
|
||||
vue@^2.6.11:
|
||||
version "2.6.12"
|
||||
resolved "https://registry.yarnpkg.com/vue/-/vue-2.6.12.tgz#f5ebd4fa6bd2869403e29a896aed4904456c9123"
|
||||
integrity sha512-uhmLFETqPPNyuLLbsKz6ioJ4q7AZHzD8ZVFNATNyICSZouqP2Sz0rotWQC8UNBF6VGSCs5abnKJoStA6JbCbfg==
|
||||
|
||||
vuetify-loader@^1.3.0:
|
||||
version "1.6.0"
|
||||
resolved "https://registry.yarnpkg.com/vuetify-loader/-/vuetify-loader-1.6.0.tgz#05df0805b3ab2ff0de198109d34f9da3f69da667"
|
||||
integrity sha512-1bx3YeZ712dT1+QMX+XSFlP0O5k5O5Ui9ysBBmUZ9bWkAEHWZJQI9soI+qG5qmeFxUC0L9QYMCIKP0hOL/pf3Q==
|
||||
dependencies:
|
||||
file-loader "^4.0.0"
|
||||
loader-utils "^1.2.0"
|
||||
|
||||
vuetify@^2.2.11:
|
||||
version "2.3.10"
|
||||
resolved "https://registry.yarnpkg.com/vuetify/-/vuetify-2.3.10.tgz#c8cbc77ee1224b5a132f501a3762dee6d8c95a06"
|
||||
integrity sha512-KzL/MhZ7ajubm9kwbdCoA/cRV50RX+a5Hcqiwt7Am1Fni2crDtl2no05UNwKroTfscrYYf07gq3WIFSurPsnCA==
|
||||
|
||||
vuex@^3.5.1:
|
||||
version "3.5.1"
|
||||
resolved "https://registry.yarnpkg.com/vuex/-/vuex-3.5.1.tgz#f1b8dcea649bc25254cf4f4358081dbf5da18b3d"
|
||||
|
||||
Reference in New Issue
Block a user