├── 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 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/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 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
--------------------------------------------------------------------------------
/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 |
2 |
3 |
4 |
5 |
6 |
7 |
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 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
--------------------------------------------------------------------------------
/package/components/Layout/logo/LogoLightIcon.vue:
--------------------------------------------------------------------------------
1 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
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 |
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 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
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 |
6 |
7 |
8 |
9 |
10 |
11 |
12 |
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 |
2 |
3 | This is an error alert — check it out!
4 | This is a warning alert — check it out!
5 | This is an info alert — check it out!
6 | This is a success alert — check it out!
7 |
8 |
--------------------------------------------------------------------------------
/package/components/shared/UiChildCard.vue:
--------------------------------------------------------------------------------
1 |
6 |
7 |
8 |
9 |
10 | {{ title }}
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/package/components/ui-components/cards/CardsProps.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
12 |
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 |
6 |
7 |
8 | {{props.item.header}}
9 |
10 |
11 |
--------------------------------------------------------------------------------
/package/components/ui-components/alert/Basic.vue:
--------------------------------------------------------------------------------
1 |
2 | This is an error alert — check it out!
3 | This is a warning alert — check it out!
4 | This is an info alert — check it out!
5 | This is a success alert — check it out!
6 |
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 |
7 |
8 |
9 | {{ btn }}
10 |
11 |
12 |
13 |
--------------------------------------------------------------------------------
/package/components/ui-components/button/OutlinedButtons.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | primary
5 | secondary
6 |
7 | Disabled
8 |
9 | link
10 |
11 |
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 |
7 |
8 |
9 | {{ btn }}
10 |
11 |
12 |
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 |
4 |
5 |
6 |
7 |
8 | This is a title
9 |
10 | This is a subtitle
11 |
12 | This is content
14 |
15 |
--------------------------------------------------------------------------------
/package/components/ui-components/button/BaseButtons.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 | elevates (default)
4 | flat
5 | tonal
6 | outlined
7 | text
8 | plain
9 |
10 |
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 |
8 |
9 |
10 |
11 |
Opps!!!
12 |
This page you are looking for could not be found.
13 |
Go Back to Home
14 |
15 |
16 |
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 |
2 |
3 |
4 |
Get Template for Free
5 |
Download Free
7 |
Check Pro
8 |
9 |
--------------------------------------------------------------------------------
/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 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/package/components/ui-components/button/SizeButtons.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | Extra small
5 |
6 |
7 |
8 | Small
9 |
10 |
11 |
12 | Normal
13 |
14 |
15 |
16 | Large
17 |
18 |
19 |
20 | Extra large
21 |
22 |
23 |
--------------------------------------------------------------------------------
/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 |
9 |
10 |
11 |
12 | {{ title }}
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
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 |
6 |
7 |
16 | Aenean imperdiet. Quisque id odio. Cras dapibus. Pellentesque ut neque. Cras dapibus.
17 |
18 | Vivamus consectetuer hendrerit lacus. Sed mollis, eros et ultrices tempus, mauris ipsum aliquam libero, non
19 |
20 |
23 |
26 | Reset
27 |
28 |
29 |
30 |
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 | Read More
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 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
Slide {{ i + 1 }}
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
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 |
6 |
7 |
8 |
9 |
10 |
11 |
17 | Top 10 Australian beaches
18 |
19 |
20 | Number 10
21 |
22 |
23 | Whitehaven Beach
24 |
25 | Whitsunday Island, Whitsunday Islands
26 |
27 |
28 |
29 | Share
30 |
31 | Explore
32 |
33 |
34 |
35 |
--------------------------------------------------------------------------------
/landingpage/dist/scss/bootstrap/_close.scss:
--------------------------------------------------------------------------------
1 | .close {
2 | float: right;
3 | font-size: $close-font-size;
4 | font-weight: $close-font-weight;
5 | line-height: 1;
6 | color: $close-color;
7 | text-shadow: $close-text-shadow;
8 | opacity: .5;
9 |
10 | &:not(:disabled):not(.disabled) {
11 |
12 | @include hover-focus {
13 | color: $close-color;
14 | text-decoration: none;
15 | opacity: .75;
16 | }
17 |
18 | // Opinionated: add "hand" cursor to non-disabled .close elements
19 | cursor: pointer;
20 | }
21 | }
22 |
23 | // Additional properties for button version
24 | // iOS requires the button element instead of an anchor tag.
25 | // If you want the anchor version, it requires `href="#"`.
26 | // See https://developer.mozilla.org/en-US/docs/Web/Events/click#Safari_Mobile
27 |
28 | // stylelint-disable property-no-vendor-prefix, selector-no-qualifying-type
29 | button.close {
30 | padding: 0;
31 | background-color: transparent;
32 | border: 0;
33 | -webkit-appearance: none;
34 | }
35 | // stylelint-enable
36 |
--------------------------------------------------------------------------------
/package/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 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
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 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
31 |
32 | Logout
33 |
34 |
35 |
36 |
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 |
2 |
3 |
4 |
5 |
6 |
7 |
8 |
9 |
10 |
11 |
Jonathan Dominic
12 |
Web Designer & Developer
13 |
Follow
16 |
17 |
18 | 1099
19 | Articles
20 |
21 |
22 | 23,469
23 | Followers
24 |
25 |
26 | 6035
27 | Following
28 |
29 |
30 |
31 |
32 |
33 |
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 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
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 |
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 |
8 |
9 |
17 |
18 |
19 |
20 |
21 | {{item.title}}
22 |
23 |
26 |
27 |
28 |
35 | {{ item.chip }}
36 |
37 |
38 |
39 |
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 | You need to enable JavaScript to run this app.
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 |
7 |
8 |
9 |
10 |
11 |
12 | 22 March, 2022
13 |
14 |
15 | Super awesome, Vue 3 is there, Lets do this!
16 |
17 | Medium
18 | Low
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
--------------------------------------------------------------------------------
/package/components/Layout/sidebar/index.vue:
--------------------------------------------------------------------------------
1 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
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 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
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 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
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 |
25 | {items.map((item) => (
26 |
30 |
31 | {item.icon}
32 |
33 | {item.title}
34 |
35 |
36 |
37 | ))}
38 |
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 |
4 |
5 |
6 |
7 |
16 |
17 |
18 |
19 |
20 |
21 | "Turns out semicolon-less style is easier and safer in TS because most gotcha edge cases are type invalid as well."
22 |
23 |
24 |
25 |
26 |
27 |
31 |
32 |
33 | Evan You
34 |
35 | Vue Creator
36 |
37 |
38 |
39 |
40 | 256
41 | ·
42 |
43 | 45
44 |
45 |
46 |
47 |
48 |
49 |
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 |
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 |
75 |
76 |
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 |
38 |
39 |
40 |
41 |
My Contacts
42 | Checkout my contacts here
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
{{ item.title }}
59 |
{{ item.desc }}
60 |
61 |
62 |
63 |
64 |
65 |
66 |
67 |
68 |
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 |
22 | {SidebarData.map((navi) => {
23 | if (navi.caption) {
24 | return (
25 |
29 | {navi.caption}
30 |
31 | );
32 | }
33 | if (navi.children) {
34 | return (
35 |
45 | );
46 | }
47 | return (
48 | toggle(navi.id)}
51 | className={location.pathname === navi.href ? 'activeLink' : ''}
52 | to={navi.href}
53 | title={navi.title}
54 | suffix={navi.suffix}
55 | suffixColor={navi.suffixColor}
56 | icon={navi.icon}
57 | />
58 | );
59 | })}
60 |
61 |
62 |
63 | );
64 | };
65 |
66 | export default HorizontalSidebar;
67 |
--------------------------------------------------------------------------------
/package/components/ui-components/cards/CardsContentWrap.vue:
--------------------------------------------------------------------------------
1 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
39 |
40 |
46 |
47 |
48 |
49 |
50 | Messages
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 | Today
61 |
62 |
63 |
69 |
70 |
71 | {{ message.from }} @{{ message.time }}
72 |
73 |
{{ message.message }}
74 |
75 |
76 |
77 |
78 |
79 |
80 |
81 |
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 | // ``s or ``s.
5 |
6 | .nav {
7 | display: flex;
8 | flex-wrap: wrap;
9 | padding-left: 0;
10 | margin-bottom: 0;
11 | list-style: none;
12 | }
13 |
14 | .nav-link {
15 | display: block;
16 | padding: $nav-link-padding-y $nav-link-padding-x;
17 |
18 | @include hover-focus {
19 | text-decoration: none;
20 | }
21 |
22 | // Disabled state lightens text
23 | &.disabled {
24 | color: $nav-link-disabled-color;
25 | }
26 | }
27 |
28 | //
29 | // Tabs
30 | //
31 |
32 | .nav-tabs {
33 | border-bottom: $nav-tabs-border-width solid $nav-tabs-border-color;
34 |
35 | .nav-item {
36 | margin-bottom: -$nav-tabs-border-width;
37 | }
38 |
39 | .nav-link {
40 | border: $nav-tabs-border-width solid transparent;
41 | @include border-top-radius($nav-tabs-border-radius);
42 |
43 | @include hover-focus {
44 | border-color: $nav-tabs-link-hover-border-color;
45 | }
46 |
47 | &.disabled {
48 | color: $nav-link-disabled-color;
49 | background-color: transparent;
50 | border-color: transparent;
51 | }
52 | }
53 |
54 | .nav-link.active,
55 | .nav-item.show .nav-link {
56 | color: $nav-tabs-link-active-color;
57 | background-color: $nav-tabs-link-active-bg;
58 | border-color: $nav-tabs-link-active-border-color;
59 | }
60 |
61 | .dropdown-menu {
62 | // Make dropdown border overlap tab border
63 | margin-top: -$nav-tabs-border-width;
64 | // Remove the top rounded corners here since there is a hard edge above the menu
65 | @include border-top-radius(0);
66 | }
67 | }
68 |
69 |
70 | //
71 | // Pills
72 | //
73 |
74 | .nav-pills {
75 | .nav-link {
76 | @include border-radius($nav-pills-border-radius);
77 | }
78 |
79 | .nav-link.active,
80 | .show > .nav-link {
81 | color: $nav-pills-link-active-color;
82 | background-color: $nav-pills-link-active-bg;
83 | }
84 | }
85 |
86 |
87 | //
88 | // Justified variants
89 | //
90 |
91 | .nav-fill {
92 | .nav-item {
93 | flex: 1 1 auto;
94 | text-align: center;
95 | }
96 | }
97 |
98 | .nav-justified {
99 | .nav-item {
100 | flex-basis: 0;
101 | flex-grow: 1;
102 | text-align: center;
103 | }
104 | }
105 |
106 |
107 | // Tabbable tabs
108 | //
109 | // Hide tabbable panes to start, show them when `.active`
110 |
111 | .tab-content {
112 | > .tab-pane {
113 | display: none;
114 | }
115 | > .active {
116 | display: block;
117 | }
118 | }
119 |
--------------------------------------------------------------------------------
/landingpage/dist/scss/bootstrap/_type.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important, selector-list-comma-newline-after
2 |
3 | //
4 | // Headings
5 | //
6 |
7 | h1, h2, h3, h4, h5, h6,
8 | .h1, .h2, .h3, .h4, .h5, .h6 {
9 | margin-bottom: $headings-margin-bottom;
10 | font-family: $headings-font-family;
11 | font-weight: $headings-font-weight;
12 | line-height: $headings-line-height;
13 | color: $headings-color;
14 | }
15 |
16 | h1, .h1 { font-size: $h1-font-size; }
17 | h2, .h2 { font-size: $h2-font-size; }
18 | h3, .h3 { font-size: $h3-font-size; }
19 | h4, .h4 { font-size: $h4-font-size; }
20 | h5, .h5 { font-size: $h5-font-size; }
21 | h6, .h6 { font-size: $h6-font-size; }
22 |
23 | .lead {
24 | font-size: $lead-font-size;
25 | font-weight: $lead-font-weight;
26 | }
27 |
28 | // Type display classes
29 | .display-1 {
30 | font-size: $display1-size;
31 | font-weight: $display1-weight;
32 | line-height: $display-line-height;
33 | }
34 | .display-2 {
35 | font-size: $display2-size;
36 | font-weight: $display2-weight;
37 | line-height: $display-line-height;
38 | }
39 | .display-3 {
40 | font-size: $display3-size;
41 | font-weight: $display3-weight;
42 | line-height: $display-line-height;
43 | }
44 | .display-4 {
45 | font-size: $display4-size;
46 | font-weight: $display4-weight;
47 | line-height: $display-line-height;
48 | }
49 |
50 |
51 | //
52 | // Horizontal rules
53 | //
54 |
55 | hr {
56 | margin-top: $hr-margin-y;
57 | margin-bottom: $hr-margin-y;
58 | border: 0;
59 | border-top: $hr-border-width solid $hr-border-color;
60 | }
61 |
62 |
63 | //
64 | // Emphasis
65 | //
66 |
67 | small,
68 | .small {
69 | font-size: $small-font-size;
70 | font-weight: $font-weight-normal;
71 | }
72 |
73 | mark,
74 | .mark {
75 | padding: $mark-padding;
76 | background-color: $mark-bg;
77 | }
78 |
79 |
80 | //
81 | // Lists
82 | //
83 |
84 | .list-unstyled {
85 | @include list-unstyled;
86 | }
87 |
88 | // Inline turns list items into inline-block
89 | .list-inline {
90 | @include list-unstyled;
91 | }
92 | .list-inline-item {
93 | display: inline-block;
94 |
95 | &:not(:last-child) {
96 | margin-right: $list-inline-padding;
97 | }
98 | }
99 |
100 |
101 | //
102 | // Misc
103 | //
104 |
105 | // Builds on `abbr`
106 | .initialism {
107 | font-size: 90%;
108 | text-transform: uppercase;
109 | }
110 |
111 | // Blockquotes
112 | .blockquote {
113 | margin-bottom: $spacer;
114 | font-size: $blockquote-font-size;
115 | }
116 |
117 | .blockquote-footer {
118 | display: block;
119 | font-size: 80%; // back to default font-size
120 | color: $blockquote-small-color;
121 |
122 | &::before {
123 | content: "\2014 \00A0"; // em dash, nbsp
124 | }
125 | }
126 |
--------------------------------------------------------------------------------
/package/starter/src/assets/images/logos/xtreme-white-icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/package/starter/src/assets/images/logos/xtreme-dark-icon.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
--------------------------------------------------------------------------------
/package/pages/ui-components/Buttons.vue:
--------------------------------------------------------------------------------
1 |
18 |
19 | // ===============================|| Ui Buttons ||=============================== //
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
40 |
41 |
42 |
43 |
44 |
45 |
46 |
47 |
48 |
49 |
50 |
51 |
52 |
53 |
54 |
55 |
56 |
57 |
58 |
59 |
60 |
61 |
62 |
63 |
64 |
65 |
--------------------------------------------------------------------------------
/landingpage/dist/scss/bootstrap/utilities/_flex.scss:
--------------------------------------------------------------------------------
1 | // stylelint-disable declaration-no-important
2 |
3 | // Flex variation
4 | //
5 | // Custom styles for additional flex alignment options.
6 |
7 | @each $breakpoint in map-keys($grid-breakpoints) {
8 | @include media-breakpoint-up($breakpoint) {
9 | $infix: breakpoint-infix($breakpoint, $grid-breakpoints);
10 |
11 | .flex#{$infix}-row { flex-direction: row !important; }
12 | .flex#{$infix}-column { flex-direction: column !important; }
13 | .flex#{$infix}-row-reverse { flex-direction: row-reverse !important; }
14 | .flex#{$infix}-column-reverse { flex-direction: column-reverse !important; }
15 |
16 | .flex#{$infix}-wrap { flex-wrap: wrap !important; }
17 | .flex#{$infix}-nowrap { flex-wrap: nowrap !important; }
18 | .flex#{$infix}-wrap-reverse { flex-wrap: wrap-reverse !important; }
19 | .flex#{$infix}-fill { flex: 1 1 auto !important; }
20 | .flex#{$infix}-grow-0 { flex-grow: 0 !important; }
21 | .flex#{$infix}-grow-1 { flex-grow: 1 !important; }
22 | .flex#{$infix}-shrink-0 { flex-shrink: 0 !important; }
23 | .flex#{$infix}-shrink-1 { flex-shrink: 1 !important; }
24 |
25 | .justify-content#{$infix}-start { justify-content: flex-start !important; }
26 | .justify-content#{$infix}-end { justify-content: flex-end !important; }
27 | .justify-content#{$infix}-center { justify-content: center !important; }
28 | .justify-content#{$infix}-between { justify-content: space-between !important; }
29 | .justify-content#{$infix}-around { justify-content: space-around !important; }
30 |
31 | .align-items#{$infix}-start { align-items: flex-start !important; }
32 | .align-items#{$infix}-end { align-items: flex-end !important; }
33 | .align-items#{$infix}-center { align-items: center !important; }
34 | .align-items#{$infix}-baseline { align-items: baseline !important; }
35 | .align-items#{$infix}-stretch { align-items: stretch !important; }
36 |
37 | .align-content#{$infix}-start { align-content: flex-start !important; }
38 | .align-content#{$infix}-end { align-content: flex-end !important; }
39 | .align-content#{$infix}-center { align-content: center !important; }
40 | .align-content#{$infix}-between { align-content: space-between !important; }
41 | .align-content#{$infix}-around { align-content: space-around !important; }
42 | .align-content#{$infix}-stretch { align-content: stretch !important; }
43 |
44 | .align-self#{$infix}-auto { align-self: auto !important; }
45 | .align-self#{$infix}-start { align-self: flex-start !important; }
46 | .align-self#{$infix}-end { align-self: flex-end !important; }
47 | .align-self#{$infix}-center { align-self: center !important; }
48 | .align-self#{$infix}-baseline { align-self: baseline !important; }
49 | .align-self#{$infix}-stretch { align-self: stretch !important; }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/landingpage/dist/scss/bootstrap/_functions.scss:
--------------------------------------------------------------------------------
1 | // Bootstrap functions
2 | //
3 | // Utility mixins and functions for evaluating source code across our variables, maps, and mixins.
4 |
5 | // Ascending
6 | // Used to evaluate Sass maps like our grid breakpoints.
7 | @mixin _assert-ascending($map, $map-name) {
8 | $prev-key: null;
9 | $prev-num: null;
10 | @each $key, $num in $map {
11 | @if $prev-num == null {
12 | // Do nothing
13 | } @else if not comparable($prev-num, $num) {
14 | @warn "Potentially invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} whose unit makes it incomparable to #{$prev-num}, the value of the previous key '#{$prev-key}' !";
15 | } @else if $prev-num >= $num {
16 | @warn "Invalid value for #{$map-name}: This map must be in ascending order, but key '#{$key}' has value #{$num} which isn't greater than #{$prev-num}, the value of the previous key '#{$prev-key}' !";
17 | }
18 | $prev-key: $key;
19 | $prev-num: $num;
20 | }
21 | }
22 |
23 | // Starts at zero
24 | // Another grid mixin that ensures the min-width of the lowest breakpoint starts at 0.
25 | @mixin _assert-starts-at-zero($map) {
26 | $values: map-values($map);
27 | $first-value: nth($values, 1);
28 | @if $first-value != 0 {
29 | @warn "First breakpoint in `$grid-breakpoints` must start at 0, but starts at #{$first-value}.";
30 | }
31 | }
32 |
33 | // Replace `$search` with `$replace` in `$string`
34 | // Used on our SVG icon backgrounds for custom forms.
35 | //
36 | // @author Hugo Giraudel
37 | // @param {String} $string - Initial string
38 | // @param {String} $search - Substring to replace
39 | // @param {String} $replace ('') - New value
40 | // @return {String} - Updated string
41 | @function str-replace($string, $search, $replace: "") {
42 | $index: str-index($string, $search);
43 |
44 | @if $index {
45 | @return str-slice($string, 1, $index - 1) + $replace + str-replace(str-slice($string, $index + str-length($search)), $search, $replace);
46 | }
47 |
48 | @return $string;
49 | }
50 |
51 | // Color contrast
52 | @function color-yiq($color) {
53 | $r: red($color);
54 | $g: green($color);
55 | $b: blue($color);
56 |
57 | $yiq: (($r * 299) + ($g * 587) + ($b * 114)) / 1000;
58 |
59 | @if ($yiq >= $yiq-contrasted-threshold) {
60 | @return $yiq-text-dark;
61 | } @else {
62 | @return $yiq-text-light;
63 | }
64 | }
65 |
66 | // Retrieve color Sass maps
67 | @function color($key: "blue") {
68 | @return map-get($colors, $key);
69 | }
70 |
71 | @function theme-color($key: "primary") {
72 | @return map-get($theme-colors, $key);
73 | }
74 |
75 | @function gray($key: "100") {
76 | @return map-get($grays, $key);
77 | }
78 |
79 | // Request a theme color level
80 | @function theme-color-level($color-name: "primary", $level: 0) {
81 | $color: theme-color($color-name);
82 | $color-base: if($level > 0, $black, $white);
83 | $level: abs($level);
84 |
85 | @return mix($color-base, $color, $level * $theme-color-interval);
86 | }
87 |
--------------------------------------------------------------------------------
/landingpage/dist/scss/bootstrap/_tooltip.scss:
--------------------------------------------------------------------------------
1 | // Base class
2 | .tooltip {
3 | position: absolute;
4 | z-index: $zindex-tooltip;
5 | display: block;
6 | margin: $tooltip-margin;
7 | // Our parent element can be arbitrary since tooltips are by default inserted as a sibling of their target element.
8 | // So reset our font and text properties to avoid inheriting weird values.
9 | @include reset-text();
10 | font-size: $tooltip-font-size;
11 | // Allow breaking very long words so they don't overflow the tooltip's bounds
12 | word-wrap: break-word;
13 | opacity: 0;
14 |
15 | &.show { opacity: $tooltip-opacity; }
16 |
17 | .arrow {
18 | position: absolute;
19 | display: block;
20 | width: $tooltip-arrow-width;
21 | height: $tooltip-arrow-height;
22 |
23 | &::before {
24 | position: absolute;
25 | content: "";
26 | border-color: transparent;
27 | border-style: solid;
28 | }
29 | }
30 | }
31 |
32 | .bs-tooltip-top {
33 | padding: $tooltip-arrow-height 0;
34 |
35 | .arrow {
36 | bottom: 0;
37 |
38 | &::before {
39 | top: 0;
40 | border-width: $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
41 | border-top-color: $tooltip-arrow-color;
42 | }
43 | }
44 | }
45 |
46 | .bs-tooltip-right {
47 | padding: 0 $tooltip-arrow-height;
48 |
49 | .arrow {
50 | left: 0;
51 | width: $tooltip-arrow-height;
52 | height: $tooltip-arrow-width;
53 |
54 | &::before {
55 | right: 0;
56 | border-width: ($tooltip-arrow-width / 2) $tooltip-arrow-height ($tooltip-arrow-width / 2) 0;
57 | border-right-color: $tooltip-arrow-color;
58 | }
59 | }
60 | }
61 |
62 | .bs-tooltip-bottom {
63 | padding: $tooltip-arrow-height 0;
64 |
65 | .arrow {
66 | top: 0;
67 |
68 | &::before {
69 | bottom: 0;
70 | border-width: 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
71 | border-bottom-color: $tooltip-arrow-color;
72 | }
73 | }
74 | }
75 |
76 | .bs-tooltip-left {
77 | padding: 0 $tooltip-arrow-height;
78 |
79 | .arrow {
80 | right: 0;
81 | width: $tooltip-arrow-height;
82 | height: $tooltip-arrow-width;
83 |
84 | &::before {
85 | left: 0;
86 | border-width: ($tooltip-arrow-width / 2) 0 ($tooltip-arrow-width / 2) $tooltip-arrow-height;
87 | border-left-color: $tooltip-arrow-color;
88 | }
89 | }
90 | }
91 |
92 | .bs-tooltip-auto {
93 | &[x-placement^="top"] {
94 | @extend .bs-tooltip-top;
95 | }
96 | &[x-placement^="right"] {
97 | @extend .bs-tooltip-right;
98 | }
99 | &[x-placement^="bottom"] {
100 | @extend .bs-tooltip-bottom;
101 | }
102 | &[x-placement^="left"] {
103 | @extend .bs-tooltip-left;
104 | }
105 | }
106 |
107 | // Wrapper for the tooltip content
108 | .tooltip-inner {
109 | max-width: $tooltip-max-width;
110 | padding: $tooltip-padding-y $tooltip-padding-x;
111 | color: $tooltip-color;
112 | text-align: center;
113 | background-color: $tooltip-bg;
114 | @include border-radius($tooltip-border-radius);
115 | }
116 |
--------------------------------------------------------------------------------
/package/starter/src/assets/scss/_variables.scss:
--------------------------------------------------------------------------------
1 | /*******************/
2 | // Theme Fonts
3 | /********************/
4 | @import url('https://fonts.googleapis.com/css2?family=Nunito:wght@200;300;400;600;700&display=swap');
5 | $font-family-sans-serif: 'Nunito', sans-serif;
6 | /*******************/
7 | // Theme Colors
8 | /********************/
9 | $primary: #2962ff;
10 | $info: #3699ff;
11 | $danger: #f64e60;
12 | $success: #0bb7af;
13 | $warning: #ee9d01;
14 | $dark: #001e3c;
15 | $light: #f6faff;
16 | $secondary: #001e3c;
17 |
18 | $theme-colors: (
19 | 'primary': $primary,
20 | 'secondary': $secondary,
21 | 'success': $success,
22 | 'info': $info,
23 | 'warning': $warning,
24 | 'danger': $danger,
25 | 'light': $light,
26 | 'dark': $dark,
27 | 'light-primary': #d6e4f3,
28 | 'light-success': #d5f3f2,
29 | 'light-info': #d3edfa,
30 | 'light-warning': #f8ecdc,
31 | 'light-danger': #f8dddd,
32 | );
33 | // scss-docs-start gray-color-variables
34 | $white: #fff !default;
35 | $gray-100: #f8f9fa !default;
36 | $gray-200: #eef5f9 !default;
37 | $gray-300: #dee2e6 !default;
38 | $gray-400: #ced4da !default;
39 | $gray-500: #adb5bd !default;
40 | $gray-600: #757e85 !default;
41 | $gray-700: #495057 !default;
42 | $gray-800: #343a40 !default;
43 | $gray-900: #1e2a35 !default;
44 | $black: #000 !default;
45 |
46 | /*******************/
47 | // Theme Text Contrast
48 | /********************/
49 | $min-contrast-ratio: 2;
50 | //$enable-shadows: true !default;
51 |
52 | /*******************/
53 | // Theme body bg & text color
54 | /********************/
55 | $body-bg: $gray-200 !default;
56 | $body-color: $gray-900 !default;
57 |
58 | // heading fonts setting
59 | $h1-font-size: 36px !default;
60 | $h2-font-size: 30px !default;
61 | $h3-font-size: 24px !default;
62 | $h4-font-size: 18px !default;
63 | $h5-font-size: 16px !default;
64 | $h6-font-size: 14px !default;
65 |
66 | /*******************/
67 | // Theme common variable
68 | /********************/
69 | $border-radius: 0.3rem !default;
70 | $box-shadow: 0 0.5rem 1rem rgba($black, 0.05);
71 | $headings-font-weight: 600 !default;
72 | $font-size-base: 1rem !default; // Assumes the browser default, typically `16px`
73 | $font-weight-bold: 600 !default;
74 | $h5-font-size: $font-size-base * 1.1 !default;
75 | $card-border-width: 0 !default;
76 | $card-box-shadow: $box-shadow !default;
77 | $grid-gutter-width: 1.85rem !default;
78 |
79 | $input-bg: $white !default;
80 |
81 | // Progress bars
82 | $progress-height: 6px !default;
83 |
84 | /*******************/
85 | // Theme btn
86 | /********************/
87 | $btn-focus-width: 0px;
88 | $btn-box-shadow: 0 !default;
89 | $btn-focus-box-shadow: 0;
90 |
91 | /*******************/
92 | // Theme sidebar width
93 | /********************/
94 | $sidebarWidth: 260px;
95 | $sidebartext: $gray-900;
96 | $sidebartextlight: rgba(30, 42, 53, 0.5);
97 | $miniSidebarWidth: 80px;
98 |
99 | $topbarHeight: 60px;
100 |
101 | $dropdown-border-width: 0 !default;
102 | $dropdown-box-shadow: $box-shadow !default;
103 | $dropdown-link-hover-bg: $gray-100 !default;
104 |
105 | $enable-negative-margins: true;
106 |
107 |
108 |
--------------------------------------------------------------------------------
/package/starter/src/layouts/sidebars/vertical/Sidebar.js:
--------------------------------------------------------------------------------
1 | import React from 'react';
2 | import { Button, Nav } from 'reactstrap';
3 | import { useLocation } from 'react-router-dom';
4 | import { useDispatch, useSelector } from 'react-redux';
5 | import SimpleBar from 'simplebar-react';
6 | import SidebarData from '../sidebardata/SidebarData';
7 | import Logo from '../../logo/Logo';
8 | import { ToggleMobileSidebar } from '../../../store/customizer/CustomizerSlice';
9 | import NavItemContainer from './NavItemContainer';
10 | import NavSubMenu from './NavSubMenu';
11 |
12 | const Sidebar = () => {
13 | const location = useLocation();
14 | const currentURL = location.pathname.split('/').slice(0, -1).join('/');
15 |
16 | //const [collapsed, setCollapsed] = useState(null);
17 | // const toggle = (index) => {
18 | // setCollapsed(collapsed === index ? null : index);
19 | // };
20 |
21 | const activeBg = useSelector((state) => state.customizer.sidebarBg);
22 | const isFixed = useSelector((state) => state.customizer.isSidebarFixed);
23 | const dispatch = useDispatch();
24 |
25 | return (
26 |
27 |
28 | {/********Logo*******/}
29 |
30 |
31 | dispatch(ToggleMobileSidebar())}
36 | />
37 |
38 | {/********Sidebar Content*******/}
39 |
40 |
41 | {SidebarData.map((navi) => {
42 | if (navi.caption) {
43 | return (
44 |
45 | {navi.caption}
46 |
47 | );
48 | }
49 | if (navi.children) {
50 | return (
51 | toggle(navi.id)}
59 | // collapsed={collapsed === navi.id}
60 | isUrl={currentURL === navi.href}
61 | />
62 | );
63 | }
64 | return (
65 | toggle(navi.id)}
68 | className={location.pathname === navi.href ? 'activeLink' : ''}
69 | to={navi.href}
70 | title={navi.title}
71 | suffix={navi.suffix}
72 | suffixColor={navi.suffixColor}
73 | icon={navi.icon}
74 | />
75 | );
76 | })}
77 |
78 |
79 |
80 |
81 | );
82 | };
83 |
84 | export default Sidebar;
85 |
--------------------------------------------------------------------------------
/package/components/ui-components/cards/CardsWeather.vue:
--------------------------------------------------------------------------------
1 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
37 |
38 | Extreme Weather Alert
39 |
40 |
41 |
42 |
43 |
44 |
48 | 64°F
49 |
50 |
51 |
52 |
57 |
58 |
59 |
60 |
61 |
62 |
66 | 123 km/h
67 |
68 |
69 |
73 | 48%
74 |
75 |
76 |
77 |
78 |
79 |
80 |
92 |
93 |
94 |
95 |
102 |
103 |
104 |
105 |
106 |
107 |
108 |
109 |
110 |
111 | {{ !expand ? 'Full Report' : 'Hide Report' }}
112 |
113 |
114 |
115 |
116 |
--------------------------------------------------------------------------------
/landingpage/dist/scss/bootstrap/_list-group.scss:
--------------------------------------------------------------------------------
1 | // Base class
2 | //
3 | // Easily usable on