From cd31bbc3afd68b90dbc0d83bed18353e99c2ae43 Mon Sep 17 00:00:00 2001
From: Dikshit Moradiya <106728438+ct-dixit@users.noreply.github.com>
Date: Tue, 30 Apr 2024 11:11:06 +0530
Subject: [PATCH] Angular 18 (#9)
* angular 18 update complete
* version change
---
package.json | 53 +-
src/app/app-routing.module.ts | 16 +-
src/app/app.module.ts | 24 +-
.../authentication/login/login.component.scss | 112 +
.../register/register.component.scss | 99 +
.../breadcrumb/breadcrumb.component.html | 225 --
.../breadcrumb/breadcrumb.component.ts | 14 -
.../demo/component/card/card.component.html | 260 --
src/app/demo/component/card/card.component.ts | 14 -
.../component/spinner/spinner.component.html | 89 -
.../component/spinner/spinner.component.ts | 14 -
.../analytics-chart.component.html | 26 +
.../analytics-chart.component.scss} | 0
.../analytics-chart.component.ts | 109 +
.../dashboard/dashboard.component.html | 175 +-
.../dashboard/dashboard.component.scss | 31 +
.../default/dashboard/dashboard.component.ts | 337 +-
.../income-overview-chart.component.html | 17 +
.../income-overview-chart.component.scss} | 0
.../income-overview-chart.component.ts | 102 +
.../monthly-bar-chart.component.html | 24 +
.../monthly-bar-chart.component.scss | 19 +
.../monthly-bar-chart.component.ts | 144 +
.../sales-report-chart.component.html | 21 +
.../sales-report-chart.component.scss} | 0
.../sales-report-chart.component.ts | 119 +
.../typography/typography.component.html | 55 +-
.../ui-color/ui-color.component.html | 62 +-
.../ui-color/ui-color.component.ts | 3 +-
.../admin-layout.component.html} | 22 +-
.../admin-layout.component.scss} | 0
.../admin-layout/admin-layout.component.ts | 34 +
.../nav-bar/nav-bar.component.html | 0
.../nav-bar/nav-bar.component.scss | 0
.../nav-bar/nav-bar.component.ts | 19 +-
.../nav-bar/nav-left/nav-left.component.html | 25 +-
.../nav-bar/nav-left/nav-left.component.scss | 0
.../nav-bar/nav-left/nav-left.component.ts | 35 +
.../nav-right/nav-right.component.html | 82 +-
.../nav-right/nav-right.component.scss | 0
.../nav-bar/nav-right/nav-right.component.ts | 111 +
.../nav-collapse/nav-collapse.component.html | 21 +
.../nav-collapse/nav-collapse.component.scss | 0
.../nav-collapse/nav-collapse.component.ts | 81 +
.../nav-content/nav-content.component.html | 33 +
.../nav-content/nav-content.component.scss | 0
.../nav-content/nav-content.component.ts | 47 +-
.../nav-group/nav-group.component.html | 6 +-
.../nav-group/nav-group.component.scss | 0
.../nav-group/nav-group.component.ts | 65 +
.../nav-item/nav-item.component.html | 11 +-
.../nav-item/nav-item.component.scss | 0
.../nav-item/nav-item.component.ts | 20 +-
.../navigation/navigation.component.html | 5 +-
.../navigation/navigation.component.scss | 0
.../navigation/navigation.component.ts | 35 +
.../navigation/navigation.ts | 100 +-
.../theme/layouts/admin/admin.component.ts | 25 -
.../nav-bar/nav-left/nav-left.component.ts | 20 -
.../nav-bar/nav-right/nav-right.component.ts | 56 -
.../nav-collapse/nav-collapse.component.html | 22 -
.../nav-collapse/nav-collapse.component.ts | 42 -
.../nav-content/nav-content.component.html | 28 -
.../nav-group/nav-group.component.ts | 49 -
.../admin/navigation/navigation.component.ts | 20 -
.../theme/layouts/guest/guest.component.ts | 4 +
.../breadcrumb/breadcrumb.component.html | 8 +-
.../breadcrumb/breadcrumb.component.ts | 29 +-
.../components/card/card.component.html | 18 +-
.../shared/components/card/card.component.ts | 49 +-
src/app/theme/shared/shared.module.ts | 7 +-
src/assets/images/github.svg | 10 -
src/assets/images/img-navbar-card.png | Bin 9528 -> 0 bytes
.../images/slider/header-bg.07dde975.jpg | Bin 538964 -> 0 bytes
src/assets/images/slider/img-slide-1.jpg | Bin 52891 -> 0 bytes
src/assets/images/slider/img-slide-2.jpg | Bin 58148 -> 0 bytes
src/assets/images/slider/img-slide-3.jpg | Bin 44442 -> 0 bytes
src/assets/images/slider/img-slide-4.jpg | Bin 32435 -> 0 bytes
src/assets/images/slider/img-slide-5.jpg | Bin 40852 -> 0 bytes
src/assets/images/slider/img-slide-6.jpg | Bin 35963 -> 0 bytes
src/assets/images/slider/img-slide-7.jpg | Bin 21426 -> 0 bytes
src/fake-data/default-data.json | 40 +-
src/scss/bootstrap/bootstrap.scss | 34 +
src/scss/menu/_menu-lite.scss | 855 ----
src/scss/settings/_preset-variables.scss | 10 -
src/scss/settings/_theme-variables.scss | 32 -
...ariables.scss => bootstrap-variables.scss} | 62 +-
src/scss/settings/color-variables.scss | 44 +
src/scss/settings/theme-variables.scss | 111 +
src/scss/themes/_general.scss | 240 --
src/scss/themes/components/_card.scss | 172 -
src/scss/themes/components/_form.scss | 1293 ------
src/scss/themes/components/_table.scss | 29 -
.../components/{_avtar.scss => avatar.scss} | 9 +-
.../components/{_badge.scss => badge.scss} | 0
.../components/{_button.scss => button.scss} | 0
src/scss/themes/components/card.scss | 58 +
.../{_components.scss => components.scss} | 8 +-
.../{_dropdown.scss => dropdown.scss} | 39 +-
src/scss/themes/components/form.scss | 254 ++
src/scss/themes/components/table.scss | 39 +
.../components/{_tabs.scss => tabs.scss} | 6 +-
src/scss/themes/general.scss | 233 ++
.../themes/{_generic.scss => generic.scss} | 11 +
src/scss/themes/layouts/_pc-common.scss | 221 -
src/scss/themes/layouts/_pc-sidebar.scss | 299 --
.../themes/layouts/breadcrumb/breadcrumb.scss | 65 +
.../{_pc-footer.scss => footer/footer.scss} | 20 +-
src/scss/themes/layouts/layouts.scss | 4 -
src/scss/themes/layouts/menu/sidebar.scss | 326 ++
.../{_pc-header.scss => navbar/navbar.scss} | 202 +-
src/scss/themes/layouts/pc-common.scss | 41 +
src/scss/themes/pages/_authentication.scss | 102 -
src/scss/themes/pages/_icon-lauouts.scss | 33 -
src/scss/themes/pages/_page.scss | 2 -
src/scss/themes/preset-style.scss | 87 +
src/styles.scss | 37 +-
yarn.lock | 3541 +++++++++--------
118 files changed, 5051 insertions(+), 6811 deletions(-)
delete mode 100644 src/app/demo/component/breadcrumb/breadcrumb.component.html
delete mode 100644 src/app/demo/component/breadcrumb/breadcrumb.component.ts
delete mode 100644 src/app/demo/component/card/card.component.html
delete mode 100644 src/app/demo/component/card/card.component.ts
delete mode 100644 src/app/demo/component/spinner/spinner.component.html
delete mode 100644 src/app/demo/component/spinner/spinner.component.ts
create mode 100644 src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.html
rename src/app/demo/{component/breadcrumb/breadcrumb.component.scss => default/dashboard/analytics-chart/analytics-chart.component.scss} (100%)
create mode 100644 src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.ts
create mode 100644 src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.html
rename src/app/demo/{component/card/card.component.scss => default/dashboard/income-overview-chart/income-overview-chart.component.scss} (100%)
create mode 100644 src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.ts
create mode 100644 src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.html
create mode 100644 src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.scss
create mode 100644 src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.ts
create mode 100644 src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.html
rename src/app/demo/{component/spinner/spinner.component.scss => default/dashboard/sales-report-chart/sales-report-chart.component.scss} (100%)
create mode 100644 src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.ts
rename src/app/theme/layouts/{admin/admin.component.html => admin-layout/admin-layout.component.html} (61%)
rename src/app/theme/layouts/{admin/admin.component.scss => admin-layout/admin-layout.component.scss} (100%)
create mode 100644 src/app/theme/layouts/admin-layout/admin-layout.component.ts
rename src/app/theme/layouts/{admin => admin-layout}/nav-bar/nav-bar.component.html (100%)
rename src/app/theme/layouts/{admin => admin-layout}/nav-bar/nav-bar.component.scss (100%)
rename src/app/theme/layouts/{admin => admin-layout}/nav-bar/nav-bar.component.ts (52%)
rename src/app/theme/layouts/{admin => admin-layout}/nav-bar/nav-left/nav-left.component.html (53%)
rename src/app/theme/layouts/{admin => admin-layout}/nav-bar/nav-left/nav-left.component.scss (100%)
create mode 100644 src/app/theme/layouts/admin-layout/nav-bar/nav-left/nav-left.component.ts
rename src/app/theme/layouts/{admin => admin-layout}/nav-bar/nav-right/nav-right.component.html (56%)
rename src/app/theme/layouts/{admin => admin-layout}/nav-bar/nav-right/nav-right.component.scss (100%)
create mode 100644 src/app/theme/layouts/admin-layout/nav-bar/nav-right/nav-right.component.ts
create mode 100644 src/app/theme/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.html
rename src/app/theme/layouts/{admin => admin-layout}/navigation/nav-content/nav-collapse/nav-collapse.component.scss (100%)
create mode 100644 src/app/theme/layouts/admin-layout/navigation/nav-content/nav-collapse/nav-collapse.component.ts
create mode 100644 src/app/theme/layouts/admin-layout/navigation/nav-content/nav-content.component.html
rename src/app/theme/layouts/{admin => admin-layout}/navigation/nav-content/nav-content.component.scss (100%)
rename src/app/theme/layouts/{admin => admin-layout}/navigation/nav-content/nav-content.component.ts (60%)
rename src/app/theme/layouts/{admin => admin-layout}/navigation/nav-content/nav-group/nav-group.component.html (68%)
rename src/app/theme/layouts/{admin => admin-layout}/navigation/nav-content/nav-group/nav-group.component.scss (100%)
create mode 100644 src/app/theme/layouts/admin-layout/navigation/nav-content/nav-group/nav-group.component.ts
rename src/app/theme/layouts/{admin => admin-layout}/navigation/nav-content/nav-item/nav-item.component.html (63%)
rename src/app/theme/layouts/{admin => admin-layout}/navigation/nav-content/nav-item/nav-item.component.scss (100%)
rename src/app/theme/layouts/{admin => admin-layout}/navigation/nav-content/nav-item/nav-item.component.ts (58%)
rename src/app/theme/layouts/{admin => admin-layout}/navigation/navigation.component.html (63%)
rename src/app/theme/layouts/{admin => admin-layout}/navigation/navigation.component.scss (100%)
create mode 100644 src/app/theme/layouts/admin-layout/navigation/navigation.component.ts
rename src/app/theme/layouts/{admin => admin-layout}/navigation/navigation.ts (74%)
delete mode 100644 src/app/theme/layouts/admin/admin.component.ts
delete mode 100644 src/app/theme/layouts/admin/nav-bar/nav-left/nav-left.component.ts
delete mode 100644 src/app/theme/layouts/admin/nav-bar/nav-right/nav-right.component.ts
delete mode 100644 src/app/theme/layouts/admin/navigation/nav-content/nav-collapse/nav-collapse.component.html
delete mode 100644 src/app/theme/layouts/admin/navigation/nav-content/nav-collapse/nav-collapse.component.ts
delete mode 100644 src/app/theme/layouts/admin/navigation/nav-content/nav-content.component.html
delete mode 100644 src/app/theme/layouts/admin/navigation/nav-content/nav-group/nav-group.component.ts
delete mode 100644 src/app/theme/layouts/admin/navigation/navigation.component.ts
delete mode 100644 src/assets/images/github.svg
delete mode 100644 src/assets/images/img-navbar-card.png
delete mode 100644 src/assets/images/slider/header-bg.07dde975.jpg
delete mode 100644 src/assets/images/slider/img-slide-1.jpg
delete mode 100644 src/assets/images/slider/img-slide-2.jpg
delete mode 100644 src/assets/images/slider/img-slide-3.jpg
delete mode 100644 src/assets/images/slider/img-slide-4.jpg
delete mode 100644 src/assets/images/slider/img-slide-5.jpg
delete mode 100644 src/assets/images/slider/img-slide-6.jpg
delete mode 100644 src/assets/images/slider/img-slide-7.jpg
create mode 100644 src/scss/bootstrap/bootstrap.scss
delete mode 100644 src/scss/menu/_menu-lite.scss
delete mode 100644 src/scss/settings/_preset-variables.scss
delete mode 100644 src/scss/settings/_theme-variables.scss
rename src/scss/settings/{_custom-variables.scss => bootstrap-variables.scss} (95%)
create mode 100644 src/scss/settings/color-variables.scss
create mode 100644 src/scss/settings/theme-variables.scss
delete mode 100644 src/scss/themes/_general.scss
delete mode 100644 src/scss/themes/components/_card.scss
delete mode 100644 src/scss/themes/components/_form.scss
delete mode 100644 src/scss/themes/components/_table.scss
rename src/scss/themes/components/{_avtar.scss => avatar.scss} (65%)
rename src/scss/themes/components/{_badge.scss => badge.scss} (100%)
rename src/scss/themes/components/{_button.scss => button.scss} (100%)
create mode 100644 src/scss/themes/components/card.scss
rename src/scss/themes/components/{_components.scss => components.scss} (86%)
rename src/scss/themes/components/{_dropdown.scss => dropdown.scss} (65%)
create mode 100644 src/scss/themes/components/form.scss
create mode 100644 src/scss/themes/components/table.scss
rename src/scss/themes/components/{_tabs.scss => tabs.scss} (88%)
create mode 100644 src/scss/themes/general.scss
rename src/scss/themes/{_generic.scss => generic.scss} (93%)
delete mode 100644 src/scss/themes/layouts/_pc-common.scss
delete mode 100644 src/scss/themes/layouts/_pc-sidebar.scss
create mode 100644 src/scss/themes/layouts/breadcrumb/breadcrumb.scss
rename src/scss/themes/layouts/{_pc-footer.scss => footer/footer.scss} (56%)
delete mode 100644 src/scss/themes/layouts/layouts.scss
create mode 100644 src/scss/themes/layouts/menu/sidebar.scss
rename src/scss/themes/layouts/{_pc-header.scss => navbar/navbar.scss} (76%)
create mode 100644 src/scss/themes/layouts/pc-common.scss
delete mode 100644 src/scss/themes/pages/_authentication.scss
delete mode 100644 src/scss/themes/pages/_icon-lauouts.scss
delete mode 100644 src/scss/themes/pages/_page.scss
create mode 100644 src/scss/themes/preset-style.scss
diff --git a/package.json b/package.json
index 0e5c784..a200f96 100644
--- a/package.json
+++ b/package.json
@@ -1,6 +1,6 @@
{
"name": "mantis-free-angular-admin-template",
- "version": "3.0.0",
+ "version": "4.0.0",
"author": "CodedThemes",
"license": "MIT",
"scripts": {
@@ -15,15 +15,16 @@
},
"private": false,
"dependencies": {
- "@angular/animations": "^17.1.1",
- "@angular/cdk": "^17.1.1",
- "@angular/common": "^17.1.1",
- "@angular/compiler": "^17.1.1",
- "@angular/core": "^17.1.1",
- "@angular/forms": "^17.1.1",
- "@angular/platform-browser": "^17.1.1",
- "@angular/platform-browser-dynamic": "^17.1.1",
- "@angular/router": "^17.1.1",
+ "@angular/animations": "^18.0.0-next.3",
+ "@angular/cdk": "^18.0.0-next.3",
+ "@angular/common": "^18.0.0-next.3",
+ "@angular/compiler": "^18.0.0-next.3",
+ "@angular/core": "^18.0.0-next.3",
+ "@angular/forms": "^18.0.0-next.3",
+ "@angular/platform-browser": "^18.0.0-next.3",
+ "@angular/platform-browser-dynamic": "^18.0.0-next.3",
+ "@angular/router": "^18.0.0-next.3",
+ "@ant-design/icons-angular": "^17.0.0",
"@ng-bootstrap/ng-bootstrap": "^16.0.0",
"@popperjs/core": "^2.11.8",
"apexcharts": "^3.45.2",
@@ -32,29 +33,29 @@
"ngx-scrollbar": "^13.0.3",
"rxjs": "~7.8.1",
"tslib": "^2.6.2",
- "zone.js": "~0.14.3"
+ "zone.js": "~0.14.4"
},
"devDependencies": {
- "@angular-devkit/build-angular": "^17.1.1",
- "@angular-eslint/builder": "17.2.1",
- "@angular-eslint/eslint-plugin": "17.2.1",
- "@angular-eslint/eslint-plugin-template": "17.2.1",
- "@angular-eslint/schematics": "17.2.1",
- "@angular-eslint/template-parser": "17.2.1",
- "@angular/cli": "~17.1.1",
- "@angular/compiler-cli": "^17.1.1",
+ "@angular-devkit/build-angular": "^18.0.0-next.3",
+ "@angular-eslint/builder": "17.3.0",
+ "@angular-eslint/eslint-plugin": "17.3.0",
+ "@angular-eslint/eslint-plugin-template": "17.3.0",
+ "@angular-eslint/schematics": "17.3.0",
+ "@angular-eslint/template-parser": "17.3.0",
+ "@angular/cli": "~18.0.0-next.3",
+ "@angular/compiler-cli": "^18.0.0-next.3",
"@types/jasmine": "~5.1.4",
- "@types/node": "^20.4.2",
- "@typescript-eslint/eslint-plugin": "6.19.1",
- "@typescript-eslint/parser": "6.19.1",
+ "@types/node": "^20.12.7",
+ "@typescript-eslint/eslint-plugin": "7.7.1",
+ "@typescript-eslint/parser": "7.7.1",
"eslint": "^8.56.0",
- "jasmine-core": "~5.1.1",
- "karma": "~6.4.2",
+ "jasmine-core": "~5.1.2",
+ "karma": "~6.4.3",
"karma-chrome-launcher": "~3.2.0",
"karma-coverage": "~2.2.1",
"karma-jasmine": "~5.1.0",
"karma-jasmine-html-reporter": "~2.1.0",
- "prettier": "3.2.4",
- "typescript": "5.2.2"
+ "prettier": "3.2.5",
+ "typescript": "5.4"
}
}
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 9d26816..7c56d77 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -3,7 +3,7 @@ import { NgModule } from '@angular/core';
import { RouterModule, Routes } from '@angular/router';
// Project import
-import { AdminComponent } from './theme/layouts/admin/admin.component';
+import { AdminComponent } from './theme/layouts/admin-layout/admin-layout.component';
import { GuestComponent } from './theme/layouts/guest/guest.component';
const routes: Routes = [
@@ -18,24 +18,12 @@ const routes: Routes = [
},
{
path: 'dashboard/default',
- loadComponent: () => import('./demo/default/dashboard/dashboard.component')
+ loadComponent: () => import('./demo/default/dashboard/dashboard.component').then((c) => c.DefaultComponent)
},
{
path: 'typography',
loadComponent: () => import('./demo/ui-component/typography/typography.component')
},
- {
- path: 'card',
- loadComponent: () => import('./demo/component/card/card.component')
- },
- {
- path: 'breadcrumb',
- loadComponent: () => import('./demo/component/breadcrumb/breadcrumb.component')
- },
- {
- path: 'spinner',
- loadComponent: () => import('./demo/component/spinner/spinner.component')
- },
{
path: 'color',
loadComponent: () => import('./demo/ui-component/ui-color/ui-color.component')
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 9270458..a97cdea 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -7,31 +7,9 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
import { AppComponent } from './app.component';
import { SharedModule } from './theme/shared/shared.module';
-import { AdminComponent } from './theme/layouts/admin/admin.component';
-import { GuestComponent } from './theme/layouts/guest/guest.component';
-import { NavigationComponent } from './theme/layouts/admin/navigation/navigation.component';
-import { NavBarComponent } from './theme/layouts/admin/nav-bar/nav-bar.component';
-import { NavLeftComponent } from './theme/layouts/admin/nav-bar/nav-left/nav-left.component';
-import { NavRightComponent } from './theme/layouts/admin/nav-bar/nav-right/nav-right.component';
-import { NavContentComponent } from './theme/layouts/admin/navigation/nav-content/nav-content.component';
-import { NavCollapseComponent } from './theme/layouts/admin/navigation/nav-content/nav-collapse/nav-collapse.component';
-import { NavGroupComponent } from './theme/layouts/admin/navigation/nav-content/nav-group/nav-group.component';
-import { NavItemComponent } from './theme/layouts/admin/navigation/nav-content/nav-item/nav-item.component';
@NgModule({
- declarations: [
- AppComponent,
- AdminComponent,
- GuestComponent,
- NavigationComponent,
- NavBarComponent,
- NavLeftComponent,
- NavRightComponent,
- NavContentComponent,
- NavCollapseComponent,
- NavGroupComponent,
- NavItemComponent
- ],
+ declarations: [AppComponent],
imports: [BrowserModule, AppRoutingModule, SharedModule, BrowserAnimationsModule],
bootstrap: [AppComponent]
})
diff --git a/src/app/demo/authentication/login/login.component.scss b/src/app/demo/authentication/login/login.component.scss
index e69de29..d78ea76 100644
--- a/src/app/demo/authentication/login/login.component.scss
+++ b/src/app/demo/authentication/login/login.component.scss
@@ -0,0 +1,112 @@
+@import '../../../../scss/settings/color-variables.scss';
+
+.auth-main {
+ position: relative;
+
+ .auth-wrapper {
+ height: 100%;
+ width: 100%;
+ min-height: 100vh;
+
+ .saprator {
+ position: relative;
+ display: flex;
+ align-self: center;
+ justify-content: center;
+
+ &:after {
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 0;
+ width: 100%;
+ height: 1px;
+ background: var(--bs-border-color);
+ z-index: 1;
+ }
+
+ span {
+ font-size: 0.875rem;
+ padding: 8px 24px;
+ background: $white;
+ z-index: 5;
+ text-transform: capitalize;
+ color: $gray-800;
+ font-weight: 500;
+ }
+ }
+
+ &.v3 {
+ display: flex;
+ align-items: center;
+
+ .auth-form {
+ flex-direction: column;
+ background: url('../../../../assets/images/authentication/img-auth-bg.svg');
+ min-height: 100vh;
+ padding: 24px;
+ background-repeat: no-repeat;
+ background-size: auto 82%;
+ background-position: left bottom;
+ position: relative;
+ justify-content: space-between;
+ > * {
+ position: relative;
+ z-index: 5;
+ }
+ &:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba($white, 0.2);
+ backdrop-filter: blur(16px);
+ }
+ }
+ }
+ .auth-form {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-grow: 1;
+
+ .card {
+ width: 100%;
+ max-width: 495px;
+ box-shadow: none;
+ }
+
+ img + span {
+ padding-left: 15px;
+ }
+
+ h5 {
+ span {
+ text-decoration: underline;
+ }
+ }
+ }
+ .auth-footer,
+ .auth-header {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+ }
+}
+
+form i {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ margin: 0px -12px 0px 0px;
+ cursor: pointer;
+ padding: 12px;
+ font-size: 18px;
+ position: absolute;
+ top: 203px;
+ right: 45px;
+}
diff --git a/src/app/demo/authentication/register/register.component.scss b/src/app/demo/authentication/register/register.component.scss
index e69de29..876e227 100644
--- a/src/app/demo/authentication/register/register.component.scss
+++ b/src/app/demo/authentication/register/register.component.scss
@@ -0,0 +1,99 @@
+@import '../../../../scss/settings/color-variables.scss';
+
+.auth-main {
+ position: relative;
+
+ .auth-wrapper {
+ height: 100%;
+ width: 100%;
+ min-height: 100vh;
+
+ .saprator {
+ position: relative;
+ display: flex;
+ align-self: center;
+ justify-content: center;
+
+ &:after {
+ content: '';
+ position: absolute;
+ top: 50%;
+ left: 0;
+ width: 100%;
+ height: 1px;
+ background: var(--bs-border-color);
+ z-index: 1;
+ }
+
+ span {
+ font-size: 0.875rem;
+ padding: 8px 24px;
+ background: $white;
+ z-index: 5;
+ text-transform: capitalize;
+ color: $gray-800;
+ font-weight: 500;
+ }
+ }
+
+ &.v3 {
+ display: flex;
+ align-items: center;
+
+ .auth-form {
+ flex-direction: column;
+ background: url('../../../../assets/images/authentication/img-auth-bg.svg');
+ min-height: 100vh;
+ padding: 24px;
+ background-repeat: no-repeat;
+ background-size: auto 82%;
+ background-position: left bottom;
+ position: relative;
+ justify-content: space-between;
+ > * {
+ position: relative;
+ z-index: 5;
+ }
+ &:after {
+ content: '';
+ position: absolute;
+ top: 0;
+ left: 0;
+ width: 100%;
+ height: 100%;
+ background: rgba($white, 0.2);
+ backdrop-filter: blur(16px);
+ }
+ }
+ }
+ .auth-form {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ flex-grow: 1;
+
+ .card {
+ width: 100%;
+ max-width: 495px;
+ box-shadow: none;
+ }
+
+ img + span {
+ padding-left: 15px;
+ }
+
+ h5 {
+ span {
+ text-decoration: underline;
+ }
+ }
+ }
+ .auth-footer,
+ .auth-header {
+ width: 100%;
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
+ }
+ }
+}
diff --git a/src/app/demo/component/breadcrumb/breadcrumb.component.html b/src/app/demo/component/breadcrumb/breadcrumb.component.html
deleted file mode 100644
index 5c40b77..0000000
--- a/src/app/demo/component/breadcrumb/breadcrumb.component.html
+++ /dev/null
@@ -1,225 +0,0 @@
-
-
-
-
-
-
- Home
-
-
-
-
- Home
- Library
-
-
-
-
- Home
- Library
- Data
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Library
-
-
-
-
-
- Library
- Data
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Library
-
-
-
-
-
- Library
- Data
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Library
-
-
-
-
-
- Library
- Data
-
-
-
-
-
-
-
-
-
- Working with Icons
-
-
-
-
- Disabled and Active States
-
-
-
-
- Sizing
-
-
-
-
-
-
-
- Alignment
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/app/demo/component/breadcrumb/breadcrumb.component.ts b/src/app/demo/component/breadcrumb/breadcrumb.component.ts
deleted file mode 100644
index ec5ee08..0000000
--- a/src/app/demo/component/breadcrumb/breadcrumb.component.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-// angular import
-import { Component } from '@angular/core';
-
-// project import
-import { SharedModule } from 'src/app/theme/shared/shared.module';
-
-@Component({
- selector: 'app-breadcrumb',
- standalone: true,
- imports: [SharedModule],
- templateUrl: './breadcrumb.component.html',
- styleUrls: ['./breadcrumb.component.scss']
-})
-export default class BreadcrumbComponent {}
diff --git a/src/app/demo/component/card/card.component.html b/src/app/demo/component/card/card.component.html
deleted file mode 100644
index b125aa1..0000000
--- a/src/app/demo/component/card/card.component.html
+++ /dev/null
@@ -1,260 +0,0 @@
-
-
-
-
Body Content
-
-
-
-
This is some text within a card body.
-
-
-
-
-
Titles, Text, and Links
-
-
-
-
-
-
Card subtitle
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
Card link
-
Another link
-
-
-
-
-
-
Header and Footer
-
-
-
-
-
-
Special title treatment
-
With supporting text below as a natural lead-in to additional content.
-
Go somewhere
-
-
-
-
-
-
-
-
Left Align
-
-
-
-
-
Special title treatment
-
With supporting text below as a natural lead-in to additional content.
-
Go somewhere
-
-
-
-
-
-
Center Align
-
-
-
-
-
Special title treatment
-
With supporting text below as a natural lead-in to additional content.
-
Go somewhere
-
-
-
-
-
-
Right Align
-
-
-
-
-
Special title treatment
-
With supporting text below as a natural lead-in to additional content.
-
Go somewhere
-
-
-
-
-
-
-
-
Image Caps
-
-
-
-
-
-
Card title
-
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit
- longer.
-
Last updated 3 mins ago
-
-
-
-
-
-
Image Caps [ Bottom ]
-
-
-
-
-
Card title
-
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit
- longer.
-
Last updated 3 mins ago
-
-
-
-
-
-
-
Image Overlays
-
-
-
-
-
-
Card title
-
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit
- longer.
-
Last updated 3 mins ago
-
-
-
-
-
-
Card Styles
-
-
-
-
-
-
-
-
Primary card title
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
-
-
-
-
-
-
-
Secondary card title
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
-
-
-
-
-
-
-
Success card title
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
-
-
-
-
-
-
-
Danger card title
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
-
-
-
-
-
-
-
Warning card title
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
-
-
-
-
-
-
-
Info card title
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
-
-
-
-
-
-
-
Light card title
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
-
-
-
-
-
-
-
Dark card title
-
Some quick example text to build on the card title and make up the bulk of the card's content.
-
-
-
-
-
-
-
-
Card Groups
-
-
-
-
-
-
-
Card title
-
This is a wider card with supporting text below as a natural lead-in to additional content. This content is a little bit
- longer.
-
-
-
-
-
-
-
Card title
-
This card has supporting text below as a natural lead-in to additional content.
-
-
-
-
-
-
-
Card title
-
This is a wider card with supporting text below as a natural lead-in to additional content. This card has even longer content
- than the first to show that equal height action.
-
-
-
-
-
-
-
-
diff --git a/src/app/demo/component/card/card.component.ts b/src/app/demo/component/card/card.component.ts
deleted file mode 100644
index 226e523..0000000
--- a/src/app/demo/component/card/card.component.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-// angular import
-import { Component } from '@angular/core';
-
-// project import
-import { SharedModule } from 'src/app/theme/shared/shared.module';
-
-@Component({
- selector: 'app-card',
- standalone: true,
- imports: [SharedModule],
- templateUrl: './card.component.html',
- styleUrls: ['./card.component.scss']
-})
-export default class CardComponent {}
diff --git a/src/app/demo/component/spinner/spinner.component.html b/src/app/demo/component/spinner/spinner.component.html
deleted file mode 100644
index 9d1620f..0000000
--- a/src/app/demo/component/spinner/spinner.component.html
+++ /dev/null
@@ -1,89 +0,0 @@
-
-
-
-
-
-
-
-
- Start
-
-
- Center
-
-
- End
-
-
-
-
-
- Small
-
-
-
- Custom
-
-
-
-
-
-
-
-
-
-
-
- Loading...
-
-
-
-
-
-
-
-
- Loading...
-
-
-
-
-
-
-
diff --git a/src/app/demo/component/spinner/spinner.component.ts b/src/app/demo/component/spinner/spinner.component.ts
deleted file mode 100644
index cb8fa78..0000000
--- a/src/app/demo/component/spinner/spinner.component.ts
+++ /dev/null
@@ -1,14 +0,0 @@
-// angular import
-import { Component } from '@angular/core';
-
-// project import
-import { SharedModule } from 'src/app/theme/shared/shared.module';
-
-@Component({
- selector: 'app-spinner',
- standalone: true,
- imports: [SharedModule],
- templateUrl: './spinner.component.html',
- styleUrls: ['./spinner.component.scss']
-})
-export default class SpinnerComponent {}
diff --git a/src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.html b/src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.html
new file mode 100644
index 0000000..e6ae038
--- /dev/null
+++ b/src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.html
@@ -0,0 +1,26 @@
+Analytics Report
+
diff --git a/src/app/demo/component/breadcrumb/breadcrumb.component.scss b/src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.scss
similarity index 100%
rename from src/app/demo/component/breadcrumb/breadcrumb.component.scss
rename to src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.scss
diff --git a/src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.ts b/src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.ts
new file mode 100644
index 0000000..f80ec92
--- /dev/null
+++ b/src/app/demo/default/dashboard/analytics-chart/analytics-chart.component.ts
@@ -0,0 +1,109 @@
+// angular import
+import { Component, ViewChild } from '@angular/core';
+
+// project import
+import { SharedModule } from 'src/app/theme/shared/shared.module';
+
+// third party
+import {
+ NgApexchartsModule,
+ ChartComponent,
+ ApexChart,
+ ApexAxisChartSeries,
+ ApexPlotOptions,
+ ApexXAxis,
+ ApexYAxis,
+ ApexStroke,
+ ApexGrid,
+ ApexTooltip
+} from 'ng-apexcharts';
+
+export type ChartOptions = {
+ series: ApexAxisChartSeries;
+ chart: ApexChart;
+ plotOptions: ApexPlotOptions;
+ xaxis: ApexXAxis;
+ colors: string[];
+ stroke: ApexStroke;
+ grid: ApexGrid;
+ yaxis: ApexYAxis;
+ tooltip: ApexTooltip;
+};
+
+@Component({
+ selector: 'app-analytics-chart',
+ standalone: true,
+ imports: [SharedModule, NgApexchartsModule],
+ templateUrl: './analytics-chart.component.html',
+ styleUrl: './analytics-chart.component.scss'
+})
+export class AnalyticsChartComponent {
+ // public props
+ @ViewChild('chart') chart!: ChartComponent;
+ chartOptions!: Partial;
+
+ // constructor
+ constructor() {
+ this.chartOptions = {
+ chart: {
+ type: 'line',
+ height: 340,
+ toolbar: {
+ show: false
+ },
+ background: 'transparent'
+ },
+ plotOptions: {
+ bar: {
+ columnWidth: '45%',
+ borderRadius: 4
+ }
+ },
+ colors: ['#FFB814'],
+ stroke: {
+ curve: 'smooth',
+ width: 1.5
+ },
+ grid: {
+ strokeDashArray: 4,
+ borderColor: '#f5f5f5'
+ },
+ series: [
+ {
+ data: [58, 90, 38, 83, 63, 75, 35, 55]
+ }
+ ],
+ xaxis: {
+ type: 'datetime',
+ categories: [
+ '2018-05-19T00:00:00.000Z',
+ '2018-06-19T00:00:00.000Z',
+ '2018-07-19T01:30:00.000Z',
+ '2018-08-19T02:30:00.000Z',
+ '2018-09-19T03:30:00.000Z',
+ '2018-10-19T04:30:00.000Z',
+ '2018-11-19T05:30:00.000Z',
+ '2018-12-19T06:30:00.000Z'
+ ],
+ labels: {
+ format: 'MMM',
+ style: {
+ colors: ['#222', '#222', '#222', '#222', '#222', '#222', '#222']
+ }
+ },
+ axisBorder: {
+ show: false
+ },
+ axisTicks: {
+ show: false
+ }
+ },
+ yaxis: {
+ show: false
+ },
+ tooltip: {
+ theme: 'light'
+ }
+ };
+ }
+}
diff --git a/src/app/demo/default/dashboard/dashboard.component.html b/src/app/demo/default/dashboard/dashboard.component.html
index c58b5ac..a26e821 100644
--- a/src/app/demo/default/dashboard/dashboard.component.html
+++ b/src/app/demo/default/dashboard/dashboard.component.html
@@ -1,161 +1,78 @@
-
- @for (task of card; track task) {
+ @for (analytic of AnalyticEcommerce; track analytic) {
-
-
-
{{ task.title }}
-
- {{ task.amount }}
- {{ task.percentage }}
-
-
- You made an extra
- {{ task.number }} this year
-
-
-
+
+ {{ analytic.title }}
+
+ {{ analytic.amount }}
+
+
+ {{ analytic.percentage }}
+
+
+ You made an extra {{ analytic.number }} this year
+
+
}
-
-
-
Unique Visitor
-
-
- Week
-
-
-
-
-
- Month
-
-
-
-
-
-
-
+
-
Income Overview
-
-
-
This Week Statistics
-
$7,650
-
-
-
+
Recent Orders
-
-
-
-
+
+
+
+
+ TRACKING NO.
+ PRODUCT NAME
+ STATUS
+ TOTAL ORDER
+ TOTAL AMOUNT
+
+
+
+ @for (order of recentOrder; track order) {
- TRACKING NO.
- PRODUCT NAME
- TOTAL ORDER
- STATUS
- TOTAL AMOUNT
+ {{ order.id }}
+ {{ order.name }}
+ {{ order.status }}
+ {{ order.quantity }}
+ {{ order.amount }}
-
-
- @for (task of tables; track task) {
-
-
- {{ task.id }}
-
- {{ task.name }}
- {{ task.order }}
-
- {{ task.status }}
-
- {{ task.amount }}
-
- }
-
-
-
+ }
+
+
-
Sales Report
-
-
-
This Week Statistics
-
$7,650
-
-
-
+
Transaction History
@for (history of transaction; track history) {
-
+
-
diff --git a/src/app/demo/default/dashboard/dashboard.component.scss b/src/app/demo/default/dashboard/dashboard.component.scss
index e69de29..b400ef7 100644
--- a/src/app/demo/default/dashboard/dashboard.component.scss
+++ b/src/app/demo/default/dashboard/dashboard.component.scss
@@ -0,0 +1,31 @@
+.card {
+ .card-body.dashboard-card {
+ padding: 18px;
+ padding-bottom: 20px;
+ }
+}
+
+.user-group {
+ img {
+ position: relative;
+ width: 35px;
+ height: 35px;
+ border-radius: 50%;
+ z-index: 2;
+ transition: all 0.1s ease-in-out;
+ border: 2px solid var(--bs-white);
+ + img {
+ margin-left: -14px;
+ }
+ &:hover {
+ z-index: 5;
+ }
+ }
+}
+
+.badge-circle {
+ display: inline-block;
+ width: 8px;
+ height: 8px;
+ border-radius: 50%;
+}
diff --git a/src/app/demo/default/dashboard/dashboard.component.ts b/src/app/demo/default/dashboard/dashboard.component.ts
index f58df47..3eda45c 100644
--- a/src/app/demo/default/dashboard/dashboard.component.ts
+++ b/src/app/demo/default/dashboard/dashboard.component.ts
@@ -1,311 +1,48 @@
// angular import
-import { Component, OnInit, ViewChild } from '@angular/core';
+import { Component } from '@angular/core';
+import { CommonModule } from '@angular/common';
// project import
import tableData from 'src/fake-data/default-data.json';
import { SharedModule } from 'src/app/theme/shared/shared.module';
+import { MonthlyBarChartComponent } from './monthly-bar-chart/monthly-bar-chart.component';
+import { IncomeOverviewChartComponent } from './income-overview-chart/income-overview-chart.component';
+import { AnalyticsChartComponent } from './analytics-chart/analytics-chart.component';
+import { SalesReportChartComponent } from './sales-report-chart/sales-report-chart.component';
-// bootstrap import
-import { NgbNavChangeEvent } from '@ng-bootstrap/ng-bootstrap';
-
-// third party
-import { NgApexchartsModule } from 'ng-apexcharts';
-import ApexCharts from 'apexcharts';
-import {
- ApexAxisChartSeries,
- ApexChart,
- ChartComponent,
- ApexDataLabels,
- ApexPlotOptions,
- ApexXAxis,
- ApexYAxis,
- ApexStroke,
- ApexGrid,
- ApexLegend
-} from 'ng-apexcharts';
-
-export type ChartOptions = {
- series: ApexAxisChartSeries;
- chart: ApexChart;
- dataLabels: ApexDataLabels;
- plotOptions: ApexPlotOptions;
- xaxis: ApexXAxis;
- colors: string[];
- stroke: ApexStroke;
- grid: ApexGrid;
- yaxis: ApexYAxis;
- legend: ApexLegend;
-};
+// icons
+import { IconService } from '@ant-design/icons-angular';
+import { FallOutline, GiftOutline, MessageOutline, RiseOutline, SettingOutline } from '@ant-design/icons-angular/icons';
@Component({
- selector: 'app-dashboard',
+ selector: 'app-default',
standalone: true,
- imports: [NgApexchartsModule, SharedModule],
+ imports: [
+ CommonModule,
+ SharedModule,
+ MonthlyBarChartComponent,
+ IncomeOverviewChartComponent,
+ AnalyticsChartComponent,
+ SalesReportChartComponent
+ ],
templateUrl: './dashboard.component.html',
styleUrls: ['./dashboard.component.scss']
})
-export default class DashboardComponent implements OnInit {
- // public props
- @ViewChild('chart') chart: ChartComponent;
- chartOptions_4: Partial
;
- chartOptions_5: Partial;
- chartOptions_6: Partial;
- // eslint-disable-next-line
- monthChart: any;
- // eslint-disable-next-line
- weekChart: any;
-
+export class DefaultComponent {
// constructor
- constructor() {
- this.chartOptions_4 = {
- chart: {
- type: 'bar',
- height: 365,
- toolbar: {
- show: false
- }
- },
- colors: ['#13c2c2'],
- plotOptions: {
- bar: {
- columnWidth: '45%',
- borderRadius: 4
- }
- },
- dataLabels: {
- enabled: false
- },
- series: [
- {
- data: [80, 95, 70, 42, 65, 55, 78]
- }
- ],
- stroke: {
- curve: 'smooth',
- width: 2
- },
- xaxis: {
- categories: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
- axisBorder: {
- show: false
- },
- axisTicks: {
- show: false
- }
- },
- yaxis: {
- show: false
- },
- grid: {
- show: false
- }
- };
- this.chartOptions_5 = {
- chart: {
- type: 'line',
- height: 340,
- toolbar: {
- show: false
- }
- },
- colors: ['#faad14'],
- plotOptions: {
- bar: {
- columnWidth: '45%',
- borderRadius: 4
- }
- },
- stroke: {
- curve: 'smooth',
- width: 1.5
- },
- grid: {
- strokeDashArray: 4
- },
- series: [
- {
- data: [58, 90, 38, 83, 63, 75, 35, 55]
- }
- ],
- xaxis: {
- type: 'datetime',
- categories: [
- '2018-05-19T00:00:00.000Z',
- '2018-06-19T00:00:00.000Z',
- '2018-07-19T01:30:00.000Z',
- '2018-08-19T02:30:00.000Z',
- '2018-09-19T03:30:00.000Z',
- '2018-10-19T04:30:00.000Z',
- '2018-11-19T05:30:00.000Z',
- '2018-12-19T06:30:00.000Z'
- ],
- labels: {
- format: 'MMM'
- },
- axisBorder: {
- show: false
- },
- axisTicks: {
- show: false
- }
- },
- yaxis: {
- show: false
- }
- };
- this.chartOptions_6 = {
- chart: {
- type: 'bar',
- height: 430,
- toolbar: {
- show: false
- }
- },
- plotOptions: {
- bar: {
- columnWidth: '30%',
- borderRadius: 4
- }
- },
- stroke: {
- show: true,
- width: 8,
- colors: ['transparent']
- },
- dataLabels: {
- enabled: false
- },
- legend: {
- position: 'top',
- horizontalAlign: 'right',
- show: true,
- fontFamily: `'Public Sans', sans-serif`,
- offsetX: 10,
- offsetY: 10,
- labels: {
- useSeriesColors: false
- },
- markers: {
- width: 10,
- height: 10,
- radius: 50
- },
- itemMargin: {
- horizontal: 15,
- vertical: 5
- }
- },
- colors: ['#faad14', '#1890ff'],
- series: [
- {
- name: 'Net Profit',
- data: [180, 90, 135, 114, 120, 145]
- },
- {
- name: 'Revenue',
- data: [120, 45, 78, 150, 168, 99]
- }
- ],
- xaxis: {
- categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun']
- }
- };
+ constructor(private iconService: IconService) {
+ this.iconService.addIcon(...[RiseOutline, FallOutline, SettingOutline, GiftOutline, MessageOutline]);
}
- // life cycle event
- ngOnInit(): void {
- setTimeout(() => {
- this.weekChart = new ApexCharts(document.querySelector('#visitor-chart'), this.weekOptions);
- this.weekChart.render();
- }, 500);
- }
-
- // public method
- onNavChange(changeEvent: NgbNavChangeEvent) {
- if (changeEvent.nextId === 1) {
- setTimeout(() => {
- this.weekChart = new ApexCharts(document.querySelector('#visitor-chart'), this.weekOptions);
- this.weekChart.render();
- }, 200);
- }
-
- if (changeEvent.nextId === 2) {
- setTimeout(() => {
- this.monthChart = new ApexCharts(document.querySelector('#visitor-chart-1'), this.monthOptions);
- this.monthChart.render();
- }, 200);
- }
- }
-
- monthOptions = {
- chart: {
- height: 450,
- type: 'area',
- toolbar: {
- show: false
- }
- },
- dataLabels: {
- enabled: false
- },
- colors: ['#1890ff', '#13c2c2'],
- series: [
- {
- name: 'Page Views',
- data: [76, 85, 101, 98, 87, 105, 91, 114, 94, 86, 115, 35]
- },
- {
- name: 'Sessions',
- data: [110, 60, 150, 35, 60, 36, 26, 45, 65, 52, 53, 41]
- }
- ],
- stroke: {
- curve: 'smooth',
- width: 2
- },
- xaxis: {
- categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
- }
- };
-
- weekOptions = {
- chart: {
- height: 450,
- type: 'area',
- toolbar: {
- show: false
- }
- },
- dataLabels: {
- enabled: false
- },
- colors: ['#1890ff', '#13c2c2'],
- series: [
- {
- name: 'Page Views',
- data: [31, 40, 28, 51, 42, 109, 100]
- },
- {
- name: 'Sessions',
- data: [11, 32, 45, 32, 34, 52, 41]
- }
- ],
- stroke: {
- curve: 'smooth',
- width: 2
- },
- xaxis: {
- categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun']
- }
- };
+ recentOrder = tableData;
- card = [
+ AnalyticEcommerce = [
{
title: 'Total Page Views',
amount: '4,42,236',
background: 'bg-light-primary ',
border: 'border-primary',
- icon: 'ti ti-trending-up',
+ icon: 'rise',
percentage: '59.3%',
color: 'text-primary',
number: '35,000'
@@ -313,11 +50,11 @@ export default class DashboardComponent implements OnInit {
{
title: 'Total Users',
amount: '78,250',
- background: 'bg-light-success ',
- border: 'border-success',
- icon: 'ti ti-trending-up',
+ background: 'bg-light-primary ',
+ border: 'border-primary',
+ icon: 'rise',
percentage: '70.5%',
- color: 'text-success',
+ color: 'text-primary',
number: '8,900'
},
{
@@ -325,7 +62,7 @@ export default class DashboardComponent implements OnInit {
amount: '18,800',
background: 'bg-light-warning ',
border: 'border-warning',
- icon: 'ti ti-trending-down',
+ icon: 'fall',
percentage: '27.4%',
color: 'text-warning',
number: '1,943'
@@ -333,21 +70,19 @@ export default class DashboardComponent implements OnInit {
{
title: 'Total Sales',
amount: '$35,078',
- background: 'bg-light-danger ',
- border: 'border-danger',
- icon: 'ti ti-trending-down',
+ background: 'bg-light-warning ',
+ border: 'border-warning',
+ icon: 'fall',
percentage: '27.4%',
- color: 'text-danger',
+ color: 'text-warning',
number: '$20,395'
}
];
- tables = tableData;
-
transaction = [
{
background: 'text-success bg-light-success',
- icon: 'ti ti-gift',
+ icon: 'gift',
title: 'Order #002434',
time: 'Today, 2:00 AM',
amount: '+ $1,430',
@@ -355,7 +90,7 @@ export default class DashboardComponent implements OnInit {
},
{
background: 'text-primary bg-light-primary',
- icon: 'ti ti-message-circle',
+ icon: 'message',
title: 'Order #984947',
time: '5 August, 1:45 PM',
amount: '- $302',
@@ -363,7 +98,7 @@ export default class DashboardComponent implements OnInit {
},
{
background: 'text-danger bg-light-danger',
- icon: 'ti ti-settings',
+ icon: 'setting',
title: 'Order #988784',
time: '7 hours ago',
amount: '- $682',
diff --git a/src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.html b/src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.html
new file mode 100644
index 0000000..e2c3520
--- /dev/null
+++ b/src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.html
@@ -0,0 +1,17 @@
+Income Overview
+
+ This Week Statistics
+ $7,650
+
+
diff --git a/src/app/demo/component/card/card.component.scss b/src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.scss
similarity index 100%
rename from src/app/demo/component/card/card.component.scss
rename to src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.scss
diff --git a/src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.ts b/src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.ts
new file mode 100644
index 0000000..12f08f8
--- /dev/null
+++ b/src/app/demo/default/dashboard/income-overview-chart/income-overview-chart.component.ts
@@ -0,0 +1,102 @@
+// angular import
+import { Component, OnInit, ViewChild } from '@angular/core';
+
+// project import
+import { SharedModule } from 'src/app/theme/shared/shared.module';
+
+// third party
+import {
+ NgApexchartsModule,
+ ChartComponent,
+ ApexChart,
+ ApexAxisChartSeries,
+ ApexDataLabels,
+ ApexPlotOptions,
+ ApexXAxis,
+ ApexYAxis,
+ ApexStroke,
+ ApexGrid,
+ ApexTooltip
+} from 'ng-apexcharts';
+
+export type ChartOptions = {
+ series: ApexAxisChartSeries;
+ chart: ApexChart;
+ dataLabels: ApexDataLabels;
+ plotOptions: ApexPlotOptions;
+ xaxis: ApexXAxis;
+ colors: string[];
+ stroke: ApexStroke;
+ grid: ApexGrid;
+ yaxis: ApexYAxis;
+ tooltip: ApexTooltip;
+};
+
+@Component({
+ selector: 'app-income-overview-chart',
+ standalone: true,
+ imports: [SharedModule, NgApexchartsModule],
+ templateUrl: './income-overview-chart.component.html',
+ styleUrl: './income-overview-chart.component.scss'
+})
+export class IncomeOverviewChartComponent implements OnInit {
+ // public props
+ @ViewChild('chart') chart!: ChartComponent;
+ chartOptions!: Partial;
+
+ // life cycle hook
+ ngOnInit() {
+ this.chartOptions = {
+ chart: {
+ type: 'bar',
+ height: 365,
+ toolbar: {
+ show: false
+ },
+ background: 'transparent'
+ },
+ plotOptions: {
+ bar: {
+ columnWidth: '45%',
+ borderRadius: 4
+ }
+ },
+ dataLabels: {
+ enabled: false
+ },
+ series: [
+ {
+ data: [80, 95, 70, 42, 65, 55, 78]
+ }
+ ],
+ stroke: {
+ curve: 'smooth',
+ width: 2
+ },
+ xaxis: {
+ categories: ['Mo', 'Tu', 'We', 'Th', 'Fr', 'Sa', 'Su'],
+ axisBorder: {
+ show: false
+ },
+ axisTicks: {
+ show: false
+ },
+ labels: {
+ style: {
+ colors: ['#8c8c8c', '#8c8c8c', '#8c8c8c', '#8c8c8c', '#8c8c8c', '#8c8c8c', '#8c8c8c']
+ }
+ }
+ },
+ yaxis: {
+ show: false
+ },
+ colors: ['#5cdbd3'],
+ grid: {
+ show: false
+ },
+ tooltip: {
+ theme: 'light'
+ }
+ };
+ }
+}
diff --git a/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.html b/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.html
new file mode 100644
index 0000000..54685fb
--- /dev/null
+++ b/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.html
@@ -0,0 +1,24 @@
+
+
diff --git a/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.scss b/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.scss
new file mode 100644
index 0000000..dc5696f
--- /dev/null
+++ b/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.scss
@@ -0,0 +1,19 @@
+.chart-income {
+ display: inline-flex;
+ align-items: center;
+ justify-content: center;
+ outline: 0px;
+ border: 0px;
+ margin: 0px;
+ cursor: pointer;
+ padding: 4px 5px;
+ border-radius: 4px;
+ color: var(--bs-gray);
+ .active {
+ outline: 0px;
+ margin: 0px;
+ padding: 3px 9px;
+ border: 1px solid var(--bs-primary);
+ color: var(--bs-primary);
+ }
+}
diff --git a/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.ts b/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.ts
new file mode 100644
index 0000000..9445217
--- /dev/null
+++ b/src/app/demo/default/dashboard/monthly-bar-chart/monthly-bar-chart.component.ts
@@ -0,0 +1,144 @@
+// angular import
+import { Component, OnInit, ViewChild } from '@angular/core';
+
+// project import
+import { SharedModule } from 'src/app/theme/shared/shared.module';
+
+// third party
+import {
+ NgApexchartsModule,
+ ApexChart,
+ ChartComponent,
+ ApexDataLabels,
+ ApexAxisChartSeries,
+ ApexStroke,
+ ApexXAxis,
+ ApexYAxis,
+ ApexTheme,
+ ApexGrid
+} from 'ng-apexcharts';
+
+export type ChartOptions = {
+ series: ApexAxisChartSeries;
+ chart: ApexChart;
+ dataLabels: ApexDataLabels;
+ xaxis: ApexXAxis;
+ colors: string[];
+ stroke: ApexStroke;
+ yaxis: ApexYAxis;
+ grid: ApexGrid;
+ theme: ApexTheme;
+};
+
+@Component({
+ selector: 'app-monthly-bar-chart',
+ standalone: true,
+ imports: [SharedModule, NgApexchartsModule],
+ templateUrl: './monthly-bar-chart.component.html',
+ styleUrl: './monthly-bar-chart.component.scss'
+})
+export class MonthlyBarChartComponent implements OnInit {
+ // public props
+ @ViewChild('chart') chart!: ChartComponent;
+ chartOptions!: Partial;
+
+ // life cycle hook
+ ngOnInit() {
+ document.querySelector('.chart-income.week')?.classList.add('active');
+ this.chartOptions = {
+ chart: {
+ height: 450,
+ type: 'area',
+ toolbar: {
+ show: false
+ },
+ background: 'transparent'
+ },
+ dataLabels: {
+ enabled: false
+ },
+ colors: ['#1677ff', '#0050b3'],
+ series: [
+ {
+ name: 'Page Views',
+ data: [0, 86, 28, 115, 48, 210, 136]
+ },
+ {
+ name: 'Sessions',
+ data: [0, 43, 14, 56, 24, 105, 68]
+ }
+ ],
+ stroke: {
+ curve: 'smooth',
+ width: 2
+ },
+ xaxis: {
+ categories: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],
+ labels: {
+ style: {
+ colors: [
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c',
+ '#8c8c8c'
+ ]
+ }
+ },
+ axisBorder: {
+ show: true,
+ color: '#f0f0f0'
+ }
+ },
+ yaxis: {
+ labels: {
+ style: {
+ colors: ['#8c8c8c']
+ }
+ }
+ },
+ grid: {
+ strokeDashArray: 0,
+ borderColor: '#f5f5f5'
+ },
+ theme: {
+ mode: 'light'
+ }
+ };
+ }
+
+ // public method
+ toggleActive(value: string) {
+ this.chartOptions.series = [
+ {
+ name: 'Page Views',
+ data: value === 'month' ? [76, 85, 101, 98, 87, 105, 91, 114, 94, 86, 115, 35] : [31, 40, 28, 51, 42, 109, 100]
+ },
+ {
+ name: 'Sessions',
+ data: value === 'month' ? [110, 60, 150, 35, 60, 36, 26, 45, 65, 52, 53, 41] : [11, 32, 45, 32, 34, 52, 41]
+ }
+ ];
+ const xaxis = { ...this.chartOptions.xaxis };
+ xaxis.categories =
+ value === 'month'
+ ? ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
+ : ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'];
+ xaxis.tickAmount = value === 'month' ? 11 : 7;
+ this.chartOptions = { ...this.chartOptions, xaxis };
+ if (value === 'month') {
+ document.querySelector('.chart-income.month')?.classList.add('active');
+ document.querySelector('.chart-income.week')?.classList.remove('active');
+ } else {
+ document.querySelector('.chart-income.week')?.classList.add('active');
+ document.querySelector('.chart-income.month')?.classList.remove('active');
+ }
+ }
+}
diff --git a/src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.html b/src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.html
new file mode 100644
index 0000000..13fee57
--- /dev/null
+++ b/src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.html
@@ -0,0 +1,21 @@
+Sales Report
+
+
+
This Week Statistics
+
$7,650
+
+
+
diff --git a/src/app/demo/component/spinner/spinner.component.scss b/src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.scss
similarity index 100%
rename from src/app/demo/component/spinner/spinner.component.scss
rename to src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.scss
diff --git a/src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.ts b/src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.ts
new file mode 100644
index 0000000..e21bbe0
--- /dev/null
+++ b/src/app/demo/default/dashboard/sales-report-chart/sales-report-chart.component.ts
@@ -0,0 +1,119 @@
+// angular import
+import { Component, ViewChild } from '@angular/core';
+
+// project import
+import { SharedModule } from 'src/app/theme/shared/shared.module';
+
+// third party
+import {
+ NgApexchartsModule,
+ ChartComponent,
+ ApexChart,
+ ApexAxisChartSeries,
+ ApexPlotOptions,
+ ApexXAxis,
+ ApexYAxis,
+ ApexStroke,
+ ApexGrid,
+ ApexTooltip,
+ ApexLegend,
+ ApexDataLabels
+} from 'ng-apexcharts';
+
+export type ChartOptions = {
+ series: ApexAxisChartSeries;
+ chart: ApexChart;
+ plotOptions: ApexPlotOptions;
+ dataLabels: ApexDataLabels;
+ legend: ApexLegend;
+ xaxis: ApexXAxis;
+ colors: string[];
+ stroke: ApexStroke;
+ grid: ApexGrid;
+ yaxis: ApexYAxis;
+ tooltip: ApexTooltip;
+};
+
+@Component({
+ selector: 'app-sales-report-chart',
+ standalone: true,
+ imports: [SharedModule, NgApexchartsModule],
+ templateUrl: './sales-report-chart.component.html',
+ styleUrl: './sales-report-chart.component.scss'
+})
+export class SalesReportChartComponent {
+ @ViewChild('chart') chart!: ChartComponent;
+ chartOptions!: Partial;
+
+ constructor() {
+ this.chartOptions = {
+ chart: {
+ type: 'bar',
+ height: 430,
+ toolbar: {
+ show: false
+ },
+ background: 'transparent'
+ },
+ plotOptions: {
+ bar: {
+ columnWidth: '30%',
+ borderRadius: 4
+ }
+ },
+ stroke: {
+ show: true,
+ width: 8,
+ colors: ['transparent']
+ },
+ dataLabels: {
+ enabled: false
+ },
+ legend: {
+ position: 'top',
+ horizontalAlign: 'right',
+ show: true,
+ fontFamily: `'Public Sans', sans-serif`,
+ offsetX: 10,
+ offsetY: 10,
+ labels: {
+ useSeriesColors: false
+ },
+ markers: {
+ width: 10,
+ height: 10,
+ radius: 50
+ },
+ itemMargin: {
+ horizontal: 15,
+ vertical: 5
+ }
+ },
+ series: [
+ {
+ name: 'Net Profit',
+ data: [180, 90, 135, 114, 120, 145]
+ },
+ {
+ name: 'Revenue',
+ data: [120, 45, 78, 150, 168, 99]
+ }
+ ],
+ xaxis: {
+ categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun'],
+ labels: {
+ style: {
+ colors: ['#222', '#222', '#222', '#222', '#222', '#222']
+ }
+ }
+ },
+ tooltip: {
+ theme: 'light'
+ },
+ colors: ['#faad14', '#1677ff'],
+ grid: {
+ borderColor: '#f5f5f5'
+ }
+ };
+ }
+}
diff --git a/src/app/demo/ui-component/typography/typography.component.html b/src/app/demo/ui-component/typography/typography.component.html
index 7e5160f..74c1c36 100644
--- a/src/app/demo/ui-component/typography/typography.component.html
+++ b/src/app/demo/ui-component/typography/typography.component.html
@@ -2,31 +2,26 @@
-
-
-
-
h1. Heading
-
-
h2. Heading
-
-
This is a H3
-
-
This is a H4
-
-
This is a H5
-
-
This is a H6
-
-
+
+
+ .h1 through .h6 classes are also available, for when you want to match the font styling of a heading but cannot use the associated
+ HTML element.
+
+ h1. Heading
+
+ h2. Heading
+
+ This is a H3
+
+ This is a H4
+
+ This is a H5
+
+ This is a H6
+
-
+
Display 1
Display 2
Display 3
@@ -36,7 +31,7 @@ Display 6
-
+
Your title goes here
You can use the mark tag to
highlight text.
@@ -51,7 +46,7 @@ Display 6
-
+
Fusce dapibus, tellus ac cursus commodo, tortor mauris nibh.
Nullam id dolor id nibh ultricies vehicula ut id elit.
Duis mollis, est non commodo luctus, nisi erat porttitor ligula.
@@ -62,7 +57,7 @@ Display 6
-
+
Lorem ipsum dolor sit amet
Consectetur adipiscing elit
@@ -84,7 +79,7 @@ Display 6
-
+
Lorem ipsum dolor sit amet
Consectetur adipiscing elit
@@ -106,7 +101,7 @@ Display 6
-
+
Lorem ipsum dolor sit amet
@@ -128,7 +123,7 @@ Inline
-
+
Your awesome text goes here.
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer posuere erat a ante.
@@ -142,7 +137,7 @@ Inline
-
+
Description lists
A description list is perfect for defining terms.
diff --git a/src/app/demo/ui-component/ui-color/ui-color.component.html b/src/app/demo/ui-component/ui-color/ui-color.component.html
index 0f2bf7c..6d197a4 100644
--- a/src/app/demo/ui-component/ui-color/ui-color.component.html
+++ b/src/app/demo/ui-component/ui-color/ui-color.component.html
@@ -1,46 +1,36 @@
-
-
-
-
-
-
bg-blue-100
-
bg-blue-200
-
bg-blue-300
-
bg-blue-400
-
bg-blue-500
-
bg-blue-600
-
bg-blue-700
-
bg-blue-800
-
bg-blue-900
-
+
+
+
+
bg-blue-100
+
bg-blue-200
+
bg-blue-300
+
bg-blue-400
+
bg-blue-500
+
bg-blue-600
+
bg-blue-700
+
bg-blue-800
+
bg-blue-900
-
-
-
-
-
-
-
text-blue-100
-
text-blue-200
-
text-blue-300
-
text-blue-400
-
text-blue-500
-
text-blue-600
-
text-blue-700
-
text-blue-800
-
text-blue-900
-
+
+
+
+
+
text-blue-100
+
text-blue-200
+
text-blue-300
+
text-blue-400
+
text-blue-500
+
text-blue-600
+
text-blue-700
+
text-blue-800
+
text-blue-900
-
+
diff --git a/src/app/demo/ui-component/ui-color/ui-color.component.ts b/src/app/demo/ui-component/ui-color/ui-color.component.ts
index 1977901..0f761a6 100644
--- a/src/app/demo/ui-component/ui-color/ui-color.component.ts
+++ b/src/app/demo/ui-component/ui-color/ui-color.component.ts
@@ -1,10 +1,11 @@
// angular import
import { Component } from '@angular/core';
+import { SharedModule } from 'src/app/theme/shared/shared.module';
@Component({
selector: 'app-ui-color',
standalone: true,
- imports: [],
+ imports: [SharedModule],
templateUrl: './ui-color.component.html',
styleUrls: ['./ui-color.component.scss']
})
diff --git a/src/app/theme/layouts/admin/admin.component.html b/src/app/theme/layouts/admin-layout/admin-layout.component.html
similarity index 61%
rename from src/app/theme/layouts/admin/admin.component.html
rename to src/app/theme/layouts/admin-layout/admin-layout.component.html
index 4a3ad13..0b39c4d 100644
--- a/src/app/theme/layouts/admin/admin.component.html
+++ b/src/app/theme/layouts/admin-layout/admin-layout.component.html
@@ -1,18 +1,17 @@
-
+/>
+