diff --git a/README.md b/README.md
index 5a9714a..d7c2e9e 100644
--- a/README.md
+++ b/README.md
@@ -1,27 +1,21 @@
# AngularBase
-This project was generated with [Angular CLI](https://github.com/angular/angular-cli) version 14.2.6.
-
-## Development server
-
-Run `ng serve` for a dev server. Navigate to `http://localhost:4200/`. The application will automatically reload if you change any of the source files.
-
-## Code scaffolding
-
-Run `ng generate component component-name` to generate a new component. You can also use `ng generate directive|pipe|service|class|guard|interface|enum|module`.
-
-## Build
-
-Run `ng build` to build the project. The build artifacts will be stored in the `dist/` directory.
-
-## Running unit tests
-
-Run `ng test` to execute the unit tests via [Karma](https://karma-runner.github.io).
-
-## Running end-to-end tests
-
-Run `ng e2e` to execute the end-to-end tests via a platform of your choice. To use this command, you need to first add a package that implements end-to-end testing capabilities.
-
-## Further help
-
-To get more help on the Angular CLI use `ng help` or go check out the [Angular CLI Overview and Command Reference](https://angular.io/cli) page.
+Basic project used for quickly cloning to test things out
+
+- "@angular/core": "^14.2.0"
+- "@angular/material": "^14.2.5"
+
+#### Prettier config
+
+```
+module.exports = {
+ arrowParens: "avoid",
+ bracketSpacing: true,
+ printWidth: 140,
+ semi: true,
+ singleQuote: true,
+ tabWidth: 2,
+ trailingComma: "none",
+ useTabs: false,
+};
+```
diff --git a/prettier.config.js b/prettier.config.js
new file mode 100644
index 0000000..051ce92
--- /dev/null
+++ b/prettier.config.js
@@ -0,0 +1,10 @@
+module.exports = {
+ arrowParens: "avoid",
+ bracketSpacing: true,
+ printWidth: 140,
+ semi: true,
+ singleQuote: true,
+ tabWidth: 2,
+ trailingComma: "none",
+ useTabs: false,
+};
diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts
index 0297262..d7ea4db 100644
--- a/src/app/app-routing.module.ts
+++ b/src/app/app-routing.module.ts
@@ -7,4 +7,4 @@ const routes: Routes = [];
imports: [RouterModule.forRoot(routes)],
exports: [RouterModule]
})
-export class AppRoutingModule { }
+export class AppRoutingModule {}
diff --git a/src/app/app.component.html b/src/app/app.component.html
index 2a0fbf1..0680b43 100644
--- a/src/app/app.component.html
+++ b/src/app/app.component.html
@@ -1,484 +1 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- Rocket Ship
-
-
-
-
-
-
-
-
-
-
{{ title }} app is running!
-
-
- Rocket Ship Smoke
-
-
-
-
-
-
-
Resources
-
Here are some links to help you get started:
-
-
-
-
-
Next Steps
-
What do you want to do next with your app?
-
-
-
-
-
-
- New Component
-
-
-
-
- Angular Material
-
-
-
-
- Add PWA Support
-
-
-
-
- Add Dependency
-
-
-
-
- Run and Watch Tests
-
-
-
-
- Build for Production
-
-
-
-
-
-
ng generate component xyz
-
ng add @angular/material
-
ng add @angular/pwa
-
ng add _____
-
ng test
-
ng build
-
-
-
-
-
-
-
-
-
- Gray Clouds Background
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/src/app/app.component.ts b/src/app/app.component.ts
index 0775689..07b5f6b 100644
--- a/src/app/app.component.ts
+++ b/src/app/app.component.ts
@@ -5,6 +5,4 @@ import { Component } from '@angular/core';
templateUrl: './app.component.html',
styleUrls: ['./app.component.scss']
})
-export class AppComponent {
- title = 'angular-base';
-}
+export class AppComponent {}
diff --git a/src/app/app.module.ts b/src/app/app.module.ts
index 5c20967..9d92d7c 100644
--- a/src/app/app.module.ts
+++ b/src/app/app.module.ts
@@ -1,20 +1,14 @@
import { NgModule } from '@angular/core';
import { BrowserModule } from '@angular/platform-browser';
-
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
import { AppRoutingModule } from './app-routing.module';
+
import { AppComponent } from './app.component';
-import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
@NgModule({
- declarations: [
- AppComponent
- ],
- imports: [
- BrowserModule,
- AppRoutingModule,
- BrowserAnimationsModule
- ],
+ declarations: [AppComponent],
+ imports: [BrowserModule, AppRoutingModule, BrowserAnimationsModule],
providers: [],
bootstrap: [AppComponent]
})
-export class AppModule { }
+export class AppModule {}
diff --git a/src/app/home/home.component.html b/src/app/home/home.component.html
new file mode 100644
index 0000000..5f2c53f
--- /dev/null
+++ b/src/app/home/home.component.html
@@ -0,0 +1 @@
+home works!
diff --git a/src/app/home/home.component.scss b/src/app/home/home.component.scss
new file mode 100644
index 0000000..e69de29
diff --git a/src/app/home/home.component.ts b/src/app/home/home.component.ts
new file mode 100644
index 0000000..73acf06
--- /dev/null
+++ b/src/app/home/home.component.ts
@@ -0,0 +1,15 @@
+import { Component, OnInit } from '@angular/core';
+
+@Component({
+ selector: 'app-home',
+ templateUrl: './home.component.html',
+ styleUrls: ['./home.component.scss']
+})
+export class HomeComponent implements OnInit {
+
+ constructor() { }
+
+ ngOnInit(): void {
+ }
+
+}
diff --git a/src/app/home/home.module.ts b/src/app/home/home.module.ts
new file mode 100644
index 0000000..3c21930
--- /dev/null
+++ b/src/app/home/home.module.ts
@@ -0,0 +1,15 @@
+import { NgModule } from '@angular/core';
+import { CommonModule } from '@angular/common';
+import { HomeComponent } from './home.component';
+
+
+
+@NgModule({
+ declarations: [
+ HomeComponent
+ ],
+ imports: [
+ CommonModule
+ ]
+})
+export class HomeModule { }
diff --git a/src/index.html b/src/index.html
index 7a2cb2b..9519029 100644
--- a/src/index.html
+++ b/src/index.html
@@ -1,16 +1,17 @@
-
+
-
-
- AngularBase
-
-
-
-
-
-
-
-
-
-
+
+
+ AngularBase
+
+
+
+
+
+
+
+
+
+ Please enable JavaScript to continue.
+
diff --git a/src/styles.scss b/src/styles.scss
index 120137b..825c040 100644
--- a/src/styles.scss
+++ b/src/styles.scss
@@ -1,39 +1,3 @@
-
-// Custom Theming for Angular Material
-// For more information: https://material.angular.io/guide/theming
@use '@angular/material' as mat;
-// Plus imports for other components in your app.
-
-// Include the common styles for Angular Material. We include this here so that you only
-// have to load a single css file for Angular Material in your app.
-// Be sure that you only ever include this mixin once!
-@include mat.core();
-
-// Define the palettes for your theme using the Material Design palettes available in palette.scss
-// (imported above). For each palette, you can optionally specify a default, lighter, and darker
-// hue. Available color palettes: https://material.io/design/color/
-$angular-base-primary: mat.define-palette(mat.$indigo-palette);
-$angular-base-accent: mat.define-palette(mat.$pink-palette, A200, A100, A400);
-
-// The warn palette is optional (defaults to red).
-$angular-base-warn: mat.define-palette(mat.$red-palette);
-
-// Create the theme object. A theme consists of configurations for individual
-// theming systems such as "color" or "typography".
-$angular-base-theme: mat.define-light-theme((
- color: (
- primary: $angular-base-primary,
- accent: $angular-base-accent,
- warn: $angular-base-warn,
- )
-));
-
-// Include theme styles for core and each component used in your app.
-// Alternatively, you can import and @include the theme mixins for each component
-// that you are using.
-@include mat.all-component-themes($angular-base-theme);
-
-/* 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; }
+@import './styles/helpers/imports';
+@import './styles/theme/imports';
diff --git a/src/styles/helpers/_common.scss b/src/styles/helpers/_common.scss
new file mode 100644
index 0000000..dbb0130
--- /dev/null
+++ b/src/styles/helpers/_common.scss
@@ -0,0 +1,13 @@
+html,
+body {
+ height: 100%;
+}
+
+body {
+ margin: 0;
+}
+
+input,
+img {
+ outline: none;
+}
diff --git a/src/styles/helpers/_imports.scss b/src/styles/helpers/_imports.scss
new file mode 100644
index 0000000..e26659e
--- /dev/null
+++ b/src/styles/helpers/_imports.scss
@@ -0,0 +1,3 @@
+@import './common';
+@import './variables';
+@import './utilities';
diff --git a/src/styles/helpers/_utilities.scss b/src/styles/helpers/_utilities.scss
new file mode 100644
index 0000000..81cad5b
--- /dev/null
+++ b/src/styles/helpers/_utilities.scss
@@ -0,0 +1,91 @@
+$positions: top, left, bottom, right;
+
+/* MARGINS */
+.margin {
+ margin: var(--acth-spacing) !important;
+}
+
+.no-margin {
+ margin: 0 !important;
+}
+
+@each $margin in $positions {
+ .margin-#{$margin} {
+ margin-#{$margin}: var(--acth-spacing) !important;
+ }
+}
+
+/* PADDING */
+.padding {
+ padding: var(--acth-spacing) !important;
+}
+
+.no-padding {
+ padding: 0 !important;
+}
+
+@each $padding in $positions {
+ .padding-#{$padding} {
+ padding-#{$padding}: var(--acth-spacing) !important;
+ }
+}
+
+/* TEXT */
+$text-transform: (
+ upper: uppercase,
+ lower: lowercase,
+ cap: capitalize,
+ none: none
+);
+
+@each $name, $prop in $text-transform {
+ .text-#{$name} {
+ text-transform: $prop !important;
+ }
+}
+
+$text-align: center, left, right;
+
+@each $name in $text-align {
+ .text-#{$name} {
+ text-align: $name !important;
+ }
+}
+
+$text-color: primary, accent, warn;
+
+@each $name in $text-color {
+ .text-#{$name} {
+ color: var(--acth-#{$name}) !important;
+ }
+}
+
+.first-upper::first-letter {
+ text-transform: uppercase;
+}
+
+$font-weight: 400, 500, 700, 900;
+
+@each $name in $font-weight {
+ .weight-#{$name} {
+ font-weight: $name !important;
+ }
+}
+
+/* MISC */
+.block {
+ display: block !important;
+}
+
+.full {
+ display: block !important;
+ width: 100% !important;
+}
+
+.pointer {
+ cursor: pointer !important;
+}
+
+.reverse {
+ transform: rotate(180deg);
+}
diff --git a/src/styles/helpers/_variables.scss b/src/styles/helpers/_variables.scss
new file mode 100644
index 0000000..96ea222
--- /dev/null
+++ b/src/styles/helpers/_variables.scss
@@ -0,0 +1,17 @@
+@use '@angular/material' as mat;
+@import '@angular/material/theming';
+@include mat.core();
+
+:root {
+ --base-divider: #f3f3f3;
+ --base-spacing: 16px;
+ --base-primary-font: 'Quicksand', sans-serif;
+ --base-secondary-font: 'Roboto', sans-serif;
+
+ --base-font-size: 14px;
+ --base-text: #505050;
+ --base-text-disabled: #cbcbcb;
+ --base-bg: #ffffff;
+ --base-bar: #ffffff;
+ --base-card: #ffffff;
+}
diff --git a/src/styles/theme/_core.scss b/src/styles/theme/_core.scss
new file mode 100644
index 0000000..5e74914
--- /dev/null
+++ b/src/styles/theme/_core.scss
@@ -0,0 +1,54 @@
+@use '@angular/material' as mat;
+@import '@angular/material/theming';
+@include mat.core();
+@import './palette';
+
+$base-primary: mat.define-palette($base-primary-palette);
+$base-accent: mat.define-palette($base-accent-palette);
+$base-warn: mat.define-palette($base-warn-palette);
+$base-theme: mat.define-light-theme($base-primary, $base-accent, $base-warn);
+
+$base-theme-background: (
+ status-bar: var(--base-bg),
+ app-bar: #fff,
+ background: var(--base-bg),
+ hover: rgba(black, 0.04),
+ card: var(--base-bg),
+ dialog: var(--base-bg),
+ disabled-button: rgba(black, 0.12),
+ // raised-button: white,
+ // focused-button: $dark-focused,
+ // selected-button: map_get(mat.$grey-palette, 300),
+ // selected-disabled-button: map_get(mat.$grey-palette, 400),
+ // disabled-button-toggle: map_get(mat.$grey-palette, 200),
+ // unselected-chip: map_get(mat.$grey-palette, 300),
+ // disabled-list-option: map_get(mat.$grey-palette, 200)
+);
+
+$base-theme-foreground: (
+ base: var(--base-bg),
+ divider: var(--base-divider),
+ dividers: var(--base-divider),
+ // disabled: $dark-disabled-text,
+ // disabled-button: rgba(black, 0.26),
+ // disabled-text: $dark-disabled-text,
+ // elevation: black,
+ // hint-text: $dark-disabled-text,
+ // secondary-text: var(--base-app-text-secondary),
+ icon: var(--base-text),
+ icons: var(--base-text),
+ text: var(--base-text),
+ // slider-min: rgba(black, 0.87),
+ // slider-off: rgba(black, 0.26),
+ // slider-off-active: rgba(black, 0.38)
+);
+
+$base-theme: map-merge(
+ $base-theme,
+ (
+ background: $base-theme-background,
+ foreground: $base-theme-foreground
+ )
+);
+
+@include mat.all-component-themes($base-theme);
diff --git a/src/styles/theme/_imports.scss b/src/styles/theme/_imports.scss
new file mode 100644
index 0000000..aa09ca9
--- /dev/null
+++ b/src/styles/theme/_imports.scss
@@ -0,0 +1,2 @@
+@import './core';
+@import './theme';
diff --git a/src/styles/theme/_palette.scss b/src/styles/theme/_palette.scss
new file mode 100644
index 0000000..6ba1b87
--- /dev/null
+++ b/src/styles/theme/_palette.scss
@@ -0,0 +1,199 @@
+/**
+ * Theme Palette
+ * Default set color palettes for primary, accent and warn
+ *
+ * To set a new color palette use the site below
+ * http://mcg.mbitson.com/
+ *
+ **/
+
+:root {
+ --acth-primary: #fdbf2d;
+ --acth-primary-50: #fff7e6;
+ --acth-primary-100: #feecc0;
+ --acth-primary-200: #fedf96;
+ --acth-primary-300: #fed26c;
+ --acth-primary-400: #fdc94d;
+ --acth-primary-500: #fdbf2d;
+ --acth-primary-600: #fdb928;
+ --acth-primary-700: #fcb122;
+ --acth-primary-800: #fca91c;
+ --acth-primary-900: #fc9b11;
+ --acth-primary-A100: white;
+ --acth-primary-A200: #fffaf5;
+ --acth-primary-A400: #ffe4c2;
+ --acth-primary-A700: #ffd9a8;
+ --acth-primary-contrast-50: rgb(34, 34, 34);
+ --acth-primary-contrast-100: rgb(34, 34, 34);
+ --acth-primary-contrast-200: rgb(34, 34, 34);
+ --acth-primary-contrast-300: rgb(34, 34, 34);
+ --acth-primary-contrast-400: rgb(34, 34, 34);
+ --acth-primary-contrast-500: rgb(34, 34, 34);
+ --acth-primary-contrast-600: white;
+ --acth-primary-contrast-700: white;
+ --acth-primary-contrast-800: white;
+ --acth-primary-contrast-900: white;
+ --acth-primary-contrast-A100: rgb(34, 34, 34);
+ --acth-primary-contrast-A200: rgb(34, 34, 34);
+ --acth-primary-contrast-A400: rgb(34, 34, 34);
+ --acth-primary-contrast-A700: white;
+
+ --acth-accent: #5c5c5c;
+ --acth-accent-50: #ebebeb;
+ --acth-accent-100: #cecece;
+ --acth-accent-200: #aeaeae;
+ --acth-accent-300: #8d8d8d;
+ --acth-accent-400: #747474;
+ --acth-accent-500: #5c5c5c;
+ --acth-accent-600: #545454;
+ --acth-accent-700: #4a4a4a;
+ --acth-accent-800: #414141;
+ --acth-accent-900: #303030;
+ --acth-accent-A100: #747474;
+ --acth-accent-A200: #5c5c5c;
+ --acth-accent-A400: #545454;
+ --acth-accent-A700: #4a4a4a;
+ --acth-accent-contrast-50: rgb(34, 34, 34);
+ --acth-accent-contrast-100: rgb(34, 34, 34);
+ --acth-accent-contrast-200: rgb(34, 34, 34);
+ --acth-accent-contrast-300: rgb(34, 34, 34);
+ --acth-accent-contrast-400: rgb(34, 34, 34);
+ --acth-accent-contrast-500: rgb(34, 34, 34);
+ --acth-accent-contrast-600: rgb(34, 34, 34);
+ --acth-accent-contrast-700: rgb(34, 34, 34);
+ --acth-accent-contrast-800: white;
+ --acth-accent-contrast-900: white;
+ --acth-accent-contrast-A100: rgb(34, 34, 34);
+ --acth-accent-contrast-A200: rgb(34, 34, 34);
+ --acth-accent-contrast-A400: rgb(34, 34, 34);
+ --acth-accent-contrast-A700: rgb(34, 34, 34);
+
+ --acth-warn: #d72828;
+ --acth-warn-50: #fae5e5;
+ --acth-warn-100: #f3bfbf;
+ --acth-warn-200: #eb9494;
+ --acth-warn-300: #e36969;
+ --acth-warn-400: #dd4848;
+ --acth-warn-500: #d72828;
+ --acth-warn-600: #d32424;
+ --acth-warn-700: #cd1e1e;
+ --acth-warn-800: #c71818;
+ --acth-warn-900: #be0f0f;
+ --acth-warn-A100: #ffebeb;
+ --acth-warn-A200: #ffb8b8;
+ --acth-warn-A400: #ff8585;
+ --acth-warn-A700: #ff6c6c;
+ --acth-warn-contrast-50: rgb(34, 34, 34);
+ --acth-warn-contrast-100: rgb(34, 34, 34);
+ --acth-warn-contrast-200: rgb(34, 34, 34);
+ --acth-warn-contrast-300: rgb(34, 34, 34);
+ --acth-warn-contrast-400: rgb(34, 34, 34);
+ --acth-warn-contrast-500: white;
+ --acth-warn-contrast-600: white;
+ --acth-warn-contrast-700: white;
+ --acth-warn-contrast-800: white;
+ --acth-warn-contrast-900: white;
+ --acth-warn-contrast-A100: rgb(34, 34, 34);
+ --acth-warn-contrast-A200: white;
+ --acth-warn-contrast-A400: white;
+ --acth-warn-contrast-A700: white;
+}
+
+$acth-primary-palette: (
+ 50: var(--acth-primary-50),
+ 100: var(--acth-primary-100),
+ 200: var(--acth-primary-200),
+ 300: var(--acth-primary-300),
+ 400: var(--acth-primary-400),
+ 500: var(--acth-primary-500),
+ 600: var(--acth-primary-600),
+ 700: var(--acth-primary-700),
+ 800: var(--acth-primary-800),
+ 900: var(--acth-primary-900),
+ A100: var(--acth-primary-A100),
+ A200: var(--acth-primary-A200),
+ A400: var(--acth-primary-A400),
+ A700: var(--acth-primary-A700),
+ contrast: (
+ 50: var(--acth-primary-contrast-50),
+ 100: var(--acth-primary-contrast-100),
+ 200: var(--acth-primary-contrast-200),
+ 300: var(--acth-primary-contrast-300),
+ 400: var(--acth-primary-contrast-400),
+ 500: var(--acth-primary-contrast-500),
+ 600: var(--acth-primary-contrast-600),
+ 700: var(--acth-primary-contrast-700),
+ 800: var(--acth-primary-contrast-800),
+ 900: var(--acth-primary-contrast-900),
+ A100: var(--acth-primary-contrast-A100),
+ A200: var(--acth-primary-contrast-A200),
+ A400: var(--acth-primary-contrast-A400),
+ A700: var(--acth-primary-contrast-A700)
+ )
+);
+
+$acth-accent-palette: (
+ 50: var(--acth-accent-50),
+ 100: var(--acth-accent-100),
+ 200: var(--acth-accent-200),
+ 300: var(--acth-accent-300),
+ 400: var(--acth-accent-400),
+ 500: var(--acth-accent-500),
+ 600: var(--acth-accent-600),
+ 700: var(--acth-accent-700),
+ 800: var(--acth-accent-800),
+ 900: var(--acth-accent-900),
+ A100: var(--acth-accent-A100),
+ A200: var(--acth-accent-A200),
+ A400: var(--acth-accent-A400),
+ A700: var(--acth-accent-A700),
+ contrast: (
+ 50: var(--acth-accent-contrast-50),
+ 100: var(--acth-accent-contrast-100),
+ 200: var(--acth-accent-contrast-200),
+ 300: var(--acth-accent-contrast-300),
+ 400: var(--acth-accent-contrast-400),
+ 500: var(--acth-accent-contrast-500),
+ 600: var(--acth-accent-contrast-600),
+ 700: var(--acth-accent-contrast-700),
+ 800: var(--acth-accent-contrast-800),
+ 900: var(--acth-accent-contrast-900),
+ A100: var(--acth-accent-contrast-A100),
+ A200: var(--acth-accent-contrast-A200),
+ A400: var(--acth-accent-contrast-A400),
+ A700: var(--acth-accent-contrast-A700)
+ )
+);
+
+$acth-warn-palette: (
+ 50: var(--acth-warn-50),
+ 100: var(--acth-warn-100),
+ 200: var(--acth-warn-200),
+ 300: var(--acth-warn-300),
+ 400: var(--acth-warn-400),
+ 500: var(--acth-warn-500),
+ 600: var(--acth-warn-600),
+ 700: var(--acth-warn-700),
+ 800: var(--acth-warn-800),
+ 900: var(--acth-warn-900),
+ A100: var(--acth-warn-A100),
+ A200: var(--acth-warn-A200),
+ A400: var(--acth-warn-A400),
+ A700: var(--acth-warn-A700),
+ contrast: (
+ 50: var(--acth-warn-contrast-50),
+ 100: var(--acth-warn-contrast-100),
+ 200: var(--acth-warn-contrast-200),
+ 300: var(--acth-warn-contrast-300),
+ 400: var(--acth-warn-contrast-400),
+ 500: var(--acth-warn-contrast-500),
+ 600: var(--acth-warn-contrast-600),
+ 700: var(--acth-warn-contrast-700),
+ 800: var(--acth-warn-contrast-800),
+ 900: var(--acth-warn-contrast-900),
+ A100: var(--acth-warn-contrast-A100),
+ A200: var(--acth-warn-contrast-A200),
+ A400: var(--acth-warn-contrast-A400),
+ A700: var(--acth-warn-contrast-A700)
+ )
+);