diff --git a/src/assets/styles/common-select.scss b/src/assets/styles/common-select.scss index 9540e0c..740cc45 100644 --- a/src/assets/styles/common-select.scss +++ b/src/assets/styles/common-select.scss @@ -10,7 +10,7 @@ } &.mat-selected:not(.mat-option-multiple) { - background-color: rgba(var(--iqser-primary), 0.2); + background-color: rgba(var(--iqser-primary-rgb), 0.2); color: var(--iqser-accent); } } diff --git a/src/assets/styles/common-side-nav.scss b/src/assets/styles/common-side-nav.scss new file mode 100644 index 0000000..4502833 --- /dev/null +++ b/src/assets/styles/common-side-nav.scss @@ -0,0 +1,36 @@ +@use 'common-mixins' as mixins; + +iqser-side-nav { + display: block; + min-width: 200px; + max-width: 200px; + background-color: var(--iqser-grey-2); + border-right: 1px solid var(--iqser-separator); + box-sizing: border-box; + padding: 8px; + height: 100%; + overflow: auto; + @include mixins.no-scroll-bar; + + .all-caps-label { + padding: 16px; + } + + .item { + margin-bottom: 4px; + border-radius: 20px; + padding: 9px 16px; + cursor: pointer; + transition: background-color 0.2s; + font-weight: 500; + + &:not(.active):hover { + background-color: rgba(var(--iqser-primary-rgb), 0.2); + } + + &.active { + background-color: var(--iqser-primary); + color: var(--iqser-white); + } + } +} diff --git a/src/assets/styles/common-styles.scss b/src/assets/styles/common-styles.scss index 86408b1..722c27e 100644 --- a/src/assets/styles/common-styles.scss +++ b/src/assets/styles/common-styles.scss @@ -26,3 +26,4 @@ @use 'common-toggle-button'; @use 'common-tooltips'; @use 'common-file-drop'; +@use 'common-side-nav'; diff --git a/src/assets/styles/common-tabs.scss b/src/assets/styles/common-tabs.scss index 4b98e51..08d68e4 100644 --- a/src/assets/styles/common-tabs.scss +++ b/src/assets/styles/common-tabs.scss @@ -15,13 +15,13 @@ } &.active { - background-color: rgba(var(--iqser-primary), 0.1); + background-color: rgba(var(--iqser-primary-rgb), 0.1); font-weight: 600; color: var(--iqser-primary); } &.disabled { - color: rgba(var(--iqser-accent), 0.3); + color: rgba(var(--iqser-accent-rgb), 0.3); cursor: not-allowed; } } diff --git a/src/lib/common-ui.module.ts b/src/lib/common-ui.module.ts index 4e1ad11..56ee4a2 100644 --- a/src/lib/common-ui.module.ts +++ b/src/lib/common-ui.module.ts @@ -20,6 +20,7 @@ import { LogPipe } from './utils/pipes/log.pipe'; import { FormsModule, ReactiveFormsModule } from '@angular/forms'; import { MatButtonModule } from '@angular/material/button'; import { MatDialogModule } from '@angular/material/dialog'; +import { SideNavComponent } from './misc/side-nav/side-nav.component'; const matModules = [MatIconModule, MatProgressSpinnerModule, MatButtonModule, MatDialogModule]; const modules = [ @@ -39,7 +40,8 @@ const components = [ FullPageErrorComponent, LogoComponent, HiddenActionComponent, - ConfirmationDialogComponent + ConfirmationDialogComponent, + SideNavComponent ]; const pipes = [SortByPipe, HumanizePipe]; diff --git a/src/lib/misc/index.ts b/src/lib/misc/index.ts index 353f04e..51bca90 100644 --- a/src/lib/misc/index.ts +++ b/src/lib/misc/index.ts @@ -1,5 +1,6 @@ -export * from './status-bar/status-bar.component'; -export * from './status-bar/status-bar-config.model'; -export * from './logo/logo.component'; export * from './confirmation-dialog/confirmation-dialog.component'; export * from './hidden-action/hidden-action.component'; +export * from './logo/logo.component'; +export * from './side-nav/side-nav.component'; +export * from './status-bar/status-bar.component'; +export * from './status-bar/status-bar-config.model'; diff --git a/src/lib/misc/side-nav/side-nav.component.html b/src/lib/misc/side-nav/side-nav.component.html new file mode 100644 index 0000000..fd93d24 --- /dev/null +++ b/src/lib/misc/side-nav/side-nav.component.html @@ -0,0 +1,3 @@ +
{{ title }}
+ + diff --git a/src/lib/misc/side-nav/side-nav.component.scss b/src/lib/misc/side-nav/side-nav.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/lib/misc/side-nav/side-nav.component.ts b/src/lib/misc/side-nav/side-nav.component.ts new file mode 100644 index 0000000..5ed36e4 --- /dev/null +++ b/src/lib/misc/side-nav/side-nav.component.ts @@ -0,0 +1,12 @@ +import { ChangeDetectionStrategy, Component, Input } from '@angular/core'; +import { Required } from '../../utils'; + +@Component({ + selector: 'iqser-side-nav', + templateUrl: './side-nav.component.html', + styleUrls: ['./side-nav.component.scss'], + changeDetection: ChangeDetectionStrategy.OnPush +}) +export class SideNavComponent { + @Input() @Required() title!: string; +}