From f00b4f8695a225264f105642e1a8a288dcc8c016 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Wed, 19 Apr 2017 17:02:49 +0300 Subject: [PATCH 01/21] =?UTF-8?q?chore:=20update=20changelog=20?= =?UTF-8?q?=F0=9F=97=9E=20[skip=20ci],=20closes=20#253?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CHANGELOG.md | 42 ++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/CHANGELOG.md b/CHANGELOG.md index b8e2d112..bb775718 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,3 +1,45 @@ + +# 1.13.0 (2017-04-19) + + +### Bug Fixes + +* fix issue with loading https spec ([585b9cf](https://github.com/Rebilly/ReDoc/commit/585b9cf)), closes [#243](https://github.com/Rebilly/ReDoc/issues/243) (by Khoa Tran) +* UL missing css ([303b49e](https://github.com/Rebilly/ReDoc/commit/303b49e)), closes [#248](https://github.com/Rebilly/ReDoc/issues/248) +* don't show contact info if it is empty object ([6077cc6](https://github.com/Rebilly/ReDoc/commit/6077cc6)) +* code block formatting in markdown list ([a9cad19](https://github.com/Rebilly/ReDoc/commit/a9cad19)), closes [#242](https://github.com/Rebilly/ReDoc/issues/242) + +### Features + +* HTTP verbs badges in side menu ([92eec25](https://github.com/Rebilly/ReDoc/commit/92eec25)), closes [#61](https://github.com/Rebilly/ReDoc/issues/61) +* HTTP verbs badges in search results ([61fd426](https://github.com/Rebilly/ReDoc/commit/61fd426)) +* new option [`no-auto-auth`](https://github.com/Rebilly/ReDoc#redoc-tag-attributes) to disable authentication section auto adding ([00b304a](https://github.com/Rebilly/ReDoc/commit/00b304a)) + + +# 1.12.1 (2017-04-19) + + +### Bug Fixes + +* fix: use replace state instead of pushState ([4f4e748](https://github.com/Rebilly/ReDoc/commit/4f4e748)), closes [#244](https://github.com/Rebilly/ReDoc/issues/244) + + +# 1.12.0 (2017-04-19) + + +### Bug Fixes + +* add safeguard for undefined ([aaac434](https://github.com/Rebilly/ReDoc/commit/aaac434)), closes [#236](https://github.com/Rebilly/ReDoc/issues/236) +* view errors were not reported ([6aa3a7d](https://github.com/Rebilly/ReDoc/commit/6aa3a7d)) + +### Features + +* Support x-examples vendor extension for requests (by [@brendo](https://github.com/brendo)) + +### Other + +* Updated to Angular 4, bundle is a bit smaller now + # 1.11.0 (2017-03-09) From 0f6f0359d933e15bb9d0685db5568ff3ffd6e0e8 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Thu, 20 Apr 2017 18:22:55 +0300 Subject: [PATCH 02/21] =?UTF-8?q?fix:=20markdown=20block=20text=20color=20?= =?UTF-8?q?=F0=9F=92=85?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit closes #255 --- lib/components/Redoc/redoc.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/components/Redoc/redoc.scss b/lib/components/Redoc/redoc.scss index d9503f00..be398b83 100644 --- a/lib/components/Redoc/redoc.scss +++ b/lib/components/Redoc/redoc.scss @@ -264,6 +264,7 @@ footer { code { background-color: transparent; + color: white; &:before, &:after { content: none; From 476d6c44feaf1ade6f7f12c50e5f9e3ea302d516 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:22:04 +0300 Subject: [PATCH 03/21] fix: don't show download button if initialized with an object --- lib/components/ApiInfo/api-info.html | 2 +- lib/components/ApiInfo/api-info.ts | 2 +- lib/utils/spec-manager.ts | 6 +++--- tests/unit/SpecManager.spec.ts | 6 +++--- 4 files changed, 8 insertions(+), 8 deletions(-) diff --git a/lib/components/ApiInfo/api-info.html b/lib/components/ApiInfo/api-info.html index 725de4e9..294517b9 100644 --- a/lib/components/ApiInfo/api-info.html +++ b/lib/components/ApiInfo/api-info.html @@ -1,6 +1,6 @@

{{info.title}} ({{info.version}})

-

+

Download OpenAPI (fka Swagger) specification: Download

diff --git a/lib/components/ApiInfo/api-info.ts b/lib/components/ApiInfo/api-info.ts index 2138a64a..d04423c4 100644 --- a/lib/components/ApiInfo/api-info.ts +++ b/lib/components/ApiInfo/api-info.ts @@ -23,7 +23,7 @@ export class ApiInfo extends BaseComponent implements OnInit { init() { this.info = this.componentSchema.info; - this.specUrl = this.optionsService.options.specUrl; + this.specUrl = this.specMgr.specUrl; if (!isNaN(parseInt(this.info.version.toString().substring(0, 1)))) { this.info.version = 'v' + this.info.version; } diff --git a/lib/utils/spec-manager.ts b/lib/utils/spec-manager.ts index 43118bba..084cf22b 100644 --- a/lib/utils/spec-manager.ts +++ b/lib/utils/spec-manager.ts @@ -32,7 +32,7 @@ export class SpecManager { public basePath: string; public spec = new BehaviorSubject(null); - public _specUrl: string; + public specUrl: string; private parser: any; private options: Options; @@ -46,7 +46,7 @@ export class SpecManager { this.parser.bundle(urlOrObject, {http: {withCredentials: false}}) .then(schema => { if (typeof urlOrObject === 'string') { - this._specUrl = urlOrObject; + this.specUrl = urlOrObject; } this._schema = snapshot(schema); try { @@ -64,7 +64,7 @@ export class SpecManager { /* calculate common used values */ init() { - let urlParts = this._specUrl ? urlParse(urlResolve(window.location.href, this._specUrl)) : {}; + let urlParts = this.specUrl ? urlParse(urlResolve(window.location.href, this.specUrl)) : {}; let schemes = this._schema.schemes; let protocol; if (!schemes || !schemes.length) { diff --git a/tests/unit/SpecManager.spec.ts b/tests/unit/SpecManager.spec.ts index a0089d20..5872c32e 100644 --- a/tests/unit/SpecManager.spec.ts +++ b/tests/unit/SpecManager.spec.ts @@ -46,21 +46,21 @@ describe('Utils', () => { it('should substitute api scheme when spec schemes are undefined', () => { specMgr._schema.schemes = undefined; - specMgr._specUrl = 'https://petstore.swagger.io/v2'; + specMgr.specUrl = 'https://petstore.swagger.io/v2'; specMgr.init(); specMgr.apiUrl.should.be.equal('https://petstore.swagger.io/v2'); }); it('should substitute api host when spec host is undefined', () => { specMgr._schema.host = undefined; - specMgr._specUrl = 'http://petstore.swagger.io/v2'; + specMgr.specUrl = 'http://petstore.swagger.io/v2'; specMgr.init(); specMgr.apiUrl.should.be.equal('http://petstore.swagger.io/v2'); }); it('should use empty basePath when basePath is not present', () => { specMgr._schema.basePath = undefined; - specMgr._specUrl = 'https://petstore.swagger.io'; + specMgr.specUrl = 'https://petstore.swagger.io'; specMgr.init(); specMgr.basePath.should.be.equal(''); }); From bb3667d5d6d30222e407ffda53400d6694d168b1 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:23:20 +0300 Subject: [PATCH 04/21] feat: add GH-like anchors to h1 and h2 headings in md --- lib/utils/md-renderer.ts | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) diff --git a/lib/utils/md-renderer.ts b/lib/utils/md-renderer.ts index f449df78..214da611 100644 --- a/lib/utils/md-renderer.ts +++ b/lib/utils/md-renderer.ts @@ -23,6 +23,7 @@ const md = new Remarkable({ export interface MarkdownHeading { title?: string; id: string; + slug?: string; content?: string; children?: StringMap; } @@ -52,12 +53,14 @@ export class MdRenderer { } saveHeading(title: string, parent:MarkdownHeading = {id:null, children: this.headings}) :MarkdownHeading { - let id = slugify(title); + let slug = slugify(title); + let id = slug; if (parent && parent.id) id = `${parent.id}/${id}`; parent.children = parent.children || {}; parent.children[id] = { title, - id + id, + slug }; return parent.children[id]; } @@ -110,12 +113,14 @@ export class MdRenderer { this.currentTopHeading = this.saveHeading(content);; let id = this.currentTopHeading.id; return `` + - ``; + `` + + ``; } else if (tokens[idx].hLevel === 2 ) { let heading = this.saveHeading(content, this.currentTopHeading); let contentSlug = `${heading.id}`; return `` + - ``; + `` + + ``; } } } From 2760a3410bab67b7e9e72d461cdc5985dfa01bcf Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:26:15 +0300 Subject: [PATCH 05/21] fix: remove trailing slash from url when use x-servers --- lib/components/EndpointLink/endpoint-link.ts | 3 ++- lib/utils/helpers.ts | 6 +++++- 2 files changed, 7 insertions(+), 2 deletions(-) diff --git a/lib/components/EndpointLink/endpoint-link.ts b/lib/components/EndpointLink/endpoint-link.ts index 7922a6f1..51dad69b 100644 --- a/lib/components/EndpointLink/endpoint-link.ts +++ b/lib/components/EndpointLink/endpoint-link.ts @@ -2,6 +2,7 @@ import { Component, ChangeDetectionStrategy, Input, OnInit, HostListener, HostBinding} from '@angular/core'; import { BaseComponent, SpecManager } from '../base'; import { OptionsService } from '../../services/'; +import { stripTrailingSlash } from '../../utils/'; export interface ServerInfo { description: string; @@ -36,7 +37,7 @@ export class EndpointLink implements OnInit { if (servers) { this.servers = servers.map(({url, description}) => ({ description, - url: url.startsWith('//') ? `${this.specMgr.apiProtocol}:${url}` : url + url: stripTrailingSlash(url.startsWith('//') ? `${this.specMgr.apiProtocol}:${url}` : url) })); } else { this.servers = [ diff --git a/lib/utils/helpers.ts b/lib/utils/helpers.ts index a52ffe27..da30e1fc 100644 --- a/lib/utils/helpers.ts +++ b/lib/utils/helpers.ts @@ -20,6 +20,10 @@ export function isBlank(obj: any): boolean { return obj == undefined; } +export function stripTrailingSlash(path:string):string { + return path.endsWith('/') ? path.substring(0, path.length - 1) : path; +} + const hasOwnProperty = Object.prototype.hasOwnProperty; export function groupBy(array: T[], key:string):StringMap { return array.reduce>(function(res, value) { @@ -119,7 +123,7 @@ export function isJsonLike(contentType: string): boolean { return contentType.search(/json/i) !== -1; } -export function getJsonLike(object: object) { +export function getJsonLike(object: Object) { const jsonLikeKeys = Object.keys(object).filter(isJsonLike); if (!jsonLikeKeys.length) { From 9248cc2490f5666d896b9d960d272d6f73a2ab6d Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:27:38 +0300 Subject: [PATCH 06/21] fix: endpoint link doesn't expand when click on arrow --- lib/components/EndpointLink/endpoint-link.html | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/lib/components/EndpointLink/endpoint-link.html b/lib/components/EndpointLink/endpoint-link.html index 4e5bf5ba..b8055dec 100644 --- a/lib/components/EndpointLink/endpoint-link.html +++ b/lib/components/EndpointLink/endpoint-link.html @@ -3,10 +3,10 @@ {{path}} + + +
- - -
From 388b3d48d5766cb2d5d5a377add688ac3ee52d39 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:28:57 +0300 Subject: [PATCH 07/21] feat: emphasize path with primary color in servers dropdown --- lib/components/EndpointLink/endpoint-link.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/components/EndpointLink/endpoint-link.scss b/lib/components/EndpointLink/endpoint-link.scss index 9a70ba0a..c78bc197 100644 --- a/lib/components/EndpointLink/endpoint-link.scss +++ b/lib/components/EndpointLink/endpoint-link.scss @@ -71,6 +71,7 @@ border: 1px solid $border-color; background: $background-color; word-break: break-all; + color: $primary-color; } &:last-child { From c77e1a28f7937ead8d8e6dd6cd94c603e3e6876a Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:31:03 +0300 Subject: [PATCH 08/21] fix: ReDoc removes path if site is using history API closes #257 --- lib/services/hash.service.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/services/hash.service.ts b/lib/services/hash.service.ts index 82d1ed61..fda833e7 100644 --- a/lib/services/hash.service.ts +++ b/lib/services/hash.service.ts @@ -30,7 +30,7 @@ export class Hash { update(hash: string|null, rewriteHistory:boolean = false) { if (hash == undefined) return; if (rewriteHistory) { - window.history.replaceState(null, '', '#' + hash); + window.history.replaceState(null, '', window.location.href.split("#")[0] + '#' + hash); return; } this.noEmit = true; From 1a29784200f108f184c3822e91bc3edd3be27336 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:36:00 +0300 Subject: [PATCH 09/21] refactor: add type heading to menu items --- lib/services/menu.service.ts | 14 ++++++++++---- 1 file changed, 10 insertions(+), 4 deletions(-) diff --git a/lib/services/menu.service.ts b/lib/services/menu.service.ts index 18e47196..5cb2947a 100644 --- a/lib/services/menu.service.ts +++ b/lib/services/menu.service.ts @@ -104,7 +104,7 @@ export class MenuService { // check if previous items§ can be enabled let prevItem = this.flatItems[idx -= 1]; - while(prevItem && (!prevItem.metadata || !prevItem.items)) { + while(prevItem && (!prevItem.metadata || prevItem.metadata.type === 'heading' || !prevItem.items)) { prevItem.ready = true; prevItem = this.flatItems[idx -= 1]; } @@ -171,7 +171,7 @@ export class MenuService { // We only need to go up the chain for operations that // might have multiple tags. For headers/subheaders // we need to siply early terminate. - if (!currentItem.metadata) { + if (!currentItem.metadata || currentItem.metadata.type === 'heading') { break; } } @@ -291,7 +291,10 @@ export class MenuService { let item = { name: heading.title, id: id, - items: null + items: null, + metadata: { + type: 'heading' + } }; item.items = this.getMarkdownSubheaders(item, heading); @@ -309,7 +312,10 @@ export class MenuService { let subItem = { name: heading.title, id: id, - parent: parent + parent: parent, + metadata: { + type: 'heading' + } }; res.push(subItem); }); From 74a319393c6473315103a530cfa21db0b206b761 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:39:36 +0300 Subject: [PATCH 10/21] feat: new option path-in-middle-panel --- lib/components/Operation/operation.html | 5 ++++- lib/components/Operation/operation.scss | 29 +++++++++++++++++++++++++ lib/components/Operation/operation.ts | 3 +++ lib/services/options.service.ts | 5 ++++- 4 files changed, 40 insertions(+), 2 deletions(-) diff --git a/lib/components/Operation/operation.html b/lib/components/Operation/operation.html index c9303120..a86bcc45 100644 --- a/lib/components/Operation/operation.html +++ b/lib/components/Operation/operation.html @@ -3,6 +3,8 @@

{{operation.summary}}

+ @@ -16,7 +18,8 @@

Definition

- +
diff --git a/lib/components/Operation/operation.scss b/lib/components/Operation/operation.scss index 171696e7..d6cdfaf4 100644 --- a/lib/components/Operation/operation.scss +++ b/lib/components/Operation/operation.scss @@ -57,6 +57,10 @@ background: $samples-panel-bg-color; } +.operation-samples pre { + color: $sample-panel-color; +} + .operation-samples header, .operation-samples > h5 { color: $sample-panel-headers-color; @@ -103,3 +107,28 @@ padding-bottom: 0; } } + +.operation-content /deep/ endpoint-link { + margin-bottom: 16px; + + .operation-endpoint[class] { + padding: 5px 30px 5px 5px; + border: 0; + border-bottom: 1px solid $border-color; + border-radius: 0; + background-color: transparent; + } + .operation-api-url-path { + color: $black; + } + + .expand-icon { + top: 8px; + background-color: $border-color; + } + + .servers-overlay { + border: 1px solid $border-color; + border-top: 0; + } +} diff --git a/lib/components/Operation/operation.ts b/lib/components/Operation/operation.ts index 9b635cd4..0ad54e6b 100644 --- a/lib/components/Operation/operation.ts +++ b/lib/components/Operation/operation.ts @@ -35,12 +35,15 @@ export class Operation extends BaseComponent implements OnInit { @HostBinding('attr.operation-id') operationId; operation: OperationInfo; + pathInMiddlePanel: boolean; constructor( specMgr:SpecManager, private optionsService: OptionsService, private menu: MenuService) { super(specMgr); + + this.pathInMiddlePanel = optionsService.options.pathInMiddlePanel; } init() { diff --git a/lib/services/options.service.ts b/lib/services/options.service.ts index f9fe3b6c..c861fdcd 100644 --- a/lib/services/options.service.ts +++ b/lib/services/options.service.ts @@ -17,7 +17,8 @@ const OPTION_NAMES = new Set([ 'lazyRendering', 'expandResponses', 'requiredPropsFirst', - 'noAutoAuth' + 'noAutoAuth', + 'pathInMiddlePanel', ]); export interface Options { @@ -31,6 +32,7 @@ export interface Options { $scrollParent?: HTMLElement | Window; requiredPropsFirst?: boolean; noAutoAuth?: boolean; + pathInMiddlePanel?: boolean; spec?: any; } @@ -98,6 +100,7 @@ export class OptionsService { if (isString(this._options.lazyRendering)) this._options.lazyRendering = true; if (isString(this._options.requiredPropsFirst)) this._options.requiredPropsFirst = true; if (isString(this._options.noAutoAuth)) this._options.noAutoAuth = true; + if (isString(this._options.pathInMiddlePanel)) this._options.pathInMiddlePanel = true; if (isString(this._options.expandResponses)) { let str = this._options.expandResponses as string; if (str === 'all') return; From 328ae639d7118a9419b361f84076c2719f7dae73 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:42:01 +0300 Subject: [PATCH 11/21] refactor: change hardcoded value with variable --- lib/components/Search/redoc-search.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/components/Search/redoc-search.scss b/lib/components/Search/redoc-search.scss index c58fc3b5..8b25e5c7 100644 --- a/lib/components/Search/redoc-search.scss +++ b/lib/components/Search/redoc-search.scss @@ -62,7 +62,7 @@ input { } li.menu-item-depth-1 { - color: #0033a0; + color: $primary-color; text-transform: uppercase; } From 2409577e2f3ad979312265850998dfbb20149a37 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:43:08 +0300 Subject: [PATCH 12/21] refactor: minor css cleanup --- lib/components/SideMenu/side-menu-items.scss | 6 +----- 1 file changed, 1 insertion(+), 5 deletions(-) diff --git a/lib/components/SideMenu/side-menu-items.scss b/lib/components/SideMenu/side-menu-items.scss index 60bd02dd..6882b46d 100644 --- a/lib/components/SideMenu/side-menu-items.scss +++ b/lib/components/SideMenu/side-menu-items.scss @@ -9,6 +9,7 @@ -o-transition: all .15s ease-in-out; transition: all .15s ease-in-out; display: block; + margin: 0; padding: $side-menu-item-vpadding*2.5 $side-menu-item-hpadding; &[hidden] { @@ -33,11 +34,6 @@ padding: 0; } -.menu-item:hover, -.menu-item.active { - //background: darken($side-menu-active-bg-color, 6%); -} - .menu-subitems { margin: 0; font-size: 0.929em; From 838f23380ce30f671983c8af107e4aac7ca33c56 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:43:56 +0300 Subject: [PATCH 13/21] fix: subscription leak in side-menu --- lib/components/SideMenu/side-menu.ts | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/lib/components/SideMenu/side-menu.ts b/lib/components/SideMenu/side-menu.ts index 0838b9c3..66018c23 100644 --- a/lib/components/SideMenu/side-menu.ts +++ b/lib/components/SideMenu/side-menu.ts @@ -57,6 +57,9 @@ export class SideMenu implements OnInit, OnDestroy { private $resourcesNav: any; private $scrollParent: any; + private changedActiveSubscription; + private changedSubscription; + constructor( elementRef:ElementRef, private scrollService:ScrollService, @@ -71,8 +74,10 @@ export class SideMenu implements OnInit, OnDestroy { this.options = optionsService.options; - this.menuService.changedActiveItem.subscribe((evt) => this.changed(evt)); - this.menuService.changed.subscribe((evt) => this.detectorRef.detectChanges()); + this.changedActiveSubscription = this.menuService.changedActiveItem.subscribe((evt) => this.changed(evt)); + this.changedSubscription = this.menuService.changed.subscribe((evt) => { + this.detectorRef.detectChanges() + }); } changed(item) { @@ -141,6 +146,8 @@ export class SideMenu implements OnInit, OnDestroy { } destroy() { + this.changedActiveSubscription.unsubscribe(); + this.changedSubscription.unsubscribe(); this.scrollService.unbind(); this.menuService.destroy(); } From 8a49fb30deb2ee377da7df8ce763764e370e3a47 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 15:44:41 +0300 Subject: [PATCH 14/21] feat: SideMenu to support items template as a parameter --- lib/components/SideMenu/side-menu.html | 8 +++++++- lib/components/SideMenu/side-menu.ts | 1 + 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/lib/components/SideMenu/side-menu.html b/lib/components/SideMenu/side-menu.html index 7a5f6ccd..25fc0940 100644 --- a/lib/components/SideMenu/side-menu.html +++ b/lib/components/SideMenu/side-menu.html @@ -4,8 +4,14 @@ {{activeItemCaption}}
+ + + +
diff --git a/lib/components/SideMenu/side-menu.ts b/lib/components/SideMenu/side-menu.ts index 66018c23..a30f5aa1 100644 --- a/lib/components/SideMenu/side-menu.ts +++ b/lib/components/SideMenu/side-menu.ts @@ -50,6 +50,7 @@ export class SideMenu implements OnInit, OnDestroy { activeCatCaption: string; activeItemCaption: string; menuItems: Array; + @Input() itemsTemplate; private options: any; private $element: any; From cdeee6740d73c0886300db92a03a8794b0898d67 Mon Sep 17 00:00:00 2001 From: Roman Hotsiy Date: Sun, 23 Apr 2017 16:10:32 +0300 Subject: [PATCH 15/21] feat: add perfect-scrollbar for side menu --- lib/components/Redoc/redoc.scss | 2 +- lib/components/SideMenu/side-menu.html | 2 +- lib/components/SideMenu/side-menu.scss | 10 ++++- lib/components/SideMenu/side-menu.ts | 14 +++++-- .../PerfectScrollbar/perfect-scrollbar.ts | 37 +++++++++++++++++++ lib/shared/components/index.ts | 5 ++- 6 files changed, 62 insertions(+), 8 deletions(-) create mode 100644 lib/shared/components/PerfectScrollbar/perfect-scrollbar.ts diff --git a/lib/components/Redoc/redoc.scss b/lib/components/Redoc/redoc.scss index be398b83..38c6b3f3 100644 --- a/lib/components/Redoc/redoc.scss +++ b/lib/components/Redoc/redoc.scss @@ -45,7 +45,7 @@ } side-menu { - overflow-y: auto; + overflow: hidden; } [sticky-sidebar] { diff --git a/lib/components/SideMenu/side-menu.html b/lib/components/SideMenu/side-menu.html index 25fc0940..301cd443 100644 --- a/lib/components/SideMenu/side-menu.html +++ b/lib/components/SideMenu/side-menu.html @@ -8,7 +8,7 @@ -
+