diff --git a/jambotron-ui/angular.json b/jambotron-ui/angular.json index 341a2c7..dcdcf0c 100644 --- a/jambotron-ui/angular.json +++ b/jambotron-ui/angular.json @@ -37,8 +37,9 @@ } ], "styles": [ - "@angular/material/prebuilt-themes/azure-blue.css", + "node_modules/bootstrap/dist/css/bootstrap.min.css", "src/styles.scss", + "node_modules/prismjs/themes/prism-okaidia.css", "node_modules/prismjs/plugins/line-numbers/prism-line-numbers.css", "node_modules/prismjs/plugins/line-highlight/prism-line-highlight.css", diff --git a/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.html b/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.html new file mode 100644 index 0000000..6753bf6 --- /dev/null +++ b/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.html @@ -0,0 +1,24 @@ + + + + diff --git a/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.scss b/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.scss new file mode 100644 index 0000000..6eb5043 --- /dev/null +++ b/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.scss @@ -0,0 +1,15 @@ +.breadcrumb { + display: flex; + align-items: center; + gap: 4px; + margin-bottom: inherit; +} +.breadcrumb .sep { + font-size: 16px; + opacity: 0.6; +} +.breadcrumb a[mat-button] { + min-width: auto; + padding: 0 4px; + text-transform: none; +} diff --git a/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.spec.ts b/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.spec.ts new file mode 100644 index 0000000..25d2dde --- /dev/null +++ b/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { BreadcrumbsComponent } from './breadcrumbs.component'; + +describe('BreadcrumbsComponent', () => { + let component: BreadcrumbsComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + imports: [BreadcrumbsComponent] + }) + .compileComponents(); + + fixture = TestBed.createComponent(BreadcrumbsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.ts b/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.ts new file mode 100644 index 0000000..5b5c840 --- /dev/null +++ b/jambotron-ui/src/app/components/breadcrumbs.component/breadcrumbs.component.ts @@ -0,0 +1,58 @@ +import {Component, CUSTOM_ELEMENTS_SCHEMA, NO_ERRORS_SCHEMA} from '@angular/core'; +import {ActivatedRoute, NavigationEnd, Router, RouterLink} from '@angular/router'; +import {MatButton} from '@angular/material/button'; +import {AsyncPipe, NgForOf, NgIf} from '@angular/common'; +import {MatIcon} from '@angular/material/icon'; +import {Observable, startWith} from 'rxjs'; +import {filter, map} from 'rxjs/operators'; +import {MatDivider} from '@angular/material/divider'; + +type Breadcrumb = { label: string; url: string }; + +@Component({ + selector: 'app-breadcrumbs', + imports: [ + RouterLink, + MatIcon, + MatButton, + NgIf, + AsyncPipe, + NgForOf, + MatDivider + ], + templateUrl: './breadcrumbs.component.html', + styleUrl: './breadcrumbs.component.scss', + schemas:[CUSTOM_ELEMENTS_SCHEMA,NO_ERRORS_SCHEMA] +}) +export class BreadcrumbsComponent { + + breadcrumbs$: Observable; + + constructor(private router: Router, private route: ActivatedRoute) { + this.breadcrumbs$ = this.router.events.pipe( + filter(e => e instanceof NavigationEnd), + startWith(null), + map(() => this.build(this.route.root)) + ); + + } + + private build(route: ActivatedRoute, url = '', crumbs: Breadcrumb[] = []): Breadcrumb[] { + const children = route.children; + if (!children || children.length === 0) return crumbs; + + for (const child of children) { + if (child.outlet !== 'primary') continue; + + const routeURL = child.snapshot.url.map(s => s.path).join('/'); + if (routeURL) url += `/${routeURL}`; + + const label = child.snapshot.data['breadcrumb'] as string | undefined; + if (label) crumbs.push({ label, url }); + + return this.build(child, url, crumbs); + } + return crumbs; + } + +} diff --git a/jambotron-ui/src/app/components/file-upload.component/file-upload.component.html b/jambotron-ui/src/app/components/file-upload.component/file-upload.component.html index 9f26f16..7b3861d 100644 --- a/jambotron-ui/src/app/components/file-upload.component/file-upload.component.html +++ b/jambotron-ui/src/app/components/file-upload.component/file-upload.component.html @@ -13,6 +13,7 @@ Blockquote to the max`; } diff --git a/jambotron-ui/src/app/modules/admin-module/admin.component/admin.component.html b/jambotron-ui/src/app/modules/admin-module/admin.component/admin.component.html index ef736f1..6d634bf 100644 --- a/jambotron-ui/src/app/modules/admin-module/admin.component/admin.component.html +++ b/jambotron-ui/src/app/modules/admin-module/admin.component/admin.component.html @@ -3,6 +3,7 @@ >
+
diff --git a/jambotron-ui/src/app/modules/admin-module/admin.component/admin.component.ts b/jambotron-ui/src/app/modules/admin-module/admin.component/admin.component.ts index 47cd514..afcddb0 100644 --- a/jambotron-ui/src/app/modules/admin-module/admin.component/admin.component.ts +++ b/jambotron-ui/src/app/modules/admin-module/admin.component/admin.component.ts @@ -2,11 +2,13 @@ import {Component, CUSTOM_ELEMENTS_SCHEMA, inject, OnInit} from '@angular/core'; import {Router, RouterOutlet} from "@angular/router"; import {DOCUMENT} from '@angular/common'; import {SideBarAdminComponent} from '../side-bar-admin.component/side-bar-admin.component'; +import {BreadcrumbsComponent} from '../../../components/breadcrumbs.component/breadcrumbs.component'; @Component({ selector: 'app-admin.component', imports: [ RouterOutlet, - SideBarAdminComponent + SideBarAdminComponent, + BreadcrumbsComponent ], schemas:[CUSTOM_ELEMENTS_SCHEMA], templateUrl: './admin.component.html', diff --git a/jambotron-ui/src/app/modules/admin-module/admin.routing.ts b/jambotron-ui/src/app/modules/admin-module/admin.routing.ts index eb1ff4f..01daa89 100644 --- a/jambotron-ui/src/app/modules/admin-module/admin.routing.ts +++ b/jambotron-ui/src/app/modules/admin-module/admin.routing.ts @@ -5,23 +5,28 @@ const ADMIN_ROUTES: Routes = [ { path: '', component: AdminComponent, - + data:{breadcrumb: 'Admin'}, children: [ + { path: '', pathMatch: 'full', redirectTo: 'admin-welcome' }, { path: 'admin-welcome', loadComponent: () => import('../admin-module/admin-welcome.component/admin-welcome.component').then((c) => c.AdminWelcomeComponent), + data:{breadcrumb: 'Welcome'} }, { path: 'settings', - loadComponent: () => import('../admin-module/settings.component/settings.component').then((c) => c.SettingsComponent) + loadComponent: () => import('../admin-module/settings.component/settings.component').then((c) => c.SettingsComponent), + data:{breadcrumb: 'Settings'} }, { path: 'system', - loadComponent: () => import('../admin-module/system.component/system.component').then((c) => c.SystemComponent) + loadComponent: () => import('../admin-module/system.component/system.component').then((c) => c.SystemComponent), + data:{breadcrumb: 'System'} }, { path: 'users', - loadComponent: () => import('../admin-module/users.component/users.component').then((c) => c.UsersComponent) + loadComponent: () => import('../admin-module/users.component/users.component').then((c) => c.UsersComponent), + data:{breadcrumb: 'Users'} } ] } diff --git a/jambotron-ui/src/app/modules/ai-module/generate-image.component/generate-image.component.html b/jambotron-ui/src/app/modules/ai-module/generate-image.component/generate-image.component.html index babd5c0..f0c63f1 100644 --- a/jambotron-ui/src/app/modules/ai-module/generate-image.component/generate-image.component.html +++ b/jambotron-ui/src/app/modules/ai-module/generate-image.component/generate-image.component.html @@ -28,10 +28,11 @@ alt="" width="100%" height="100%"> - + + @if (isLoggedIn) { diff --git a/jambotron-ui/src/app/modules/moderator-module/tutorial-preview.component/tutorial-preview.component.scss b/jambotron-ui/src/app/modules/moderator-module/tutorial-preview.component/tutorial-preview.component.scss index 183134c..30232f6 100644 --- a/jambotron-ui/src/app/modules/moderator-module/tutorial-preview.component/tutorial-preview.component.scss +++ b/jambotron-ui/src/app/modules/moderator-module/tutorial-preview.component/tutorial-preview.component.scss @@ -19,6 +19,11 @@ mat-card-title{ .example-full-width { width: 100%; + margin-bottom: inherit; + +} +.content-center{ + text-align: center; } @@ -57,3 +62,9 @@ mat-card-title{ border-color: var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant)); box-shadow: var(--mat-card-outlined-container-elevation, var(--mat-sys-level0)); } + + +.label-style{ + font-size: xx-large; + font-weight: bold; +} diff --git a/jambotron-ui/src/app/modules/moderator-module/tutorial-preview.component/tutorial-preview.component.ts b/jambotron-ui/src/app/modules/moderator-module/tutorial-preview.component/tutorial-preview.component.ts index 5c075ae..9c5ee37 100644 --- a/jambotron-ui/src/app/modules/moderator-module/tutorial-preview.component/tutorial-preview.component.ts +++ b/jambotron-ui/src/app/modules/moderator-module/tutorial-preview.component/tutorial-preview.component.ts @@ -1,5 +1,13 @@ -import {Component, CUSTOM_ELEMENTS_SCHEMA} from '@angular/core'; -import {FormsModule} from "@angular/forms"; +import {Component, CUSTOM_ELEMENTS_SCHEMA, inject} from '@angular/core'; +import { + AbstractControl, + FormBuilder, + FormsModule, + ReactiveFormsModule, + ValidationErrors, + ValidatorFn, + Validators +} from "@angular/forms"; import {MarkdownComponent} from "ngx-markdown"; import {MatButton} from "@angular/material/button"; import {MatCard, MatCardActions, MatCardContent, MatCardHeader} from "@angular/material/card"; @@ -8,6 +16,27 @@ import {MatTab, MatTabGroup} from "@angular/material/tabs"; import {ActivatedRoute, RouterLink} from "@angular/router"; import {Tutorial} from '../../../models/tutorial.model'; import {ModeratorApiService} from '../moderator-api.service'; +import {GlobalConstants} from '../../../global-constants'; +import {MatDivider} from '@angular/material/divider'; +import {MatDialog} from '@angular/material/dialog'; +import { + DialogSelectImageComponent +} from '../../user-module/dialog-select-image.component/dialog-select-image.component'; +import { + DialogUploadImageComponent +} from '../../user-module/dialog-upload-image.component/dialog-upload-image.component'; + +const nonBlank = (): ValidatorFn => (c: AbstractControl): ValidationErrors | null => + c.value && /\S/.test(c.value) ? null : { nonBlank: true }; + +type TutorialFormValue = { + title: string; + titleimage: string; + body: string; + + +}; + @Component({ selector: 'app-tutorial-preview.component', @@ -27,7 +56,9 @@ import {ModeratorApiService} from '../moderator-api.service'; MatTabGroup, RouterLink, MatError, - MatFormField + MatFormField, + MatDivider, + ReactiveFormsModule ], templateUrl: './tutorial-preview.component.html', styleUrl: './tutorial-preview.component.scss', @@ -38,22 +69,23 @@ export class TutorialPreviewComponent { submitted = false; hasError = false; errorMessage = ''; - markdown = `## Markdown __rulez__! ---- + markdown = GlobalConstants.MARKDOWN_EXAMPLE; -### Syntax highlight -\`\`\`typescript -const language = 'typescript'; -\`\`\` + readonly dialog = inject(MatDialog); -### Lists -1. Ordered list -2. Another bullet point - - Unordered list - - Another unordered bullet -### Blockquote -> Blockquote to the max`; + + private fb = inject(FormBuilder); + + form = this.fb.nonNullable.group({ + + title: ['', [Validators.required, nonBlank()] ], + body: ['', [Validators.required, nonBlank()] ], + + titleimage: this.fb.nonNullable.control({ value: '', disabled: true }), + + }); + private id: string | null | undefined; @@ -69,11 +101,43 @@ const language = 'typescript'; this.moderatorApiService.getTutorial(this.id).subscribe( data=>{ this.tutorial = data; + console.log(data); + this.form.patchValue(this.fromModel(data)); } ); } + + // Map Model -> Form value + private fromModel(m: Tutorial): Partial { + return { + title: m.title ?? '', + body: m.body ?? '', + titleimage: m.titleimage ?? '', + + }; + } +// Map Form value -> Model (compose with existing model if you need to keep id, etc.) + private toModel(): Tutorial { + const v = this.form.getRawValue(); // TutorialFormValue + return { + ...this.tutorial, // keep immutable fields like id + title: v.title.trim(), + body: v.body.trim(), + // + titleimage: v.titleimage, + modified: new Date(), + }; + } + + publishTutorial(): void { + if (this.form.invalid) { + this.form.markAllAsTouched(); + return; + } + this.tutorial = this.toModel(); + // send `updated` to your API here this.tutorial.published = true; this.moderatorApiService.publish(this.id, this.tutorial) .subscribe( @@ -90,4 +154,59 @@ const language = 'typescript'; this.hasError = true; }); } + + onBodyChange($event: Event) { + this.tutorial.body = this.form.get('body')?.value; + } + + openSelectImageDialog(enterAnimationDuration: string, exitAnimationDuration: string) { + + let dialogSelectRef = this.dialog.open(DialogSelectImageComponent, { + height: '500px', + width: '600px', + enterAnimationDuration, + exitAnimationDuration, + // data: {username: this.dialogLoginData.username, password: this.dialogLoginData.password} + }); + dialogSelectRef.componentInstance.uploadClicked.subscribe(result => { + dialogSelectRef.close(); + this.openUploadImageDialog(enterAnimationDuration, exitAnimationDuration); + }) + + const dialogSelectSubscription = dialogSelectRef.componentInstance.selectClicked + .subscribe(result => { + console.log('Got the data!', result); + + if (result == null) { + return; + } + this.tutorial.titleimage = result.url; + this.form.patchValue({ titleimage: result.url }); + }); + } + + openUploadImageDialog(enterAnimationDuration: string, exitAnimationDuration: string) { + let dialogSelectRef = this.dialog.open(DialogUploadImageComponent, { + height: '500px', + width: '600px', + enterAnimationDuration, + exitAnimationDuration, + // data: {username: this.dialogLoginData.username, password: this.dialogLoginData.password} + }); + dialogSelectRef.componentInstance.openSelectDialogClicked.subscribe(result => { + dialogSelectRef.close(); + this.openSelectImageDialog(enterAnimationDuration, exitAnimationDuration); + }) + + const dialogUploadSubscription = dialogSelectRef.componentInstance.selectUploadedImageClicked + .subscribe(result => { + console.log('Got the data!', result); + + if (result == null) { + return; + } + this.tutorial.titleimage = result.url; + this.form.patchValue({ titleimage: result.url }); + }); + } } diff --git a/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.html b/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.html index 555bb13..d107f22 100644 --- a/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.html +++ b/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.html @@ -1,10 +1,18 @@
@for(tutorial of tutorials; track $index){ - - Photo of a + + + Photo of a + + - + {{tutorial.title}} diff --git a/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.scss b/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.scss index 5cd8652..b213aa7 100644 --- a/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.scss +++ b/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.scss @@ -11,15 +11,7 @@ object-fit: cover; padding: 24px; justify-content: center; - //width: 100%; - //height: 100%; - //padding-top: 20px; - //display: flex; - //flex-wrap: wrap; - //flex-direction: row; - //align-content: flex-start; - //justify-content: space-around; - //align-items: center; + min-height: fit-content; } .container { @@ -38,3 +30,38 @@ img { gap: 24px; } + +.app-link{ + font-weight: bold; + color:cyan; +} +.app-link:link{ + + text-decoration:none; +} +.app-link:visited{ + //color:#ff0000; + text-decoration:none; +} +.app-link:hover{ + //color:#ff0000; + text-decoration:underline; +} + +.mat-mdc-card{ + background-color: rgba(153,153,153,0.16); + backdrop-filter: blur(8px); + border-radius: 0; +} +.mat-mdc-card-content { + padding: 0; +} +.mat-mdc-card-content:first-child{ + padding-top: 0; +} + +.mat-mdc-card-actions{ + min-height: 64px; + backdrop-filter: blur(8px); + background-color: #1d284a85; +} diff --git a/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.ts b/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.ts index 568f8f0..626c868 100644 --- a/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.ts +++ b/jambotron-ui/src/app/modules/tutorials-module/tutorials-card-view.component/tutorials-card-view.component.ts @@ -1,6 +1,6 @@ import { Component } from '@angular/core'; import {Tutorial} from '../../../models/tutorial.model'; -import {MatCard, MatCardActions, MatCardImage} from '@angular/material/card'; +import {MatCard, MatCardActions, MatCardContent, MatCardImage} from '@angular/material/card'; import {RouterLink} from '@angular/router'; import {MatButton} from '@angular/material/button'; import {TutorialsApiService} from '../tutorials-api.service'; @@ -12,7 +12,8 @@ import {TutorialsApiService} from '../tutorials-api.service'; MatCardActions, RouterLink, MatButton, - MatCardImage + MatCardImage, + MatCardContent ], templateUrl: './tutorials-card-view.component.html', styleUrl: './tutorials-card-view.component.scss' diff --git a/jambotron-ui/src/app/modules/tutorials-module/tutorials.component/tutorials.component.html b/jambotron-ui/src/app/modules/tutorials-module/tutorials.component/tutorials.component.html index 0680b43..d39edac 100644 --- a/jambotron-ui/src/app/modules/tutorials-module/tutorials.component/tutorials.component.html +++ b/jambotron-ui/src/app/modules/tutorials-module/tutorials.component/tutorials.component.html @@ -1 +1,4 @@ - + + + + diff --git a/jambotron-ui/src/app/modules/tutorials-module/tutorials.component/tutorials.component.scss b/jambotron-ui/src/app/modules/tutorials-module/tutorials.component/tutorials.component.scss index e88c9f5..4cf8a43 100644 --- a/jambotron-ui/src/app/modules/tutorials-module/tutorials.component/tutorials.component.scss +++ b/jambotron-ui/src/app/modules/tutorials-module/tutorials.component/tutorials.component.scss @@ -6,4 +6,6 @@ } - +.component{ + height: 100%; +} diff --git a/jambotron-ui/src/app/modules/user-module/dialog-select-image.component/dialog-select-image.component.html b/jambotron-ui/src/app/modules/user-module/dialog-select-image.component/dialog-select-image.component.html index 4210267..129d8fe 100644 --- a/jambotron-ui/src/app/modules/user-module/dialog-select-image.component/dialog-select-image.component.html +++ b/jambotron-ui/src/app/modules/user-module/dialog-select-image.component/dialog-select-image.component.html @@ -4,7 +4,7 @@ @for (fileInfo of fileInfos; track fileInfo){ - + diff --git a/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.html b/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.html index 60ad8e6..ef5ea5b 100644 --- a/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.html +++ b/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.html @@ -1,26 +1,26 @@ - - Add tutorial - - + +
Title - + Title image -
- - Title image - +
@@ -30,50 +30,27 @@
- -
- Description - - - - - - - -
-
- - - - -
-
-
- - - - - - - -
-
- + @if(tutorial.titleimage){ +
+ +
+ }
Body - + - + - +
- +
+ + @if (hasError){ + + {{errorMessage}} + + } + @if (submitted){

Tutorial was submitted successfully!

+
} @else { - + }
diff --git a/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.scss b/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.scss index 1ee9028..eab13cd 100644 --- a/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.scss +++ b/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.scss @@ -24,6 +24,9 @@ mat-card-title{ .example-full-width { width: 100%; } +.content-center{ + text-align: center; +} .variable-binding, @@ -55,7 +58,7 @@ mat-card-title{ } .label-style{ - font-size: -webkit-xxx-large; + font-size: xx-large; font-weight: bold; } diff --git a/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.ts b/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.ts index adce58d..cf3078e 100644 --- a/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.ts +++ b/jambotron-ui/src/app/modules/user-module/tutorial-add.component/tutorial-add.component.ts @@ -2,21 +2,44 @@ import {Component, CUSTOM_ELEMENTS_SCHEMA, inject, OnInit} from '@angular/core'; import {UserApiService} from '../user-api.service'; import {TokenStorageService} from '../../../services/token-storage.service'; import {EventBusService} from '../../../_shared/event-bus.service'; -import {Router} from '@angular/router'; +import {Router, RouterLink} from '@angular/router'; import {AuthService} from '../../../services/auth.service'; import {Tutorial} from '../../../models/tutorial.model'; import {MarkdownComponent, MarkdownService} from 'ngx-markdown'; import {MatButton} from '@angular/material/button'; import {MatCard, MatCardActions, MatCardContent, MatCardHeader} from '@angular/material/card'; -import {MatFormField, MatInput, MatLabel} from '@angular/material/input'; +import {MatError, MatFormField, MatInput, MatLabel} from '@angular/material/input'; import {MatTab, MatTabGroup} from '@angular/material/tabs'; -import {FormBuilder, FormGroup, FormsModule, ReactiveFormsModule} from '@angular/forms'; +import { + AbstractControl, + FormBuilder, + FormControl, + FormGroup, + FormsModule, + ReactiveFormsModule, ValidationErrors, + ValidatorFn, + Validators +} from '@angular/forms'; import {AngularMarkdownEditorModule, EditorInstance, EditorOption} from 'angular-markdown-editor'; import {MatDialog} from '@angular/material/dialog'; import {DialogSelectImageComponent} from '../dialog-select-image.component/dialog-select-image.component'; import {DialogUploadImageComponent} from '../dialog-upload-image.component/dialog-upload-image.component'; import {FileUploadComponent} from '../../../components/file-upload.component/file-upload.component'; import {MatDivider} from '@angular/material/divider'; +import {GlobalConstants} from '../../../global-constants'; + + +const nonBlank = (): ValidatorFn => (c: AbstractControl): ValidationErrors | null => + c.value && /\S/.test(c.value) ? null : { nonBlank: true }; + +type TutorialFormValue = { + title: string; + titleimage: string; + body: string; + + +}; + @Component({ selector: 'app-tutorial-add.component', @@ -35,140 +58,122 @@ import {MatDivider} from '@angular/material/divider'; ReactiveFormsModule, FormsModule, AngularMarkdownEditorModule, - MatDivider + MatDivider, + MatError, + RouterLink ], templateUrl: './tutorial-add.component.html', styleUrl: './tutorial-add.component.scss', schemas: [CUSTOM_ELEMENTS_SCHEMA] }) -export class TutorialAddComponent implements OnInit{ +export class TutorialAddComponent{ tutorial: Tutorial = new Tutorial(); submitted = false; - markdownText = ''; - showEditor = true; - bsEditorInstance!: EditorInstance; - tutorialForm!: FormGroup; - editorOptions!: EditorOption; readonly dialog = inject(MatDialog); + markdown = GlobalConstants.MARKDOWN_EXAMPLE; + private fb = inject(FormBuilder); - markdown = `## Markdown __rulez__! ---- + form = this.fb.nonNullable.group({ -### Syntax highlight -\`\`\`typescript -const language = 'typescript'; -\`\`\` + title: ['', [Validators.required, nonBlank()] ], + body: ['', [Validators.required, nonBlank()] ], -### Lists -1. Ordered list -2. Another bullet point - - Unordered list - - Another unordered bullet + titleimage: this.fb.nonNullable.control({ value: '', disabled: true }), -### Blockquote -> Blockquote to the max`; + }); + hasError = false; + errorMessage = ''; - constructor(private fb: FormBuilder, + constructor( private markdownService: MarkdownService, private userApiService: UserApiService, ) { - - this.tutorial.description = this.markdown; + this.tutorial.title=""; + this.tutorial.titleimage=""; this.tutorial.body = this.markdown; + + this.form.patchValue(this.fromModel(this.tutorial)); + } - ngOnInit(): void { - this.editorOptions = { - autofocus: false, - iconlibrary: 'fa', - height: 300, - savable: false, - onFullscreenExit: (e) => this.hidePreview(), - onShow: (e) => this.bsEditorInstance = e, - parser: (val) => this.parse(val) + // Map Model -> Form value + private fromModel(m: Tutorial): Partial { + return { + title: m.title ?? '', + body: m.body ?? '', + titleimage: m.titleimage ?? '', + }; - this.buildForm(this.tutorial.description); - } - - buildForm(markdownText: string | undefined) { - this.tutorialForm = this.fb.group({ - body: [markdownText], - isPreview: [true] - }); - } - - /** highlight all code found, needs to be wrapped in timer to work properly */ - highlight() { - setTimeout(() => { - this.markdownService.highlight(); - }); - } - - hidePreview() { - if (this.bsEditorInstance && this.bsEditorInstance.hidePreview) { - this.bsEditorInstance.hidePreview(); - } - } - - showFullScreen(isFullScreen: boolean) { - if (this.bsEditorInstance && this.bsEditorInstance.setFullscreen) { - this.bsEditorInstance.showPreview(); - this.bsEditorInstance.setFullscreen(isFullScreen); - } - } - - parse(inputValue: string) { - const markedOutput = this.markdownService.parse(inputValue.trim()); - this.highlight(); - - return markedOutput; - } - - onFormChanges(): void { - this.tutorialForm.valueChanges.subscribe(formData => { - if (formData) { - this.markdownText = formData.body; - } - }); +// Map Form value -> Model (compose with existing model if you need to keep id, etc.) + private toModel(): Tutorial { + const v = this.form.getRawValue(); // TutorialFormValue + return { + ...this.tutorial, // keep immutable fields like id + title: v.title.trim(), + body: v.body.trim(), + // + titleimage: v.titleimage, + created: new Date(), + }; } saveTutorial(): void { - const data = { - title: this.tutorial.title, - description: this.tutorial.description, - body: this.tutorial.body, - published: this.tutorial.published, - titleimage: this.tutorial.titleimage, - created: new Date(), - modified: new Date(), - tobepublished: false, - isEdit: false, - isAdmin: false, - isSuperAdmin: false, - isUser: false, - }; + if (this.form.invalid) { + this.form.markAllAsTouched(); + return; + } + this.tutorial = this.toModel(); + // send `updated` to your API here + this.userApiService.create(this.tutorial) + .subscribe( + response => { + console.log(response); + this.submitted = true; + }, + ) + + const data = { + title: this.tutorial.title, + description: this.tutorial.description, + body: this.tutorial.body, + published: this.tutorial.published, + titleimage: this.tutorial.titleimage, + created: new Date(), + modified: new Date(), + tobepublished: false, + isEdit: false, + isAdmin: false, + isSuperAdmin: false, + isUser: false, + } + + this.userApiService.create(data) + .subscribe( + response => { + console.log(response); + this.submitted = true; + this.hasError = false; + }, + error => { + console.log(error); + this.errorMessage = error.error.message; + + this.hasError = true; + }); - this.userApiService.create(data) - .subscribe( - response => { - console.log(response); - this.submitted = true; - }, - error => { - console.log(error); - }); } + newTutorial(): void { this.submitted = false; this.tutorial = { title: '', - description: '', + body:"", published: false }; } @@ -195,6 +200,7 @@ const language = 'typescript'; return; } this.tutorial.titleimage = result.url; + this.form.patchValue({ titleimage: result.url }); }); } @@ -220,7 +226,12 @@ const language = 'typescript'; return; } this.tutorial.titleimage = result.url; - + this.form.patchValue({ titleimage: result.url }); }); } + + onBodyChange($event: Event) { + this.tutorial.body = this.form.get('body')?.value; + } + } diff --git a/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.html b/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.html index 33f001b..e686558 100644 --- a/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.html +++ b/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.html @@ -1,104 +1,78 @@ - - Edit tutorial - - - Title - - +
+ + Title + + - Title image - - - - - - -
- - - - Title image - - -
- - -
- -
- -
- Description + Title image - - - - - - -
-
- - - - + + + + +
+ + Title image + + +
+ +
- - - - - - - - - - - +
+ @if(tutorial.titleimage){ +
+ +
+ } +
+ Body + + + + - - - -
- - -
-
- - - - - - - -
-
+ + + + + + + + + + + + +
+ + - + @if (hasError){ {{errorMessage}} diff --git a/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.scss b/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.scss index 183134c..30232f6 100644 --- a/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.scss +++ b/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.scss @@ -19,6 +19,11 @@ mat-card-title{ .example-full-width { width: 100%; + margin-bottom: inherit; + +} +.content-center{ + text-align: center; } @@ -57,3 +62,9 @@ mat-card-title{ border-color: var(--mat-card-outlined-outline-color, var(--mat-sys-outline-variant)); box-shadow: var(--mat-card-outlined-container-elevation, var(--mat-sys-level0)); } + + +.label-style{ + font-size: xx-large; + font-weight: bold; +} diff --git a/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.ts b/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.ts index 0872c20..e9644d7 100644 --- a/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.ts +++ b/jambotron-ui/src/app/modules/user-module/tutorial-edit.component/tutorial-edit.component.ts @@ -4,7 +4,15 @@ import {MatButton} from '@angular/material/button'; import {MatCard, MatCardActions, MatCardContent, MatCardHeader} from '@angular/material/card'; import {MatError, MatFormField, MatInput, MatLabel} from '@angular/material/input'; import {MatTab, MatTabGroup} from '@angular/material/tabs'; -import {FormBuilder, FormGroup, FormsModule, ReactiveFormsModule} from '@angular/forms'; +import { + AbstractControl, + FormBuilder, + FormGroup, + FormsModule, + ReactiveFormsModule, ValidationErrors, + ValidatorFn, + Validators +} from '@angular/forms'; import {Tutorial} from '../../../models/tutorial.model'; import {UserApiService} from '../user-api.service'; import {ActivatedRoute, RouterLink} from '@angular/router'; @@ -13,6 +21,18 @@ import {MatDivider} from '@angular/material/divider'; import {MatDialog} from '@angular/material/dialog'; import {DialogSelectImageComponent} from '../dialog-select-image.component/dialog-select-image.component'; import {DialogUploadImageComponent} from '../dialog-upload-image.component/dialog-upload-image.component'; +import {GlobalConstants} from '../../../global-constants'; + +const nonBlank = (): ValidatorFn => (c: AbstractControl): ValidationErrors | null => + c.value && /\S/.test(c.value) ? null : { nonBlank: true }; + +type TutorialFormValue = { + title: string; + titleimage: string; + body: string; + + +}; @Component({ selector: 'app-tutorial-edit.component', @@ -40,41 +60,34 @@ import {DialogUploadImageComponent} from '../dialog-upload-image.component/dialo styleUrl: './tutorial-edit.component.scss', schemas: [CUSTOM_ELEMENTS_SCHEMA] }) -export class TutorialEditComponent implements OnInit{ +export class TutorialEditComponent{ tutorial: Tutorial = new Tutorial(); submitted = false; + hasError = false; errorMessage = ''; - markdownText=""; - bsEditorInstance!: EditorInstance; - tutorialForm!: FormGroup; - editorOptions!: EditorOption; readonly dialog = inject(MatDialog); - markdown = `## Markdown __rulez__! ---- + markdown = GlobalConstants.MARKDOWN_EXAMPLE; -### Syntax highlight -\`\`\`typescript -const language = 'typescript'; -\`\`\` + private fb = inject(FormBuilder); -### Lists -1. Ordered list -2. Another bullet point - - Unordered list - - Another unordered bullet + form = this.fb.nonNullable.group({ + + title: ['', [Validators.required, nonBlank()] ], + body: ['', [Validators.required, nonBlank()] ], + + titleimage: this.fb.nonNullable.control({ value: '', disabled: true }), + + }); -### Blockquote -> Blockquote to the max`; private id: string | null | undefined; constructor(private userApiService: UserApiService, private route: ActivatedRoute, - private fb: FormBuilder, private markdownService: MarkdownService ) { @@ -88,66 +101,42 @@ const language = 'typescript'; this.userApiService.getTutorial(this.id).subscribe( data=>{ this.tutorial = data; + this.form.patchValue(this.fromModel(this.tutorial)); } + ); + } - ngOnInit(): void { - this.editorOptions = { - autofocus: false, - iconlibrary: 'fa', - height: 300, - savable: false, - onFullscreenExit: (e) => this.hidePreview(), - onShow: (e) => this.bsEditorInstance = e, - parser: (val) => this.parse(val) + // Map Model -> Form value + private fromModel(m: Tutorial): Partial { + return { + title: m.title ?? '', + body: m.body ?? '', + titleimage: m.titleimage ?? '', + }; - this.buildForm(this.tutorial.description); - } - - buildForm(markdownText: string | undefined) { - this.tutorialForm = this.fb.group({ - body: [markdownText], - isPreview: [true] - }); - } - /** highlight all code found, needs to be wrapped in timer to work properly */ - highlight() { - setTimeout(() => { - this.markdownService.highlight(); - }); - } - - hidePreview() { - if (this.bsEditorInstance && this.bsEditorInstance.hidePreview) { - this.bsEditorInstance.hidePreview(); - } - } - - showFullScreen(isFullScreen: boolean) { - if (this.bsEditorInstance && this.bsEditorInstance.setFullscreen) { - this.bsEditorInstance.showPreview(); - this.bsEditorInstance.setFullscreen(isFullScreen); - } - } - - parse(inputValue: string) { - const markedOutput = this.markdownService.parse(inputValue.trim()); - this.highlight(); - - return markedOutput; - } - - onFormChanges(): void { - this.tutorialForm.valueChanges.subscribe(formData => { - if (formData) { - this.markdownText = formData.body; - } - }); +// Map Form value -> Model (compose with existing model if you need to keep id, etc.) + private toModel(): Tutorial { + const v = this.form.getRawValue(); // TutorialFormValue + return { + ...this.tutorial, // keep immutable fields like id + title: v.title.trim(), + body: v.body.trim(), + // + titleimage: v.titleimage, + modified: new Date(), + }; } updateTutorial(): void { + if (this.form.invalid) { + this.form.markAllAsTouched(); + return; + } + this.tutorial = this.toModel(); + // send `updated` to your API here this.userApiService.update(this.id, this.tutorial) .subscribe( response => { @@ -186,7 +175,7 @@ const language = 'typescript'; return; } this.tutorial.titleimage = result.url; - + this.form.patchValue({ titleimage: result.url }); }); } @@ -211,7 +200,11 @@ const language = 'typescript'; return; } this.tutorial.titleimage = result.url; - + this.form.patchValue({ titleimage: result.url }); }); } + + onBodyChange($event: Event) { + this.tutorial.body = this.form.get('body')?.value; + } } diff --git a/jambotron-ui/src/app/modules/user-module/tutorials-list.component/tutorials-list.component.html b/jambotron-ui/src/app/modules/user-module/tutorials-list.component/tutorials-list.component.html index 265f3dd..0cefecf 100644 --- a/jambotron-ui/src/app/modules/user-module/tutorials-list.component/tutorials-list.component.html +++ b/jambotron-ui/src/app/modules/user-module/tutorials-list.component/tutorials-list.component.html @@ -1,4 +1,6 @@ +
+ - +
diff --git a/jambotron-ui/src/app/modules/user-module/tutorials-list.component/tutorials-list.component.ts b/jambotron-ui/src/app/modules/user-module/tutorials-list.component/tutorials-list.component.ts index 37e4ed5..d3e1a60 100644 --- a/jambotron-ui/src/app/modules/user-module/tutorials-list.component/tutorials-list.component.ts +++ b/jambotron-ui/src/app/modules/user-module/tutorials-list.component/tutorials-list.component.ts @@ -22,6 +22,7 @@ import { import {DatePipe} from '@angular/common'; import {MatCheckbox} from '@angular/material/checkbox'; import {MatSlideToggle} from '@angular/material/slide-toggle'; +import {BreadcrumbsComponent} from '../../../components/breadcrumbs.component/breadcrumbs.component'; @Component({ @@ -43,7 +44,8 @@ import {MatSlideToggle} from '@angular/material/slide-toggle'; MatCheckbox, DatePipe, MatCell, - MatSlideToggle + MatSlideToggle, + BreadcrumbsComponent ], schemas:[CUSTOM_ELEMENTS_SCHEMA], templateUrl: './tutorials-list.component.html', diff --git a/jambotron-ui/src/app/modules/user-module/user.component/user.component.html b/jambotron-ui/src/app/modules/user-module/user.component/user.component.html index 1668b71..85123bf 100644 --- a/jambotron-ui/src/app/modules/user-module/user.component/user.component.html +++ b/jambotron-ui/src/app/modules/user-module/user.component/user.component.html @@ -4,6 +4,7 @@
+
diff --git a/jambotron-ui/src/app/modules/user-module/user.component/user.component.scss b/jambotron-ui/src/app/modules/user-module/user.component/user.component.scss index 016384e..e69de29 100644 --- a/jambotron-ui/src/app/modules/user-module/user.component/user.component.scss +++ b/jambotron-ui/src/app/modules/user-module/user.component/user.component.scss @@ -1,13 +0,0 @@ -//--------------- -.pc-sidebar{ - top: 65px; - overflow-y: auto; - background-color: rgba(153, 153, 153, 0.16); - - backdrop-filter: blur(8px); -} -.pc-container{ - top: 0px; - padding-left: 5px; - padding-right: 5px; -} diff --git a/jambotron-ui/src/app/modules/user-module/user.component/user.component.ts b/jambotron-ui/src/app/modules/user-module/user.component/user.component.ts index 81a69b2..54c1832 100644 --- a/jambotron-ui/src/app/modules/user-module/user.component/user.component.ts +++ b/jambotron-ui/src/app/modules/user-module/user.component/user.component.ts @@ -3,12 +3,14 @@ import {RouterOutlet} from '@angular/router'; import {MatSidenav} from '@angular/material/sidenav'; import {BreakpointObserver} from '@angular/cdk/layout'; import {SideBarUserComponent} from '../side-bar-user.component/side-bar-user.component'; +import {BreadcrumbsComponent} from '../../../components/breadcrumbs.component/breadcrumbs.component'; @Component({ selector: 'app-user.component', imports: [ RouterOutlet, - SideBarUserComponent + SideBarUserComponent, + BreadcrumbsComponent ], templateUrl: './user.component.html', styleUrl: './user.component.scss', diff --git a/jambotron-ui/src/app/modules/user-module/user.routing.ts b/jambotron-ui/src/app/modules/user-module/user.routing.ts index b5c87f3..2b18ea7 100644 --- a/jambotron-ui/src/app/modules/user-module/user.routing.ts +++ b/jambotron-ui/src/app/modules/user-module/user.routing.ts @@ -7,30 +7,39 @@ const USER_ROUTES: Routes = [ path: '', component: UserComponent, + data:{breadcrumb: 'User'}, children: [ + { path: '', pathMatch: 'full', redirectTo: 'user-welcome' }, // default redirect + { path: 'user-welcome', loadComponent: () => import('../user-module/user-welcome.component/user-welcome.component').then((c) => c.UserWelcomeComponent), + data:{breadcrumb: 'Welcome'} }, { path: 'tutorials-list', - loadComponent: () => import('../user-module/tutorials-list.component/tutorials-list.component').then((c) => c.TutorialsListComponent) + loadComponent: () => import('../user-module/tutorials-list.component/tutorials-list.component').then((c) => c.TutorialsListComponent), + data:{breadcrumb: 'Tutorials List'} }, { path: 'tutorial-add', - loadComponent: () => import('../user-module/tutorial-add.component/tutorial-add.component').then((c) => c.TutorialAddComponent) + loadComponent: () => import('../user-module/tutorial-add.component/tutorial-add.component').then((c) => c.TutorialAddComponent), + data:{breadcrumb: 'Add Tutorial'} }, { path: 'tutorial-edit', - loadComponent: () => import('../user-module/tutorial-edit.component/tutorial-edit.component').then((c) => c.TutorialEditComponent) + loadComponent: () => import('../user-module/tutorial-edit.component/tutorial-edit.component').then((c) => c.TutorialEditComponent), + data:{breadcrumb: 'Edit Tutorial'} }, { path: 'ai-models', - loadComponent: () => import('../user-module/ai-models.component/ai-models.component').then((c) => c.AiModelsComponent) + loadComponent: () => import('../user-module/ai-models.component/ai-models.component').then((c) => c.AiModelsComponent), + data:{breadcrumb: 'AI'} }, { path: 'images', - loadComponent: () => import('../user-module/images.component/images.component').then((c) => c.ImagesComponent) + loadComponent: () => import('../user-module/images.component/images.component').then((c) => c.ImagesComponent), + data:{breadcrumb: 'Images'} } ] } diff --git a/jambotron-ui/src/index.html b/jambotron-ui/src/index.html index c9804e4..aa574b3 100644 --- a/jambotron-ui/src/index.html +++ b/jambotron-ui/src/index.html @@ -7,6 +7,8 @@ + diff --git a/jambotron-ui/src/scss/bootstrap/bootstrap.scss b/jambotron-ui/src/scss/bootstrap/bootstrap.scss deleted file mode 100644 index 4f81fac..0000000 --- a/jambotron-ui/src/scss/bootstrap/bootstrap.scss +++ /dev/null @@ -1,34 +0,0 @@ -@import '../../../node_modules/bootstrap/scss/maps'; -@import '../../../node_modules/bootstrap/scss/mixins'; -@import '../../../node_modules/bootstrap/scss/root'; -@import '../../../node_modules/bootstrap/scss/reboot'; -@import '../../../node_modules/bootstrap/scss/type'; -@import '../../../node_modules/bootstrap/scss/images'; -@import '../../../node_modules/bootstrap/scss/containers'; -@import '../../../node_modules/bootstrap/scss/grid'; -@import '../../../node_modules/bootstrap/scss/tables'; -@import '../../../node_modules/bootstrap/scss/forms'; -@import '../../../node_modules/bootstrap/scss/buttons'; -@import '../../../node_modules/bootstrap/scss/transitions'; -@import '../../../node_modules/bootstrap/scss/dropdown'; -@import '../../../node_modules/bootstrap/scss/button-group'; -@import '../../../node_modules/bootstrap/scss/nav'; -@import '../../../node_modules/bootstrap/scss/navbar'; -@import '../../../node_modules/bootstrap/scss/card'; -@import '../../../node_modules/bootstrap/scss/accordion'; -@import '../../../node_modules/bootstrap/scss/breadcrumb'; -@import '../../../node_modules/bootstrap/scss/pagination'; -@import '../../../node_modules/bootstrap/scss/badge'; -@import '../../../node_modules/bootstrap/scss/alert'; -@import '../../../node_modules/bootstrap/scss/progress'; -@import '../../../node_modules/bootstrap/scss/list-group'; -@import '../../../node_modules/bootstrap/scss/close'; -@import '../../../node_modules/bootstrap/scss/toasts'; -@import '../../../node_modules/bootstrap/scss/modal'; -@import '../../../node_modules/bootstrap/scss/tooltip'; -@import '../../../node_modules/bootstrap/scss/popover'; -@import '../../../node_modules/bootstrap/scss/carousel'; -@import '../../../node_modules/bootstrap/scss/spinners'; -@import '../../../node_modules/bootstrap/scss/offcanvas'; -@import '../../../node_modules/bootstrap/scss/placeholders'; -@import '../../../node_modules/bootstrap/scss/helpers'; diff --git a/jambotron-ui/src/scss/fonts/inter/Inter-Bold.woff b/jambotron-ui/src/scss/fonts/inter/Inter-Bold.woff deleted file mode 100644 index 61e1c25..0000000 Binary files a/jambotron-ui/src/scss/fonts/inter/Inter-Bold.woff and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/inter/Inter-Bold.woff2 b/jambotron-ui/src/scss/fonts/inter/Inter-Bold.woff2 deleted file mode 100644 index 6c401bb..0000000 Binary files a/jambotron-ui/src/scss/fonts/inter/Inter-Bold.woff2 and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/inter/Inter-Medium.woff b/jambotron-ui/src/scss/fonts/inter/Inter-Medium.woff deleted file mode 100644 index 8c36a63..0000000 Binary files a/jambotron-ui/src/scss/fonts/inter/Inter-Medium.woff and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/inter/Inter-Medium.woff2 b/jambotron-ui/src/scss/fonts/inter/Inter-Medium.woff2 deleted file mode 100644 index 3b31d33..0000000 Binary files a/jambotron-ui/src/scss/fonts/inter/Inter-Medium.woff2 and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/inter/Inter-Regular.woff b/jambotron-ui/src/scss/fonts/inter/Inter-Regular.woff deleted file mode 100644 index 7d587c4..0000000 Binary files a/jambotron-ui/src/scss/fonts/inter/Inter-Regular.woff and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/inter/Inter-Regular.woff2 b/jambotron-ui/src/scss/fonts/inter/Inter-Regular.woff2 deleted file mode 100644 index d5ffd2a..0000000 Binary files a/jambotron-ui/src/scss/fonts/inter/Inter-Regular.woff2 and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/inter/Inter-SemiBold.woff b/jambotron-ui/src/scss/fonts/inter/Inter-SemiBold.woff deleted file mode 100644 index 99df06c..0000000 Binary files a/jambotron-ui/src/scss/fonts/inter/Inter-SemiBold.woff and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/inter/Inter-SemiBold.woff2 b/jambotron-ui/src/scss/fonts/inter/Inter-SemiBold.woff2 deleted file mode 100644 index df746af..0000000 Binary files a/jambotron-ui/src/scss/fonts/inter/Inter-SemiBold.woff2 and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/inter/inter.css b/jambotron-ui/src/scss/fonts/inter/inter.css deleted file mode 100644 index c0baa77..0000000 --- a/jambotron-ui/src/scss/fonts/inter/inter.css +++ /dev/null @@ -1,39 +0,0 @@ -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 400; - font-display: swap; - src: - url('Inter-Regular.woff2?v=3.13') format('woff2'), - url('Inter-Regular.woff?v=3.13') format('woff'); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 500; - font-display: swap; - src: - url('Inter-Medium.woff2?v=3.13') format('woff2'), - url('Inter-Medium.woff?v=3.13') format('woff'); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 600; - font-display: swap; - src: - url('Inter-SemiBold.woff2?v=3.13') format('woff2'), - url('Inter-SemiBold.woff?v=3.13') format('woff'); -} - -@font-face { - font-family: 'Inter'; - font-style: normal; - font-weight: 700; - font-display: swap; - src: - url('Inter-Bold.woff2?v=3.13') format('woff2'), - url('Inter-Bold.woff?v=3.13') format('woff'); -} diff --git a/jambotron-ui/src/scss/fonts/tabler-icons.min.css b/jambotron-ui/src/scss/fonts/tabler-icons.min.css deleted file mode 100644 index e672ead..0000000 --- a/jambotron-ui/src/scss/fonts/tabler-icons.min.css +++ /dev/null @@ -1,3927 +0,0 @@ -/*! - * Tabler Icons 1.41.1 by tabler - https://tabler.io - * License - https://github.com/tabler/tabler-icons/blob/master/LICENSE - */ -@font-face { - font-family: tabler-icons; - font-style: normal; - font-weight: 400; - src: url(tabler/tabler-icons.eot); - src: - url(tabler/tabler-icons.eot?#iefix) format('embedded-opentype'), - url(tabler/tabler-icons.woff2) format('woff2'), - url(tabler/tabler-icons.woff) format('woff'), - url(tabler/tabler-icons.ttf) format('truetype'), - url(tabler/tabler-icons.svg#tabler-icons) format('svg'); -} -@media screen and (-webkit-min-device-pixel-ratio: 0) { - @font-face { - font-family: tabler-icons; - src: url(tabler/tabler-icons.svg#tabler-icons) format('svg'); - } -} -.ti { - font-family: tabler-icons !important; - speak: none; - font-style: normal; - font-weight: 400; - font-variant: normal; - text-transform: none; - line-height: 1; - -webkit-font-smoothing: antialiased; - -moz-osx-font-smoothing: grayscale; -} -.ti-2fa:before { - content: '\eca0'; -} -.ti-3d-cube-sphere:before { - content: '\ecd7'; -} -.ti-a-b:before { - content: '\ec36'; -} -.ti-access-point:before { - content: '\ed1b'; -} -.ti-access-point-off:before { - content: '\ed1a'; -} -.ti-accessible:before { - content: '\eba9'; -} -.ti-activity:before { - content: '\ed23'; -} -.ti-ad:before { - content: '\ea02'; -} -.ti-ad-2:before { - content: '\ef1f'; -} -.ti-adjustments:before { - content: '\ea03'; -} -.ti-adjustments-alt:before { - content: '\ec37'; -} -.ti-adjustments-horizontal:before { - content: '\ec38'; -} -.ti-aerial-lift:before { - content: '\edfe'; -} -.ti-affiliate:before { - content: '\edff'; -} -.ti-alarm:before { - content: '\ea04'; -} -.ti-alert-circle:before { - content: '\ea05'; -} -.ti-alert-octagon:before { - content: '\ecc6'; -} -.ti-alert-triangle:before { - content: '\ea06'; -} -.ti-alien:before { - content: '\ebde'; -} -.ti-align-center:before { - content: '\ea07'; -} -.ti-align-justified:before { - content: '\ea08'; -} -.ti-align-left:before { - content: '\ea09'; -} -.ti-align-right:before { - content: '\ea0a'; -} -.ti-ambulance:before { - content: '\ebf5'; -} -.ti-anchor:before { - content: '\eb76'; -} -.ti-angle:before { - content: '\ef20'; -} -.ti-antenna-bars-1:before { - content: '\ecc7'; -} -.ti-antenna-bars-2:before { - content: '\ecc8'; -} -.ti-antenna-bars-3:before { - content: '\ecc9'; -} -.ti-antenna-bars-4:before { - content: '\ecca'; -} -.ti-antenna-bars-5:before { - content: '\eccb'; -} -.ti-aperture:before { - content: '\eb58'; -} -.ti-apple:before { - content: '\ef21'; -} -.ti-apps:before { - content: '\ebb6'; -} -.ti-archive:before { - content: '\ea0b'; -} -.ti-arrow-back:before { - content: '\ea0c'; -} -.ti-arrow-back-up:before { - content: '\eb77'; -} -.ti-arrow-bar-down:before { - content: '\ea0d'; -} -.ti-arrow-bar-left:before { - content: '\ea0e'; -} -.ti-arrow-bar-right:before { - content: '\ea0f'; -} -.ti-arrow-bar-to-down:before { - content: '\ec88'; -} -.ti-arrow-bar-to-left:before { - content: '\ec89'; -} -.ti-arrow-bar-to-right:before { - content: '\ec8a'; -} -.ti-arrow-bar-to-up:before { - content: '\ec8b'; -} -.ti-arrow-bar-up:before { - content: '\ea10'; -} -.ti-arrow-big-down:before { - content: '\edda'; -} -.ti-arrow-big-left:before { - content: '\eddb'; -} -.ti-arrow-big-right:before { - content: '\eddc'; -} -.ti-arrow-big-top:before { - content: '\eddd'; -} -.ti-arrow-bottom-bar:before { - content: '\ed98'; -} -.ti-arrow-bottom-circle:before { - content: '\ed99'; -} -.ti-arrow-bottom-square:before { - content: '\ed9a'; -} -.ti-arrow-bottom-tail:before { - content: '\ed9b'; -} -.ti-arrow-down:before { - content: '\ea16'; -} -.ti-arrow-down-circle:before { - content: '\ea11'; -} -.ti-arrow-down-left:before { - content: '\ea13'; -} -.ti-arrow-down-left-circle:before { - content: '\ea12'; -} -.ti-arrow-down-right:before { - content: '\ea15'; -} -.ti-arrow-down-right-circle:before { - content: '\ea14'; -} -.ti-arrow-forward:before { - content: '\ea17'; -} -.ti-arrow-forward-up:before { - content: '\eb78'; -} -.ti-arrow-left:before { - content: '\ea19'; -} -.ti-arrow-left-bar:before { - content: '\ed9c'; -} -.ti-arrow-left-circle:before { - content: '\ea18'; -} -.ti-arrow-left-square:before { - content: '\ed9d'; -} -.ti-arrow-left-tail:before { - content: '\ed9e'; -} -.ti-arrow-loop-left:before { - content: '\ed9f'; -} -.ti-arrow-loop-right:before { - content: '\eda0'; -} -.ti-arrow-narrow-down:before { - content: '\ea1a'; -} -.ti-arrow-narrow-left:before { - content: '\ea1b'; -} -.ti-arrow-narrow-right:before { - content: '\ea1c'; -} -.ti-arrow-narrow-up:before { - content: '\ea1d'; -} -.ti-arrow-ramp-left:before { - content: '\ed3c'; -} -.ti-arrow-ramp-right:before { - content: '\ed3d'; -} -.ti-arrow-right:before { - content: '\ea1f'; -} -.ti-arrow-right-bar:before { - content: '\eda1'; -} -.ti-arrow-right-circle:before { - content: '\ea1e'; -} -.ti-arrow-right-square:before { - content: '\eda2'; -} -.ti-arrow-right-tail:before { - content: '\eda3'; -} -.ti-arrow-top-bar:before { - content: '\eda4'; -} -.ti-arrow-top-circle:before { - content: '\eda5'; -} -.ti-arrow-top-square:before { - content: '\eda6'; -} -.ti-arrow-top-tail:before { - content: '\eda7'; -} -.ti-arrow-up:before { - content: '\ea25'; -} -.ti-arrow-up-circle:before { - content: '\ea20'; -} -.ti-arrow-up-left:before { - content: '\ea22'; -} -.ti-arrow-up-left-circle:before { - content: '\ea21'; -} -.ti-arrow-up-right:before { - content: '\ea24'; -} -.ti-arrow-up-right-circle:before { - content: '\ea23'; -} -.ti-arrow-wave-left-down:before { - content: '\eda8'; -} -.ti-arrow-wave-left-up:before { - content: '\eda9'; -} -.ti-arrow-wave-right-down:before { - content: '\edaa'; -} -.ti-arrow-wave-right-up:before { - content: '\edab'; -} -.ti-arrows-diagonal:before { - content: '\ea27'; -} -.ti-arrows-diagonal-2:before { - content: '\ea26'; -} -.ti-arrows-double-ne-sw:before { - content: '\edde'; -} -.ti-arrows-double-nw-se:before { - content: '\eddf'; -} -.ti-arrows-double-se-nw:before { - content: '\ede0'; -} -.ti-arrows-double-sw-ne:before { - content: '\ede1'; -} -.ti-arrows-down:before { - content: '\edad'; -} -.ti-arrows-down-up:before { - content: '\edac'; -} -.ti-arrows-horizontal:before { - content: '\eb59'; -} -.ti-arrows-join:before { - content: '\edaf'; -} -.ti-arrows-join-2:before { - content: '\edae'; -} -.ti-arrows-left:before { - content: '\edb1'; -} -.ti-arrows-left-down:before { - content: '\ee00'; -} -.ti-arrows-left-right:before { - content: '\edb0'; -} -.ti-arrows-maximize:before { - content: '\ea28'; -} -.ti-arrows-minimize:before { - content: '\ea29'; -} -.ti-arrows-right:before { - content: '\edb3'; -} -.ti-arrows-right-down:before { - content: '\ee01'; -} -.ti-arrows-right-left:before { - content: '\edb2'; -} -.ti-arrows-sort:before { - content: '\eb5a'; -} -.ti-arrows-split:before { - content: '\edb5'; -} -.ti-arrows-split-2:before { - content: '\edb4'; -} -.ti-arrows-up:before { - content: '\edb7'; -} -.ti-arrows-up-down:before { - content: '\edb6'; -} -.ti-arrows-up-left:before { - content: '\ee02'; -} -.ti-arrows-up-right:before { - content: '\ee03'; -} -.ti-arrows-vertical:before { - content: '\eb5b'; -} -.ti-artboard:before { - content: '\ea2a'; -} -.ti-aspect-ratio:before { - content: '\ed30'; -} -.ti-at:before { - content: '\ea2b'; -} -.ti-atom:before { - content: '\eb79'; -} -.ti-atom-2:before { - content: '\ebdf'; -} -.ti-award:before { - content: '\ea2c'; -} -.ti-backhoe:before { - content: '\ed86'; -} -.ti-backspace:before { - content: '\ea2d'; -} -.ti-ball-american-football:before { - content: '\ee04'; -} -.ti-ball-basketball:before { - content: '\ec28'; -} -.ti-ball-bowling:before { - content: '\ec29'; -} -.ti-ball-football:before { - content: '\ee06'; -} -.ti-ball-football-off:before { - content: '\ee05'; -} -.ti-ball-tennis:before { - content: '\ec2a'; -} -.ti-ball-volleyball:before { - content: '\ec2b'; -} -.ti-ban:before { - content: '\ea2e'; -} -.ti-bandage:before { - content: '\eb7a'; -} -.ti-barcode:before { - content: '\ebc6'; -} -.ti-basket:before { - content: '\ebe1'; -} -.ti-battery:before { - content: '\ea34'; -} -.ti-battery-1:before { - content: '\ea2f'; -} -.ti-battery-2:before { - content: '\ea30'; -} -.ti-battery-3:before { - content: '\ea31'; -} -.ti-battery-4:before { - content: '\ea32'; -} -.ti-battery-automotive:before { - content: '\ee07'; -} -.ti-battery-charging:before { - content: '\ea33'; -} -.ti-battery-off:before { - content: '\ed1c'; -} -.ti-bed:before { - content: '\eb5c'; -} -.ti-bell:before { - content: '\ea35'; -} -.ti-bell-minus:before { - content: '\ede2'; -} -.ti-bell-off:before { - content: '\ece9'; -} -.ti-bell-plus:before { - content: '\ede3'; -} -.ti-bell-ringing:before { - content: '\ed07'; -} -.ti-bell-ringing-2:before { - content: '\ede4'; -} -.ti-bell-x:before { - content: '\ede5'; -} -.ti-bike:before { - content: '\ea36'; -} -.ti-binary:before { - content: '\ee08'; -} -.ti-biohazard:before { - content: '\ecb8'; -} -.ti-blockquote:before { - content: '\ee09'; -} -.ti-bluetooth:before { - content: '\ea37'; -} -.ti-bluetooth-connected:before { - content: '\ecea'; -} -.ti-bluetooth-off:before { - content: '\eceb'; -} -.ti-bold:before { - content: '\eb7b'; -} -.ti-bolt:before { - content: '\ea38'; -} -.ti-bolt-off:before { - content: '\ecec'; -} -.ti-bone:before { - content: '\edb8'; -} -.ti-book:before { - content: '\ea39'; -} -.ti-bookmark:before { - content: '\ea3a'; -} -.ti-bookmark-off:before { - content: '\eced'; -} -.ti-bookmarks:before { - content: '\ed08'; -} -.ti-border-all:before { - content: '\ea3b'; -} -.ti-border-bottom:before { - content: '\ea3c'; -} -.ti-border-horizontal:before { - content: '\ea3d'; -} -.ti-border-inner:before { - content: '\ea3e'; -} -.ti-border-left:before { - content: '\ea3f'; -} -.ti-border-none:before { - content: '\ea40'; -} -.ti-border-outer:before { - content: '\ea41'; -} -.ti-border-radius:before { - content: '\eb7c'; -} -.ti-border-right:before { - content: '\ea42'; -} -.ti-border-style:before { - content: '\ee0a'; -} -.ti-border-style-2:before { - content: '\ef22'; -} -.ti-border-top:before { - content: '\ea43'; -} -.ti-border-vertical:before { - content: '\ea44'; -} -.ti-bottle:before { - content: '\ef0b'; -} -.ti-box:before { - content: '\ea45'; -} -.ti-box-margin:before { - content: '\ee0b'; -} -.ti-box-model:before { - content: '\ee0c'; -} -.ti-box-model-2:before { - content: '\ef23'; -} -.ti-box-multiple:before { - content: '\ee17'; -} -.ti-box-multiple-0:before { - content: '\ee0d'; -} -.ti-box-multiple-1:before { - content: '\ee0e'; -} -.ti-box-multiple-2:before { - content: '\ee0f'; -} -.ti-box-multiple-3:before { - content: '\ee10'; -} -.ti-box-multiple-4:before { - content: '\ee11'; -} -.ti-box-multiple-5:before { - content: '\ee12'; -} -.ti-box-multiple-6:before { - content: '\ee13'; -} -.ti-box-multiple-7:before { - content: '\ee14'; -} -.ti-box-multiple-8:before { - content: '\ee15'; -} -.ti-box-multiple-9:before { - content: '\ee16'; -} -.ti-box-padding:before { - content: '\ee18'; -} -.ti-braces:before { - content: '\ebcc'; -} -.ti-brackets:before { - content: '\ebcd'; -} -.ti-brand-airbnb:before { - content: '\ed68'; -} -.ti-brand-android:before { - content: '\ec16'; -} -.ti-brand-apple:before { - content: '\ec17'; -} -.ti-brand-apple-arcade:before { - content: '\ed69'; -} -.ti-brand-appstore:before { - content: '\ed24'; -} -.ti-brand-asana:before { - content: '\edc5'; -} -.ti-brand-behance:before { - content: '\ec6e'; -} -.ti-brand-bing:before { - content: '\edc6'; -} -.ti-brand-bitbucket:before { - content: '\edc7'; -} -.ti-brand-booking:before { - content: '\edc8'; -} -.ti-brand-chrome:before { - content: '\ec18'; -} -.ti-brand-codepen:before { - content: '\ec6f'; -} -.ti-brand-codesandbox:before { - content: '\ed6a'; -} -.ti-brand-css3:before { - content: '\ed6b'; -} -.ti-brand-deviantart:before { - content: '\ecfb'; -} -.ti-brand-discord:before { - content: '\ece3'; -} -.ti-brand-disqus:before { - content: '\edc9'; -} -.ti-brand-docker:before { - content: '\edca'; -} -.ti-brand-dribbble:before { - content: '\ec19'; -} -.ti-brand-edge:before { - content: '\ecfc'; -} -.ti-brand-facebook:before { - content: '\ec1a'; -} -.ti-brand-figma:before { - content: '\ec93'; -} -.ti-brand-firefox:before { - content: '\ecfd'; -} -.ti-brand-flickr:before { - content: '\ecfe'; -} -.ti-brand-foursquare:before { - content: '\ecff'; -} -.ti-brand-framer:before { - content: '\ec1b'; -} -.ti-brand-github:before { - content: '\ec1c'; -} -.ti-brand-gitlab:before { - content: '\ec1d'; -} -.ti-brand-google:before { - content: '\ec1f'; -} -.ti-brand-google-analytics:before { - content: '\edcb'; -} -.ti-brand-google-drive:before { - content: '\ec1e'; -} -.ti-brand-google-play:before { - content: '\ed25'; -} -.ti-brand-gravatar:before { - content: '\edcc'; -} -.ti-brand-hipchat:before { - content: '\edcd'; -} -.ti-brand-html5:before { - content: '\ed6c'; -} -.ti-brand-instagram:before { - content: '\ec20'; -} -.ti-brand-javascript:before { - content: '\ef0c'; -} -.ti-brand-kickstarter:before { - content: '\edce'; -} -.ti-brand-kotlin:before { - content: '\ed6d'; -} -.ti-brand-linkedin:before { - content: '\ec8c'; -} -.ti-brand-medium:before { - content: '\ec70'; -} -.ti-brand-messenger:before { - content: '\ec71'; -} -.ti-brand-netflix:before { - content: '\edcf'; -} -.ti-brand-open-source:before { - content: '\edd0'; -} -.ti-brand-opera:before { - content: '\ec21'; -} -.ti-brand-pagekit:before { - content: '\edd1'; -} -.ti-brand-patreon:before { - content: '\edd2'; -} -.ti-brand-paypal:before { - content: '\ec22'; -} -.ti-brand-pinterest:before { - content: '\ec8d'; -} -.ti-brand-pocket:before { - content: '\ed00'; -} -.ti-brand-producthunt:before { - content: '\edd3'; -} -.ti-brand-python:before { - content: '\ed01'; -} -.ti-brand-reddit:before { - content: '\ec8e'; -} -.ti-brand-safari:before { - content: '\ec23'; -} -.ti-brand-sass:before { - content: '\edd4'; -} -.ti-brand-sentry:before { - content: '\edd5'; -} -.ti-brand-shazam:before { - content: '\edd6'; -} -.ti-brand-sketch:before { - content: '\ec24'; -} -.ti-brand-skype:before { - content: '\ed02'; -} -.ti-brand-slack:before { - content: '\ec72'; -} -.ti-brand-snapchat:before { - content: '\ec25'; -} -.ti-brand-soundcloud:before { - content: '\ed6e'; -} -.ti-brand-spotify:before { - content: '\ed03'; -} -.ti-brand-steam:before { - content: '\ed6f'; -} -.ti-brand-stripe:before { - content: '\edd7'; -} -.ti-brand-tabler:before { - content: '\ec8f'; -} -.ti-brand-tailwind:before { - content: '\eca1'; -} -.ti-brand-telegram:before { - content: '\ec26'; -} -.ti-brand-tidal:before { - content: '\ed70'; -} -.ti-brand-tiktok:before { - content: '\ec73'; -} -.ti-brand-tinder:before { - content: '\ed71'; -} -.ti-brand-tumblr:before { - content: '\ed04'; -} -.ti-brand-twitch:before { - content: '\ed05'; -} -.ti-brand-twitter:before { - content: '\ec27'; -} -.ti-brand-unsplash:before { - content: '\edd8'; -} -.ti-brand-vercel:before { - content: '\ef24'; -} -.ti-brand-vimeo:before { - content: '\ed06'; -} -.ti-brand-vk:before { - content: '\ed72'; -} -.ti-brand-whatsapp:before { - content: '\ec74'; -} -.ti-brand-windows:before { - content: '\ecd8'; -} -.ti-brand-yahoo:before { - content: '\ed73'; -} -.ti-brand-ycombinator:before { - content: '\edd9'; -} -.ti-brand-youtube:before { - content: '\ec90'; -} -.ti-briefcase:before { - content: '\ea46'; -} -.ti-brightness:before { - content: '\eb7f'; -} -.ti-brightness-2:before { - content: '\ee19'; -} -.ti-brightness-down:before { - content: '\eb7d'; -} -.ti-brightness-half:before { - content: '\ee1a'; -} -.ti-brightness-up:before { - content: '\eb7e'; -} -.ti-browser:before { - content: '\ebb7'; -} -.ti-brush:before { - content: '\ebb8'; -} -.ti-bucket:before { - content: '\ea47'; -} -.ti-bug:before { - content: '\ea48'; -} -.ti-building:before { - content: '\ea4f'; -} -.ti-building-arch:before { - content: '\ea49'; -} -.ti-building-bank:before { - content: '\ebe2'; -} -.ti-building-bridge:before { - content: '\ea4b'; -} -.ti-building-bridge-2:before { - content: '\ea4a'; -} -.ti-building-carousel:before { - content: '\ed87'; -} -.ti-building-castle:before { - content: '\ed88'; -} -.ti-building-church:before { - content: '\ea4c'; -} -.ti-building-community:before { - content: '\ebf6'; -} -.ti-building-cottage:before { - content: '\ee1b'; -} -.ti-building-factory:before { - content: '\ee1c'; -} -.ti-building-fortress:before { - content: '\ed89'; -} -.ti-building-hospital:before { - content: '\ea4d'; -} -.ti-building-lighthouse:before { - content: '\ed8a'; -} -.ti-building-monument:before { - content: '\ed26'; -} -.ti-building-pavilon:before { - content: '\ebf7'; -} -.ti-building-skyscraper:before { - content: '\ec39'; -} -.ti-building-store:before { - content: '\ea4e'; -} -.ti-building-warehouse:before { - content: '\ebe3'; -} -.ti-bulb:before { - content: '\ea51'; -} -.ti-bulb-off:before { - content: '\ea50'; -} -.ti-bulldozer:before { - content: '\ee1d'; -} -.ti-bus:before { - content: '\ebe4'; -} -.ti-businessplan:before { - content: '\ee1e'; -} -.ti-calculator:before { - content: '\eb80'; -} -.ti-calendar:before { - content: '\ea53'; -} -.ti-calendar-event:before { - content: '\ea52'; -} -.ti-calendar-minus:before { - content: '\ebb9'; -} -.ti-calendar-off:before { - content: '\ee1f'; -} -.ti-calendar-plus:before { - content: '\ebba'; -} -.ti-calendar-stats:before { - content: '\ee20'; -} -.ti-calendar-time:before { - content: '\ee21'; -} -.ti-camera:before { - content: '\ea54'; -} -.ti-camera-minus:before { - content: '\ec3a'; -} -.ti-camera-off:before { - content: '\ecee'; -} -.ti-camera-plus:before { - content: '\ec3b'; -} -.ti-camera-rotate:before { - content: '\ee22'; -} -.ti-camera-selfie:before { - content: '\ee23'; -} -.ti-candy:before { - content: '\ef0d'; -} -.ti-capture:before { - content: '\ec3c'; -} -.ti-car:before { - content: '\ebbb'; -} -.ti-car-crane:before { - content: '\ef25'; -} -.ti-caravan:before { - content: '\ec7c'; -} -.ti-cardboards:before { - content: '\ed74'; -} -.ti-caret-down:before { - content: '\eb5d'; -} -.ti-caret-left:before { - content: '\eb5e'; -} -.ti-caret-right:before { - content: '\eb5f'; -} -.ti-caret-up:before { - content: '\eb60'; -} -.ti-cash:before { - content: '\ea55'; -} -.ti-cash-banknote:before { - content: '\ee25'; -} -.ti-cash-banknote-off:before { - content: '\ee24'; -} -.ti-cast:before { - content: '\ea56'; -} -.ti-ce:before { - content: '\ed75'; -} -.ti-certificate:before { - content: '\ed76'; -} -.ti-charging-pile:before { - content: '\ee26'; -} -.ti-chart-arcs:before { - content: '\ee28'; -} -.ti-chart-arcs-3:before { - content: '\ee27'; -} -.ti-chart-area:before { - content: '\ea58'; -} -.ti-chart-area-line:before { - content: '\ea57'; -} -.ti-chart-arrows:before { - content: '\ee2a'; -} -.ti-chart-arrows-vertical:before { - content: '\ee29'; -} -.ti-chart-bar:before { - content: '\ea59'; -} -.ti-chart-bubble:before { - content: '\ec75'; -} -.ti-chart-candle:before { - content: '\ea5a'; -} -.ti-chart-circles:before { - content: '\ee2b'; -} -.ti-chart-donut:before { - content: '\ea5b'; -} -.ti-chart-donut-2:before { - content: '\ee2c'; -} -.ti-chart-donut-3:before { - content: '\ee2d'; -} -.ti-chart-donut-4:before { - content: '\ee2e'; -} -.ti-chart-dots:before { - content: '\ee2f'; -} -.ti-chart-infographic:before { - content: '\ee30'; -} -.ti-chart-line:before { - content: '\ea5c'; -} -.ti-chart-pie:before { - content: '\ea5d'; -} -.ti-chart-pie-2:before { - content: '\ee31'; -} -.ti-chart-pie-3:before { - content: '\ee32'; -} -.ti-chart-pie-4:before { - content: '\ee33'; -} -.ti-chart-radar:before { - content: '\ed77'; -} -.ti-check:before { - content: '\ea5e'; -} -.ti-checkbox:before { - content: '\eba6'; -} -.ti-checks:before { - content: '\ebaa'; -} -.ti-cheese:before { - content: '\ef26'; -} -.ti-chevron-down:before { - content: '\ea5f'; -} -.ti-chevron-down-left:before { - content: '\ed09'; -} -.ti-chevron-down-right:before { - content: '\ed0a'; -} -.ti-chevron-left:before { - content: '\ea60'; -} -.ti-chevron-right:before { - content: '\ea61'; -} -.ti-chevron-up:before { - content: '\ea62'; -} -.ti-chevron-up-left:before { - content: '\ed0b'; -} -.ti-chevron-up-right:before { - content: '\ed0c'; -} -.ti-chevrons-down:before { - content: '\ea63'; -} -.ti-chevrons-down-left:before { - content: '\ed0d'; -} -.ti-chevrons-down-right:before { - content: '\ed0e'; -} -.ti-chevrons-left:before { - content: '\ea64'; -} -.ti-chevrons-right:before { - content: '\ea65'; -} -.ti-chevrons-up:before { - content: '\ea66'; -} -.ti-chevrons-up-left:before { - content: '\ed0f'; -} -.ti-chevrons-up-right:before { - content: '\ed10'; -} -.ti-christmas-tree:before { - content: '\ed78'; -} -.ti-circle:before { - content: '\ea6b'; -} -.ti-circle-0:before { - content: '\ee34'; -} -.ti-circle-1:before { - content: '\ee35'; -} -.ti-circle-2:before { - content: '\ee36'; -} -.ti-circle-3:before { - content: '\ee37'; -} -.ti-circle-4:before { - content: '\ee38'; -} -.ti-circle-5:before { - content: '\ee39'; -} -.ti-circle-6:before { - content: '\ee3a'; -} -.ti-circle-7:before { - content: '\ee3b'; -} -.ti-circle-8:before { - content: '\ee3c'; -} -.ti-circle-9:before { - content: '\ee3d'; -} -.ti-circle-check:before { - content: '\ea67'; -} -.ti-circle-dashed:before { - content: '\ed27'; -} -.ti-circle-dotted:before { - content: '\ed28'; -} -.ti-circle-half:before { - content: '\ee3f'; -} -.ti-circle-half-vertical:before { - content: '\ee3e'; -} -.ti-circle-minus:before { - content: '\ea68'; -} -.ti-circle-off:before { - content: '\ee40'; -} -.ti-circle-plus:before { - content: '\ea69'; -} -.ti-circle-square:before { - content: '\ece4'; -} -.ti-circle-x:before { - content: '\ea6a'; -} -.ti-circles:before { - content: '\ece5'; -} -.ti-clear-all:before { - content: '\ee41'; -} -.ti-clear-formatting:before { - content: '\ebe5'; -} -.ti-click:before { - content: '\ebbc'; -} -.ti-clipboard:before { - content: '\ea6f'; -} -.ti-clipboard-check:before { - content: '\ea6c'; -} -.ti-clipboard-list:before { - content: '\ea6d'; -} -.ti-clipboard-x:before { - content: '\ea6e'; -} -.ti-clock:before { - content: '\ea70'; -} -.ti-cloud:before { - content: '\ea76'; -} -.ti-cloud-download:before { - content: '\ea71'; -} -.ti-cloud-fog:before { - content: '\ecd9'; -} -.ti-cloud-off:before { - content: '\ed3e'; -} -.ti-cloud-rain:before { - content: '\ea72'; -} -.ti-cloud-snow:before { - content: '\ea73'; -} -.ti-cloud-storm:before { - content: '\ea74'; -} -.ti-cloud-upload:before { - content: '\ea75'; -} -.ti-code:before { - content: '\ea77'; -} -.ti-code-minus:before { - content: '\ee42'; -} -.ti-code-plus:before { - content: '\ee43'; -} -.ti-coffee:before { - content: '\ef0e'; -} -.ti-coin:before { - content: '\eb82'; -} -.ti-color-picker:before { - content: '\ebe6'; -} -.ti-color-swatch:before { - content: '\eb61'; -} -.ti-column-insert-left:before { - content: '\ee44'; -} -.ti-column-insert-right:before { - content: '\ee45'; -} -.ti-columns:before { - content: '\eb83'; -} -.ti-comet:before { - content: '\ec76'; -} -.ti-command:before { - content: '\ea78'; -} -.ti-compass:before { - content: '\ea79'; -} -.ti-confetti:before { - content: '\ee46'; -} -.ti-container:before { - content: '\ee47'; -} -.ti-contrast:before { - content: '\ec4e'; -} -.ti-cookie:before { - content: '\ef0f'; -} -.ti-copy:before { - content: '\ea7a'; -} -.ti-copyleft:before { - content: '\ec3d'; -} -.ti-copyright:before { - content: '\ea7b'; -} -.ti-corner-down-left:before { - content: '\ea7c'; -} -.ti-corner-down-left-double:before { - content: '\ee48'; -} -.ti-corner-down-right:before { - content: '\ea7d'; -} -.ti-corner-down-right-double:before { - content: '\ee49'; -} -.ti-corner-left-down:before { - content: '\ea7e'; -} -.ti-corner-left-down-double:before { - content: '\ee4a'; -} -.ti-corner-left-up:before { - content: '\ea7f'; -} -.ti-corner-left-up-double:before { - content: '\ee4b'; -} -.ti-corner-right-down:before { - content: '\ea80'; -} -.ti-corner-right-down-double:before { - content: '\ee4c'; -} -.ti-corner-right-up:before { - content: '\ea81'; -} -.ti-corner-right-up-double:before { - content: '\ee4d'; -} -.ti-corner-up-left:before { - content: '\ea82'; -} -.ti-corner-up-left-double:before { - content: '\ee4e'; -} -.ti-corner-up-right:before { - content: '\ea83'; -} -.ti-corner-up-right-double:before { - content: '\ee4f'; -} -.ti-crane:before { - content: '\ef27'; -} -.ti-credit-card:before { - content: '\ea84'; -} -.ti-credit-card-off:before { - content: '\ed11'; -} -.ti-crop:before { - content: '\ea85'; -} -.ti-crosshair:before { - content: '\ec3e'; -} -.ti-crown:before { - content: '\ed12'; -} -.ti-crown-off:before { - content: '\ee50'; -} -.ti-cup:before { - content: '\ef28'; -} -.ti-curly-loop:before { - content: '\ecda'; -} -.ti-currency-bahraini:before { - content: '\ee51'; -} -.ti-currency-bath:before { - content: '\ee52'; -} -.ti-currency-bitcoin:before { - content: '\ebab'; -} -.ti-currency-cent:before { - content: '\ee53'; -} -.ti-currency-dinar:before { - content: '\ee54'; -} -.ti-currency-dirham:before { - content: '\ee55'; -} -.ti-currency-dollar:before { - content: '\eb84'; -} -.ti-currency-dollar-australian:before { - content: '\ee56'; -} -.ti-currency-dollar-canadian:before { - content: '\ee57'; -} -.ti-currency-dollar-singapore:before { - content: '\ee58'; -} -.ti-currency-ethereum:before { - content: '\ee59'; -} -.ti-currency-euro:before { - content: '\eb85'; -} -.ti-currency-forint:before { - content: '\ee5a'; -} -.ti-currency-frank:before { - content: '\ee5b'; -} -.ti-currency-krone-czech:before { - content: '\ee5c'; -} -.ti-currency-krone-danish:before { - content: '\ee5d'; -} -.ti-currency-krone-swedish:before { - content: '\ee5e'; -} -.ti-currency-leu:before { - content: '\ee5f'; -} -.ti-currency-lira:before { - content: '\ee60'; -} -.ti-currency-litecoin:before { - content: '\ee61'; -} -.ti-currency-naira:before { - content: '\ee62'; -} -.ti-currency-pound:before { - content: '\ebac'; -} -.ti-currency-real:before { - content: '\ee63'; -} -.ti-currency-renminbi:before { - content: '\ee64'; -} -.ti-currency-ripple:before { - content: '\ee65'; -} -.ti-currency-riyal:before { - content: '\ee66'; -} -.ti-currency-rubel:before { - content: '\ee67'; -} -.ti-currency-rupee:before { - content: '\ebad'; -} -.ti-currency-shekel:before { - content: '\ee68'; -} -.ti-currency-taka:before { - content: '\ee69'; -} -.ti-currency-tugrik:before { - content: '\ee6a'; -} -.ti-currency-won:before { - content: '\ee6b'; -} -.ti-currency-yen:before { - content: '\ebae'; -} -.ti-currency-zloty:before { - content: '\ee6c'; -} -.ti-current-location:before { - content: '\ecef'; -} -.ti-cursor-text:before { - content: '\ee6d'; -} -.ti-cut:before { - content: '\ea86'; -} -.ti-dashboard:before { - content: '\ea87'; -} -.ti-database:before { - content: '\ea88'; -} -.ti-database-export:before { - content: '\ee6e'; -} -.ti-database-import:before { - content: '\ee6f'; -} -.ti-database-off:before { - content: '\ee70'; -} -.ti-details:before { - content: '\ee71'; -} -.ti-device-analytics:before { - content: '\ee72'; -} -.ti-device-audio-tape:before { - content: '\ee73'; -} -.ti-device-cctv:before { - content: '\ee74'; -} -.ti-device-computer-camera:before { - content: '\ee76'; -} -.ti-device-computer-camera-off:before { - content: '\ee75'; -} -.ti-device-desktop:before { - content: '\ea89'; -} -.ti-device-desktop-analytics:before { - content: '\ee77'; -} -.ti-device-desktop-off:before { - content: '\ee78'; -} -.ti-device-floppy:before { - content: '\eb62'; -} -.ti-device-gamepad:before { - content: '\eb63'; -} -.ti-device-laptop:before { - content: '\eb64'; -} -.ti-device-mobile:before { - content: '\ea8a'; -} -.ti-device-mobile-message:before { - content: '\ee79'; -} -.ti-device-mobile-rotated:before { - content: '\ecdb'; -} -.ti-device-mobile-vibration:before { - content: '\eb86'; -} -.ti-device-speaker:before { - content: '\ea8b'; -} -.ti-device-tablet:before { - content: '\ea8c'; -} -.ti-device-tv:before { - content: '\ea8d'; -} -.ti-device-watch:before { - content: '\ebf9'; -} -.ti-devices:before { - content: '\eb87'; -} -.ti-devices-2:before { - content: '\ed29'; -} -.ti-devices-pc:before { - content: '\ee7a'; -} -.ti-diamond:before { - content: '\eb65'; -} -.ti-dice:before { - content: '\eb66'; -} -.ti-dimensions:before { - content: '\ee7b'; -} -.ti-direction:before { - content: '\ebfb'; -} -.ti-direction-horizontal:before { - content: '\ebfa'; -} -.ti-directions:before { - content: '\ea8e'; -} -.ti-disabled:before { - content: '\ea8f'; -} -.ti-disabled-2:before { - content: '\ebaf'; -} -.ti-disc:before { - content: '\ea90'; -} -.ti-discount:before { - content: '\ebbd'; -} -.ti-discount-2:before { - content: '\ee7c'; -} -.ti-divide:before { - content: '\ed5c'; -} -.ti-dna:before { - content: '\ee7d'; -} -.ti-dog-bowl:before { - content: '\ef29'; -} -.ti-dots:before { - content: '\ea95'; -} -.ti-dots-circle-horizontal:before { - content: '\ea91'; -} -.ti-dots-diagonal:before { - content: '\ea93'; -} -.ti-dots-diagonal-2:before { - content: '\ea92'; -} -.ti-dots-vertical:before { - content: '\ea94'; -} -.ti-download:before { - content: '\ea96'; -} -.ti-drag-drop:before { - content: '\eb89'; -} -.ti-drag-drop-2:before { - content: '\eb88'; -} -.ti-drone:before { - content: '\ed79'; -} -.ti-drone-off:before { - content: '\ee7e'; -} -.ti-droplet:before { - content: '\ea97'; -} -.ti-droplet-filled:before { - content: '\ee80'; -} -.ti-droplet-filled-2:before { - content: '\ee7f'; -} -.ti-droplet-half:before { - content: '\ee82'; -} -.ti-droplet-half-2:before { - content: '\ee81'; -} -.ti-droplet-off:before { - content: '\ee83'; -} -.ti-ear:before { - content: '\ebce'; -} -.ti-ear-off:before { - content: '\ee84'; -} -.ti-edit:before { - content: '\ea98'; -} -.ti-edit-circle:before { - content: '\ee85'; -} -.ti-egg:before { - content: '\eb8a'; -} -.ti-emphasis:before { - content: '\ebcf'; -} -.ti-equal:before { - content: '\ee87'; -} -.ti-equal-not:before { - content: '\ee86'; -} -.ti-eraser:before { - content: '\eb8b'; -} -.ti-exchange:before { - content: '\ebe7'; -} -.ti-exposure:before { - content: '\eb8c'; -} -.ti-external-link:before { - content: '\ea99'; -} -.ti-eye:before { - content: '\ea9a'; -} -.ti-eye-check:before { - content: '\ee88'; -} -.ti-eye-off:before { - content: '\ecf0'; -} -.ti-eyeglass:before { - content: '\ee8a'; -} -.ti-eyeglass-2:before { - content: '\ee89'; -} -.ti-face-id:before { - content: '\ea9b'; -} -.ti-fall:before { - content: '\ecb9'; -} -.ti-feather:before { - content: '\ee8b'; -} -.ti-fence:before { - content: '\ef2a'; -} -.ti-file:before { - content: '\eaa4'; -} -.ti-file-alert:before { - content: '\ede6'; -} -.ti-file-analytics:before { - content: '\ede7'; -} -.ti-file-certificate:before { - content: '\ed4d'; -} -.ti-file-check:before { - content: '\ea9c'; -} -.ti-file-code:before { - content: '\ebd0'; -} -.ti-file-code-2:before { - content: '\ede8'; -} -.ti-file-diff:before { - content: '\ecf1'; -} -.ti-file-dislike:before { - content: '\ed2a'; -} -.ti-file-download:before { - content: '\ea9d'; -} -.ti-file-export:before { - content: '\ede9'; -} -.ti-file-horizontal:before { - content: '\ebb0'; -} -.ti-file-import:before { - content: '\edea'; -} -.ti-file-info:before { - content: '\edec'; -} -.ti-file-invoice:before { - content: '\eb67'; -} -.ti-file-like:before { - content: '\ed2b'; -} -.ti-file-minus:before { - content: '\ea9e'; -} -.ti-file-music:before { - content: '\ea9f'; -} -.ti-file-off:before { - content: '\ecf2'; -} -.ti-file-phone:before { - content: '\ecdc'; -} -.ti-file-plus:before { - content: '\eaa0'; -} -.ti-file-report:before { - content: '\eded'; -} -.ti-file-search:before { - content: '\ed5d'; -} -.ti-file-shredder:before { - content: '\eaa1'; -} -.ti-file-symlink:before { - content: '\ed53'; -} -.ti-file-text:before { - content: '\eaa2'; -} -.ti-file-upload:before { - content: '\ec91'; -} -.ti-file-x:before { - content: '\eaa3'; -} -.ti-file-zip:before { - content: '\ed4e'; -} -.ti-files:before { - content: '\edef'; -} -.ti-files-off:before { - content: '\edee'; -} -.ti-filter:before { - content: '\eaa5'; -} -.ti-filter-off:before { - content: '\ed2c'; -} -.ti-fingerprint:before { - content: '\ebd1'; -} -.ti-firetruck:before { - content: '\ebe8'; -} -.ti-fish:before { - content: '\ef2b'; -} -.ti-flag:before { - content: '\eaa6'; -} -.ti-flag-2:before { - content: '\ee8c'; -} -.ti-flag-3:before { - content: '\ee8d'; -} -.ti-flame:before { - content: '\ec2c'; -} -.ti-flare:before { - content: '\ee8e'; -} -.ti-flask:before { - content: '\ebd2'; -} -.ti-flip-horizontal:before { - content: '\eaa7'; -} -.ti-flip-vertical:before { - content: '\eaa8'; -} -.ti-float-center:before { - content: '\ebb1'; -} -.ti-float-left:before { - content: '\ebb2'; -} -.ti-float-none:before { - content: '\ed13'; -} -.ti-float-right:before { - content: '\ebb3'; -} -.ti-focus:before { - content: '\eb8d'; -} -.ti-focus-2:before { - content: '\ebd3'; -} -.ti-fold:before { - content: '\ed56'; -} -.ti-fold-down:before { - content: '\ed54'; -} -.ti-fold-up:before { - content: '\ed55'; -} -.ti-folder:before { - content: '\eaad'; -} -.ti-folder-minus:before { - content: '\eaaa'; -} -.ti-folder-off:before { - content: '\ed14'; -} -.ti-folder-plus:before { - content: '\eaab'; -} -.ti-folder-x:before { - content: '\eaac'; -} -.ti-folders:before { - content: '\eaae'; -} -.ti-forbid:before { - content: '\ebd5'; -} -.ti-forbid-2:before { - content: '\ebd4'; -} -.ti-forklift:before { - content: '\ebe9'; -} -.ti-forms:before { - content: '\ee8f'; -} -.ti-frame:before { - content: '\eaaf'; -} -.ti-friends:before { - content: '\eab0'; -} -.ti-gas-station:before { - content: '\ec7d'; -} -.ti-gauge:before { - content: '\eab1'; -} -.ti-geometry:before { - content: '\ee90'; -} -.ti-ghost:before { - content: '\eb8e'; -} -.ti-gift:before { - content: '\eb68'; -} -.ti-git-branch:before { - content: '\eab2'; -} -.ti-git-commit:before { - content: '\eab3'; -} -.ti-git-compare:before { - content: '\eab4'; -} -.ti-git-fork:before { - content: '\eb8f'; -} -.ti-git-merge:before { - content: '\eab5'; -} -.ti-git-pull-request:before { - content: '\eab6'; -} -.ti-glass:before { - content: '\eab8'; -} -.ti-glass-full:before { - content: '\eab7'; -} -.ti-glass-off:before { - content: '\ee91'; -} -.ti-globe:before { - content: '\eab9'; -} -.ti-golf:before { - content: '\ed8c'; -} -.ti-gps:before { - content: '\ed7a'; -} -.ti-grain:before { - content: '\ee92'; -} -.ti-grid-dots:before { - content: '\eaba'; -} -.ti-grip-horizontal:before { - content: '\ec00'; -} -.ti-grip-vertical:before { - content: '\ec01'; -} -.ti-growth:before { - content: '\ee93'; -} -.ti-h-1:before { - content: '\ec94'; -} -.ti-h-2:before { - content: '\ec95'; -} -.ti-h-3:before { - content: '\ec96'; -} -.ti-h-4:before { - content: '\ec97'; -} -.ti-h-5:before { - content: '\ec98'; -} -.ti-h-6:before { - content: '\ec99'; -} -.ti-hand-finger:before { - content: '\ee94'; -} -.ti-hand-little-finger:before { - content: '\ee95'; -} -.ti-hand-middle-finger:before { - content: '\ec2d'; -} -.ti-hand-off:before { - content: '\ed15'; -} -.ti-hand-ring-finger:before { - content: '\ee96'; -} -.ti-hand-rock:before { - content: '\ee97'; -} -.ti-hand-stop:before { - content: '\ec2e'; -} -.ti-hand-three-fingers:before { - content: '\ee98'; -} -.ti-hand-two-fingers:before { - content: '\ee99'; -} -.ti-hanger:before { - content: '\ee9a'; -} -.ti-hash:before { - content: '\eabc'; -} -.ti-heading:before { - content: '\ee9b'; -} -.ti-headphones:before { - content: '\eabd'; -} -.ti-headphones-off:before { - content: '\ed1d'; -} -.ti-headset:before { - content: '\eb90'; -} -.ti-heart:before { - content: '\eabe'; -} -.ti-heart-broken:before { - content: '\ecba'; -} -.ti-helicopter:before { - content: '\ed8e'; -} -.ti-helicopter-landing:before { - content: '\ed8d'; -} -.ti-help:before { - content: '\eabf'; -} -.ti-hexagon:before { - content: '\ec02'; -} -.ti-hexagon-off:before { - content: '\ee9c'; -} -.ti-hierarchy:before { - content: '\ee9e'; -} -.ti-hierarchy-2:before { - content: '\ee9d'; -} -.ti-history:before { - content: '\ebea'; -} -.ti-home:before { - content: '\eac1'; -} -.ti-home-2:before { - content: '\eac0'; -} -.ti-ice-cream:before { - content: '\eac2'; -} -.ti-ice-cream-2:before { - content: '\ee9f'; -} -.ti-id:before { - content: '\eac3'; -} -.ti-inbox:before { - content: '\eac4'; -} -.ti-indent-decrease:before { - content: '\eb91'; -} -.ti-indent-increase:before { - content: '\eb92'; -} -.ti-infinity:before { - content: '\eb69'; -} -.ti-info-circle:before { - content: '\eac5'; -} -.ti-info-square:before { - content: '\eac6'; -} -.ti-italic:before { - content: '\eb93'; -} -.ti-jump-rope:before { - content: '\ed8f'; -} -.ti-karate:before { - content: '\ed32'; -} -.ti-key:before { - content: '\eac7'; -} -.ti-keyboard:before { - content: '\ebd6'; -} -.ti-keyboard-hide:before { - content: '\ec7e'; -} -.ti-keyboard-off:before { - content: '\eea0'; -} -.ti-keyboard-show:before { - content: '\ec7f'; -} -.ti-language:before { - content: '\ebbe'; -} -.ti-layers-difference:before { - content: '\eac8'; -} -.ti-layers-intersect:before { - content: '\eac9'; -} -.ti-layers-linked:before { - content: '\eea1'; -} -.ti-layers-subtract:before { - content: '\eaca'; -} -.ti-layers-union:before { - content: '\eacb'; -} -.ti-layout:before { - content: '\eadb'; -} -.ti-layout-2:before { - content: '\eacc'; -} -.ti-layout-align-bottom:before { - content: '\eacd'; -} -.ti-layout-align-center:before { - content: '\eace'; -} -.ti-layout-align-left:before { - content: '\eacf'; -} -.ti-layout-align-middle:before { - content: '\ead0'; -} -.ti-layout-align-right:before { - content: '\ead1'; -} -.ti-layout-align-top:before { - content: '\ead2'; -} -.ti-layout-bottombar:before { - content: '\ead3'; -} -.ti-layout-cards:before { - content: '\ec13'; -} -.ti-layout-columns:before { - content: '\ead4'; -} -.ti-layout-distribute-horizontal:before { - content: '\ead5'; -} -.ti-layout-distribute-vertical:before { - content: '\ead6'; -} -.ti-layout-grid:before { - content: '\edba'; -} -.ti-layout-grid-add:before { - content: '\edb9'; -} -.ti-layout-kanban:before { - content: '\ec3f'; -} -.ti-layout-list:before { - content: '\ec14'; -} -.ti-layout-navbar:before { - content: '\ead7'; -} -.ti-layout-rows:before { - content: '\ead8'; -} -.ti-layout-sidebar:before { - content: '\eada'; -} -.ti-layout-sidebar-right:before { - content: '\ead9'; -} -.ti-leaf:before { - content: '\ed4f'; -} -.ti-lego:before { - content: '\eadc'; -} -.ti-lemon:before { - content: '\ef10'; -} -.ti-letter-a:before { - content: '\ec50'; -} -.ti-letter-b:before { - content: '\ec51'; -} -.ti-letter-c:before { - content: '\ec52'; -} -.ti-letter-case:before { - content: '\eea5'; -} -.ti-letter-case-lower:before { - content: '\eea2'; -} -.ti-letter-case-toggle:before { - content: '\eea3'; -} -.ti-letter-case-upper:before { - content: '\eea4'; -} -.ti-letter-d:before { - content: '\ec53'; -} -.ti-letter-e:before { - content: '\ec54'; -} -.ti-letter-f:before { - content: '\ec55'; -} -.ti-letter-g:before { - content: '\ec56'; -} -.ti-letter-h:before { - content: '\ec57'; -} -.ti-letter-i:before { - content: '\ec58'; -} -.ti-letter-j:before { - content: '\ec59'; -} -.ti-letter-k:before { - content: '\ec5a'; -} -.ti-letter-l:before { - content: '\ec5b'; -} -.ti-letter-m:before { - content: '\ec5c'; -} -.ti-letter-n:before { - content: '\ec5d'; -} -.ti-letter-o:before { - content: '\ec5e'; -} -.ti-letter-p:before { - content: '\ec5f'; -} -.ti-letter-q:before { - content: '\ec60'; -} -.ti-letter-r:before { - content: '\ec61'; -} -.ti-letter-s:before { - content: '\ec62'; -} -.ti-letter-spacing:before { - content: '\eea6'; -} -.ti-letter-t:before { - content: '\ec63'; -} -.ti-letter-u:before { - content: '\ec64'; -} -.ti-letter-v:before { - content: '\ec65'; -} -.ti-letter-w:before { - content: '\ec66'; -} -.ti-letter-x:before { - content: '\ec67'; -} -.ti-letter-y:before { - content: '\ec68'; -} -.ti-letter-z:before { - content: '\ec69'; -} -.ti-letters-case:before { - content: '\ec6a'; -} -.ti-license:before { - content: '\ebc0'; -} -.ti-lifebuoy:before { - content: '\eadd'; -} -.ti-line:before { - content: '\ec40'; -} -.ti-line-dashed:before { - content: '\eea7'; -} -.ti-line-dotted:before { - content: '\eea8'; -} -.ti-line-height:before { - content: '\eb94'; -} -.ti-link:before { - content: '\eade'; -} -.ti-list:before { - content: '\eb6b'; -} -.ti-list-check:before { - content: '\eb6a'; -} -.ti-list-numbers:before { - content: '\ef11'; -} -.ti-list-search:before { - content: '\eea9'; -} -.ti-live-photo:before { - content: '\eadf'; -} -.ti-live-view:before { - content: '\ec6b'; -} -.ti-loader:before { - content: '\eca3'; -} -.ti-loader-quarter:before { - content: '\eca2'; -} -.ti-location:before { - content: '\eae0'; -} -.ti-lock:before { - content: '\eae2'; -} -.ti-lock-access:before { - content: '\eeaa'; -} -.ti-lock-off:before { - content: '\ed1e'; -} -.ti-lock-open:before { - content: '\eae1'; -} -.ti-login:before { - content: '\eba7'; -} -.ti-logout:before { - content: '\eba8'; -} -.ti-macro:before { - content: '\eeab'; -} -.ti-magnet:before { - content: '\eae3'; -} -.ti-mail:before { - content: '\eae5'; -} -.ti-mail-forward:before { - content: '\eeac'; -} -.ti-mail-opened:before { - content: '\eae4'; -} -.ti-mailbox:before { - content: '\eead'; -} -.ti-man:before { - content: '\eae6'; -} -.ti-manual-gearbox:before { - content: '\ed7b'; -} -.ti-map:before { - content: '\eae9'; -} -.ti-map-2:before { - content: '\eae7'; -} -.ti-map-pin:before { - content: '\eae8'; -} -.ti-map-pin-off:before { - content: '\ecf3'; -} -.ti-map-pins:before { - content: '\ed5e'; -} -.ti-markdown:before { - content: '\ec41'; -} -.ti-marquee:before { - content: '\ec77'; -} -.ti-marquee-2:before { - content: '\eeae'; -} -.ti-mars:before { - content: '\ec80'; -} -.ti-mask:before { - content: '\eeb0'; -} -.ti-mask-off:before { - content: '\eeaf'; -} -.ti-massage:before { - content: '\eeb1'; -} -.ti-math:before { - content: '\ebeb'; -} -.ti-math-function:before { - content: '\eeb2'; -} -.ti-math-symbols:before { - content: '\eeb3'; -} -.ti-maximize:before { - content: '\eaea'; -} -.ti-meat:before { - content: '\ef12'; -} -.ti-medal:before { - content: '\ec78'; -} -.ti-medical-cross:before { - content: '\ec2f'; -} -.ti-menu:before { - content: '\eaeb'; -} -.ti-menu-2:before { - content: '\ec42'; -} -.ti-message:before { - content: '\eaef'; -} -.ti-message-2:before { - content: '\eaec'; -} -.ti-message-circle:before { - content: '\eaed'; -} -.ti-message-circle-2:before { - content: '\ed3f'; -} -.ti-message-circle-off:before { - content: '\ed40'; -} -.ti-message-dots:before { - content: '\eaee'; -} -.ti-message-off:before { - content: '\ed41'; -} -.ti-message-plus:before { - content: '\ec9a'; -} -.ti-message-report:before { - content: '\ec9b'; -} -.ti-messages:before { - content: '\eb6c'; -} -.ti-messages-off:before { - content: '\ed42'; -} -.ti-microphone:before { - content: '\eaf0'; -} -.ti-microphone-2:before { - content: '\ef2c'; -} -.ti-microphone-off:before { - content: '\ed16'; -} -.ti-milk:before { - content: '\ef13'; -} -.ti-minimize:before { - content: '\eaf1'; -} -.ti-minus:before { - content: '\eaf2'; -} -.ti-minus-vertical:before { - content: '\eeb4'; -} -.ti-mist:before { - content: '\ec30'; -} -.ti-mood-boy:before { - content: '\ed2d'; -} -.ti-mood-confuzed:before { - content: '\eaf3'; -} -.ti-mood-crazy-happy:before { - content: '\ed90'; -} -.ti-mood-cry:before { - content: '\ecbb'; -} -.ti-mood-empty:before { - content: '\eeb5'; -} -.ti-mood-happy:before { - content: '\eaf4'; -} -.ti-mood-kid:before { - content: '\ec03'; -} -.ti-mood-neutral:before { - content: '\eaf5'; -} -.ti-mood-sad:before { - content: '\eaf6'; -} -.ti-mood-smile:before { - content: '\eaf7'; -} -.ti-mood-suprised:before { - content: '\ec04'; -} -.ti-mood-tongue:before { - content: '\eb95'; -} -.ti-moon:before { - content: '\eaf8'; -} -.ti-moon-2:before { - content: '\ece6'; -} -.ti-moon-stars:before { - content: '\ece7'; -} -.ti-moped:before { - content: '\ecbc'; -} -.ti-motorbike:before { - content: '\eeb6'; -} -.ti-mouse:before { - content: '\eaf9'; -} -.ti-movie:before { - content: '\eafa'; -} -.ti-mug:before { - content: '\eafb'; -} -.ti-mushroom:before { - content: '\ef14'; -} -.ti-music:before { - content: '\eafc'; -} -.ti-new-section:before { - content: '\ebc1'; -} -.ti-news:before { - content: '\eafd'; -} -.ti-nfc:before { - content: '\eeb7'; -} -.ti-note:before { - content: '\eb6d'; -} -.ti-notebook:before { - content: '\eb96'; -} -.ti-notes:before { - content: '\eb6e'; -} -.ti-notification:before { - content: '\eafe'; -} -.ti-number-0:before { - content: '\edf0'; -} -.ti-number-1:before { - content: '\edf1'; -} -.ti-number-2:before { - content: '\edf2'; -} -.ti-number-3:before { - content: '\edf3'; -} -.ti-number-4:before { - content: '\edf4'; -} -.ti-number-5:before { - content: '\edf5'; -} -.ti-number-6:before { - content: '\edf6'; -} -.ti-number-7:before { - content: '\edf7'; -} -.ti-number-8:before { - content: '\edf8'; -} -.ti-number-9:before { - content: '\edf9'; -} -.ti-octagon:before { - content: '\ecbd'; -} -.ti-octagon-off:before { - content: '\eeb8'; -} -.ti-old:before { - content: '\eeb9'; -} -.ti-olympics:before { - content: '\eeba'; -} -.ti-omega:before { - content: '\eb97'; -} -.ti-outlet:before { - content: '\ebd7'; -} -.ti-overline:before { - content: '\eebb'; -} -.ti-package:before { - content: '\eaff'; -} -.ti-pacman:before { - content: '\eebc'; -} -.ti-page-break:before { - content: '\ec81'; -} -.ti-paint:before { - content: '\eb00'; -} -.ti-palette:before { - content: '\eb01'; -} -.ti-panorama-horizontal:before { - content: '\ed33'; -} -.ti-panorama-vertical:before { - content: '\ed34'; -} -.ti-paperclip:before { - content: '\eb02'; -} -.ti-parachute:before { - content: '\ed7c'; -} -.ti-parentheses:before { - content: '\ebd8'; -} -.ti-parking:before { - content: '\eb03'; -} -.ti-peace:before { - content: '\ecbe'; -} -.ti-pencil:before { - content: '\eb04'; -} -.ti-pennant:before { - content: '\ed7d'; -} -.ti-pepper:before { - content: '\ef15'; -} -.ti-percentage:before { - content: '\ecf4'; -} -.ti-perspective:before { - content: '\eebd'; -} -.ti-phone:before { - content: '\eb09'; -} -.ti-phone-call:before { - content: '\eb05'; -} -.ti-phone-calling:before { - content: '\ec43'; -} -.ti-phone-check:before { - content: '\ec05'; -} -.ti-phone-incoming:before { - content: '\eb06'; -} -.ti-phone-off:before { - content: '\ecf5'; -} -.ti-phone-outgoing:before { - content: '\eb07'; -} -.ti-phone-pause:before { - content: '\eb08'; -} -.ti-phone-plus:before { - content: '\ec06'; -} -.ti-phone-x:before { - content: '\ec07'; -} -.ti-photo:before { - content: '\eb0a'; -} -.ti-photo-off:before { - content: '\ecf6'; -} -.ti-physotherapist:before { - content: '\eebe'; -} -.ti-picture-in-picture:before { - content: '\ed35'; -} -.ti-picture-in-picture-off:before { - content: '\ed43'; -} -.ti-picture-in-picture-on:before { - content: '\ed44'; -} -.ti-pill:before { - content: '\ec44'; -} -.ti-pin:before { - content: '\ec9c'; -} -.ti-pinned:before { - content: '\ed60'; -} -.ti-pinned-off:before { - content: '\ed5f'; -} -.ti-pizza:before { - content: '\edbb'; -} -.ti-plane:before { - content: '\eb6f'; -} -.ti-plane-arrival:before { - content: '\eb99'; -} -.ti-plane-departure:before { - content: '\eb9a'; -} -.ti-planet:before { - content: '\ec08'; -} -.ti-plant:before { - content: '\ed50'; -} -.ti-plant-2:before { - content: '\ed7e'; -} -.ti-play-card:before { - content: '\eebf'; -} -.ti-player-pause:before { - content: '\ed45'; -} -.ti-player-play:before { - content: '\ed46'; -} -.ti-player-record:before { - content: '\ed47'; -} -.ti-player-skip-back:before { - content: '\ed48'; -} -.ti-player-skip-forward:before { - content: '\ed49'; -} -.ti-player-stop:before { - content: '\ed4a'; -} -.ti-player-track-next:before { - content: '\ed4b'; -} -.ti-player-track-prev:before { - content: '\ed4c'; -} -.ti-playlist:before { - content: '\eec0'; -} -.ti-plug:before { - content: '\ebd9'; -} -.ti-plus:before { - content: '\eb0b'; -} -.ti-point:before { - content: '\eb0c'; -} -.ti-pokeball:before { - content: '\eec1'; -} -.ti-polaroid:before { - content: '\eec2'; -} -.ti-pool:before { - content: '\ed91'; -} -.ti-power:before { - content: '\eb0d'; -} -.ti-pray:before { - content: '\ecbf'; -} -.ti-presentation:before { - content: '\eb70'; -} -.ti-presentation-analytics:before { - content: '\eec3'; -} -.ti-printer:before { - content: '\eb0e'; -} -.ti-prompt:before { - content: '\eb0f'; -} -.ti-propeller:before { - content: '\eec4'; -} -.ti-puzzle:before { - content: '\eb10'; -} -.ti-pyramid:before { - content: '\eec5'; -} -.ti-qrcode:before { - content: '\eb11'; -} -.ti-question-mark:before { - content: '\ec9d'; -} -.ti-radio:before { - content: '\ef2d'; -} -.ti-radioactive:before { - content: '\ecc0'; -} -.ti-radius-bottom-left:before { - content: '\eec6'; -} -.ti-radius-bottom-right:before { - content: '\eec7'; -} -.ti-radius-top-left:before { - content: '\eec8'; -} -.ti-radius-top-right:before { - content: '\eec9'; -} -.ti-rainbow:before { - content: '\edbc'; -} -.ti-receipt:before { - content: '\edfd'; -} -.ti-receipt-2:before { - content: '\edfa'; -} -.ti-receipt-off:before { - content: '\edfb'; -} -.ti-receipt-refund:before { - content: '\edfc'; -} -.ti-receipt-tax:before { - content: '\edbd'; -} -.ti-recharging:before { - content: '\eeca'; -} -.ti-record-mail:before { - content: '\eb12'; -} -.ti-rectangle:before { - content: '\ed37'; -} -.ti-rectangle-vertical:before { - content: '\ed36'; -} -.ti-recycle:before { - content: '\eb9b'; -} -.ti-refresh:before { - content: '\eb13'; -} -.ti-refresh-alert:before { - content: '\ed57'; -} -.ti-registered:before { - content: '\eb14'; -} -.ti-relation-many-to-many:before { - content: '\ed7f'; -} -.ti-relation-one-to-many:before { - content: '\ed80'; -} -.ti-relation-one-to-one:before { - content: '\ed81'; -} -.ti-repeat:before { - content: '\eb72'; -} -.ti-repeat-once:before { - content: '\eb71'; -} -.ti-replace:before { - content: '\ebc7'; -} -.ti-report:before { - content: '\eece'; -} -.ti-report-analytics:before { - content: '\eecb'; -} -.ti-report-medical:before { - content: '\eecc'; -} -.ti-report-money:before { - content: '\eecd'; -} -.ti-resize:before { - content: '\eecf'; -} -.ti-ripple:before { - content: '\ed82'; -} -.ti-road-sign:before { - content: '\ecdd'; -} -.ti-rocket:before { - content: '\ec45'; -} -.ti-rotate:before { - content: '\eb16'; -} -.ti-rotate-2:before { - content: '\ebb4'; -} -.ti-rotate-clockwise:before { - content: '\eb15'; -} -.ti-rotate-clockwise-2:before { - content: '\ebb5'; -} -.ti-rotate-rectangle:before { - content: '\ec15'; -} -.ti-route:before { - content: '\eb17'; -} -.ti-router:before { - content: '\eb18'; -} -.ti-row-insert-bottom:before { - content: '\eed0'; -} -.ti-row-insert-top:before { - content: '\eed1'; -} -.ti-rss:before { - content: '\eb19'; -} -.ti-ruler:before { - content: '\eb1a'; -} -.ti-ruler-2:before { - content: '\eed2'; -} -.ti-run:before { - content: '\ec82'; -} -.ti-sailboat:before { - content: '\ec83'; -} -.ti-salt:before { - content: '\ef16'; -} -.ti-satellite:before { - content: '\eed3'; -} -.ti-sausage:before { - content: '\ef17'; -} -.ti-scale:before { - content: '\ebc2'; -} -.ti-scan:before { - content: '\ebc8'; -} -.ti-school:before { - content: '\ecf7'; -} -.ti-scissors:before { - content: '\eb1b'; -} -.ti-scooter:before { - content: '\ec6c'; -} -.ti-scooter-electric:before { - content: '\ecc1'; -} -.ti-screen-share:before { - content: '\ed18'; -} -.ti-screen-share-off:before { - content: '\ed17'; -} -.ti-scuba-mask:before { - content: '\eed4'; -} -.ti-search:before { - content: '\eb1c'; -} -.ti-section:before { - content: '\eed5'; -} -.ti-seeding:before { - content: '\ed51'; -} -.ti-select:before { - content: '\ec9e'; -} -.ti-selector:before { - content: '\eb1d'; -} -.ti-send:before { - content: '\eb1e'; -} -.ti-separator:before { - content: '\ebda'; -} -.ti-separator-horizontal:before { - content: '\ec79'; -} -.ti-separator-vertical:before { - content: '\ec7a'; -} -.ti-server:before { - content: '\eb1f'; -} -.ti-servicemark:before { - content: '\ec09'; -} -.ti-settings:before { - content: '\eb20'; -} -.ti-settings-automation:before { - content: '\eed6'; -} -.ti-shadow:before { - content: '\eed8'; -} -.ti-shadow-off:before { - content: '\eed7'; -} -.ti-shape:before { - content: '\eb9c'; -} -.ti-shape-2:before { - content: '\eed9'; -} -.ti-shape-3:before { - content: '\eeda'; -} -.ti-share:before { - content: '\eb21'; -} -.ti-shield:before { - content: '\eb24'; -} -.ti-shield-check:before { - content: '\eb22'; -} -.ti-shield-lock:before { - content: '\ed58'; -} -.ti-shield-off:before { - content: '\ecf8'; -} -.ti-shield-x:before { - content: '\eb23'; -} -.ti-ship:before { - content: '\ec84'; -} -.ti-shirt:before { - content: '\ec0a'; -} -.ti-shopping-cart:before { - content: '\eb25'; -} -.ti-shopping-cart-discount:before { - content: '\eedb'; -} -.ti-shopping-cart-off:before { - content: '\eedc'; -} -.ti-shopping-cart-plus:before { - content: '\eedd'; -} -.ti-shopping-cart-x:before { - content: '\eede'; -} -.ti-shredder:before { - content: '\eedf'; -} -.ti-signature:before { - content: '\eee0'; -} -.ti-sitemap:before { - content: '\eb9d'; -} -.ti-skateboard:before { - content: '\ecc2'; -} -.ti-slice:before { - content: '\ebdb'; -} -.ti-slideshow:before { - content: '\ebc9'; -} -.ti-smart-home:before { - content: '\ecde'; -} -.ti-smoking:before { - content: '\ecc4'; -} -.ti-smoking-no:before { - content: '\ecc3'; -} -.ti-snowflake:before { - content: '\ec0b'; -} -.ti-soccer-field:before { - content: '\ed92'; -} -.ti-social:before { - content: '\ebec'; -} -.ti-sock:before { - content: '\eee1'; -} -.ti-sort-ascending:before { - content: '\eb26'; -} -.ti-sort-ascending-2:before { - content: '\eee2'; -} -.ti-sort-ascending-letters:before { - content: '\ef18'; -} -.ti-sort-ascending-numbers:before { - content: '\ef19'; -} -.ti-sort-descending:before { - content: '\eb27'; -} -.ti-sort-descending-2:before { - content: '\eee3'; -} -.ti-sort-descending-letters:before { - content: '\ef1a'; -} -.ti-sort-descending-numbers:before { - content: '\ef1b'; -} -.ti-soup:before { - content: '\ef2e'; -} -.ti-space:before { - content: '\ec0c'; -} -.ti-speakerphone:before { - content: '\ed61'; -} -.ti-speedboat:before { - content: '\ed93'; -} -.ti-sport-billard:before { - content: '\eee4'; -} -.ti-square:before { - content: '\eb2c'; -} -.ti-square-0:before { - content: '\eee5'; -} -.ti-square-1:before { - content: '\eee6'; -} -.ti-square-2:before { - content: '\eee7'; -} -.ti-square-3:before { - content: '\eee8'; -} -.ti-square-4:before { - content: '\eee9'; -} -.ti-square-5:before { - content: '\eeea'; -} -.ti-square-6:before { - content: '\eeeb'; -} -.ti-square-7:before { - content: '\eeec'; -} -.ti-square-8:before { - content: '\eeed'; -} -.ti-square-9:before { - content: '\eeee'; -} -.ti-square-check:before { - content: '\eb28'; -} -.ti-square-dot:before { - content: '\ed59'; -} -.ti-square-forbid:before { - content: '\ed5b'; -} -.ti-square-forbid-2:before { - content: '\ed5a'; -} -.ti-square-minus:before { - content: '\eb29'; -} -.ti-square-off:before { - content: '\eeef'; -} -.ti-square-plus:before { - content: '\eb2a'; -} -.ti-square-root:before { - content: '\eef1'; -} -.ti-square-root-2:before { - content: '\eef0'; -} -.ti-square-rotated:before { - content: '\ecdf'; -} -.ti-square-rotated-off:before { - content: '\eef2'; -} -.ti-square-toggle:before { - content: '\eef4'; -} -.ti-square-toggle-horizontal:before { - content: '\eef3'; -} -.ti-square-x:before { - content: '\eb2b'; -} -.ti-squares-diagonal:before { - content: '\eef5'; -} -.ti-squares-filled:before { - content: '\eef6'; -} -.ti-stack:before { - content: '\eb2d'; -} -.ti-stack-2:before { - content: '\eef7'; -} -.ti-stairs:before { - content: '\eca6'; -} -.ti-stairs-down:before { - content: '\eca4'; -} -.ti-stairs-up:before { - content: '\eca5'; -} -.ti-star:before { - content: '\eb2e'; -} -.ti-star-half:before { - content: '\ed19'; -} -.ti-star-off:before { - content: '\ed62'; -} -.ti-stars:before { - content: '\ed38'; -} -.ti-steering-wheel:before { - content: '\ec7b'; -} -.ti-step-into:before { - content: '\ece0'; -} -.ti-step-out:before { - content: '\ece1'; -} -.ti-stethoscope:before { - content: '\edbe'; -} -.ti-sticker:before { - content: '\eb2f'; -} -.ti-strikethrough:before { - content: '\eb9e'; -} -.ti-submarine:before { - content: '\ed94'; -} -.ti-subscript:before { - content: '\eb9f'; -} -.ti-subtask:before { - content: '\ec9f'; -} -.ti-sum:before { - content: '\eb73'; -} -.ti-sun:before { - content: '\eb30'; -} -.ti-sun-off:before { - content: '\ed63'; -} -.ti-sunrise:before { - content: '\ef1c'; -} -.ti-sunset:before { - content: '\ec31'; -} -.ti-superscript:before { - content: '\eba0'; -} -.ti-swimming:before { - content: '\ec92'; -} -.ti-switch:before { - content: '\eb33'; -} -.ti-switch-2:before { - content: '\edbf'; -} -.ti-switch-3:before { - content: '\edc0'; -} -.ti-switch-horizontal:before { - content: '\eb31'; -} -.ti-switch-vertical:before { - content: '\eb32'; -} -.ti-table:before { - content: '\eba1'; -} -.ti-table-export:before { - content: '\eef8'; -} -.ti-table-import:before { - content: '\eef9'; -} -.ti-table-off:before { - content: '\eefa'; -} -.ti-tag:before { - content: '\eb34'; -} -.ti-tallymark-1:before { - content: '\ec46'; -} -.ti-tallymark-2:before { - content: '\ec47'; -} -.ti-tallymark-3:before { - content: '\ec48'; -} -.ti-tallymark-4:before { - content: '\ec49'; -} -.ti-tallymarks:before { - content: '\ec4a'; -} -.ti-tank:before { - content: '\ed95'; -} -.ti-target:before { - content: '\eb35'; -} -.ti-temperature:before { - content: '\eb38'; -} -.ti-temperature-celsius:before { - content: '\eb36'; -} -.ti-temperature-fahrenheit:before { - content: '\eb37'; -} -.ti-temperature-minus:before { - content: '\ebed'; -} -.ti-temperature-plus:before { - content: '\ebee'; -} -.ti-template:before { - content: '\eb39'; -} -.ti-tent:before { - content: '\eefb'; -} -.ti-terminal:before { - content: '\ebdc'; -} -.ti-terminal-2:before { - content: '\ebef'; -} -.ti-test-pipe:before { - content: '\eb3a'; -} -.ti-text-direction-ltr:before { - content: '\eefc'; -} -.ti-text-direction-rtl:before { - content: '\eefd'; -} -.ti-text-wrap:before { - content: '\ebdd'; -} -.ti-text-wrap-disabled:before { - content: '\eca7'; -} -.ti-thumb-down:before { - content: '\eb3b'; -} -.ti-thumb-up:before { - content: '\eb3c'; -} -.ti-ticket:before { - content: '\eb3d'; -} -.ti-tilt-shift:before { - content: '\eefe'; -} -.ti-tir:before { - content: '\ebf0'; -} -.ti-toggle-left:before { - content: '\eb3e'; -} -.ti-toggle-right:before { - content: '\eb3f'; -} -.ti-tool:before { - content: '\eb40'; -} -.ti-tools:before { - content: '\ebca'; -} -.ti-tools-kitchen:before { - content: '\ed64'; -} -.ti-tools-kitchen-2:before { - content: '\eeff'; -} -.ti-tornado:before { - content: '\ece2'; -} -.ti-tournament:before { - content: '\ecd0'; -} -.ti-track:before { - content: '\ef00'; -} -.ti-tractor:before { - content: '\ec0d'; -} -.ti-trademark:before { - content: '\ec0e'; -} -.ti-traffic-cone:before { - content: '\ec0f'; -} -.ti-traffic-lights:before { - content: '\ed39'; -} -.ti-train:before { - content: '\ed96'; -} -.ti-transfer-in:before { - content: '\ef2f'; -} -.ti-transfer-out:before { - content: '\ef30'; -} -.ti-trash:before { - content: '\eb41'; -} -.ti-trash-off:before { - content: '\ed65'; -} -.ti-tree:before { - content: '\ef01'; -} -.ti-trees:before { - content: '\ec10'; -} -.ti-trending-down:before { - content: '\eb42'; -} -.ti-trending-down-2:before { - content: '\edc1'; -} -.ti-trending-down-3:before { - content: '\edc2'; -} -.ti-trending-up:before { - content: '\eb43'; -} -.ti-trending-up-2:before { - content: '\edc3'; -} -.ti-trending-up-3:before { - content: '\edc4'; -} -.ti-triangle:before { - content: '\eb44'; -} -.ti-triangle-off:before { - content: '\ef02'; -} -.ti-triangle-square-circle:before { - content: '\ece8'; -} -.ti-trident:before { - content: '\ecc5'; -} -.ti-trophy:before { - content: '\eb45'; -} -.ti-truck:before { - content: '\ebc4'; -} -.ti-truck-delivery:before { - content: '\ec4b'; -} -.ti-truck-off:before { - content: '\ef03'; -} -.ti-truck-return:before { - content: '\ec4c'; -} -.ti-typography:before { - content: '\ebc5'; -} -.ti-umbrella:before { - content: '\ebf1'; -} -.ti-underline:before { - content: '\eba2'; -} -.ti-unlink:before { - content: '\eb46'; -} -.ti-upload:before { - content: '\eb47'; -} -.ti-urgent:before { - content: '\eb48'; -} -.ti-user:before { - content: '\eb4d'; -} -.ti-user-check:before { - content: '\eb49'; -} -.ti-user-exclamation:before { - content: '\ec12'; -} -.ti-user-minus:before { - content: '\eb4a'; -} -.ti-user-off:before { - content: '\ecf9'; -} -.ti-user-plus:before { - content: '\eb4b'; -} -.ti-user-x:before { - content: '\eb4c'; -} -.ti-users:before { - content: '\ebf2'; -} -.ti-vaccine:before { - content: '\ef04'; -} -.ti-variable:before { - content: '\ef05'; -} -.ti-vector:before { - content: '\eca9'; -} -.ti-vector-beizer-2:before { - content: '\ed3a'; -} -.ti-vector-bezier:before { - content: '\ef1d'; -} -.ti-vector-triangle:before { - content: '\eca8'; -} -.ti-venus:before { - content: '\ec86'; -} -.ti-versions:before { - content: '\ed52'; -} -.ti-video:before { - content: '\ed22'; -} -.ti-video-minus:before { - content: '\ed1f'; -} -.ti-video-off:before { - content: '\ed20'; -} -.ti-video-plus:before { - content: '\ed21'; -} -.ti-view-360:before { - content: '\ed84'; -} -.ti-viewfinder:before { - content: '\eb4e'; -} -.ti-viewport-narrow:before { - content: '\ebf3'; -} -.ti-viewport-wide:before { - content: '\ebf4'; -} -.ti-virus:before { - content: '\eb74'; -} -.ti-virus-off:before { - content: '\ed66'; -} -.ti-virus-search:before { - content: '\ed67'; -} -.ti-vocabulary:before { - content: '\ef1e'; -} -.ti-volume:before { - content: '\eb51'; -} -.ti-volume-2:before { - content: '\eb4f'; -} -.ti-volume-3:before { - content: '\eb50'; -} -.ti-walk:before { - content: '\ec87'; -} -.ti-wallet:before { - content: '\eb75'; -} -.ti-wand:before { - content: '\ebcb'; -} -.ti-wave-saw-tool:before { - content: '\ecd3'; -} -.ti-wave-sine:before { - content: '\ecd4'; -} -.ti-wave-square:before { - content: '\ecd5'; -} -.ti-wifi:before { - content: '\eb52'; -} -.ti-wifi-0:before { - content: '\eba3'; -} -.ti-wifi-1:before { - content: '\eba4'; -} -.ti-wifi-2:before { - content: '\eba5'; -} -.ti-wifi-off:before { - content: '\ecfa'; -} -.ti-wind:before { - content: '\ec34'; -} -.ti-windmill:before { - content: '\ed85'; -} -.ti-window:before { - content: '\ef06'; -} -.ti-wiper:before { - content: '\ecab'; -} -.ti-wiper-wash:before { - content: '\ecaa'; -} -.ti-woman:before { - content: '\eb53'; -} -.ti-world:before { - content: '\eb54'; -} -.ti-world-latitude:before { - content: '\ed2e'; -} -.ti-world-longitude:before { - content: '\ed2f'; -} -.ti-wrecking-ball:before { - content: '\ed97'; -} -.ti-writing:before { - content: '\ef08'; -} -.ti-writing-sign:before { - content: '\ef07'; -} -.ti-x:before { - content: '\eb55'; -} -.ti-yin-yang:before { - content: '\ec35'; -} -.ti-zodiac-aquarius:before { - content: '\ecac'; -} -.ti-zodiac-aries:before { - content: '\ecad'; -} -.ti-zodiac-cancer:before { - content: '\ecae'; -} -.ti-zodiac-capricorn:before { - content: '\ecaf'; -} -.ti-zodiac-gemini:before { - content: '\ecb0'; -} -.ti-zodiac-leo:before { - content: '\ecb1'; -} -.ti-zodiac-libra:before { - content: '\ecb2'; -} -.ti-zodiac-pisces:before { - content: '\ecb3'; -} -.ti-zodiac-sagittarius:before { - content: '\ecb4'; -} -.ti-zodiac-scorpio:before { - content: '\ecb5'; -} -.ti-zodiac-taurus:before { - content: '\ecb6'; -} -.ti-zodiac-virgo:before { - content: '\ecb7'; -} -.ti-zoom-cancel:before { - content: '\ec4d'; -} -.ti-zoom-check:before { - content: '\ef09'; -} -.ti-zoom-in:before { - content: '\eb56'; -} -.ti-zoom-money:before { - content: '\ef0a'; -} -.ti-zoom-out:before { - content: '\eb57'; -} -.ti-zoom-question:before { - content: '\edeb'; -} diff --git a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.eot b/jambotron-ui/src/scss/fonts/tabler/tabler-icons.eot deleted file mode 100644 index a3b3e8c..0000000 Binary files a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.eot and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.svg b/jambotron-ui/src/scss/fonts/tabler/tabler-icons.svg deleted file mode 100644 index 07eee78..0000000 --- a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.svg +++ /dev/null @@ -1,3906 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - diff --git a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.ttf b/jambotron-ui/src/scss/fonts/tabler/tabler-icons.ttf deleted file mode 100644 index 8863a30..0000000 Binary files a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.ttf and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.woff b/jambotron-ui/src/scss/fonts/tabler/tabler-icons.woff deleted file mode 100644 index c78f044..0000000 Binary files a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.woff and /dev/null differ diff --git a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.woff2 b/jambotron-ui/src/scss/fonts/tabler/tabler-icons.woff2 deleted file mode 100644 index 1df7554..0000000 Binary files a/jambotron-ui/src/scss/fonts/tabler/tabler-icons.woff2 and /dev/null differ diff --git a/jambotron-ui/src/scss/settings/bootstrap-variables.scss b/jambotron-ui/src/scss/settings/bootstrap-variables.scss deleted file mode 100644 index fe737ad..0000000 --- a/jambotron-ui/src/scss/settings/bootstrap-variables.scss +++ /dev/null @@ -1,735 +0,0 @@ -// Variables -// -// Variables should follow the `$component-state-property-size` formula for -// consistent naming. Ex: $nav-link-disabled-color and $modal-content-box-shadow-xs. - -// Color system - -$grays: ( - '100': $gray-100, - '200': $gray-200, - '300': $gray-300, - '400': $gray-400, - '500': $gray-500, - '600': $gray-600, - '700': $gray-700, - '800': $gray-800, - '900': $gray-900 -); - -// scss-docs-start colors-map -$colors: ( - 'blue': $blue, - 'indigo': $indigo, - 'purple': $purple, - 'pink': $pink, - 'red': $red, - 'orange': $orange, - 'yellow': $yellow, - 'green': $green, - 'teal': $teal, - 'cyan': $cyan, - 'black': $black, - 'white': $white, - 'gray': $gray-600, - 'gray-dark': $gray-800 -); -// scss-docs-end colors-map - -$primary: $blue; // change -$secondary: $secondary; // change -$success: $green; // change -$info: $cyan; // change -$warning: $yellow; // change -$danger: $red; // change -$light: $gray-100; // change -$dark: $dark; // change - -// scss-docs-start theme-colors-map -$theme-colors: ( - 'primary': $primary, - 'secondary': $secondary, - 'success': $success, - 'info': $info, - 'warning': $warning, - 'danger': $danger, - 'light': $light, - 'dark': $dark -); -// scss-docs-end theme-colors-map - -// scss-docs-start theme-colors-rgb -$theme-colors-rgb: map-loop($theme-colors, to-rgb, '$value'); -// scss-docs-end theme-colors-rgb - -// The contrast ratio to reach against white, to determine if color changes from "light" to "dark". Acceptable values for WCAG 2.0 are 3, 4.5 and 7. -// See https://www.w3.org/TR/WCAG20/#visual-audio-contrast-contrast -$min-contrast-ratio: 1.55; - -// Customize the light and dark text colors for use in our color contrast function. -$color-contrast-dark: $body-color; -$color-contrast-light: $white; - -// fusv-disable -$blues: ( - 'blue-100': $blue-100, - 'blue-200': $blue-200, - 'blue-300': $blue-300, - 'blue-400': $blue-400, - 'blue-500': $blue-500, - 'blue-600': $blue-600, - 'blue-700': $blue-700, - 'blue-800': $blue-800, - 'blue-900': $blue-900 -); - -// Characters which are escaped by the escape-svg function -$escaped-characters: (('<', '%3c'), ('>', '%3e'), ('#', '%23'), ('(', '%28'), (')', '%29')); - -$variable-prefix: bs-; // Deprecated in v5.2.0 for the shorter `$prefix` -$prefix: $variable-prefix; - -// Gradient - -$gradient: linear-gradient(180deg, rgba($white, 0.15), rgba($white, 0)); - -// Spacing -$spacer: 1rem; -$spacers: ( - 0: 0, - 1: $spacer * 0.25, - 2: $spacer * 0.5, - 3: $spacer, - 4: $spacer * 1.5, - 5: $spacer * 3 -); -// scss-docs-end spacer-variables-maps - -// Position -// -// Define the edge positioning anchors of the position utilities. - -// scss-docs-start position-map -$position-values: ( - 0: 0, - 50: 50%, - 100: 100% -); -// scss-docs-end position-map - -// Body -// -// Settings for the `` element. -$body-bg: #fafafb; // change -$body-color: $gray-900; // change -$body-text-align: null; - -// Links -// -// Style anchor elements. - -$link-color: $primary; -$link-decoration: none; -$link-shade-percentage: 20%; -$link-hover-color: shift-color($link-color, $link-shade-percentage); -$link-hover-decoration: underline; - -$stretched-link-pseudo-element: after; -$stretched-link-z-index: 1; - -// Paragraphs -// -// Style p element. - -$paragraph-margin-bottom: 1rem; - -// Grid breakpoints -// -// Define the minimum dimensions at which your layout will change, -// adapting to different screen sizes, for use in media queries. - -// scss-docs-start grid-breakpoints -$grid-breakpoints: ( - xs: 0, - sm: 576px, - md: 768px, - lg: 992px, - xl: 1200px, - xxl: 1400px -); -// scss-docs-end grid-breakpoints - -@include _assert-ascending($grid-breakpoints, '$grid-breakpoints'); -@include _assert-starts-at-zero($grid-breakpoints, '$grid-breakpoints'); - -// Grid containers -// -// Define the maximum width of `.container` for different screen sizes. - -// scss-docs-start container-max-widths -$container-max-widths: ( - sm: 540px, - md: 720px, - lg: 960px, - xl: 1140px, - xxl: 1320px -); -// scss-docs-end container-max-widths - -@include _assert-ascending($container-max-widths, '$container-max-widths'); - -// Grid columns -// -// Set the number of columns and specify the width of the gutters. - -$grid-columns: 12; -$grid-gutter-width: 1.5rem; -$grid-row-columns: 6; - -// Container padding - -$container-padding-x: $grid-gutter-width; - -// Components -// -// Define common padding and border radius sizes and more. - -// scss-docs-start border-variables -$border-width: 1px; -$border-widths: ( - 0: 0, - 1: 1px, - 2: 2px, - 3: 3px, - 4: 4px, - 5: 5px -); - -$border-style: solid; -$border-color: #e6ebf1; -$border-color-translucent: rgba($black, 0.175); - -$border-radius: 4px; // change -$border-radius-lg: 6px; // change -$border-radius-sm: 2px; // change -$border-radius-pill: 50rem; -// scss-docs-end border-radius-variables - -$box-shadow-sm: 0 0.125rem 0.25rem rgba($black, 0.075); -$box-shadow: 0 0.5rem 1rem rgba($black, 0.15); -$box-shadow-lg: 0 1rem 3rem rgba($black, 0.175); -$box-shadow-inset: inset 0 1px 2px rgba($black, 0.075); - -$component-active-color: $white; -$component-active-bg: var(--bs-primary); - -// scss-docs-start caret-variables -$caret-width: 0.3em; -$caret-vertical-align: $caret-width * 0.85; -$caret-spacing: $caret-width * 0.85; -// scss-docs-end caret-variables - -$transition-base: all 0.2s ease-in-out; -$transition-fade: opacity 0.15s linear; -// scss-docs-start collapse-transition -$transition-collapse: height 0.35s ease; -$transition-collapse-width: width 0.35s ease; - -// stylelint-disable function-disallowed-list -// scss-docs-start aspect-ratios -$aspect-ratios: ( - '1x1': 100%, - '4x3': calc(3 / 4 * 100%), - '16x9': calc(9 / 16 * 100%), - '21x9': calc(9 / 21 * 100%) -); -// scss-docs-end aspect-ratios -// stylelint-enable function-disallowed-list - -// Typography -// -// Font, line-height, and color for body text, headings, and more. - -// stylelint-disable value-keyword-case -$font-family-sans-serif: 'Public Sans', sans-serif; // change -$font-family-monospace: SFMono-Regular, Menlo, Monaco, Consolas, 'Liberation Mono', 'Courier New', monospace; -// stylelint-enable value-keyword-case -$font-family-base: var(--#{$variable-prefix}font-sans-serif); -$font-family-code: var(--#{$variable-prefix}font-monospace); - -$font-size-root: null; -$font-size-base: 0.875rem; -$font-size-sm: $font-size-base * 0.875; -$font-size-lg: $font-size-base * 1.25; -$font-weight-lighter: lighter; -$font-weight-light: 300; -$font-weight-normal: 400; -$font-weight-bold: 700; -$font-weight-bolder: bolder; - -$font-weight-base: $font-weight-normal; -$line-height-base: 1.5; -$line-height-sm: 1.25; -$line-height-lg: 2; - -$h1-font-size: 40px; // change -$h2-font-size: 30px; // change -$h3-font-size: 24px; // change -$h4-font-size: 20px; // change -$h5-font-size: 16px; // change -$h6-font-size: 14px; // change - -// scss-docs-start font-sizes -$font-sizes: ( - 1: $h1-font-size, - 2: $h2-font-size, - 3: $h3-font-size, - 4: $h4-font-size, - 5: $h5-font-size, - 6: $h6-font-size -); -// scss-docs-end font-sizes - -// scss-docs-end font-sizes -h1, -h2 { - font-weight: 700; -} - -$headings-margin-bottom: calc($spacer / 2); -$headings-font-family: null; -$headings-font-style: null; -$headings-font-weight: 600; -$headings-line-height: 1.2; -$headings-color: #262626; -$label-color: $gray-900; - -// scss-docs-start display-headings -$display-font-sizes: ( - 1: 5rem, - 2: 4.5rem, - 3: 4rem, - 4: 3.5rem, - 5: 3rem, - 6: 2.5rem -); - -$display-font-weight: 300; -$display-line-height: $headings-line-height; -// scss-docs-end display-headings - -$lead-font-size: $font-size-base * 1.25; -$lead-font-weight: 300; - -$small-font-size: 80%; - -$sub-sup-font-size: 0.75em; - -$text-muted: $gray-600; - -$hr-margin-y: $spacer; -$hr-color: inherit; -$hr-height: $border-width; -$hr-opacity: 0.13; - -$legend-margin-bottom: 0.5rem; -$legend-font-size: 1.5rem; -$legend-font-weight: null; - -$mark-padding: 0.2em; - -$dt-font-weight: $font-weight-bold; - -$nested-kbd-font-weight: $font-weight-bold; - -$list-inline-padding: 0.5rem; - -$mark-bg: #fcf8e3; -// Tables -// -// Customizes the `.table` component with basic values, each used across all table variations. -// scss-docs-start table-variables -$table-cell-padding-y: 0.9rem; -$table-cell-padding-x: 0.75rem; -$table-cell-padding-y-sm: 0.3rem; -$table-cell-padding-x-sm: 0.3rem; - -$table-cell-vertical-align: top; - -$table-color: $body-color; -$table-bg: transparent; -$table-accent-bg: transparent; - -$table-th-font-weight: null; -$table-striped-color: $table-color; -$table-striped-bg-factor: 0.05; -$table-striped-bg: rgba($black, $table-striped-bg-factor); - -$table-active-color: $table-color; -$table-active-bg-factor: 0.1; -$table-active-bg: rgba($black, $table-active-bg-factor); - -$table-hover-color: $table-color; -$table-hover-bg-factor: 0.02; -$table-hover-bg: rgba($primary, $table-hover-bg-factor); - -$table-border-factor: 0.1; -$table-border-width: $border-width; -$table-border-color: $border-color; - -$table-striped-order: odd; - -$table-group-seperator-color: currentColor; -$table-caption-color: $text-muted; - -$table-bg-scale: -80%; - -$table-variants: ( - 'primary': shift-color($primary, $table-bg-scale), - 'secondary': shift-color($secondary, $table-bg-scale), - 'success': shift-color($success, $table-bg-scale), - 'info': shift-color($info, $table-bg-scale), - 'warning': shift-color($warning, $table-bg-scale), - 'danger': shift-color($danger, $table-bg-scale), - 'light': $light, - 'dark': $dark -); -// scss-docs-end table-variables - -// Buttons + Forms -// -// Shared variables that are reassigned to `$input-` and `$btn-` specific variables. - -$input-btn-padding-y: 0.407rem; -$input-btn-padding-x: 1rem; -$input-btn-font-family: null; -$input-btn-font-size: 0.875rem; -$input-btn-line-height: $line-height-base; - -$input-btn-focus-width: 0.2rem; -$input-btn-focus-color-opacity: 0.25; -$input-btn-focus-color: rgba($component-active-bg, $input-btn-focus-color-opacity); -$input-btn-focus-blur: 0; -$input-btn-focus-box-shadow: 0 0 0 $input-btn-focus-width $input-btn-focus-color; - -$input-btn-padding-y-sm: 0.25rem; -$input-btn-padding-x-sm: 0.5rem; -$input-btn-font-size-sm: $font-size-sm; - -$input-btn-padding-y-lg: 1rem; -$input-btn-padding-x-lg: 1.3rem; -$input-btn-font-size-lg: $font-size-lg; - -$input-btn-border-width: 1px; - -// Buttons -// -// For each of Bootstrap's buttons, define text, background, and border color. - -$btn-padding-y: $input-btn-padding-y; -$btn-padding-x: $input-btn-padding-x; -$btn-font-family: $input-btn-font-family; -$btn-font-size: $input-btn-font-size; -$btn-line-height: $input-btn-line-height; -$btn-white-space: null; // Set to `nowrap` to prevent text wrapping - -$btn-padding-y-sm: $input-btn-padding-y-sm; -$btn-padding-x-sm: $input-btn-padding-x-sm; -$btn-font-size-sm: $input-btn-font-size-sm; - -$btn-padding-y-lg: $input-btn-padding-y-lg; -$btn-padding-x-lg: $input-btn-padding-x-lg; -$btn-font-size-lg: $input-btn-font-size-lg; - -$btn-border-width: $input-btn-border-width; - -$btn-font-weight: 400; -$btn-box-shadow: - inset 0 1px 0 rgba($white, 0.15), - 0 1px 1px rgba($black, 0.075); -$btn-focus-width: $input-btn-focus-width; -$btn-focus-box-shadow: $input-btn-focus-box-shadow; -$btn-disabled-opacity: 0.65; -$btn-active-box-shadow: inset 0 3px 5px rgba($black, 0.125); - -$btn-link-color: $link-color; -$btn-link-hover-color: $link-hover-color; -$btn-link-disabled-color: $gray-600; - -// Allows for customizing button radius independently from global border radius -$btn-border-radius: 4px; -$btn-border-radius-sm: 2px; -$btn-border-radius-lg: 6px; - -$btn-transition: - color 0.15s ease-in-out, - background-color 0.15s ease-in-out, - border-color 0.15s ease-in-out, - box-shadow 0.15s ease-in-out; - -$btn-hover-bg-shade-amount: 15%; -$btn-hover-bg-tint-amount: 15%; -$btn-hover-border-shade-amount: 20%; -$btn-hover-border-tint-amount: 10%; -$btn-active-bg-shade-amount: 20%; -$btn-active-bg-tint-amount: 20%; -$btn-active-border-shade-amount: 25%; -$btn-active-border-tint-amount: 10%; -// scss-docs-end btn-variables - -// Forms - -$form-text-margin-top: 0.25rem; -$form-text-font-size: $small-font-size; -$form-text-font-style: null; -$form-text-font-weight: null; -$form-text-color: $text-muted; - -$form-label-margin-bottom: 0.5rem; -$form-label-font-size: null; -$form-label-font-style: null; -$form-label-font-weight: null; -$form-label-color: $label-color; - -$input-padding-y: 0.65rem; -$input-padding-x: 0.75rem; -$input-font-family: $input-btn-font-family; -$input-font-size: $input-btn-font-size; -$input-font-weight: $font-weight-base; -$input-line-height: $input-btn-line-height; - -$input-padding-y-sm: 0.375rem; -$input-padding-x-sm: 0.7rem; -$input-font-size-sm: $input-btn-font-size-sm; - -$input-padding-y-lg: 0.775rem; -$input-padding-x-lg: 0.85rem; -$input-font-size-lg: $input-btn-font-size-lg; - -$input-bg: $white; -$input-disabled-bg: $gray-200; -$input-disabled-border-color: null; - -$input-color: $body-color; -$input-border-color: $gray-400; -$input-border-width: 1px; -$input-box-shadow: inset 0 1px 1px rgba($black, 0.075); - -$input-border-radius: 4px; -$input-border-radius-sm: 2px; -$input-border-radius-lg: 6px; - -$input-focus-bg: $input-bg; -$input-focus-border-color: $primary; -$input-focus-color: $input-color; -$input-focus-width: $input-btn-focus-width; -$input-focus-box-shadow: 0 0 0 2px rgba($component-active-bg, 0.2); - -$input-placeholder-color: $gray-600; -$input-plaintext-color: $headings-color; - -$input-height-border: $input-border-width * 2; - -$input-height-inner: add($input-line-height * 1em, calc($input-padding-y * 2)); -$input-height-inner-half: add($input-line-height * 0.5em, $input-padding-y); -$input-height-inner-quarter: add($input-line-height * 0.25em, calc($input-padding-y / 2)); - -$input-height: add($input-line-height * 1em, add($input-padding-y * 2, $input-height-border, false)); -$input-height-sm: add($input-line-height * 1em, add($input-padding-y-sm * 2, $input-height-border, false)); -$input-height-lg: add($input-line-height * 1em, add($input-padding-y-lg * 2, $input-height-border, false)); - -$input-transition: - border-color 0.15s ease-in-out, - box-shadow 0.15s ease-in-out; - -$form-color-width: 3rem; -// scss-docs-end form-input-variables - -// scss-docs-end form-validation-states - -// Z-index master list - -$zindex-dropdown: 1026; -$zindex-sticky: 1020; -$zindex-fixed: 1030; - -// Navs - -$nav-link-padding-y: 0.5rem; -$nav-link-padding-x: 1rem; -$nav-link-font-size: null; -$nav-link-font-weight: null; -$nav-link-color: null; -$nav-link-hover-color: null; -$nav-link-transition: - color 0.15s ease-in-out, - background-color 0.15s ease-in-out, - border-color 0.15s ease-in-out; -$nav-link-disabled-color: $gray-600; - -$nav-tabs-border-color: $gray-300; -$nav-tabs-border-width: $border-width; -$nav-tabs-border-radius: $border-radius; -$nav-tabs-link-hover-border-color: $gray-200 $gray-200 $nav-tabs-border-color; -$nav-tabs-link-active-color: $gray-700; -$nav-tabs-link-active-bg: $white; // change -$nav-tabs-link-active-border-color: $gray-300 $gray-300 $nav-tabs-link-active-bg; - -$nav-pills-border-radius: $border-radius; -$nav-pills-link-active-color: $component-active-color; -$nav-pills-link-active-bg: $component-active-bg; - -// Navbar - -$navbar-padding-y: calc(#{$spacer} / 2); -$navbar-padding-x: null; - -$navbar-nav-link-padding-x: 0.5rem; - -$navbar-brand-font-size: $font-size-lg; -// Compute the navbar-brand padding-y so the navbar-brand will have the same height as navbar-text and nav-link -$nav-link-height: $font-size-base * $line-height-base + $nav-link-padding-y * 2; -$navbar-brand-height: $navbar-brand-font-size * $line-height-base; -$navbar-brand-padding-y: calc(($nav-link-height - $navbar-brand-height) / 2); -$navbar-brand-margin-end: 1rem; - -$navbar-toggler-padding-y: 0.25rem; -$navbar-toggler-padding-x: 0.75rem; -$navbar-toggler-font-size: $font-size-lg; -$navbar-toggler-border-radius: $btn-border-radius; -$navbar-toggler-focus-width: $btn-focus-width; -$navbar-toggler-transition: box-shadow 0.15s ease-in-out; - -$navbar-dark-color: rgba($white, 0.9); -$navbar-dark-hover-color: rgba($white, 0.75); -$navbar-dark-active-color: $white; -$navbar-dark-disabled-color: rgba($white, 0.25); -$navbar-dark-toggler-border-color: rgba($white, 0.1); - -$navbar-light-color: rgba($black, 0.55); -$navbar-light-hover-color: rgba($black, 0.7); -$navbar-light-active-color: rgba($black, 0.9); -$navbar-light-disabled-color: rgba($black, 0.3); -$navbar-light-toggler-border-color: rgba($black, 0.1); - -$navbar-light-brand-color: $navbar-light-active-color; -$navbar-light-brand-hover-color: $navbar-light-active-color; -$navbar-dark-brand-color: $navbar-dark-active-color; -$navbar-dark-brand-hover-color: $navbar-dark-active-color; - -// Dropdowns -$dropdown-font-size: $font-size-base; -$dropdown-color: $body-color; -$dropdown-bg: $white; - -// scss-docs-start placeholders -$placeholder-opacity-max: 0.5; -$placeholder-opacity-min: 0.2; -// scss-docs-end placeholders - -// Cards -$card-spacer-y: 25px; // change -$card-spacer-x: 25px; // change -$card-title-spacer-y: calc($spacer / 2); -$card-border-width: 1px; // change -$card-border-radius: $border-radius; -$card-border-color: $border-color; -$card-inner-border-radius: calc(#{$card-border-radius} - #{$card-border-width}); -$card-cap-padding-y: 25px; -$card-cap-padding-x: 25px; -$card-cap-bg: transparent; -$card-cap-color: null; -$card-height: null; -$card-color: null; -$card-bg: $white; - -$card-img-overlay-padding: 1.25rem; - -$card-group-margin: calc($grid-gutter-width / 2); - -// Badges -$badge-font-size: 0.75em; -$badge-font-weight: 500; -$badge-color: $white; -$badge-padding-y: 0.35em; -$badge-padding-x: 0.5em; -$badge-border-radius: 2px; - -// List group - -$list-group-color: null; -$list-group-bg: $white; -$list-group-border-color: $border-color; -$list-group-border-width: $border-width; -$list-group-border-radius: $border-radius; - -$list-group-item-padding-y: calc($card-spacer-y / 1.5); -$list-group-item-padding-x: $card-spacer-x; -$list-group-item-bg-scale: -80%; -$list-group-item-color-scale: 40%; - -$list-group-hover-bg: $gray-100; -$list-group-active-color: $component-active-color; -$list-group-active-bg: $component-active-bg; -$list-group-active-border-color: $list-group-active-bg; - -$list-group-disabled-color: $gray-600; -$list-group-disabled-bg: $list-group-bg; - -$list-group-action-color: $gray-700; -$list-group-action-hover-color: $list-group-action-color; - -$list-group-action-active-color: $body-color; -$list-group-action-active-bg: $gray-200; - -// Figures - -$figure-caption-font-size: 90%; -$figure-caption-color: $gray-600; - -// Breadcrumbs - -$breadcrumb-font-size: null; -$breadcrumb-padding-y: 2; -$breadcrumb-padding-x: 0; -$breadcrumb-item-padding: 0.5rem; - -$breadcrumb-margin-bottom: 1rem; - -$breadcrumb-bg: null; -$breadcrumb-divider-color: $gray-600; -$breadcrumb-active-color: $gray-600; -$breadcrumb-divider: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' width='14' height='14' stroke='#{$gray-600}' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round' class='css-i6dzq1'%3E%3Cpolyline points='9 18 15 12 9 6'%3E%3C/polyline%3E%3C/svg%3E"); -$breadcrumb-divider-flipped: $breadcrumb-divider; -$breadcrumb-border-radius: null; - -// Close - -$btn-close-width: 1em; -$btn-close-height: $btn-close-width; -$btn-close-padding-x: 0.25em; -$btn-close-padding-y: $btn-close-padding-x; -$btn-close-color: $black; -$btn-close-bg: url("data:image/svg+xml,"); -$btn-close-focus-shadow: $input-btn-focus-box-shadow; -$btn-close-opacity: 0.5; -$btn-close-hover-opacity: 0.75; -$btn-close-focus-opacity: 1; -$btn-close-disabled-opacity: 0.25; -$btn-close-white-filter: invert(1) grayscale(100%) brightness(200%); - -// Code - -$code-font-size: 87.5%; -$code-color: $pink; - -$kbd-padding-y: 0.2rem; -$kbd-padding-x: 0.4rem; -$kbd-font-size: $code-font-size; -$kbd-color: $white; -$kbd-bg: $body-color; - -$pre-color: null; - -// scss-docs-start theme-colors-rgb -$theme-colors-rgb: map-loop($theme-colors, to-rgb, '$value'); diff --git a/jambotron-ui/src/scss/settings/color-variables.scss b/jambotron-ui/src/scss/settings/color-variables.scss deleted file mode 100644 index 657a29b..0000000 --- a/jambotron-ui/src/scss/settings/color-variables.scss +++ /dev/null @@ -1,44 +0,0 @@ -// ======================================= -// List of variables for Preset color -// ======================================= - -// Gray color -$white: #ffffff; -$gray-100: #fafafa; -$gray-200: #f5f5f5; -$gray-300: #f0f0f0; -$gray-400: #d9d9d9; -$gray-500: #bfbfbf; -$gray-600: #8c8c8c; -$gray-700: #595959; -$gray-800: #262626; -$gray-900: #141414; -$black: #000000; - -$blue: #1677ff; -$indigo: #6610f2; -$purple: #6f42c1; -$pink: #e83e8c; -$red: #ff4d4f; -$orange: #fd7e14; -$yellow: #faad14; -$green: #52c41a; -$teal: #20c997; -$cyan: #13c2c2; - -$blue-100: tint-color($blue, 80%); -$blue-200: tint-color($blue, 60%); -$blue-300: tint-color($blue, 40%); -$blue-400: tint-color($blue, 20%); -$blue-500: $blue; -$blue-600: shade-color($blue, 20%); -$blue-700: shade-color($blue, 40%); -$blue-800: shade-color($blue, 60%); -$blue-900: shade-color($blue, 80%); - -$preset-colors: ( - preset-1: ( - primary: #1890ff - ) -); -$dark-bg-color: #1a1a1a; diff --git a/jambotron-ui/src/scss/settings/theme-variables.scss b/jambotron-ui/src/scss/settings/theme-variables.scss deleted file mode 100644 index e1f2694..0000000 --- a/jambotron-ui/src/scss/settings/theme-variables.scss +++ /dev/null @@ -1,111 +0,0 @@ -// ======================================= -// List of variables for layout -// ======================================= -:root { - // body - --#{$variable-prefix}body-bg: #{$body-bg}; - --bs-body-bg-rgb: #{to-rgb($body-bg)}; - - --pc-heading-color: #{$gray-800}; - --pc-active-background: #{$gray-200}; - - // Navbar - --pc-sidebar-background: #{$white}; - --pc-sidebar-color: #262626; - --pc-sidebar-color-rgb: #{to-rgb(#262626)}; - --pc-sidebar-active-color: var(--bs-primary); - --pc-sidebar-shadow: none; - --pc-sidebar-caption-color: #{$gray-700}; - - // header - --pc-header-background: #{$white}; - --pc-header-color: #262626; - --pc-header-shadow: 0 1px 0 0px rgb(240 240 240); - - // card - --pc-card-box-shadow: none; - - // horizontal menu - --pc-header-submenu-background: #{$white}; - --pc-header-submenu-color: #{$gray-600}; -} - -$header-height: 60px; -$sidebar-width: 260px; -$sidebar-collapsed-width: 60px; -$sidebar-collapsed-active-width: 300px; -$sidebar-tab-width: 75px; -$sidebar-tab-navbar-width: 320px; - -// horizontal menu -$topbar-height: 60px; - -$soft-bg-level: -90%; - -// ===================================== -// Variables for dark layouts -// ===================================== - -$dark-layout-color: #121212; -$dark-layout-color-light: #1e1e1e; -// header -$dark-header-color: #d6d6d6; -$dark-header-shadow: 0 1px 20px 0 rgba(69, 90, 100, 0.08); - -// Menu -$dark-sidebar-color: #bfbfbf; -$dark-sidebar-caption: #d6d6d6; -$dark-sidebar-shadow: 0 1px 20px 0 rgba(69, 90, 100, 0.08); - -// card block -$dark-card-shadow: inset 0 0 0 1px #262626; - -// ===================================== -// Variables for bootstrap color -// ===================================== - -$blue: $blue-500; -$secondary: $gray-600; -$indigo: $indigo-500; -$purple: $purple-500; -$pink: $pink-500; -$red: $red-500; -$orange: $orange-500; -$yellow: $yellow-500; -$green: $green-500; -$teal: $teal-500; -$cyan: $cyan-500; -$dark: #262626; - -$primary-text: $blue-600; -$secondary-text: $gray-600; -$success-text: $green-600; -$info-text: $cyan-700; -$warning-text: $yellow-700; -$danger-text: $red-600; -$light-text: $gray-600; -$dark-text: $gray-700; - -$primary-bg-subtle: $blue-100; -$secondary-bg-subtle: $gray-100; -$success-bg-subtle: $green-100; -$info-bg-subtle: $cyan-100; -$warning-bg-subtle: $yellow-100; -$danger-bg-subtle: $red-100; -$light-bg-subtle: mix($gray-100, $white); -$dark-bg-subtle: $gray-400; - -$primary-border-subtle: $blue-200; -$secondary-border-subtle: $gray-200; -$success-border-subtle: $green-200; -$info-border-subtle: $cyan-200; -$warning-border-subtle: $yellow-200; -$danger-border-subtle: $red-200; -$light-border-subtle: $gray-200; -$dark-border-subtle: $gray-500; - -$preset-colors: ( - preset-1: ( - primary: #1677ff - ) -); diff --git a/jambotron-ui/src/scss/themes/components/avatar.scss b/jambotron-ui/src/scss/themes/components/avatar.scss deleted file mode 100644 index 75140fa..0000000 --- a/jambotron-ui/src/scss/themes/components/avatar.scss +++ /dev/null @@ -1,18 +0,0 @@ -.avatar { - display: inline-flex; - align-items: center; - justify-content: center; - border-radius: $border-radius; - font: { - size: 18px; - weight: 600; - } - width: 48px; - height: 48px; - - &.avatar-s { - width: 40px; - height: 40px; - font-size: 14px; - } -} diff --git a/jambotron-ui/src/scss/themes/components/badge.scss b/jambotron-ui/src/scss/themes/components/badge.scss deleted file mode 100644 index b5d54b5..0000000 --- a/jambotron-ui/src/scss/themes/components/badge.scss +++ /dev/null @@ -1,13 +0,0 @@ -// ============================ -// Badge css start -// ============================ - -.badge { - @each $color, $value in $theme-colors { - &.bg-light-#{$color} { - background: shift-color($value, $soft-bg-level); - color: $value; - border-color: shift-color($value, $soft-bg-level); - } - } -} diff --git a/jambotron-ui/src/scss/themes/components/button.scss b/jambotron-ui/src/scss/themes/components/button.scss deleted file mode 100644 index fa8e741..0000000 --- a/jambotron-ui/src/scss/themes/components/button.scss +++ /dev/null @@ -1,125 +0,0 @@ -// ============================ -// Button css start -// ============================ - -.btn { - font-size: 14px; - - i { - font-size: 18px; - } - - svg { - width: 18px; - height: 18px; - } - - &[class*='btn-link-'], - &[class*='btn-light-'] { - box-shadow: none; - } - - &[class*='btn-outline-']:not(:hover) { - box-shadow: none; - } - - &.btn-shadow { - box-shadow: 0 6px 7px -1px rgba(80, 86, 175, 0.3); - } - - &.btn-sm { - i { - font-size: 14px; - } - } -} -@each $color, $value in $theme-colors { - .btn-light-#{$color} { - background: shift-color($value, $soft-bg-level); - color: $value; - border-color: shift-color($value, $soft-bg-level); - .material-icons-two-tone { - background-color: $value; - } - - &:hover { - background: $value; - color: #fff; - border-color: $value; - .material-icons-two-tone { - background-color: #fff; - } - } - - &.focus, - &:focus { - background: $value; - color: #fff; - border-color: $value; - .material-icons-two-tone { - background-color: #fff; - } - } - - &:not(:disabled):not(.disabled).active, - &:not(:disabled):not(.disabled):active, - .show > &.dropdown-toggle { - background: $value; - color: #fff; - border-color: $value; - .material-icons-two-tone { - background-color: #fff; - } - } - } - - .btn-check:active, - .btn-check:checked { - + .btn-light-#{$color} { - background: $value; - color: #fff; - border-color: $value; - .material-icons-two-tone { - background-color: #fff; - } - } - } - - .btn-link-#{$color} { - background: transparent; - color: $value; - border-color: transparent; - .material-icons-two-tone { - background-color: $value; - } - &:hover { - background: shift-color($value, $soft-bg-level); - color: $value; - border-color: shift-color($value, $soft-bg-level); - } - - &.focus, - &:focus { - background: shift-color($value, $soft-bg-level); - color: $value; - border-color: shift-color($value, $soft-bg-level); - } - - &:not(:disabled):not(.disabled).active, - &:not(:disabled):not(.disabled):active, - .show > &.dropdown-toggle { - background: shift-color($value, $soft-bg-level); - color: $value; - border-color: shift-color($value, $soft-bg-level); - } - } - - .btn-check:active, - .btn-check:checked { - + .btn-link-#{$color} { - background: shift-color($value, $soft-bg-level); - color: $value; - border-color: shift-color($value, $soft-bg-level); - } - } -} diff --git a/jambotron-ui/src/scss/themes/components/card.scss b/jambotron-ui/src/scss/themes/components/card.scss deleted file mode 100644 index da64faa..0000000 --- a/jambotron-ui/src/scss/themes/components/card.scss +++ /dev/null @@ -1,58 +0,0 @@ -.card { - margin-bottom: 24px; - transition: box-shadow 0.2s ease-in-out; - - .card-header { - border-bottom: 1px solid $border-color; - - h5 { - margin-bottom: 0; - color: $headings-color; - font-size: 0.875rem; - font-weight: 600; - - + p, - + small { - margin-top: 10px; - - &:last-child { - margin-bottom: 0; - } - } - } - } - - .card-footer { - transition: box-shadow 0.2s ease-in-out; - border-top: 1px solid $border-color; - } - - &:hover { - .card-footer[class*='bg-'] { - box-shadow: none; - } - } - - .card-body { - &.pc-component { - position: relative; - padding: 25px; - border: 1px solid rgba(215, 223, 233, 0.5); - } - } -} - -@include media-breakpoint-down(sm) { - .card { - margin-bottom: 20px; - .card-header { - padding: 20px; - h5 { - font-size: 0.875rem; - } - } - .card-body { - padding: 20px; - } - } -} diff --git a/jambotron-ui/src/scss/themes/components/components.scss b/jambotron-ui/src/scss/themes/components/components.scss deleted file mode 100644 index 76cda15..0000000 --- a/jambotron-ui/src/scss/themes/components/components.scss +++ /dev/null @@ -1,8 +0,0 @@ -@import 'avatar'; -@import 'button'; -@import 'badge'; -@import 'dropdown'; -@import 'table'; -@import 'tabs'; -@import 'card'; -@import 'form'; diff --git a/jambotron-ui/src/scss/themes/components/dropdown.scss b/jambotron-ui/src/scss/themes/components/dropdown.scss deleted file mode 100644 index 72362b1..0000000 --- a/jambotron-ui/src/scss/themes/components/dropdown.scss +++ /dev/null @@ -1,85 +0,0 @@ -.dropdown-toggle { - &.arrow-none { - &:after { - display: none; - } - } -} - -.pc-header { - .dropdown-menu { - animation: 0.3s ease-in-out 0s normal forwards 0.3s fadeIn; - } -} -@keyframes fadeIn { - from { - transform: translate3d(0, 8px, 0); - opacity: 0; - } - - to { - transform: translate3d(0, 0, 0); - opacity: 1; - } -} - -.dropdown .dropdown-item { - display: flex; - align-items: center; - - &.active, - &:active, - &:focus, - &:hover { - background: var(--pc-active-background); - color: var(--bs-dropdown-link-color); - i { - &.material-icons-two-tone { - background-color: $dropdown-link-hover-color; - } - } - } -} - -.dropdown-menu { - --bs-dropdown-zindex: 8; - box-shadow: 0 4px 24px 0 rgba(62, 57, 107, 0.18); - border: none; - .dropdown-item { - padding: 10px 25px; - - i { - font-size: 18px; - margin-right: 10px; - - &.material-icons-two-tone { - vertical-align: bottom; - font-size: 22px; - background-color: var(--pc-header-color); - } - } - - svg { - width: 18px; - height: 18px; - margin-right: 10px; - } - - .float-right { - svg { - width: 14px; - height: 14px; - } - } - } -} - -.dropdown-menu-dark { - .dropdown-item { - &.active, - &:active { - color: var(--bs-dropdown-link-hover-color); - background-color: var(--bs-dropdown-link-hover-bg); - } - } -} diff --git a/jambotron-ui/src/scss/themes/components/form.scss b/jambotron-ui/src/scss/themes/components/form.scss deleted file mode 100644 index 2dfe2d6..0000000 --- a/jambotron-ui/src/scss/themes/components/form.scss +++ /dev/null @@ -1,255 +0,0 @@ -.form-group { - margin-bottom: 1rem; - - label { - font-size: 14px; - font-weight: 500; - } -} - -select.form-control, -.form-control { - &:hover { - background-color: $gray-100; - } - - &[readonly] { - opacity: 0.6; - } -} - -.input-group-text svg { - width: 18px; - height: 18px; -} - -.form-control-color-picker { - height: 43px; - padding: 0.5rem; -} - -select.form-control { - appearance: none; - background: #{$input-bg} - url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' stroke='currentColor' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round' class='css-i6dzq1'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E") - no-repeat right 0.75rem center/18px 25px; - - &[data-multiselectsplitter-firstselect-selector], - &[data-multiselectsplitter-secondselect-selector] { - background: none; - } -} - -.form-floating { - > label { - top: 1px; - } - - > .form-control:focus, - > .form-control:not(:placeholder-shown), - > .form-select { - ~ label { - color: $gray-600; - } - } - - > .form-control:focus { - ~ label { - color: $component-active-bg; - } - } - - > input { - color: $body-color; - } -} - -.user-card { - .form-search { - position: relative; - i { - position: absolute; - top: 12px; - left: 15px; - font-size: 14px; - } - .form-control { - padding-left: 42px; - background: transparent; - } - } - - .btn { - i { - font-size: inherit; - } - span { - white-space: pre; - } - } -} - -.form-check { - label { - cursor: pointer; - - input { - cursor: pointer; - } - } -} - -@each $color, $value in $theme-colors { - .form-check { - .form-check-input { - &.input-#{$color} { - &:checked { - border-color: $value; - background-color: $value; - } - } - - &.input-light-#{$color} { - &:checked { - border-color: shift-color($value, $soft-bg-level); - background-color: shift-color($value, $soft-bg-level); - - &[type='checkbox'] { - background-image: escape-svg( - url("data:image/svg+xml,") - ); - } - - &[type='radio'] { - background-image: escape-svg( - url("data:image/svg+xml,") - ); - } - } - } - - &.input-#{$color}, - &.input-light-#{$color} { - &:focus { - &[type='checkbox'], - &[type='radio'] { - box-shadow: 0 0 0 0.2rem rgba($value, 0.25); - border-color: $value; - } - } - } - } - - &.form-switch { - .form-check-input.input-light-#{$color} { - &:checked { - background-image: escape-svg( - url("data:image/svg+xml,") - ); - } - } - } - } -} - -.input-group > .input-group-append:last-child > .btn:not(:last-child):not(.dropdown-toggle), -.input-group > .input-group-append:last-child > .input-group-text:not(:last-child), -.input-group > .input-group-append:not(:last-child) > .btn, -.input-group > .input-group-append:not(:last-child) > .input-group-text, -.input-group > .input-group-prepend > .btn, -.input-group > .input-group-prepend > .input-group-text { - border-right: none; -} - -// sticky header start -.sticky-action { - top: $header-height; - position: sticky; - z-index: 1020; - background: var(--bs-card-bg); - border-radius: var(--bs-card-border-radius); -} -// sticky header end - -// switch v1 start -.switch-demo { - .custom-switch-v1 { - margin-bottom: 4px; - } -} -.custom-switch-v1 { - &.form-switch { - padding-left: 2.9em; - - .form-check-input { - height: 20px; - width: 35px; - margin-left: -2.9em; - background-image: escape-svg( - url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='4.1' fill='#{$form-switch-color}'/%3e%3c/svg%3e") - ); - transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1); - //box-shadow: 0 0 3px rgba(0, 0, 0, 0.2); - - &[class*='input-light-'] { - border: none; - } - - &:focus { - box-shadow: none; - border-color: rgba(0, 0, 0, 0.25); - } - - &:checked { - background-image: escape-svg( - url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='4.1' fill='%23ffffff'/%3e%3c/svg%3e") - ); - } - } - - @each $color, $value in $theme-colors { - .form-check-input.input-light-#{$color} { - &:checked { - background-image: escape-svg( - url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='4.1' fill='#{$value}'/%3e%3c/svg%3e") - ); - } - } - } - } - - // =========== - .custom-control-label { - &::before { - transition: 0.2s cubic-bezier(0.24, 0, 0.5, 1); - height: 20px; - width: 35px; - border-radius: 0.8rem; - top: 0; - left: -2.55rem; - } - - &::after { - top: calc(0.15625rem - 2px); - left: calc(-2.25rem - 4px); - height: 19px; - width: 19px; - border-radius: 0.7rem; - box-shadow: - 0 0 0 1px rgba(0, 0, 0, 0.1), - 0 4px 0 0 rgba(0, 0, 0, 0.04), - 0 4px 9px rgba(0, 0, 0, 0.13), - 0 3px 3px rgba(0, 0, 0, 0.05); - transition: 0.35s cubic-bezier(0.54, 1.6, 0.5, 1); - } - } - - .custom-control-input { - &:checked ~ .custom-control-label::after { - transform: translateX(0.95rem); - } - } - - // =========== -} -// switch v1 end diff --git a/jambotron-ui/src/scss/themes/components/table.scss b/jambotron-ui/src/scss/themes/components/table.scss deleted file mode 100644 index 39377f4..0000000 --- a/jambotron-ui/src/scss/themes/components/table.scss +++ /dev/null @@ -1,39 +0,0 @@ -.table { - &.table-align-center { - td, - th { - vertical-align: middle; - } - } - thead th { - padding: 0.9rem 0.75rem; - } - td, - th { - vertical-align: middle; - - &:first-child { - padding-left: 24px; - } - &:last-child { - padding-right: 24px; - } - } - &.table-borderless { - td, - th { - border: none !important; - } - } - thead th { - background-color: $gray-100; - border-top: 1px solid $gray-300; - border-bottom: 2px solid $gray-300; - font-size: 12px; - } -} - -.table-hover tbody tr:hover { - // background-color: transparentize($primary, 0.97); - background-color: $gray-200; -} diff --git a/jambotron-ui/src/scss/themes/components/tabs.scss b/jambotron-ui/src/scss/themes/components/tabs.scss deleted file mode 100644 index 8b09660..0000000 --- a/jambotron-ui/src/scss/themes/components/tabs.scss +++ /dev/null @@ -1,57 +0,0 @@ -.tabs-border { - &.nav-tabs { - .nav-item { - margin-bottom: 0; - } - - .nav-link { - border: none; - background: - no-repeat center bottom, - center 100%; - background-size: - 0 100%, - 100% 100%; - transition: background 0.3s ease-out; - background-image: linear-gradient(to top, theme-color('primary') 2px, rgba(255, 255, 255, 0) 2px); - - &.active { - background-size: - 100% 100%, - 100% 100%; - } - } - } -} - -.tabs-light { - &.nav-pill { - + .tab-content { - border-top: 1px solid $border-color; - } - - .nav-item { - margin-bottom: 0; - - .nav-link { - color: $primary; - background: shift-color($primary, $soft-bg-level); - border-radius: 4px; - transition: background 0.3s ease-out; - } - - + .nav-item { - margin-left: 10px; - } - } - - .nav-link { - border: none; - - &.active { - color: $white; - background: $primary; - } - } - } -} diff --git a/jambotron-ui/src/scss/themes/general.scss b/jambotron-ui/src/scss/themes/general.scss deleted file mode 100644 index 0157c5a..0000000 --- a/jambotron-ui/src/scss/themes/general.scss +++ /dev/null @@ -1,233 +0,0 @@ -/** ===================== - 2. Custom css start -========================== **/ - -* { - &:focus { - outline: none; - } -} - -.accordion { - --#{$prefix}accordion-color: #{$body-color}; -} - -a { - color: $black; - &:hover { - outline: none; - text-decoration: none; - } - - &:not([href]) { - color: inherit; - } -} - -p { - font-size: 14px; -} - -h6, -.h6, -h5, -.h5, -h4, -.h4, -h3, -.h3, -h2, -.h2, -h1, -.h1 { - color: var(--pc-heading-color); -} - -b, -strong { - font-weight: 600; -} - -.breadcrumb-default-icon { - .breadcrumb-item + .breadcrumb-item::before { - position: relative; - top: 2px; - } -} - -.btn-page { - .btn { - margin-right: 5px; - margin-bottom: 5px; - } - - .btn-group { - .btn { - margin-right: 0; - margin-bottom: 0; - - &:last-child { - border-left: none; - } - } - - label { - &:first-of-type { - border-right: none; - } - } - } -} - -.material-icons-two-tone { - background-color: $body-color; - -webkit-text-fill-color: transparent; - vertical-align: text-bottom; - -webkit-background-clip: text; - - &.text-white { - background-color: $white; - } -} - -.img-radius { - border-radius: 50%; -} - -.pc-icon { - &:not([class*='wid-']) { - width: 22px; - } - - &:not([class*='hei-']) { - height: 22px; - } -} - -/* ======================================================== - =============== document ====================== - ======================================================== - - Grid examples -*/ - -// modal box select -.ng-dropdown-panel.ng-select-bottom { - z-index: 1099; -} - -/* ================================ Blockquote Start ===================== */ - -@media (min-width: 1600px) { - .container { - max-width: 1540px; - } -} - -.media { - display: flex; - - .media-body { - flex-grow: 1; - } -} - -.blockquote { - padding: 0.5rem 1rem; -} - -/* ================================ Blockquote End ===================== */ - -.color-card { - .card-body { - margin: var(--bs-card-spacer-y) var(--bs-card-spacer-x); - background: rgba(107, 117, 125, 0.08); - border-radius: $border-radius; - } -} - -.color-block { - border-radius: $border-radius; - margin: 4px 0; - - @each $name, $value in $more-colors { - $i: 100; - - @while $i<=900 { - &.bg-#{$name}-#{$i} { - color: color-contrast(map-get($value, $i)); - } - - &.text-#{$name}-#{$i} { - background-color: color-contrast(map-get($value, $i)); - } - - $i: $i + 100; - } - } -} - -.row { - > div { - .color-block { - &:first-child { - margin-top: 0; - } - &:last-child { - margin-bottom: 0; - } - } - } -} - -.pagination { - .page-item { - .page-link { - border-radius: 0; - } - &:first-child { - .page-link { - border-radius: var(--bs-pagination-border-radius) 0 0 var(--bs-pagination-border-radius); - } - } - &:last-child { - .page-link { - border-radius: 0 var(--bs-pagination-border-radius) var(--bs-pagination-border-radius) 0; - } - } - } -} - -.form-search { - position: relative; - i { - position: absolute; - top: 12px; - left: 15px; - font-size: 20px; - } - .form-control { - padding-left: 50px; - } - - &.product-search { - i { - font-size: 13px; - color: rgba(0, 0, 0, 0.54); - top: 12px; - } - - .form-control { - padding-left: 35px; - } - } -} - -// offcanvas page css -.customer-body { - height: calc(100% - 60px); -} -.offcanvas-top, -.offcanvas-bottom { - min-height: 240px; -} diff --git a/jambotron-ui/src/scss/themes/generic.scss b/jambotron-ui/src/scss/themes/generic.scss deleted file mode 100644 index 102780c..0000000 --- a/jambotron-ui/src/scss/themes/generic.scss +++ /dev/null @@ -1,184 +0,0 @@ -/** ===================== - Generic-class css start -========================== **/ -/*====== Padding , Margin css starts ======*/ -$i: 0; -@while $i<=50 { - .p { - &-#{$i} { - padding: #{$i}px; - } - - &-t-#{$i} { - padding-top: #{$i}px; - } - - &-b-#{$i} { - padding-bottom: #{$i}px; - } - - &-l-#{$i} { - padding-left: #{$i}px; - } - - &-r-#{$i} { - padding-right: #{$i}px; - } - } - - .m { - &-#{$i} { - margin: #{$i}px; - } - - &-t-#{$i} { - margin-top: #{$i}px; - } - - &-b-#{$i} { - margin-bottom: #{$i}px; - } - - &-l-#{$i} { - margin-left: #{$i}px; - } - - &-r-#{$i} { - margin-right: #{$i}px; - } - } - $i: $i + 5; -} -/*====== Padding , Margin css ends ======*/ -/*====== Font-size css starts ======*/ -$i: 6; -@while $i<=80 { - .f-#{$i} { - font-size: #{$i}px; - } - $i: $i + 2; -} -/*====== Font-size css ends ======*/ -/*====== Font-weight css starts ======*/ -$i: 100; -@while $i<=900 { - .f-w-#{$i} { - font-weight: #{$i}; - } - $i: $i + 100; -} -/*====== Font-weight css ends ======*/ -/*====== width, Height css starts ======*/ -$i: 10; -@while $i<=150 { - .wid-#{$i} { - width: #{$i}px; - } - - .hei-#{$i} { - height: #{$i}px; - } - $i: $i + 5; -} -/*====== width, Height css ends ======*/ -/*====== border-width css starts ======*/ -$i: 1; -@while $i<=8 { - .b-wid-#{$i} { - border-width: #{$i}px; - } - $i: $i + 1; -} -/*====== border-width css ends ======*/ -/*====== background starts ======*/ - -.text-header { - color: var(--bs-heading-color); -} -.bg-body { - background: var(--bs-body-bg); -} -@each $color, $value in $theme-colors { - .bg-light-#{$color} { - background: shift-color($value, $soft-bg-level); - color: $value; - } - - .icon-svg-#{$color} { - fill: shift-color($value, $soft-bg-level); - stroke: $value; - } - - .material-icons-two-tone { - &.text-#{$color} { - background-color: $value; - } - } - .text-hover-#{$color}:hover { - color: $value !important; - } -} -/*====== background ends ======*/ -/*====== border color css starts ======*/ -@each $color, $value in $theme-colors { - .b-#{$color} { - border: 1px solid $value; - } - - .border-bottom-#{$color} td { - border-bottom: 1px solid $value; - } - - .border-bottom-#{$color} th { - border-bottom: 1px solid $value !important; - } - - .fill-#{$color} { - fill: $value; - } -} -/*====== border color css ends ======*/ -/*====== text-color, background color css starts ======*/ - -.text-sm { - font-size: 0.75rem !important; -} - -/*====== more bootstrap colors start ======*/ -$more-colors: ( - 'blue': ( - 100: $blue-100, - 200: $blue-200, - 300: $blue-300, - 400: $blue-400, - 500: $blue-500, - 600: $blue-600, - 700: $blue-700, - 800: $blue-800, - 900: $blue-900 - ), - 'gray': ( - 100: $gray-100, - 200: $gray-200, - 300: $gray-300, - 400: $gray-400, - 500: $gray-500, - 600: $gray-600, - 700: $gray-700, - 800: $gray-800, - 900: $gray-900 - ) -); -@each $name, $value in $more-colors { - $i: 100; - @while $i<=900 { - .bg-#{$name}-#{$i} { - background: map-get($value, $i); - } - .text-#{$name}-#{$i} { - color: map-get($value, $i); - } - $i: $i + 100; - } -} -/*====== more bootstrap colors end ======*/ diff --git a/jambotron-ui/src/scss/themes/layouts/breadcrumb/breadcrumb.scss b/jambotron-ui/src/scss/themes/layouts/breadcrumb/breadcrumb.scss deleted file mode 100644 index 1b6a23b..0000000 --- a/jambotron-ui/src/scss/themes/layouts/breadcrumb/breadcrumb.scss +++ /dev/null @@ -1,65 +0,0 @@ -.page-header { - display: flex; - align-items: center; - top: $header-height; - left: $sidebar-width; - right: 0; - z-index: 1023; - min-height: 55px; - padding: 0px 0px 13px 0px; - background: transparent; - border-radius: $border-radius; - - .page-block { - width: 100%; - } - - .page-header-title { - display: inline-block; - } - - h5 { - margin-bottom: 0; - margin-right: 8px; - padding-right: 8px; - font-weight: 500; - } - - .breadcrumb { - padding: 0; - display: inline-flex; - margin-bottom: 0; - background: transparent; - font-size: 13px; - - a { - color: var(--pc-sidebar-color); - } - - .breadcrumb-item { - .home { - color: $gray-600; - font-size: 14px; - } - - a:hover { - color: $primary; - } - - + .breadcrumb-item::before { - position: relative; - top: 2px; - } - - &:last-child { - opacity: 0.75; - } - } - - svg { - width: 14px; - height: 14px; - vertical-align: baseline; - } - } -} diff --git a/jambotron-ui/src/scss/themes/layouts/footer/footer.scss b/jambotron-ui/src/scss/themes/layouts/footer/footer.scss deleted file mode 100644 index ccfdf10..0000000 --- a/jambotron-ui/src/scss/themes/layouts/footer/footer.scss +++ /dev/null @@ -1,23 +0,0 @@ -.pc-footer { - position: relative; - z-index: 995; - margin-left: $sidebar-width; - margin-top: $header-height; - padding: 15px 0; - background: rgb(250, 250, 251); - padding: 12px 48px; - - .footer-wrapper { - padding-left: 20px; - padding-right: 20px; - } - - .footer-link { - .list-inline-item:not(:last-child) { - margin-right: 0.9rem; - } - } - @media (max-width: 1024px) { - margin-left: 0; - } -} diff --git a/jambotron-ui/src/scss/themes/layouts/menu/sidebar.scss b/jambotron-ui/src/scss/themes/layouts/menu/sidebar.scss deleted file mode 100644 index 320f103..0000000 --- a/jambotron-ui/src/scss/themes/layouts/menu/sidebar.scss +++ /dev/null @@ -1,338 +0,0 @@ -.pc-sidebar { - background: var(--pc-sidebar-background); - width: $sidebar-width; - position: fixed; - top: 0; - bottom: 0; - overflow: hidden; - z-index: 1026; - box-shadow: var(--pc-sidebar-shadow); - display: block; - height: 100vh; - color: var(--pc-sidebar-color); - border-right: 1px solid rgb(240, 240, 240); - - a { - color: #262626; - cursor: pointer; - } - - .navbar-wrapper { - width: 100%; - height: 100%; - } - - ul { - list-style: none; - padding-left: 0; - margin-bottom: 0; - } - - .m-header { - height: $header-height; - display: flex; - align-items: center; - padding: 16px 24px; - position: relative; - - .logo-sm { - display: none; - } - } - - .nav-card { - background: $gray-100; - } - - .user-profile-section { - padding: 10px 24px; - border-top: 2px solid rgb(240, 240, 240); - .dropdown-toggle::after { - display: none; - } - - .user-images { - position: relative; - display: flex; - align-items: center; - justify-content: center; - line-height: 1; - border-radius: 50%; - overflow: hidden; - width: 46px; - height: 46px; - - img { - width: 100%; - height: 100%; - text-align: center; - object-fit: cover; - color: transparent; - text-indent: 10000px; - } - } - } - - &.navbar-collapsed { - width: 0px; - height: 100%; - transition: all 0.3s ease-in-out; - - ~ app-nav-bar .pc-header { - left: 0px; - } - - ~ .pc-footer { - margin-left: 20px; - } - - ~ .pc-container { - margin-left: 0px; - } - - .navbar-wrapper { - .m-header { - left: -260px; - } - } - } - .navbar-content { - // position: relative; - // height: calc(100vh - 60px); - padding: 16px 0; - - .coded-inner-navbar { - flex-direction: column; - - app-nav-item > li.active:after { - top: 0 !important; - height: 100% !important; - } - - li { - &.coded-hasmenu { - position: relative; - padding-bottom: 2px; - - > a { - &:after { - content: '\e844'; - font-family: 'feather'; - font-size: 15px; - border: none; - position: absolute; - top: 11px; - right: 20px; - transition: 0.3s ease-in-out; - } - } - - .coded-submenu { - opacity: 0; - visibility: hidden; - transform-origin: 50% 50%; - transition: - transform 0.3s, - opacity 0.3s; - transform-style: preserve-3d; - transform: rotateX(-90deg); - position: absolute; - display: block; - - > app-nav-item li { - > a { - text-align: left; - padding: 12px 30px 12px 55px; - margin: 0; - display: block; - - &:before { - content: ''; - position: absolute; - top: 0; - right: 0; - width: 2px; - height: 100%; - } - } - } - - > app-nav-collapse li { - > a { - text-align: left; - padding: 12px 30px 12px 55px; - margin: 0; - display: block; - } - .coded-submenu > { - app-nav-item li { - > a { - padding: 12px 30px 12px 75px; - } - } - } - } - } - - &.coded-trigger { - > a { - &:after { - transform: rotate(90deg); - } - } - - > .coded-submenu { - position: relative; - opacity: 1; - visibility: visible; - transform: rotateX(0deg); - } - } - } - - &.coded-menu-caption { - font-size: 0.75rem; - font-weight: 500; - padding: 12px 24px 12px; - text-transform: capitalize; - position: relative; - color: $gray-600; - - &.first-group { - padding: 0px 24px 12px; - } - } - - > a { - padding: 12px 16px 12px 28px; - display: flex; - align-items: center; - border-radius: 5px; - position: relative; - - .coded-mtext { - position: relative; - } - - > .coded-micon { - font-size: 16px; - margin-right: 8px; - height: 16px; - display: inline-block; - text-align: center; - - i { - display: flex; - } - - + .coded-mtext { - position: relative; - vertical-align: middle; - text-align: center; - } - } - } - } - - app-nav-item { - li { - > a { - > .coded-micon { - margin-right: 12px; - } - } - } - } - - > app-nav-group > app-nav-item { - li { - position: relative; - &:before { - content: ''; - position: absolute; - top: 0; - right: 0; - width: 2px; - height: 100%; - } - } - } - } - } - - .version { - display: flex; - flex-direction: row; - justify-content: center; - margin-bottom: 16px; - cursor: pointer; - - label { - overflow: hidden; - text-overflow: ellipsis; - padding-left: 8px; - padding-right: 8px; - white-space: nowrap; - background-color: rgb(250, 250, 250); - color: rgb(158, 158, 158); - border-radius: 16px; - } - } -} - -@media (min-width: 1025px) { - .pc-sidebar { - transition: width 0.15s ease; - ~ .pc-header { - transition: left 0.15s ease; - } - ~ .pc-footer, - ~ .pc-container { - transition: margin-left 0.15s ease; - } - &.pc-sidebar-hide { - width: 0; - ~ .pc-header { - left: 0; - } - ~ .pc-footer, - ~ .pc-container { - margin-left: 0px; - } - } - } -} - -@media (max-width: 1024px) { - .pc-header .pc-h-item.pc-sidebar-collapse { - display: none; - } - .pc-sidebar { - left: -#{$sidebar-width}; - box-shadow: none; - top: 0; - transition: all 0.15s ease-in-out; - - &.mob-open { - left: 0; - - .navbar-wrapper { - position: relative; - z-index: 5; - background: inherit; - } - - ~ .pc-container { - .pc-menu-overlay { - position: fixed; - top: 0; - left: 0; - width: 100%; - height: 100%; - background-color: rgba(0, 0, 0, 0.5); - z-index: 1025; - } - } - } - } -} diff --git a/jambotron-ui/src/scss/themes/layouts/navbar/navbar.scss b/jambotron-ui/src/scss/themes/layouts/navbar/navbar.scss deleted file mode 100644 index 7e5240c..0000000 --- a/jambotron-ui/src/scss/themes/layouts/navbar/navbar.scss +++ /dev/null @@ -1,465 +0,0 @@ -.pc-header { - background: var(--pc-header-background); - color: var(--pc-header-color); - min-height: $header-height; - border-bottom: 1px solid rgb(240, 240, 240); - position: fixed; - left: $sidebar-width; - right: 0; - z-index: 1025; - display: flex; - - ul { - margin-bottom: 0; - display: inline-flex; - } - - .m-header { - height: $header-height; - display: flex; - align-items: center; - justify-content: space-between; - width: $sidebar-width; - padding: 16px 10px 16px 24px; - } - - .header-wrapper { - display: flex; - padding: 0 25px 0px 12px; - flex-grow: 1; - justify-content: space-between; - - @include media-breakpoint-down(sm) { - padding: 0 15px; - } - } - - .header-search { - position: relative; - - .form-control { - border-radius: $border-radius; - padding: 0.344rem 1.8rem; - width: 200px; - max-width: 100%; - font-size: 0.75rem; - - @media (max-width: 1024px) { - width: 100%; - } - } - - .search { - position: absolute; - top: 5px; - left: 11px; - width: 12px; - height: 12px; - } - - .btn-search { - position: absolute; - top: 7px; - right: 9px; - padding: 0; - display: inline-flex; - align-items: center; - justify-content: center; - width: 34px; - height: 34px; - border-radius: $border-radius; - } - } - - .pc-h-item { - min-height: $header-height; - display: flex; - align-items: center; - position: relative; - } - - .pc-head-link { - margin: 0 8px; - position: relative; - font-weight: 500; - padding: 0; - display: inline-flex; - align-items: center; - justify-content: center; - width: 34px; - height: 34px; - border-radius: $border-radius; - color: var(--pc-header-color); - overflow: hidden; - - &.dropdown-toggle::after { - display: none; - } - - &::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - bottom: 0; - z-index: 1; - background: var(--pc-active-background); - border-radius: 50%; - transform: scale(0); - transition: all 0.08s cubic-bezier(0.37, 0.24, 0.53, 0.99); - } - - > img, - > span, - > svg, - > i { - position: relative; - z-index: 5; - transition: all 0.08s cubic-bezier(0.37, 0.24, 0.53, 0.99); - } - - > i { - color: var(--pc-header-color); - font-size: 16px; - } - - > svg { - width: 20px; - height: 20px; - } - - &.active, - &:active, - &:focus, - &:hover { - text-decoration: none; - color: var(--pc-header-color); - - > svg, - > i { - color: var(--pc-header-color); - } - - &::before { - border-radius: 0; - transform: scale(1); - } - - .hamburger { - .hamburger-inner { - background-color: $secondary; - - &::after, - &::before { - background-color: $secondary; - } - } - } - - i.material-icons-two-tone { - background-color: $secondary; - } - } - - .pc-h-badge { - display: flex; - flex-flow: wrap; - place-content: center; - font-weight: 500; - font-size: 0.75rem; - line-height: 1; - transition: transform 225ms cubic-bezier(0.4, 0, 0.2, 1) 0ms; - transform-origin: 100% 0%; - min-width: 16px; - height: 16px; - padding: 4px; - position: absolute; - top: 2px; - right: 2px; - border-radius: 50%; - z-index: 9; - - &.dots { - width: 9px; - height: 9px; - top: 7px; - right: 16px; - padding: 0; - } - } - - .user-desc, - .user-name { - display: block; - line-height: 1; - } - - .user-name { - margin-bottom: 5px; - - font: { - size: 15px; - weight: 600; - } - } - - .user-desc { - font: { - size: 12px; - weight: 400; - } - - color: var(--pc-header-color); - } - - .settings { - animation: anim-rotate 2s infinite linear; - } - } - - .pc-h-dropdown { - transform: none !important; - top: 100% !important; - - &.dropdown-menu-end { - right: 0 !important; - left: auto !important; - } - } - - .drp-search { - min-width: 20rem; - } - - .user-avatar { - width: 40px; - border-radius: 50%; - } - - .header-user-profile { - .pc-head-link { - width: auto; - padding: 7px; - - > span > i { - font-size: 22px; - margin-right: 8px; - } - - .user-avatar { - width: 34px; - } - - @include media-breakpoint-down(sm) { - width: 40px; - - .user-avatar { - margin-right: 0; - } - - > span, - > span > i { - display: none; - } - } - } - } - - .dropdown-user-profile { - min-width: 290px; - max-width: 100%; - .drp-tabs { - border-bottom: 0; - display: flex; - margin-bottom: 10px; - .nav-item { - margin-bottom: -0px; - .nav-link { - position: relative; - padding: 0.7rem; - font-weight: 500; - color: $body-color; - display: flex; - align-items: center; - justify-content: center; - i { - font-size: 18px; - margin: 0 4px; - } - .material-icons-two-tone { - font-size: 20px; - } - &:after { - content: ''; - background: $primary; - position: absolute; - transition: all 0.3s ease-in-out; - left: 50%; - right: 50%; - bottom: -1px; - height: 2px; - border-radius: 2px 2px 0 0; - } - } - } - - .nav-link:hover { - border-color: transparent; - color: $primary; - .material-icons-two-tone { - background-color: $primary; - } - } - - .nav-item.show .nav-link, - .nav-link.active { - border-color: transparent; - color: $primary; - .material-icons-two-tone { - background-color: $primary; - } - &:after { - left: 0; - right: 0; - } - } - } - .tab-content { - .dropdown-item { - i { - font-size: 14px; - } - svg { - margin-right: 0px; - width: 14px; - height: 14px; - } - } - } - } - - .dropdown-notification { - min-width: 420px; - max-width: 100%; - - .list-group-item-action { - &:active, - &:hover, - &:focus { - background: shift-color($primary, $soft-bg-level); - } - - .user-avatar, - h5 { - cursor: pointer; - } - } - - .badge { - font-size: 0.8125rem; - padding: 0.43em 1em; - } - - .user-avatar { - display: flex; - align-items: center; - justify-content: center; - width: 40px; - height: 40px; - font-size: 20px; - } - - .notification-file { - display: flex; - align-items: center; - - i { - font-size: 20px; - margin-right: 16px; - } - } - @media (max-width: 575.98px) { - min-width: 100%; - } - } -} - -@keyframes anim-rotate { - 0% { - transform: rotate(0); - } - - to { - transform: rotate(360deg); - } -} - -@media (min-width: 1025px) { - .pc-header .pc-h-item.pc-sidebar-popup { - display: none; - } -} - -@media (max-width: 1024px) { - .pc-header { - top: 0; - left: 0; - transition: all 0.15s ease-in-out; - - .m-header { - display: none; - } - - .pc-head-link { - .user-desc, - .user-name { - display: none; - } - } - - .pc-mob-drp { - &.mob-drp-active { - .pc-h-item { - display: block; - min-height: auto; - position: relative; - - .pc-head-link { - display: block; - margin: 5px 10px !important; - } - - .dropdown-menu { - position: relative !important; - width: 100%; - float: none; - box-shadow: none; - } - } - - ul { - display: block; - } - } - } - } -} - -@include media-breakpoint-down(sm) { - .pc-header { - .pc-head-link { - padding: 0.65rem; - margin: 0 5px; - } - - .pc-h-item { - position: static; - - .pc-h-dropdown { - left: 0 !important; - right: 0 !important; - } - } - } -} diff --git a/jambotron-ui/src/scss/themes/layouts/pc-common.scss b/jambotron-ui/src/scss/themes/layouts/pc-common.scss deleted file mode 100644 index c45fdd7..0000000 --- a/jambotron-ui/src/scss/themes/layouts/pc-common.scss +++ /dev/null @@ -1,41 +0,0 @@ -body { - background-color: $white; -} - -.pc-container { - $temp: $header-height + 53; - position: relative; - top: $header-height; - margin-left: $sidebar-width; - min-height: calc(100vh - #{$temp}); - background: rgba(250, 250, 251, 0.7); - - .coded-content { - padding-left: 48px; - padding-right: 48px; - padding-top: 24px; - @include media-breakpoint-down(xl) { - &.container { - max-width: 100%; - } - } - @include media-breakpoint-down(md) { - padding-left: 32px; - padding-right: 32px; - padding-top: 16px; - } - } - - .page-header + .row { - padding-top: 24px; - } - - .page-header + .coded-content { - padding-top: calc(30px + 55px); - } - - @media (max-width: 1024px) { - margin-left: 0px; - margin-right: 0px; - } -} diff --git a/jambotron-ui/src/scss/themes/preset-style.scss b/jambotron-ui/src/scss/themes/preset-style.scss deleted file mode 100644 index 57ca0af..0000000 --- a/jambotron-ui/src/scss/themes/preset-style.scss +++ /dev/null @@ -1,87 +0,0 @@ -@import '../settings/color-variables.scss'; - -:root { - @each $name, $value in $preset-colors { - $pc-primary: map-get($value, 'primary'); - $color-rgb: to-rgb($pc-primary); - --bs-blue: #{$pc-primary}; - --bs-primary-rgb: #{$color-rgb}; - } -} - -.pc-sidebar { - .coded-inner-navbar { - > app-nav-group { - > app-nav-collapse { - .coded-hasmenu { - &.active, - &:focus, - &:hover { - > a { - background: rgba(var(--bs-primary-rgb), 0.1); - } - - &.coded-trigger { - > a { - color: var(--bs-blue); - background: none; - } - - .coded-submenu { - > app-nav-item { - li { - &.active, - &:focus, - &:hover { - > a { - background: rgba(var(--bs-primary-rgb), 0.1); - } - } - } - } - } - } - } - } - - .coded-submenu > app-nav-item li { - &.active { - > a { - background: rgba(var(--bs-primary-rgb), 0.1); - color: var(--bs-blue); - - &:before { - background: var(--bs-blue); - } - } - } - } - } - > app-nav-item { - li { - &.nav-item { - &.active, - &:focus, - &:hover { - background: rgba(var(--bs-primary-rgb), 0.1); - } - - &.active { - > a { - color: var(--bs-blue); - - .coded-micon { - color: var(--bs-blue); - } - } - - &:before { - background: var(--bs-blue); - } - } - } - } - } - } - } -} diff --git a/jambotron-ui/src/styles.scss b/jambotron-ui/src/styles.scss index ac9efef..c22d8a1 100644 --- a/jambotron-ui/src/styles.scss +++ b/jambotron-ui/src/styles.scss @@ -1,42 +1,4 @@ -/* You can add global styles to this file, and also import other style files */ -/**====================================================================== -========================================================================= -Template Name: MAntis Angular - Angular Admin Template -Author: codedThemes -Support: https://codedthemes.support-hub.io/ -File: style.css -========================================================================= -=================================================================================== */ - -// main framework -@import '../node_modules/bootstrap/scss/functions'; -@import '../node_modules/bootstrap/scss/variables'; -@import '../node_modules/bootstrap/scss/variables-dark'; - -@import 'scss/settings/color-variables'; -@import 'scss/settings/theme-variables'; -@import 'scss/settings/bootstrap-variables'; - -// bootstrap import -@import 'scss/bootstrap/bootstrap.scss'; - -@import '../node_modules/bootstrap/scss/utilities'; -@import '../node_modules/bootstrap/scss/utilities/api'; - -// main framework -@import 'scss/themes/generic.scss'; -@import 'scss/themes/general.scss'; - -@import 'scss/themes/components/components.scss'; - -// theme -@import 'scss/themes/layouts/menu/sidebar.scss'; -@import 'scss/themes/layouts/navbar/navbar.scss'; -@import 'scss/themes/layouts/pc-common.scss'; -@import 'scss/themes/layouts/breadcrumb/breadcrumb.scss'; -@import 'scss/themes/layouts/footer/footer.scss'; - -@import 'scss/themes/preset-style.scss'; +@use '@angular/material' as mat; //markdown styles @import 'bootstrap/dist/css/bootstrap.min.css'; @@ -64,4 +26,43 @@ body { scroll-padding-inline: 40%; } +//--------------- +.pc-sidebar{ + top: 65px; + overflow-y: auto; + background-color: rgba(153, 153, 153, 0.16); + backdrop-filter: blur(8px); + + background: var(--pc-sidebar-background); + width: 260px; + position: fixed; + + bottom: 0; + z-index: 1026; + box-shadow: var(--pc-sidebar-shadow); + display: block; + height: 100vh; + color: var(--pc-sidebar-color); + border-right: 1px solid rgb(240, 240, 240); + +} +.pc-container{ + top: 0; + padding-left: 5px; + padding-right: 5px; + + position: relative; + margin-left: 260px; + min-height: calc(100vh - 113px); + background: #fafafbb3; +} + +html { + color-scheme: light dark; + @include mat.theme(( + color: mat.$azure-palette, + typography: Jersey 20 Charted, + density: 0 + )); +}