├── 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 │ │ ├── _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 │ ├── style.scss │ └── custom.scss │ └── css │ └── icons │ └── material-design-iconic-font │ └── fonts │ ├── Material-Design-Iconic-Font.eot │ ├── Material-Design-Iconic-Font.ttf │ ├── Material-Design-Iconic-Font.woff │ ├── materialdesignicons-webfont.eot │ ├── materialdesignicons-webfont.ttf │ ├── materialdesignicons-webfont.woff │ ├── Material-Design-Iconic-Font.woff2 │ └── materialdesignicons-webfont.woff2 └── package ├── .npmrc ├── starter ├── .npmrc ├── public │ ├── robots.txt │ ├── favicon.ico │ └── index.html ├── src │ ├── assets │ │ ├── images │ │ │ ├── bg │ │ │ │ ├── bg1.jpg │ │ │ │ ├── bg2.jpg │ │ │ │ ├── bg3.jpg │ │ │ │ └── bg4.jpg │ │ │ ├── users │ │ │ │ ├── user1.jpg │ │ │ │ ├── user2.jpg │ │ │ │ ├── user3.jpg │ │ │ │ ├── user4.jpg │ │ │ │ └── user5.jpg │ │ │ ├── background │ │ │ │ ├── icons2.jpg │ │ │ │ └── error-bg.jpg │ │ │ └── logos │ │ │ │ ├── xtreme-white-icon.svg │ │ │ │ └── xtreme-dark-icon.svg │ │ └── scss │ │ │ ├── styledark.scss │ │ │ ├── style.scss │ │ │ ├── layout │ │ │ ├── _customizer.scss │ │ │ ├── _topbar.scss │ │ │ ├── _container.scss │ │ │ └── rtl │ │ │ │ └── _rtl.scss │ │ │ └── _variables.scss │ ├── layouts │ │ ├── theme │ │ │ ├── DarkTheme.js │ │ │ ├── LightTheme.js │ │ │ └── ThemeSelector.js │ │ ├── BlankLayout.js │ │ ├── loader │ │ │ ├── Loader.js │ │ │ ├── loader.scss │ │ │ └── Loadable.js │ │ ├── customizer │ │ │ └── data.js │ │ ├── breadcrumbs │ │ │ └── BreadCrumbs.js │ │ ├── sidebars │ │ │ ├── vertical │ │ │ │ ├── NavItemContainer.js │ │ │ │ ├── NavSubMenu.js │ │ │ │ └── Sidebar.js │ │ │ ├── horizontal │ │ │ │ ├── NavSingleItem.js │ │ │ │ ├── NavSubItem.js │ │ │ │ └── HorizontalSidebar.js │ │ │ └── sidebardata │ │ │ │ └── SidebarData.js │ │ ├── logo │ │ │ ├── HorizontalLogo.js │ │ │ └── Logo.js │ │ ├── header │ │ │ ├── ProfileDD.js │ │ │ ├── NotificationDD.js │ │ │ └── MessageDD.js │ │ └── FullLayout.js │ ├── setupTests.js │ ├── store │ │ ├── Store.js │ │ └── customizer │ │ │ └── CustomizerSlice.js │ ├── views │ │ ├── auth │ │ │ ├── Error.scss │ │ │ └── Error.js │ │ └── ui │ │ │ └── Breadcrumbs.js │ ├── reportWebVitals.js │ ├── components │ │ ├── ComponentCard.js │ │ └── dashboard │ │ │ ├── Blog.js │ │ │ ├── TopCards.js │ │ │ ├── SalesChart.js │ │ │ └── Feeds.js │ ├── App.js │ ├── index.js │ └── routes │ │ └── Router.js ├── .prettierrc ├── .gitignore ├── .eslintrc └── package.json ├── .gitignore ├── public ├── favicon.ico └── images │ ├── big │ ├── img1.jpg │ ├── img2.jpg │ ├── img3.jpg │ ├── img4.jpg │ └── blog-bg.jpg │ ├── profile │ ├── 1.jpg │ ├── 2.jpg │ ├── 3.jpg │ ├── 4.jpg │ ├── 5.jpg │ ├── 6.jpg │ ├── 7.jpg │ ├── 8.jpg │ ├── user-1.jpg │ ├── user-10.jpg │ ├── user-2.jpg │ ├── user-3.jpg │ ├── user-4.jpg │ ├── user-5.jpg │ ├── user-6.jpg │ ├── user-7.jpg │ ├── user-8.jpg │ ├── user-9.jpg │ ├── user2.jpg │ └── businessmen.png │ ├── backgrounds │ ├── u5.jpg │ ├── bg-1.jpg │ ├── bg-2.jpg │ └── login-register.jpg │ └── logos │ └── dark-logo-icon.svg ├── assets └── scss │ ├── components │ ├── _VCarousel.scss │ ├── _VNavigationDrawer.scss │ ├── _VTextField.scss │ ├── _VButtons.scss │ ├── _VShadow.scss │ ├── _VAlert.scss │ ├── _VInput.scss │ └── _VCard.scss │ ├── style.scss │ ├── layout │ ├── _topbar.scss │ └── _container.scss │ └── _override.scss ├── tsconfig.json ├── layouts ├── blank.vue └── default.vue ├── app.vue ├── components ├── Layout │ ├── logo │ │ ├── LogoIcon.vue │ │ ├── LogoLight.vue │ │ ├── LogoLightIcon.vue │ │ └── Logo.vue │ ├── sidebar │ │ ├── Icon.vue │ │ ├── NavGroup │ │ │ └── index.vue │ │ ├── Buynow │ │ │ └── index.vue │ │ ├── sidebarItems.ts │ │ ├── NavItem │ │ │ └── index.vue │ │ └── index.vue │ └── header │ │ └── index.vue ├── ui-components │ ├── alert │ │ ├── Filled.vue │ │ ├── Basic.vue │ │ └── Closable.vue │ ├── cards │ │ ├── CardsProps.vue │ │ ├── CardsSlots.vue │ │ ├── CardsMedia.vue │ │ ├── CardsTwitter.vue │ │ ├── CardsContentWrap.vue │ │ └── CardsWeather.vue │ └── button │ │ ├── ColorsButtons.vue │ │ ├── OutlinedButtons.vue │ │ ├── TextButtons.vue │ │ ├── BaseButtons.vue │ │ ├── IconColorSizes.vue │ │ └── SizeButtons.vue ├── shared │ ├── UiChildCard.vue │ └── UiParentCard.vue └── dashboard │ ├── TheProfileCard.vue │ ├── BlogCard.vue │ └── TheMyContacts.vue ├── nuxt.config.ts ├── error.vue ├── package.json ├── README.md ├── pages ├── ui-components │ ├── Curousel.vue │ ├── Alerts.vue │ ├── Cards.vue │ ├── Buttons.vue │ └── Tabels.vue └── index.vue ├── types └── themeTypes │ └── ThemeType.ts ├── theme └── LightTheme.ts └── plugins └── vuetify.ts /landingpage/dist/scss/responsive.scss: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package/.npmrc: -------------------------------------------------------------------------------- 1 | legacy-peer-deps=true -------------------------------------------------------------------------------- /package/starter/.npmrc: -------------------------------------------------------------------------------- 1 | legacy-peer-deps=true -------------------------------------------------------------------------------- /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/starter/public/robots.txt: -------------------------------------------------------------------------------- 1 | # https://www.robotstxt.org/robotstxt.html 2 | User-agent: * 3 | Disallow: 4 | -------------------------------------------------------------------------------- /package/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/favicon.ico -------------------------------------------------------------------------------- /package/assets/scss/components/_VCarousel.scss: -------------------------------------------------------------------------------- 1 | .theme-carousel .v-carousel__progress { 2 | position: absolute; 3 | } 4 | -------------------------------------------------------------------------------- /package/tsconfig.json: -------------------------------------------------------------------------------- 1 | { 2 | // https://nuxt.com/docs/guide/concepts/typescript 3 | "extends": "./.nuxt/tsconfig.json" 4 | } 5 | -------------------------------------------------------------------------------- /package/public/images/big/img1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/big/img1.jpg -------------------------------------------------------------------------------- /package/public/images/big/img2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/big/img2.jpg -------------------------------------------------------------------------------- /package/public/images/big/img3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/big/img3.jpg -------------------------------------------------------------------------------- /package/public/images/big/img4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/big/img4.jpg -------------------------------------------------------------------------------- /package/public/images/profile/1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/1.jpg -------------------------------------------------------------------------------- /package/public/images/profile/2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/2.jpg -------------------------------------------------------------------------------- /package/public/images/profile/3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/3.jpg -------------------------------------------------------------------------------- /package/public/images/profile/4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/4.jpg -------------------------------------------------------------------------------- /package/public/images/profile/5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/5.jpg -------------------------------------------------------------------------------- /package/public/images/profile/6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/6.jpg -------------------------------------------------------------------------------- /package/public/images/profile/7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/7.jpg -------------------------------------------------------------------------------- /package/public/images/profile/8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/8.jpg -------------------------------------------------------------------------------- /package/starter/public/favicon.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/public/favicon.ico -------------------------------------------------------------------------------- /package/assets/scss/components/_VNavigationDrawer.scss: -------------------------------------------------------------------------------- 1 | .v-navigation-drawer__scrim.fade-transition-leave-to { 2 | display: none; 3 | } 4 | -------------------------------------------------------------------------------- /package/public/images/big/blog-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/big/blog-bg.jpg -------------------------------------------------------------------------------- /package/layouts/blank.vue: -------------------------------------------------------------------------------- 1 | 3 | -------------------------------------------------------------------------------- /package/public/images/backgrounds/u5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/backgrounds/u5.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-1.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-10.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-10.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-2.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-3.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-4.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-5.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-6.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-6.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-7.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-7.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-8.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-8.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user-9.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user-9.jpg -------------------------------------------------------------------------------- /package/public/images/profile/user2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/user2.jpg -------------------------------------------------------------------------------- /package/public/images/backgrounds/bg-1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/backgrounds/bg-1.jpg -------------------------------------------------------------------------------- /package/public/images/backgrounds/bg-2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/backgrounds/bg-2.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/profile/businessmen.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/profile/businessmen.png -------------------------------------------------------------------------------- /package/starter/src/assets/images/bg/bg1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/bg/bg1.jpg -------------------------------------------------------------------------------- /package/starter/src/assets/images/bg/bg2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/bg/bg2.jpg -------------------------------------------------------------------------------- /package/starter/src/assets/images/bg/bg3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/bg/bg3.jpg -------------------------------------------------------------------------------- /package/starter/src/assets/images/bg/bg4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/bg/bg4.jpg -------------------------------------------------------------------------------- /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/starter/src/assets/images/users/user1.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/users/user1.jpg -------------------------------------------------------------------------------- /package/starter/src/assets/images/users/user2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/users/user2.jpg -------------------------------------------------------------------------------- /package/starter/src/assets/images/users/user3.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/users/user3.jpg -------------------------------------------------------------------------------- /package/starter/src/assets/images/users/user4.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/users/user4.jpg -------------------------------------------------------------------------------- /package/starter/src/assets/images/users/user5.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/users/user5.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 | -------------------------------------------------------------------------------- /package/public/images/backgrounds/login-register.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/public/images/backgrounds/login-register.jpg -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_clearfix.scss: -------------------------------------------------------------------------------- 1 | @mixin clearfix() { 2 | &::after { 3 | display: block; 4 | clear: both; 5 | content: ""; 6 | } 7 | } 8 | -------------------------------------------------------------------------------- /package/starter/src/assets/images/background/icons2.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/background/icons2.jpg -------------------------------------------------------------------------------- /package/starter/src/assets/images/background/error-bg.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/package/starter/src/assets/images/background/error-bg.jpg -------------------------------------------------------------------------------- /package/app.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package/starter/.prettierrc: -------------------------------------------------------------------------------- 1 | { 2 | "bracketSpacing": true, 3 | "printWidth": 100, 4 | "singleQuote": true, 5 | "trailingComma": "all", 6 | "tabWidth": 2, 7 | "useTabs": false 8 | } 9 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/starter/src/layouts/theme/DarkTheme.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import '../../assets/scss/styledark.scss'; 3 | 4 | const DarkTheme = () => { 5 | return <>; 6 | }; 7 | 8 | export default DarkTheme; 9 | -------------------------------------------------------------------------------- /package/starter/src/layouts/theme/LightTheme.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import '../../assets/scss/style.scss'; 3 | 4 | const LightTheme = () => { 5 | return <>; 6 | }; 7 | 8 | export default LightTheme; 9 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/components/Layout/logo/LogoIcon.vue: -------------------------------------------------------------------------------- 1 | 8 | -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-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/adminpro-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/Material-Design-Iconic-Font.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-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/materialdesignicons-webfont.eot: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-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/adminpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.ttf -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.woff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-nuxtjs-free/HEAD/landingpage/dist/css/icons/material-design-iconic-font/fonts/materialdesignicons-webfont.woff -------------------------------------------------------------------------------- /package/starter/src/layouts/BlankLayout.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import { Outlet } from "react-router-dom"; 3 | 4 | const BlankLayout = () => ( 5 | <> 6 | 7 | 8 | ); 9 | 10 | export default BlankLayout; 11 | -------------------------------------------------------------------------------- /landingpage/dist/css/icons/material-design-iconic-font/fonts/Material-Design-Iconic-Font.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-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.woff2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/wrappixel/adminpro-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 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/starter/src/setupTests.js: -------------------------------------------------------------------------------- 1 | // jest-dom adds custom jest matchers for asserting on DOM nodes. 2 | // allows you to do things like: 3 | // expect(element).toHaveTextContent(/react/i) 4 | // learn more: https://github.com/testing-library/jest-dom 5 | import '@testing-library/jest-dom'; 6 | -------------------------------------------------------------------------------- /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/assets/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)); 6 | } 7 | .input { 8 | .v-field--variant-outlined { 9 | background-color: rgba(0, 0, 0, 0.025); 10 | } 11 | } 12 | 13 | -------------------------------------------------------------------------------- /package/starter/src/store/Store.js: -------------------------------------------------------------------------------- 1 | import { configureStore } from '@reduxjs/toolkit'; 2 | 3 | import CustomizerReducer from './customizer/CustomizerSlice'; 4 | 5 | export const store = configureStore({ 6 | reducer: { 7 | customizer: CustomizerReducer, 8 | }, 9 | }); 10 | 11 | export default store; 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/starter/src/assets/scss/styledark.scss: -------------------------------------------------------------------------------- 1 | @import "darkvariables"; 2 | 3 | @import "~bootstrap/scss/bootstrap"; 4 | @import "~bootstrap-icons/font/bootstrap-icons.scss"; 5 | @import "./layout/sidebar"; 6 | @import "./layout/container"; 7 | @import "./layout/customizer"; 8 | @import "./layout/topbar"; 9 | @import "./layout/rtl/rtl"; 10 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/components/Layout/logo/LogoLight.vue: -------------------------------------------------------------------------------- 1 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /package/components/Layout/logo/LogoLightIcon.vue: -------------------------------------------------------------------------------- 1 | 4 | 11 | 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/assets/scss/components/_VButtons.scss: -------------------------------------------------------------------------------- 1 | .v-btn-group .v-btn { 2 | height: inherit !important; 3 | } 4 | 5 | .v-btn-group { 6 | border-color: rgb(var(--v-theme-borderColor)) !important; 7 | } 8 | .v-btn{ 9 | text-transform: capitalize; 10 | letter-spacing: 0; 11 | } 12 | .v-btn--elevated:hover{ 13 | box-shadow: none; 14 | } 15 | -------------------------------------------------------------------------------- /package/starter/src/layouts/loader/Loader.js: -------------------------------------------------------------------------------- 1 | import React from "react"; 2 | import "./loader.scss"; 3 | import { Spinner } from "reactstrap"; 4 | 5 | const Loader = () => ( 6 |
7 |
8 | 9 |
10 |
11 | ); 12 | export default Loader; 13 | -------------------------------------------------------------------------------- /package/starter/src/views/auth/Error.scss: -------------------------------------------------------------------------------- 1 | .error-title { 2 | font-size: 210px; 3 | font-weight: 900; 4 | text-shadow: 4px 4px 0 #fff, 6px 6px 0 #263238; 5 | line-height: 210px; 6 | } 7 | 8 | @media ( max-width: 1024px) { 9 | .error-title { 10 | font-size: 80px; 11 | line-height: 80px; 12 | } 13 | } -------------------------------------------------------------------------------- /package/assets/scss/components/_VShadow.scss: -------------------------------------------------------------------------------- 1 | .elevation-9 { 2 | box-shadow: rgb(0 0 0 / 5%) 0px 9px 17.5px !important; 3 | } 4 | 5 | .elevation-10 { 6 | box-shadow: $box-shadow !important; 7 | } 8 | 9 | .primary-shadow { 10 | box-shadow: rgba(var(--v-theme-primary), 0.30) 0px 12px 14px 0px; 11 | &:hover { 12 | box-shadow: none; 13 | } 14 | } 15 | 16 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/starter/src/assets/scss/style.scss: -------------------------------------------------------------------------------- 1 | @import "variables"; 2 | @import "simplebar/dist/simplebar.min.css"; 3 | @import "~bootstrap/scss/bootstrap"; 4 | @import "~bootstrap-icons/font/bootstrap-icons.scss"; 5 | @import "./layout/sidebar"; 6 | @import "./layout/container"; 7 | @import "./layout/customizer"; 8 | @import "./layout/topbar"; 9 | @import "./layout/rtl/rtl"; 10 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/components/Layout/logo/Logo.vue: -------------------------------------------------------------------------------- 1 | 4 | 12 | -------------------------------------------------------------------------------- /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"; -------------------------------------------------------------------------------- /package/starter/src/layouts/loader/loader.scss: -------------------------------------------------------------------------------- 1 | .fallback-spinner { 2 | position: relative; 3 | display: flex; 4 | height: 100vh; 5 | width: 100%; 6 | } 7 | .loading { 8 | position: absolute; 9 | left: calc(50% - 35px); 10 | top: 50%; 11 | width: 55px; 12 | height: 55px; 13 | border-radius: 50%; 14 | -webkit-box-sizing: border-box; 15 | box-sizing: border-box; 16 | border: 3px solid transparent; 17 | } 18 | -------------------------------------------------------------------------------- /package/nuxt.config.ts: -------------------------------------------------------------------------------- 1 | 2 | import vuetify from "vite-plugin-vuetify"; 3 | export default defineNuxtConfig({ 4 | ssr: false, 5 | typescript: { 6 | shim: false, 7 | }, 8 | app: { 9 | head: { 10 | title: 11 | "AdminPro Free Nuxt 3 Dashboard", 12 | }, 13 | }, 14 | nitro: { 15 | serveStatic: true, 16 | }, 17 | sourcemap: { server: false, client: false }, 18 | devServerHandlers: [], 19 | }); 20 | -------------------------------------------------------------------------------- /package/starter/.gitignore: -------------------------------------------------------------------------------- 1 | # See https://help.github.com/articles/ignoring-files/ for more about ignoring files. 2 | 3 | # dependencies 4 | /node_modules 5 | /.pnp 6 | .pnp.js 7 | 8 | # testing 9 | /coverage 10 | 11 | # production 12 | /build 13 | 14 | # misc 15 | .DS_Store 16 | .env.local 17 | .env.development.local 18 | .env.test.local 19 | .env.production.local 20 | 21 | npm-debug.log* 22 | yarn-debug.log* 23 | yarn-error.log* 24 | -------------------------------------------------------------------------------- /package/components/Layout/sidebar/Icon.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 13 | -------------------------------------------------------------------------------- /package/starter/src/layouts/loader/Loadable.js: -------------------------------------------------------------------------------- 1 | import React, { Suspense } from "react"; 2 | 3 | // project imports 4 | import Loader from "./Loader"; 5 | 6 | // ===========================|| LOADABLE - LAZY LOADING ||=========================== // 7 | 8 | const Loadable = (Component) => (props) => 9 | ( 10 | }> 11 | 12 | 13 | ); 14 | 15 | export default Loadable; 16 | -------------------------------------------------------------------------------- /package/starter/src/reportWebVitals.js: -------------------------------------------------------------------------------- 1 | const reportWebVitals = onPerfEntry => { 2 | if (onPerfEntry && onPerfEntry instanceof Function) { 3 | import('web-vitals').then(({ getCLS, getFID, getFCP, getLCP, getTTFB }) => { 4 | getCLS(onPerfEntry); 5 | getFID(onPerfEntry); 6 | getFCP(onPerfEntry); 7 | getLCP(onPerfEntry); 8 | getTTFB(onPerfEntry); 9 | }); 10 | } 11 | }; 12 | 13 | export default reportWebVitals; 14 | -------------------------------------------------------------------------------- /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/components/ui-components/alert/Filled.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package/components/shared/UiChildCard.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 18 | -------------------------------------------------------------------------------- /package/components/ui-components/cards/CardsProps.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 13 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/starter/src/assets/scss/layout/_customizer.scss: -------------------------------------------------------------------------------- 1 | .customizerSidebar { 2 | width: $sidebarWidth; 3 | background-color: $white; 4 | height: 100%; 5 | position: fixed; 6 | right: 0; 7 | top: 0; 8 | z-index: 2; 9 | transition: 0.2s ease-in; 10 | margin-right: -$sidebarWidth; 11 | &.showCustomizer { 12 | margin-right: 0; 13 | } 14 | } 15 | .custombtn { 16 | margin-left: -58px; 17 | position: fixed; 18 | top: 50%; 19 | border-radius: 5px 0 0 5px; 20 | } 21 | -------------------------------------------------------------------------------- /package/components/Layout/sidebar/NavGroup/index.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 11 | -------------------------------------------------------------------------------- /package/components/ui-components/alert/Basic.vue: -------------------------------------------------------------------------------- 1 | 7 | -------------------------------------------------------------------------------- /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/components/ui-components/button/ColorsButtons.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | -------------------------------------------------------------------------------- /package/components/ui-components/button/OutlinedButtons.vue: -------------------------------------------------------------------------------- 1 | 2 | 12 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/components/ui-components/button/TextButtons.vue: -------------------------------------------------------------------------------- 1 | 6 | 13 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /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/components/ui-components/cards/CardsSlots.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 15 | -------------------------------------------------------------------------------- /package/components/ui-components/button/BaseButtons.vue: -------------------------------------------------------------------------------- 1 | 11 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/error.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 17 | -------------------------------------------------------------------------------- /package/assets/scss/components/_VAlert.scss: -------------------------------------------------------------------------------- 1 | .single-line-alert { 2 | .v-alert__close, 3 | .v-alert__prepend { 4 | align-self: center !important; 5 | } 6 | } 7 | 8 | @media (max-width: 500px) { 9 | .single-line-alert { 10 | display: flex; 11 | flex-wrap: wrap; 12 | 13 | .v-alert__append { 14 | margin-inline-start: 0px; 15 | } 16 | .v-alert__close { 17 | margin-left: auto; 18 | } 19 | .v-alert__content { 20 | width: 100%; 21 | margin-top: 5px; 22 | } 23 | } 24 | } 25 | -------------------------------------------------------------------------------- /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/Layout/sidebar/Buynow/index.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package/starter/src/layouts/customizer/data.js: -------------------------------------------------------------------------------- 1 | const ColorsBg = [ 2 | { 3 | bg: "white", 4 | }, 5 | { 6 | bg: "dark", 7 | }, 8 | { 9 | bg: "primary", 10 | }, 11 | { 12 | bg: "success", 13 | }, 14 | { 15 | bg: "danger", 16 | }, 17 | { 18 | bg: "info", 19 | }, 20 | ]; 21 | const SidebarColorsBg = [ 22 | { 23 | bg: "white", 24 | }, 25 | 26 | { 27 | bg: "dark", 28 | }, 29 | { 30 | bg: "danger", 31 | }, 32 | { 33 | bg: "info", 34 | }, 35 | { 36 | bg: "success", 37 | }, 38 | { 39 | bg: "primary", 40 | }, 41 | ]; 42 | 43 | export { ColorsBg, SidebarColorsBg }; 44 | -------------------------------------------------------------------------------- /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/assets/scss/style.scss: -------------------------------------------------------------------------------- 1 | @import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@100;300;400;500;600&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 | 9 | @import './components/VAlert'; 10 | @import './components/VButtons'; 11 | @import './components/VCard'; 12 | @import './components/VCarousel'; 13 | @import './components/VInput'; 14 | @import './components/VNavigationDrawer'; 15 | @import './components/VShadow'; 16 | 17 | @import 'vue3-perfect-scrollbar/dist/vue3-perfect-scrollbar.css'; 18 | -------------------------------------------------------------------------------- /package/starter/src/layouts/theme/ThemeSelector.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { useSelector } from 'react-redux'; 3 | import PropTypes from 'prop-types'; 4 | 5 | const LightTheme = React.lazy(() => import('./LightTheme')); 6 | const DarkTheme = React.lazy(() => import('./DarkTheme')); 7 | 8 | const ThemeSelector = ({ children }) => { 9 | const isDarkMode = useSelector((state) => state.customizer.isDark); 10 | return ( 11 | <> 12 | <>{isDarkMode ? : } 13 | {children} 14 | 15 | ); 16 | }; 17 | 18 | ThemeSelector.propTypes = { 19 | children: PropTypes.node, 20 | }; 21 | 22 | export default ThemeSelector; 23 | -------------------------------------------------------------------------------- /package/assets/scss/layout/_topbar.scss: -------------------------------------------------------------------------------- 1 | .v-app-bar { 2 | .v-toolbar__content { 3 | padding: 0 15px; 4 | > .v-btn:first-child { 5 | margin-inline-start: 0; 6 | } 7 | .v-btn { 8 | color: rgba(var(--v-theme-textsurface)) !important; 9 | } 10 | } 11 | } 12 | 13 | .custom-text-primary { 14 | &.v-list-item:hover > .v-list-item__overlay { 15 | display: none; 16 | } 17 | .custom-title { 18 | color: rgb(var(--v-theme-textPrimary)) !important; 19 | } 20 | &:hover { 21 | .custom-title { 22 | color: rgb(var(--v-theme-primary)) !important; 23 | } 24 | } 25 | } 26 | -------------------------------------------------------------------------------- /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/ui-components/button/IconColorSizes.vue: -------------------------------------------------------------------------------- 1 | 10 | -------------------------------------------------------------------------------- /package/components/ui-components/button/SizeButtons.vue: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /package/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "private": true, 3 | "scripts": { 4 | "build": "nuxt build", 5 | "dev": "nuxt dev", 6 | "generate": "nuxt generate", 7 | "preview": "nuxt preview", 8 | "postinstall": "nuxt prepare" 9 | }, 10 | "devDependencies": { 11 | "nuxt": "3.7.4" 12 | }, 13 | "dependencies": { 14 | "@mdi/font": "^6.5.95", 15 | "@nuxt/vite-builder": "^3.7.4", 16 | "apexcharts": "3.36.3", 17 | "sass": "^1.49.9", 18 | "vue": "3.3.4", 19 | "vue-tabler-icons": "2.9.0", 20 | "vue3-apexcharts": "1.4.1", 21 | "vue3-perfect-scrollbar": "1.6.0", 22 | "vuetify": "3.3.19" 23 | }, 24 | "overrides": { 25 | "nth-check": "2.1.1" 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /package/starter/src/components/ComponentCard.js: -------------------------------------------------------------------------------- 1 | import { Card, CardBody, CardTitle, CardSubtitle } from 'reactstrap'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const ComponentCard = ({ children, title, subtitle }) => { 5 | return ( 6 | 7 | 8 | {title} 9 | 10 | 11 | {subtitle || ''} 12 |
{children}
13 |
14 |
15 | ); 16 | }; 17 | 18 | ComponentCard.propTypes = { 19 | children: PropTypes.node, 20 | title: PropTypes.string, 21 | subtitle: PropTypes.node 22 | }; 23 | 24 | export default ComponentCard; 25 | -------------------------------------------------------------------------------- /package/assets/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 | -------------------------------------------------------------------------------- /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/components/shared/UiParentCard.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | // ===============================|| Ui Parent Card||=============================== // 8 | 24 | -------------------------------------------------------------------------------- /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/README.md: -------------------------------------------------------------------------------- 1 | # Nuxt 3 Minimal Starter 2 | 3 | Look at the [Nuxt 3 documentation](https://nuxt.com/docs/getting-started/introduction) to learn more. 4 | 5 | ## Setup 6 | 7 | Make sure to install the dependencies: 8 | 9 | ```bash 10 | # yarn 11 | yarn install 12 | 13 | # npm 14 | npm install 15 | 16 | # pnpm 17 | pnpm install --shamefully-hoist 18 | ``` 19 | 20 | ## Development Server 21 | 22 | Start the development server on http://localhost:3000 23 | 24 | ```bash 25 | npm run dev 26 | ``` 27 | 28 | ## Production 29 | 30 | Build the application for production: 31 | 32 | ```bash 33 | npm run build 34 | ``` 35 | 36 | Locally preview production build: 37 | 38 | ```bash 39 | npm run preview 40 | ``` 41 | 42 | Check out the [deployment documentation](https://nuxt.com/docs/getting-started/deployment) for more information. 43 | -------------------------------------------------------------------------------- /package/components/ui-components/alert/Closable.vue: -------------------------------------------------------------------------------- 1 | 5 | 31 | -------------------------------------------------------------------------------- /package/starter/src/components/dashboard/Blog.js: -------------------------------------------------------------------------------- 1 | import { Card, CardBody, CardImg, CardSubtitle, CardText, CardTitle, Button } from 'reactstrap'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const Blog = ({ image, title, subtitle, text, color }) => { 5 | return ( 6 | 7 | 8 | 9 | {title} 10 | {subtitle} 11 | {text} 12 | 13 | 14 | 15 | ); 16 | }; 17 | 18 | Blog.propTypes = { 19 | title: PropTypes.string, 20 | image: PropTypes.string, 21 | subtitle: PropTypes.string, 22 | text: PropTypes.string, 23 | color: PropTypes.string, 24 | }; 25 | export default Blog; 26 | -------------------------------------------------------------------------------- /package/starter/src/App.js: -------------------------------------------------------------------------------- 1 | import React, { Suspense } from 'react'; 2 | import { useRoutes } from 'react-router-dom'; 3 | import { useSelector } from 'react-redux'; 4 | import Themeroutes from './routes/Router'; 5 | import ThemeSelector from './layouts/theme/ThemeSelector'; 6 | import Loader from './layouts/loader/Loader'; 7 | 8 | const App = () => { 9 | const routing = useRoutes(Themeroutes); 10 | const direction = useSelector((state) => state.customizer.isRTL); 11 | const isMode = useSelector((state) => state.customizer.isDark); 12 | return ( 13 | }> 14 |
18 | 19 | {routing} 20 |
21 |
22 | ); 23 | }; 24 | 25 | export default App; 26 | -------------------------------------------------------------------------------- /package/starter/src/assets/scss/layout/_topbar.scss: -------------------------------------------------------------------------------- 1 | .fixedTopbar { 2 | .topbar { 3 | position: fixed; 4 | left: $sidebarWidth; 5 | width: 100%; 6 | top: 0; 7 | left: 0; 8 | z-index: 1; 9 | } 10 | .HorizontalTopbar { 11 | position: fixed; 12 | top: 0; 13 | width: 100%; 14 | z-index: 2; 15 | } 16 | &.contentArea { 17 | padding-top: $topbarHeight; 18 | } 19 | } 20 | .ddWidth { 21 | width: 300px; 22 | } 23 | 24 | @include media-breakpoint-up(lg) { 25 | .fixedTopbar { 26 | .topbar { 27 | width: calc(100% - #{$sidebarWidth}); 28 | left: auto; 29 | } 30 | } 31 | .isMiniSidebar .fixedTopbar .topbar { 32 | width: calc(100% - #{$miniSidebarWidth}); 33 | left: auto; 34 | } 35 | } 36 | @include media-breakpoint-down(lg) { 37 | .ddWidth { 38 | width: 100vw; 39 | max-width: 400px; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/starter/src/components/dashboard/TopCards.js: -------------------------------------------------------------------------------- 1 | import { Card, CardBody } from 'reactstrap'; 2 | import PropTypes from 'prop-types'; 3 | 4 | const TopCards = ({ bg, icon, earning, subtitle }) => { 5 | return ( 6 | 7 | 8 |
9 |
10 | 11 |
12 |
13 |

{earning}

14 | {subtitle} 15 |
16 |
17 |
18 |
19 | ); 20 | }; 21 | 22 | TopCards.propTypes = { 23 | bg: PropTypes.string, 24 | icon: PropTypes.string, 25 | earning: PropTypes.string, 26 | subtitle: PropTypes.string, 27 | }; 28 | 29 | export default TopCards; 30 | -------------------------------------------------------------------------------- /package/public/images/logos/dark-logo-icon.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/starter/src/index.js: -------------------------------------------------------------------------------- 1 | /* eslint-disable import/no-named-as-default-member */ 2 | /* eslint-disable import/no-named-as-default */ 3 | import React from 'react'; 4 | import { createRoot } from 'react-dom/client'; 5 | import { Provider } from 'react-redux'; 6 | import { BrowserRouter } from 'react-router-dom'; 7 | import reportWebVitals from './reportWebVitals'; 8 | import { store } from './store/Store'; 9 | import App from './App'; 10 | 11 | const container = document.getElementById('root'); 12 | const root = createRoot(container); 13 | 14 | root.render( 15 | 16 | 17 | 18 | 19 | , 20 | ); 21 | 22 | // If you want to start measuring performance in your app, pass a function 23 | // to log results (for example: reportWebVitals(console.log)) 24 | // or send to an analytics endpoint. Learn more: https://bit.ly/CRA-vitals 25 | reportWebVitals(); 26 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/starter/src/assets/scss/layout/_container.scss: -------------------------------------------------------------------------------- 1 | .pageWrapper { 2 | min-height: 100vh; 3 | } 4 | .contentArea { 5 | flex-grow: 1; 6 | } 7 | .card { 8 | margin-bottom: 30px; 9 | box-shadow: $box-shadow; 10 | } 11 | .dropdown-menu { 12 | box-shadow: $box-shadow; 13 | } 14 | .cursor-pointer { 15 | cursor: pointer; 16 | } 17 | .circle-box { 18 | width: 40px; 19 | height: 40px; 20 | line-height: 40px; 21 | text-align: center; 22 | border-radius: 100%; 23 | &.lg-box { 24 | width: 60px; 25 | height: 60px; 26 | font-size: 21px; 27 | line-height: 60px; 28 | } 29 | &.md-box { 30 | width: 50px; 31 | height: 50px; 32 | font-size: 18px; 33 | line-height: 50px; 34 | } 35 | } 36 | .button-group .btn { 37 | margin: 3px; 38 | } 39 | .btn-white { 40 | border: 1px solid $border-color; 41 | } 42 | .simplebar-scrollbar:before { 43 | background: #a0a0a0; 44 | } 45 | .apexcharts-toolbar { 46 | z-index: 0 !important; 47 | } 48 | -------------------------------------------------------------------------------- /package/starter/src/layouts/breadcrumbs/BreadCrumbs.js: -------------------------------------------------------------------------------- 1 | import { Breadcrumb, BreadcrumbItem } from 'reactstrap'; 2 | import { useLocation, Link } from 'react-router-dom'; 3 | //import SidebarData from '../sidebars/sidebardata/SidebarData'; 4 | 5 | const BreadCrumbs = () => { 6 | const location = useLocation(); 7 | const firstUrl = location.pathname.split('/')[1]; 8 | const secondUrl = location.pathname.split('/')[2]; 9 | console.log(firstUrl, secondUrl); 10 | return ( 11 | <> 12 |

{secondUrl ? `${secondUrl}` : `${firstUrl}`}

13 | 14 | 15 | Home 16 | 17 | {firstUrl ? {firstUrl} : ''} 18 | {secondUrl ? {secondUrl} : ''} 19 | 20 | 21 | ); 22 | }; 23 | 24 | export default BreadCrumbs; 25 | -------------------------------------------------------------------------------- /package/pages/ui-components/Curousel.vue: -------------------------------------------------------------------------------- 1 | 12 | 13 | 32 | -------------------------------------------------------------------------------- /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 | lightprimary?: string; 14 | lightsecondary?: string; 15 | lightsuccess?: string; 16 | lighterror?: string; 17 | lightinfo?: string; 18 | lightwarning?: string; 19 | textPrimary?: string; 20 | textSecondary?: string; 21 | borderColor?: string; 22 | hoverColor?: string; 23 | inputBorder?: string; 24 | containerBg?: string; 25 | background?: string; 26 | surface?: string; 27 | 'on-surface-variant'?: string; 28 | grey100?: string; 29 | grey200?: string; 30 | muted?:string; 31 | borderline?:string; 32 | }; 33 | }; 34 | -------------------------------------------------------------------------------- /package/assets/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 | .lstick { 42 | width: 2px; 43 | background: rgb(var(--v-theme-primary)); 44 | height: 30px; 45 | position: absolute; 46 | left: 1px; 47 | top: 40px; 48 | transform: translate(-50%, -50%); 49 | } 50 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/components/ui-components/cards/CardsMedia.vue: -------------------------------------------------------------------------------- 1 | 4 | 5 | 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/starter/src/views/auth/Error.js: -------------------------------------------------------------------------------- 1 | import { Link } from 'react-router-dom'; 2 | import "./Error.scss"; 3 | import errorBg from '../../assets/images/background/error-bg.jpg'; 4 | 5 | const Error = () => { 6 | return ( 7 | <> 8 |
12 |
13 |
14 |

404

15 |
16 |

PAGE NOT FOUND !

17 | 18 | You seem to be trying to find his way home{' '} 19 | 20 |
21 | 22 | 23 | Back to home 24 | 25 |
26 |
27 |
28 | 29 | ); 30 | }; 31 | 32 | export default Error; 33 | -------------------------------------------------------------------------------- /package/starter/src/assets/scss/layout/rtl/_rtl.scss: -------------------------------------------------------------------------------- 1 | .rtl { 2 | @import "./rtl-components"; 3 | @import "./rtl-spacing"; 4 | 5 | ol, 6 | ul { 7 | padding: 0px; 8 | } 9 | .me-3 { 10 | margin-left: 1rem; 11 | margin-right: 0px !important; 12 | } 13 | .me-2 { 14 | margin-left: 0.5rem; 15 | margin-right: 0px !important; 16 | } 17 | .ms-3 { 18 | margin-left: 0px !important; 19 | margin-right: 1rem; 20 | } 21 | .ms-auto { 22 | margin-right: auto; 23 | margin-left: unset !important; 24 | } 25 | .me-auto { 26 | margin-right: unset !important; 27 | margin-left: auto; 28 | } 29 | 30 | .customizerSidebar { 31 | left: 0px; 32 | right: auto; 33 | margin-right: 0px; 34 | margin-left: -260px; 35 | .custombtn { 36 | margin-left: 0px; 37 | margin-right: -58px; 38 | border-radius: 0px 5px 5px 0px; 39 | } 40 | &.showCustomizer { 41 | margin-left: 0px; 42 | } 43 | } 44 | .sidebarArea .nav-link { 45 | padding: 12px 12px 12px 5px; 46 | } 47 | } 48 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/pages/index.vue: -------------------------------------------------------------------------------- 1 | 9 | 10 | 33 | -------------------------------------------------------------------------------- /package/assets/scss/components/_VCard.scss: -------------------------------------------------------------------------------- 1 | // Outline Card 2 | .v-card--variant-outlined { 3 | border-color: rgba(var(--v-theme-borderColor)) !important; 4 | } 5 | 6 | .v-card--variant-elevated, 7 | .v-card--variant-flat { 8 | color: rgb(var(--v-theme-textPrimary)); 9 | } 10 | 11 | .card-hover { 12 | transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; 13 | &:hover { 14 | scale: 1.01; 15 | transition: all 0.1s ease-in 0s; 16 | } 17 | } 18 | 19 | .v-card { 20 | width: 100%; 21 | overflow: visible; 22 | .color-inherits { 23 | color: inherit; 24 | } 25 | .feature-card { 26 | .v-responsive__content { 27 | height: 100%; 28 | } 29 | } 30 | .v-timeline-divider__before,.v-timeline-divider__after { 31 | background: rgba(var(--v-border-color), 1); 32 | } 33 | } 34 | 35 | // Theme cards 36 | .cardBordered { 37 | .v-card { 38 | box-shadow: none !important; 39 | border: 1px solid rgb(var(--v-theme-borderColor)); 40 | } 41 | } 42 | 43 | .elevation-o-card{ 44 | .v-card-item{ 45 | padding: 0.625rem 1rem; 46 | } 47 | } -------------------------------------------------------------------------------- /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 | } -------------------------------------------------------------------------------- /package/starter/src/layouts/sidebars/vertical/NavItemContainer.js: -------------------------------------------------------------------------------- 1 | import { NavLink, NavItem } from "reactstrap"; 2 | import { Link } from "react-router-dom"; 3 | import PropTypes from "prop-types"; 4 | 5 | const NavItemContainer = ({ 6 | to, 7 | icon, 8 | title, 9 | toggle, 10 | className, 11 | suffix, 12 | suffixColor, 13 | }) => { 14 | return ( 15 | 16 | 17 | {icon} 18 | 19 |
20 | {title} 21 | {suffix} 22 |
23 |
24 |
25 |
26 | ); 27 | }; 28 | NavItemContainer.propTypes = { 29 | title: PropTypes.string, 30 | to: PropTypes.string, 31 | icon: PropTypes.node, 32 | toggle: PropTypes.func, 33 | className: PropTypes.string, 34 | suffix: PropTypes.any, 35 | suffixColor: PropTypes.string, 36 | }; 37 | 38 | export default NavItemContainer; 39 | -------------------------------------------------------------------------------- /package/starter/src/layouts/sidebars/horizontal/NavSingleItem.js: -------------------------------------------------------------------------------- 1 | import { NavLink, NavItem } from "reactstrap"; 2 | import { Link } from "react-router-dom"; 3 | import PropTypes from "prop-types"; 4 | 5 | const NavSingleItem = ({ 6 | to, 7 | icon, 8 | title, 9 | toggle, 10 | className, 11 | suffix, 12 | suffixColor, 13 | }) => { 14 | return ( 15 | 16 | 17 | {icon} 18 |
19 | {title} 20 | {suffix ? ( 21 | {suffix} 22 | ) : ( 23 | "" 24 | )} 25 |
26 |
27 |
28 | ); 29 | }; 30 | NavSingleItem.propTypes = { 31 | title: PropTypes.string, 32 | to: PropTypes.string, 33 | icon: PropTypes.node, 34 | toggle: PropTypes.func, 35 | className: PropTypes.string, 36 | suffix: PropTypes.any, 37 | suffixColor: PropTypes.string, 38 | }; 39 | 40 | export default NavSingleItem; 41 | -------------------------------------------------------------------------------- /package/components/Layout/header/index.vue: -------------------------------------------------------------------------------- 1 | 17 | 18 | 37 | -------------------------------------------------------------------------------- /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': '#e5eaef' 8 | }, 9 | colors: { 10 | primary: '#186dde', 11 | secondary: '#0acc95', 12 | info: '#7460ee', 13 | success: '#13DEB9', 14 | accent: '#fc4b6c', 15 | warning: '#fec90f', 16 | error: '#ef5350', 17 | lightprimary: '#f5fcfd', 18 | lightsecondary: '#E8F7FF', 19 | lightsuccess: '#E6FFFA', 20 | lighterror: '#FDEDE8', 21 | lightwarning: '#FEF5E5', 22 | lightinfo:'#EBF3FE', 23 | textPrimary: '#2A3547', 24 | textSecondary: '#2A3547', 25 | borderColor: '#e5eaef', 26 | inputBorder: '#DFE5EF', 27 | containerBg: '#ffffff', 28 | background: '#f4f6f9', 29 | hoverColor: '#f6f9fc', 30 | surface: '#fff', 31 | 'on-surface-variant': '#fff', 32 | grey100: '#F2F6FA', 33 | grey200: '#EAEFF4', 34 | muted:'#1d2228', 35 | borderline:'#1d1d1d' 36 | } 37 | }; 38 | 39 | 40 | 41 | export { BLUE_THEME}; 42 | -------------------------------------------------------------------------------- /package/starter/src/layouts/logo/HorizontalLogo.js: -------------------------------------------------------------------------------- 1 | import { useSelector } from 'react-redux'; 2 | import { Link } from 'react-router-dom'; 3 | import React from 'react'; 4 | import { ReactComponent as LogoDarkIcon } from '../../assets/images/logos/xtreme-dark-icon.svg'; 5 | import { ReactComponent as LogoDarkText } from '../../assets/images/logos/xtreme-dark-text.svg'; 6 | import { ReactComponent as LogoWhiteIcon } from '../../assets/images/logos/xtreme-white-icon.svg'; 7 | import { ReactComponent as LogoWhiteText } from '../../assets/images/logos/xtreme-white-text.svg'; 8 | 9 | const HorizontalLogo = () => { 10 | const isDarkMode = useSelector((state) => state.customizer.isDark); 11 | const activetopbarBg = useSelector((state) => state.customizer.topbarBg); 12 | return ( 13 | 14 | {isDarkMode || activetopbarBg !== 'white' ? ( 15 | <> 16 | 17 | 18 | 19 | ) : ( 20 | <> 21 | 22 | 23 | 24 | )} 25 | 26 | ); 27 | }; 28 | 29 | export default HorizontalLogo; 30 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/components/dashboard/TheProfileCard.vue: -------------------------------------------------------------------------------- 1 | 34 | -------------------------------------------------------------------------------- /package/starter/src/layouts/logo/Logo.js: -------------------------------------------------------------------------------- 1 | import { useSelector } from 'react-redux'; 2 | import { Link } from 'react-router-dom'; 3 | import React from 'react'; 4 | import { ReactComponent as LogoDarkIcon } from '../../assets/images/logos/xtreme-dark-icon.svg'; 5 | import { ReactComponent as LogoDarkText } from '../../assets/images/logos/xtreme-dark-text.svg'; 6 | import { ReactComponent as LogoWhiteIcon } from '../../assets/images/logos/xtreme-white-icon.svg'; 7 | import { ReactComponent as LogoWhiteText } from '../../assets/images/logos/xtreme-white-text.svg'; 8 | 9 | const Logo = () => { 10 | const isDarkMode = useSelector((state) => state.customizer.isDark); 11 | const toggleMiniSidebar = useSelector((state) => state.customizer.isMiniSidebar); 12 | const activeSidebarBg = useSelector((state) => state.customizer.sidebarBg); 13 | return ( 14 | 15 | {isDarkMode || activeSidebarBg !== 'white' ? ( 16 | <> 17 | 18 | {toggleMiniSidebar ? '' : } 19 | 20 | ) : ( 21 | <> 22 | 23 | {toggleMiniSidebar ? '' : } 24 | 25 | )} 26 | 27 | ); 28 | }; 29 | 30 | export default Logo; 31 | -------------------------------------------------------------------------------- /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 | -------------------------------------------------------------------------------- /package/pages/ui-components/Alerts.vue: -------------------------------------------------------------------------------- 1 | 11 | 12 | 38 | -------------------------------------------------------------------------------- /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/assets/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 | 19 | .border, 20 | .v-divider { 21 | border-color: rgba(var(--v-border-color), 1) !important; 22 | opacity: 1; 23 | } 24 | .avtar-border { 25 | border: 2px solid rgb(var(--v-theme-surface)) !important; 26 | } 27 | 28 | .v-table .v-table__wrapper>table>tbody>tr:not(:last-child)>td, 29 | .v-table .v-table__wrapper>table>tbody>tr:not(:last-child)>th, 30 | .v-table .v-table__wrapper>table>thead>tr:last-child>th { 31 | border-bottom: thin solid rgba(var(--v-border-color), 1) !important; 32 | } 33 | 34 | .v-table .v-table__wrapper>table>thead>tr>th { 35 | color: rgba(var(--v-theme-on-surface), var(--v-high-emphasis-opacity)); 36 | } 37 | 38 | .v-table>.v-table__wrapper>table>tbody>tr>th, 39 | .v-table>.v-table__wrapper>table>thead>tr>th, 40 | .v-table>.v-table__wrapper>table>tfoot>tr>th { 41 | font-weight: 600; 42 | } 43 | .v-table .v-table__wrapper > table > thead > tr > th{ 44 | font-size: 16px; 45 | } 46 | 47 | .v-table .v-table__wrapper > table > tbody > tr > td{ 48 | font-size: 14px; 49 | } 50 | .gap-3{ 51 | gap: 10px; 52 | } 53 | -------------------------------------------------------------------------------- /package/components/Layout/sidebar/sidebarItems.ts: -------------------------------------------------------------------------------- 1 | import { 2 | BorderAllIcon, 3 | AlertCircleIcon, 4 | CircleDotIcon, 5 | BoxMultiple1Icon, 6 | AdjustmentsHorizontalIcon, 7 | LayoutDashboardIcon 8 | 9 | } from 'vue-tabler-icons'; 10 | 11 | export interface menu { 12 | header?: string; 13 | title?: string; 14 | icon?: any; 15 | to?: string; 16 | chip?: string; 17 | chipBgColor?: string; 18 | chipColor?: string; 19 | chipVariant?: string; 20 | chipIcon?: string; 21 | children?: menu[]; 22 | disabled?: boolean; 23 | type?: string; 24 | subCaption?: string; 25 | } 26 | 27 | const sidebarItem: menu[] = [ 28 | { header: 'Home' }, 29 | { 30 | title: "Dashboard", 31 | icon: LayoutDashboardIcon, 32 | to: "/", 33 | }, 34 | { header: 'Utilities' }, 35 | { 36 | title: "Alert", 37 | icon: AlertCircleIcon, 38 | to: "/ui-components/alerts", 39 | }, 40 | { 41 | title: "Button", 42 | icon: CircleDotIcon, 43 | to: "/ui-components/buttons", 44 | }, 45 | { 46 | title: "Cards", 47 | icon: BoxMultiple1Icon, 48 | to: "/ui-components/cards", 49 | }, 50 | { 51 | title: "Curousel", 52 | icon: AdjustmentsHorizontalIcon, 53 | to: "/ui-components/curousel", 54 | }, 55 | { 56 | title: "Tables", 57 | icon: BorderAllIcon, 58 | to: "/ui-components/tabels", 59 | }, 60 | 61 | 62 | 63 | ]; 64 | 65 | export default sidebarItem; 66 | -------------------------------------------------------------------------------- /package/starter/src/layouts/header/ProfileDD.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { DropdownItem } from 'reactstrap'; 3 | import { User, FileText, Star, Settings, Droplet } from 'react-feather'; 4 | import user1 from '../../assets/images/users/user1.jpg'; 5 | 6 | const ProfileDD = () => { 7 | return ( 8 |
9 |
10 | user 11 | 12 |
John Deo
13 | info@wrappixel.com 14 |
15 |
16 | 17 | 18 |   My Profile 19 | 20 | 21 | 22 |   Edit Profile 23 | 24 | 25 | 26 |   My Balance 27 | 28 | 29 | 30 |   Customize 31 | 32 | 33 | 34 | 35 |   Settings 36 | 37 | 38 |
39 | ); 40 | }; 41 | 42 | export default ProfileDD; 43 | -------------------------------------------------------------------------------- /package/components/Layout/sidebar/NavItem/index.vue: -------------------------------------------------------------------------------- 1 | 6 | 7 | 40 | -------------------------------------------------------------------------------- /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 `
    `s. The `::before` pseudo-element generates an element 26 | // *within* the .breadcrumb-item and thereby inherits the `text-decoration`. 27 | // 28 | // To trick IE into suppressing the underline, we give the pseudo-element an 29 | // underline and then immediately remove it. 30 | + .breadcrumb-item:hover::before { 31 | text-decoration: underline; 32 | } 33 | // stylelint-disable-next-line no-duplicate-selectors 34 | + .breadcrumb-item:hover::before { 35 | text-decoration: none; 36 | } 37 | 38 | &.active { 39 | color: $breadcrumb-active-color; 40 | } 41 | } 42 | -------------------------------------------------------------------------------- /package/starter/.eslintrc: -------------------------------------------------------------------------------- 1 | { 2 | "root": true, 3 | "env": { 4 | "browser": true, 5 | "node": true 6 | }, 7 | "settings": { 8 | "import/resolver": { 9 | "node": { 10 | "extensions": [ 11 | ".js", 12 | ".jsx", 13 | ".mdx" 14 | ] 15 | } 16 | } 17 | }, 18 | "extends": [ 19 | "airbnb", 20 | "prettier", 21 | "plugin:jsx-a11y/recommended", 22 | "plugin:react-hooks/recommended" 23 | ], 24 | "plugins": [ 25 | "prettier", 26 | "react", 27 | "react-hooks" 28 | ], 29 | "parser": "", 30 | "rules": { 31 | "comma-dangle": "off", 32 | "import/no-unresolved": "off", 33 | "jsx-a11y/anchor-is-valid": "off", 34 | "jsx-a11y/click-events-have-key-events": "off", 35 | "jsx-a11y/control-has-associated-label": "off", 36 | "jsx-a11y/no-static-element-interactions": "off", 37 | "no-console": "off", 38 | "no-plusplus": "off", 39 | "no-param-reassign": 0, 40 | "react/no-danger": "off", 41 | "arrow-body-style": "off", 42 | "spaced-comment":"off", 43 | "react-hooks/exhaustive-deps": "off", 44 | "react/forbid-prop-types": "off", 45 | "react/jsx-filename-extension": "off", 46 | "react/jsx-props-no-spreading": "off", 47 | "react/require-default-props": "off", 48 | "react/jsx-no-bind":"off", 49 | "no-nested-ternary": "off", 50 | "react/react-in-jsx-scope": "off", 51 | "react/destructuring-assignment": "off" 52 | } 53 | } 54 | -------------------------------------------------------------------------------- /package/starter/src/components/dashboard/SalesChart.js: -------------------------------------------------------------------------------- 1 | import { Card, CardBody, CardSubtitle, CardTitle } from 'reactstrap'; 2 | import Chart from 'react-apexcharts'; 3 | 4 | const SalesChart = () => { 5 | const chartoptions = { 6 | series: [ 7 | { 8 | name: 'Iphone 13', 9 | data: [0, 31, 40, 28, 51, 42, 109, 100], 10 | }, 11 | { 12 | name: 'Oneplue 9', 13 | data: [0, 11, 32, 45, 32, 34, 52, 41], 14 | }, 15 | ], 16 | options: { 17 | chart: { 18 | type: 'area', 19 | }, 20 | dataLabels: { 21 | enabled: false, 22 | }, 23 | grid: { 24 | strokeDashArray: 3, 25 | borderColor: 'rgba(0,0,0,0.1)', 26 | }, 27 | 28 | stroke: { 29 | curve: 'smooth', 30 | width: 1, 31 | }, 32 | xaxis: { 33 | categories: ['Jan', 'Feb', 'March', 'April', 'May', 'June', 'July', 'Aug'], 34 | }, 35 | }, 36 | }; 37 | return ( 38 | 39 | 40 | Sales Summary 41 | 42 | Yearly Sales Report 43 | 44 | 51 | 52 | 53 | ); 54 | }; 55 | 56 | export default SalesChart; 57 | -------------------------------------------------------------------------------- /package/plugins/vuetify.ts: -------------------------------------------------------------------------------- 1 | import { createVuetify } from "vuetify"; 2 | import "@mdi/font/css/materialdesignicons.css"; 3 | import * as components from "vuetify/components"; 4 | import * as directives from "vuetify/directives"; 5 | import PerfectScrollbar from "vue3-perfect-scrollbar"; 6 | import VueApexCharts from "vue3-apexcharts"; 7 | import VueTablerIcons from "vue-tabler-icons"; 8 | import "@/assets/scss/style.scss"; 9 | 10 | import { 11 | BLUE_THEME, 12 | } from "@/theme/LightTheme"; 13 | 14 | export default defineNuxtPlugin((nuxtApp) => { 15 | const vuetify = createVuetify({ 16 | components, 17 | directives, 18 | theme: { 19 | defaultTheme: "BLUE_THEME", 20 | themes: { 21 | BLUE_THEME, 22 | }, 23 | }, 24 | defaults: { 25 | VCard: { 26 | rounded: "md", 27 | }, 28 | VTextField: { 29 | variant: "outlined", 30 | density: "comfortable", 31 | color: "primary", 32 | }, 33 | VTextarea: { 34 | variant: "outlined", 35 | density: "comfortable", 36 | color: "primary", 37 | }, 38 | VSelect: { 39 | variant: "outlined", 40 | density: "comfortable", 41 | color: "primary", 42 | }, 43 | VListItem: { 44 | minHeight: "45px", 45 | }, 46 | VTooltip: { 47 | location: "top", 48 | }, 49 | }, 50 | }); 51 | nuxtApp.vueApp.use(vuetify); 52 | nuxtApp.vueApp.use(PerfectScrollbar); 53 | nuxtApp.vueApp.use(VueApexCharts); 54 | nuxtApp.vueApp.use(VueTablerIcons); 55 | }); 56 | -------------------------------------------------------------------------------- /package/starter/src/views/ui/Breadcrumbs.js: -------------------------------------------------------------------------------- 1 | import { 2 | Row, 3 | Col, 4 | Card, 5 | CardBody, 6 | CardTitle, 7 | Breadcrumb, 8 | BreadcrumbItem, 9 | } from "reactstrap"; 10 | 11 | const Breadcrumbs = () => { 12 | return ( 13 | 14 | 15 | {/* --------------------------------------------------------------------------------*/} 16 | {/* Card-1*/} 17 | {/* --------------------------------------------------------------------------------*/} 18 | 19 | 20 | 21 | Basic Breadcrumbs 22 | 23 | 24 | 25 | Home 26 | 27 | 28 | 29 | Home 30 | 31 | Library 32 | 33 | 34 | 35 | Home 36 | 37 | 38 | Library 39 | 40 | Data 41 | 42 | 43 | 44 | 45 | 46 | ); 47 | }; 48 | 49 | export default Breadcrumbs; 50 | -------------------------------------------------------------------------------- /package/starter/public/index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 12 | 13 | 22 | Adminpro Free NuxtJs Admin Template by WrapPixel 23 | 24 | 25 | 26 |
    27 | 37 | 38 | 39 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_display.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Utilities for common `display` values 5 | // 6 | 7 | @each $breakpoint in map-keys($grid-breakpoints) { 8 | @include media-breakpoint-up($breakpoint) { 9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 10 | 11 | .d#{$infix}-none { display: none !important; } 12 | .d#{$infix}-inline { display: inline !important; } 13 | .d#{$infix}-inline-block { display: inline-block !important; } 14 | .d#{$infix}-block { display: block !important; } 15 | .d#{$infix}-table { display: table !important; } 16 | .d#{$infix}-table-row { display: table-row !important; } 17 | .d#{$infix}-table-cell { display: table-cell !important; } 18 | .d#{$infix}-flex { display: flex !important; } 19 | .d#{$infix}-inline-flex { display: inline-flex !important; } 20 | } 21 | } 22 | 23 | 24 | // 25 | // Utilities for toggling `display` in print 26 | // 27 | 28 | @media print { 29 | .d-print-none { display: none !important; } 30 | .d-print-inline { display: inline !important; } 31 | .d-print-inline-block { display: inline-block !important; } 32 | .d-print-block { display: block !important; } 33 | .d-print-table { display: table !important; } 34 | .d-print-table-row { display: table-row !important; } 35 | .d-print-table-cell { display: table-cell !important; } 36 | .d-print-flex { display: flex !important; } 37 | .d-print-inline-flex { display: inline-flex !important; } 38 | } 39 | -------------------------------------------------------------------------------- /package/components/dashboard/BlogCard.vue: -------------------------------------------------------------------------------- 1 | 5 | 6 | 41 | -------------------------------------------------------------------------------- /package/components/Layout/sidebar/index.vue: -------------------------------------------------------------------------------- 1 | 7 | 8 | 44 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_spacing.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // Margin and Padding 4 | 5 | @each $breakpoint in map-keys($grid-breakpoints) { 6 | @include media-breakpoint-up($breakpoint) { 7 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 8 | 9 | @each $prop, $abbrev in (margin: m, padding: p) { 10 | @each $size, $length in $spacers { 11 | 12 | .#{$abbrev}#{$infix}-#{$size} { #{$prop}: $length !important; } 13 | .#{$abbrev}t#{$infix}-#{$size}, 14 | .#{$abbrev}y#{$infix}-#{$size} { 15 | #{$prop}-top: $length !important; 16 | } 17 | .#{$abbrev}r#{$infix}-#{$size}, 18 | .#{$abbrev}x#{$infix}-#{$size} { 19 | #{$prop}-right: $length !important; 20 | } 21 | .#{$abbrev}b#{$infix}-#{$size}, 22 | .#{$abbrev}y#{$infix}-#{$size} { 23 | #{$prop}-bottom: $length !important; 24 | } 25 | .#{$abbrev}l#{$infix}-#{$size}, 26 | .#{$abbrev}x#{$infix}-#{$size} { 27 | #{$prop}-left: $length !important; 28 | } 29 | } 30 | } 31 | 32 | // Some special margin utils 33 | .m#{$infix}-auto { margin: auto !important; } 34 | .mt#{$infix}-auto, 35 | .my#{$infix}-auto { 36 | margin-top: auto !important; 37 | } 38 | .mr#{$infix}-auto, 39 | .mx#{$infix}-auto { 40 | margin-right: auto !important; 41 | } 42 | .mb#{$infix}-auto, 43 | .my#{$infix}-auto { 44 | margin-bottom: auto !important; 45 | } 46 | .ml#{$infix}-auto, 47 | .mx#{$infix}-auto { 48 | margin-left: auto !important; 49 | } 50 | } 51 | } 52 | -------------------------------------------------------------------------------- /package/pages/ui-components/Cards.vue: -------------------------------------------------------------------------------- 1 | 13 | 14 | 51 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_caret.scss: -------------------------------------------------------------------------------- 1 | @mixin caret-down { 2 | border-top: $caret-width solid; 3 | border-right: $caret-width solid transparent; 4 | border-bottom: 0; 5 | border-left: $caret-width solid transparent; 6 | } 7 | 8 | @mixin caret-up { 9 | border-top: 0; 10 | border-right: $caret-width solid transparent; 11 | border-bottom: $caret-width solid; 12 | border-left: $caret-width solid transparent; 13 | } 14 | 15 | @mixin caret-right { 16 | border-top: $caret-width solid transparent; 17 | border-right: 0; 18 | border-bottom: $caret-width solid transparent; 19 | border-left: $caret-width solid; 20 | } 21 | 22 | @mixin caret-left { 23 | border-top: $caret-width solid transparent; 24 | border-right: $caret-width solid; 25 | border-bottom: $caret-width solid transparent; 26 | } 27 | 28 | @mixin caret($direction: down) { 29 | @if $enable-caret { 30 | &::after { 31 | display: inline-block; 32 | width: 0; 33 | height: 0; 34 | margin-left: $caret-width * .85; 35 | vertical-align: $caret-width * .85; 36 | content: ""; 37 | @if $direction == down { 38 | @include caret-down; 39 | } @else if $direction == up { 40 | @include caret-up; 41 | } @else if $direction == right { 42 | @include caret-right; 43 | } 44 | } 45 | 46 | @if $direction == left { 47 | &::after { 48 | display: none; 49 | } 50 | 51 | &::before { 52 | display: inline-block; 53 | width: 0; 54 | height: 0; 55 | margin-right: $caret-width * .85; 56 | vertical-align: $caret-width * .85; 57 | content: ""; 58 | @include caret-left; 59 | } 60 | } 61 | 62 | &:empty::after { 63 | margin-left: 0; 64 | } 65 | } 66 | } 67 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_borders.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Border 5 | // 6 | 7 | .border { border: $border-width solid $border-color !important; } 8 | .border-top { border-top: $border-width solid $border-color !important; } 9 | .border-right { border-right: $border-width solid $border-color !important; } 10 | .border-bottom { border-bottom: $border-width solid $border-color !important; } 11 | .border-left { border-left: $border-width solid $border-color !important; } 12 | 13 | .border-0 { border: 0 !important; } 14 | .border-top-0 { border-top: 0 !important; } 15 | .border-right-0 { border-right: 0 !important; } 16 | .border-bottom-0 { border-bottom: 0 !important; } 17 | .border-left-0 { border-left: 0 !important; } 18 | 19 | @each $color, $value in $theme-colors { 20 | .border-#{$color} { 21 | border-color: $value !important; 22 | } 23 | } 24 | 25 | .border-white { 26 | border-color: $white !important; 27 | } 28 | 29 | // 30 | // Border-radius 31 | // 32 | 33 | .rounded { 34 | border-radius: $border-radius !important; 35 | } 36 | .rounded-top { 37 | border-top-left-radius: $border-radius !important; 38 | border-top-right-radius: $border-radius !important; 39 | } 40 | .rounded-right { 41 | border-top-right-radius: $border-radius !important; 42 | border-bottom-right-radius: $border-radius !important; 43 | } 44 | .rounded-bottom { 45 | border-bottom-right-radius: $border-radius !important; 46 | border-bottom-left-radius: $border-radius !important; 47 | } 48 | .rounded-left { 49 | border-top-left-radius: $border-radius !important; 50 | border-bottom-left-radius: $border-radius !important; 51 | } 52 | 53 | .rounded-circle { 54 | border-radius: 50% !important; 55 | } 56 | 57 | .rounded-0 { 58 | border-radius: 0 !important; 59 | } 60 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_grid.scss: -------------------------------------------------------------------------------- 1 | /// Grid system 2 | // 3 | // Generate semantic grid columns with these mixins. 4 | 5 | @mixin make-container() { 6 | width: 100%; 7 | padding-right: ($grid-gutter-width / 2); 8 | padding-left: ($grid-gutter-width / 2); 9 | margin-right: auto; 10 | margin-left: auto; 11 | } 12 | 13 | 14 | // For each breakpoint, define the maximum width of the container in a media query 15 | @mixin make-container-max-widths($max-widths: $container-max-widths, $breakpoints: $grid-breakpoints) { 16 | @each $breakpoint, $container-max-width in $max-widths { 17 | @include media-breakpoint-up($breakpoint, $breakpoints) { 18 | max-width: $container-max-width; 19 | } 20 | } 21 | } 22 | 23 | @mixin make-row() { 24 | display: flex; 25 | flex-wrap: wrap; 26 | margin-right: ($grid-gutter-width / -2); 27 | margin-left: ($grid-gutter-width / -2); 28 | } 29 | 30 | @mixin make-col-ready() { 31 | position: relative; 32 | // Prevent columns from becoming too narrow when at smaller grid tiers by 33 | // always setting `width: 100%;`. This works because we use `flex` values 34 | // later on to override this initial width. 35 | width: 100%; 36 | min-height: 1px; // Prevent collapsing 37 | padding-right: ($grid-gutter-width / 2); 38 | padding-left: ($grid-gutter-width / 2); 39 | } 40 | 41 | @mixin make-col($size, $columns: $grid-columns) { 42 | flex: 0 0 percentage($size / $columns); 43 | // Add a `max-width` to ensure content within each column does not blow out 44 | // the width of the column. Applies to IE10+ and Firefox. Chrome and Safari 45 | // do not appear to require this. 46 | max-width: percentage($size / $columns); 47 | } 48 | 49 | @mixin make-col-offset($size, $columns: $grid-columns) { 50 | $num: $size / $columns; 51 | margin-left: if($num == 0, 0, percentage($num)); 52 | } 53 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/utilities/_text.scss: -------------------------------------------------------------------------------- 1 | // stylelint-disable declaration-no-important 2 | 3 | // 4 | // Text 5 | // 6 | 7 | .text-monospace { font-family: $font-family-monospace; } 8 | 9 | // Alignment 10 | 11 | .text-justify { text-align: justify !important; } 12 | .text-nowrap { white-space: nowrap !important; } 13 | .text-truncate { @include text-truncate; } 14 | 15 | // Responsive alignment 16 | 17 | @each $breakpoint in map-keys($grid-breakpoints) { 18 | @include media-breakpoint-up($breakpoint) { 19 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints); 20 | 21 | .text#{$infix}-left { text-align: left !important; } 22 | .text#{$infix}-right { text-align: right !important; } 23 | .text#{$infix}-center { text-align: center !important; } 24 | } 25 | } 26 | 27 | // Transformation 28 | 29 | .text-lowercase { text-transform: lowercase !important; } 30 | .text-uppercase { text-transform: uppercase !important; } 31 | .text-capitalize { text-transform: capitalize !important; } 32 | 33 | // Weight and italics 34 | 35 | .font-weight-light { font-weight: $font-weight-light !important; } 36 | .font-weight-normal { font-weight: $font-weight-normal !important; } 37 | .font-weight-bold { font-weight: $font-weight-bold !important; } 38 | .font-italic { font-style: italic !important; } 39 | 40 | // Contextual colors 41 | 42 | .text-white { color: $white !important; } 43 | 44 | @each $color, $value in $theme-colors { 45 | @include text-emphasis-variant(".text-#{$color}", $value); 46 | } 47 | 48 | .text-body { color: $body-color !important; } 49 | .text-muted { color: $text-muted !important; } 50 | 51 | .text-black-50 { color: rgba($black, .5) !important; } 52 | .text-white-50 { color: rgba($white, .5) !important; } 53 | 54 | // Misc 55 | 56 | .text-hide { 57 | @include text-hide($ignore-warning: true); 58 | } 59 | -------------------------------------------------------------------------------- /package/layouts/default.vue: -------------------------------------------------------------------------------- 1 | 16 | 49 | -------------------------------------------------------------------------------- /package/starter/src/layouts/header/NotificationDD.js: -------------------------------------------------------------------------------- 1 | import { ListGroup, ListGroupItem } from 'reactstrap'; 2 | import { User, Link, Calendar, Settings } from 'react-feather'; 3 | 4 | const messages = [ 5 | { 6 | id: 1, 7 | iconclass: , 8 | iconbg: 'warning', 9 | title: 'Launch Admin', 10 | desc: 'Just see my new admin!', 11 | time: '9:30 AM', 12 | }, 13 | { 14 | id: 2, 15 | iconclass: , 16 | iconbg: 'success', 17 | title: 'Event Today', 18 | desc: 'Just a reminder that you have event.', 19 | time: '9:10 PM', 20 | }, 21 | { 22 | id: 3, 23 | iconclass: , 24 | iconbg: 'info', 25 | title: 'Settings', 26 | desc: 'You can customize this template as you want.', 27 | time: '9:08 AM', 28 | }, 29 | { 30 | id: 4, 31 | iconclass: , 32 | iconbg: 'danger', 33 | title: 'Check Email', 34 | desc: 'Just check my admin!', 35 | time: '9:02 AM', 36 | }, 37 | ]; 38 | 39 | const NotificationDD = () => { 40 | return ( 41 |
    42 | 43 | {messages.map((msg) => ( 44 | 45 |
    46 |
    49 | {msg.iconclass} 50 |
    51 |
    52 |
    {msg.title}
    53 | {msg.desc} 54 | {msg.time} 55 |
    56 |
    57 |
    58 | ))} 59 |
    60 |
    61 | ); 62 | }; 63 | 64 | export default NotificationDD; 65 | -------------------------------------------------------------------------------- /package/starter/src/layouts/sidebars/horizontal/NavSubItem.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { NavItem, NavLink, Nav } from 'reactstrap'; 3 | import PropTypes from 'prop-types'; 4 | import { Link, useLocation } from 'react-router-dom'; 5 | 6 | const NavSubItem = ({ to, icon, title, items, suffix, activeBck, suffixColor }) => { 7 | const location = useLocation(); 8 | const [isOpen, setIsOpen] = React.useState(false); 9 | 10 | const Handletoggle = () => { 11 | setIsOpen(!isOpen); 12 | }; 13 | 14 | return ( 15 | 16 | 17 | {icon} 18 |
    19 | {title} 20 | {suffix ? {suffix} : ''} 21 | 22 |
    23 |
    24 | 39 |
    40 | ); 41 | }; 42 | 43 | NavSubItem.propTypes = { 44 | title: PropTypes.string, 45 | to: PropTypes.string, 46 | icon: PropTypes.node, 47 | items: PropTypes.func, 48 | suffix: PropTypes.any, 49 | activeBck: PropTypes.string, 50 | suffixColor: PropTypes.string, 51 | }; 52 | export default NavSubItem; 53 | -------------------------------------------------------------------------------- /package/components/ui-components/cards/CardsTwitter.vue: -------------------------------------------------------------------------------- 1 | 2 | 3 | 50 | -------------------------------------------------------------------------------- /package/starter/src/store/customizer/CustomizerSlice.js: -------------------------------------------------------------------------------- 1 | import { createSlice } from "@reduxjs/toolkit"; 2 | 3 | const initialState = { 4 | topbarBg: "primary", 5 | customizerSidebar: false, 6 | isRTL: false, 7 | isDark: false, 8 | isMiniSidebar: false, 9 | sidebarBg: "white", 10 | isTopbarFixed: true, 11 | isMobileSidebar: false, 12 | isSidebarFixed: true, 13 | isLayoutHorizontal: false, 14 | }; 15 | 16 | export const CustomizerSlice = createSlice({ 17 | name: "customizer", 18 | initialState, 19 | reducers: { 20 | ChangeTopbarColor: (state, action) => { 21 | state.topbarBg = action.payload; 22 | }, 23 | ToggleCustomizer: (state) => { 24 | state.customizerSidebar = !state.customizerSidebar; 25 | }, 26 | ChangeDirection: (state, action) => { 27 | state.isRTL = action.payload; 28 | }, 29 | ChangeDarkMode: (state, action) => { 30 | state.isDark = action.payload; 31 | }, 32 | ToggleMiniSidebar: (state) => { 33 | state.isMiniSidebar = !state.isMiniSidebar; 34 | }, 35 | ChangeSidebarColor: (state, action) => { 36 | state.sidebarBg = action.payload; 37 | }, 38 | ToggleTopbar: (state, action) => { 39 | state.isTopbarFixed = action.payload; 40 | }, 41 | ToggleMobileSidebar: (state) => { 42 | state.isMobileSidebar = !state.isMobileSidebar; 43 | }, 44 | FixedSidebar: (state) => { 45 | state.isSidebarFixed = !state.isSidebarFixed; 46 | }, 47 | ToggleHorizontal: (state) => { 48 | state.isLayoutHorizontal = !state.isLayoutHorizontal; 49 | }, 50 | }, 51 | }); 52 | 53 | export const { 54 | ChangeTopbarColor, 55 | ToggleCustomizer, 56 | ChangeDirection, 57 | ChangeDarkMode, 58 | ToggleMiniSidebar, 59 | ChangeSidebarColor, 60 | ToggleTopbar, 61 | ToggleMobileSidebar, 62 | FixedSidebar, 63 | ToggleHorizontal, 64 | } = CustomizerSlice.actions; 65 | 66 | export default CustomizerSlice.reducer; 67 | -------------------------------------------------------------------------------- /package/starter/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "starter-bt5", 3 | "version": "0.1.0", 4 | "homepage": "/", 5 | "private": true, 6 | "dependencies": { 7 | "@reduxjs/toolkit": "^1.6.2", 8 | "@testing-library/jest-dom": "^5.16.4", 9 | "@testing-library/react": "^13.3.0", 10 | "@testing-library/user-event": "^13.5.0", 11 | "apexcharts": "^3.29.0", 12 | "autoprefixer": "10.4.5", 13 | "bootstrap": "^5.2.0-beta1", 14 | "bootstrap-icons": "^1.7.0", 15 | "history": "^5.0.0", 16 | "sass": "^1.52.2", 17 | "prop-types": "^15.7.2", 18 | "react": "^18.1.0", 19 | "react-apexcharts": "^1.3.9", 20 | "react-dom": "^18.1.0", 21 | "react-feather": "^2.0.9", 22 | "react-pro-sidebar": "^0.7.1", 23 | "react-redux": "^7.2.6", 24 | "react-router-dom": "^6.0.0-beta.8", 25 | "react-scripts": "5.0.1", 26 | "reactstrap": "^9.0.0", 27 | "redux": "^4.1.2", 28 | "simplebar-react": "^2.3.6", 29 | "web-vitals": "^1.1.2" 30 | }, 31 | "devDependencies": { 32 | "eslint": "^7.30.0", 33 | "eslint-config-airbnb": "^18.2.1", 34 | "eslint-config-prettier": "^8.3.0", 35 | "eslint-config-react-app": "^6.0.0", 36 | "eslint-plugin-flowtype": "^5.7.2", 37 | "eslint-plugin-import": "^2.23.4", 38 | "eslint-plugin-jsx-a11y": "^6.4.1", 39 | "eslint-plugin-prettier": "^3.4.0", 40 | "eslint-plugin-react": "^7.24.0", 41 | "eslint-plugin-react-hooks": "^4.2.0", 42 | "prettier": "^2.3.1" 43 | }, 44 | "scripts": { 45 | "start": "react-scripts start", 46 | "build": "react-scripts build", 47 | "test": "react-scripts test", 48 | "eject": "react-scripts eject" 49 | }, 50 | "eslintConfig": { 51 | "extends": [ 52 | "react-app", 53 | "react-app/jest" 54 | ] 55 | }, 56 | "browserslist": { 57 | "production": [ 58 | ">0.2%", 59 | "not dead", 60 | "not op_mini all" 61 | ], 62 | "development": [ 63 | "last 1 chrome version", 64 | "last 1 firefox version", 65 | "last 1 safari version" 66 | ] 67 | } 68 | } 69 | -------------------------------------------------------------------------------- /package/starter/src/layouts/header/MessageDD.js: -------------------------------------------------------------------------------- 1 | import { ListGroup, ListGroupItem } from 'reactstrap'; 2 | import user1 from '../../assets/images/users/user1.jpg'; 3 | import user2 from '../../assets/images/users/user2.jpg'; 4 | import user3 from '../../assets/images/users/user3.jpg'; 5 | import user4 from '../../assets/images/users/user4.jpg'; 6 | import user5 from '../../assets/images/users/user5.jpg'; 7 | 8 | const messages = [ 9 | { 10 | id: 1, 11 | image: user1, 12 | status: 'online', 13 | title: 'Event Today', 14 | desc: 'Just a reminder of the event.', 15 | time: '9:10 PM', 16 | }, 17 | { 18 | id: 2, 19 | image: user2, 20 | status: 'busy', 21 | title: 'Send Email', 22 | desc: 'Just send my admin!', 23 | time: '9:02 AM', 24 | }, 25 | { 26 | id: 3, 27 | image: user3, 28 | status: 'away', 29 | title: 'Check Email', 30 | desc: 'Just check emails for today.', 31 | time: '9:02 AM', 32 | }, 33 | { 34 | id: 4, 35 | image: user4, 36 | status: 'offline', 37 | title: 'Settings', 38 | desc: 'You can customize this template as you want.', 39 | time: '9:08 AM', 40 | }, 41 | { 42 | id: 5, 43 | image: user5, 44 | status: 'busy', 45 | title: 'Send Email', 46 | desc: 'Just send my admin!', 47 | time: '9:02 AM', 48 | }, 49 | ]; 50 | 51 | const MessageDD = () => { 52 | return ( 53 |
    54 | 55 | {messages.map((msg) => ( 56 | 57 |
    58 | user 59 |
    60 |
    {msg.title}
    61 | {msg.desc} 62 | {msg.time} 63 |
    64 |
    65 |
    66 | ))} 67 |
    68 |
    69 | ); 70 | }; 71 | 72 | export default MessageDD; 73 | -------------------------------------------------------------------------------- /package/starter/src/components/dashboard/Feeds.js: -------------------------------------------------------------------------------- 1 | import React from 'react'; 2 | import { 3 | Card, 4 | CardBody, 5 | CardTitle, 6 | ListGroup, 7 | CardSubtitle, 8 | ListGroupItem, 9 | Button, 10 | } from 'reactstrap'; 11 | 12 | const FeedData = [ 13 | { 14 | title: 'Cras justo odio', 15 | icon: 'bi bi-bell', 16 | color: 'primary', 17 | date: '6 minute ago', 18 | id: 1, 19 | }, 20 | { 21 | title: 'New user registered.', 22 | icon: 'bi bi-person', 23 | color: 'info', 24 | date: '6 minute ago', 25 | id: 2, 26 | }, 27 | { 28 | title: 'Server #1 overloaded.', 29 | icon: 'bi bi-hdd', 30 | color: 'danger', 31 | date: '6 minute ago', 32 | id: 3, 33 | }, 34 | { 35 | title: 'New order received.', 36 | icon: 'bi bi-bag-check', 37 | color: 'success', 38 | date: '6 minute ago', 39 | id: 4, 40 | }, 41 | { 42 | title: 'Cras justo odio', 43 | icon: 'bi bi-bell', 44 | color: 'dark', 45 | date: '6 minute ago', 46 | id: 5, 47 | }, 48 | { 49 | title: 'Server #1 overloaded.', 50 | icon: 'bi bi-hdd', 51 | color: 'warning', 52 | date: '6 minute ago', 53 | id: 6, 54 | }, 55 | ]; 56 | 57 | const Feeds = () => { 58 | return ( 59 | 60 | 61 | Feeds 62 | 63 | Widget you can use 64 | 65 | 66 | {FeedData.map((feed) => ( 67 | 74 | 77 | {feed.title} 78 | {feed.date} 79 | 80 | ))} 81 | 82 | 83 | 84 | ); 85 | }; 86 | 87 | export default Feeds; 88 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_grid-framework.scss: -------------------------------------------------------------------------------- 1 | // Framework grid generation 2 | // 3 | // Used only by Bootstrap to generate the correct number of grid classes given 4 | // any value of `$grid-columns`. 5 | 6 | @mixin make-grid-columns($columns: $grid-columns, $gutter: $grid-gutter-width, $breakpoints: $grid-breakpoints) { 7 | // Common properties for all breakpoints 8 | %grid-column { 9 | position: relative; 10 | width: 100%; 11 | min-height: 1px; // Prevent columns from collapsing when empty 12 | padding-right: ($gutter / 2); 13 | padding-left: ($gutter / 2); 14 | } 15 | 16 | @each $breakpoint in map-keys($breakpoints) { 17 | $infix: breakpoint-infix($breakpoint, $breakpoints); 18 | 19 | // Allow columns to stretch full width below their breakpoints 20 | @for $i from 1 through $columns { 21 | .col#{$infix}-#{$i} { 22 | @extend %grid-column; 23 | } 24 | } 25 | .col#{$infix}, 26 | .col#{$infix}-auto { 27 | @extend %grid-column; 28 | } 29 | 30 | @include media-breakpoint-up($breakpoint, $breakpoints) { 31 | // Provide basic `.col-{bp}` classes for equal-width flexbox columns 32 | .col#{$infix} { 33 | flex-basis: 0; 34 | flex-grow: 1; 35 | max-width: 100%; 36 | } 37 | .col#{$infix}-auto { 38 | flex: 0 0 auto; 39 | width: auto; 40 | max-width: none; // Reset earlier grid tiers 41 | } 42 | 43 | @for $i from 1 through $columns { 44 | .col#{$infix}-#{$i} { 45 | @include make-col($i, $columns); 46 | } 47 | } 48 | 49 | .order#{$infix}-first { order: -1; } 50 | 51 | .order#{$infix}-last { order: $columns + 1; } 52 | 53 | @for $i from 0 through $columns { 54 | .order#{$infix}-#{$i} { order: $i; } 55 | } 56 | 57 | // `$columns - 1` because offsetting by the width of an entire row isn't possible 58 | @for $i from 0 through ($columns - 1) { 59 | @if not ($infix == "" and $i == 0) { // Avoid emitting useless .offset-0 60 | .offset#{$infix}-#{$i} { 61 | @include make-col-offset($i, $columns); 62 | } 63 | } 64 | } 65 | } 66 | } 67 | } 68 | -------------------------------------------------------------------------------- /package/starter/src/layouts/sidebars/vertical/NavSubMenu.js: -------------------------------------------------------------------------------- 1 | import React, { useEffect } from 'react'; 2 | import { Collapse, NavItem, NavLink } from 'reactstrap'; 3 | import PropTypes from 'prop-types'; 4 | import { Link, useLocation } from 'react-router-dom'; 5 | 6 | const NavSubMenu = ({ icon, title, items, isUrl, suffixColor, suffix }) => { 7 | const location = useLocation(); 8 | const [collapsed, setCollapsed] = React.useState(false); 9 | const toggle = () => { 10 | setCollapsed(!collapsed); 11 | }; 12 | useEffect(() => { 13 | if (isUrl) { 14 | setCollapsed(!collapsed); 15 | } 16 | // eslint-disable-next-line react-hooks/exhaustive-deps 17 | }, []); 18 | 19 | return ( 20 | 21 | 22 | {icon} 23 | 24 |
    25 | {title} 26 | 27 | {suffix} 28 | 29 | 30 |
    31 |
    32 |
    33 | 34 | 35 | {items.map((item) => ( 36 | 40 | 41 | {item.icon} 42 | 43 | {item.title} 44 | 45 | 46 | 47 | ))} 48 | 49 |
    50 | ); 51 | }; 52 | NavSubMenu.propTypes = { 53 | title: PropTypes.string, 54 | items: PropTypes.func, 55 | icon: PropTypes.node, 56 | isUrl: PropTypes.bool, 57 | suffix: PropTypes.any, 58 | suffixColor: PropTypes.string, 59 | }; 60 | export default NavSubMenu; 61 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_pagination.scss: -------------------------------------------------------------------------------- 1 | .pagination { 2 | display: flex; 3 | @include list-unstyled(); 4 | @include border-radius(); 5 | } 6 | 7 | .page-link { 8 | position: relative; 9 | display: block; 10 | padding: $pagination-padding-y $pagination-padding-x; 11 | margin-left: -$pagination-border-width; 12 | line-height: $pagination-line-height; 13 | color: $pagination-color; 14 | background-color: $pagination-bg; 15 | border: $pagination-border-width solid $pagination-border-color; 16 | 17 | &:hover { 18 | z-index: 2; 19 | color: $pagination-hover-color; 20 | text-decoration: none; 21 | background-color: $pagination-hover-bg; 22 | border-color: $pagination-hover-border-color; 23 | } 24 | 25 | &:focus { 26 | z-index: 2; 27 | outline: $pagination-focus-outline; 28 | box-shadow: $pagination-focus-box-shadow; 29 | } 30 | 31 | // Opinionated: add "hand" cursor to non-disabled .page-link elements 32 | &:not(:disabled):not(.disabled) { 33 | cursor: pointer; 34 | } 35 | } 36 | 37 | .page-item { 38 | &:first-child { 39 | .page-link { 40 | margin-left: 0; 41 | @include border-left-radius($border-radius); 42 | } 43 | } 44 | &:last-child { 45 | .page-link { 46 | @include border-right-radius($border-radius); 47 | } 48 | } 49 | 50 | &.active .page-link { 51 | z-index: 1; 52 | color: $pagination-active-color; 53 | background-color: $pagination-active-bg; 54 | border-color: $pagination-active-border-color; 55 | } 56 | 57 | &.disabled .page-link { 58 | color: $pagination-disabled-color; 59 | pointer-events: none; 60 | // Opinionated: remove the "hand" cursor set previously for .page-link 61 | cursor: auto; 62 | background-color: $pagination-disabled-bg; 63 | border-color: $pagination-disabled-border-color; 64 | } 65 | } 66 | 67 | 68 | // 69 | // Sizing 70 | // 71 | 72 | .pagination-lg { 73 | @include pagination-size($pagination-padding-y-lg, $pagination-padding-x-lg, $font-size-lg, $line-height-lg, $border-radius-lg); 74 | } 75 | 76 | .pagination-sm { 77 | @include pagination-size($pagination-padding-y-sm, $pagination-padding-x-sm, $font-size-sm, $line-height-sm, $border-radius-sm); 78 | } 79 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/mixins/_gradients.scss: -------------------------------------------------------------------------------- 1 | // Gradients 2 | 3 | @mixin gradient-bg($color) { 4 | @if $enable-gradients { 5 | background: $color linear-gradient(180deg, mix($body-bg, $color, 15%), $color) repeat-x; 6 | } @else { 7 | background-color: $color; 8 | } 9 | } 10 | 11 | // Horizontal gradient, from left to right 12 | // 13 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 14 | @mixin gradient-x($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { 15 | background-image: linear-gradient(to right, $start-color $start-percent, $end-color $end-percent); 16 | background-repeat: repeat-x; 17 | } 18 | 19 | // Vertical gradient, from top to bottom 20 | // 21 | // Creates two color stops, start and end, by specifying a color and position for each color stop. 22 | @mixin gradient-y($start-color: $gray-700, $end-color: $gray-800, $start-percent: 0%, $end-percent: 100%) { 23 | background-image: linear-gradient(to bottom, $start-color $start-percent, $end-color $end-percent); 24 | background-repeat: repeat-x; 25 | } 26 | 27 | @mixin gradient-directional($start-color: $gray-700, $end-color: $gray-800, $deg: 45deg) { 28 | background-image: linear-gradient($deg, $start-color, $end-color); 29 | background-repeat: repeat-x; 30 | } 31 | @mixin gradient-x-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { 32 | background-image: linear-gradient(to right, $start-color, $mid-color $color-stop, $end-color); 33 | background-repeat: no-repeat; 34 | } 35 | @mixin gradient-y-three-colors($start-color: $blue, $mid-color: $purple, $color-stop: 50%, $end-color: $red) { 36 | background-image: linear-gradient($start-color, $mid-color $color-stop, $end-color); 37 | background-repeat: no-repeat; 38 | } 39 | @mixin gradient-radial($inner-color: $gray-700, $outer-color: $gray-800) { 40 | background-image: radial-gradient(circle, $inner-color, $outer-color); 41 | background-repeat: no-repeat; 42 | } 43 | @mixin gradient-striped($color: rgba($white, .15), $angle: 45deg) { 44 | background-image: linear-gradient($angle, $color 25%, transparent 25%, transparent 50%, $color 50%, $color 75%, transparent 75%, transparent); 45 | } 46 | -------------------------------------------------------------------------------- /package/components/dashboard/TheMyContacts.vue: -------------------------------------------------------------------------------- 1 | 37 | 69 | -------------------------------------------------------------------------------- /package/starter/src/layouts/FullLayout.js: -------------------------------------------------------------------------------- 1 | import { Outlet } from 'react-router-dom'; 2 | import { useSelector } from 'react-redux'; 3 | import { Container } from 'reactstrap'; 4 | import Header from './header/Header'; 5 | import Customizer from './customizer/Customizer'; 6 | import Sidebar from './sidebars/vertical/Sidebar'; 7 | import HorizontalHeader from './header/HorizontalHeader'; 8 | import HorizontalSidebar from './sidebars/horizontal/HorizontalSidebar'; 9 | 10 | const FullLayout = () => { 11 | const customizerToggle = useSelector((state) => state.customizer.customizerSidebar); 12 | const toggleMiniSidebar = useSelector((state) => state.customizer.isMiniSidebar); 13 | const showMobileSidebar = useSelector((state) => state.customizer.isMobileSidebar); 14 | const topbarFixed = useSelector((state) => state.customizer.isTopbarFixed); 15 | const LayoutHorizontal = useSelector((state) => state.customizer.isLayoutHorizontal); 16 | const isFixedSidebar = useSelector((state) => state.customizer.isSidebarFixed); 17 | return ( 18 |
    19 |
    22 | {/******** Sidebar **********/} 23 | {LayoutHorizontal ? ( 24 | '' 25 | ) : ( 26 | 29 | )} 30 | {/********Content Area**********/} 31 | 32 |
    33 | {/********header**********/} 34 | {LayoutHorizontal ? :
    } 35 | {LayoutHorizontal ? : ''} 36 | {/********Middle Content**********/} 37 | 38 |
    39 | 40 |
    41 | 42 | {showMobileSidebar || customizerToggle ?
    : ''} 43 | 44 |
    45 |
    46 |
    47 | ); 48 | }; 49 | 50 | export default FullLayout; 51 | -------------------------------------------------------------------------------- /package/starter/src/routes/Router.js: -------------------------------------------------------------------------------- 1 | import { lazy } from "react"; 2 | import { Navigate } from "react-router-dom"; 3 | import Loadable from "../layouts/loader/Loadable"; 4 | /****Layouts*****/ 5 | const FullLayout = Loadable(lazy(() => import("../layouts/FullLayout"))); 6 | const BlankLayout = Loadable(lazy(() => import("../layouts/BlankLayout"))); 7 | /***** Pages ****/ 8 | 9 | const Starter = Loadable(lazy(() => import("../views/Starter"))); 10 | const About = Loadable(lazy(() => import("../views/About"))); 11 | const Alerts = Loadable(lazy(() => import("../views/ui/Alerts"))); 12 | const Badges = Loadable(lazy(() => import("../views/ui/Badges"))); 13 | const Buttons = Loadable(lazy(() => import("../views/ui/Buttons"))); 14 | const Cards = Loadable(lazy(() => import("../views/ui/Cards"))); 15 | const Grid = Loadable(lazy(() => import("../views/ui/Grid"))); 16 | const Tables = Loadable(lazy(() => import("../views/ui/Tables"))); 17 | const Forms = Loadable(lazy(() => import("../views/ui/Forms"))); 18 | const Breadcrumbs = Loadable(lazy(() => import("../views/ui/Breadcrumbs"))); 19 | 20 | /***** Auth Pages ****/ 21 | const Error = Loadable(lazy(() => import("../views/auth/Error"))); 22 | /*****Routes******/ 23 | 24 | const ThemeRoutes = [ 25 | { 26 | path: "/", 27 | element: , 28 | children: [ 29 | { path: "/", element: }, 30 | { path: "/starter", exact: true, element: }, 31 | { path: "/about", exact: true, element: }, 32 | { path: "/ui/alerts", exact: true, element: }, 33 | { path: "/badges", exact: true, element: }, 34 | { path: "/buttons", exact: true, element: }, 35 | { path: "/cards", exact: true, element: }, 36 | { path: "/grid", exact: true, element: }, 37 | { path: "/table", exact: true, element: }, 38 | { path: "/forms", exact: true, element: }, 39 | { path: "/breadcrumbs", exact: true, element: }, 40 | { path: "*", element: }, 41 | ], 42 | }, 43 | { 44 | path: "/auth", 45 | element: , 46 | children: [ 47 | { path: "404", element: }, 48 | { path: "*", element: }, 49 | ], 50 | }, 51 | ]; 52 | 53 | export default ThemeRoutes; 54 | -------------------------------------------------------------------------------- /package/starter/src/layouts/sidebars/sidebardata/SidebarData.js: -------------------------------------------------------------------------------- 1 | import * as Icon from "react-feather"; 2 | 3 | const SidebarData = [ 4 | { caption: "Home" }, 5 | { 6 | title: "Dashboard", 7 | href: "/starter", 8 | icon: , 9 | id: 1, 10 | suffix: "New", 11 | suffixColor: "bg-success", 12 | collapisble: false, 13 | }, 14 | { caption: "UI" }, 15 | { 16 | title: "UI Elements", 17 | href: "/ui", 18 | id: 2, 19 | suffix: "8", 20 | suffixColor: "bg-info", 21 | icon: , 22 | collapisble: true, 23 | children: [ 24 | { 25 | title: "Alert", 26 | href: "/ui/alerts", 27 | icon: , 28 | }, 29 | { 30 | title: "Buttons", 31 | href: "/buttons", 32 | icon: , 33 | }, 34 | { 35 | title: "Cards", 36 | href: "/cards", 37 | icon: , 38 | }, 39 | { 40 | title: "Grid", 41 | href: "/grid", 42 | icon: , 43 | }, 44 | { 45 | title: "Badges", 46 | href: "/badges", 47 | icon: , 48 | }, 49 | { 50 | title: "Table", 51 | href: "/table", 52 | icon: , 53 | }, 54 | { 55 | title: "Forms", 56 | href: "/forms", 57 | icon: , 58 | }, 59 | { 60 | title: "Breadcrumbs", 61 | href: "/breadcrumbs", 62 | icon: , 63 | }, 64 | { 65 | title: "About", 66 | href: "/about", 67 | icon: , 68 | }, 69 | ], 70 | }, 71 | 72 | { 73 | title: "DD Menu", 74 | href: "/", 75 | id: 3, 76 | collapisble: true, 77 | icon: , 78 | children: [ 79 | { 80 | title: "Simple dd 1", 81 | href: "/", 82 | icon: , 83 | }, 84 | { 85 | title: "Simple dd 2", 86 | href: "/", 87 | icon: , 88 | }, 89 | { 90 | title: "Simple dd 3", 91 | href: "/", 92 | icon: , 93 | children: [ 94 | { 95 | title: "Simple dd 1.1", 96 | href: "/alerts", 97 | icon: , 98 | }, 99 | ], 100 | }, 101 | ], 102 | }, 103 | ]; 104 | 105 | export default SidebarData; 106 | -------------------------------------------------------------------------------- /package/starter/src/layouts/sidebars/horizontal/HorizontalSidebar.js: -------------------------------------------------------------------------------- 1 | import { Container, Nav } from 'reactstrap'; 2 | import { useSelector } from 'react-redux'; 3 | import { useLocation } from 'react-router-dom'; 4 | import SidebarData from '../sidebardata/SidebarData'; 5 | import NavSubItem from './NavSubItem'; 6 | import NavSingleItem from './NavSingleItem'; 7 | 8 | const HorizontalSidebar = () => { 9 | const activeBg = useSelector((state) => state.customizer.sidebarBg); 10 | const location = useLocation(); 11 | const currentURL = location.pathname.split('/').slice(0, -1).join('/'); 12 | const isFixed = useSelector((state) => state.customizer.isSidebarFixed); 13 | const isMobileSidebar = useSelector((state) => state.customizer.isMobileSidebar); 14 | return ( 15 |
    20 | 21 | 61 | 62 |
    63 | ); 64 | }; 65 | 66 | export default HorizontalSidebar; 67 | -------------------------------------------------------------------------------- /package/components/ui-components/cards/CardsContentWrap.vue: -------------------------------------------------------------------------------- 1 | 25 | 26 | 82 | -------------------------------------------------------------------------------- /landingpage/dist/scss/bootstrap/_nav.scss: -------------------------------------------------------------------------------- 1 | // Base class 2 | // 3 | // Kickstart any navigation component with a set of style resets. Works with 4 | // `