-
+ @for(shoe of typesOfShoes; track shoe) {
+
{{ shoe }}
+ }
@@ -135,9 +137,11 @@
-
+ @for(shoe of typesOfShoes; track shoe) {
+
{{ shoe }}
+ }
@@ -163,18 +167,31 @@
Folders
-
+ @for(folder of folders; track folder.name) {
+
folder
- {{ folder.name }}
- {{ folder.updated | date }}
+
+ {{ folder.name }}
+
+
+ {{ folder.updated | date }}
+
+ }
+
Notes
-
+ @for(note of notes; track note.name) {
+
note
- {{ note.name }}
- {{ note.updated | date }}
+
+ {{ note.name }}
+
+
+ {{ note.updated | date }}
+
+ }
diff --git a/package/src/app/pages/ui-components/lists/lists.component.ts b/package/src/app/pages/ui-components/lists/lists.component.ts
index 9ee8614..85fa779 100644
--- a/package/src/app/pages/ui-components/lists/lists.component.ts
+++ b/package/src/app/pages/ui-components/lists/lists.component.ts
@@ -1,4 +1,10 @@
import { Component } from '@angular/core';
+import { MatCardModule } from '@angular/material/card';
+import { MatListModule } from '@angular/material/list';
+import {MatIconModule} from '@angular/material/icon';
+import {DatePipe} from '@angular/common';
+import { MaterialModule } from 'src/app/material.module';
+
export interface Section {
name: string;
@@ -7,6 +13,8 @@ export interface Section {
@Component({
selector: 'app-lists',
+ standalone: true,
+ imports: [MatListModule, MatCardModule, DatePipe,MatIconModule, MaterialModule ],
templateUrl: './lists.component.html',
})
export class AppListsComponent {
@@ -17,25 +25,25 @@ export class AppListsComponent {
folders: Section[] = [
{
name: 'Photos',
- updated: new Date('1/1/16'),
+ updated: new Date('1/1/24'),
},
{
name: 'Recipes',
- updated: new Date('1/17/16'),
+ updated: new Date('1/17/24'),
},
{
name: 'Work',
- updated: new Date('1/28/16'),
+ updated: new Date('1/28/24'),
},
];
notes: Section[] = [
{
name: 'Vacation Itinerary',
- updated: new Date('2/20/16'),
+ updated: new Date('2/20/24'),
},
{
name: 'Kitchen Remodel',
- updated: new Date('1/18/16'),
+ updated: new Date('1/18/24'),
},
];
}
diff --git a/package/src/app/pages/ui-components/menu/menu.component.html b/package/src/app/pages/ui-components/menu/menu.component.html
index c6e7714..3960399 100644
--- a/package/src/app/pages/ui-components/menu/menu.component.html
+++ b/package/src/app/pages/ui-components/menu/menu.component.html
@@ -136,7 +136,7 @@
-
-
+
Below
@@ -154,7 +154,7 @@
-
+
Before
@@ -163,7 +163,7 @@
-
+
After
diff --git a/package/src/app/pages/ui-components/menu/menu.component.ts b/package/src/app/pages/ui-components/menu/menu.component.ts
index 8713a70..ff65b81 100644
--- a/package/src/app/pages/ui-components/menu/menu.component.ts
+++ b/package/src/app/pages/ui-components/menu/menu.component.ts
@@ -1,12 +1,16 @@
import { Component } from '@angular/core';
+import { MatButtonModule } from '@angular/material/button';
+import { MatCardModule } from '@angular/material/card';
+import { MatIconModule } from '@angular/material/icon';
+import { MatMenuModule } from '@angular/material/menu';
+import { TablerIconsModule } from 'angular-tabler-icons';
@Component({
selector: 'app-menu',
- templateUrl: './menu.component.html'
+ standalone: true,
+ imports: [MatCardModule, MatMenuModule, MatIconModule, TablerIconsModule, MatButtonModule],
+ templateUrl: './menu.component.html',
})
export class AppMenuComponent {
-
- constructor() { }
-
-
+ constructor() {}
}
diff --git a/package/src/app/pages/ui-components/tables/tables.component.html b/package/src/app/pages/ui-components/tables/tables.component.html
new file mode 100644
index 0000000..51d2a47
--- /dev/null
+++ b/package/src/app/pages/ui-components/tables/tables.component.html
@@ -0,0 +1,146 @@
+
+
+ Table
+
+
+
+
+
+
+ Product
+ |
+
+
+
+
+
+ {{ element.uname }}
+
+
+
+ |
+
+
+
+
+
+ Payment
+ |
+
+ @if(element.budget >= 160) {
+
+ ${{ element.budget }} / 499
+
+ Full paid
+
+ } @else if(element.budget > 119) {
+
+ ${{ element.budget }} / 499
+
+ Partially paid
+
+ } @else if(element.budget < 100) {
+
+ ${{ element.budget }} / 499
+
+ Cancelled
+
+ }
+ |
+
+
+
+
+
+ Status
+ |
+
+ @if(element.priority == 'cancelled') {
+
+ {{ element.priority | titlecase }}
+
+ } @if(element.priority == 'rejected') {
+
+ {{ element.priority | titlecase }}
+
+ } @if(element.priority == 'confirmed') {
+
+ {{ element.priority | titlecase }}
+
+ }
+ |
+
+
+
+
+ |
+
+
+ more_vert
+
+
+
+ add
+ Add
+
+
+ edit
+ Edit
+
+
+ delete
+ Delete
+
+
+ |
+
+
+
+
+
+
+
+
diff --git a/package/src/app/pages/ui-components/tables/tables.component.ts b/package/src/app/pages/ui-components/tables/tables.component.ts
new file mode 100644
index 0000000..145b9f5
--- /dev/null
+++ b/package/src/app/pages/ui-components/tables/tables.component.ts
@@ -0,0 +1,68 @@
+import { CommonModule } from '@angular/common';
+import { Component } from '@angular/core';
+import { MatCardModule } from '@angular/material/card';
+import { MatTableModule } from '@angular/material/table';
+import { MaterialModule } from 'src/app/material.module';
+import { MatIconModule } from '@angular/material/icon';
+import { MatMenuModule } from '@angular/material/menu';
+import { MatButtonModule } from '@angular/material/button';
+
+// table 1
+export interface productsData {
+ id: number;
+ imagePath: string;
+ uname: string;
+ budget: number;
+ priority: string;
+}
+
+const PRODUCT_DATA: productsData[] = [
+ {
+ id: 1,
+ imagePath: 'assets/images/profile/user-1.jpg',
+ uname: 'iPhone 13 pro max-Pacific Blue-128GB storage',
+ budget: 180,
+ priority: 'confirmed',
+ },
+ {
+ id: 2,
+ imagePath: 'assets/images/profile/user-2.jpg',
+ uname: 'Apple MacBook Pro 13 inch-M1-8/256GB-space',
+ budget: 90,
+ priority: 'cancelled',
+ },
+ {
+ id: 3,
+ imagePath: 'assets/images/profile/user-3.jpg',
+ uname: 'PlayStation 5 DualSense Wireless Controller',
+ budget: 120,
+ priority: 'rejected',
+ },
+ {
+ id: 4,
+ imagePath: 'assets/images/profile/user-4.jpg',
+ uname: 'Amazon Basics Mesh, Mid-Back, Swivel Office',
+ budget: 160,
+ priority: 'confirmed',
+ },
+];
+
+@Component({
+ selector: 'app-tables',
+ standalone: true,
+ imports: [
+ MatTableModule,
+ CommonModule,
+ MatCardModule,
+ MaterialModule,
+ MatIconModule,
+ MatMenuModule,
+ MatButtonModule,
+ ],
+ templateUrl: './tables.component.html',
+})
+export class AppTablesComponent {
+ // table 1
+ displayedColumns1: string[] = ['assigned', 'name', 'priority', 'budget'];
+ dataSource1 = PRODUCT_DATA;
+}
diff --git a/package/src/app/pages/ui-components/tooltips/tooltips.component.html b/package/src/app/pages/ui-components/tooltips/tooltips.component.html
index e7da382..97f2553 100644
--- a/package/src/app/pages/ui-components/tooltips/tooltips.component.html
+++ b/package/src/app/pages/ui-components/tooltips/tooltips.component.html
@@ -133,7 +133,7 @@
Hide delay
-
+
milliseconds
@@ -143,7 +143,7 @@
color="primary"
matTooltip="Info about the action"
[matTooltipShowDelay]="showDelay.value"
- [matTooltipHideDelay]="hideDelay.value"
+ [matTooltipHideDelay]="hideDelay2.value"
>
Action
@@ -161,7 +161,7 @@
Tooltip message
-
+
\ No newline at end of file
diff --git a/package/src/assets/images/backgrounds/login3-bg.png b/package/src/assets/images/backgrounds/login3-bg.png
new file mode 100644
index 0000000..00d4fc7
Binary files /dev/null and b/package/src/assets/images/backgrounds/login3-bg.png differ
diff --git a/package/src/assets/images/backgrounds/rocket.png b/package/src/assets/images/backgrounds/rocket.png
deleted file mode 100644
index 5ee44a9..0000000
Binary files a/package/src/assets/images/backgrounds/rocket.png and /dev/null differ
diff --git a/package/src/assets/images/backgrounds/shap-login.png b/package/src/assets/images/backgrounds/shap-login.png
new file mode 100644
index 0000000..0592721
Binary files /dev/null and b/package/src/assets/images/backgrounds/shap-login.png differ
diff --git a/package/src/assets/images/logos/favicon.ico b/package/src/assets/images/logos/favicon.ico
deleted file mode 100644
index 5e370c9..0000000
Binary files a/package/src/assets/images/logos/favicon.ico and /dev/null differ
diff --git a/package/src/assets/images/logos/favicon.png b/package/src/assets/images/logos/favicon.png
deleted file mode 100644
index 8bd86ac..0000000
Binary files a/package/src/assets/images/logos/favicon.png and /dev/null differ
diff --git a/package/src/assets/images/profile/user-1.jpg b/package/src/assets/images/profile/user-1.jpg
index 35f9361..b0c6f10 100644
Binary files a/package/src/assets/images/profile/user-1.jpg and b/package/src/assets/images/profile/user-1.jpg differ
diff --git a/package/src/assets/images/profile/user-2.jpg b/package/src/assets/images/profile/user-2.jpg
index 52d8f1f..337bc7e 100644
Binary files a/package/src/assets/images/profile/user-2.jpg and b/package/src/assets/images/profile/user-2.jpg differ
diff --git a/package/src/assets/images/profile/user-3.jpg b/package/src/assets/images/profile/user-3.jpg
index 2a541d7..45bc07c 100644
Binary files a/package/src/assets/images/profile/user-3.jpg and b/package/src/assets/images/profile/user-3.jpg differ
diff --git a/package/src/assets/images/profile/user-4.jpg b/package/src/assets/images/profile/user-4.jpg
index e9312df..e09036b 100644
Binary files a/package/src/assets/images/profile/user-4.jpg and b/package/src/assets/images/profile/user-4.jpg differ
diff --git a/package/src/assets/images/profile/user5.jpg b/package/src/assets/images/profile/user5.jpg
new file mode 100644
index 0000000..35f9361
Binary files /dev/null and b/package/src/assets/images/profile/user5.jpg differ
diff --git a/package/src/assets/scss/_container.scss b/package/src/assets/scss/_container.scss
index 504e6e5..27b7d8b 100644
--- a/package/src/assets/scss/_container.scss
+++ b/package/src/assets/scss/_container.scss
@@ -9,7 +9,6 @@ body {
color: $textPrimary;
font-size: 14px;
line-height: 1.334rem;
- margin: 0;
}
html .mat-drawer-container {
@@ -87,3 +86,24 @@ html .mat-drawer-container {
.cursor-pointer {
cursor: pointer;
}
+
+.avatar-group {
+ img {
+ border: 2px solid white;
+ margin-right: -5px;
+
+ &:last-child {
+ margin-right: 0;
+ }
+ }
+}
+
+.text-hover-primary:hover {
+ .hover-text {
+ color: $primary;
+ }
+}
+
+.filter-sidebar {
+ width: 290px !important;
+}
diff --git a/package/src/assets/scss/_variables.scss b/package/src/assets/scss/_variables.scss
index 5442536..9d5bb31 100644
--- a/package/src/assets/scss/_variables.scss
+++ b/package/src/assets/scss/_variables.scss
@@ -23,12 +23,6 @@ $darkborderColor: #333f55;
$darkformborderColor: #465670;
$darkhoverbgcolor: #333f55;
-// $darkthemelightprimary: #253662;
-// $darkthemelightaccent: #1c455d;
-// $darkthemelightwarning: #4d3a2a;
-// $darkthemelighterror: #4b313d;
-// $darkthemelightsuccess: #1b3c48;
-
// Sidenav
$sidenav-desktop: 270px !default;
$sidenav-mini: 80px !default;
diff --git a/package/src/assets/scss/helpers/_color.scss b/package/src/assets/scss/helpers/_color.scss
index 3dc37b8..ca06558 100644
--- a/package/src/assets/scss/helpers/_color.scss
+++ b/package/src/assets/scss/helpers/_color.scss
@@ -19,13 +19,15 @@
$warning: $warning,
$error: $error,
$white: $white,
+ $info: $info,
$light: $light,
$gray-100: $gray-100,
$light-error: $light-error,
$light-accent: $light-accent,
$light-success: $light-success,
$light-warning: $light-warning,
- $light-primary: $light-primary
+ $light-primary: $light-primary,
+ $light-info: $light-info,
);
.fill-warning svg {
diff --git a/package/src/assets/scss/helpers/_custom-flex.scss b/package/src/assets/scss/helpers/_custom-flex.scss
index 8cbdeb7..2441a4e 100644
--- a/package/src/assets/scss/helpers/_custom-flex.scss
+++ b/package/src/assets/scss/helpers/_custom-flex.scss
@@ -4,12 +4,36 @@
display: flex !important;
}
+ .d-lg-none {
+ display: none !important;
+ }
.align-items-lg-center {
align-items: center !important;
}
}
}
+@media (min-width: 768px) {
+ body {
+ .d-sm-flex {
+ display: flex !important;
+ }
+ .d-md-none{
+ display: none !important;
+ }
+ }
+}
+
+@media (max-width: 767px) {
+ .p-xs-6 {
+ padding: 0 6px !important;
+ }
+}
+
+.flex-shrink-0 {
+ flex-shrink: 0;
+}
+
.flex-1-auto {
flex: 1 1 0%;
}
diff --git a/package/src/assets/scss/helpers/_flexbox.scss b/package/src/assets/scss/helpers/_flexbox.scss
index eb910c9..e3fa5dc 100644
--- a/package/src/assets/scss/helpers/_flexbox.scss
+++ b/package/src/assets/scss/helpers/_flexbox.scss
@@ -6,6 +6,37 @@ $utilities: (
class: flex,
values: (fill: 1 1 auto)
),
+ 'flex-direction': (
+ property: flex-direction,
+ class: flex,
+ values: (
+ row: row,
+ row-reverse: row-reverse,
+ col: column,
+ col-reverse: column-reverse
+ )
+ ),
+ 'flex-grow': (
+ property: flex-grow,
+ class: flex,
+ values: (
+ grow-0: 0,
+ grow-1: 1,
+ )
+ ),
+ 'flex-shrink': (
+ property: flex-shrink,
+ class: flex,
+ values: (
+ shrink-0: 0,
+ shrink-1: 1,
+ )
+ ),
+ 'flex-wrap': (
+ property: flex-wrap,
+ class: flex,
+ values: wrap nowrap wrap-reverse
+ ),
'justify-content': (
property: justify-content,
class: justify-content,
@@ -17,6 +48,18 @@ $utilities: (
around: space-around,
)
),
+ 'align-content': (
+ property: align-content,
+ class: align-content,
+ values: (
+ start: flex-start,
+ end: flex-end,
+ center: center,
+ between: space-between,
+ around: space-around,
+ stretch: stretch,
+ )
+ ),
'align-items': (
property: align-items,
class: align-items,
@@ -28,4 +71,16 @@ $utilities: (
stretch: stretch,
)
),
+ 'align-self': (
+ property: align-self,
+ class: align-self,
+ values: (
+ auto: auto,
+ start: flex-start,
+ end: flex-end,
+ center: center,
+ baseline: baseline,
+ stretch: stretch,
+ )
+ ),
);
diff --git a/package/src/assets/scss/helpers/_functions.scss b/package/src/assets/scss/helpers/_functions.scss
index 945b23a..f21785b 100644
--- a/package/src/assets/scss/helpers/_functions.scss
+++ b/package/src/assets/scss/helpers/_functions.scss
@@ -1,5 +1,18 @@
@use 'sass:map';
+// It makes the value negative.
+@function negativify-map($map) {
+ $result: ();
+
+ @each $key, $value in $map {
+ @if $key !=0 {
+ $result: map.merge($result, ('-' + $key: (-$value)));
+ }
+ }
+
+ @return $result;
+}
+
// It allows to combine multiple maps together.
@function map-collect($maps...) {
$collection: ();
diff --git a/package/src/assets/scss/helpers/_index.scss b/package/src/assets/scss/helpers/_index.scss
index 016714e..633c891 100644
--- a/package/src/assets/scss/helpers/_index.scss
+++ b/package/src/assets/scss/helpers/_index.scss
@@ -1,15 +1,15 @@
-@use "sass:map";
-@use "sass:meta";
-@use "sass:list";
-@use "variables";
-
-@use "functions";
-@use "flexbox";
-@use "display";
-@use "border";
-@use "text";
-@use "spacing";
-@use "rounded";
+@use 'sass:map';
+@use 'sass:meta';
+@use 'sass:list';
+@use 'variables';
+
+@use 'functions';
+@use 'flexbox';
+@use 'display';
+@use 'border';
+@use 'text';
+@use 'spacing';
+@use 'rounded';
$utilities: functions.map-collect(
variables.$utilities,
@@ -18,36 +18,98 @@ $utilities: functions.map-collect(
spacing.$utilities,
border.$utilities,
rounded.$utilities,
- text.$utilities
+ text.$utilities,
+
+);
+
+@each $key,
+$utility in $utilities {
+ $values: map.get($utility, values);
+
+ // If the values are a list or string, convert it into a map
+ @if meta.type-of($values)=='string' or meta.type-of(list.nth($values, 1)) !='list' {
+ $values: list.zip($values, $values);
+ }
+
+ $properties: map.get($utility, property);
+ $property-class-prefix: map.get($utility, class);
+
+ // Utility class maybe empty, (e.g. with position class)
+ $property-class-prefix-hyphen: if($property-class-prefix =='',
+ $property-class-prefix,
+ $property-class-prefix + '-'
+ );
+
+ @each $class-modifier,
+ $value in $values {
+ .#{$property-class-prefix-hyphen + $class-modifier} {
+ @each $property in $properties {
+ #{$property}: $value !important;
+ }
+ }
+ }
+}
+
+$ltrutilities: functions.map-collect(
+ spacing.$ltr,
+);
+@each $key,
+$utility in $ltrutilities {
+ $values: map.get($utility, values);
+
+ // If the values are a list or string, convert it into a map
+ @if meta.type-of($values)=='string' or meta.type-of(list.nth($values, 1)) !='list' {
+ $values: list.zip($values, $values);
+ }
+
+ $properties: map.get($utility, property);
+ $property-class-prefix: map.get($utility, class);
+
+ // Utility class maybe empty, (e.g. with position class)
+ $property-class-prefix-hyphen: if($property-class-prefix =='',
+ $property-class-prefix,
+ $property-class-prefix + '-'
+ );
+
+ @each $class-modifier,
+ $value in $values {
+ [dir='ltr'] .#{$property-class-prefix-hyphen + $class-modifier} {
+ @each $property in $properties {
+ #{$property}: $value !important;
+ }
+ }
+ }
+}
+
+$rtlutilities: functions.map-collect(
+ spacing.$rtl,
);
+@each $key,
+$utility in $rtlutilities {
+ $values: map.get($utility, values);
-@each $key, $utility in $utilities {
- $values: map.get($utility, values);
-
- // If the values are a list or string, convert it into a map
- @if meta.type-of($values) ==
- "string" or
- meta.type-of(list.nth($values, 1)) !=
- "list"
- {
- $values: list.zip($values, $values);
- }
-
- $properties: map.get($utility, property);
- $property-class-prefix: map.get($utility, class);
-
- // Utility class maybe empty, (e.g. with position class)
- $property-class-prefix-hyphen: if(
- $property-class-prefix == "",
- $property-class-prefix,
- $property-class-prefix + "-"
- );
-
- @each $class-modifier, $value in $values {
- .#{$property-class-prefix-hyphen + $class-modifier} {
- @each $property in $properties {
- #{$property}: $value !important;
- }
+ // If the values are a list or string, convert it into a map
+ @if meta.type-of($values)=='string' or meta.type-of(list.nth($values, 1)) !='list' {
+ $values: list.zip($values, $values);
+ }
+
+ $properties: map.get($utility, property);
+ $property-class-prefix: map.get($utility, class);
+
+ // Utility class maybe empty, (e.g. with position class)
+ $property-class-prefix-hyphen: if($property-class-prefix =='',
+ $property-class-prefix,
+ $property-class-prefix + '-'
+ );
+
+ @each $class-modifier,
+ $value in $values {
+ [dir='rtl'] .#{$property-class-prefix-hyphen + $class-modifier} {
+ @each $property in $properties {
+ #{$property}: $value !important;
+ }
+ }
}
- }
}
+
+
diff --git a/package/src/assets/scss/helpers/_rounded.scss b/package/src/assets/scss/helpers/_rounded.scss
index aa359c0..966d8d6 100644
--- a/package/src/assets/scss/helpers/_rounded.scss
+++ b/package/src/assets/scss/helpers/_rounded.scss
@@ -6,4 +6,44 @@ $utilities: (
class: rounded,
values: variables.$radius
),
+ 'border-top-left-radius': (
+ property: border-top-left-radius,
+ class: r-t-l,
+ values: variables.$radius
+ ),
+ 'border-top-right-radius': (
+ property: border-top-right-radius,
+ class: r-t-r,
+ values: variables.$radius
+ ),
+ 'border-bottom-right-radius': (
+ property: border-bottom-right-radius,
+ class: r-b-r,
+ values: variables.$radius
+ ),
+ 'border-bottom-left-radius': (
+ property: border-bottom-left-radius,
+ class: r-b-l,
+ values: variables.$radius
+ ),
+ 'border-top-radius': (
+ property: border-top-left-radius border-top-right-radius,
+ class: r-t,
+ values: variables.$radius
+ ),
+ 'border-bottom-radius': (
+ property: border-bottom-left-radius border-bottom-right-radius,
+ class: r-b,
+ values: variables.$radius
+ ),
+ 'border-left-radius': (
+ property: border-top-left-radius border-bottom-left-radius,
+ class: r-l,
+ values: variables.$radius
+ ),
+ 'border-right-radius': (
+ property: border-top-right-radius border-bottom-right-radius,
+ class: r-r,
+ values: variables.$radius
+ )
);
diff --git a/package/src/assets/scss/helpers/_spacing.scss b/package/src/assets/scss/helpers/_spacing.scss
index 1359703..f5057e7 100644
--- a/package/src/assets/scss/helpers/_spacing.scss
+++ b/package/src/assets/scss/helpers/_spacing.scss
@@ -1,123 +1,145 @@
@use "sass:map";
-@use "variables";
+@use 'variables';
$utilities: (
- "margin": (
+ 'margin': (
property: margin,
class: m,
- values:
- map.merge(
- variables.$spacers,
- (
- auto: auto,
- )
- ),
- ),
- "margin-x": (
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+ 'margin-x': (
property: margin-left margin-right,
class: m-x,
- values:
- map.merge(
- variables.$spacers,
- (
- auto: auto,
- )
- ),
- ),
- "margin-y": (
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+ 'margin-y': (
property: margin-top margin-bottom,
class: m-y,
- values:
- map.merge(
- variables.$spacers,
- (
- auto: auto,
- )
- ),
- ),
- "margin-top": (
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+ 'margin-top': (
property: margin-top,
class: m-t,
- values:
- map.merge(
- variables.$spacers,
- (
- auto: auto,
- )
- ),
- ),
- "margin-bottom": (
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+
+ 'margin-bottom': (
property: margin-bottom,
class: m-b,
- values:
- map.merge(
- variables.$spacers,
- (
- auto: auto,
- )
- ),
- ),
- "margin-right": (
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+
+ 'negative-margin': (
+ property: margin,
+ class: m,
+ values: variables.$negative-spacers
+ ),
+ 'negative-margin-x': (
+ property: margin-left margin-right,
+ class: m-x,
+ values: variables.$negative-spacers
+ ),
+ 'negative-margin-y': (
+ property: margin-top margin-bottom,
+ class: m-y,
+ values: variables.$negative-spacers
+ ),
+ 'negative-margin-top': (
+ property: margin-top,
+ class: m-t,
+ values: variables.$negative-spacers
+ ),
+ 'negative-margin-right': (
property: margin-right,
class: m-r,
- values:
- map.merge(
- variables.$spacers,
- (
- auto: auto,
- )
- ),
- ),
- "margin-left": (
+ values: variables.$negative-spacers
+ ),
+ 'negative-margin-bottom': (
+ property: margin-bottom,
+ class: m-b,
+ values: variables.$negative-spacers
+ ),
+ 'negative-margin-left': (
property: margin-left,
class: m-l,
- values:
- map.merge(
- variables.$spacers,
- (
- auto: auto,
- )
- ),
- ),
- "padding-left": (
- property: padding-left,
- class: p-l,
- values: variables.$spacers,
- ),
- "padding-right": (
- property: padding-right,
- class: p-r,
- values: variables.$spacers,
+ values: variables.$negative-spacers
),
- "padding": (
+ 'padding': (
property: padding,
class: p,
- values: variables.$spacers,
+ values: variables.$spacers
),
- "padding-x": (
+ 'padding-x': (
property: padding-left padding-right,
class: p-x,
- values: variables.$spacers,
+ values: variables.$spacers
),
- "padding-y": (
+ 'padding-y': (
property: padding-top padding-bottom,
class: p-y,
- values: variables.$spacers,
+ values: variables.$spacers
),
- "padding-top": (
+ 'padding-top': (
property: padding-top,
class: p-t,
- values: variables.$spacers,
+ values: variables.$spacers
),
- "padding-bottom": (
+
+ 'padding-bottom': (
property: padding-bottom,
class: p-b,
- values: variables.$spacers,
+ values: variables.$spacers
),
- "gap": (
+ 'gap': (
property: gap,
class: gap,
- values: variables.$spacers,
+ values: variables.$spacers
),
+
);
+$ltr:(
+ 'margin-right': (
+ property: margin-right,
+ class: m-r,
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+ 'margin-left': (
+ property: margin-left,
+ class: m-l,
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+ 'padding-left': (
+ property: padding-left,
+ class: p-l,
+ values: variables.$spacers
+ ),
+ 'padding-right': (
+ property: padding-right,
+ class: p-r,
+ values: variables.$spacers
+ ),
+);
+
+$rtl:(
+ 'margin-right': (
+ property: margin-left,
+ class: m-r,
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+ 'margin-left': (
+ property: margin-right,
+ class: m-l,
+ values: map.merge(variables.$spacers, (auto: auto))
+ ),
+ 'padding-left': (
+ property: padding-right,
+ class: p-l,
+ values: variables.$spacers
+ ),
+ 'padding-right': (
+ property: padding-left,
+ class: p-r,
+ values: variables.$spacers
+ ),
+)
diff --git a/package/src/assets/scss/helpers/_text.scss b/package/src/assets/scss/helpers/_text.scss
index c0dcf77..bc4a925 100644
--- a/package/src/assets/scss/helpers/_text.scss
+++ b/package/src/assets/scss/helpers/_text.scss
@@ -12,16 +12,44 @@ $utilities: (
class: f-w,
values: variables.$font-wieghts
),
+ 'font-style': (
+ property: font-style,
+ class: font,
+ values: italic normal
+ ),
'text-align': (
property: text-align,
class: text,
values: center right left
),
+ 'text-decoration': (
+ property: text-decoration,
+ class: text,
+ values: none underline line-through
+ ),
'text-transform': (
property: text-transform,
class: text,
values: capitalize uppercase lowercase
),
+ 'white-space': (
+ property: white-space,
+ class: text,
+ values: (
+ wrap: normal,
+ nowrap: nowrap
+ )
+ ),
+ 'word-wrap': (
+ property: word-wrap word-break,
+ class: text,
+ values: (break: break-word)
+ ),
+ 'text-overflow': (
+ property: text-overflow,
+ class: text,
+ values: ellipsis
+ ),
'text-color': (
property: color,
class: text,
diff --git a/package/src/assets/scss/helpers/_variables.scss b/package/src/assets/scss/helpers/_variables.scss
index fd3061c..bc60bcc 100644
--- a/package/src/assets/scss/helpers/_variables.scss
+++ b/package/src/assets/scss/helpers/_variables.scss
@@ -21,8 +21,11 @@ $spacers: (
24: $spacer * 1.5,
30: 30px,
32: $spacer * 2,
+ 35: 35px,
+ 40: 40px,
48: $spacer * 3,
) !default;
+$negative-spacers: negativify-map($spacers) !default;
// Border
@@ -70,6 +73,7 @@ $font-sizes: (
16: 16px,
18: 18px,
20: 20px,
+ 21: 21px,
24: 24px,
30: 30px,
) !default;
diff --git a/package/src/assets/scss/layouts/_header.scss b/package/src/assets/scss/layouts/_header.scss
index 8d14384..582dacd 100644
--- a/package/src/assets/scss/layouts/_header.scss
+++ b/package/src/assets/scss/layouts/_header.scss
@@ -9,14 +9,103 @@ html .topbar {
}
.topbar-dd {
- min-width: 200px !important;
+ min-width: 360px !important;
+}
+
+.apps-dd {
+ min-width: 830px !important;
+ overflow: unset !important;
+
+ .mat-mdc-menu-content {
+ padding: 0;
+ }
+}
+
+.search-dd {
+ min-width: 385px !important;
+ border-radius: $border-radius !important;
+}
+
+.upgrade-bg {
+ position: absolute;
+ top: 0px;
+ right: 0px;
+ height: 100%;
}
.object-cover {
object-fit: cover;
}
+@media (min-width: 768px) {
+ .search-dialog {
+ width: 600px;
+ }
+}
-.mat-mdc-menu-panel.mat-mdc-menu-panel {
- box-shadow: $box-shadow !important;
-}
\ No newline at end of file
+// perfect scroll
+.ps__rail-y {
+ right: 0;
+ left: unset !important;
+}
+
+.pulse {
+ position: relative;
+ top: -15px;
+ right: -8px;
+ .heartbit {
+ position: absolute;
+ top: -17px;
+ right: -2px;
+ height: 18px;
+ width: 18px;
+ z-index: 10;
+ border: 3px solid $success;
+ border-radius: 70px;
+ -moz-animation: heartbit 1s ease-out;
+ -moz-animation-iteration-count: infinite;
+ -o-animation: heartbit 1s ease-out;
+ -o-animation-iteration-count: infinite;
+ -webkit-animation: heartbit 1s ease-out;
+ -webkit-animation-iteration-count: infinite;
+ animation-iteration-count: infinite;
+ }
+ .point {
+ width: 4px;
+ height: 4px;
+ -webkit-border-radius: 30px;
+ -moz-border-radius: 30px;
+ border-radius: 30px;
+ background-color: $success;
+ position: absolute;
+ right: 5px;
+ top: -10px;
+ }
+}
+
+@keyframes heartbit {
+ 0% {
+ -webkit-transform: scale(0);
+ opacity: 0;
+ }
+ 25% {
+ -webkit-transform: scale(0.1);
+ opacity: 0.1;
+ }
+ 50% {
+ -webkit-transform: scale(0.5);
+ opacity: 0.3;
+ }
+ 75% {
+ -webkit-transform: scale(0.8);
+ opacity: 0.5;
+ }
+ 100% {
+ -webkit-transform: scale(1);
+ opacity: 0;
+ }
+}
+
+.disabled-hover {
+ padding-left: 15px !important;
+}
diff --git a/package/src/assets/scss/layouts/_layouts.scss b/package/src/assets/scss/layouts/_layouts.scss
index c5c0072..571cf3e 100644
--- a/package/src/assets/scss/layouts/_layouts.scss
+++ b/package/src/assets/scss/layouts/_layouts.scss
@@ -1,4 +1,2 @@
@import "sidebar";
-@import "header";
-
-
+@import "header";
\ No newline at end of file
diff --git a/package/src/assets/scss/layouts/_sidebar.scss b/package/src/assets/scss/layouts/_sidebar.scss
index 748ea74..23a26bf 100644
--- a/package/src/assets/scss/layouts/_sidebar.scss
+++ b/package/src/assets/scss/layouts/_sidebar.scss
@@ -1,18 +1,22 @@
-.sidebarNav {
- width: $sidenav-desktop !important;
+.mat-drawer.sidebarNav {
+ width: $sidenav-desktop;
flex-shrink: 0;
transition: swift-ease-out(width);
position: absolute;
overflow-x: hidden;
top: 0 !important;
left: 0;
- border-right: 0 !important;
+ border: 0 !important;
height: 100%;
- box-shadow: $box-shadow;
+ box-shadow: $box-shadow !important;
+
+ .ng-scroll-content {
+ display: block;
+ }
}
@media (min-width: 1099px) {
- .sidebarNav {
+ .mat-drawer.sidebarNav {
top: $layout-padding !important;
left: $layout-padding;
height: calc(100% - #{$layout-padding * 2});
@@ -20,120 +24,338 @@
}
}
+.branding {
+ padding: 20px;
+}
+
@media (min-width: 1024px) {
.contentWrapper {
margin-left: calc(#{$sidenav-desktop} + #{$layout-padding}) !important;
}
+
.sidebarNav-mini {
.contentWrapper {
margin-left: calc(#{$sidenav-mini} + #{$layout-padding}) !important;
}
}
+
+ .sidebarNav-mini {
+ .sidebarNav {
+ width: $sidenav-mini;
+
+ .profile-bar {
+ display: none;
+ }
+
+ .sidebar-list {
+ &.mdc-list {
+ .mdc-list-group__subheader {
+ padding: 0 !important;
+ }
+ }
+
+ .menu-list-item {
+ padding: 8px 17px;
+
+ .mdc-list-item__content {
+ display: none;
+ }
+
+ .mdc-list-item__start {
+ margin-left: 10px !important;
+ margin-right: 8px !important;
+ }
+ }
+ }
+
+ &:hover {
+ width: $sidenav-desktop;
+
+ .profile-bar {
+ display: block;
+ }
+
+ .branding {
+ width: 100%;
+ }
+
+ .sidebar-list {
+ &.mdc-list {
+ .mdc-list-group__subheader {
+ padding: 3px 16px !important;
+ }
+ }
+
+ .menu-list-item {
+ padding: 8px 26px;
+
+ .mdc-list-item__content {
+ display: inline;
+ }
+
+ .mdc-list-item__start {
+ margin-left: 0 !important;
+ }
+ }
+
+ &.mdc-list {
+
+ .mdc-list-group__subheader {
+ text-align: left;
+ }
+ }
+ }
+ }
+ }
+
+ .hideMenu {
+ overflow: hidden;
+ width: $sidenav-mini;
+ }
+
+ .branding {
+ width: $sidenav-mini - 15px;
+ overflow: hidden;
+ padding: 16px;
+ }
+
+ .sidebar-list {
+ &.mdc-list {
+ .menu-list-item {
+ margin: 5px 0;
+ margin-bottom: 2px;
+ }
+
+ .mdc-list-group__subheader {
+ text-align: center;
+ }
+ }
+ }
+
+ .contentWrapper {
+ transition: swift-ease-out(width);
+ }
+ }
}
-.branding {
- padding: 20px;
+.customizerBtn {
+ position: fixed;
+ right: 30px;
+ bottom: 30px;
+ z-index: 9;
}
-.sidebar-list {
- &.mdc-list {
- margin-top: -24px;
-
- .mdc-list-group__subheader {
- margin-top: 24px;
- margin-bottom: 8px;
- text-transform: uppercase;
- font-size: 0.75rem;
- opacity: 0.5;
- font-weight: 700;
- margin-top: 24px;
- color: $textPrimary;
- padding: 3px 16px !important;
- }
+body {
+ .sidebar-list {
+ &.mdc-list {
+ margin-top: -24px;
- .menu-list-item {
- border-radius: 0;
- height: 50px;
- padding: 8px 26px;
- margin: 5px 0;
- margin-bottom: 2px;
- .hide-menu {
- font-size: 15px;
+ .mdc-list-group__subheader {
+ margin-top: 24px;
+ margin-bottom: 8px;
+ text-transform: uppercase;
+ font-size: 0.75rem;
+ opacity: 0.5;
+ font-weight: 700;
+ margin-top: 24px;
+ color: $textPrimary;
+ padding: 3px 16px !important;
}
- &.primary {
- &.activeMenu,
- &.expanded,
- &:hover {
- .mdc-list-item__primary-text,
+
+ .menu-list-item {
+ border-radius: 0;
+ height: 50px;
+ padding: 8px 26px;
+ margin: 5px 0;
+ margin-bottom: 2px;
+
+ .hide-menu {
+ font-size: 15px;
+ }
+
+ &.tranparent {
+
+ &:hover:before,
+ &:before {
+ content: "";
+ width: 0;
+ background-color: transparent;
+ }
+
.mat-mdc-list-item-icon {
- color: $primary !important;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+
+ svg {
+ width: 13px !important;
+ height: 13px !important;
+ fill: $textPrimary;
+ }
+ }
+
+ &.activeMenu,
+ &:hover {
+ .mdc-list-item__primary-text {
+ font-weight: 600;
+ }
}
}
- &:before {
- background-color: $light-primary;
+
+ &.warning {
+
+ &.activeMenu,
+ &.expanded,
+ &:hover {
+
+ .mdc-list-item__primary-text,
+ .mat-mdc-list-item-icon {
+ color: $warning !important;
+ }
+ }
+
+ &:before {
+ background-color: $light-warning;
+ }
}
- }
- &:before {
- content: "";
- display: block;
- position: absolute;
- top: 0;
- bottom: 0;
- left: -16px;
- right: unset;
- width: 0;
- height: 100%;
- opacity: 1;
- z-index: -1;
- border-radius: 0 24px 24px 0;
- transition: all 0.4s ease-in-out;
- }
- &.expanded:before,
- &.activeMenu:before {
- content: "";
- width: 100%;
- }
+ &.error {
- &.activeMenu {
- &:before {
- width: 100%;
+ &.activeMenu,
+ &.expanded,
+ &:hover {
+
+ .mdc-list-item__primary-text,
+ .mat-mdc-list-item-icon {
+ color: $error !important;
+ }
+ }
+
+ &:before {
+ background-color: $light-error;
+ }
}
- background-color: transparent !important;
- }
-
- &:hover {
+
+ &.success {
+
+ &.activeMenu,
+ &.expanded,
+ &:hover {
+
+ .mdc-list-item__primary-text,
+ .mat-mdc-list-item-icon {
+ color: $success !important;
+ }
+ }
+
+ &:before {
+ background-color: $light-success;
+ }
+ }
+
&:before {
+ content: "";
+ display: block;
+ position: absolute;
+ top: 0;
+ bottom: 0;
+ left: -16px;
+ right: unset;
+ width: 0;
+ height: 100%;
+ opacity: 1;
+ z-index: -1;
+ border-radius: 0 24px 24px 0;
+ transition: all 0.4s ease-in-out;
+ }
+
+ &:hover {
+ &:before {
+ content: "";
+ width: 100%;
+ }
+
+ .mdc-list-item__primary-text {
+ color: $textPrimary !important;
+ }
+
+ .mat-mdc-list-item-icon {
+ color: $textPrimary !important;
+ }
+ }
+
+ &.twoline {
+ height: 60px;
+ align-items: center;
+ }
+
+ &:before,
+ &:focus {
+ z-index: -1;
+ }
+
+ &.disabled {
+ opacity: 0.38;
+ }
+
+ .item-chip {
+ height: 24px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ font-size: 12px;
+ }
+
+ &.expanded:before,
+ &.activeMenu:before {
content: "";
width: 100%;
- // background-color: transparent !important;
}
- .mdc-list-item__primary-text {
- color: $textPrimary !important;
+
+ &.activeMenu {
+ &:before {
+ width: 100%;
+ }
+
+ background-color: transparent !important;
+ color: unset !important;
+
+ .mdc-list-item__primary-text {
+ color: $textPrimary !important;
+ }
+
+ .mat-mdc-list-item-icon {
+ color: $textPrimary !important;
+ }
}
- .mat-mdc-list-item-icon {
- color: $textPrimary !important;
+ .mdc-list-item__start {
+ margin-right: 14px;
+ margin-left: 0 !important;
+ width: 20px;
+ height: 20px;
+ fill: transparent !important;
+ color: $textPrimary;
}
- }
- &:before,
- &:focus {
- z-index: -1;
- }
- .mdc-list-item__start {
- margin-right: 14px;
- margin-left: 0 !important;
- width: 20px;
- height: 20px;
- fill: transparent !important;
- color: $textPrimary;
- }
+ .mdc-list-item__primary-text {
+ display: flex;
+ align-items: center;
+ justify-content: space-between;
- .mdc-list-item__primary-text {
- display: flex;
- align-items: center;
- justify-content: space-between;
+ .arrow-icon {
+ display: flex;
+
+ .mat-icon {
+ font-size: 18px;
+ width: 18px;
+ height: 18px;
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ }
+ }
+ }
}
}
}
@@ -143,8 +365,4 @@
display: flex;
flex-direction: column;
height: 100%;
-}
-
-.side-img {
- margin-top: -60px;
-}
+}
\ No newline at end of file
diff --git a/package/src/assets/scss/layouts/_transitions.scss b/package/src/assets/scss/layouts/_transitions.scss
deleted file mode 100644
index 1d96e7d..0000000
--- a/package/src/assets/scss/layouts/_transitions.scss
+++ /dev/null
@@ -1,16 +0,0 @@
-$swift-ease-out-duration: 400ms;
-$swift-ease-out-timing-function: cubic-bezier(.25, .8, .25, 1);
-
-@function swift-ease-out($property) {
- // The Material default animation curves.
- $transition: $property $swift-ease-out-duration $swift-ease-out-timing-function;
-
- @return $transition;
-}
-
-@function fast-out-slow($property) {
- // The Material default animation curves.
- $transition: $property 225ms cubic-bezier(.4, 0, .2, 1);
-
- @return $transition;
-}
\ No newline at end of file
diff --git a/package/src/assets/scss/overrides/_buttons.scss b/package/src/assets/scss/overrides/_buttons.scss
index ecee755..7034b3d 100644
--- a/package/src/assets/scss/overrides/_buttons.scss
+++ b/package/src/assets/scss/overrides/_buttons.scss
@@ -10,8 +10,10 @@
color: white;
}
-.mdc-button {
- border-radius: $border-radius;
+.mdc-button,
+.mat-mdc-unelevated-button,
+.mat-button-toggle .mat-button-toggle-ripple {
+ border-radius: $border-radius !important;
}
.mat-mdc-raised-button {
diff --git a/package/src/assets/scss/overrides/_card.scss b/package/src/assets/scss/overrides/_card.scss
index dd2b28b..22483fa 100644
--- a/package/src/assets/scss/overrides/_card.scss
+++ b/package/src/assets/scss/overrides/_card.scss
@@ -4,11 +4,11 @@
border-radius: $border-radius;
}
.mat-mdc-card-header {
- padding: 24px 24px 0;
+ padding: 30px 30px 0;
}
.mat-mdc-card-content {
- padding: 0 24px;
+ padding: 30px;
}
.mat-mdc-card {
@@ -16,7 +16,7 @@
}
.cardWithShadow {
- box-shadow: $cardshadow !important;
+ box-shadow: $cardshadow;
}
.mat-mdc-card-title {
@@ -24,20 +24,47 @@
}
.mdc-card__actions {
- padding: 24px;
+ padding: 30px;
}
.theme-card.mat-mdc-card {
.mat-mdc-card-header {
- padding: 16px 24px;
+ padding: 16px 30px;
}
.mat-mdc-card-content {
- padding: 24px;
+ padding: 30px;
}
}
+.card-hover {
+ transition: box-shadow 300ms cubic-bezier(0.4, 0, 0.2, 1) 0ms;
+ &:hover {
+ scale: 1.01;
+ transition: all 0.1s ease-in 0s;
+ }
+}
+
+.mat-mdc-menu-panel{
+ border-radius: $border-radius;
+}
+
// chip
-.mat-mdc-chip {
- height: 24px;
+html .mat-mdc-chip {
+ height: 30px;
font-size: 14px;
+ background-color: $light;
+}
+
+.cardBorder {
+ .mdc-card {
+ box-shadow: none !important;
+ border: 1px solid $borderColor !important;
+ &.shadow-none {
+ border: 0 !important;
+ }
+ }
+}
+
+.h-100vh {
+ height: 100vh;
}
diff --git a/package/src/assets/scss/overrides/_checkbox.scss b/package/src/assets/scss/overrides/_checkbox.scss
index a6928fc..2a0381f 100644
--- a/package/src/assets/scss/overrides/_checkbox.scss
+++ b/package/src/assets/scss/overrides/_checkbox.scss
@@ -1,36 +1,35 @@
.mdc-checkbox__background {
- border: 1px solid $borderformColor !important;
- width: 19px;
- height: 19px;
- border-radius: 3px;
+ border: 1px solid #dbdfe3 !important;
+ width: 19px;
+ height: 19px;
+ border-radius: 3px;
+}
+
+.mat-mdc-checkbox
+ .mdc-checkbox
+ .mdc-checkbox__native-control:enabled
+ ~ .mdc-checkbox__background
+ .mdc-checkbox__checkmark {
+ color: $white !important;
+ display: flex;
+ align-items: center;
+ margin: 0 auto;
+ width: 15px !important;
+ height: 15px !important;
+ top: unset;
+ bottom: unset;
+}
+
+.mat-mdc-checkbox
+ .mdc-checkbox
+ .mdc-checkbox__native-control:enabled
+ ~ .mdc-checkbox__background
+ .mdc-checkbox__mixedmark {
+ border-color: $white !important;
+}
+
+.mat-mdc-checkbox-checked {
+ .mdc-checkbox__background {
+ border: 0 !important;
}
-
- .mat-mdc-checkbox
- .mdc-checkbox
- .mdc-checkbox__native-control:enabled
- ~ .mdc-checkbox__background
- .mdc-checkbox__checkmark {
- color: $white !important;
- display: flex;
- align-items: center;
- margin: 0 auto;
- width: 15px !important;
- height: 15px !important;
- top: unset;
- bottom: unset;
- }
-
- .mat-mdc-checkbox
- .mdc-checkbox
- .mdc-checkbox__native-control:enabled
- ~ .mdc-checkbox__background
- .mdc-checkbox__mixedmark {
- border-color: $white !important;
- }
-
- .mat-mdc-checkbox-checked {
- .mdc-checkbox__background {
- border: 0 !important;
- }
- }
-
\ No newline at end of file
+}
diff --git a/package/src/assets/scss/overrides/_dropdown.scss b/package/src/assets/scss/overrides/_dropdown.scss
new file mode 100644
index 0000000..38299d6
--- /dev/null
+++ b/package/src/assets/scss/overrides/_dropdown.scss
@@ -0,0 +1,6 @@
+body {
+ .mdc-menu-surface {
+ box-shadow: $box-shadow !important;
+ border-radius: $border-radius;
+ }
+}
diff --git a/package/src/assets/scss/overrides/_form.scss b/package/src/assets/scss/overrides/_form.scss
index a3d92ac..bc9fd51 100644
--- a/package/src/assets/scss/overrides/_form.scss
+++ b/package/src/assets/scss/overrides/_form.scss
@@ -23,16 +23,6 @@
font-size: 14px;
}
-// set fix height to input
-
-// .mat-mdc-form-field {
-// height: 44px;
-// .mat-mdc-form-field-flex {
-// height: 44px;
-// align-items: center;
-// }
-// }
-
.hide-hint {
.mat-mdc-form-field-subscript-wrapper {
display: none;
diff --git a/package/src/assets/scss/overrides/_materialoverrides.scss b/package/src/assets/scss/overrides/_materialoverrides.scss
index 5d22247..15f06bd 100644
--- a/package/src/assets/scss/overrides/_materialoverrides.scss
+++ b/package/src/assets/scss/overrides/_materialoverrides.scss
@@ -1,15 +1,28 @@
-html {
- @import "./buttons";
+.light-theme .blue_theme,
+.light-theme .purple_theme,
+.light-theme .orange_theme,
+.light-theme .green_theme,
+.light-theme .aqua_theme,
+.light-theme .cyan_theme,
+.dark-theme {
@import "./drawer";
+ @import "./checkbox";
+ @import "./radio";
+
+ .topbar {
+ background-color: $toolbar;
+ }
+}
+
+.light-theme,
+.dark-theme {
+ @import "./buttons";
@import "./form";
@import "./card";
@import "./typography";
- @import "./borderColor";
- @import "./table";
- @import "./list";
- @import "./checkbox";
+ @import "./dropdown";
}
-.topbar {
- background-color: $toolbar;
-}
+@import "./borderColor";
+@import "./table";
+@import "./list";
diff --git a/package/src/assets/scss/overrides/_radio.scss b/package/src/assets/scss/overrides/_radio.scss
new file mode 100644
index 0000000..1730999
--- /dev/null
+++ b/package/src/assets/scss/overrides/_radio.scss
@@ -0,0 +1,27 @@
+.mdc-radio__outer-circle {
+ border-width: 1px;
+}
+
+.mat-mdc-radio-button
+ .mdc-radio
+ .mdc-radio__native-control:enabled:not(:checked)
+ + .mdc-radio__background
+ .mdc-radio__outer-circle {
+ border-color: $borderColor;
+}
+
+.mat-mdc-radio-button
+ .mdc-radio
+ .mdc-radio__native-control:enabled:checked
+ + .mdc-radio__background
+ .mdc-radio__outer-circle {
+ border-width: 10px;
+}
+
+.mat-mdc-radio-button
+ .mdc-radio
+ .mdc-radio__native-control:enabled
+ + .mdc-radio__background
+ .mdc-radio__inner-circle {
+ border-color: $white;
+}
diff --git a/package/src/assets/scss/overrides/_typography.scss b/package/src/assets/scss/overrides/_typography.scss
index ecef717..2814e6f 100644
--- a/package/src/assets/scss/overrides/_typography.scss
+++ b/package/src/assets/scss/overrides/_typography.scss
@@ -9,50 +9,32 @@
color: $textPrimary;
}
-// Use the default configuration.
-$theme-typography: mat.define-typography-config(
- $font-family: "Plus Jakarta Sans",
- $subtitle-2: mat.define-typography-level(14px, 14px, 400),
- $subtitle-1: mat.define-typography-level(21px, 26px, 500),
- $headline-6: mat.define-typography-level(18px, 26px, 600),
- $headline-5: mat.define-typography-level(24px, 30px, 700),
- $button: mat.define-typography-level(14px, 14px, 400),
- $body-1: mat.define-typography-level(14px, 20px, 400),
- $body-2: mat.define-typography-level(16px, 22px, 400),
-);
-
.mat-headline-5 {
- @include mat.typography-level($theme-typography, "headline-5");
margin: 0;
color: $textPrimary;
}
.mat-headline-6 {
- @include mat.typography-level($theme-typography, "headline-6");
margin: 0;
color: $textPrimary;
}
.mat-subtitle-2 {
- @include mat.typography-level($theme-typography, "subtitle-2");
margin: 0;
color: $textPrimary;
}
.mat-subtitle-1 {
- @include mat.typography-level($theme-typography, "subtitle-1");
margin: 0;
color: $textPrimary;
}
.mat-body-1 {
- @include mat.typography-level($theme-typography, "body-1");
margin: 0;
color: $textPrimary;
}
.mat-body-2 {
- @include mat.typography-level($theme-typography, "body-2");
margin: 0;
color: $textPrimary;
}
diff --git a/package/src/assets/scss/pages/_auth.scss b/package/src/assets/scss/pages/_auth.scss
index 03f4b02..aa65cff 100644
--- a/package/src/assets/scss/pages/_auth.scss
+++ b/package/src/assets/scss/pages/_auth.scss
@@ -1,8 +1,9 @@
.blank-layout-container {
- height: 100vh;
+ min-height: 100vh;
display: flex;
background-size: cover;
align-items: center;
+ overflow: hidden;
}
.auth-title {
@@ -10,6 +11,24 @@
line-height: 44px;
}
+.bg-gredient {
+ &::before {
+ content: "";
+ position: absolute;
+ height: 100%;
+ width: 100%;
+ opacity: 0.3;
+ background: radial-gradient(
+ rgb(210, 241, 223),
+ rgb(211, 215, 250),
+ rgb(186, 216, 244)
+ )
+ 0% 0% / 400% 400%;
+ animation: 15s ease 0s infinite normal none running gradient;
+ z-index: -1;
+ }
+}
+
@keyframes gradient {
0% {
background-position: 0% 50%;
@@ -70,3 +89,78 @@
.max-width-form {
max-width: 450px;
}
+
+.mat-mdc-form-field.mat-form-field-invalid {
+ .mdc-notched-outline__leading,
+ .mdc-notched-outline__notch,
+ .mdc-notched-outline__trailing {
+ border-color: $error !important;
+ }
+}
+
+.error-msg {
+ position: absolute;
+ top: -19px;
+ right: 3px;
+}
+
+.auth-wrapper {
+ max-width: 1600px;
+ margin: 10px auto;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+}
+
+.shaper-wrapper {
+ &:before {
+ content: "";
+ position: absolute;
+ left: -125px;
+ bottom: -50px;
+ width: 300px;
+ height: 300px;
+ border-radius: 100%;
+ background-color: $error;
+ }
+ &:after {
+ content: "";
+ position: absolute;
+ top: -65px;
+ right: -60px;
+ width: 304px;
+ height: 315px;
+ background: url("../../images/backgrounds/shap-login.png");
+ }
+}
+
+.auth-card {
+ margin: 50px auto;
+ max-width: 1130px;
+ width: 100%;
+ position: relative;
+ border-radius: 18px;
+ z-index: 1;
+ box-shadow: rgba(37, 83, 185, 0.1) 0px 2px 30px 15px;
+ background-color: $white;
+}
+
+.auth-body {
+ padding: 16px 64px 32px;
+}
+
+@media (max-width: 1099px) {
+ .auth-body {
+ padding: 16px 16px 32px;
+ }
+ .shaper-wrapper {
+ padding: 0 15px;
+ width: 100%;
+ }
+}
+
+@media (min-width: 1200px) {
+ .auth-card {
+ min-width: 1130px;
+ }
+}
diff --git a/package/src/assets/scss/pages/_dashboards.scss b/package/src/assets/scss/pages/_dashboards.scss
index bb8e57f..fbd95be 100644
--- a/package/src/assets/scss/pages/_dashboards.scss
+++ b/package/src/assets/scss/pages/_dashboards.scss
@@ -1,95 +1,109 @@
.timeline {
- position: relative;
- .timeline-item {
position: relative;
- height: 70px;
- .time {
- padding: 6px 16px 6px 0;
- min-width: 90px;
- flex-shrink: 0;
- }
- .desc {
- padding: 6px 16px;
- }
- .timline-border {
- width: 1px;
- height: 100%;
- background-color: $borderColor;
- flex-shrink: 0;
- }
- &:last-child {
- height: 25px;
- }
- .point {
- flex-direction: column;
- .timeline-badge {
- width: 12px;
- height: 12px;
- border-radius: 50px;
- background-color: transparent;
- flex-shrink: 0;
- &.border-primary {
- border: 2px solid $primary !important;
+ .timeline-item {
+ position: relative;
+ height: 70px;
+
+ .time {
+ padding: 6px 16px 6px 0;
+ min-width: 90px;
+ flex-shrink: 0;
+ }
+
+ .desc {
+ padding: 6px 16px;
}
- &.border-accent {
- border: 2px solid $accent !important;
+
+ .timline-border {
+ width: 1px;
+ height: 100%;
+ background-color: $borderColor;
+ flex-shrink: 0;
}
- &.border-success {
- border: 2px solid $success;
+
+ &:last-child {
+ height: 25px;
}
- &.border-warning {
- border: 2px solid $warning;
+
+ .point {
+ flex-direction: column;
+
+ .timeline-badge {
+ width: 12px;
+ height: 12px;
+ border-radius: 50px;
+ background-color: transparent;
+ flex-shrink: 0;
+
+ &.border-primary {
+ border: 2px solid $primary !important;
+ }
+
+ &.border-accent {
+ border: 2px solid $accent !important;
+ }
+
+ &.border-success {
+ border: 2px solid $success;
+ }
+
+ &.border-warning {
+ border: 2px solid $warning;
+ }
+
+ &.border-error {
+ border: 2px solid $error;
+ }
+ }
+
+ .timeline-border {
+ width: 1px;
+ height: 100%;
+ background-color: $borderColor;
+ flex-shrink: 0;
+ }
}
- &.border-error {
- border: 2px solid $error;
+
+ &:last-child {
+ .timeline-border {
+ display: none !important;
+ }
}
- }
-
- .timeline-border {
- width: 1px;
- height: 100%;
- background-color: $borderColor;
- flex-shrink: 0;
- }
}
- &:last-child {
- .timeline-border {
- display: none !important;
- }
- }
- }
}
.user-category {
- margin-top: -45px;
- z-index: 1;
- position: relative;
+ margin-top: -45px;
+ z-index: 1;
+ position: relative;
}
.card-overlay {
- position: absolute;
- top: 0;
- width: 100%;
- height: 242px;
+ position: absolute;
+ top: 0;
+ width: 100%;
+ height: 242px;
}
.text-decoration-line-through {
- text-decoration: line-through;
+ text-decoration: line-through;
}
.cart-btn {
- position: absolute !important;
- right: 16px;
- top: -21px;
+ position: absolute !important;
+ right: 16px;
+ top: -21px;
}
.table-borderless {
- .mdc-data-table__cell,
- .mdc-data-table__header-cell {
- border-bottom-color: transparent !important;
- &:first-child {
- padding-left: 0 !important;
+
+ .mdc-data-table__cell,
+ .mdc-data-table__header-cell {
+ border-bottom-color: transparent !important;
+
+ &:first-child {
+ padding-left: 0 !important;
+ }
}
- }
-}
+}
\ No newline at end of file
diff --git a/package/src/assets/scss/style.scss b/package/src/assets/scss/style.scss
index 3a6d9b2..ebafbed 100644
--- a/package/src/assets/scss/style.scss
+++ b/package/src/assets/scss/style.scss
@@ -1,8 +1,8 @@
@use "@angular/material" as mat;
@include mat.core();
+@import "themecolors/default_theme";
@import "variables";
-@import "layouts/transitions";
@import "helpers/color";
@import "helpers/icon-size";
@@ -19,8 +19,6 @@
@import "helpers/custom-flex";
@import "helpers/index";
-
// pages
-@import "pages/dashboards";
@import "pages/auth";
-
+@import "pages/dashboards";
\ No newline at end of file
diff --git a/package/src/assets/scss/themecolors/_default_theme.scss b/package/src/assets/scss/themecolors/_default_theme.scss
index a556a3f..9c4af91 100644
--- a/package/src/assets/scss/themecolors/_default_theme.scss
+++ b/package/src/assets/scss/themecolors/_default_theme.scss
@@ -11,7 +11,7 @@ $mat-primary: (
$mat-secondary: (
100: white,
500: #707a82,
- 700: #0085db,
+ 700: #707a82,
contrast: (
100: white,
500: white,
@@ -20,7 +20,7 @@ $mat-secondary: (
);
$mat-warn: (
- 100: FDEDE8,
+ 100: #FDEDE8,
500: #fa896b,
700: #f3704d,
contrast: (
@@ -30,11 +30,32 @@ $mat-warn: (
),
);
-$theme-primary: mat.define-palette($mat-primary, 500);
-$theme-accent: mat.define-palette($mat-secondary, 500);
-$theme-warn: mat.define-palette($mat-warn, 500);
+$theme-primary: mat.m2-define-palette($mat-primary, 500);
+$theme-accent: mat.m2-define-palette($mat-secondary, 500);
+$theme-warn: mat.m2-define-palette($mat-warn, 500);
+
+$bluetheme: mat.m2-define-light-theme(
+ (
+ color: (
+ primary: $theme-primary,
+ accent: $theme-accent,
+ warn: $theme-warn,
+ ),
+ typography:
+ mat.m2-define-typography-config(
+ $font-family: "Plus Jakarta Sans",
+ $subtitle-2: mat.m2-define-typography-level(14px, 14px, 400),
+ $subtitle-1: mat.m2-define-typography-level(21px, 26px, 500),
+ $headline-6: mat.m2-define-typography-level(18px, 26px, 600),
+ $headline-5: mat.m2-define-typography-level(24px, 30px, 700),
+ $button: mat.m2-define-typography-level(14px, 14px, 400),
+ $body-1: mat.m2-define-typography-level(14px, 20px, 400),
+ $body-2: mat.m2-define-typography-level(16px, 22px, 400),
+ ),
+ )
+);
-$bluetheme: mat.define-light-theme(
+$darkbluetheme: mat.m2-define-dark-theme(
(
color: (
primary: $theme-primary,
@@ -42,19 +63,113 @@ $bluetheme: mat.define-light-theme(
warn: $theme-warn,
),
typography:
- mat.define-typography-config(
+ mat.m2-define-typography-config(
$font-family: "Plus Jakarta Sans",
- $subtitle-2: mat.define-typography-level(14px, 14px, 400),
- $subtitle-1: mat.define-typography-level(21px, 26px, 500),
- $headline-6: mat.define-typography-level(18px, 26px, 600),
- $headline-5: mat.define-typography-level(24px, 30px, 700),
- $button: mat.define-typography-level(14px, 14px, 400),
- $body-1: mat.define-typography-level(14px, 20px, 400),
- $body-2: mat.define-typography-level(16px, 22px, 400),
+ $subtitle-2: mat.m2-define-typography-level(14px, 14px, 400),
+ $subtitle-1: mat.m2-define-typography-level(21px, 26px, 500),
+ $headline-6: mat.m2-define-typography-level(18px, 26px, 600),
+ $headline-5: mat.m2-define-typography-level(24px, 30px, 700),
+ $button: mat.m2-define-typography-level(14px, 14px, 400),
+ $body-1: mat.m2-define-typography-level(14px, 20px, 400),
+ $body-2: mat.m2-define-typography-level(16px, 22px, 400),
),
)
);
.bg-primary {
- background: mat.get-color-from-palette($theme-primary, 500) !important;
+ background: mat.m2-get-color-from-palette($theme-primary, 500) !important;
+}
+
+.horizontal-navbar .parentBox.pactive > a.primary:before,
+.horizontal-navbar .parentBox.pactive > a.primary:hover:before,
+.horizontal-navbar .parentBox > a.primary:hover:before,
+.horizontal-navbar .parentBox.pactive:hover > a.primary:before {
+ background-color: rgba(
+ mat.m2-get-color-from-palette($theme-primary, 500),
+ 0.1
+ ) !important;
+ width: 100% !important;
+}
+
+.horizontal-navbar .parentBox.pactive > a.primary,
+.horizontal-navbar .parentBox.pactive > a.primary:hover,
+.horizontal-navbar .parentBox > a.primary:hover,
+.horizontal-navbar .parentBox.pactive:hover > a.primary {
+ color: mat.m2-get-color-from-palette($theme-primary, 500) !important;
+}
+
+.horizontal-navbar .parentBox.pactive > a.accent:before,
+.horizontal-navbar .parentBox > a.accent:hover:before,
+.horizontal-navbar .parentBox.pactive > a.accent:hover:before,
+.horizontal-navbar .parentBox.pactive:hover > a.accent:before {
+ background-color: rgba(
+ mat.m2-get-color-from-palette($theme-accent, 500),
+ 0.1
+ ) !important;
+ width: 100% !important;
+}
+
+.horizontal-navbar .parentBox.pactive > a.accent,
+.horizontal-navbar .parentBox.pactive > a.accent:hover,
+.horizontal-navbar .parentBox.pactive:hover > a.accent {
+ color: mat.m2-get-color-from-palette($theme-accent, 500) !important;
+}
+
+// vertical sidebar
+.sidebar-list {
+ &.mdc-list {
+ .menu-list-item {
+ &.primary {
+ &.activeMenu,
+ &.expanded,
+ &:hover {
+ .mdc-list-item__primary-text {
+ color: mat.m2-get-color-from-palette($theme-primary, 500) !important;
+ }
+
+ .mat-mdc-list-item-icon {
+ color: mat.m2-get-color-from-palette($theme-primary, 500) !important;
+ }
+ }
+
+ &:before {
+ background-color: rgba(
+ mat.m2-get-color-from-palette($theme-primary, 500),
+ 0.1
+ );
+ }
+ }
+ &.accent {
+ &.activeMenu,
+ &.expanded,
+ &:hover {
+ .mdc-list-item__primary-text {
+ color: mat.m2-get-color-from-palette($theme-accent, 500) !important;
+ }
+
+ .mat-mdc-list-item-icon {
+ color: mat.m2-get-color-from-palette($theme-accent, 500) !important;
+ }
+ }
+ &:before {
+ background-color: rgba(
+ mat.m2-get-color-from-palette($theme-accent, 500),
+ 0.1
+ );
+ }
+ }
+ }
+ }
+}
+
+.mat-mdc-outlined-button {
+ &.mat-primary {
+ border-color: mat.m2-get-color-from-palette($theme-primary, 500) !important;
+ }
+ &.mat-accent {
+ border-color: mat.m2-get-color-from-palette($theme-accent, 500) !important;
+ }
+ &.mat-warn {
+ border-color: mat.m2-get-color-from-palette($theme-warn, 500) !important;
+ }
}
diff --git a/package/src/favicon.ico b/package/src/favicon.ico
index 997406a..5e370c9 100644
Binary files a/package/src/favicon.ico and b/package/src/favicon.ico differ
diff --git a/package/src/index.html b/package/src/index.html
index d51f0b1..5f5965b 100644
--- a/package/src/index.html
+++ b/package/src/index.html
@@ -1,18 +1,16 @@
-
+
-
-
- Spike Free Angular Admin Template by WrapPixel
-
-
-
-
-
-
-
+
+
+ Spike Angular Admin Template
+
+
+
+
+
+
+
+
+
+
diff --git a/package/src/main.ts b/package/src/main.ts
index c58dc05..514c89a 100644
--- a/package/src/main.ts
+++ b/package/src/main.ts
@@ -1,7 +1,7 @@
-import { platformBrowserDynamic } from '@angular/platform-browser-dynamic';
+import { bootstrapApplication } from '@angular/platform-browser';
+import { appConfig } from './app/app.config';
+import { AppComponent } from './app/app.component';
-import { AppModule } from './app/app.module';
-
-
-platformBrowserDynamic().bootstrapModule(AppModule)
- .catch(err => console.error(err));
+bootstrapApplication(AppComponent, appConfig).catch((err) =>
+ console.error(err)
+);
diff --git a/package/src/styles.scss b/package/src/styles.scss
index 90d4ee0..7e7239a 100644
--- a/package/src/styles.scss
+++ b/package/src/styles.scss
@@ -1 +1,4 @@
/* You can add global styles to this file, and also import other style files */
+
+html, body { height: 100%; }
+body { margin: 0; font-family: Roboto, "Helvetica Neue", sans-serif; }
diff --git a/package/tsconfig.json b/package/tsconfig.json
index ed966d4..bed3f4d 100644
--- a/package/tsconfig.json
+++ b/package/tsconfig.json
@@ -19,15 +19,13 @@
"target": "ES2022",
"module": "ES2022",
"useDefineForClassFields": false,
- "lib": [
- "ES2022",
- "dom"
- ]
+ "strictPropertyInitialization": false,
+ "lib": ["ES2022", "dom"]
},
"angularCompilerOptions": {
"enableI18nLegacyMessageIdFormat": false,
"strictInjectionParameters": true,
"strictInputAccessModifiers": true,
- "strictTemplates": true
+ "strictTemplates": true,
}
}