From 6bfadb6358f52184ec456168fa4f1df6bac97209 Mon Sep 17 00:00:00 2001 From: Piyush Jain Date: Tue, 28 Sep 2021 14:44:57 -0700 Subject: [PATCH 1/2] Manual backport of #10720, #10790, #11108 --- packages/apputils/package.json | 1 + packages/apputils/src/mainareawidget.ts | 4 +- packages/apputils/src/toolbar.tsx | 373 ++++++++++++++++++- packages/apputils/style/toolbar.css | 2 +- packages/apputils/test/toolbar.spec.ts | 57 ++- packages/docregistry/test/default.spec.ts | 16 +- packages/notebook/style/toolbar.css | 27 +- packages/notebook/test/widgetfactory.spec.ts | 16 +- packages/ui-components/src/style/icon.ts | 1 - yarn.lock | 312 ++-------------- 10 files changed, 516 insertions(+), 293 deletions(-) diff --git a/packages/apputils/package.json b/packages/apputils/package.json index 5f5a822bc0a8..f2549800a91f 100644 --- a/packages/apputils/package.json +++ b/packages/apputils/package.json @@ -58,6 +58,7 @@ "@lumino/disposable": "^1.4.3", "@lumino/domutils": "^1.2.3", "@lumino/messaging": "^1.4.3", + "@lumino/polling": "^1.3.3", "@lumino/properties": "^1.2.3", "@lumino/signaling": "^1.4.3", "@lumino/virtualdom": "^1.8.0", diff --git a/packages/apputils/src/mainareawidget.ts b/packages/apputils/src/mainareawidget.ts index 81d32f78a521..d8b03213609e 100644 --- a/packages/apputils/src/mainareawidget.ts +++ b/packages/apputils/src/mainareawidget.ts @@ -7,7 +7,7 @@ import { BoxLayout, BoxPanel, Widget } from '@lumino/widgets'; import { DOMUtils } from './domutils'; import { Printing } from './printing'; import { Spinner } from './spinner'; -import { Toolbar } from './toolbar'; +import { ReactiveToolbar, Toolbar } from './toolbar'; /** * A widget meant to be contained in the JupyterLab main area. @@ -40,7 +40,7 @@ export class MainAreaWidget const content = (this._content = options.content); content.node.setAttribute('role', 'region'); content.node.setAttribute('aria-label', trans.__('notebook content')); - const toolbar = (this._toolbar = options.toolbar || new Toolbar()); + const toolbar = (this._toolbar = options.toolbar || new ReactiveToolbar()); toolbar.node.setAttribute('role', 'navigation'); toolbar.node.setAttribute('aria-label', trans.__('notebook actions')); const contentHeader = (this._contentHeader = diff --git a/packages/apputils/src/toolbar.tsx b/packages/apputils/src/toolbar.tsx index 18cbf5b05f3d..71aafcdf214e 100644 --- a/packages/apputils/src/toolbar.tsx +++ b/packages/apputils/src/toolbar.tsx @@ -11,6 +11,7 @@ import { circleEmptyIcon, circleIcon, classes, + ellipsesIcon, LabIcon, offlineBoltIcon, refreshIcon, @@ -25,12 +26,18 @@ import { PanelLayout, Widget } from '@lumino/widgets'; import * as React from 'react'; import { ISessionContext, sessionContextDialogs } from './sessioncontext'; import { ReactWidget, UseSignal } from './vdom'; +import { Throttler } from '@lumino/polling'; /** * The class name added to toolbars. */ const TOOLBAR_CLASS = 'jp-Toolbar'; +/** + * Toolbar pop-up opener button name + */ +const TOOLBAR_OPENER_NAME = 'toolbar-popup-opener'; + /** * The class name added to toolbar items. */ @@ -183,7 +190,6 @@ export class Toolbar extends Widget { constructor() { super(); this.addClass(TOOLBAR_CLASS); - this.addClass('jp-scrollbar-tiny'); this.layout = new ToolbarLayout(); } @@ -242,7 +248,10 @@ export class Toolbar extends Widget { } widget.addClass(TOOLBAR_ITEM_CLASS); const layout = this.layout as ToolbarLayout; - layout.insertWidget(index, widget); + + const j = Math.max(0, Math.min(index, layout.widgets.length)); + layout.insertWidget(j, widget); + Private.nameProperty.set(widget, name); return true; } @@ -362,6 +371,197 @@ export class Toolbar extends Widget { } } +/** + * A class which provides a toolbar widget. + */ +export class ReactiveToolbar extends Toolbar { + /** + * Construct a new toolbar widget. + */ + constructor() { + super(); + this.insertItem(0, TOOLBAR_OPENER_NAME, this.popupOpener); + this.popupOpener.hide(); + this._resizer = new Throttler(this._onResize.bind(this), 500); + } + + /** + * Dispose of the widget and its descendant widgets. + */ + dispose(): void { + if (this.isDisposed) { + return; + } + + if (this._resizer) { + this._resizer.dispose(); + } + + super.dispose(); + } + + /** + * Insert an item into the toolbar at the after a target item. + * + * @param at - The target item to insert after. + * + * @param name - The name of the item. + * + * @param widget - The widget to add. + * + * @returns Whether the item was added to the toolbar. Returns false if + * an item of the same name is already in the toolbar or if the target + * is the toolbar pop-up opener. + * + * #### Notes + * The index will be clamped to the bounds of the items. + * The item can be removed from the toolbar by setting its parent to `null`. + */ + insertAfter(at: string, name: string, widget: Widget): boolean { + if (at === TOOLBAR_OPENER_NAME) { + return false; + } + return super.insertAfter(at, name, widget); + } + + /** + * Insert an item into the toolbar at the specified index. + * + * @param index - The index at which to insert the item. + * + * @param name - The name of the item. + * + * @param widget - The widget to add. + * + * @returns Whether the item was added to the toolbar. Returns false if + * an item of the same name is already in the toolbar. + * + * #### Notes + * The index will be clamped to the bounds of the items. + * The item can be removed from the toolbar by setting its parent to `null`. + */ + insertItem(index: number, name: string, widget: Widget): boolean { + if (widget instanceof ToolbarPopupOpener) { + return super.insertItem(index, name, widget); + } else { + const j = Math.max( + 0, + Math.min(index, (this.layout as ToolbarLayout).widgets.length - 1) + ); + return super.insertItem(j, name, widget); + } + } + + /** + * A message handler invoked on a `'before-hide'` message. + * + * It will hide the pop-up panel + */ + onBeforeHide(msg: Message): void { + this.popupOpener.hidePopup(); + super.onBeforeHide(msg); + } + + protected onResize(msg: Widget.ResizeMessage): void { + super.onResize(msg); + if (msg.width > 0 && this._resizer) { + void this._resizer.invoke(); + } + } + + private _onResize() { + if (this.parent && this.parent.isAttached) { + const toolbarWidth = this.node.clientWidth; + const opener = this.popupOpener; + const openerWidth = 30; + const toolbarPadding = 2; + const layout = this.layout as ToolbarLayout; + + let width = opener.isHidden + ? toolbarPadding + : toolbarPadding + openerWidth; + let index = 0; + const widgetsToRemove = []; + const toIndex = layout.widgets.length - 1; + + while (index < toIndex) { + const widget = layout.widgets[index]; + this._saveWidgetWidth(widget); + width += this._getWidgetWidth(widget); + if ( + widgetsToRemove.length === 0 && + opener.isHidden && + width + openerWidth > toolbarWidth + ) { + width += openerWidth; + } + if (width > toolbarWidth) { + widgetsToRemove.push(widget); + } + index++; + } + + while (widgetsToRemove.length > 0) { + const widget = widgetsToRemove.pop() as Widget; + width -= this._getWidgetWidth(widget); + opener.addWidget(widget); + } + + if (opener.widgetCount() > 0) { + const widgetsToAdd = []; + let index = 0; + let widget = opener.widgetAt(index); + const widgetCount = opener.widgetCount(); + + width += this._getWidgetWidth(widget); + + if (widgetCount === 1 && width - openerWidth <= toolbarWidth) { + width -= openerWidth; + } + + while (width < toolbarWidth && index < widgetCount) { + widgetsToAdd.push(widget); + index++; + widget = opener.widgetAt(index); + if (widget) { + width += this._getWidgetWidth(widget); + } else { + break; + } + } + + while (widgetsToAdd.length > 0) { + const widget = widgetsToAdd.shift()!; + this.addItem(Private.nameProperty.get(widget), widget); + } + } + + if (opener.widgetCount() > 0) { + opener.updatePopup(); + opener.show(); + } else { + opener.hide(); + } + } + } + + private _saveWidgetWidth(widget: Widget) { + const widgetName = Private.nameProperty.get(widget); + this._widgetWidths![widgetName] = widget.hasClass(TOOLBAR_SPACER_CLASS) + ? 2 + : widget.node.clientWidth; + } + + private _getWidgetWidth(widget: Widget): number { + const widgetName = Private.nameProperty.get(widget); + return this._widgetWidths![widgetName]; + } + + protected readonly popupOpener: ToolbarPopupOpener = new ToolbarPopupOpener(); + private readonly _widgetWidths: { [key: string]: number } = {}; + private readonly _resizer: Throttler; +} + /** * The namespace for Toolbar class statics. */ @@ -642,6 +842,175 @@ export class CommandToolbarButton extends ReactWidget { } } +/** + * A class which provides a toolbar popup + * used to store widgets that don't fit + * in the toolbar when it is resized + */ +class ToolbarPopup extends Widget { + width: number = 0; + + /** + * Construct a new ToolbarPopup + */ + constructor() { + super(); + this.addClass('jp-Toolbar-responsive-popup'); + this.layout = new PanelLayout(); + Widget.attach(this, document.body); + this.hide(); + } + + /** + * Updates the width of the popup, this + * should match with the toolbar width + * + * @param width - The width to resize to + * @protected + */ + updateWidth(width: number) { + if (width > 0) { + this.width = width; + this.node.style.width = `${width}px`; + } + } + + /** + * Aligns the popup to left bottom of widget + * + * @param widget the widget to align to + * @private + */ + alignTo(widget: Widget) { + const { + height: widgetHeight, + width: widgetWidth, + x: widgetX, + y: widgetY + } = widget.node.getBoundingClientRect(); + const width = this.width; + this.node.style.left = `${widgetX + widgetWidth - width + 1}px`; + this.node.style.top = `${widgetY + widgetHeight + 1}px`; + } + + /** + * Inserts the widget at specified index + * @param index the index + * @param widget widget to add + */ + insertWidget(index: number, widget: Widget) { + (this.layout as PanelLayout).insertWidget(0, widget); + } + + /** + * Total number of widgets in the popup + */ + widgetCount() { + return (this.layout as PanelLayout).widgets.length; + } + + /** + * Returns the widget at index + * @param index the index + */ + widgetAt(index: number) { + return (this.layout as PanelLayout).widgets[index]; + } +} + +/** + * A class that provides a ToolbarPopupOpener, + * which is a button added to toolbar when + * the toolbar items overflow toolbar width + */ +class ToolbarPopupOpener extends ToolbarButton { + /** + * Create a new popup opener + */ + constructor() { + super({ + icon: ellipsesIcon, + onClick: () => { + this.handleClick(); + } + }); + this.addClass('jp-Toolbar-responsive-opener'); + this.popup = new ToolbarPopup(); + } + + /** + * Add widget to the popup, prepends widgets + * @param widget the widget to add + */ + addWidget(widget: Widget) { + this.popup.insertWidget(0, widget); + } + + /** + * Dispose of the widget and its descendant widgets. + * + * #### Notes + * It is unsafe to use the widget after it has been disposed. + * + * All calls made to this method after the first are a no-op. + */ + dispose(): void { + if (this.isDisposed) { + return; + } + this.popup.dispose(); + super.dispose(); + } + + /** + * Hides the opener and the popup + */ + hide(): void { + super.hide(); + this.hidePopup(); + } + + /** + * Hides the popup + */ + hidePopup(): void { + this.popup.hide(); + } + + /** + * Updates width and position of the popup + * to align with the toolbar + */ + updatePopup(): void { + this.popup.updateWidth(this.parent!.node.clientWidth); + this.popup.alignTo(this.parent!); + } + + /** + * Returns widget at index in the popup + * @param index + */ + widgetAt(index: number) { + return this.popup.widgetAt(index); + } + + /** + * Returns total number of widgets in the popup + * + * @returns Number of widgets + */ + widgetCount(): number { + return this.popup.widgetCount(); + } + + protected handleClick() { + this.updatePopup(); + this.popup.setHidden(!this.popup.isHidden); + } + + protected popup: ToolbarPopup; +} + /** * A namespace for private data. */ diff --git a/packages/apputils/style/toolbar.css b/packages/apputils/style/toolbar.css index f05e4f40c0d0..63b70db5aecf 100644 --- a/packages/apputils/style/toolbar.css +++ b/packages/apputils/style/toolbar.css @@ -21,7 +21,7 @@ min-height: var(--jp-toolbar-micro-height); padding: 2px; z-index: 1; - overflow-x: auto; + overflow-x: hidden; } /* Toolbar items */ diff --git a/packages/apputils/test/toolbar.spec.ts b/packages/apputils/test/toolbar.spec.ts index 3a5948b1e647..5f6d74a5ba71 100644 --- a/packages/apputils/test/toolbar.spec.ts +++ b/packages/apputils/test/toolbar.spec.ts @@ -3,6 +3,7 @@ import { CommandToolbarButton, + ReactiveToolbar, SessionContext, Toolbar, ToolbarButton @@ -15,7 +16,7 @@ import { import { toArray } from '@lumino/algorithm'; import { CommandRegistry } from '@lumino/commands'; import { ReadonlyPartialJSONObject } from '@lumino/coreutils'; -import { Widget } from '@lumino/widgets'; +import { PanelLayout, Widget } from '@lumino/widgets'; import { simulate } from 'simulate-event'; const server = new JupyterServer(); @@ -385,6 +386,60 @@ describe('@jupyterlab/apputils', () => { }); }); + describe('ReactiveToolbar', () => { + let toolbar: ReactiveToolbar; + + beforeEach(() => { + toolbar = new ReactiveToolbar(); + Widget.attach(toolbar, document.body); + }); + + afterEach(() => { + toolbar.dispose(); + }); + + describe('#constructor()', () => { + it('should append a node to body for the pop-up', () => { + const popup = document.body.querySelector( + '.jp-Toolbar-responsive-popup' + ); + expect(popup).toBeDefined(); + expect(popup!.parentNode!.nodeName).toEqual('BODY'); + }); + }); + + describe('#addItem()', () => { + it('should insert item before the toolbar pop-up button', () => { + const w = new Widget(); + toolbar.addItem('test', w); + expect( + (toolbar.layout as PanelLayout).widgets.findIndex(v => v === w) + ).toEqual((toolbar.layout as PanelLayout).widgets.length - 2); + }); + }); + + describe('#insertItem()', () => { + it('should insert item before the toolbar pop-up button', () => { + const w = new Widget(); + toolbar.insertItem(2, 'test', w); + expect( + (toolbar.layout as PanelLayout).widgets.findIndex(v => v === w) + ).toEqual((toolbar.layout as PanelLayout).widgets.length - 2); + }); + }); + + describe('#insertAfter()', () => { + it('should not insert item after the toolbar pop-up button', () => { + const w = new Widget(); + const r = toolbar.insertAfter('toolbar-popup-opener', 'test', w); + expect(r).toEqual(false); + expect( + (toolbar.layout as PanelLayout).widgets.findIndex(v => v === w) + ).toEqual(-1); + }); + }); + }); + describe('ToolbarButton', () => { describe('#constructor()', () => { it('should accept no arguments', () => { diff --git a/packages/docregistry/test/default.spec.ts b/packages/docregistry/test/default.spec.ts index f018e69ec156..b174692f25fe 100644 --- a/packages/docregistry/test/default.spec.ts +++ b/packages/docregistry/test/default.spec.ts @@ -189,10 +189,18 @@ describe('docregistry/default', () => { const context = await Mock.createFileContext(); const widget = factory.createNew(context); const widget2 = factory.createNew(context); - expect(toArray(widget.toolbar.names())).toEqual(['foo', 'bar']); - expect(toArray(widget2.toolbar.names())).toEqual(['foo', 'bar']); - expect(toArray(widget.toolbar.children()).length).toBe(2); - expect(toArray(widget2.toolbar.children()).length).toBe(2); + expect(toArray(widget.toolbar.names())).toEqual([ + 'foo', + 'bar', + 'toolbar-popup-opener' + ]); + expect(toArray(widget2.toolbar.names())).toEqual([ + 'foo', + 'bar', + 'toolbar-popup-opener' + ]); + expect(toArray(widget.toolbar.children()).length).toBe(3); + expect(toArray(widget2.toolbar.children()).length).toBe(3); }); }); diff --git a/packages/notebook/style/toolbar.css b/packages/notebook/style/toolbar.css index 2fb28f90a301..c1a3259af042 100644 --- a/packages/notebook/style/toolbar.css +++ b/packages/notebook/style/toolbar.css @@ -7,6 +7,10 @@ | Variables |----------------------------------------------------------------------------*/ +:root { + --jp-notebook-toolbar-padding: 2px 5px 2px 2px; +} + /*----------------------------------------------------------------------------- /*----------------------------------------------------------------------------- @@ -14,7 +18,7 @@ |----------------------------------------------------------------------------*/ .jp-NotebookPanel-toolbar { - padding: 2px; + padding: var(--jp-notebook-toolbar-padding); } .jp-Toolbar-item.jp-Notebook-toolbarCellType .jp-select-wrapper.jp-mod-focused { @@ -33,3 +37,24 @@ .jp-Notebook-toolbarCellTypeDropdown span { top: 5px !important; } + +.jp-Toolbar-responsive-popup { + position: absolute; + height: fit-content; + display: flex; + flex-direction: row; + flex-wrap: wrap; + justify-content: flex-end; + border-bottom: var(--jp-border-width) solid var(--jp-toolbar-border-color); + box-shadow: var(--jp-toolbar-box-shadow); + background: var(--jp-toolbar-background); + min-height: var(--jp-toolbar-micro-height); + padding: var(--jp-notebook-toolbar-padding); + z-index: 1; + right: 0px; + top: 0px; +} + +.jp-Toolbar > .jp-Toolbar-responsive-opener { + margin-left: auto; +} diff --git a/packages/notebook/test/widgetfactory.spec.ts b/packages/notebook/test/widgetfactory.spec.ts index c6c5dc597b08..65b3d1ad5f09 100644 --- a/packages/notebook/test/widgetfactory.spec.ts +++ b/packages/notebook/test/widgetfactory.spec.ts @@ -115,10 +115,18 @@ describe('@jupyterlab/notebook', () => { const factory = utils.createNotebookWidgetFactory(toolbarFactory); const panel = factory.createNew(context); const panel2 = factory.createNew(context); - expect(toArray(panel.toolbar.names())).toEqual(['foo', 'bar']); - expect(toArray(panel2.toolbar.names())).toEqual(['foo', 'bar']); - expect(toArray(panel.toolbar.children()).length).toBe(2); - expect(toArray(panel2.toolbar.children()).length).toBe(2); + expect(toArray(panel.toolbar.names())).toEqual([ + 'foo', + 'bar', + 'toolbar-popup-opener' + ]); + expect(toArray(panel2.toolbar.names())).toEqual([ + 'foo', + 'bar', + 'toolbar-popup-opener' + ]); + expect(toArray(panel.toolbar.children()).length).toBe(3); + expect(toArray(panel2.toolbar.children()).length).toBe(3); }); it('should clone from the optional source widget', () => { diff --git a/packages/ui-components/src/style/icon.ts b/packages/ui-components/src/style/icon.ts index 7ae006054e8e..720a27a99b53 100644 --- a/packages/ui-components/src/style/icon.ts +++ b/packages/ui-components/src/style/icon.ts @@ -425,7 +425,6 @@ export namespace LabIconStyle { toolbarButton: { container: { display: 'inline-block', - margin: 'auto', verticalAlign: 'middle' }, element: { diff --git a/yarn.lock b/yarn.lock index caa43a0b1182..e495cc27c260 100644 --- a/yarn.lock +++ b/yarn.lock @@ -2392,11 +2392,6 @@ resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-10.0.0.tgz#db4335de99509021f501fc4e026e6ff495fe1e62" integrity sha512-k1iO2zKuEjjRS1EJb4FwSLk+iF6EGp+ZV0OMRViQoWhQ1fZTk9hg1xccZII5uyYoiqcbC73MRBmT45y1vp2PPg== -"@octokit/openapi-types@^8.2.1": - version "8.2.1" - resolved "https://registry.yarnpkg.com/@octokit/openapi-types/-/openapi-types-8.2.1.tgz#102e752a7378ff8d21057c70fd16f1c83856d8c5" - integrity sha512-BJz6kWuL3n+y+qM8Pv+UGbSxH6wxKf/SBs5yzGufMHwDefsa+Iq7ZGy1BINMD2z9SkXlIzk1qiu988rMuGXEMg== - "@octokit/plugin-enterprise-rest@^6.0.1": version "6.0.1" resolved "https://registry.yarnpkg.com/@octokit/plugin-enterprise-rest/-/plugin-enterprise-rest-6.0.1.tgz#e07896739618dab8da7d4077c658003775f95437" @@ -2453,14 +2448,7 @@ "@octokit/plugin-request-log" "^1.0.4" "@octokit/plugin-rest-endpoint-methods" "^5.9.0" -"@octokit/types@^6.0.3", "@octokit/types@^6.16.1": - version "6.18.1" - resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.18.1.tgz#a6db178536e649fd5d67a7b747754bcc43940be4" - integrity sha512-5YsddjO1U+xC8ZYKV8yZYebW55PCc7qiEEeZ+wZRr6qyclynzfyD65KZ5FdtIeP0/cANyFaD7hV69qElf1nMsQ== - dependencies: - "@octokit/openapi-types" "^8.2.1" - -"@octokit/types@^6.26.0": +"@octokit/types@^6.0.3", "@octokit/types@^6.16.1", "@octokit/types@^6.26.0": version "6.26.0" resolved "https://registry.yarnpkg.com/@octokit/types/-/types-6.26.0.tgz#b8af298485d064ad9424cb41520541c1bf820346" integrity sha512-RDxZBAFMtqs1ZPnbUu1e7ohPNfoNhTiep4fErY7tZs995BeHu369Vsh5woMIaFbllRWEZBfvTCS4hvDnMPiHrA== @@ -3242,12 +3230,7 @@ resolved "https://registry.yarnpkg.com/@types/parse-json/-/parse-json-4.0.0.tgz#2f8bb441434d163b35fb8ffdccd7138927ffb8c0" integrity sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA== -"@types/prettier@^2.0.0": - version "2.3.2" - resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.3.2.tgz#fc8c2825e4ed2142473b4a81064e6e081463d1b3" - integrity sha512-eI5Yrz3Qv4KPUa/nSIAi0h+qX0XyewOliug5F2QAtuRg6Kjg6jfmxe1GIwoIRhZspD1A0RP8ANrPwvEXXtRFog== - -"@types/prettier@~2.1.0": +"@types/prettier@^2.0.0", "@types/prettier@~2.1.0": version "2.1.6" resolved "https://registry.yarnpkg.com/@types/prettier/-/prettier-2.1.6.tgz#f4b1efa784e8db479cdb8b14403e2144b1e9ff03" integrity sha512-6gOkRe7OIioWAXfnO/2lFiv+SJichKVSys1mSsgyrYHSEjk8Ctv4tSR/Odvnu+HWlH2C8j53dahU03XmQdd5fA== @@ -3406,16 +3389,7 @@ resolved "https://registry.yarnpkg.com/@types/webpack-env/-/webpack-env-1.16.2.tgz#8db514b059c1b2ae14ce9d7bb325296de6a9a0fa" integrity sha512-vKx7WNQNZDyJveYcHAm9ZxhqSGLYwoyLhrHjLBOkw3a7cT76sTdjgtwyijhk1MaHyRIuSztcVwrUOO/NEu68Dw== -"@types/webpack-sources@*": - version "2.1.1" - resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-2.1.1.tgz#6af17e3a3ded71eec2b98008d7c12f498a0a4506" - integrity sha512-MjM1R6iuw8XaVbtkCBz0N349cyqBjJHCbQiOeppe3VBeFvxqs74RKHAVt9LkxTnUWc7YLZOEsUfPUnmK6SBPKQ== - dependencies: - "@types/node" "*" - "@types/source-list-map" "*" - source-map "^0.7.3" - -"@types/webpack-sources@^0.1.5": +"@types/webpack-sources@*", "@types/webpack-sources@^0.1.5": version "0.1.9" resolved "https://registry.yarnpkg.com/@types/webpack-sources/-/webpack-sources-0.1.9.tgz#da69b06eb34f6432e6658acb5a6893c55d983920" integrity sha512-bvzMnzqoK16PQIC8AYHNdW45eREJQMd6WG/msQWX5V2+vZmODCOPb4TJcbgRljTZZTwTM4wUMcsI8FftNA7new== @@ -3468,7 +3442,7 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/experimental-utils@4.8.2": +"@typescript-eslint/experimental-utils@4.8.2", "@typescript-eslint/experimental-utils@^4.0.1": version "4.8.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.8.2.tgz#8909a5732f19329cf5ef0c39766170476bff5e50" integrity sha512-hpTw6o6IhBZEsQsjuw/4RWmceRyESfAiEzAEnXHKG1X7S5DXFaZ4IO1JO7CW1aQ604leQBzjZmuMI9QBCAJX8Q== @@ -3480,18 +3454,6 @@ eslint-scope "^5.0.0" eslint-utils "^2.0.0" -"@typescript-eslint/experimental-utils@^4.0.1": - version "4.28.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/experimental-utils/-/experimental-utils-4.28.2.tgz#4ebdec06a10888e9326e1d51d81ad52a361bd0b0" - integrity sha512-MwHPsL6qo98RC55IoWWP8/opTykjTp4JzfPu1VfO2Z0MshNP0UZ1GEV5rYSSnZSUI8VD7iHvtIPVGW5Nfh7klQ== - dependencies: - "@types/json-schema" "^7.0.7" - "@typescript-eslint/scope-manager" "4.28.2" - "@typescript-eslint/types" "4.28.2" - "@typescript-eslint/typescript-estree" "4.28.2" - eslint-scope "^5.1.1" - eslint-utils "^3.0.0" - "@typescript-eslint/parser@~4.8.1": version "4.8.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/parser/-/parser-4.8.2.tgz#78dccbe5124de2b8dea2d4c363dee9f769151ca8" @@ -3502,14 +3464,6 @@ "@typescript-eslint/typescript-estree" "4.8.2" debug "^4.1.1" -"@typescript-eslint/scope-manager@4.28.2": - version "4.28.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.28.2.tgz#451dce90303a3ce283750111495d34c9c204e510" - integrity sha512-MqbypNjIkJFEFuOwPWNDjq0nqXAKZvDNNs9yNseoGBB1wYfz1G0WHC2AVOy4XD7di3KCcW3+nhZyN6zruqmp2A== - dependencies: - "@typescript-eslint/types" "4.28.2" - "@typescript-eslint/visitor-keys" "4.28.2" - "@typescript-eslint/scope-manager@4.8.2": version "4.8.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/scope-manager/-/scope-manager-4.8.2.tgz#a18388c63ae9c17adde519384f539392f2c4f0d9" @@ -3518,29 +3472,11 @@ "@typescript-eslint/types" "4.8.2" "@typescript-eslint/visitor-keys" "4.8.2" -"@typescript-eslint/types@4.28.2": - version "4.28.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.28.2.tgz#e6b9e234e0e9a66c4d25bab881661e91478223b5" - integrity sha512-Gr15fuQVd93uD9zzxbApz3wf7ua3yk4ZujABZlZhaxxKY8ojo448u7XTm/+ETpy0V0dlMtj6t4VdDvdc0JmUhA== - "@typescript-eslint/types@4.8.2": version "4.8.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/types/-/types-4.8.2.tgz#c862dd0e569d9478eb82d6aee662ea53f5661a36" integrity sha512-z1/AVcVF8ju5ObaHe2fOpZYEQrwHyZ7PTOlmjd3EoFeX9sv7UekQhfrCmgUO7PruLNfSHrJGQvrW3Q7xQ8EoAw== -"@typescript-eslint/typescript-estree@4.28.2": - version "4.28.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.28.2.tgz#680129b2a285289a15e7c6108c84739adf3a798c" - integrity sha512-86lLstLvK6QjNZjMoYUBMMsULFw0hPHJlk1fzhAVoNjDBuPVxiwvGuPQq3fsBMCxuDJwmX87tM/AXoadhHRljg== - dependencies: - "@typescript-eslint/types" "4.28.2" - "@typescript-eslint/visitor-keys" "4.28.2" - debug "^4.3.1" - globby "^11.0.3" - is-glob "^4.0.1" - semver "^7.3.5" - tsutils "^3.21.0" - "@typescript-eslint/typescript-estree@4.8.2": version "4.8.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/typescript-estree/-/typescript-estree-4.8.2.tgz#eeec34707d8577600fb21661b5287226cc8b3bed" @@ -3555,14 +3491,6 @@ semver "^7.3.2" tsutils "^3.17.1" -"@typescript-eslint/visitor-keys@4.28.2": - version "4.28.2" - resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.28.2.tgz#bf56a400857bb68b59b311e6d0a5fbef5c3b5130" - integrity sha512-aT2B4PLyyRDUVUafXzpZFoc0C9t0za4BJAKP5sgWIhG+jHECQZUEjuQSCIwZdiJJ4w4cgu5r3Kh20SOdtEBl0w== - dependencies: - "@typescript-eslint/types" "4.28.2" - eslint-visitor-keys "^2.0.0" - "@typescript-eslint/visitor-keys@4.8.2": version "4.8.2" resolved "https://registry.yarnpkg.com/@typescript-eslint/visitor-keys/-/visitor-keys-4.8.2.tgz#62cd3fbbbf65f8eccfbe6f159eb1b84a243a3f77" @@ -3952,18 +3880,7 @@ abbrev@1: resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" integrity sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q== -abstract-leveldown@^6.2.1: - version "6.3.0" - resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.3.0.tgz#d25221d1e6612f820c35963ba4bd739928f6026a" - integrity sha512-TU5nlYgta8YrBMNpc9FwQzRbiXsj49gsALsXadbGHt9CROPzX5fB0rWDR5mtdpOOKa5XqRFpbj1QroPAoPzVjQ== - dependencies: - buffer "^5.5.0" - immediate "^3.2.3" - level-concat-iterator "~2.0.0" - level-supports "~1.0.0" - xtend "~4.0.0" - -abstract-leveldown@~6.2.1, abstract-leveldown@~6.2.3: +abstract-leveldown@^6.2.1, abstract-leveldown@~6.2.1, abstract-leveldown@~6.2.3: version "6.2.3" resolved "https://registry.yarnpkg.com/abstract-leveldown/-/abstract-leveldown-6.2.3.tgz#036543d87e3710f2528e47040bc3261b77a9a8eb" integrity sha512-BsLm5vFMRUrrLeCcRc+G0t2qOaTzpoJQLOubq2XM72eNpjF5UdU5o/5NvlNhx95XHcAvcl8OMXr4mlg/fRgUXQ== @@ -5225,30 +5142,7 @@ cacache@^12.0.2: unique-filename "^1.1.1" y18n "^4.0.0" -cacache@^15.0.5: - version "15.2.0" - resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.2.0.tgz#73af75f77c58e72d8c630a7a2858cb18ef523389" - integrity sha512-uKoJSHmnrqXgthDFx/IU6ED/5xd+NNGe+Bb+kLZy7Ku4P+BaiWEUflAKPZ7eAzsYGcsAGASJZsybXp+quEcHTw== - dependencies: - "@npmcli/move-file" "^1.0.1" - chownr "^2.0.0" - fs-minipass "^2.0.0" - glob "^7.1.4" - infer-owner "^1.0.4" - lru-cache "^6.0.0" - minipass "^3.1.1" - minipass-collect "^1.0.2" - minipass-flush "^1.0.5" - minipass-pipeline "^1.2.2" - mkdirp "^1.0.3" - p-map "^4.0.0" - promise-inflight "^1.0.1" - rimraf "^3.0.2" - ssri "^8.0.1" - tar "^6.0.2" - unique-filename "^1.1.1" - -cacache@^15.2.0: +cacache@^15.0.5, cacache@^15.2.0: version "15.3.0" resolved "https://registry.yarnpkg.com/cacache/-/cacache-15.3.0.tgz#dc85380fb2f556fe3dda4c719bfa0ec875a7f1eb" integrity sha512-VVdYzXEn+cnbXpFgWs5hTT7OScegHVmLhJIR8Ufqk3iFD6A6j5iSX1KuBTfNEv4tdJWE2PzA6IVFtcLC7fN9wQ== @@ -6433,16 +6327,11 @@ cssstyle@^2.0.0, cssstyle@^2.3.0: dependencies: cssom "~0.3.6" -csstype@2.6.9: +csstype@2.6.9, csstype@^2.5.7: version "2.6.9" resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.9.tgz#05141d0cd557a56b8891394c1911c40c8a98d098" integrity sha512-xz39Sb4+OaTsULgUERcCk+TJj8ylkL4aSVDQiX/ksxbELSqwkgt4d4RD7fovIdgJGSuNYqwZEiVjYY5l0ask+Q== -csstype@^2.5.7: - version "2.6.17" - resolved "https://registry.yarnpkg.com/csstype/-/csstype-2.6.17.tgz#4cf30eb87e1d1a005d8b6510f95292413f6a1c0e" - integrity sha512-u1wmTI1jJGzCJzWndZo8mk4wnPTZd1eOIYTYvuEyOQGfmDl3TrabCCfKnOC86FZwW/9djqTl933UF/cS425i9A== - csstype@^3.0.2, csstype@~3.0.3: version "3.0.8" resolved "https://registry.yarnpkg.com/csstype/-/csstype-3.0.8.tgz#d2266a792729fb227cd216fb572f43728e1ad340" @@ -6636,14 +6525,7 @@ debug@2.6.9, debug@^2.2.0, debug@^2.3.3, debug@^2.6.0, debug@^2.6.8, debug@^2.6. dependencies: ms "2.0.0" -debug@4, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: - version "4.3.2" - resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.2.tgz#f0a49c18ac8779e31d4a0c6029dfb76873c7428b" - integrity sha512-mOp8wKcvj7XxC78zLgw/ZA+6TSgkoE2C/ienthhRD298T7UNwAg9diBpLRxC0mOezLl4B0xV7M0cCO6P/O0Xhw== - dependencies: - ms "2.1.2" - -debug@4.3.1: +debug@4, debug@4.3.1, debug@^4.0.1, debug@^4.1.0, debug@^4.1.1, debug@^4.2.0, debug@^4.3.1: version "4.3.1" resolved "https://registry.yarnpkg.com/debug/-/debug-4.3.1.tgz#f0d229c505e0c6d8c49ac553d1b13dc183f6b2ee" integrity sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ== @@ -7304,7 +7186,7 @@ error-ex@^1.3.1: dependencies: is-arrayish "^0.2.1" -es-abstract@^1.17.0-next.0, es-abstract@^1.17.2, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: +es-abstract@^1.17.0-next.0, es-abstract@^1.18.0-next.1, es-abstract@^1.18.0-next.2, es-abstract@^1.18.2: version "1.18.3" resolved "https://registry.yarnpkg.com/es-abstract/-/es-abstract-1.18.3.tgz#25c4c3380a27aa203c44b2b685bba94da31b63e0" integrity sha512-nQIr12dxV7SSxE6r6f1l3DtAeEYdsGpps13dR0TwJg1S8gyp4ZPgy3FZcHBgbiQqnoqSTb+oC+kO4UQ0C/J8vw== @@ -7541,13 +7423,6 @@ eslint-utils@^2.0.0, eslint-utils@^2.1.0: dependencies: eslint-visitor-keys "^1.1.0" -eslint-utils@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/eslint-utils/-/eslint-utils-3.0.0.tgz#8aebaface7345bb33559db0a1f13a1d2d48c3672" - integrity sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA== - dependencies: - eslint-visitor-keys "^2.0.0" - eslint-visitor-keys@^1.1.0, eslint-visitor-keys@^1.3.0: version "1.3.0" resolved "https://registry.yarnpkg.com/eslint-visitor-keys/-/eslint-visitor-keys-1.3.0.tgz#30ebd1ef7c2fdff01c3a4f151044af25fab0523e" @@ -7869,16 +7744,11 @@ extglob@^2.0.4: snapdragon "^0.8.1" to-regex "^3.0.1" -extsprintf@1.3.0: +extsprintf@1.3.0, extsprintf@^1.2.0: version "1.3.0" resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.3.0.tgz#96918440e3041a7a414f8c52e3c574eb3c3e1e05" integrity sha1-lpGEQOMEGnpBT4xS48V06zw+HgU= -extsprintf@^1.2.0: - version "1.4.0" - resolved "https://registry.yarnpkg.com/extsprintf/-/extsprintf-1.4.0.tgz#e2689f8f356fad62cca65a3a91c5df5f9551692f" - integrity sha1-4mifjzVvrWLMplo6kcXfX5VRaS8= - fast-deep-equal@^3.1.1, fast-deep-equal@~3.1.3: version "3.1.3" resolved "https://registry.yarnpkg.com/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz#3a7d56b559d6cbc3eb512325244e619a65c6c525" @@ -7999,15 +7869,7 @@ file-entry-cache@^5.0.1: dependencies: flat-cache "^2.0.1" -file-loader@^6.0.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.2.0.tgz#baef7cf8e1840df325e4390b4484879480eebe4d" - integrity sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw== - dependencies: - loader-utils "^2.0.0" - schema-utils "^3.0.0" - -file-loader@~6.0.0: +file-loader@^6.0.0, file-loader@~6.0.0: version "6.0.0" resolved "https://registry.yarnpkg.com/file-loader/-/file-loader-6.0.0.tgz#97bbfaab7a2460c07bcbd72d3a6922407f67649f" integrity sha512-/aMOAYEFXDdjG0wytpTL5YQLfZnnTmLNjn+AIrJ/6HVnTfDqLsVKUUwkDf4I4kgex36BvjuXEn/TX9B/1ESyqQ== @@ -8654,7 +8516,7 @@ globby@8.0.2: pify "^3.0.0" slash "^1.0.0" -globby@^11.0.1, globby@^11.0.2, globby@^11.0.3: +globby@^11.0.1, globby@^11.0.2: version "11.0.4" resolved "https://registry.yarnpkg.com/globby/-/globby-11.0.4.tgz#2cbaff77c2f2a62e71e9b2813a67b97a3a3001a5" integrity sha512-9O4MVG9ioZJ08ffbcyVYyLOJLk5JQ688pJ4eMGLpdWLHq/Wr1D9BlriLQyL0E+jbkuePVZXYFj47QM/v093wHg== @@ -8690,12 +8552,7 @@ got@^9.6.0: to-readable-stream "^1.0.0" url-parse-lax "^3.0.0" -graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.4: - version "4.2.6" - resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.6.tgz#ff040b2b0853b23c3d31027523706f1885d76bee" - integrity sha512-nTnJ528pbqxYanhpDYsi4Rd8MAeaBA67+RZ10CM1m3bTAVFEDcd5AuA4a6W5YkGZ1iNXHzZz8T6TBKLeBuNriQ== - -graceful-fs@^4.2.3: +graceful-fs@^4.1.11, graceful-fs@^4.1.15, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9, graceful-fs@^4.2.0, graceful-fs@^4.2.2, graceful-fs@^4.2.3, graceful-fs@^4.2.4: version "4.2.8" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.8.tgz#e412b8d33f5e006593cbd3cee6df9f2cebbe802a" integrity sha512-qkIilPUYcNhJpd33n0GBXTB1MMPp14TxEsEs0pTrsSVucApsYzW5V+Q8Qxhik6KU3evy+qkAAowTByymK0avdg== @@ -9025,7 +8882,7 @@ http-cache-semantics@^4.0.0, http-cache-semantics@^4.1.0: resolved "https://registry.yarnpkg.com/http-cache-semantics/-/http-cache-semantics-4.1.0.tgz#49e91c5cbf36c9b94bcfcd71c23d5249ec74e390" integrity sha512-carPklcUh7ROWRK7Cv27RPtdhYhUsela/ue5/jKzjegVvXDqM2ILE9Q2BGn9JZJh1g87cp56su/FgQSzcWS8cQ== -http-errors@1.7.2: +http-errors@1.7.2, http-errors@~1.7.2: version "1.7.2" resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.2.tgz#4f5029cf13239f31036e5b2e55292bcfbcc85c8f" integrity sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg== @@ -9047,17 +8904,6 @@ http-errors@1.8.0: statuses ">= 1.5.0 < 2" toidentifier "1.0.0" -http-errors@~1.7.2: - version "1.7.3" - resolved "https://registry.yarnpkg.com/http-errors/-/http-errors-1.7.3.tgz#6c619e4f9c60308c38519498c14fbb10aacebb06" - integrity sha512-ZTTX0MWrsQ2ZAhA1cejAwDLycFsd7I7nVtnkT3Ol0aqodaKW+0CTZDQ1uBv5whptCnc8e8HeRRJxRs0kmm/Qfw== - dependencies: - depd "~1.1.2" - inherits "2.0.4" - setprototypeof "1.1.1" - statuses ">= 1.5.0 < 2" - toidentifier "1.0.0" - http-link-header@^0.8.0: version "0.8.0" resolved "https://registry.yarnpkg.com/http-link-header/-/http-link-header-0.8.0.tgz#a22b41a0c9b1e2d8fac1bf1b697c6bd532d5f5e4" @@ -9293,16 +9139,11 @@ inherits@2.0.3: resolved "https://registry.yarnpkg.com/inherits/-/inherits-2.0.3.tgz#633c2c83e3da42a502f52466022480f4208261de" integrity sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4= -ini@1.3.7: +ini@1.3.7, ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: version "1.3.7" resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.7.tgz#a09363e1911972ea16d7a8851005d84cf09a9a84" integrity sha512-iKpRpXP+CrP2jyrxvg1kMUpXDyRUFDWurxbnVT1vQPx+Wz9uCYsMIqYuSBLV+PAaZG/d7kRLKRFc9oDMsH+mFQ== -ini@^1.3.2, ini@^1.3.4, ini@^1.3.5, ini@~1.3.0: - version "1.3.8" - resolved "https://registry.yarnpkg.com/ini/-/ini-1.3.8.tgz#a29da425b48806f34767a4efce397269af28432c" - integrity sha512-JV/yugV2uzW5iMRSiZAyDtQd+nxtUnjeLt0acNdw98kKLrvuRVyB80tsREOE7yvGVgalhZ6RNXCmEHkUKBKxew== - init-package-json@^2.0.2: version "2.0.4" resolved "https://registry.yarnpkg.com/init-package-json/-/init-package-json-2.0.4.tgz#9f9f66cd5934e6d5f645150e15013d384d0b90d2" @@ -9535,14 +9376,7 @@ is-ci@^2.0.0: dependencies: ci-info "^2.0.0" -is-core-module@^2.2.0: - version "2.4.0" - resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.4.0.tgz#8e9fc8e15027b011418026e98f0e6f4d86305cc1" - integrity sha512-6A2fkfq1rfeQZjxrZJGerpLCTHRNEBiSgnu0+obeJpEPZRUooHgsizvzv0ZjJwOz3iWIHdJtVWJ/tmPr3D21/A== - dependencies: - has "^1.0.3" - -is-core-module@^2.5.0: +is-core-module@^2.2.0, is-core-module@^2.5.0: version "2.6.0" resolved "https://registry.yarnpkg.com/is-core-module/-/is-core-module-2.6.0.tgz#d7553b2526fe59b92ba3e40c8df757ec8a709e19" integrity sha512-wShG8vs60jKfPWpF2KZRaAtvt3a20OAn7+IJ6hLPECpSABLcKtFKTTI4ZtH5QcBruBHlq+WsdHWyz0BCZW7svQ== @@ -11894,16 +11728,11 @@ ms@2.1.1: resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.1.tgz#30a5864eb3ebb0a66f2ebe6d727af06a09d86e0a" integrity sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg== -ms@2.1.2: +ms@2.1.2, ms@^2.0.0, ms@^2.1.1: version "2.1.2" resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.2.tgz#d09d1f357b443f493382a8eb3ccd183872ae6009" integrity sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w== -ms@^2.0.0, ms@^2.1.1: - version "2.1.3" - resolved "https://registry.yarnpkg.com/ms/-/ms-2.1.3.tgz#574c8138ce1d2b5861f0b44579dbadd60c6615b2" - integrity sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA== - multimatch@^5.0.0: version "5.0.0" resolved "https://registry.yarnpkg.com/multimatch/-/multimatch-5.0.0.tgz#932b800963cea7a31a033328fa1e0c3a1874dbe6" @@ -11934,12 +11763,7 @@ mv@2.1.1: ncp "~2.0.0" rimraf "~2.4.0" -nan@^2.12.1: - version "2.14.2" - resolved "https://registry.yarnpkg.com/nan/-/nan-2.14.2.tgz#f5376400695168f4cc694ac9393d0c9585eeea19" - integrity sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ== - -nan@^2.14.0: +nan@^2.12.1, nan@^2.14.0: version "2.15.0" resolved "https://registry.yarnpkg.com/nan/-/nan-2.15.0.tgz#3f34a473ff18e15c1b5626b62903b5ad6e665fee" integrity sha512-8ZtvEnA2c5aYCZYd1cvgdnU6cqwixRoYg70xPLWUws5ORTa/lnw+u4amixRS/Ac5U5mQVgp9pnlSUnbNWFaWZQ== @@ -12157,17 +11981,7 @@ normalize-package-data@^2.0.0, normalize-package-data@^2.3.2, normalize-package- semver "2 || 3 || 4 || 5" validate-npm-package-license "^3.0.1" -normalize-package-data@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.2.tgz#cae5c410ae2434f9a6c1baa65d5bc3b9366c8699" - integrity sha512-6CdZocmfGaKnIHPVFhJJZ3GuR8SsLKvDANFp47Jmy51aKIr8akjAWTSxtpI+MBgBFdSMRyo4hMpDlT6dTffgZg== - dependencies: - hosted-git-info "^4.0.1" - resolve "^1.20.0" - semver "^7.3.4" - validate-npm-package-license "^3.0.1" - -normalize-package-data@^3.0.2: +normalize-package-data@^3.0.0, normalize-package-data@^3.0.2: version "3.0.3" resolved "https://registry.yarnpkg.com/normalize-package-data/-/normalize-package-data-3.0.3.tgz#dbcc3e2da59509a0983422884cd172eefdfa525e" integrity sha512-p2W1sgqij3zMMyRC067Dg16bfzVH+w7hyegmpIvZ4JNjqtGOVAIvLmjBx3yP7YTe9vKJgkoNOPjwQGogDoMXFA== @@ -12431,7 +12245,7 @@ object.entries@^1.1.0, object.entries@^1.1.2: es-abstract "^1.18.0-next.2" has "^1.0.3" -object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.0, object.getownpropertydescriptors@^2.1.2: +object.getownpropertydescriptors@^2.0.3, object.getownpropertydescriptors@^2.1.2: version "2.1.2" resolved "https://registry.yarnpkg.com/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.2.tgz#1bd63aeacf0d5d2d2f31b5e393b03a7c601a23f7" integrity sha512-WtxeKSzfBjlzL+F9b7M7hewDzMwy+C8NRssHd1YrNlzHzIDrXcXiNOMrezdAEM4UXixgV+vvnyBeN7Rygl2ttQ== @@ -13266,12 +13080,7 @@ pretty-ms@^5.0.0: dependencies: parse-ms "^2.1.0" -prismjs@^1.8.4: - version "1.24.1" - resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.24.1.tgz#c4d7895c4d6500289482fa8936d9cdd192684036" - integrity sha512-mNPsedLuk90RVJioIky8ANZEwYm5w9LcvCXrxHlwf4fNVSn8jEipMybMkWUyyF0JhnC+C4VcOVSBuHRKs1L5Ow== - -prismjs@~1.17.0: +prismjs@^1.8.4, prismjs@~1.17.0: version "1.17.1" resolved "https://registry.yarnpkg.com/prismjs/-/prismjs-1.17.1.tgz#e669fcbd4cdd873c35102881c33b14d0d68519be" integrity sha512-PrEDJAFdUGbOP6xK/UsfkC5ghJsPJviKgnQOoxaDbBjwc8op68Quupwt1DeAFoG8GImPhiKXAvvsH7wDSLsu1Q== @@ -13492,16 +13301,11 @@ querystring-es3@^0.2.0: resolved "https://registry.yarnpkg.com/querystring-es3/-/querystring-es3-0.2.1.tgz#9ec61f79049875707d69414596fd907a4d711e73" integrity sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM= -querystring@0.2.0: +querystring@0.2.0, querystring@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.0.tgz#b209849203bb25df820da756e747005878521620" integrity sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA= -querystring@^0.2.0: - version "0.2.1" - resolved "https://registry.yarnpkg.com/querystring/-/querystring-0.2.1.tgz#40d77615bb09d16902a85c3e38aa8b5ed761c2dd" - integrity sha512-wkvS7mL/JMugcup3/rMitHmd9ecIGd2lhFhK9N3UUQ450h66d1r3Y9nvXzQAW1Lq+wyx61k/1pfKS5KuKiyEbg== - querystringify@^2.1.1: version "2.2.0" resolved "https://registry.yarnpkg.com/querystringify/-/querystringify-2.2.0.tgz#3345941b4153cb9d082d8eee4cda2016a9aef7f6" @@ -14301,7 +14105,7 @@ resolve-url@^0.2.1: resolved "https://registry.yarnpkg.com/resolve-url/-/resolve-url-0.2.1.tgz#2c637fe77c893afd2a663fe21aa9080068e2052a" integrity sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo= -resolve@^1.1.10, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.20.0, resolve@^1.9.0: +resolve@^1.1.10, resolve@^1.1.6, resolve@^1.10.0, resolve@^1.12.0, resolve@^1.13.1, resolve@^1.14.2, resolve@^1.18.1, resolve@^1.9.0: version "1.20.0" resolved "https://registry.yarnpkg.com/resolve/-/resolve-1.20.0.tgz#629a013fb3f70755d6f0b7935cc1c2c5378b1975" integrity sha512-wENBPt4ySzg4ybFQW2TT1zMQucPK95HSh/nq2CFTZVOGut2+pQvSsgtda4d26YrYcr067wjbmzOG8byDPBX63A== @@ -14347,20 +14151,13 @@ reusify@^1.0.4: resolved "https://registry.yarnpkg.com/reusify/-/reusify-1.0.4.tgz#90da382b1e126efc02146e90845a88db12925d76" integrity sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw== -rimraf@2.6.3: +rimraf@2.6.3, rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: version "2.6.3" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.6.3.tgz#b2d104fe0d8fb27cf9e0a1cda8262dd3833c6cab" integrity sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA== dependencies: glob "^7.1.3" -rimraf@^2.2.8, rimraf@^2.5.4, rimraf@^2.6.1, rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@^3.0.0, rimraf@^3.0.2, rimraf@~3.0.0: version "3.0.2" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-3.0.2.tgz#f1a5402ba6220ad52cc1282bac1ae3aa49fd061a" @@ -14441,12 +14238,12 @@ safe-buffer@5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.1.tgz#893312af69b2123def71f57889001671eeb2c853" integrity sha512-kKvNJn6Mm93gAczWVJg7wH+wGYWNrDHdWvpUmHyEsgCtIwwo3bqPtV4tR5tuPaUhTOo/kvhVwd8XwwOllGYkbg== -safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: +safe-buffer@5.1.2, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: version "5.1.2" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@^5.1.1, safe-buffer@^5.1.2, safe-buffer@^5.2.0, safe-buffer@~5.2.0: +safe-buffer@^5.2.0: version "5.2.1" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6" integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ== @@ -15289,14 +15086,7 @@ string.prototype.trimstart@^1.0.4: call-bind "^1.0.2" define-properties "^1.1.3" -string_decoder@^1.0.0, string_decoder@^1.1.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.3.0.tgz#42f114594a46cf1a8e30b0a84f56c78c3edac21e" - integrity sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA== - dependencies: - safe-buffer "~5.2.0" - -string_decoder@~1.1.1: +string_decoder@^1.0.0, string_decoder@^1.1.1, string_decoder@~1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/string_decoder/-/string_decoder-1.1.1.tgz#9cf1611ba62685d7030ae9e4ba34149c3af03fc8" integrity sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg== @@ -15523,19 +15313,7 @@ tar@^4.4.12: safe-buffer "^5.1.2" yallist "^3.0.3" -tar@^6.0.2: - version "6.1.0" - resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.0.tgz#d1724e9bcc04b977b18d5c573b333a2207229a83" - integrity sha512-DUCttfhsnLCjwoDoFcI+B2iJgYa93vBnDUATYEeRx6sntCTdN01VnqsIuTlALXla/LWooNg0yEGeB+Y8WdFxGA== - dependencies: - chownr "^2.0.0" - fs-minipass "^2.0.0" - minipass "^3.0.0" - minizlib "^2.1.1" - mkdirp "^1.0.3" - yallist "^4.0.0" - -tar@^6.1.0: +tar@^6.0.2, tar@^6.1.0: version "6.1.11" resolved "https://registry.yarnpkg.com/tar/-/tar-6.1.11.tgz#6760a38f003afa1b2ffd0ffe9e9abbd0eab3d621" integrity sha512-an/KZQzQUkZCkuoAA64hM92X0Urb6VpRhAFllDzz44U2mcD5scmT3zBc4VgVpkugF580+DQn8eAFSyoQt0tznA== @@ -15931,21 +15709,16 @@ ts-pnp@^1.1.6: resolved "https://registry.yarnpkg.com/ts-pnp/-/ts-pnp-1.2.0.tgz#a500ad084b0798f1c3071af391e65912c86bca92" integrity sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw== -tslib@^1.8.1, tslib@^1.9.0: - version "1.14.1" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.14.1.tgz#cf2d38bdc34a134bcaf1091c41f6619e2f672d00" - integrity sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg== +tslib@^1.8.1, tslib@^1.9.0, tslib@~1.13.0: + version "1.13.0" + resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" + integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== tslib@^2.0.0, tslib@^2.0.1, tslib@^2.0.3, tslib@^2.2.0: version "2.3.0" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.3.0.tgz#803b8cdab3e12ba581a4ca41c8839bbb0dacb09e" integrity sha512-N82ooyxVNm6h1riLCoyS9e3fuJ3AMG2zIZs2Gd1ATcSFjSA23Q0fzjjZeh0jbJvWVDZ0cJT8yaNNaaXHzueNjg== -tslib@~1.13.0: - version "1.13.0" - resolved "https://registry.yarnpkg.com/tslib/-/tslib-1.13.0.tgz#c881e13cc7015894ed914862d276436fa9a47043" - integrity sha512-i/6DQjL8Xf3be4K/E6Wgpekn5Qasl1usyw++dAA35Ue5orEn65VIxOA+YvNNl9HV3qv70T7CNwjODHZrLwvd1Q== - tslib@~2.0.3: version "2.0.3" resolved "https://registry.yarnpkg.com/tslib/-/tslib-2.0.3.tgz#8e0741ac45fc0c226e58a17bfc3e64b9bc6ca61c" @@ -15956,7 +15729,7 @@ tsscmp@1.0.6: resolved "https://registry.yarnpkg.com/tsscmp/-/tsscmp-1.0.6.tgz#85b99583ac3589ec4bfef825b5000aa911d605eb" integrity sha512-LxhtAkPDTkVCMQjt2h6eBVY28KCjikZqZfMcC15YBeNjkgUpdCfBu5HoiOTDu86v6smE8yOjyEktJ8hlbANHQA== -tsutils@^3.17.1, tsutils@^3.21.0: +tsutils@^3.17.1: version "3.21.0" resolved "https://registry.yarnpkg.com/tsutils/-/tsutils-3.21.0.tgz#b48717d394cea6c1e096983eed58e9d61715b623" integrity sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA== @@ -16102,7 +15875,7 @@ typestyle@^2.0.4: csstype "2.6.9" free-style "3.1.0" -uglify-js@3.4.x: +uglify-js@3.4.x, uglify-js@^3.1.4: version "3.4.10" resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.4.10.tgz#9ad9563d8eb3acdfb8d38597d2af1d815f6a755f" integrity sha512-Y2VsbPVs0FIshJztycsO2SfPk7/KAF/T72qzv9u5EpQ4kB2hQoHlhNQTsNyy6ul7lQtqJN/AoWeS23OzEiEFxw== @@ -16110,11 +15883,6 @@ uglify-js@3.4.x: commander "~2.19.0" source-map "~0.6.1" -uglify-js@^3.1.4: - version "3.13.10" - resolved "https://registry.yarnpkg.com/uglify-js/-/uglify-js-3.13.10.tgz#a6bd0d28d38f592c3adb6b180ea6e07e1e540a8d" - integrity sha512-57H3ACYFXeo1IaZ1w02sfA71wI60MGco/IQFjOqK+WtKoprh7Go2/yvd2HPtoJILO2Or84ncLccI4xoHMTSbGg== - uid-number@0.0.6: version "0.0.6" resolved "https://registry.yarnpkg.com/uid-number/-/uid-number-0.0.6.tgz#0ea10e8035e8eb5b8e4449f06da1c730663baa81" @@ -16356,7 +16124,7 @@ util-promisify@^2.1.0: dependencies: object.getownpropertydescriptors "^2.0.3" -util.promisify@1.0.0: +util.promisify@1.0.0, util.promisify@~1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.0.tgz#440f7165a459c9a16dc145eb8e72f35687097030" integrity sha512-i+6qA2MPhvoKLuxnJNpXAGhg7HphQOSUq2LKMZD0m15EiskXUkMvKdF4Uui0WYeCUGea+o2cw/ZuwehtfsrNkA== @@ -16364,16 +16132,6 @@ util.promisify@1.0.0: define-properties "^1.1.2" object.getownpropertydescriptors "^2.0.3" -util.promisify@~1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/util.promisify/-/util.promisify-1.0.1.tgz#6baf7774b80eeb0f7520d8b81d07982a59abbaee" - integrity sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA== - dependencies: - define-properties "^1.1.3" - es-abstract "^1.17.2" - has-symbols "^1.0.1" - object.getownpropertydescriptors "^2.1.0" - util@0.10.3: version "0.10.3" resolved "https://registry.yarnpkg.com/util/-/util-0.10.3.tgz#7afb1afe50805246489e3db7fe0ed379336ac0f9" From 17155e6b4a15ed7aec5ba037d4971dbb1dec270b Mon Sep 17 00:00:00 2001 From: Piyush Jain Date: Tue, 28 Sep 2021 20:58:27 -0700 Subject: [PATCH 2/2] Fix for failing UI tests --- .../screenshots/general_opened_menu_view.png | Bin 32387 -> 34677 bytes .../notebook_create_opened_menu_view.png | Bin 33618 -> 36092 bytes 2 files changed, 0 insertions(+), 0 deletions(-) diff --git a/ui-tests/reference-output/screenshots/general_opened_menu_view.png b/ui-tests/reference-output/screenshots/general_opened_menu_view.png index 9d842ea79e4433d0df6549b0a9854f2b291f4541..e2603023a949deb9dce8ea9270287e45ae70818b 100644 GIT binary patch delta 17570 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

D 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