diff --git a/angular.json b/angular.json index 3040e15d4e..831f7d1ffd 100644 --- a/angular.json +++ b/angular.json @@ -257,7 +257,8 @@ "docs/404.html", "docs/favicon.ico", "docs/favicon.png", - "docs/google46533d2e7a851062.html" + "docs/google46533d2e7a851062.html", + { "glob": "versions.json", "input": "docs/", "output": "/" } ], "styles": [ "node_modules/bootstrap/dist/css/bootstrap.css", diff --git a/docs/app/@theme/components/header/header.component.scss b/docs/app/@theme/components/header/header.component.scss index ccaf933145..f2d8c65282 100644 --- a/docs/app/@theme/components/header/header.component.scss +++ b/docs/app/@theme/components/header/header.component.scss @@ -37,11 +37,13 @@ &.middle { flex: 1; + align-items: center; + margin: 0 -0.5rem; } } ::ng-deep nb-menu { - flex: 1; + flex: 1 0 auto; .menu-items { display: flex; justify-content: flex-end; @@ -49,10 +51,6 @@ .menu-item { border: none; - &:first-child a { - padding-left: 0; - } - a { color: $menu-item-fg; display: block; @@ -98,6 +96,10 @@ margin-left: auto; } + .version-select { + display: none; + } + @include media-breakpoint-up(is) { .section { padding: 0.875rem 1.125rem; @@ -116,6 +118,24 @@ display: inline; } } + + .version-select { + display: block; + + ::ng-deep button { + background-color: nb-theme(version-select-highlight); + padding: 0.65rem 1.7rem 0.65rem 1.5rem; + + &:active { + background-color: nb-theme(version-select-highlight); + } + + &::after { + top: 47%; + right: 0.55rem; + } + } + } } @include media-breakpoint-up(md) { @@ -180,6 +200,9 @@ ngd-search { display: none; } + .version-select { + margin-left: 1rem; + } @include media-breakpoint-up(is) { ::ng-deep nb-menu .menu-items li:first-child { @@ -191,6 +214,7 @@ ngd-search { display: flex; align-items: center; + margin-left: auto; } } diff --git a/docs/app/@theme/components/header/header.component.ts b/docs/app/@theme/components/header/header.component.ts index 7071250423..8ec89b7e63 100644 --- a/docs/app/@theme/components/header/header.component.ts +++ b/docs/app/@theme/components/header/header.component.ts @@ -1,6 +1,9 @@ -import { ChangeDetectionStrategy, Component, HostBinding, Input, OnInit } from '@angular/core'; -import { NbMenuItem, NbSidebarService } from '@nebular/theme'; -import { NgdVersionService } from '../../services'; +import { ChangeDetectionStrategy, Component, HostBinding, Inject, Input, OnInit } from '@angular/core'; +import { NB_WINDOW, NbMenuItem, NbSidebarService } from '@nebular/theme'; +import { Observable } from 'rxjs'; +import { map, startWith } from 'rxjs/operators'; + +import { NgdVersionService, VersionInfo } from '../../services'; @Component({ selector: 'ngd-header', @@ -12,12 +15,22 @@ import { NgdVersionService } from '../../services';
+ + + {{ version.name }} + +