├── landingpage ├── dist │ ├── scss │ │ ├── responsive.scss │ │ ├── bootstrap │ │ │ ├── utilities │ │ │ │ ├── _clearfix.scss │ │ │ │ ├── _screenreaders.scss │ │ │ │ ├── _visibility.scss │ │ │ │ ├── _shadows.scss │ │ │ │ ├── _sizing.scss │ │ │ │ ├── _float.scss │ │ │ │ ├── _align.scss │ │ │ │ ├── _background.scss │ │ │ │ ├── _position.scss │ │ │ │ ├── _embed.scss │ │ │ │ ├── _display.scss │ │ │ │ ├── _spacing.scss │ │ │ │ ├── _borders.scss │ │ │ │ ├── _text.scss │ │ │ │ └── _flex.scss │ │ │ ├── _media.scss │ │ │ ├── mixins │ │ │ │ ├── _box-shadow.scss │ │ │ │ ├── _size.scss │ │ │ │ ├── _clearfix.scss │ │ │ │ ├── _visibility.scss │ │ │ │ ├── _lists.scss │ │ │ │ ├── _text-truncate.scss │ │ │ │ ├── _resize.scss │ │ │ │ ├── _float.scss │ │ │ │ ├── _badge.scss │ │ │ │ ├── _alert.scss │ │ │ │ ├── _nav-divider.scss │ │ │ │ ├── _text-emphasis.scss │ │ │ │ ├── _transition.scss │ │ │ │ ├── _text-hide.scss │ │ │ │ ├── _list-group.scss │ │ │ │ ├── _pagination.scss │ │ │ │ ├── _background-variant.scss │ │ │ │ ├── _reset-text.scss │ │ │ │ ├── _table-row.scss │ │ │ │ ├── _border-radius.scss │ │ │ │ ├── _screen-reader.scss │ │ │ │ ├── _hover.scss │ │ │ │ ├── _image.scss │ │ │ │ ├── _caret.scss │ │ │ │ ├── _grid.scss │ │ │ │ ├── _grid-framework.scss │ │ │ │ ├── _gradients.scss │ │ │ │ ├── _buttons.scss │ │ │ │ └── _forms.scss │ │ │ ├── _transitions.scss │ │ │ ├── _jumbotron.scss │ │ │ ├── bootstrap-reboot.scss │ │ │ ├── _utilities.scss │ │ │ ├── _root.scss │ │ │ ├── bootstrap-grid.scss │ │ │ ├── _progress.scss │ │ │ ├── _close.scss │ │ │ ├── bootstrap.scss │ │ │ ├── _mixins.scss │ │ │ ├── _code.scss │ │ │ ├── _badge.scss │ │ │ ├── _grid.scss │ │ │ ├── _images.scss │ │ │ ├── _alert.scss │ │ │ ├── _breadcrumb.scss │ │ │ ├── _pagination.scss │ │ │ ├── _nav.scss │ │ │ ├── _type.scss │ │ │ ├── _functions.scss │ │ │ ├── _tooltip.scss │ │ │ ├── _list-group.scss │ │ │ ├── _buttons.scss │ │ │ ├── _print.scss │ │ │ ├── _tables.scss │ │ │ ├── _dropdown.scss │ │ │ └── _button-group.scss │ │ ├── style.scss │ │ └── custom.scss │ └── css │ │ └── icons │ │ └── material-design-iconic-font │ │ └── fonts │ │ ├── Material-Design-Iconic-Font.eot │ │ ├── Material-Design-Iconic-Font.ttf │ │ ├── materialdesignicons-webfont.eot │ │ ├── materialdesignicons-webfont.ttf │ │ ├── Material-Design-Iconic-Font.woff │ │ ├── Material-Design-Iconic-Font.woff2 │ │ ├── materialdesignicons-webfont.woff │ │ └── materialdesignicons-webfont.woff2 └── assets │ └── plugins │ └── bootstrap │ └── dist │ └── css │ └── bootstrap-reboot.min.css ├── package ├── components │ ├── layout │ │ └── full │ │ │ ├── vertical-sidebar │ │ │ ├── Dropdown │ │ │ │ └── index.vue │ │ │ ├── NavGroup │ │ │ │ └── index.vue │ │ │ ├── Icon.vue │ │ │ ├── ExtraBox │ │ │ │ └── index.vue │ │ │ ├── NavItem │ │ │ │ └── index.vue │ │ │ └── NavCollapse │ │ │ │ └── index.vue │ │ │ ├── logo │ │ │ ├── Logo.vue │ │ │ └── LogoDark.vue │ │ │ ├── vertical-header │ │ │ ├── SidebarProfile.vue │ │ │ └── ProfileDD.vue │ │ │ └── Main.vue │ ├── shared │ │ ├── UiTextfieldPrimary.vue │ │ ├── UiChildCard.vue │ │ ├── UiTableCard.vue │ │ ├── WidgetCard.vue │ │ ├── UiParentCard.vue │ │ ├── CardHeaderFooter.vue │ │ └── WidgetCardv2.vue │ ├── style-components │ │ ├── shadow │ │ │ └── Shadow.vue │ │ └── typography │ │ │ ├── DefaultText.vue │ │ │ └── Heading.vue │ ├── auth │ │ ├── RegisterForm.vue │ │ └── LoginForm.vue │ └── dashboard │ │ ├── TheProfileCard.vue │ │ ├── TimelineSettings.vue │ │ ├── TheActivityTimeline.vue │ │ ├── TheMyContacts.vue │ │ ├── TimelineInbox.vue │ │ ├── TotalSales.vue │ │ ├── TimelineProfile.vue │ │ └── SalesOverview.vue ├── .npmrc ├── scss │ ├── components │ │ ├── _VShadow.scss │ │ ├── _VNavigationDrawer.scss │ │ ├── _VTextField.scss │ │ ├── _VInput.scss │ │ ├── _VButtons.scss │ │ └── _VCard.scss │ ├── _override.scss │ ├── style.scss │ ├── layout │ │ ├── _container.scss │ │ └── _topbar.scss │ ├── pages │ │ ├── _dashboards.scss │ │ └── _auth.scss │ └── _variables.scss ├── .gitignore ├── public │ ├── favicon.ico │ └── images │ │ ├── users │ │ ├── user-1.jpg │ │ ├── user-2.jpg │ │ └── user-3.jpg │ │ ├── blog │ │ ├── blog-img1.jpg │ │ ├── blog-img2.jpg │ │ ├── blog-img3.jpg │ │ └── blog-img4.jpg │ │ ├── background │ │ ├── rocket.png │ │ ├── profile-bg.jpg │ │ └── user-info.jpg │ │ ├── technology │ │ ├── vue-cat-icon.svg │ │ ├── nuxt-cat-icon.svg │ │ ├── angular-cat-icon.svg │ │ ├── bt-cat-icon.svg │ │ ├── next-cat-icon.svg │ │ └── react-cat-icon.svg │ │ └── icons │ │ ├── icon-figma.svg │ │ └── icon-zip.svg ├── tsconfig.json ├── app.vue ├── layouts │ ├── blank.vue │ └── default.vue ├── pages │ ├── ui │ │ ├── Shadow.vue │ │ └── Typography.vue │ ├── Sample-Page.vue │ ├── Icons.vue │ ├── index.vue │ └── auth │ │ ├── Login.vue │ │ └── Register.vue ├── nuxt.config.ts ├── types │ ├── dashboard │ │ └── index.ts │ └── themeTypes │ │ └── ThemeType.ts ├── package.json ├── error.vue ├── plugins │ └── vuetify.ts ├── README.md ├── theme │ └── LightTheme.ts └── data │ └── dashboard │ └── dashboardData.ts ├── hire-us.html ├── docs.html └── discount-code.html /landingpage/dist/scss/responsive.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package/components/layout/full/vertical-sidebar/Dropdown/index.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package/.npmrc: -------------------------------------------------------------------------------- 1 | shamefully-hoist=true 2 | strict-peer-dependencies=false 3 | -------------------------------------------------------------------------------- /package/scss/components/_VShadow.scss: -------------------------------------------------------------------------------- 1 | .elevation-10 { 2 | box-shadow: $box-shadow !important; 3 | } -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_clearfix.scss: -------------------------------------------------------------------------------- 1 | .clearfix { 2 | @include clearfix(); 3 | } 4 | -------------------------------------------------------------------------------- /package/.gitignore: -------------------------------------------------------------------------------- 1 | node_modules 2 | *.log* 3 | .nuxt 4 | .nitro 5 | .cache 6 | .output 7 | .env 8 | dist 9 | -------------------------------------------------------------------------------- /package/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/favicon.ico -------------------------------------------------------------------------------- /package/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://nuxt.com/docs/guide/concepts/typescript 3 | "extends": "./.nuxt/tsconfig.json" 4 | } 5 | -------------------------------------------------------------------------------- /package/public/images/users/user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/users/user-1.jpg -------------------------------------------------------------------------------- /package/public/images/users/user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/users/user-2.jpg -------------------------------------------------------------------------------- /package/public/images/users/user-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/users/user-3.jpg -------------------------------------------------------------------------------- /package/public/images/blog/blog-img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/blog/blog-img1.jpg -------------------------------------------------------------------------------- /package/public/images/blog/blog-img2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/blog/blog-img2.jpg -------------------------------------------------------------------------------- /package/public/images/blog/blog-img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/blog/blog-img3.jpg -------------------------------------------------------------------------------- /package/public/images/blog/blog-img4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/blog/blog-img4.jpg -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_media.scss: -------------------------------------------------------------------------------- 1 | .media { 2 | display: flex; 3 | align-items: flex-start; 4 | } 5 | 6 | .media-body { 7 | flex: 1; 8 | } 9 | -------------------------------------------------------------------------------- /package/public/images/background/rocket.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/background/rocket.png -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_box-shadow.scss: -------------------------------------------------------------------------------- 1 | @mixin box-shadow($shadow...) { 2 | @if $enable-shadows { 3 | box-shadow: $shadow; 4 | } 5 | } 6 | -------------------------------------------------------------------------------- /package/public/images/background/profile-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/background/profile-bg.jpg -------------------------------------------------------------------------------- /package/public/images/background/user-info.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/package/public/images/background/user-info.jpg -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_size.scss: -------------------------------------------------------------------------------- 1 | // Sizing shortcuts 2 | 3 | @mixin size($width, $height: $width) { 4 | width: $width; 5 | height: $height; 6 | } 7 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @mixin clearfix() { 2 | &::after { 3 | display: block; 4 | clear: both; 5 | content: ""; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /package/app.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package/scss/components/_VNavigationDrawer.scss: -------------------------------------------------------------------------------- 1 | .v-navigation-drawer__scrim.fade-transition-leave-to { 2 | display: none; 3 | } 4 | 5 | .v-navigation-drawer__scrim{ 6 | position: fixed; 7 | } -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_visibility.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Visibility 4 | 5 | @mixin invisible($visibility) { 6 | visibility: $visibility !important; 7 | } 8 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_screenreaders.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Screenreaders 3 | // 4 | 5 | .sr-only { 6 | @include sr-only(); 7 | } 8 | 9 | .sr-only-focusable { 10 | @include sr-only-focusable(); 11 | } 12 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_visibility.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Visibility utilities 3 | // 4 | 5 | .visible { 6 | @include invisible(visible); 7 | } 8 | 9 | .invisible { 10 | @include invisible(hidden); 11 | } 12 | -------------------------------------------------------------------------------- /package/layouts/blank.vue: -------------------------------------------------------------------------------- 1 | // ===============================|| Blank Layout ||=============================== // 2 | 4 | 9 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_lists.scss: -------------------------------------------------------------------------------- 1 | // Lists 2 | 3 | // Unstyled keeps list items block level, just removes default browser padding and list-style 4 | @mixin list-unstyled { 5 | padding-left: 0; 6 | list-style: none; 7 | } 8 | -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.eot -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.ttf -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.eot -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.ttf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.ttf -------------------------------------------------------------------------------- /package/components/layout/full/logo/Logo.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff2 -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.woff -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/materialpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.woff2 -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_text-truncate.scss: -------------------------------------------------------------------------------- 1 | // Text truncate 2 | // Requires inline-block or block for proper styling 3 | 4 | @mixin text-truncate() { 5 | overflow: hidden; 6 | text-overflow: ellipsis; 7 | white-space: nowrap; 8 | } 9 | -------------------------------------------------------------------------------- /package/components/layout/full/logo/LogoDark.vue: -------------------------------------------------------------------------------- 1 | 4 | 9 | -------------------------------------------------------------------------------- /package/components/shared/UiTextfieldPrimary.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 10 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_resize.scss: -------------------------------------------------------------------------------- 1 | // Resize anything 2 | 3 | @mixin resizable($direction) { 4 | overflow: auto; // Per CSS3 UI, `resize` only applies when `overflow` isn't `visible` 5 | resize: $direction; // Options: horizontal, vertical, both 6 | } 7 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_float.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @mixin float-left { 4 | float: left !important; 5 | } 6 | @mixin float-right { 7 | float: right !important; 8 | } 9 | @mixin float-none { 10 | float: none !important; 11 | } 12 | -------------------------------------------------------------------------------- /package/pages/ui/Shadow.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 12 | -------------------------------------------------------------------------------- /package/scss/components/_VTextField.scss: -------------------------------------------------------------------------------- 1 | .v-text-field input { 2 | font-size: 0.875rem; 3 | } 4 | .v-field__outline { 5 | color: rgb(var(--v-theme-inputBorder),0.5); 6 | } 7 | .inputWithbg { 8 | .v-field--variant-outlined { 9 | background-color: rgba(0, 0, 0, 0.025); 10 | } 11 | } 12 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_shadows.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .shadow-sm { box-shadow: $box-shadow-sm !important; } 4 | .shadow { box-shadow: $box-shadow !important; } 5 | .shadow-lg { box-shadow: $box-shadow-lg !important; } 6 | .shadow-none { box-shadow: none !important; } 7 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_badge.scss: -------------------------------------------------------------------------------- 1 | @mixin badge-variant($bg) { 2 | color: color-yiq($bg); 3 | background-color: $bg; 4 | 5 | &[href] { 6 | @include hover-focus { 7 | color: color-yiq($bg); 8 | text-decoration: none; 9 | background-color: darken($bg, 10%); 10 | } 11 | } 12 | } 13 | -------------------------------------------------------------------------------- /package/components/layout/full/vertical-sidebar/NavGroup/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 8 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_alert.scss: -------------------------------------------------------------------------------- 1 | @mixin alert-variant($background, $border, $color) { 2 | color: $color; 3 | @include gradient-bg($background); 4 | border-color: $border; 5 | 6 | hr { 7 | border-top-color: darken($border, 5%); 8 | } 9 | 10 | .alert-link { 11 | color: darken($color, 10%); 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_nav-divider.scss: -------------------------------------------------------------------------------- 1 | // Horizontal dividers 2 | // 3 | // Dividers (basically an hr) within dropdowns and nav lists 4 | 5 | @mixin nav-divider($color: $nav-divider-color, $margin-y: $nav-divider-margin-y) { 6 | height: 0; 7 | margin: $margin-y 0; 8 | overflow: hidden; 9 | border-top: 1px solid $color; 10 | } 11 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_text-emphasis.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Typography 4 | 5 | @mixin text-emphasis-variant($parent, $color) { 6 | #{$parent} { 7 | color: $color !important; 8 | } 9 | a#{$parent} { 10 | @include hover-focus { 11 | color: darken($color, 10%) !important; 12 | } 13 | } 14 | } 15 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_transition.scss: -------------------------------------------------------------------------------- 1 | @mixin transition($transition...) { 2 | @if $enable-transitions { 3 | @if length($transition) == 0 { 4 | transition: $transition-base; 5 | } @else { 6 | transition: $transition; 7 | } 8 | } 9 | 10 | @media screen and (prefers-reduced-motion: reduce) { 11 | transition: none; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_sizing.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Width and height 4 | 5 | @each $prop, $abbrev in (width: w, height: h) { 6 | @each $size, $length in $sizes { 7 | .#{$abbrev}-#{$size} { #{$prop}: $length !important; } 8 | } 9 | } 10 | 11 | .mw-100 { max-width: 100% !important; } 12 | .mh-100 { max-height: 100% !important; } 13 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_float.scss: -------------------------------------------------------------------------------- 1 | @each $breakpoint in map-keys($grid-breakpoints) { 2 | @include media-breakpoint-up($breakpoint) { 3 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 4 | 5 | .float#{$infix}-left { @include float-left; } 6 | .float#{$infix}-right { @include float-right; } 7 | .float#{$infix}-none { @include float-none; } 8 | } 9 | } 10 | -------------------------------------------------------------------------------- /landingpage/dist/scss/style.scss: -------------------------------------------------------------------------------- 1 | /* 2 | Template Name: Material-Pro Admin Template 3 | Author: Niravjoshi / Wrappixel 4 | File: scss 5 | */ 6 | //(Required file) 7 | @import 'variable'; 8 | 9 | // Import Bootstrap source files (Required file) 10 | @import "bootstrap/bootstrap"; 11 | 12 | //custom style 13 | @import 'custom'; 14 | 15 | //icons 16 | @import "icons/material-design-iconic-font/css/materialdesignicons.min.css"; -------------------------------------------------------------------------------- /hire-us.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | MaterialPro Free NuxtJs Admin Template | Hire Us 6 | 8 | 9 | 10 | 11 |

MaterialPro Free NuxtJs Admin Template

12 | https://www.wrappixel.com/hire-us/ 13 | 14 | 15 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_transitions.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable selector-no-qualifying-type 2 | 3 | .fade { 4 | @include transition($transition-fade); 5 | 6 | &:not(.show) { 7 | opacity: 0; 8 | } 9 | } 10 | 11 | .collapse { 12 | &:not(.show) { 13 | display: none; 14 | } 15 | } 16 | 17 | .collapsing { 18 | position: relative; 19 | height: 0; 20 | overflow: hidden; 21 | @include transition($transition-collapse); 22 | } 23 | -------------------------------------------------------------------------------- /package/pages/Sample-Page.vue: -------------------------------------------------------------------------------- 1 | 5 | 14 | -------------------------------------------------------------------------------- /package/components/shared/UiChildCard.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 18 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_jumbotron.scss: -------------------------------------------------------------------------------- 1 | .jumbotron { 2 | padding: $jumbotron-padding ($jumbotron-padding / 2); 3 | margin-bottom: $jumbotron-padding; 4 | background-color: $jumbotron-bg; 5 | @include border-radius($border-radius-lg); 6 | 7 | @include media-breakpoint-up(sm) { 8 | padding: ($jumbotron-padding * 2) $jumbotron-padding; 9 | } 10 | } 11 | 12 | .jumbotron-fluid { 13 | padding-right: 0; 14 | padding-left: 0; 15 | @include border-radius(0); 16 | } 17 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_align.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | .align-baseline { vertical-align: baseline !important; } // Browser default 4 | .align-top { vertical-align: top !important; } 5 | .align-middle { vertical-align: middle !important; } 6 | .align-bottom { vertical-align: bottom !important; } 7 | .align-text-bottom { vertical-align: text-bottom !important; } 8 | .align-text-top { vertical-align: text-top !important; } 9 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_text-hide.scss: -------------------------------------------------------------------------------- 1 | // CSS image replacement 2 | @mixin text-hide($ignore-warning: false) { 3 | // stylelint-disable-next-line font-family-no-missing-generic-family-keyword 4 | font: 0/0 a; 5 | color: transparent; 6 | text-shadow: none; 7 | background-color: transparent; 8 | border: 0; 9 | 10 | @if ($ignore-warning != true) { 11 | @warn "The `text-hide()` mixin has been deprecated as of v4.1.0. It will be removed entirely in v5."; 12 | } 13 | } 14 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/bootstrap-reboot.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Reboot v4.1.2 (https://getbootstrap.com/) 3 | * Copyright 2011-2018 The Bootstrap Authors 4 | * Copyright 2011-2018 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | * Forked from Normalize.css, licensed MIT (https://github.com/necolas/normalize.css/blob/master/LICENSE.md) 7 | */ 8 | 9 | @import "functions"; 10 | @import "variables"; 11 | @import "mixins"; 12 | @import "reboot"; 13 | -------------------------------------------------------------------------------- /package/public/images/technology/vue-cat-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /package/nuxt.config.ts: -------------------------------------------------------------------------------- 1 | // https://nuxt.com/docs/api/configuration/nuxt-config 2 | export default defineNuxtConfig({ 3 | ssr: false, 4 | 5 | typescript: { 6 | shim: false 7 | }, 8 | 9 | build: { 10 | transpile: ["vuetify"], 11 | }, 12 | 13 | vite: { 14 | define: { 15 | "process.env.DEBUG": false, 16 | }, 17 | }, 18 | 19 | nitro: { 20 | serveStatic: true, 21 | }, 22 | 23 | devServerHandlers: [], 24 | 25 | hooks: { 26 | }, 27 | 28 | compatibilityDate: "2025-04-15", 29 | }) -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_background.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | @each $color, $value in $theme-colors { 4 | @include bg-variant(".bg-#{$color}", $value); 5 | } 6 | 7 | @if $enable-gradients { 8 | @each $color, $value in $theme-colors { 9 | @include bg-gradient-variant(".bg-gradient-#{$color}", $value); 10 | } 11 | } 12 | 13 | .bg-white { 14 | background-color: $white !important; 15 | } 16 | 17 | .bg-transparent { 18 | background-color: transparent !important; 19 | } 20 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_utilities.scss: -------------------------------------------------------------------------------- 1 | @import "utilities/align"; 2 | @import "utilities/background"; 3 | @import "utilities/borders"; 4 | @import "utilities/clearfix"; 5 | @import "utilities/display"; 6 | @import "utilities/embed"; 7 | @import "utilities/flex"; 8 | @import "utilities/float"; 9 | @import "utilities/position"; 10 | @import "utilities/screenreaders"; 11 | @import "utilities/shadows"; 12 | @import "utilities/sizing"; 13 | @import "utilities/spacing"; 14 | @import "utilities/text"; 15 | @import "utilities/visibility"; 16 | -------------------------------------------------------------------------------- /docs.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | MaterialPro Free NuxtJs Admin Template | Docs 6 | 8 | 9 | 10 | 11 |

MaterialPro Free NuxtJs Admin Template

12 | https://wrappixel.github.io/free-documentation-wp/nuxt/materialpro/index.html 13 | 14 | 15 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_list-group.scss: -------------------------------------------------------------------------------- 1 | // List Groups 2 | 3 | @mixin list-group-item-variant($state, $background, $color) { 4 | .list-group-item-#{$state} { 5 | color: $color; 6 | background-color: $background; 7 | 8 | &.list-group-item-action { 9 | @include hover-focus { 10 | color: $color; 11 | background-color: darken($background, 5%); 12 | } 13 | 14 | &.active { 15 | color: $white; 16 | background-color: $color; 17 | border-color: $color; 18 | } 19 | } 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /package/pages/Icons.vue: -------------------------------------------------------------------------------- 1 | 5 | 16 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_pagination.scss: -------------------------------------------------------------------------------- 1 | // Pagination 2 | 3 | @mixin pagination-size($padding-y, $padding-x, $font-size, $line-height, $border-radius) { 4 | .page-link { 5 | padding: $padding-y $padding-x; 6 | font-size: $font-size; 7 | line-height: $line-height; 8 | } 9 | 10 | .page-item { 11 | &:first-child { 12 | .page-link { 13 | @include border-left-radius($border-radius); 14 | } 15 | } 16 | &:last-child { 17 | .page-link { 18 | @include border-right-radius($border-radius); 19 | } 20 | } 21 | } 22 | } 23 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_background-variant.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Contextual backgrounds 4 | 5 | @mixin bg-variant($parent, $color) { 6 | #{$parent} { 7 | background-color: $color !important; 8 | } 9 | a#{$parent}, 10 | button#{$parent} { 11 | @include hover-focus { 12 | background-color: darken($color, 10%) !important; 13 | } 14 | } 15 | } 16 | 17 | @mixin bg-gradient-variant($parent, $color) { 18 | #{$parent} { 19 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x !important; 20 | } 21 | } 22 | -------------------------------------------------------------------------------- /package/components/shared/UiTableCard.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 20 | -------------------------------------------------------------------------------- /package/layouts/default.vue: -------------------------------------------------------------------------------- 1 | 14 | 15 | 23 | -------------------------------------------------------------------------------- /package/public/images/icons/icon-figma.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | -------------------------------------------------------------------------------- /package/public/images/technology/nuxt-cat-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_reset-text.scss: -------------------------------------------------------------------------------- 1 | @mixin reset-text { 2 | font-family: $font-family-base; 3 | // We deliberately do NOT reset font-size or word-wrap. 4 | font-style: normal; 5 | font-weight: $font-weight-normal; 6 | line-height: $line-height-base; 7 | text-align: left; // Fallback for where `start` is not supported 8 | text-align: start; // stylelint-disable-line declaration-block-no-duplicate-properties 9 | text-decoration: none; 10 | text-shadow: none; 11 | text-transform: none; 12 | letter-spacing: normal; 13 | word-break: normal; 14 | word-spacing: normal; 15 | white-space: normal; 16 | line-break: auto; 17 | } 18 | -------------------------------------------------------------------------------- /package/components/style-components/shadow/Shadow.vue: -------------------------------------------------------------------------------- 1 | 4 | 16 | -------------------------------------------------------------------------------- /package/pages/ui/Typography.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 19 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_root.scss: -------------------------------------------------------------------------------- 1 | :root { 2 | // Custom variable values only support SassScript inside `#{}`. 3 | @each $color, $value in $colors { 4 | --#{$color}: #{$value}; 5 | } 6 | 7 | @each $color, $value in $theme-colors { 8 | --#{$color}: #{$value}; 9 | } 10 | 11 | @each $bp, $value in $grid-breakpoints { 12 | --breakpoint-#{$bp}: #{$value}; 13 | } 14 | 15 | // Use `inspect` for lists so that quoted items keep the quotes. 16 | // See https://github.com/sass/sass/issues/2383#issuecomment-336349172 17 | --font-family-sans-serif: #{inspect($font-family-sans-serif)}; 18 | --font-family-monospace: #{inspect($font-family-monospace)}; 19 | } 20 | -------------------------------------------------------------------------------- /package/components/layout/full/vertical-sidebar/Icon.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 25 | -------------------------------------------------------------------------------- /package/scss/_override.scss: -------------------------------------------------------------------------------- 1 | html { 2 | .bg-success { 3 | color: white !important; 4 | } 5 | 6 | .bg-primary { 7 | color: $white !important; 8 | } 9 | 10 | .bg-secondary { 11 | color: $white !important; 12 | } 13 | 14 | .bg-warning { 15 | color: $white !important; 16 | } 17 | } 18 | .border, 19 | .v-divider { 20 | border-color: rgba(var(--v-border-color), 1) !important; 21 | } 22 | 23 | .z-1{ 24 | z-index: 1 !important; 25 | } 26 | .lh-0{ 27 | line-height: 0; 28 | } 29 | .lh-normal{ 30 | line-height: normal; 31 | } 32 | .custom-text-primary{ 33 | &:hover{ 34 | color: rgba(var(--v-theme-primary)) !important; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /package/scss/style.scss: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Poppins:wght@400;500;600;700&family=Roboto:wght@400;500;700&display=swap"); 2 | @import './variables'; 3 | @import 'vuetify/styles/main.sass'; 4 | @import './override'; 5 | @import './layout/container'; 6 | @import './layout/sidebar'; 7 | @import './layout/topbar'; 8 | @import './components/VButtons'; 9 | @import './components/VCard'; 10 | @import './components/VInput'; 11 | @import './components/VNavigationDrawer'; 12 | @import './components/VShadow'; 13 | @import './components/VTextField'; 14 | @import './pages/dashboards'; 15 | @import './pages/auth'; 16 | @import 'vue3-perfect-scrollbar/dist/vue3-perfect-scrollbar.css'; -------------------------------------------------------------------------------- /package/components/shared/WidgetCard.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 21 | -------------------------------------------------------------------------------- /package/components/shared/UiParentCard.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | // ===============================|| Ui Parent Card||=============================== // 9 | 24 | -------------------------------------------------------------------------------- /package/public/images/technology/angular-cat-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | -------------------------------------------------------------------------------- /package/types/dashboard/index.ts: -------------------------------------------------------------------------------- 1 | /*Recent Transaction*/ 2 | type recentTrans = { 3 | title: string; 4 | subtitle: string; 5 | textcolor: string; 6 | boldtext: boolean; 7 | line: boolean; 8 | link: string; 9 | url: string; 10 | }; 11 | 12 | /*product performance*/ 13 | type productPerformanceType = { 14 | id: number; 15 | name: string; 16 | post: string; 17 | pname: string; 18 | status: string; 19 | statuscolor: string; 20 | budget: string; 21 | }; 22 | 23 | /*Products card types*/ 24 | type productsCards = { 25 | title: string; 26 | link: string; 27 | photo: string; 28 | salesPrice: number; 29 | price: number; 30 | rating: number; 31 | }; 32 | 33 | export type { recentTrans, productPerformanceType, productsCards } -------------------------------------------------------------------------------- /package/scss/layout/_container.scss: -------------------------------------------------------------------------------- 1 | html { 2 | overflow-y: auto; 3 | } 4 | .v-main{ 5 | background:rgb(var(--v-theme-background)) !important; ; 6 | } 7 | @media (max-width: 1279px) { 8 | .v-main { 9 | margin: 0 10px; 10 | } 11 | } 12 | 13 | .cursor-pointer { 14 | cursor: pointer; 15 | } 16 | 17 | .page-wrapper { 18 | min-height: calc(100vh - 100px); 19 | padding: 24px; 20 | // border-radius: $border-radius-root; 21 | @media screen and (max-width: 767px) { 22 | padding: 20px 10px; 23 | } 24 | } 25 | 26 | .maxWidth { 27 | max-width: 1200px; 28 | margin: 0 auto; 29 | } 30 | 31 | .fixed-width { 32 | max-width: 1300px; 33 | } 34 | 35 | .right-pos-img { 36 | position: absolute; 37 | right: 0; 38 | top: 0; 39 | height: 100%; 40 | } 41 | 42 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_table-row.scss: -------------------------------------------------------------------------------- 1 | // Tables 2 | 3 | @mixin table-row-variant($state, $background) { 4 | // Exact selectors below required to override `.table-striped` and prevent 5 | // inheritance to nested tables. 6 | .table-#{$state} { 7 | &, 8 | > th, 9 | > td { 10 | background-color: $background; 11 | } 12 | } 13 | 14 | // Hover states for `.table-hover` 15 | // Note: this is not available for cells or rows within `thead` or `tfoot`. 16 | .table-hover { 17 | $hover-background: darken($background, 5%); 18 | 19 | .table-#{$state} { 20 | @include hover { 21 | background-color: $hover-background; 22 | 23 | > td, 24 | > th { 25 | background-color: $hover-background; 26 | } 27 | } 28 | } 29 | } 30 | } 31 | -------------------------------------------------------------------------------- /package/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "materialpro-nuxtjs-free", 3 | "version": "3.0.0", 4 | "type": "module", 5 | "private": true, 6 | "scripts": { 7 | "build": "nuxt build", 8 | "dev": "nuxt dev", 9 | "generate": "nuxt generate", 10 | "preview": "nuxt preview", 11 | "postinstall": "nuxt prepare" 12 | }, 13 | "devDependencies": { 14 | "nuxt": "3.16.2" 15 | }, 16 | "dependencies": { 17 | "@mdi/font": "7.4.47", 18 | "@nuxt/vite-builder": "3.16.2", 19 | "apexcharts": "4.5.0", 20 | "@iconify/vue": "^4.1.1", 21 | "sass": "1.70.0", 22 | "vue": "3.5.13", 23 | "vue-tabler-icons": "2.21.0", 24 | "vue3-apexcharts": "1.5.2", 25 | "vue3-perfect-scrollbar": "1.6.1", 26 | "vuetify": "3.7.18" 27 | }, 28 | "overrides": { 29 | "nth-check": "2.1.1" 30 | } 31 | } 32 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/bootstrap-grid.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap Grid v4.1.2 (https://getbootstrap.com/) 3 | * Copyright 2011-2018 The Bootstrap Authors 4 | * Copyright 2011-2018 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | @at-root { 9 | @-ms-viewport { width: device-width; } // stylelint-disable-line at-rule-no-vendor-prefix 10 | } 11 | 12 | html { 13 | box-sizing: border-box; 14 | -ms-overflow-style: scrollbar; 15 | } 16 | 17 | *, 18 | *::before, 19 | *::after { 20 | box-sizing: inherit; 21 | } 22 | 23 | @import "functions"; 24 | @import "variables"; 25 | 26 | @import "mixins/breakpoints"; 27 | @import "mixins/grid-framework"; 28 | @import "mixins/grid"; 29 | 30 | @import "grid"; 31 | @import "utilities/display"; 32 | @import "utilities/flex"; 33 | -------------------------------------------------------------------------------- /package/error.vue: -------------------------------------------------------------------------------- 1 | 13 | 23 | -------------------------------------------------------------------------------- /package/components/shared/CardHeaderFooter.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 25 | -------------------------------------------------------------------------------- /package/components/layout/full/vertical-sidebar/ExtraBox/index.vue: -------------------------------------------------------------------------------- 1 | 14 | 22 | -------------------------------------------------------------------------------- /package/components/shared/WidgetCardv2.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 24 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_position.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Common values 4 | 5 | // Sass list not in variables since it's not intended for customization. 6 | // stylelint-disable-next-line scss/dollar-variable-default 7 | $positions: static, relative, absolute, fixed, sticky; 8 | 9 | @each $position in $positions { 10 | .position-#{$position} { position: $position !important; } 11 | } 12 | 13 | // Shorthand 14 | 15 | .fixed-top { 16 | position: fixed; 17 | top: 0; 18 | right: 0; 19 | left: 0; 20 | z-index: $zindex-fixed; 21 | } 22 | 23 | .fixed-bottom { 24 | position: fixed; 25 | right: 0; 26 | bottom: 0; 27 | left: 0; 28 | z-index: $zindex-fixed; 29 | } 30 | 31 | .sticky-top { 32 | @supports (position: sticky) { 33 | position: sticky; 34 | top: 0; 35 | z-index: $zindex-sticky; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_border-radius.scss: -------------------------------------------------------------------------------- 1 | // Single side border-radius 2 | 3 | @mixin border-radius($radius: $border-radius) { 4 | @if $enable-rounded { 5 | border-radius: $radius; 6 | } 7 | } 8 | 9 | @mixin border-top-radius($radius) { 10 | @if $enable-rounded { 11 | border-top-left-radius: $radius; 12 | border-top-right-radius: $radius; 13 | } 14 | } 15 | 16 | @mixin border-right-radius($radius) { 17 | @if $enable-rounded { 18 | border-top-right-radius: $radius; 19 | border-bottom-right-radius: $radius; 20 | } 21 | } 22 | 23 | @mixin border-bottom-radius($radius) { 24 | @if $enable-rounded { 25 | border-bottom-right-radius: $radius; 26 | border-bottom-left-radius: $radius; 27 | } 28 | } 29 | 30 | @mixin border-left-radius($radius) { 31 | @if $enable-rounded { 32 | border-top-left-radius: $radius; 33 | border-bottom-left-radius: $radius; 34 | } 35 | } 36 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_screen-reader.scss: -------------------------------------------------------------------------------- 1 | // Only display content to screen readers 2 | // 3 | // See: https://a11yproject.com/posts/how-to-hide-content/ 4 | // See: https://hugogiraudel.com/2016/10/13/css-hide-and-seek/ 5 | 6 | @mixin sr-only { 7 | position: absolute; 8 | width: 1px; 9 | height: 1px; 10 | padding: 0; 11 | overflow: hidden; 12 | clip: rect(0, 0, 0, 0); 13 | white-space: nowrap; 14 | border: 0; 15 | } 16 | 17 | // Use in conjunction with .sr-only to only display content when it's focused. 18 | // 19 | // Useful for "Skip to main content" links; see https://www.w3.org/TR/2013/NOTE-WCAG20-TECHS-20130905/G1 20 | // 21 | // Credit: HTML5 Boilerplate 22 | 23 | @mixin sr-only-focusable { 24 | &:active, 25 | &:focus { 26 | position: static; 27 | width: auto; 28 | height: auto; 29 | overflow: visible; 30 | clip: auto; 31 | white-space: normal; 32 | } 33 | } 34 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_hover.scss: -------------------------------------------------------------------------------- 1 | // Hover mixin and `$enable-hover-media-query` are deprecated. 2 | // 3 | // Originally added during our alphas and maintained during betas, this mixin was 4 | // designed to prevent `:hover` stickiness on iOS-an issue where hover styles 5 | // would persist after initial touch. 6 | // 7 | // For backward compatibility, we've kept these mixins and updated them to 8 | // always return their regular pseudo-classes instead of a shimmed media query. 9 | // 10 | // Issue: https://github.com/twbs/bootstrap/issues/25195 11 | 12 | @mixin hover { 13 | &:hover { @content; } 14 | } 15 | 16 | @mixin hover-focus { 17 | &:hover, 18 | &:focus { 19 | @content; 20 | } 21 | } 22 | 23 | @mixin plain-hover-focus { 24 | &, 25 | &:hover, 26 | &:focus { 27 | @content; 28 | } 29 | } 30 | 31 | @mixin hover-focus-active { 32 | &:hover, 33 | &:focus, 34 | &:active { 35 | @content; 36 | } 37 | } 38 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_embed.scss: -------------------------------------------------------------------------------- 1 | // Credit: Nicolas Gallagher and SUIT CSS. 2 | 3 | .embed-responsive { 4 | position: relative; 5 | display: block; 6 | width: 100%; 7 | padding: 0; 8 | overflow: hidden; 9 | 10 | &::before { 11 | display: block; 12 | content: ""; 13 | } 14 | 15 | .embed-responsive-item, 16 | iframe, 17 | embed, 18 | object, 19 | video { 20 | position: absolute; 21 | top: 0; 22 | bottom: 0; 23 | left: 0; 24 | width: 100%; 25 | height: 100%; 26 | border: 0; 27 | } 28 | } 29 | 30 | .embed-responsive-21by9 { 31 | &::before { 32 | padding-top: percentage(9 / 21); 33 | } 34 | } 35 | 36 | .embed-responsive-16by9 { 37 | &::before { 38 | padding-top: percentage(9 / 16); 39 | } 40 | } 41 | 42 | .embed-responsive-4by3 { 43 | &::before { 44 | padding-top: percentage(3 / 4); 45 | } 46 | } 47 | 48 | .embed-responsive-1by1 { 49 | &::before { 50 | padding-top: percentage(1 / 1); 51 | } 52 | } 53 | -------------------------------------------------------------------------------- /package/types/themeTypes/ThemeType.ts: -------------------------------------------------------------------------------- 1 | export type ThemeTypes = { 2 | name: string; 3 | dark: boolean; 4 | variables?: object; 5 | colors: { 6 | primary?: string; 7 | secondary?: string; 8 | info?: string; 9 | success?: string; 10 | accent?: string; 11 | warning?: string; 12 | error?: string; 13 | purple?: string; 14 | indigo?: string; 15 | lightprimary?: string; 16 | lightsecondary?: string; 17 | lightsuccess?: string; 18 | lighterror?: string; 19 | lightinfo?: string; 20 | lightwarning?: string; 21 | textPrimary?: string; 22 | textSecondary?: string; 23 | borderColor?: string; 24 | hoverColor?: string; 25 | inputBorder?: string; 26 | containerBg?: string; 27 | background?: string; 28 | surface?: string; 29 | 'on-surface-variant'?: string; 30 | grey100?: string; 31 | grey200?: string; 32 | }; 33 | }; 34 | -------------------------------------------------------------------------------- /package/plugins/vuetify.ts: -------------------------------------------------------------------------------- 1 | 2 | import { createVuetify } from "vuetify"; 3 | import "@mdi/font/css/materialdesignicons.css"; 4 | import * as components from "vuetify/components"; 5 | import * as directives from "vuetify/directives"; 6 | import PerfectScrollbar from 'vue3-perfect-scrollbar'; 7 | import VueApexCharts from 'vue3-apexcharts'; 8 | import VueTablerIcons from 'vue-tabler-icons'; 9 | import '@/scss/style.scss'; 10 | import { 11 | BLUE_THEME, 12 | } from "@/theme/LightTheme"; 13 | export default defineNuxtPlugin((nuxtApp) => { 14 | const vuetify = createVuetify({ 15 | components, 16 | directives, 17 | theme: { 18 | defaultTheme: "BLUE_THEME", 19 | themes: { 20 | BLUE_THEME, 21 | }, 22 | }, 23 | defaults: { 24 | VCard: { 25 | rounded: 'md' 26 | }, 27 | }, 28 | }); 29 | nuxtApp.vueApp.use(vuetify); 30 | nuxtApp.vueApp.use(PerfectScrollbar); 31 | nuxtApp.vueApp.use(VueApexCharts); 32 | nuxtApp.vueApp.use(VueTablerIcons); 33 | }); 34 | 35 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_progress.scss: -------------------------------------------------------------------------------- 1 | @keyframes progress-bar-stripes { 2 | from { background-position: $progress-height 0; } 3 | to { background-position: 0 0; } 4 | } 5 | 6 | .progress { 7 | display: flex; 8 | height: $progress-height; 9 | overflow: hidden; // force rounded corners by cropping it 10 | font-size: $progress-font-size; 11 | background-color: $progress-bg; 12 | @include border-radius($progress-border-radius); 13 | @include box-shadow($progress-box-shadow); 14 | } 15 | 16 | .progress-bar { 17 | display: flex; 18 | flex-direction: column; 19 | justify-content: center; 20 | color: $progress-bar-color; 21 | text-align: center; 22 | white-space: nowrap; 23 | background-color: $progress-bar-bg; 24 | @include transition($progress-bar-transition); 25 | } 26 | 27 | .progress-bar-striped { 28 | @include gradient-striped(); 29 | background-size: $progress-height $progress-height; 30 | } 31 | 32 | .progress-bar-animated { 33 | animation: progress-bar-stripes $progress-bar-animation-timing; 34 | } 35 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_close.scss: -------------------------------------------------------------------------------- 1 | .close { 2 | float: right; 3 | font-size: $close-font-size; 4 | font-weight: $close-font-weight; 5 | line-height: 1; 6 | color: $close-color; 7 | text-shadow: $close-text-shadow; 8 | opacity: .5; 9 | 10 | &:not(:disabled):not(.disabled) { 11 | 12 | @include hover-focus { 13 | color: $close-color; 14 | text-decoration: none; 15 | opacity: .75; 16 | } 17 | 18 | // Opinionated: add "hand" cursor to non-disabled .close elements 19 | cursor: pointer; 20 | } 21 | } 22 | 23 | // Additional properties for button version 24 | // iOS requires the button element instead of an anchor tag. 25 | // If you want the anchor version, it requires `href="#"`. 26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile 27 | 28 | // stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type 29 | button.close { 30 | padding: 0; 31 | background-color: transparent; 32 | border: 0; 33 | -webkit-appearance: none; 34 | } 35 | // stylelint-enable 36 | -------------------------------------------------------------------------------- /package/README.md: -------------------------------------------------------------------------------- 1 | # MaterialPro-nuxtjs-free 2 | Free Nuxt 3 Admin Template with vuetify 3 + Typescript 3 | Free Nuxt 3 Admin Template with vuetify 3 + Typescript 4 | # Live Demo 5 | 6 | 7 | # Nuxt 3 Starter 8 | 9 | > 💚 A Better Nuxt 3 starter template 10 | 11 | ## Use the Template 12 | 13 | ### Clone to local 14 | 15 | ```bash 16 | 17 | $> 💿 Install dependencies with `npm install` or `yarn install` 18 | $> 19 | $> 🚀 Start development server with `npm run dev` or `yarn dev` 20 | ``` 21 | 22 | ## Setup 23 | 24 | ### Installation 25 | 26 | Make sure to install the dependencies 27 | 28 | ```bash 29 | yarn install 30 | ``` 31 | 32 | ### Development 33 | 34 | Start the development server on http://localhost:3088 35 | 36 | ```bash 37 | yarn dev 38 | ``` 39 | 40 | ### Production 41 | 42 | Build the application for production: 43 | 44 | ```bash 45 | yarn build 46 | ``` 47 | 48 | 49 | -------------------------------------------------------------------------------- /package/components/auth/RegisterForm.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 25 | -------------------------------------------------------------------------------- /package/pages/index.vue: -------------------------------------------------------------------------------- 1 | 8 | 9 | 29 | -------------------------------------------------------------------------------- /package/scss/components/_VInput.scss: -------------------------------------------------------------------------------- 1 | // variant 2 | .v-input--density-default, 3 | .v-field--variant-solo, 4 | .v-field--variant-filled { 5 | --v-input-control-height: 51px; 6 | --v-input-padding-top: 14px; 7 | } 8 | 9 | // comfortable 10 | .v-input--density-comfortable { 11 | --v-input-control-height: 44px; 12 | } 13 | 14 | // compact 15 | .v-input--density-compact { 16 | --v-input-padding-top: 10px; 17 | } 18 | .v-label { 19 | font-size: 0.875rem; 20 | opacity: 1; 21 | } 22 | .v-switch .v-label, 23 | .v-checkbox .v-label { 24 | opacity: 1; 25 | } 26 | 27 | .v-text-field__suffix { 28 | opacity: 1; 29 | padding-left: 20px; 30 | } 31 | 32 | .shadow-none .v-field--variant-solo { 33 | box-shadow: none !important; 34 | } 35 | 36 | .v-chip.v-chip--size-small { 37 | --v-chip-size: 45px; 38 | --v-chip-height: 24px; 39 | font-size: 14px; 40 | padding: 0 10px; 41 | } 42 | 43 | .v-field__outline { 44 | color: rgb(var(--v-theme-inputBorder)) !important; 45 | border-radius: 7px !important; 46 | --v-field-border-opacity: 1 !important; 47 | } -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/bootstrap.scss: -------------------------------------------------------------------------------- 1 | /*! 2 | * Bootstrap v4.1.2 (https://getbootstrap.com/) 3 | * Copyright 2011-2018 The Bootstrap Authors 4 | * Copyright 2011-2018 Twitter, Inc. 5 | * Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE) 6 | */ 7 | 8 | @import "functions"; 9 | @import "variables"; 10 | @import "mixins"; 11 | @import "root"; 12 | @import "reboot"; 13 | @import "type"; 14 | @import "images"; 15 | @import "code"; 16 | @import "grid"; 17 | @import "tables"; 18 | @import "forms"; 19 | @import "buttons"; 20 | @import "transitions"; 21 | @import "dropdown"; 22 | @import "button-group"; 23 | @import "input-group"; 24 | @import "custom-forms"; 25 | @import "nav"; 26 | @import "navbar"; 27 | @import "card"; 28 | @import "breadcrumb"; 29 | @import "pagination"; 30 | @import "badge"; 31 | @import "jumbotron"; 32 | @import "alert"; 33 | @import "progress"; 34 | @import "media"; 35 | @import "list-group"; 36 | @import "close"; 37 | @import "modal"; 38 | @import "tooltip"; 39 | @import "popover"; 40 | @import "carousel"; 41 | @import "utilities"; 42 | @import "print"; 43 | -------------------------------------------------------------------------------- /landingpage/dist/scss/custom.scss: -------------------------------------------------------------------------------- 1 | @import url('https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700'); 2 | 3 | //landing page style 4 | .font-14{ 5 | font-size: 14px; 6 | } 7 | 8 | .font-weight-medium{ 9 | font-weight: 500; 10 | } 11 | .live-box { 12 | position: relative; 13 | border:1px solid $gray-200; 14 | height: 275px; 15 | overflow: hidden; 16 | .overlay { 17 | position: absolute; 18 | width: 100%; 19 | top: 0; 20 | left: 0; 21 | background: rgba(255, 255, 255, 0.5); 22 | text-align: center; 23 | height: 100%; 24 | display: none; 25 | .live-btn { 26 | position: relative; 27 | top: 45%; 28 | padding: 10px 20px; 29 | } 30 | } 31 | &:hover { 32 | .overlay { 33 | display: block; 34 | } 35 | } 36 | } 37 | .listing{ 38 | li{ 39 | line-height:37px; 40 | i{ 41 | margin-right:5px; 42 | } 43 | } 44 | } 45 | .pro-demo{ 46 | box-shadow: 0px 4px 45px rgba(0,0,0,0.09); 47 | } 48 | 49 | .line-h33{ 50 | line-height:33px; 51 | } -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_mixins.scss: -------------------------------------------------------------------------------- 1 | // Toggles 2 | // 3 | // Used in conjunction with global variables to enable certain theme features. 4 | 5 | // Utilities 6 | @import "mixins/breakpoints"; 7 | @import "mixins/hover"; 8 | @import "mixins/image"; 9 | @import "mixins/badge"; 10 | @import "mixins/resize"; 11 | @import "mixins/screen-reader"; 12 | @import "mixins/size"; 13 | @import "mixins/reset-text"; 14 | @import "mixins/text-emphasis"; 15 | @import "mixins/text-hide"; 16 | @import "mixins/text-truncate"; 17 | @import "mixins/visibility"; 18 | 19 | // // Components 20 | @import "mixins/alert"; 21 | @import "mixins/buttons"; 22 | @import "mixins/caret"; 23 | @import "mixins/pagination"; 24 | @import "mixins/lists"; 25 | @import "mixins/list-group"; 26 | @import "mixins/nav-divider"; 27 | @import "mixins/forms"; 28 | @import "mixins/table-row"; 29 | 30 | // // Skins 31 | @import "mixins/background-variant"; 32 | @import "mixins/border-radius"; 33 | @import "mixins/box-shadow"; 34 | @import "mixins/gradients"; 35 | @import "mixins/transition"; 36 | 37 | // // Layout 38 | @import "mixins/clearfix"; 39 | @import "mixins/grid-framework"; 40 | @import "mixins/grid"; 41 | @import "mixins/float"; 42 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_code.scss: -------------------------------------------------------------------------------- 1 | // Inline code 2 | code { 3 | font-size: $code-font-size; 4 | color: $code-color; 5 | word-break: break-word; 6 | 7 | // Streamline the style when inside anchors to avoid broken underline and more 8 | a > & { 9 | color: inherit; 10 | } 11 | } 12 | 13 | // User input typically entered via keyboard 14 | kbd { 15 | padding: $kbd-padding-y $kbd-padding-x; 16 | font-size: $kbd-font-size; 17 | color: $kbd-color; 18 | background-color: $kbd-bg; 19 | @include border-radius($border-radius-sm); 20 | @include box-shadow($kbd-box-shadow); 21 | 22 | kbd { 23 | padding: 0; 24 | font-size: 100%; 25 | font-weight: $nested-kbd-font-weight; 26 | @include box-shadow(none); 27 | } 28 | } 29 | 30 | // Blocks of code 31 | pre { 32 | display: block; 33 | font-size: $code-font-size; 34 | color: $pre-color; 35 | 36 | // Account for some code outputs that place code tags in pre tags 37 | code { 38 | font-size: inherit; 39 | color: inherit; 40 | word-break: normal; 41 | } 42 | } 43 | 44 | // Enable scrollable blocks of code 45 | .pre-scrollable { 46 | max-height: $pre-scrollable-max-height; 47 | overflow-y: scroll; 48 | } 49 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_badge.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Requires one of the contextual, color modifier classes for `color` and 4 | // `background-color`. 5 | 6 | .badge { 7 | display: inline-block; 8 | padding: $badge-padding-y $badge-padding-x; 9 | font-size: $badge-font-size; 10 | font-weight: $badge-font-weight; 11 | line-height: 1; 12 | text-align: center; 13 | white-space: nowrap; 14 | vertical-align: baseline; 15 | @include border-radius($badge-border-radius); 16 | 17 | // Empty badges collapse automatically 18 | &:empty { 19 | display: none; 20 | } 21 | } 22 | 23 | // Quick fix for badges in buttons 24 | .btn .badge { 25 | position: relative; 26 | top: -1px; 27 | } 28 | 29 | // Pill badges 30 | // 31 | // Make them extra rounded with a modifier to replace v3's badges. 32 | 33 | .badge-pill { 34 | padding-right: $badge-pill-padding-x; 35 | padding-left: $badge-pill-padding-x; 36 | @include border-radius($badge-pill-border-radius); 37 | } 38 | 39 | // Colors 40 | // 41 | // Contextual variations (linked badges get darker on :hover). 42 | 43 | @each $color, $value in $theme-colors { 44 | .badge-#{$color} { 45 | @include badge-variant($value); 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /package/theme/LightTheme.ts: -------------------------------------------------------------------------------- 1 | import type { ThemeTypes } from '@/types/themeTypes/ThemeType'; 2 | 3 | const BLUE_THEME: ThemeTypes = { 4 | name: 'BLUE_THEME', 5 | dark: false, 6 | variables: { 7 | 'border-color': '#ebf1f6', 8 | 'border-opacity': 1, 9 | }, 10 | colors: { 11 | primary: '#1B84FF', 12 | secondary: '#43CED7', 13 | info: '#2CABE3', 14 | success: '#2CD07E', 15 | accent: '#FFAB91', 16 | warning: '#F6C000', 17 | error: '#F8285A', 18 | purple:'#725AF2', 19 | indigo:'#6610f2', 20 | lightprimary: '#EDF5FD', 21 | lightsecondary: '#F2FCFC', 22 | lightsuccess: '#EDFDF2', 23 | lighterror: '#FFF0F4', 24 | lightwarning: '#FFFCF0', 25 | lightinfo: '#E4F5FF', 26 | textPrimary: '#3A4752', 27 | textSecondary: '#768B9E', 28 | borderColor: '#ebf1f6', 29 | inputBorder: '#DFE5EF', 30 | containerBg: '#ffffff', 31 | background: '#eef5f9', 32 | hoverColor: '#f6f9fc', 33 | surface: '#fff', 34 | 'on-surface-variant': '#fff', 35 | grey100: '#F2F6FA', 36 | grey200: '#EAEFF4' 37 | } 38 | }; 39 | 40 | export { BLUE_THEME}; 41 | -------------------------------------------------------------------------------- /package/components/style-components/typography/DefaultText.vue: -------------------------------------------------------------------------------- 1 | 14 | 26 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_grid.scss: -------------------------------------------------------------------------------- 1 | // Container widths 2 | // 3 | // Set the container width, and override it for fixed navbars in media queries. 4 | 5 | @if $enable-grid-classes { 6 | .container { 7 | @include make-container(); 8 | @include make-container-max-widths(); 9 | } 10 | } 11 | 12 | // Fluid container 13 | // 14 | // Utilizes the mixin meant for fixed width containers, but with 100% width for 15 | // fluid, full width layouts. 16 | 17 | @if $enable-grid-classes { 18 | .container-fluid { 19 | @include make-container(); 20 | } 21 | } 22 | 23 | // Row 24 | // 25 | // Rows contain and clear the floats of your columns. 26 | 27 | @if $enable-grid-classes { 28 | .row { 29 | @include make-row(); 30 | } 31 | 32 | // Remove the negative margin from default .row, then the horizontal padding 33 | // from all immediate children columns (to prevent runaway style inheritance). 34 | .no-gutters { 35 | margin-right: 0; 36 | margin-left: 0; 37 | 38 | > .col, 39 | > [class*="col-"] { 40 | padding-right: 0; 41 | padding-left: 0; 42 | } 43 | } 44 | } 45 | 46 | // Columns 47 | // 48 | // Common styles for small and large grid columns 49 | 50 | @if $enable-grid-classes { 51 | @include make-grid-columns(); 52 | } 53 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_images.scss: -------------------------------------------------------------------------------- 1 | // Responsive images (ensure images don't scale beyond their parents) 2 | // 3 | // This is purposefully opt-in via an explicit class rather than being the default for all ``s. 4 | // We previously tried the "images are responsive by default" approach in Bootstrap v2, 5 | // and abandoned it in Bootstrap v3 because it breaks lots of third-party widgets (including Google Maps) 6 | // which weren't expecting the images within themselves to be involuntarily resized. 7 | // See also https://github.com/twbs/bootstrap/issues/18178 8 | .img-fluid { 9 | @include img-fluid; 10 | } 11 | 12 | 13 | // Image thumbnails 14 | .img-thumbnail { 15 | padding: $thumbnail-padding; 16 | background-color: $thumbnail-bg; 17 | border: $thumbnail-border-width solid $thumbnail-border-color; 18 | @include border-radius($thumbnail-border-radius); 19 | @include box-shadow($thumbnail-box-shadow); 20 | 21 | // Keep them at most 100% wide 22 | @include img-fluid; 23 | } 24 | 25 | // 26 | // Figures 27 | // 28 | 29 | .figure { 30 | // Ensures the caption's text aligns with the image. 31 | display: inline-block; 32 | } 33 | 34 | .figure-img { 35 | margin-bottom: ($spacer / 2); 36 | line-height: 1; 37 | } 38 | 39 | .figure-caption { 40 | font-size: $figure-caption-font-size; 41 | color: $figure-caption-color; 42 | } 43 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_image.scss: -------------------------------------------------------------------------------- 1 | // Image Mixins 2 | // - Responsive image 3 | // - Retina image 4 | 5 | 6 | // Responsive image 7 | // 8 | // Keep images from scaling beyond the width of their parents. 9 | 10 | @mixin img-fluid { 11 | // Part 1: Set a maximum relative to the parent 12 | max-width: 100%; 13 | // Part 2: Override the height to auto, otherwise images will be stretched 14 | // when setting a width and height attribute on the img element. 15 | height: auto; 16 | } 17 | 18 | 19 | // Retina image 20 | // 21 | // Short retina mixin for setting background-image and -size. 22 | 23 | // stylelint-disable indentation, media-query-list-comma-newline-after 24 | @mixin img-retina($file-1x, $file-2x, $width-1x, $height-1x) { 25 | background-image: url($file-1x); 26 | 27 | // Autoprefixer takes care of adding -webkit-min-device-pixel-ratio and -o-min-device-pixel-ratio, 28 | // but doesn't convert dppx=>dpi. 29 | // There's no such thing as unprefixed min-device-pixel-ratio since it's nonstandard. 30 | // Compatibility info: https://caniuse.com/#feat=css-media-resolution 31 | @media only screen and (min-resolution: 192dpi), // IE9-11 don't support dppx 32 | only screen and (min-resolution: 2dppx) { // Standardized 33 | background-image: url($file-2x); 34 | background-size: $width-1x $height-1x; 35 | } 36 | } 37 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_alert.scss: -------------------------------------------------------------------------------- 1 | // 2 | // Base styles 3 | // 4 | 5 | .alert { 6 | position: relative; 7 | padding: $alert-padding-y $alert-padding-x; 8 | margin-bottom: $alert-margin-bottom; 9 | border: $alert-border-width solid transparent; 10 | @include border-radius($alert-border-radius); 11 | } 12 | 13 | // Headings for larger alerts 14 | .alert-heading { 15 | // Specified to prevent conflicts of changing $headings-color 16 | color: inherit; 17 | } 18 | 19 | // Provide class for links that match alerts 20 | .alert-link { 21 | font-weight: $alert-link-font-weight; 22 | } 23 | 24 | 25 | // Dismissible alerts 26 | // 27 | // Expand the right padding and account for the close button's positioning. 28 | 29 | .alert-dismissible { 30 | padding-right: ($close-font-size + $alert-padding-x * 2); 31 | 32 | // Adjust close link position 33 | .close { 34 | position: absolute; 35 | top: 0; 36 | right: 0; 37 | padding: $alert-padding-y $alert-padding-x; 38 | color: inherit; 39 | } 40 | } 41 | 42 | 43 | // Alternate styles 44 | // 45 | // Generate contextual modifier classes for colorizing the alert. 46 | 47 | @each $color, $value in $theme-colors { 48 | .alert-#{$color} { 49 | @include alert-variant(theme-color-level($color, $alert-bg-level), theme-color-level($color, $alert-border-level), theme-color-level($color, $alert-color-level)); 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /package/pages/auth/Login.vue: -------------------------------------------------------------------------------- 1 | 7 | 32 | -------------------------------------------------------------------------------- /package/components/auth/LoginForm.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 33 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_breadcrumb.scss: -------------------------------------------------------------------------------- 1 | .breadcrumb { 2 | display: flex; 3 | flex-wrap: wrap; 4 | padding: $breadcrumb-padding-y $breadcrumb-padding-x; 5 | margin-bottom: $breadcrumb-margin-bottom; 6 | list-style: none; 7 | background-color: $breadcrumb-bg; 8 | @include border-radius($breadcrumb-border-radius); 9 | } 10 | 11 | .breadcrumb-item { 12 | // The separator between breadcrumbs (by default, a forward-slash: "/") 13 | + .breadcrumb-item { 14 | padding-left: $breadcrumb-item-padding; 15 | 16 | &::before { 17 | display: inline-block; // Suppress underlining of the separator in modern browsers 18 | padding-right: $breadcrumb-item-padding; 19 | color: $breadcrumb-divider-color; 20 | content: $breadcrumb-divider; 21 | } 22 | } 23 | 24 | // IE9-11 hack to properly handle hyperlink underlines for breadcrumbs built 25 | // without `