From 4f26beed6321fba085caac9dc88aade6ab857013 Mon Sep 17 00:00:00 2001 From: Eddie Date: Wed, 10 May 2023 17:51:25 +0200 Subject: [PATCH 01/13] upgrade to angular 16 --- angular.json | 46 +- dist/ng-material-multilevel-menu/README.md | 394 - .../ng-material-multilevel-menu.umd.js | 638 - .../ng-material-multilevel-menu.umd.js.map | 1 - .../ng-material-multilevel-menu.umd.min.js | 2 - ...ng-material-multilevel-menu.umd.min.js.map | 1 - .../esm2015/lib/app.model.js | 7 - .../esm2015/lib/constants.js | 16 - .../lib/list-item/list-item.component.js | 216 - .../esm2015/lib/materials.module.js | 22 - .../esm2015/lib/multilevel-menu.service.js | 83 - .../ng-material-multilevel-menu.component.js | 220 - .../lib/ng-material-multilevel-menu.module.js | 23 - .../esm2015/ng-material-multilevel-menu.js | 7 - .../esm2015/public_api.js | 9 - .../lib/animation.mjs} | 2 +- .../esm2022/lib/app.model.mjs | 7 + .../esm2022/lib/common-utils.mjs | 10 + .../esm2022/lib/constants.mjs | 19 + .../list-item-content.component.mjs | 243 + .../lib/list-item/list-item.component.mjs | 268 + .../esm2022/lib/materials.module.mjs | 37 + .../esm2022/lib/multilevel-menu.service.mjs | 82 + .../ng-material-multilevel-menu.component.mjs | 241 + .../ng-material-multilevel-menu.module.mjs | 38 + .../esm2022/ng-material-multilevel-menu.mjs | 5 + .../esm2022/public_api.mjs | 9 + .../fesm2015/ng-material-multilevel-menu.js | 613 - .../ng-material-multilevel-menu.js.map | 1 - .../fesm2022/ng-material-multilevel-menu.mjs | 942 + .../ng-material-multilevel-menu.mjs.map | 1 + dist/ng-material-multilevel-menu/index.d.ts | 6 + .../lib/animation.d.ts | 1 + .../lib/animation.d.ts.map | 1 + .../lib/app.model.d.ts | 7 +- .../lib/app.model.d.ts.map | 1 + .../lib/common-utils.d.ts | 5 + .../lib/common-utils.d.ts.map | 1 + .../lib/constants.d.ts | 4 + .../lib/constants.d.ts.map | 1 + .../list-item-content.component.d.ts | 19 + .../list-item-content.component.d.ts.map | 1 + .../lib/list-item/list-item.component.d.ts | 26 +- .../list-item/list-item.component.d.ts.map | 1 + .../lib/materials.module.d.ts | 8 + .../lib/materials.module.d.ts.map | 1 + .../lib/multilevel-menu.service.d.ts | 23 +- .../lib/multilevel-menu.service.d.ts.map | 1 + ...ng-material-multilevel-menu.component.d.ts | 18 +- ...aterial-multilevel-menu.component.d.ts.map | 1 + .../ng-material-multilevel-menu.module.d.ts | 11 + ...g-material-multilevel-menu.module.d.ts.map | 1 + .../ng-material-multilevel-menu.d.ts | 6 - .../ng-material-multilevel-menu.d.ts.map | 1 + .../ng-material-multilevel-menu.metadata.json | 1 - dist/ng-material-multilevel-menu/package.json | 36 +- .../public_api.d.ts | 3 +- .../public_api.d.ts.map | 1 + package-lock.json | 24597 ++++++++-------- package.json | 66 +- .../ng-material-multilevel-menu/package.json | 8 +- .../ng-material-multilevel-menu.component.css | 4 +- .../ng-material-multilevel-menu/src/test.ts | 16 +- .../tsconfig.lib.json | 2 +- .../tsconfig.lib.prod.json | 4 +- src/app/app-routing.module.ts | 37 +- src/styles.css | 2 +- src/test.ts | 12 +- tsconfig.json | 4 +- 69 files changed, 13831 insertions(+), 15310 deletions(-) delete mode 100644 dist/ng-material-multilevel-menu/README.md delete mode 100644 dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.js delete mode 100644 dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.js.map delete mode 100644 dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.min.js delete mode 100644 dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.min.js.map delete mode 100644 dist/ng-material-multilevel-menu/esm2015/lib/app.model.js delete mode 100644 dist/ng-material-multilevel-menu/esm2015/lib/constants.js delete mode 100644 dist/ng-material-multilevel-menu/esm2015/lib/list-item/list-item.component.js delete mode 100644 dist/ng-material-multilevel-menu/esm2015/lib/materials.module.js delete mode 100644 dist/ng-material-multilevel-menu/esm2015/lib/multilevel-menu.service.js delete mode 100644 dist/ng-material-multilevel-menu/esm2015/lib/ng-material-multilevel-menu.component.js delete mode 100644 dist/ng-material-multilevel-menu/esm2015/lib/ng-material-multilevel-menu.module.js delete mode 100644 dist/ng-material-multilevel-menu/esm2015/ng-material-multilevel-menu.js delete mode 100644 dist/ng-material-multilevel-menu/esm2015/public_api.js rename dist/ng-material-multilevel-menu/{esm2015/lib/animation.js => esm2022/lib/animation.mjs} (64%) create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/common-utils.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/constants.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/multilevel-menu.service.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/ng-material-multilevel-menu.mjs create mode 100644 dist/ng-material-multilevel-menu/esm2022/public_api.mjs delete mode 100644 dist/ng-material-multilevel-menu/fesm2015/ng-material-multilevel-menu.js delete mode 100644 dist/ng-material-multilevel-menu/fesm2015/ng-material-multilevel-menu.js.map create mode 100644 dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs create mode 100644 dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs.map create mode 100644 dist/ng-material-multilevel-menu/index.d.ts create mode 100644 dist/ng-material-multilevel-menu/lib/animation.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/app.model.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/common-utils.d.ts create mode 100644 dist/ng-material-multilevel-menu/lib/common-utils.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/constants.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts create mode 100644 dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/materials.module.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts.map delete mode 100644 dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts create mode 100644 dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts.map delete mode 100644 dist/ng-material-multilevel-menu/ng-material-multilevel-menu.metadata.json create mode 100644 dist/ng-material-multilevel-menu/public_api.d.ts.map diff --git a/angular.json b/angular.json index a6d0a03..25272c6 100644 --- a/angular.json +++ b/angular.json @@ -19,13 +19,8 @@ "main": "src/main.ts", "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.app.json", - "assets": [ - "src/favicon.ico", - "src/assets" - ], - "styles": [ - "src/styles.css" - ], + "assets": ["src/favicon.ico", "src/assets"], + "styles": ["src/styles.css"], "scripts": [] }, "configurations": { @@ -77,26 +72,16 @@ "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.spec.json", "karmaConfig": "src/karma.conf.js", - "styles": [ - "src/styles.css" - ], + "styles": ["src/styles.css"], "scripts": [], - "assets": [ - "src/favicon.ico", - "src/assets" - ] + "assets": ["src/favicon.ico", "src/assets"] } }, "lint": { "builder": "@angular-devkit/build-angular:tslint", "options": { - "tsConfig": [ - "src/tsconfig.app.json", - "src/tsconfig.spec.json" - ], - "exclude": [ - "**/node_modules/**" - ] + "tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"], + "exclude": ["**/node_modules/**"] } } } @@ -116,9 +101,7 @@ "builder": "@angular-devkit/build-angular:tslint", "options": { "tsConfig": "e2e/tsconfig.e2e.json", - "exclude": [ - "**/node_modules/**" - ] + "exclude": ["**/node_modules/**"] } } } @@ -137,9 +120,9 @@ }, "configurations": { "production": { - "project": "projects/ng-material-multilevel-menu/ng-package.prod.json" - , "tsConfig": "projects/ng-material-multilevel-menu/tsconfig.lib.prod.json" -} + "project": "projects/ng-material-multilevel-menu/ng-package.prod.json", + "tsConfig": "projects/ng-material-multilevel-menu/tsconfig.lib.prod.json" + } } }, "test": { @@ -157,13 +140,10 @@ "projects/ng-material-multilevel-menu/tsconfig.lib.json", "projects/ng-material-multilevel-menu/tsconfig.spec.json" ], - "exclude": [ - "**/node_modules/**" - ] + "exclude": ["**/node_modules/**"] } } } } - }, - "defaultProject": "ng-material-multilevel-menu-angular-project" -} \ No newline at end of file + } +} diff --git a/dist/ng-material-multilevel-menu/README.md b/dist/ng-material-multilevel-menu/README.md deleted file mode 100644 index 97a5855..0000000 --- a/dist/ng-material-multilevel-menu/README.md +++ /dev/null @@ -1,394 +0,0 @@ -# ng-material-multilevel-menu - -Material Multi-Level Menu for Angular Projects. - -# Breaking Change -> From version 5.0.0, the `@Input` called `expandCollapseStatus` have been removed in favor [major bug](https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues/131), please use the -`MultilevelMenuService`. You can find out the implementation of the same [here](https://github.com/ShankyTiwari/ng-material-multilevel-menu-demo/blob/master/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.ts#L73). ->Thanks, - - -## Why ng-material-multilevel-menu? - -The main goal of this package is to deliver a slim and Skinny Material Multi-Level Menu for Angular Projects. That can fit into any kind of projects with no muss, no fuss. Within few lines, you will get an animation ready multilevel list that just works. - -## Demo - -Check the Material Multi-Level Menu in action, [click here](http://plugins.codershood.info/#/plugins/ngmm-plugin). - -## Features -1. [Material Icons](https://material.io/tools/icons/?style=baseline) are supported. -2. [FontAwesome Icons](https://fontawesome.com/v4.7.0/icons/) are supported. -3. Use images as icons in the list. -4. Seamlessly work with Angular routing, if provided. -5. RTL supported ([thanks to StavM](https://github.com/StavM)). -6. Supports Custom List Templates - 1. [Demos](https://multilevel-menu-demo.web.app/pages/layout-variations/demo-six/version-one) - 2. [Documentation](#3-building-custom-templates) - -## Installation -You can use either the npm or yarn command-line tool to install packages. Use whichever is appropriate for your project in the examples below. - -#### NPM -``` -npm install --save ng-material-multilevel-menu -``` - -#### YARN -``` -yarn add --save ng-material-multilevel-menu -``` - -## Usage -Follow below steps to add multi level list in your project - -#### 1. Import NgMaterialMultilevelMenuModule - -You need to import the ```NgMaterialMultilevelMenuModule``` in the module of your app where you want to use it. - -```typescript -import { BrowserModule } from '@angular/platform-browser'; -import { NgModule } from '@angular/core'; - -/* Import the module*/ -import { NgMaterialMultilevelMenuModule } from 'ng-material-multilevel-menu'; - -import { AppComponent } from './app.component'; - -@NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - NgMaterialMultilevelMenuModule // Import here - ], - providers: [], - bootstrap: [AppComponent] -}) -export class AppModule { } -``` - - -#### 2. Use in your HTML - -In your HTML: Use the `````` wherever you like in your project. - -```html - - -``` - -#### 3. Structure of array to display the list - -Make sure you structure of array should look like array shown below, -```typescript -appitems = [ - { - label: 'NPM', - imageIcon: '/assets/batman.jpg', - link: 'https://www.npmjs.com/package/ng-material-multilevel-menu', - externalRedirect: true, - hrefTargetType: '_blank' // _blank|_self|_parent|_top|framename - }, - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ - { - label: 'Item 1.1', - link: '/item-1-1', - faIcon: 'fab fa-accusoft' - }, - { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - disabled: true, - items: [ - { - label: 'Item 1.2.1', - link: '/item-1-2-1', - faIcon: 'fa-allergies' // Font awesome default prefix is fas - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ - { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor', // Still you can specify if you want to - onSelected: function() { - console.log('Item 1.2.2.1'); - } - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ - { - label: 'Item 2.1', - link: '/item-2-1', - icon: 'favorite_border', - activeIcon: 'favorite', - disabled: true, - }, - { - label: 'Item 2.2', - link: '/item-2-2', - icon: 'favorite_border', - activeIcon: 'favorite', - navigationExtras: { - queryParams: { order: 'popular', filter: 'new' }, - } - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin', - onSelected: function() { - console.log('Item 3'); - } - }, - { - label: 'Item 4', - link: '/item-4', - icon: 'star_rate', - hidden: true - } -]; -``` - -## API -- Using ```configuration```, You can customise the appearance of the list. - * ```paddingAtStart: boolean``` => *[optional]* If you don't want padding at the start of the list item, then you can give ```false```. The default value will be ```true```. - * ```interfaceWithRoute: boolean``` => *[required]* only if you want to use Angular Routing with this menu. - * ```highlightOnSelect: boolean``` => *[optional]* If you want to highlight the clicked item in the list, then you can do that by making it ```true```. The default value will be ```false```. - * ```useDividers: boolean``` => *[optional]* If you want to the list to have dividers. The default value will be ```true```. - * ```collapseOnSelect: boolean;``` => *[optional]* You have the option to collapse another parent when clicked on the current parent. The default value will be ```false```. - * ```rtlLayout: boolean;``` => *[optional]* whether display is Right To Left. The default value will be ```false```. - * ```classname: string;``` => *[optional]* You can give your own custom class name in order to modify the list appearance. - * ```listBackgroundColor: string;``` => *[optional]* You can apply custom color to the background of the list. - * ```fontColor: string;``` => *[optional]* Changes the color of Text and icons inside the list. - * ```backgroundColor: string;``` => *[optional]* This will change the background color list container. - * ```selectedListFontColor: string;``` => *[optional]* This will change the font color of selected list item. - -Below is example how you can apply different background and Font colors, -```typescript -config = { - paddingAtStart: true, - interfaceWithRoute: true, - classname: 'my-custom-class', - listBackgroundColor: `rgb(208, 241, 239)`, - fontColor: `rgb(8, 54, 71)`, - backgroundColor: `rgb(208, 241, 239)`, - selectedListFontColor: `red`, - highlightOnSelect: true, - collapseOnSelect: true, - useDividers: false, - rtlLayout: false -}; - -``` - -## Misc - -### 1. Exapand/ Collapse all Menu -You can expand all the menu and Collapse all the menus. Below is example how you can do that, -```typescript -import { MultilevelMenuService, ExpandCollapseStatusEnum } from 'ng-material-multilevel-menu'; - -export class AppComponent { - constructor( - private multilevelMenuService: MultilevelMenuService - ) {} - - setExpandCollapseStatus(type: ExpandCollapseStatusEnum) { - this.multilevelMenuService.setMenuExapandCollpaseStatus(type); - } -} -``` -### 2. Select Menu By ID -You can expand all the menu and Collapse all the menus. Below is example how you can do that, -```typescript -import { MultilevelMenuService, MultilevelNodes } from 'ng-material-multilevel-menu'; - -export class AppComponent { - menuWithID: MultilevelNodes[] = null - - constructor( - private multilevelMenuService: MultilevelMenuService - ) {} - - menuIsReady(menus: MultilevelNodes[]) { - this.menuWithID = menus; - } - - selectMenuID(MenuID){ - this.multilevelMenuService.selectMenuByID(MenuID); - } - -} -``` - -### 3. Building Custom Templates -In this section, you will find useful information if you are planning to write your own templates. - -1. First and very important is `MultilevelNodes` interface, every menu item implements this interface. Make sure you look into each property of this interface when building custom menu templates. For example properties like `isSelected`, `hasChilden`, `expanded`, `disabled`, `items`, `label`, and so on are extremely helpful, have look into some demos [here](https://multilevel-menu-demo.web.app/pages/layout-variations/demo-six/version-one). -2. You actually don't have to write *Slide-In*/ *Slide-Out*, *Arrow Rotation* animation. The module exports these animations out of the box, so you can import them and use it as shown below. - -**demo.component.ts:** -```typescript -import {SlideInOut, ExpandedRTL, ExpandedLTR } from 'ng-material-multilevel-menu'; - -@Component({ - selector: 'app-demo', - templateUrl: './demo.component.html', - styleUrls: ['./demo.component.css'], - animations: [ - SlideInOut, - ExpandedLTR, - ExpandedRTL, - ] -}) -``` -3. You have decided to write a custom template, then you have to write the corresponding CSS for the same. -4. Below is a very simple example of the custom menu templates, - -**demo.component.html:** -```html - - -
-
-
- -
-
- {{item.label}} -
-
-
- - keyboard_arrow_down - - - keyboard_arrow_down - -
-
-
-
-``` - -**demo.component.ts:** -```typescript -import { Component } from '@angular/core'; - -import { MultilevelNodes, Configuration, ExpandedRTL, ExpandedLTR } from 'ng-material-multilevel-menu'; - -@Component({ - selector: 'app-demo', - templateUrl: './demo.component.html', - styleUrls: ['./demo.component.css'], - animations: [ExpandedRTL, ExpandedLTR] -}) -export class DemoComponent { - appitems: MultilevelNodes[] = [ - ... - { - label: 'Item 3', - faIcon: 'fas fa-anchor', - } - ... - ]; - - config: Configuration = { - rtlLayout: true, - customTemplate: true, - } - - constructor() { } - - getClass(item) { - return { - [item.faIcon]: true - } - } - - selectedItem($event) { - console.log($event); - } -} -``` - -**demo.component.css:** -```css - -.my-cool-menu-item { - display: flex; - padding-left: 10px; - padding-right: 10px; - border-bottom: solid 1px rgba(0,0,0,.12); - height: 48px; -} - -.my-cool-menu-item .title-and-image { - width: 100%; - display: flex; - justify-content: flex-start; -} - -.my-cool-menu-item .title-and-image .icon-container { - display: flex; - flex-direction: column; - justify-content: center; -} - -div[dir=rtl] .icon-container { - padding-left: 5px; -} - -div[dir=ltr] .icon-container { - padding-right: 5px; -} - -.my-cool-menu-item .title-and-image .label-container { - display: flex; - flex-direction: column; - justify-content: center; -} - -.my-cool-menu-item .icon-arrow-container { - display: flex; - align-items: center; -} -``` - - - -## Default classes -* ```selected-amml-item```: This class will be applied to currently selected link and it's father links. -* ```active-amml-item```: This class will be applied to currently selected link. - -## Dependencies -1. [Angular Material](https://material.angular.io) - -## Contribution - -I welcome you to fork and add more features into it. If you have any bugs or feature request, please create an issue at [github repository](https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues). - -## License - -MIT diff --git a/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.js b/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.js deleted file mode 100644 index ff7567e..0000000 --- a/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.js +++ /dev/null @@ -1,638 +0,0 @@ -(function (global, factory) { - typeof exports === 'object' && typeof module !== 'undefined' ? factory(exports, require('@angular/common'), require('@angular/core'), require('@angular/router'), require('rxjs'), require('@angular/animations'), require('@angular/material/core'), require('@angular/material/icon'), require('@angular/material/list')) : - typeof define === 'function' && define.amd ? define('ng-material-multilevel-menu', ['exports', '@angular/common', '@angular/core', '@angular/router', 'rxjs', '@angular/animations', '@angular/material/core', '@angular/material/icon', '@angular/material/list'], factory) : - (global = typeof globalThis !== 'undefined' ? globalThis : global || self, factory(global['ng-material-multilevel-menu'] = {}, global.ng.common, global.ng.core, global.ng.router, global.rxjs, global.ng.animations, global.ng.material.core, global.ng.material.icon, global.ng.material.list)); -}(this, (function (exports, common, core, router, rxjs, animations, core$1, icon, list) { 'use strict'; - - (function (ExpandCollapseStatusEnum) { - ExpandCollapseStatusEnum["expand"] = "expand"; - ExpandCollapseStatusEnum["collapse"] = "collapse"; - ExpandCollapseStatusEnum["neutral"] = "neutral"; - })(exports.ExpandCollapseStatusEnum || (exports.ExpandCollapseStatusEnum = {})); - - var CONSTANT = { - PADDING_AT_START: true, - DEFAULT_CLASS_NAME: "amml-container", - DEFAULT_LIST_CLASS_NAME: "amml-item", - SELECTED_LIST_CLASS_NAME: "selected-amml-item", - ACTIVE_ITEM_CLASS_NAME: "active-amml-item", - DISABLED_ITEM_CLASS_NAME: "disabled-amml-item", - SUBMENU_ITEM_CLASS_NAME: "amml-submenu", - HAS_SUBMENU_ITEM_CLASS_NAME: "has-amml-submenu", - DEFAULT_SELECTED_FONT_COLOR: "#1976d2", - DEFAULT_LIST_BACKGROUND_COLOR: "transparent", - DEFAULT_LIST_FONT_COLOR: "rgba(0,0,0,.87)", - DEFAULT_HREF_TARGET_TYPE: '_self', - ERROR_MESSAGE: "Invalid data for material Multilevel List Component" - }; - - var MultilevelMenuService = /** @class */ (function () { - function MultilevelMenuService() { - this.expandCollapseStatus = new rxjs.Subject(); - this.expandCollapseStatus$ = this.expandCollapseStatus.asObservable(); - this.selectedMenuID = new rxjs.Subject(); - this.selectedMenuID$ = this.selectedMenuID.asObservable(); - } - MultilevelMenuService.prototype.generateId = function () { - var text = ''; - var possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - for (var i = 0; i < 20; i++) { - text += possible.charAt(Math.floor(Math.random() * possible.length)); - } - return text; - }; - MultilevelMenuService.prototype.addRandomId = function (nodes) { - var _this = this; - nodes.forEach(function (node) { - node.id = _this.generateId(); - if (node.items !== undefined) { - _this.addRandomId(node.items); - } - }); - }; - MultilevelMenuService.prototype.recursiveCheckId = function (node, nodeId) { - var _this = this; - if (node.id === nodeId) { - return true; - } - else { - if (node.items !== undefined) { - return node.items.some(function (nestedNode) { - return _this.recursiveCheckId(nestedNode, nodeId); - }); - } - } - }; - MultilevelMenuService.prototype.findNodeRecursively = function (_a) { - var nodes = _a.nodes, link = _a.link, id = _a.id; - for (var nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { - var node = nodes[nodeIndex]; - for (var key in node) { - if (node.hasOwnProperty(key)) { - if (encodeURI(node.link) === link) { - this.foundLinkObject = node; - } - else if (node.id === id) { - this.foundLinkObject = node; - } - else { - if (node.items !== undefined) { - this.findNodeRecursively({ - nodes: node.items, - link: link ? link : null, - id: id ? id : null - }); - } - } - } - } - } - }; - MultilevelMenuService.prototype.getMatchedObjectByUrl = function (nodes, link) { - this.findNodeRecursively({ nodes: nodes, link: link }); - return this.foundLinkObject; - }; - MultilevelMenuService.prototype.getMatchedObjectById = function (nodes, id) { - this.findNodeRecursively({ nodes: nodes, id: id }); - return this.foundLinkObject; - }; - // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function - // https://angular.io/api/common/KeyValuePipe#description - MultilevelMenuService.prototype.kvDummyComparerFn = function () { - return 0; - }; - MultilevelMenuService.prototype.setMenuExapandCollpaseStatus = function (status) { - this.expandCollapseStatus.next(status ? status : exports.ExpandCollapseStatusEnum.neutral); - }; - MultilevelMenuService.prototype.selectMenuByID = function (menuID) { - this.selectedMenuID.next(menuID); - return this.foundLinkObject; - }; - return MultilevelMenuService; - }()); - - var SlideInOut = animations.trigger('SlideInOut', [ - animations.state('in', animations.style({ height: '*', opacity: 0 })), - animations.transition(':leave', [ - animations.style({ height: '*', opacity: 0.2 }), - animations.group([ - animations.animate(200, animations.style({ height: 0 })), - animations.animate('200ms ease-out', animations.style({ opacity: 0 })) - ]) - ]), - animations.transition(':enter', [ - animations.style({ height: '0', opacity: 0 }), - animations.group([ - animations.animate(200, animations.style({ height: '*' })), - animations.animate('400ms ease-out', animations.style({ opacity: 1 })) - ]) - ]) - ]); - var ExpandedLTR = animations.trigger('ExpandedLTR', [ - animations.state('no', animations.style({ transform: 'rotate(-90deg)' })), - animations.state('yes', animations.style({ transform: 'rotate(0deg)', })), - animations.transition('no => yes', animations.animate(200)), - animations.transition('yes => no', animations.animate(200)) - ]); - var ExpandedRTL = animations.trigger('ExpandedRTL', [ - animations.state('no', animations.style({ transform: 'rotate(90deg)' })), - animations.state('yes', animations.style({ transform: 'rotate(0deg)', })), - animations.transition('no => yes', animations.animate(200)), - animations.transition('yes => no', animations.animate(200)) - ]); - - var ListItemComponent = /** @class */ (function () { - function ListItemComponent(router, multilevelMenuService) { - var _a; - this.router = router; - this.multilevelMenuService = multilevelMenuService; - this.level = 1; - this.submenuLevel = 0; - this.nodeConfiguration = null; - this.nodeExpandCollapseStatus = null; - this.listTemplate = null; - this.selectedItem = new core.EventEmitter(); - this.isSelected = false; - this.expanded = false; - this.firstInitializer = false; - this.selectedListClasses = (_a = {}, - _a[CONSTANT.DEFAULT_LIST_CLASS_NAME] = true, - _a[CONSTANT.SELECTED_LIST_CLASS_NAME] = false, - _a[CONSTANT.ACTIVE_ITEM_CLASS_NAME] = false, - _a); - } - ListItemComponent.prototype.ngOnChanges = function () { - this.nodeChildren = this.node && this.node.items ? this.node.items.filter(function (n) { return !n.hidden; }) : []; - this.node.hasChilden = this.hasItems(); - if (this.selectedNode !== undefined && this.selectedNode !== null) { - this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); - } - this.setExpandCollapseStatus(); - }; - ListItemComponent.prototype.ngOnInit = function () { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; - if (this.node.faIcon !== null && - this.node.faIcon !== undefined && - this.node.faIcon.match(/\bfa\w(?!-)/) === null) { - this.node.faIcon = "fas " + this.node.faIcon; - } - this.selectedListClasses["level-" + this.level + "-submenulevel-" + this.submenuLevel] = true; - if (typeof this.node.expanded === 'boolean') { - this.expanded = this.node.expanded; - } - this.setClasses(); - }; - ListItemComponent.prototype.setSelectedClass = function (isFound) { - var _a; - if (isFound) { - if (!this.firstInitializer) { - this.expanded = true; - } - this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined ? true : false; - } - else { - this.isSelected = false; - if (this.nodeConfiguration.collapseOnSelect) { - this.node.expanded = false; - this.expanded = false; - } - } - this.selectedListClasses = (_a = {}, - _a[CONSTANT.DEFAULT_LIST_CLASS_NAME] = true, - _a[CONSTANT.SELECTED_LIST_CLASS_NAME] = this.isSelected, - _a[CONSTANT.ACTIVE_ITEM_CLASS_NAME] = this.selectedNode.id === this.node.id, - _a[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled, - _a["level-" + this.level + "-submenulevel-" + this.submenuLevel] = true, - _a); - this.node.isSelected = this.isSelected; - this.setClasses(); - }; - ListItemComponent.prototype.getPaddingAtStart = function () { - return this.nodeConfiguration.paddingAtStart ? true : false; - }; - ListItemComponent.prototype.getListStyle = function () { - var styles = { - background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, - color: CONSTANT.DEFAULT_LIST_FONT_COLOR - }; - if (this.nodeConfiguration.listBackgroundColor !== null) { - styles.background = this.nodeConfiguration.listBackgroundColor; - } - if (this.isSelected) { - this.nodeConfiguration.selectedListFontColor !== null ? - styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; - } - else if (this.nodeConfiguration.fontColor !== null) { - styles.color = this.nodeConfiguration.fontColor; - } - return styles; - }; - ListItemComponent.prototype.getListIcon = function (node) { - if (node.icon !== null && node.icon !== undefined && node.icon !== '') { - return "icon"; - } - else if (node.faIcon !== null && node.faIcon !== undefined && node.faIcon !== '') { - return "faicon"; - } - else if (node.imageIcon !== null && node.imageIcon !== undefined && node.imageIcon !== '') { - return "imageicon"; - } - else if (node.svgIcon !== null && node.svgIcon !== undefined && node.svgIcon !== '') { - return "svgicon"; - } - else { - return ""; - } - }; - ListItemComponent.prototype.getSelectedSvgIcon = function () { - if (this.isSelected && this.node.activeSvgIcon) { - return this.node.activeSvgIcon; - } - return this.node.svgIcon; - }; - ListItemComponent.prototype.getSelectedIcon = function () { - if (this.isSelected && this.node.activeIcon) { - return this.node.activeIcon; - } - return this.node.icon; - }; - ListItemComponent.prototype.getSelectedFaIcon = function () { - if (this.isSelected && this.node.activeFaIcon) { - return this.node.activeFaIcon; - } - return this.node.faIcon; - }; - ListItemComponent.prototype.getSelectedImageIcon = function () { - if (this.isSelected && this.node.activeImageIcon) { - return this.node.activeImageIcon; - } - return this.node.imageIcon; - }; - ListItemComponent.prototype.getHrefTargetType = function () { - if (this.node.hrefTargetType) { - return this.node.hrefTargetType; - } - return CONSTANT.DEFAULT_HREF_TARGET_TYPE; - }; - ListItemComponent.prototype.hasItems = function () { - return this.nodeChildren.length > 0 ? true : false; - }; - ListItemComponent.prototype.isRtlLayout = function () { - return this.nodeConfiguration.rtlLayout; - }; - ListItemComponent.prototype.setClasses = function () { - var _a; - this.classes = (_a = {}, - _a["level-" + (this.level + 1)] = true, - _a[CONSTANT.SUBMENU_ITEM_CLASS_NAME] = this.hasItems() && this.getPaddingAtStart(), - _a[CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME] = this.hasItems(), - _a); - }; - ListItemComponent.prototype.setExpandCollapseStatus = function () { - if (this.nodeExpandCollapseStatus !== null && this.nodeExpandCollapseStatus !== undefined) { - if (this.nodeExpandCollapseStatus === exports.ExpandCollapseStatusEnum.expand) { - this.expanded = true; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = true; - } - } - if (this.nodeExpandCollapseStatus === exports.ExpandCollapseStatusEnum.collapse) { - this.expanded = false; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = false; - } - } - } - }; - ListItemComponent.prototype.expand = function (node) { - if (node.disabled) { - return; - } - this.nodeExpandCollapseStatus = exports.ExpandCollapseStatusEnum.neutral; - this.expanded = !this.expanded; - this.node.expanded = this.expanded; - this.firstInitializer = true; - this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null - && this.nodeConfiguration.interfaceWithRoute - && node.link !== undefined - && node.link) { - this.router.navigate([node.link], node.navigationExtras); - } - else if (node.onSelected && typeof node.onSelected === 'function') { - node.onSelected(node); - this.selectedListItem(node); - } - else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { - this.selectedListItem(node); - } - }; - ListItemComponent.prototype.selectedListItem = function (node) { - this.selectedItem.emit(node); - }; - return ListItemComponent; - }()); - ListItemComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'ng-list-item', - template: "
\n \n
\n \n
\n \n\n \n
\n \n \n
\n
\n\n\n\n\n \n \n \n \n\n\n\n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
\n \n \n \n \n {{getSelectedIcon()}}\n \n \n \n \"{{node.label}}\"\n
\n {{node.label}}\n
\n
\n \n keyboard_arrow_down\n \n \n keyboard_arrow_down\n \n
\n
", - animations: [SlideInOut, ExpandedLTR, ExpandedRTL], - styles: [".amml-item{cursor:pointer;position:relative}.anml-link{color:inherit;text-decoration:none;text-transform:capitalize}.anml-data,.anml-link{display:flex;justify-content:flex-start;width:100%}.anml-data{height:48px}.disabled-amml-item{opacity:.5;pointer-events:none;text-decoration:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{font-weight:400;line-height:48px}.amml-svg-icon{height:22px;margin-top:-12px;width:22px}.amml-icon-arrow-container{align-items:center;direction:ltr;display:flex}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=ltr].amml-submenu,div[dir=rtl] .amml-icon{margin-left:16px}div[dir=rtl].amml-submenu{margin-right:16px}"] - },] } - ]; - ListItemComponent.ctorParameters = function () { return [ - { type: router.Router }, - { type: MultilevelMenuService } - ]; }; - ListItemComponent.propDecorators = { - node: [{ type: core.Input }], - level: [{ type: core.Input }], - submenuLevel: [{ type: core.Input }], - selectedNode: [{ type: core.Input }], - nodeConfiguration: [{ type: core.Input }], - nodeExpandCollapseStatus: [{ type: core.Input }], - listTemplate: [{ type: core.Input }], - selectedItem: [{ type: core.Output }] - }; - - var MaterialsModule = /** @class */ (function () { - function MaterialsModule() { - } - return MaterialsModule; - }()); - MaterialsModule.decorators = [ - { type: core.NgModule, args: [{ - imports: [ - icon.MatIconModule, - list.MatListModule, - core$1.MatRippleModule, - ], - declarations: [], - exports: [ - icon.MatIconModule, - list.MatListModule, - core$1.MatRippleModule, - ] - },] } - ]; - - var NgMaterialMultilevelMenuComponent = /** @class */ (function () { - function NgMaterialMultilevelMenuComponent(router, multilevelMenuService) { - this.router = router; - this.multilevelMenuService = multilevelMenuService; - this.configuration = null; - this.selectedItem = new core.EventEmitter(); - this.selectedLabel = new core.EventEmitter(); - this.menuIsReady = new core.EventEmitter(); - this.expandCollapseStatusSubscription = null; - this.selectMenuByIDSubscription = null; - this.currentNode = null; - this.nodeConfig = { - paddingAtStart: true, - listBackgroundColor: null, - fontColor: null, - selectedListFontColor: null, - interfaceWithRoute: null, - collapseOnSelect: null, - highlightOnSelect: false, - useDividers: true, - rtlLayout: false, - customTemplate: false, - }; - this.isInvalidConfig = true; - this.isInvalidData = true; - this.nodeExpandCollapseStatus = exports.ExpandCollapseStatusEnum.neutral; - } - NgMaterialMultilevelMenuComponent.prototype.ngOnChanges = function () { - this.detectInvalidConfig(); - this.initExpandCollapseStatus(); - this.initSelectedMenuID(); - if (!this.isInvalidData) { - this.menuIsReady.emit(this.items); - } - }; - NgMaterialMultilevelMenuComponent.prototype.ngOnInit = function () { - var _this = this; - if (this.configuration !== null && this.configuration !== undefined && this.configuration !== '' && - this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { - this.router.events - .subscribe(function (event) { - if (event instanceof router.NavigationEnd) { - _this.updateNodeByURL(event.urlAfterRedirects); - } - }); - this.updateNodeByURL(this.router.url); - } - }; - NgMaterialMultilevelMenuComponent.prototype.updateNodeByURL = function (url) { - var foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && - foundNode.link !== undefined && - foundNode.link !== null && - foundNode.link !== '' - // && !foundNode.disabled // Prevent route redirection for disabled menu - ) { - this.currentNode = foundNode; - if (foundNode.dontEmit !== undefined && foundNode.dontEmit !== null && !foundNode.dontEmit) { - this.selectedListItem(foundNode); - } - } - }; - NgMaterialMultilevelMenuComponent.prototype.checkValidData = function () { - if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { - console.warn(CONSTANT.ERROR_MESSAGE); - } - else { - this.items = this.items.filter(function (n) { return !n.hidden; }); - this.multilevelMenuService.addRandomId(this.items); - this.isInvalidData = false; - } - }; - NgMaterialMultilevelMenuComponent.prototype.detectInvalidConfig = function () { - if (this.configuration === null || this.configuration === undefined || this.configuration === '') { - this.isInvalidConfig = true; - } - else { - this.isInvalidConfig = false; - var config = this.configuration; - if (config.paddingAtStart !== undefined && config.paddingAtStart !== null && typeof config.paddingAtStart === 'boolean') { - this.nodeConfig.paddingAtStart = config.paddingAtStart; - } - if (config.listBackgroundColor !== '' && - config.listBackgroundColor !== null && - config.listBackgroundColor !== undefined) { - this.nodeConfig.listBackgroundColor = config.listBackgroundColor; - } - if (config.fontColor !== '' && - config.fontColor !== null && - config.fontColor !== undefined) { - this.nodeConfig.fontColor = config.fontColor; - } - if (config.selectedListFontColor !== '' && - config.selectedListFontColor !== null && - config.selectedListFontColor !== undefined) { - this.nodeConfig.selectedListFontColor = config.selectedListFontColor; - } - if (config.interfaceWithRoute !== null && - config.interfaceWithRoute !== undefined && - typeof config.interfaceWithRoute === 'boolean') { - this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; - } - if (config.collapseOnSelect !== null && - config.collapseOnSelect !== undefined && - typeof config.collapseOnSelect === 'boolean') { - this.nodeConfig.collapseOnSelect = config.collapseOnSelect; - } - if (config.highlightOnSelect !== null && - config.highlightOnSelect !== undefined && - typeof config.highlightOnSelect === 'boolean') { - this.nodeConfig.highlightOnSelect = config.highlightOnSelect; - } - if (config.useDividers !== null && - config.useDividers !== undefined && - typeof config.useDividers === 'boolean') { - this.nodeConfig.useDividers = config.useDividers; - } - if (config.rtlLayout !== null && - config.rtlLayout !== undefined && - typeof config.rtlLayout === 'boolean') { - this.nodeConfig.rtlLayout = config.rtlLayout; - } - if (config.customTemplate !== null && - config.customTemplate !== undefined && - typeof config.customTemplate === 'boolean') { - this.nodeConfig.customTemplate = config.customTemplate; - } - } - this.checkValidData(); - }; - NgMaterialMultilevelMenuComponent.prototype.initExpandCollapseStatus = function () { - var _this = this; - this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ - .subscribe(function (expandCollapseStatus) { - _this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : exports.ExpandCollapseStatusEnum.neutral; - }, function () { - _this.nodeExpandCollapseStatus = exports.ExpandCollapseStatusEnum.neutral; - }); - }; - NgMaterialMultilevelMenuComponent.prototype.initSelectedMenuID = function () { - var _this = this; - this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe(function (selectedMenuID) { - if (selectedMenuID) { - var foundNode = _this.multilevelMenuService.getMatchedObjectById(_this.items, selectedMenuID); - if (foundNode !== undefined) { - _this.currentNode = foundNode; - _this.selectedListItem(foundNode); - } - } - }); - }; - NgMaterialMultilevelMenuComponent.prototype.getClassName = function () { - if (this.isInvalidConfig) { - return CONSTANT.DEFAULT_CLASS_NAME; - } - else { - if (this.configuration.classname !== '' && this.configuration.classname !== null && this.configuration.classname !== undefined) { - return CONSTANT.DEFAULT_CLASS_NAME + " " + this.configuration.classname; - } - else { - return CONSTANT.DEFAULT_CLASS_NAME; - } - } - }; - NgMaterialMultilevelMenuComponent.prototype.getGlobalStyle = function () { - if (!this.isInvalidConfig) { - var styles = { - background: null - }; - if (this.configuration.backgroundColor !== '' && - this.configuration.backgroundColor !== null && - this.configuration.backgroundColor !== undefined) { - styles.background = this.configuration.backgroundColor; - } - return styles; - } - }; - NgMaterialMultilevelMenuComponent.prototype.isRtlLayout = function () { - return this.nodeConfig.rtlLayout; - }; - NgMaterialMultilevelMenuComponent.prototype.selectedListItem = function (event) { - this.nodeExpandCollapseStatus = exports.ExpandCollapseStatusEnum.neutral; - this.currentNode = event; - if (event.dontEmit !== undefined && event.dontEmit !== null && event.dontEmit) { - return; - } - if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { - this.selectedItem.emit(event); - } - else { - this.selectedLabel.emit(event); - } - }; - NgMaterialMultilevelMenuComponent.prototype.ngOnDestroy = function () { - this.expandCollapseStatusSubscription.unsubscribe(); - this.selectMenuByIDSubscription.unsubscribe(); - }; - return NgMaterialMultilevelMenuComponent; - }()); - NgMaterialMultilevelMenuComponent.decorators = [ - { type: core.Component, args: [{ - selector: 'ng-material-multilevel-menu', - template: "
\n \n \n \n \n
\n", - styles: [".amml-container .mat-list-base{padding-top:unset}.amml-item{display:flex;justify-content:space-between;line-height:48px;position:relative}.anml-data{display:flex;justify-content:flex-start;text-transform:capitalize;width:100%}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}"] - },] } - ]; - NgMaterialMultilevelMenuComponent.ctorParameters = function () { return [ - { type: router.Router }, - { type: MultilevelMenuService } - ]; }; - NgMaterialMultilevelMenuComponent.propDecorators = { - items: [{ type: core.Input }], - configuration: [{ type: core.Input }], - selectedItem: [{ type: core.Output }], - selectedLabel: [{ type: core.Output }], - menuIsReady: [{ type: core.Output }], - listTemplate: [{ type: core.ContentChild, args: ['listTemplate', { static: true },] }] - }; - - var NgMaterialMultilevelMenuModule = /** @class */ (function () { - function NgMaterialMultilevelMenuModule() { - } - return NgMaterialMultilevelMenuModule; - }()); - NgMaterialMultilevelMenuModule.decorators = [ - { type: core.NgModule, args: [{ - imports: [ - common.CommonModule, - MaterialsModule, - router.RouterModule, - ], - declarations: [ - NgMaterialMultilevelMenuComponent, - ListItemComponent, - ], - exports: [NgMaterialMultilevelMenuComponent] - },] } - ]; - - /* - * Public API Surface of ng-material-multilevel-menu - */ - - /** - * Generated bundle index. Do not edit. - */ - - exports.ExpandedLTR = ExpandedLTR; - exports.ExpandedRTL = ExpandedRTL; - exports.MultilevelMenuService = MultilevelMenuService; - exports.NgMaterialMultilevelMenuComponent = NgMaterialMultilevelMenuComponent; - exports.NgMaterialMultilevelMenuModule = NgMaterialMultilevelMenuModule; - exports.SlideInOut = SlideInOut; - exports.ɵa = MaterialsModule; - exports.ɵb = ListItemComponent; - - Object.defineProperty(exports, '__esModule', { value: true }); - -}))); -//# sourceMappingURL=ng-material-multilevel-menu.umd.js.map diff --git a/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.js.map b/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.js.map deleted file mode 100644 index dc2a10f..0000000 --- a/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ng-material-multilevel-menu.umd.js","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../../projects/ng-material-multilevel-menu/src/ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from '@angular/router';\n\nexport interface MultilevelNodes {\n id?: string;\n label: string;\n faIcon?: string;\n icon?: string;\n imageIcon?: string;\n svgIcon?: string;\n activeFaIcon?: string;\n activeIcon?: string;\n activeImageIcon?: string;\n activeSvgIcon?: string;\n hidden?: boolean;\n link?: string;\n externalRedirect?: boolean;\n hrefTargetType?: string;\n data?: any;\n items?: MultilevelNodes[];\n onSelected?: Function;\n disabled?: boolean;\n expanded?: boolean;\n navigationExtras?: NavigationExtras;\n dontEmit?: boolean;\n hasChilden?: boolean;\n isSelected?: boolean;\n}\n\nexport interface Configuration {\n classname?: string;\n paddingAtStart?: boolean;\n backgroundColor?: string;\n listBackgroundColor?: string;\n fontColor?: string;\n selectedListFontColor?: string;\n interfaceWithRoute?: boolean;\n collapseOnSelect?: boolean;\n highlightOnSelect?: boolean;\n useDividers?: boolean;\n rtlLayout?: boolean;\n customTemplate?: boolean;\n}\n\nexport interface BackgroundStyle {\n background: string;\n}\n\nexport interface ListStyle {\n background: string;\n color: string;\n}\n\nexport enum ExpandCollapseStatusEnum {\n expand = 'expand',\n collapse = 'collapse',\n neutral = 'neutral',\n}\n","export const CONSTANT = {\n PADDING_AT_START: true,\n DEFAULT_CLASS_NAME: `amml-container`,\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\n DEFAULT_HREF_TARGET_TYPE: '_self',\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { MultilevelNodes, ExpandCollapseStatusEnum } from './app.model';\nexport class MultilevelMenuService {\n foundLinkObject: MultilevelNodes;\n expandCollapseStatus: Subject = new Subject();\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\n\n selectedMenuID: Subject = new Subject();\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\n\n private generateId(): string {\n let text = '';\n const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n for (let i = 0; i < 20; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n addRandomId(nodes: MultilevelNodes[]): void {\n nodes.forEach((node: MultilevelNodes) => {\n node.id = this.generateId();\n if (node.items !== undefined) {\n this.addRandomId(node.items);\n }\n });\n }\n recursiveCheckId(node: MultilevelNodes, nodeId: string): boolean {\n if (node.id === nodeId) {\n return true;\n } else {\n if (node.items !== undefined) {\n return node.items.some((nestedNode: MultilevelNodes) => {\n return this.recursiveCheckId(nestedNode, nodeId);\n });\n }\n }\n }\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNodes[], link?: string, id?: string}): void {\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\n const node = nodes[nodeIndex];\n for (const key in node) {\n if (node.hasOwnProperty(key)) {\n if (encodeURI(node.link) === link) {\n this.foundLinkObject = node;\n } else if (node.id === id) {\n this.foundLinkObject = node;\n } else {\n if (node.items !== undefined) {\n this.findNodeRecursively({\n nodes: node.items,\n link: link ? link : null,\n id: id ? id : null\n });\n }\n }\n }\n }\n }\n }\n getMatchedObjectByUrl(nodes: MultilevelNodes[], link: string): MultilevelNodes {\n this.findNodeRecursively({nodes, link});\n return this.foundLinkObject;\n }\n getMatchedObjectById(nodes: MultilevelNodes[], id: string): MultilevelNodes {\n this.findNodeRecursively({nodes, id});\n return this.foundLinkObject;\n }\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\n // https://angular.io/api/common/KeyValuePipe#description\n kvDummyComparerFn() {\n return 0;\n }\n setMenuExapandCollpaseStatus(status: ExpandCollapseStatusEnum): void {\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\n }\n selectMenuByID(menuID: string) {\n this.selectedMenuID.next(menuID);\n return this.foundLinkObject;\n }\n}\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\n\nexport const SlideInOut = trigger('SlideInOut', [\n state(\n 'in',\n style({ height: '*', opacity: 0 })),\n transition(':leave', [\n style({ height: '*', opacity: 0.2 }),\n group([\n animate(200, style({ height: 0 })),\n animate('200ms ease-out', style({ opacity: 0 }))\n ])\n ]),\n transition(':enter', [\n style({ height: '0', opacity: 0 }),\n group([\n animate(200, style({ height: '*' })),\n animate('400ms ease-out', style({ opacity: 1 }))\n ])\n ])\n ]\n);\n\nexport const ExpandedLTR = trigger('ExpandedLTR', [\n state('no', style({ transform: 'rotate(-90deg)' })),\n state('yes', style({ transform: 'rotate(0deg)', })),\n\n transition('no => yes', animate(200)),\n transition('yes => no', animate(200))\n]);\n\nexport const ExpandedRTL = trigger('ExpandedRTL', [\n state('no', style({ transform: 'rotate(90deg)' })),\n state('yes', style({ transform: 'rotate(0deg)', })),\n\n transition('no => yes', animate(200)),\n transition('yes => no', animate(200))\n]);\n","import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Configuration, ListStyle, MultilevelNodes, ExpandCollapseStatusEnum } from './../app.model';\nimport { CONSTANT } from './../constants';\nimport { MultilevelMenuService } from './../multilevel-menu.service';\nimport { SlideInOut, ExpandedLTR, ExpandedRTL } from './../animation';\n@Component({\n selector: 'ng-list-item',\n templateUrl: './list-item.component.html',\n styleUrls: ['./list-item.component.css'],\n animations: [SlideInOut, ExpandedLTR, ExpandedRTL]\n})\nexport class ListItemComponent implements OnChanges, OnInit {\n @Input() node: MultilevelNodes;\n @Input() level = 1;\n @Input() submenuLevel = 0;\n @Input() selectedNode: MultilevelNodes;\n @Input() nodeConfiguration: Configuration = null;\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\n @Input() listTemplate: TemplateRef = null;\n\n @Output() selectedItem = new EventEmitter();\n\n isSelected = false;\n expanded = false;\n firstInitializer = false;\n\n nodeChildren: MultilevelNodes[];\n classes: { [index: string]: boolean };\n selectedListClasses: { [index: string]: boolean };\n\n constructor(\n private router: Router,\n public multilevelMenuService: MultilevelMenuService\n ) {\n this.selectedListClasses = {\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\n };\n }\n ngOnChanges() {\n this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : [];\n this.node.hasChilden = this.hasItems();\n\n if (this.selectedNode !== undefined && this.selectedNode !== null) {\n this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id));\n }\n this.setExpandCollapseStatus();\n }\n ngOnInit() {\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled;\n\n if (this.node.faIcon !== null &&\n this.node.faIcon !== undefined &&\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null) {\n this.node.faIcon = `fas ${this.node.faIcon}`;\n }\n\n this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true;\n if (typeof this.node.expanded === 'boolean') {\n this.expanded = this.node.expanded;\n }\n this.setClasses();\n }\n setSelectedClass(isFound: boolean): void {\n if (isFound) {\n if (!this.firstInitializer) {\n this.expanded = true;\n }\n this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined ? true : false;\n } else {\n this.isSelected = false;\n if (this.nodeConfiguration.collapseOnSelect) {\n this.node.expanded = false;\n this.expanded = false;\n }\n }\n this.selectedListClasses = {\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\n };\n this.node.isSelected = this.isSelected;\n this.setClasses();\n }\n getPaddingAtStart(): boolean {\n return this.nodeConfiguration.paddingAtStart ? true : false;\n }\n getListStyle(): ListStyle {\n const styles = {\n background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR,\n color: CONSTANT.DEFAULT_LIST_FONT_COLOR\n };\n if (this.nodeConfiguration.listBackgroundColor !== null) {\n styles.background = this.nodeConfiguration.listBackgroundColor;\n }\n if (this.isSelected) {\n this.nodeConfiguration.selectedListFontColor !== null ?\n styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR;\n } else if (this.nodeConfiguration.fontColor !== null) {\n styles.color = this.nodeConfiguration.fontColor;\n }\n return styles;\n }\n getListIcon(node: MultilevelNodes): string {\n if (node.icon !== null && node.icon !== undefined && node.icon !== '') {\n return `icon`;\n } else if (node.faIcon !== null && node.faIcon !== undefined && node.faIcon !== '') {\n return `faicon`;\n } else if (node.imageIcon !== null && node.imageIcon !== undefined && node.imageIcon !== '') {\n return `imageicon`;\n } else if (node.svgIcon !== null && node.svgIcon !== undefined && node.svgIcon !== '') {\n return `svgicon`;\n } else {\n return ``;\n }\n }\n getSelectedSvgIcon() {\n if (this.isSelected && this.node.activeSvgIcon) {\n return this.node.activeSvgIcon;\n }\n return this.node.svgIcon;\n }\n getSelectedIcon() {\n if (this.isSelected && this.node.activeIcon) {\n return this.node.activeIcon;\n }\n return this.node.icon;\n }\n getSelectedFaIcon() {\n if (this.isSelected && this.node.activeFaIcon) {\n return this.node.activeFaIcon;\n }\n return this.node.faIcon;\n }\n getSelectedImageIcon() {\n if (this.isSelected && this.node.activeImageIcon) {\n return this.node.activeImageIcon;\n }\n return this.node.imageIcon;\n }\n getHrefTargetType() {\n if (this.node.hrefTargetType) {\n return this.node.hrefTargetType;\n }\n return CONSTANT.DEFAULT_HREF_TARGET_TYPE;\n }\n hasItems(): boolean {\n return this.nodeChildren.length > 0 ? true : false;\n }\n isRtlLayout(): boolean {\n return this.nodeConfiguration.rtlLayout;\n }\n setClasses(): void {\n this.classes = {\n [`level-${this.level + 1}`]: true,\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(),\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems()\n };\n }\n setExpandCollapseStatus(): void {\n if (this.nodeExpandCollapseStatus !== null && this.nodeExpandCollapseStatus !== undefined ) {\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\n this.expanded = true;\n if (this.nodeConfiguration.customTemplate) {\n this.node.expanded = true;\n }\n }\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\n this.expanded = false;\n if (this.nodeConfiguration.customTemplate) {\n this.node.expanded = false;\n }\n }\n }\n }\n expand(node: MultilevelNodes): void {\n if (node.disabled) {\n return;\n }\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n this.expanded = !this.expanded;\n this.node.expanded = this.expanded;\n this.firstInitializer = true;\n this.setClasses();\n if (this.nodeConfiguration.interfaceWithRoute !== null\n && this.nodeConfiguration.interfaceWithRoute\n && node.link !== undefined\n && node.link\n ) {\n this.router.navigate([node.link], node.navigationExtras);\n } else if (node.onSelected && typeof node.onSelected === 'function') {\n node.onSelected(node);\n this.selectedListItem(node);\n } else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) {\n this.selectedListItem(node);\n }\n }\n selectedListItem(node: MultilevelNodes): void {\n this.selectedItem.emit(node);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\n\n@NgModule({\n imports: [\n MatIconModule,\n MatListModule,\n MatRippleModule,\n ],\n declarations: [],\n exports: [\n MatIconModule,\n MatListModule,\n MatRippleModule,\n ]\n})\nexport class MaterialsModule { }\n","import { Component, OnChanges, OnInit, OnDestroy, Output, EventEmitter, Input, ContentChild, TemplateRef, ElementRef } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { BackgroundStyle, Configuration, MultilevelNodes, ExpandCollapseStatusEnum } from './app.model';\nimport { CONSTANT } from './constants';\nimport { MultilevelMenuService } from './multilevel-menu.service';\n\n@Component({\n selector: 'ng-material-multilevel-menu',\n templateUrl: './ng-material-multilevel-menu.component.html',\n styleUrls: ['./ng-material-multilevel-menu.component.css'],\n})\nexport class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy {\n @Input() items: MultilevelNodes[];\n @Input() configuration: Configuration = null;\n @Output() selectedItem = new EventEmitter();\n @Output() selectedLabel = new EventEmitter();\n @Output() menuIsReady = new EventEmitter();\n @ContentChild('listTemplate', {static: true}) listTemplate: TemplateRef;\n\n expandCollapseStatusSubscription: Subscription = null;\n selectMenuByIDSubscription: Subscription = null;\n currentNode: MultilevelNodes = null;\n\n nodeConfig: Configuration = {\n paddingAtStart: true,\n listBackgroundColor: null,\n fontColor: null,\n selectedListFontColor: null,\n interfaceWithRoute: null,\n collapseOnSelect: null,\n highlightOnSelect: false,\n useDividers: true,\n rtlLayout: false,\n customTemplate: false,\n };\n isInvalidConfig = true;\n isInvalidData = true;\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral;\n\n constructor(\n private router: Router,\n public multilevelMenuService: MultilevelMenuService\n ) { }\n ngOnChanges() {\n this.detectInvalidConfig();\n this.initExpandCollapseStatus();\n this.initSelectedMenuID();\n if (!this.isInvalidData) {\n this.menuIsReady.emit(this.items);\n }\n }\n ngOnInit() {\n if (\n this.configuration !== null && this.configuration !== undefined && this.configuration !== '' &&\n this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) {\n this.router.events\n .subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.updateNodeByURL(event.urlAfterRedirects);\n }\n });\n this.updateNodeByURL(this.router.url);\n }\n }\n updateNodeByURL(url: string): void {\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url);\n if (\n foundNode !== undefined &&\n foundNode.link !== undefined &&\n foundNode.link !== null &&\n foundNode.link !== ''\n // && !foundNode.disabled // Prevent route redirection for disabled menu\n ) {\n this.currentNode = foundNode;\n if (foundNode.dontEmit !== undefined && foundNode.dontEmit !== null && !foundNode.dontEmit) {\n this.selectedListItem(foundNode);\n }\n }\n }\n checkValidData(): void {\n if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) {\n console.warn(CONSTANT.ERROR_MESSAGE);\n } else {\n this.items = this.items.filter(n => !n.hidden);\n this.multilevelMenuService.addRandomId(this.items);\n this.isInvalidData = false;\n }\n }\n detectInvalidConfig(): void {\n if (this.configuration === null || this.configuration === undefined || this.configuration === '') {\n this.isInvalidConfig = true;\n } else {\n this.isInvalidConfig = false;\n const config = this.configuration;\n if (config.paddingAtStart !== undefined && config.paddingAtStart !== null && typeof config.paddingAtStart === 'boolean') {\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\n }\n if (config.listBackgroundColor !== '' &&\n config.listBackgroundColor !== null &&\n config.listBackgroundColor !== undefined) {\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\n }\n if (config.fontColor !== '' &&\n config.fontColor !== null &&\n config.fontColor !== undefined) {\n this.nodeConfig.fontColor = config.fontColor;\n }\n if (config.selectedListFontColor !== '' &&\n config.selectedListFontColor !== null &&\n config.selectedListFontColor !== undefined) {\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\n }\n if (config.interfaceWithRoute !== null &&\n config.interfaceWithRoute !== undefined &&\n typeof config.interfaceWithRoute === 'boolean') {\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\n }\n if (config.collapseOnSelect !== null &&\n config.collapseOnSelect !== undefined &&\n typeof config.collapseOnSelect === 'boolean') {\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\n }\n if (config.highlightOnSelect !== null &&\n config.highlightOnSelect !== undefined &&\n typeof config.highlightOnSelect === 'boolean') {\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\n }\n if (config.useDividers !== null &&\n config.useDividers !== undefined &&\n typeof config.useDividers === 'boolean') {\n this.nodeConfig.useDividers = config.useDividers;\n }\n if (config.rtlLayout !== null &&\n config.rtlLayout !== undefined &&\n typeof config.rtlLayout === 'boolean') {\n this.nodeConfig.rtlLayout = config.rtlLayout;\n }\n if (config.customTemplate !== null &&\n config.customTemplate !== undefined &&\n typeof config.customTemplate === 'boolean') {\n this.nodeConfig.customTemplate = config.customTemplate;\n }\n\n }\n this.checkValidData();\n }\n initExpandCollapseStatus(): void {\n this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$\n .subscribe( (expandCollapseStatus: ExpandCollapseStatusEnum) => {\n this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral;\n }, () => {\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n });\n }\n initSelectedMenuID(): void {\n this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe( (selectedMenuID: string) => {\n if (selectedMenuID) {\n const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID);\n if (foundNode !== undefined) {\n this.currentNode = foundNode;\n this.selectedListItem(foundNode);\n }\n }\n });\n }\n getClassName(): string {\n if (this.isInvalidConfig) {\n return CONSTANT.DEFAULT_CLASS_NAME;\n } else {\n if (this.configuration.classname !== '' && this.configuration.classname !== null && this.configuration.classname !== undefined) {\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\n } else {\n return CONSTANT.DEFAULT_CLASS_NAME;\n }\n }\n }\n getGlobalStyle(): BackgroundStyle {\n if (!this.isInvalidConfig) {\n const styles = {\n background : null\n };\n if (this.configuration.backgroundColor !== '' &&\n this.configuration.backgroundColor !== null &&\n this.configuration.backgroundColor !== undefined) {\n styles.background = this.configuration.backgroundColor;\n }\n return styles;\n }\n }\n isRtlLayout(): boolean {\n return this.nodeConfig.rtlLayout;\n }\n selectedListItem(event: MultilevelNodes): void {\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n this.currentNode = event;\n if (event.dontEmit !== undefined && event.dontEmit !== null && event.dontEmit) {\n return;\n }\n if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') ) {\n this.selectedItem.emit(event);\n } else {\n this.selectedLabel.emit(event);\n }\n }\n ngOnDestroy() {\n this.expandCollapseStatusSubscription.unsubscribe();\n this.selectMenuByIDSubscription.unsubscribe();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { MaterialsModule } from './materials.module';\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MaterialsModule,\n RouterModule,\n ],\n declarations: [\n NgMaterialMultilevelMenuComponent,\n ListItemComponent,\n ],\n exports: [NgMaterialMultilevelMenuComponent]\n})\nexport class NgMaterialMultilevelMenuModule {}\n","/*\n * Public API Surface of ng-material-multilevel-menu\n */\n\nexport * from './lib/ng-material-multilevel-menu.module';\nexport * from './lib/ng-material-multilevel-menu.component';\nexport * from './lib/multilevel-menu.service';\nexport * from './lib/animation';\nexport { MultilevelNodes, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ListItemComponent as ɵb} from './lib/list-item/list-item.component';\nexport {MaterialsModule as ɵa} from './lib/materials.module';"],"names":["ExpandCollapseStatusEnum","Subject","trigger","state","style","transition","group","animate","EventEmitter","Component","Router","Input","Output","NgModule","MatIconModule","MatListModule","MatRippleModule","NavigationEnd","ContentChild","CommonModule","RouterModule"],"mappings":"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"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.min.js b/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.min.js deleted file mode 100644 index 344d5e1..0000000 --- a/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.min.js +++ /dev/null @@ -1,2 +0,0 @@ -!function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@angular/common"),require("@angular/core"),require("@angular/router"),require("rxjs"),require("@angular/animations"),require("@angular/material/core"),require("@angular/material/icon"),require("@angular/material/list")):"function"==typeof define&&define.amd?define("ng-material-multilevel-menu",["exports","@angular/common","@angular/core","@angular/router","rxjs","@angular/animations","@angular/material/core","@angular/material/icon","@angular/material/list"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["ng-material-multilevel-menu"]={},e.ng.common,e.ng.core,e.ng.router,e.rxjs,e.ng.animations,e.ng.material.core,e.ng.material.icon,e.ng.material.list)}(this,(function(e,t,n,i,o,l,a,s,r){"use strict";var d;(d=e.ExpandCollapseStatusEnum||(e.ExpandCollapseStatusEnum={})).expand="expand",d.collapse="collapse",d.neutral="neutral";var u="amml-container",c="amml-item",p="selected-amml-item",m="active-amml-item",h="disabled-amml-item",g="amml-submenu",f="has-amml-submenu",v="#1976d2",y="transparent",C="rgba(0,0,0,.87)",I="_self",S="Invalid data for material Multilevel List Component",x=function(){function t(){this.expandCollapseStatus=new o.Subject,this.expandCollapseStatus$=this.expandCollapseStatus.asObservable(),this.selectedMenuID=new o.Subject,this.selectedMenuID$=this.selectedMenuID.asObservable()}return t.prototype.generateId=function(){for(var e="",t="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789",n=0;n<20;n++)e+=t.charAt(Math.floor(Math.random()*t.length));return e},t.prototype.addRandomId=function(e){var t=this;e.forEach((function(e){e.id=t.generateId(),void 0!==e.items&&t.addRandomId(e.items)}))},t.prototype.recursiveCheckId=function(e,t){var n=this;return e.id===t||(void 0!==e.items?e.items.some((function(e){return n.recursiveCheckId(e,t)})):void 0)},t.prototype.findNodeRecursively=function(e){for(var t=e.nodes,n=e.link,i=e.id,o=0;o yes",l.animate(200)),l.transition("yes => no",l.animate(200))]),k=l.trigger("ExpandedRTL",[l.state("no",l.style({transform:"rotate(90deg)"})),l.state("yes",l.style({transform:"rotate(0deg)"})),l.transition("no => yes",l.animate(200)),l.transition("yes => no",l.animate(200))]),E=function(){function t(e,t){var i;this.router=e,this.multilevelMenuService=t,this.level=1,this.submenuLevel=0,this.nodeConfiguration=null,this.nodeExpandCollapseStatus=null,this.listTemplate=null,this.selectedItem=new n.EventEmitter,this.isSelected=!1,this.expanded=!1,this.firstInitializer=!1,this.selectedListClasses=((i={})[c]=!0,i[p]=!1,i[m]=!1,i)}return t.prototype.ngOnChanges=function(){this.nodeChildren=this.node&&this.node.items?this.node.items.filter((function(e){return!e.hidden})):[],this.node.hasChilden=this.hasItems(),void 0!==this.selectedNode&&null!==this.selectedNode&&this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node,this.selectedNode.id)),this.setExpandCollapseStatus()},t.prototype.ngOnInit=function(){this.selectedListClasses[h]=this.node.disabled,null!==this.node.faIcon&&void 0!==this.node.faIcon&&null===this.node.faIcon.match(/\bfa\w(?!-)/)&&(this.node.faIcon="fas "+this.node.faIcon),this.selectedListClasses["level-"+this.level+"-submenulevel-"+this.submenuLevel]=!0,"boolean"==typeof this.node.expanded&&(this.expanded=this.node.expanded),this.setClasses()},t.prototype.setSelectedClass=function(e){var t;e?(this.firstInitializer||(this.expanded=!0),this.isSelected=!(!this.nodeConfiguration.highlightOnSelect&&void 0!==this.selectedNode.items)):(this.isSelected=!1,this.nodeConfiguration.collapseOnSelect&&(this.node.expanded=!1,this.expanded=!1)),this.selectedListClasses=((t={})[c]=!0,t[p]=this.isSelected,t[m]=this.selectedNode.id===this.node.id,t[h]=this.node.disabled,t["level-"+this.level+"-submenulevel-"+this.submenuLevel]=!0,t),this.node.isSelected=this.isSelected,this.setClasses()},t.prototype.getPaddingAtStart=function(){return!!this.nodeConfiguration.paddingAtStart},t.prototype.getListStyle=function(){var e={background:y,color:C};return null!==this.nodeConfiguration.listBackgroundColor&&(e.background=this.nodeConfiguration.listBackgroundColor),this.isSelected?null!==this.nodeConfiguration.selectedListFontColor?e.color=this.nodeConfiguration.selectedListFontColor:e.color=v:null!==this.nodeConfiguration.fontColor&&(e.color=this.nodeConfiguration.fontColor),e},t.prototype.getListIcon=function(e){return null!==e.icon&&void 0!==e.icon&&""!==e.icon?"icon":null!==e.faIcon&&void 0!==e.faIcon&&""!==e.faIcon?"faicon":null!==e.imageIcon&&void 0!==e.imageIcon&&""!==e.imageIcon?"imageicon":null!==e.svgIcon&&void 0!==e.svgIcon&&""!==e.svgIcon?"svgicon":""},t.prototype.getSelectedSvgIcon=function(){return this.isSelected&&this.node.activeSvgIcon?this.node.activeSvgIcon:this.node.svgIcon},t.prototype.getSelectedIcon=function(){return this.isSelected&&this.node.activeIcon?this.node.activeIcon:this.node.icon},t.prototype.getSelectedFaIcon=function(){return this.isSelected&&this.node.activeFaIcon?this.node.activeFaIcon:this.node.faIcon},t.prototype.getSelectedImageIcon=function(){return this.isSelected&&this.node.activeImageIcon?this.node.activeImageIcon:this.node.imageIcon},t.prototype.getHrefTargetType=function(){return this.node.hrefTargetType?this.node.hrefTargetType:I},t.prototype.hasItems=function(){return this.nodeChildren.length>0},t.prototype.isRtlLayout=function(){return this.nodeConfiguration.rtlLayout},t.prototype.setClasses=function(){var e;this.classes=((e={})["level-"+(this.level+1)]=!0,e[g]=this.hasItems()&&this.getPaddingAtStart(),e[f]=this.hasItems(),e)},t.prototype.setExpandCollapseStatus=function(){null!==this.nodeExpandCollapseStatus&&void 0!==this.nodeExpandCollapseStatus&&(this.nodeExpandCollapseStatus===e.ExpandCollapseStatusEnum.expand&&(this.expanded=!0,this.nodeConfiguration.customTemplate&&(this.node.expanded=!0)),this.nodeExpandCollapseStatus===e.ExpandCollapseStatusEnum.collapse&&(this.expanded=!1,this.nodeConfiguration.customTemplate&&(this.node.expanded=!1)))},t.prototype.expand=function(t){t.disabled||(this.nodeExpandCollapseStatus=e.ExpandCollapseStatusEnum.neutral,this.expanded=!this.expanded,this.node.expanded=this.expanded,this.firstInitializer=!0,this.setClasses(),null!==this.nodeConfiguration.interfaceWithRoute&&this.nodeConfiguration.interfaceWithRoute&&void 0!==t.link&&t.link?this.router.navigate([t.link],t.navigationExtras):t.onSelected&&"function"==typeof t.onSelected?(t.onSelected(t),this.selectedListItem(t)):(void 0===t.items||this.nodeConfiguration.collapseOnSelect)&&this.selectedListItem(t))},t.prototype.selectedListItem=function(e){this.selectedItem.emit(e)},t}();E.decorators=[{type:n.Component,args:[{selector:"ng-list-item",template:'
\n \x3c!-- \n Base Template rendering condition starts\n --\x3e\n
\n \n
\n \x3c!-- \n Base Template rendering condition ends\n --\x3e\n\n \x3c!-- \n Recursive Template calls begins\n --\x3e\n
\n \n \n
\n
\n\x3c!-- \n Recursive Template calls ends\n--\x3e\n\n\x3c!-- \n Base Template starts from here \n--\x3e\n\n \n \n \n \n\n\n\n \x3c!-- \n Improvements:\n These anchor tags can be removed & we can create a directive.\n This directive will create a wrapper of an anchor tag with proper attributes on template `linkLabelOutlet`.\n --\x3e\n \n \n \n \n \n \n \n \n \n\n\n\n
\n
\n \n \n \n \n {{getSelectedIcon()}}\n \n \n \n {{node.label}}\n
\n {{node.label}}\n
\n
\n \n keyboard_arrow_down\n \n \n keyboard_arrow_down\n \n
\n
',animations:[b,L,k],styles:[".amml-item{cursor:pointer;position:relative}.anml-link{color:inherit;text-decoration:none;text-transform:capitalize}.anml-data,.anml-link{display:flex;justify-content:flex-start;width:100%}.anml-data{height:48px}.disabled-amml-item{opacity:.5;pointer-events:none;text-decoration:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{font-weight:400;line-height:48px}.amml-svg-icon{height:22px;margin-top:-12px;width:22px}.amml-icon-arrow-container{align-items:center;direction:ltr;display:flex}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=ltr].amml-submenu,div[dir=rtl] .amml-icon{margin-left:16px}div[dir=rtl].amml-submenu{margin-right:16px}"]}]}],E.ctorParameters=function(){return[{type:i.Router},{type:x}]},E.propDecorators={node:[{type:n.Input}],level:[{type:n.Input}],submenuLevel:[{type:n.Input}],selectedNode:[{type:n.Input}],nodeConfiguration:[{type:n.Input}],nodeExpandCollapseStatus:[{type:n.Input}],listTemplate:[{type:n.Input}],selectedItem:[{type:n.Output}]};var M=function(){};M.decorators=[{type:n.NgModule,args:[{imports:[s.MatIconModule,r.MatListModule,a.MatRippleModule],declarations:[],exports:[s.MatIconModule,r.MatListModule,a.MatRippleModule]}]}];var T=function(){function t(t,i){this.router=t,this.multilevelMenuService=i,this.configuration=null,this.selectedItem=new n.EventEmitter,this.selectedLabel=new n.EventEmitter,this.menuIsReady=new n.EventEmitter,this.expandCollapseStatusSubscription=null,this.selectMenuByIDSubscription=null,this.currentNode=null,this.nodeConfig={paddingAtStart:!0,listBackgroundColor:null,fontColor:null,selectedListFontColor:null,interfaceWithRoute:null,collapseOnSelect:null,highlightOnSelect:!1,useDividers:!0,rtlLayout:!1,customTemplate:!1},this.isInvalidConfig=!0,this.isInvalidData=!0,this.nodeExpandCollapseStatus=e.ExpandCollapseStatusEnum.neutral}return t.prototype.ngOnChanges=function(){this.detectInvalidConfig(),this.initExpandCollapseStatus(),this.initSelectedMenuID(),this.isInvalidData||this.menuIsReady.emit(this.items)},t.prototype.ngOnInit=function(){var e=this;null!==this.configuration&&void 0!==this.configuration&&""!==this.configuration&&null!==this.configuration.interfaceWithRoute&&this.configuration.interfaceWithRoute&&(this.router.events.subscribe((function(t){t instanceof i.NavigationEnd&&e.updateNodeByURL(t.urlAfterRedirects)})),this.updateNodeByURL(this.router.url))},t.prototype.updateNodeByURL=function(e){var t=this.multilevelMenuService.getMatchedObjectByUrl(this.items,e);void 0!==t&&void 0!==t.link&&null!==t.link&&""!==t.link&&(this.currentNode=t,void 0===t.dontEmit||null===t.dontEmit||t.dontEmit||this.selectedListItem(t))},t.prototype.checkValidData=function(){void 0===this.items||Array.isArray(this.items)&&0===this.items.length?console.warn(S):(this.items=this.items.filter((function(e){return!e.hidden})),this.multilevelMenuService.addRandomId(this.items),this.isInvalidData=!1)},t.prototype.detectInvalidConfig=function(){if(null===this.configuration||void 0===this.configuration||""===this.configuration)this.isInvalidConfig=!0;else{this.isInvalidConfig=!1;var e=this.configuration;void 0!==e.paddingAtStart&&null!==e.paddingAtStart&&"boolean"==typeof e.paddingAtStart&&(this.nodeConfig.paddingAtStart=e.paddingAtStart),""!==e.listBackgroundColor&&null!==e.listBackgroundColor&&void 0!==e.listBackgroundColor&&(this.nodeConfig.listBackgroundColor=e.listBackgroundColor),""!==e.fontColor&&null!==e.fontColor&&void 0!==e.fontColor&&(this.nodeConfig.fontColor=e.fontColor),""!==e.selectedListFontColor&&null!==e.selectedListFontColor&&void 0!==e.selectedListFontColor&&(this.nodeConfig.selectedListFontColor=e.selectedListFontColor),null!==e.interfaceWithRoute&&void 0!==e.interfaceWithRoute&&"boolean"==typeof e.interfaceWithRoute&&(this.nodeConfig.interfaceWithRoute=e.interfaceWithRoute),null!==e.collapseOnSelect&&void 0!==e.collapseOnSelect&&"boolean"==typeof e.collapseOnSelect&&(this.nodeConfig.collapseOnSelect=e.collapseOnSelect),null!==e.highlightOnSelect&&void 0!==e.highlightOnSelect&&"boolean"==typeof e.highlightOnSelect&&(this.nodeConfig.highlightOnSelect=e.highlightOnSelect),null!==e.useDividers&&void 0!==e.useDividers&&"boolean"==typeof e.useDividers&&(this.nodeConfig.useDividers=e.useDividers),null!==e.rtlLayout&&void 0!==e.rtlLayout&&"boolean"==typeof e.rtlLayout&&(this.nodeConfig.rtlLayout=e.rtlLayout),null!==e.customTemplate&&void 0!==e.customTemplate&&"boolean"==typeof e.customTemplate&&(this.nodeConfig.customTemplate=e.customTemplate)}this.checkValidData()},t.prototype.initExpandCollapseStatus=function(){var t=this;this.expandCollapseStatusSubscription=this.multilevelMenuService.expandCollapseStatus$.subscribe((function(n){t.nodeExpandCollapseStatus=n||e.ExpandCollapseStatusEnum.neutral}),(function(){t.nodeExpandCollapseStatus=e.ExpandCollapseStatusEnum.neutral}))},t.prototype.initSelectedMenuID=function(){var e=this;this.selectMenuByIDSubscription=this.multilevelMenuService.selectedMenuID$.subscribe((function(t){if(t){var n=e.multilevelMenuService.getMatchedObjectById(e.items,t);void 0!==n&&(e.currentNode=n,e.selectedListItem(n))}}))},t.prototype.getClassName=function(){return this.isInvalidConfig?u:""!==this.configuration.classname&&null!==this.configuration.classname&&void 0!==this.configuration.classname?u+" "+this.configuration.classname:u},t.prototype.getGlobalStyle=function(){if(!this.isInvalidConfig){var e={background:null};return""!==this.configuration.backgroundColor&&null!==this.configuration.backgroundColor&&void 0!==this.configuration.backgroundColor&&(e.background=this.configuration.backgroundColor),e}},t.prototype.isRtlLayout=function(){return this.nodeConfig.rtlLayout},t.prototype.selectedListItem=function(t){this.nodeExpandCollapseStatus=e.ExpandCollapseStatusEnum.neutral,this.currentNode=t,void 0!==t.dontEmit&&null!==t.dontEmit&&t.dontEmit||(void 0!==t.items||t.onSelected&&"function"==typeof t.onSelected?this.selectedLabel.emit(t):this.selectedItem.emit(t))},t.prototype.ngOnDestroy=function(){this.expandCollapseStatusSubscription.unsubscribe(),this.selectMenuByIDSubscription.unsubscribe()},t}();T.decorators=[{type:n.Component,args:[{selector:"ng-material-multilevel-menu",template:'
\n \n \n \n \n
\n',styles:[".amml-container .mat-list-base{padding-top:unset}.amml-item{display:flex;justify-content:space-between;line-height:48px;position:relative}.anml-data{display:flex;justify-content:flex-start;text-transform:capitalize;width:100%}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}"]}]}],T.ctorParameters=function(){return[{type:i.Router},{type:x}]},T.propDecorators={items:[{type:n.Input}],configuration:[{type:n.Input}],selectedItem:[{type:n.Output}],selectedLabel:[{type:n.Output}],menuIsReady:[{type:n.Output}],listTemplate:[{type:n.ContentChild,args:["listTemplate",{static:!0}]}]};var O=function(){};O.decorators=[{type:n.NgModule,args:[{imports:[t.CommonModule,M,i.RouterModule],declarations:[T,E],exports:[T]}]}],e.ExpandedLTR=L,e.ExpandedRTL=k,e.MultilevelMenuService=x,e.NgMaterialMultilevelMenuComponent=T,e.NgMaterialMultilevelMenuModule=O,e.SlideInOut=b,e.ɵa=M,e.ɵb=E,Object.defineProperty(e,"__esModule",{value:!0})})); -//# sourceMappingURL=ng-material-multilevel-menu.umd.min.js.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.min.js.map b/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.min.js.map deleted file mode 100644 index 704caa1..0000000 --- a/dist/ng-material-multilevel-menu/bundles/ng-material-multilevel-menu.umd.min.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts"],"names":["ExpandCollapseStatusEnum","CONSTANT","MultilevelMenuService","this","expandCollapseStatus","Subject","expandCollapseStatus$","asObservable","selectedMenuID","selectedMenuID$","prototype","generateId","text","possible","i","charAt","Math","floor","random","length","addRandomId","nodes","_this","forEach","node","id","undefined","items","recursiveCheckId","nodeId","some","nestedNode","findNodeRecursively","_a","link","nodeIndex","key","hasOwnProperty","encodeURI","foundLinkObject","getMatchedObjectByUrl","getMatchedObjectById","kvDummyComparerFn","setMenuExapandCollpaseStatus","status","next","neutral","selectMenuByID","menuID","SlideInOut","trigger","state","style","height","opacity","transition","group","animate","ExpandedLTR","transform","ExpandedRTL","ListItemComponent","router","multilevelMenuService","level","submenuLevel","nodeConfiguration","nodeExpandCollapseStatus","listTemplate","selectedItem","EventEmitter","isSelected","expanded","firstInitializer","selectedListClasses","ngOnChanges","nodeChildren","filter","n","hidden","hasChilden","hasItems","selectedNode","setSelectedClass","setExpandCollapseStatus","ngOnInit","disabled","faIcon","match","setClasses","isFound","highlightOnSelect","collapseOnSelect","getPaddingAtStart","paddingAtStart","getListStyle","styles","background","color","listBackgroundColor","selectedListFontColor","fontColor","getListIcon","icon","imageIcon","svgIcon","getSelectedSvgIcon","activeSvgIcon","getSelectedIcon","activeIcon","getSelectedFaIcon","activeFaIcon","getSelectedImageIcon","activeImageIcon","getHrefTargetType","hrefTargetType","isRtlLayout","rtlLayout","classes","expand","customTemplate","collapse","interfaceWithRoute","navigate","navigationExtras","onSelected","selectedListItem","emit","Component","args","selector","template","animations","Router","Input","Output","NgModule","imports","MatIconModule","MatListModule","MatRippleModule","declarations","exports","NgMaterialMultilevelMenuComponent","configuration","selectedLabel","menuIsReady","expandCollapseStatusSubscription","selectMenuByIDSubscription","currentNode","nodeConfig","useDividers","isInvalidConfig","isInvalidData","detectInvalidConfig","initExpandCollapseStatus","initSelectedMenuID","events","subscribe","event","NavigationEnd","updateNodeByURL","urlAfterRedirects","url","foundNode","dontEmit","checkValidData","Array","isArray","console","warn","config","getClassName","classname","getGlobalStyle","backgroundColor","ngOnDestroy","unsubscribe","ContentChild","static","CommonModule","MaterialsModule","RouterModule"],"mappings":"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","sourcesContent":["import { NavigationExtras } from '@angular/router';\n\nexport interface MultilevelNodes {\n id?: string;\n label: string;\n faIcon?: string;\n icon?: string;\n imageIcon?: string;\n svgIcon?: string;\n activeFaIcon?: string;\n activeIcon?: string;\n activeImageIcon?: string;\n activeSvgIcon?: string;\n hidden?: boolean;\n link?: string;\n externalRedirect?: boolean;\n hrefTargetType?: string;\n data?: any;\n items?: MultilevelNodes[];\n onSelected?: Function;\n disabled?: boolean;\n expanded?: boolean;\n navigationExtras?: NavigationExtras;\n dontEmit?: boolean;\n hasChilden?: boolean;\n isSelected?: boolean;\n}\n\nexport interface Configuration {\n classname?: string;\n paddingAtStart?: boolean;\n backgroundColor?: string;\n listBackgroundColor?: string;\n fontColor?: string;\n selectedListFontColor?: string;\n interfaceWithRoute?: boolean;\n collapseOnSelect?: boolean;\n highlightOnSelect?: boolean;\n useDividers?: boolean;\n rtlLayout?: boolean;\n customTemplate?: boolean;\n}\n\nexport interface BackgroundStyle {\n background: string;\n}\n\nexport interface ListStyle {\n background: string;\n color: string;\n}\n\nexport enum ExpandCollapseStatusEnum {\n expand = 'expand',\n collapse = 'collapse',\n neutral = 'neutral',\n}\n","export const CONSTANT = {\n PADDING_AT_START: true,\n DEFAULT_CLASS_NAME: `amml-container`,\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\n DEFAULT_HREF_TARGET_TYPE: '_self',\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { MultilevelNodes, ExpandCollapseStatusEnum } from './app.model';\nexport class MultilevelMenuService {\n foundLinkObject: MultilevelNodes;\n expandCollapseStatus: Subject = new Subject();\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\n\n selectedMenuID: Subject = new Subject();\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\n\n private generateId(): string {\n let text = '';\n const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n for (let i = 0; i < 20; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n addRandomId(nodes: MultilevelNodes[]): void {\n nodes.forEach((node: MultilevelNodes) => {\n node.id = this.generateId();\n if (node.items !== undefined) {\n this.addRandomId(node.items);\n }\n });\n }\n recursiveCheckId(node: MultilevelNodes, nodeId: string): boolean {\n if (node.id === nodeId) {\n return true;\n } else {\n if (node.items !== undefined) {\n return node.items.some((nestedNode: MultilevelNodes) => {\n return this.recursiveCheckId(nestedNode, nodeId);\n });\n }\n }\n }\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNodes[], link?: string, id?: string}): void {\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\n const node = nodes[nodeIndex];\n for (const key in node) {\n if (node.hasOwnProperty(key)) {\n if (encodeURI(node.link) === link) {\n this.foundLinkObject = node;\n } else if (node.id === id) {\n this.foundLinkObject = node;\n } else {\n if (node.items !== undefined) {\n this.findNodeRecursively({\n nodes: node.items,\n link: link ? link : null,\n id: id ? id : null\n });\n }\n }\n }\n }\n }\n }\n getMatchedObjectByUrl(nodes: MultilevelNodes[], link: string): MultilevelNodes {\n this.findNodeRecursively({nodes, link});\n return this.foundLinkObject;\n }\n getMatchedObjectById(nodes: MultilevelNodes[], id: string): MultilevelNodes {\n this.findNodeRecursively({nodes, id});\n return this.foundLinkObject;\n }\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\n // https://angular.io/api/common/KeyValuePipe#description\n kvDummyComparerFn() {\n return 0;\n }\n setMenuExapandCollpaseStatus(status: ExpandCollapseStatusEnum): void {\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\n }\n selectMenuByID(menuID: string) {\n this.selectedMenuID.next(menuID);\n return this.foundLinkObject;\n }\n}\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\n\nexport const SlideInOut = trigger('SlideInOut', [\n state(\n 'in',\n style({ height: '*', opacity: 0 })),\n transition(':leave', [\n style({ height: '*', opacity: 0.2 }),\n group([\n animate(200, style({ height: 0 })),\n animate('200ms ease-out', style({ opacity: 0 }))\n ])\n ]),\n transition(':enter', [\n style({ height: '0', opacity: 0 }),\n group([\n animate(200, style({ height: '*' })),\n animate('400ms ease-out', style({ opacity: 1 }))\n ])\n ])\n ]\n);\n\nexport const ExpandedLTR = trigger('ExpandedLTR', [\n state('no', style({ transform: 'rotate(-90deg)' })),\n state('yes', style({ transform: 'rotate(0deg)', })),\n\n transition('no => yes', animate(200)),\n transition('yes => no', animate(200))\n]);\n\nexport const ExpandedRTL = trigger('ExpandedRTL', [\n state('no', style({ transform: 'rotate(90deg)' })),\n state('yes', style({ transform: 'rotate(0deg)', })),\n\n transition('no => yes', animate(200)),\n transition('yes => no', animate(200))\n]);\n","import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Configuration, ListStyle, MultilevelNodes, ExpandCollapseStatusEnum } from './../app.model';\nimport { CONSTANT } from './../constants';\nimport { MultilevelMenuService } from './../multilevel-menu.service';\nimport { SlideInOut, ExpandedLTR, ExpandedRTL } from './../animation';\n@Component({\n selector: 'ng-list-item',\n templateUrl: './list-item.component.html',\n styleUrls: ['./list-item.component.css'],\n animations: [SlideInOut, ExpandedLTR, ExpandedRTL]\n})\nexport class ListItemComponent implements OnChanges, OnInit {\n @Input() node: MultilevelNodes;\n @Input() level = 1;\n @Input() submenuLevel = 0;\n @Input() selectedNode: MultilevelNodes;\n @Input() nodeConfiguration: Configuration = null;\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\n @Input() listTemplate: TemplateRef = null;\n\n @Output() selectedItem = new EventEmitter();\n\n isSelected = false;\n expanded = false;\n firstInitializer = false;\n\n nodeChildren: MultilevelNodes[];\n classes: { [index: string]: boolean };\n selectedListClasses: { [index: string]: boolean };\n\n constructor(\n private router: Router,\n public multilevelMenuService: MultilevelMenuService\n ) {\n this.selectedListClasses = {\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\n };\n }\n ngOnChanges() {\n this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : [];\n this.node.hasChilden = this.hasItems();\n\n if (this.selectedNode !== undefined && this.selectedNode !== null) {\n this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id));\n }\n this.setExpandCollapseStatus();\n }\n ngOnInit() {\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled;\n\n if (this.node.faIcon !== null &&\n this.node.faIcon !== undefined &&\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null) {\n this.node.faIcon = `fas ${this.node.faIcon}`;\n }\n\n this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true;\n if (typeof this.node.expanded === 'boolean') {\n this.expanded = this.node.expanded;\n }\n this.setClasses();\n }\n setSelectedClass(isFound: boolean): void {\n if (isFound) {\n if (!this.firstInitializer) {\n this.expanded = true;\n }\n this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined ? true : false;\n } else {\n this.isSelected = false;\n if (this.nodeConfiguration.collapseOnSelect) {\n this.node.expanded = false;\n this.expanded = false;\n }\n }\n this.selectedListClasses = {\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\n };\n this.node.isSelected = this.isSelected;\n this.setClasses();\n }\n getPaddingAtStart(): boolean {\n return this.nodeConfiguration.paddingAtStart ? true : false;\n }\n getListStyle(): ListStyle {\n const styles = {\n background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR,\n color: CONSTANT.DEFAULT_LIST_FONT_COLOR\n };\n if (this.nodeConfiguration.listBackgroundColor !== null) {\n styles.background = this.nodeConfiguration.listBackgroundColor;\n }\n if (this.isSelected) {\n this.nodeConfiguration.selectedListFontColor !== null ?\n styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR;\n } else if (this.nodeConfiguration.fontColor !== null) {\n styles.color = this.nodeConfiguration.fontColor;\n }\n return styles;\n }\n getListIcon(node: MultilevelNodes): string {\n if (node.icon !== null && node.icon !== undefined && node.icon !== '') {\n return `icon`;\n } else if (node.faIcon !== null && node.faIcon !== undefined && node.faIcon !== '') {\n return `faicon`;\n } else if (node.imageIcon !== null && node.imageIcon !== undefined && node.imageIcon !== '') {\n return `imageicon`;\n } else if (node.svgIcon !== null && node.svgIcon !== undefined && node.svgIcon !== '') {\n return `svgicon`;\n } else {\n return ``;\n }\n }\n getSelectedSvgIcon() {\n if (this.isSelected && this.node.activeSvgIcon) {\n return this.node.activeSvgIcon;\n }\n return this.node.svgIcon;\n }\n getSelectedIcon() {\n if (this.isSelected && this.node.activeIcon) {\n return this.node.activeIcon;\n }\n return this.node.icon;\n }\n getSelectedFaIcon() {\n if (this.isSelected && this.node.activeFaIcon) {\n return this.node.activeFaIcon;\n }\n return this.node.faIcon;\n }\n getSelectedImageIcon() {\n if (this.isSelected && this.node.activeImageIcon) {\n return this.node.activeImageIcon;\n }\n return this.node.imageIcon;\n }\n getHrefTargetType() {\n if (this.node.hrefTargetType) {\n return this.node.hrefTargetType;\n }\n return CONSTANT.DEFAULT_HREF_TARGET_TYPE;\n }\n hasItems(): boolean {\n return this.nodeChildren.length > 0 ? true : false;\n }\n isRtlLayout(): boolean {\n return this.nodeConfiguration.rtlLayout;\n }\n setClasses(): void {\n this.classes = {\n [`level-${this.level + 1}`]: true,\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(),\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems()\n };\n }\n setExpandCollapseStatus(): void {\n if (this.nodeExpandCollapseStatus !== null && this.nodeExpandCollapseStatus !== undefined ) {\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\n this.expanded = true;\n if (this.nodeConfiguration.customTemplate) {\n this.node.expanded = true;\n }\n }\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\n this.expanded = false;\n if (this.nodeConfiguration.customTemplate) {\n this.node.expanded = false;\n }\n }\n }\n }\n expand(node: MultilevelNodes): void {\n if (node.disabled) {\n return;\n }\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n this.expanded = !this.expanded;\n this.node.expanded = this.expanded;\n this.firstInitializer = true;\n this.setClasses();\n if (this.nodeConfiguration.interfaceWithRoute !== null\n && this.nodeConfiguration.interfaceWithRoute\n && node.link !== undefined\n && node.link\n ) {\n this.router.navigate([node.link], node.navigationExtras);\n } else if (node.onSelected && typeof node.onSelected === 'function') {\n node.onSelected(node);\n this.selectedListItem(node);\n } else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) {\n this.selectedListItem(node);\n }\n }\n selectedListItem(node: MultilevelNodes): void {\n this.selectedItem.emit(node);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\n\n@NgModule({\n imports: [\n MatIconModule,\n MatListModule,\n MatRippleModule,\n ],\n declarations: [],\n exports: [\n MatIconModule,\n MatListModule,\n MatRippleModule,\n ]\n})\nexport class MaterialsModule { }\n","import { Component, OnChanges, OnInit, OnDestroy, Output, EventEmitter, Input, ContentChild, TemplateRef, ElementRef } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { BackgroundStyle, Configuration, MultilevelNodes, ExpandCollapseStatusEnum } from './app.model';\nimport { CONSTANT } from './constants';\nimport { MultilevelMenuService } from './multilevel-menu.service';\n\n@Component({\n selector: 'ng-material-multilevel-menu',\n templateUrl: './ng-material-multilevel-menu.component.html',\n styleUrls: ['./ng-material-multilevel-menu.component.css'],\n})\nexport class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy {\n @Input() items: MultilevelNodes[];\n @Input() configuration: Configuration = null;\n @Output() selectedItem = new EventEmitter();\n @Output() selectedLabel = new EventEmitter();\n @Output() menuIsReady = new EventEmitter();\n @ContentChild('listTemplate', {static: true}) listTemplate: TemplateRef;\n\n expandCollapseStatusSubscription: Subscription = null;\n selectMenuByIDSubscription: Subscription = null;\n currentNode: MultilevelNodes = null;\n\n nodeConfig: Configuration = {\n paddingAtStart: true,\n listBackgroundColor: null,\n fontColor: null,\n selectedListFontColor: null,\n interfaceWithRoute: null,\n collapseOnSelect: null,\n highlightOnSelect: false,\n useDividers: true,\n rtlLayout: false,\n customTemplate: false,\n };\n isInvalidConfig = true;\n isInvalidData = true;\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral;\n\n constructor(\n private router: Router,\n public multilevelMenuService: MultilevelMenuService\n ) { }\n ngOnChanges() {\n this.detectInvalidConfig();\n this.initExpandCollapseStatus();\n this.initSelectedMenuID();\n if (!this.isInvalidData) {\n this.menuIsReady.emit(this.items);\n }\n }\n ngOnInit() {\n if (\n this.configuration !== null && this.configuration !== undefined && this.configuration !== '' &&\n this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) {\n this.router.events\n .subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.updateNodeByURL(event.urlAfterRedirects);\n }\n });\n this.updateNodeByURL(this.router.url);\n }\n }\n updateNodeByURL(url: string): void {\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url);\n if (\n foundNode !== undefined &&\n foundNode.link !== undefined &&\n foundNode.link !== null &&\n foundNode.link !== ''\n // && !foundNode.disabled // Prevent route redirection for disabled menu\n ) {\n this.currentNode = foundNode;\n if (foundNode.dontEmit !== undefined && foundNode.dontEmit !== null && !foundNode.dontEmit) {\n this.selectedListItem(foundNode);\n }\n }\n }\n checkValidData(): void {\n if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) {\n console.warn(CONSTANT.ERROR_MESSAGE);\n } else {\n this.items = this.items.filter(n => !n.hidden);\n this.multilevelMenuService.addRandomId(this.items);\n this.isInvalidData = false;\n }\n }\n detectInvalidConfig(): void {\n if (this.configuration === null || this.configuration === undefined || this.configuration === '') {\n this.isInvalidConfig = true;\n } else {\n this.isInvalidConfig = false;\n const config = this.configuration;\n if (config.paddingAtStart !== undefined && config.paddingAtStart !== null && typeof config.paddingAtStart === 'boolean') {\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\n }\n if (config.listBackgroundColor !== '' &&\n config.listBackgroundColor !== null &&\n config.listBackgroundColor !== undefined) {\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\n }\n if (config.fontColor !== '' &&\n config.fontColor !== null &&\n config.fontColor !== undefined) {\n this.nodeConfig.fontColor = config.fontColor;\n }\n if (config.selectedListFontColor !== '' &&\n config.selectedListFontColor !== null &&\n config.selectedListFontColor !== undefined) {\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\n }\n if (config.interfaceWithRoute !== null &&\n config.interfaceWithRoute !== undefined &&\n typeof config.interfaceWithRoute === 'boolean') {\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\n }\n if (config.collapseOnSelect !== null &&\n config.collapseOnSelect !== undefined &&\n typeof config.collapseOnSelect === 'boolean') {\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\n }\n if (config.highlightOnSelect !== null &&\n config.highlightOnSelect !== undefined &&\n typeof config.highlightOnSelect === 'boolean') {\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\n }\n if (config.useDividers !== null &&\n config.useDividers !== undefined &&\n typeof config.useDividers === 'boolean') {\n this.nodeConfig.useDividers = config.useDividers;\n }\n if (config.rtlLayout !== null &&\n config.rtlLayout !== undefined &&\n typeof config.rtlLayout === 'boolean') {\n this.nodeConfig.rtlLayout = config.rtlLayout;\n }\n if (config.customTemplate !== null &&\n config.customTemplate !== undefined &&\n typeof config.customTemplate === 'boolean') {\n this.nodeConfig.customTemplate = config.customTemplate;\n }\n\n }\n this.checkValidData();\n }\n initExpandCollapseStatus(): void {\n this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$\n .subscribe( (expandCollapseStatus: ExpandCollapseStatusEnum) => {\n this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral;\n }, () => {\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n });\n }\n initSelectedMenuID(): void {\n this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe( (selectedMenuID: string) => {\n if (selectedMenuID) {\n const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID);\n if (foundNode !== undefined) {\n this.currentNode = foundNode;\n this.selectedListItem(foundNode);\n }\n }\n });\n }\n getClassName(): string {\n if (this.isInvalidConfig) {\n return CONSTANT.DEFAULT_CLASS_NAME;\n } else {\n if (this.configuration.classname !== '' && this.configuration.classname !== null && this.configuration.classname !== undefined) {\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\n } else {\n return CONSTANT.DEFAULT_CLASS_NAME;\n }\n }\n }\n getGlobalStyle(): BackgroundStyle {\n if (!this.isInvalidConfig) {\n const styles = {\n background : null\n };\n if (this.configuration.backgroundColor !== '' &&\n this.configuration.backgroundColor !== null &&\n this.configuration.backgroundColor !== undefined) {\n styles.background = this.configuration.backgroundColor;\n }\n return styles;\n }\n }\n isRtlLayout(): boolean {\n return this.nodeConfig.rtlLayout;\n }\n selectedListItem(event: MultilevelNodes): void {\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n this.currentNode = event;\n if (event.dontEmit !== undefined && event.dontEmit !== null && event.dontEmit) {\n return;\n }\n if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') ) {\n this.selectedItem.emit(event);\n } else {\n this.selectedLabel.emit(event);\n }\n }\n ngOnDestroy() {\n this.expandCollapseStatusSubscription.unsubscribe();\n this.selectMenuByIDSubscription.unsubscribe();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { MaterialsModule } from './materials.module';\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MaterialsModule,\n RouterModule,\n ],\n declarations: [\n NgMaterialMultilevelMenuComponent,\n ListItemComponent,\n ],\n exports: [NgMaterialMultilevelMenuComponent]\n})\nexport class NgMaterialMultilevelMenuModule {}\n"]} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/lib/app.model.js b/dist/ng-material-multilevel-menu/esm2015/lib/app.model.js deleted file mode 100644 index ce76a33..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/lib/app.model.js +++ /dev/null @@ -1,7 +0,0 @@ -export var ExpandCollapseStatusEnum; -(function (ExpandCollapseStatusEnum) { - ExpandCollapseStatusEnum["expand"] = "expand"; - ExpandCollapseStatusEnum["collapse"] = "collapse"; - ExpandCollapseStatusEnum["neutral"] = "neutral"; -})(ExpandCollapseStatusEnum || (ExpandCollapseStatusEnum = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvIiwic291cmNlcyI6WyJsaWIvYXBwLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9EQSxNQUFNLENBQU4sSUFBWSx3QkFJWDtBQUpELFdBQVksd0JBQXdCO0lBQ2hDLDZDQUFpQixDQUFBO0lBQ2pCLGlEQUFxQixDQUFBO0lBQ3JCLCtDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBSW5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkV4dHJhcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlsZXZlbE5vZGVzIHtcbiAgaWQ/OiBzdHJpbmc7XG4gIGxhYmVsOiBzdHJpbmc7XG4gIGZhSWNvbj86IHN0cmluZztcbiAgaWNvbj86IHN0cmluZztcbiAgaW1hZ2VJY29uPzogc3RyaW5nO1xuICBzdmdJY29uPzogc3RyaW5nO1xuICBhY3RpdmVGYUljb24/OiBzdHJpbmc7XG4gIGFjdGl2ZUljb24/OiBzdHJpbmc7XG4gIGFjdGl2ZUltYWdlSWNvbj86IHN0cmluZztcbiAgYWN0aXZlU3ZnSWNvbj86IHN0cmluZztcbiAgaGlkZGVuPzogYm9vbGVhbjtcbiAgbGluaz86IHN0cmluZztcbiAgZXh0ZXJuYWxSZWRpcmVjdD86IGJvb2xlYW47XG4gIGhyZWZUYXJnZXRUeXBlPzogc3RyaW5nO1xuICBkYXRhPzogYW55O1xuICBpdGVtcz86IE11bHRpbGV2ZWxOb2Rlc1tdO1xuICBvblNlbGVjdGVkPzogRnVuY3Rpb247XG4gIGRpc2FibGVkPzogYm9vbGVhbjtcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xuICBuYXZpZ2F0aW9uRXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcztcbiAgZG9udEVtaXQ/OiBib29sZWFuO1xuICBoYXNDaGlsZGVuPzogYm9vbGVhbjtcbiAgaXNTZWxlY3RlZD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbiB7XG4gICAgY2xhc3NuYW1lPzogc3RyaW5nO1xuICAgIHBhZGRpbmdBdFN0YXJ0PzogYm9vbGVhbjtcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgbGlzdEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgICBmb250Q29sb3I/OiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRMaXN0Rm9udENvbG9yPzogc3RyaW5nO1xuICAgIGludGVyZmFjZVdpdGhSb3V0ZT86IGJvb2xlYW47XG4gICAgY29sbGFwc2VPblNlbGVjdD86IGJvb2xlYW47XG4gICAgaGlnaGxpZ2h0T25TZWxlY3Q/OiBib29sZWFuO1xuICAgIHVzZURpdmlkZXJzPzogYm9vbGVhbjtcbiAgICBydGxMYXlvdXQ/OiBib29sZWFuO1xuICAgIGN1c3RvbVRlbXBsYXRlPzogYm9vbGVhbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBCYWNrZ3JvdW5kU3R5bGUge1xuICAgIGJhY2tncm91bmQ6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBMaXN0U3R5bGUge1xuICAgIGJhY2tncm91bmQ6IHN0cmluZztcbiAgICBjb2xvcjogc3RyaW5nO1xufVxuXG5leHBvcnQgZW51bSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ge1xuICAgIGV4cGFuZCA9ICdleHBhbmQnLFxuICAgIGNvbGxhcHNlID0gJ2NvbGxhcHNlJyxcbiAgICBuZXV0cmFsID0gJ25ldXRyYWwnLFxufVxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/lib/constants.js b/dist/ng-material-multilevel-menu/esm2015/lib/constants.js deleted file mode 100644 index 523d08e..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/lib/constants.js +++ /dev/null @@ -1,16 +0,0 @@ -export const CONSTANT = { - PADDING_AT_START: true, - DEFAULT_CLASS_NAME: `amml-container`, - DEFAULT_LIST_CLASS_NAME: `amml-item`, - SELECTED_LIST_CLASS_NAME: `selected-amml-item`, - ACTIVE_ITEM_CLASS_NAME: `active-amml-item`, - DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`, - SUBMENU_ITEM_CLASS_NAME: `amml-submenu`, - HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`, - DEFAULT_SELECTED_FONT_COLOR: `#1976d2`, - DEFAULT_LIST_BACKGROUND_COLOR: `transparent`, - DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`, - DEFAULT_HREF_TARGET_TYPE: '_self', - ERROR_MESSAGE: `Invalid data for material Multilevel List Component` -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvIiwic291cmNlcyI6WyJsaWIvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyx1QkFBdUIsRUFBRSxXQUFXO0lBQ3BDLHdCQUF3QixFQUFFLG9CQUFvQjtJQUM5QyxzQkFBc0IsRUFBRSxrQkFBa0I7SUFDMUMsd0JBQXdCLEVBQUUsb0JBQW9CO0lBQzlDLHVCQUF1QixFQUFFLGNBQWM7SUFDdkMsMkJBQTJCLEVBQUUsa0JBQWtCO0lBQy9DLDJCQUEyQixFQUFFLFNBQVM7SUFDdEMsNkJBQTZCLEVBQUUsYUFBYTtJQUM1Qyx1QkFBdUIsRUFBRSxpQkFBaUI7SUFDMUMsd0JBQXdCLEVBQUUsT0FBTztJQUNqQyxhQUFhLEVBQUUscURBQXFEO0NBQ3ZFLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09OU1RBTlQgPSB7XG4gICAgUEFERElOR19BVF9TVEFSVDogdHJ1ZSxcbiAgICBERUZBVUxUX0NMQVNTX05BTUU6IGBhbW1sLWNvbnRhaW5lcmAsXG4gICAgREVGQVVMVF9MSVNUX0NMQVNTX05BTUU6IGBhbW1sLWl0ZW1gLFxuICAgIFNFTEVDVEVEX0xJU1RfQ0xBU1NfTkFNRTogYHNlbGVjdGVkLWFtbWwtaXRlbWAsXG4gICAgQUNUSVZFX0lURU1fQ0xBU1NfTkFNRTogYGFjdGl2ZS1hbW1sLWl0ZW1gLFxuICAgIERJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRTogYGRpc2FibGVkLWFtbWwtaXRlbWAsXG4gICAgU1VCTUVOVV9JVEVNX0NMQVNTX05BTUU6IGBhbW1sLXN1Ym1lbnVgLFxuICAgIEhBU19TVUJNRU5VX0lURU1fQ0xBU1NfTkFNRTogYGhhcy1hbW1sLXN1Ym1lbnVgLFxuICAgIERFRkFVTFRfU0VMRUNURURfRk9OVF9DT0xPUjogYCMxOTc2ZDJgLFxuICAgIERFRkFVTFRfTElTVF9CQUNLR1JPVU5EX0NPTE9SOiBgdHJhbnNwYXJlbnRgLFxuICAgIERFRkFVTFRfTElTVF9GT05UX0NPTE9SOiBgcmdiYSgwLDAsMCwuODcpYCxcbiAgICBERUZBVUxUX0hSRUZfVEFSR0VUX1RZUEU6ICdfc2VsZicsXG4gICAgRVJST1JfTUVTU0FHRTogYEludmFsaWQgZGF0YSBmb3IgbWF0ZXJpYWwgTXVsdGlsZXZlbCBMaXN0IENvbXBvbmVudGBcbn07XG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/lib/list-item/list-item.component.js b/dist/ng-material-multilevel-menu/esm2015/lib/list-item/list-item.component.js deleted file mode 100644 index 54cae3e..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/lib/list-item/list-item.component.js +++ /dev/null @@ -1,216 +0,0 @@ -import { Component, Input, Output, EventEmitter, TemplateRef } from '@angular/core'; -import { Router } from '@angular/router'; -import { ExpandCollapseStatusEnum } from './../app.model'; -import { CONSTANT } from './../constants'; -import { MultilevelMenuService } from './../multilevel-menu.service'; -import { SlideInOut, ExpandedLTR, ExpandedRTL } from './../animation'; -export class ListItemComponent { - constructor(router, multilevelMenuService) { - this.router = router; - this.multilevelMenuService = multilevelMenuService; - this.level = 1; - this.submenuLevel = 0; - this.nodeConfiguration = null; - this.nodeExpandCollapseStatus = null; - this.listTemplate = null; - this.selectedItem = new EventEmitter(); - this.isSelected = false; - this.expanded = false; - this.firstInitializer = false; - this.selectedListClasses = { - [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, - [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, - [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, - }; - } - ngOnChanges() { - this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; - this.node.hasChilden = this.hasItems(); - if (this.selectedNode !== undefined && this.selectedNode !== null) { - this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); - } - this.setExpandCollapseStatus(); - } - ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; - if (this.node.faIcon !== null && - this.node.faIcon !== undefined && - this.node.faIcon.match(/\bfa\w(?!-)/) === null) { - this.node.faIcon = `fas ${this.node.faIcon}`; - } - this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; - if (typeof this.node.expanded === 'boolean') { - this.expanded = this.node.expanded; - } - this.setClasses(); - } - setSelectedClass(isFound) { - if (isFound) { - if (!this.firstInitializer) { - this.expanded = true; - } - this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined ? true : false; - } - else { - this.isSelected = false; - if (this.nodeConfiguration.collapseOnSelect) { - this.node.expanded = false; - this.expanded = false; - } - } - this.selectedListClasses = { - [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, - [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected, - [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id, - [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled, - [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true, - }; - this.node.isSelected = this.isSelected; - this.setClasses(); - } - getPaddingAtStart() { - return this.nodeConfiguration.paddingAtStart ? true : false; - } - getListStyle() { - const styles = { - background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, - color: CONSTANT.DEFAULT_LIST_FONT_COLOR - }; - if (this.nodeConfiguration.listBackgroundColor !== null) { - styles.background = this.nodeConfiguration.listBackgroundColor; - } - if (this.isSelected) { - this.nodeConfiguration.selectedListFontColor !== null ? - styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; - } - else if (this.nodeConfiguration.fontColor !== null) { - styles.color = this.nodeConfiguration.fontColor; - } - return styles; - } - getListIcon(node) { - if (node.icon !== null && node.icon !== undefined && node.icon !== '') { - return `icon`; - } - else if (node.faIcon !== null && node.faIcon !== undefined && node.faIcon !== '') { - return `faicon`; - } - else if (node.imageIcon !== null && node.imageIcon !== undefined && node.imageIcon !== '') { - return `imageicon`; - } - else if (node.svgIcon !== null && node.svgIcon !== undefined && node.svgIcon !== '') { - return `svgicon`; - } - else { - return ``; - } - } - getSelectedSvgIcon() { - if (this.isSelected && this.node.activeSvgIcon) { - return this.node.activeSvgIcon; - } - return this.node.svgIcon; - } - getSelectedIcon() { - if (this.isSelected && this.node.activeIcon) { - return this.node.activeIcon; - } - return this.node.icon; - } - getSelectedFaIcon() { - if (this.isSelected && this.node.activeFaIcon) { - return this.node.activeFaIcon; - } - return this.node.faIcon; - } - getSelectedImageIcon() { - if (this.isSelected && this.node.activeImageIcon) { - return this.node.activeImageIcon; - } - return this.node.imageIcon; - } - getHrefTargetType() { - if (this.node.hrefTargetType) { - return this.node.hrefTargetType; - } - return CONSTANT.DEFAULT_HREF_TARGET_TYPE; - } - hasItems() { - return this.nodeChildren.length > 0 ? true : false; - } - isRtlLayout() { - return this.nodeConfiguration.rtlLayout; - } - setClasses() { - this.classes = { - [`level-${this.level + 1}`]: true, - [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), - [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() - }; - } - setExpandCollapseStatus() { - if (this.nodeExpandCollapseStatus !== null && this.nodeExpandCollapseStatus !== undefined) { - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { - this.expanded = true; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = true; - } - } - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { - this.expanded = false; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = false; - } - } - } - } - expand(node) { - if (node.disabled) { - return; - } - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - this.expanded = !this.expanded; - this.node.expanded = this.expanded; - this.firstInitializer = true; - this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null - && this.nodeConfiguration.interfaceWithRoute - && node.link !== undefined - && node.link) { - this.router.navigate([node.link], node.navigationExtras); - } - else if (node.onSelected && typeof node.onSelected === 'function') { - node.onSelected(node); - this.selectedListItem(node); - } - else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { - this.selectedListItem(node); - } - } - selectedListItem(node) { - this.selectedItem.emit(node); - } -} -ListItemComponent.decorators = [ - { type: Component, args: [{ - selector: 'ng-list-item', - template: "
\n \n
\n \n
\n \n\n \n
\n \n \n
\n
\n\n\n\n\n \n \n \n \n\n\n\n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
\n \n \n \n \n {{getSelectedIcon()}}\n \n \n \n \"{{node.label}}\"\n
\n {{node.label}}\n
\n
\n \n keyboard_arrow_down\n \n \n keyboard_arrow_down\n \n
\n
", - animations: [SlideInOut, ExpandedLTR, ExpandedRTL], - styles: [".amml-item{cursor:pointer;position:relative}.anml-link{color:inherit;text-decoration:none;text-transform:capitalize}.anml-data,.anml-link{display:flex;justify-content:flex-start;width:100%}.anml-data{height:48px}.disabled-amml-item{opacity:.5;pointer-events:none;text-decoration:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{font-weight:400;line-height:48px}.amml-svg-icon{height:22px;margin-top:-12px;width:22px}.amml-icon-arrow-container{align-items:center;direction:ltr;display:flex}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=ltr].amml-submenu,div[dir=rtl] .amml-icon{margin-left:16px}div[dir=rtl].amml-submenu{margin-right:16px}"] - },] } -]; -ListItemComponent.ctorParameters = () => [ - { type: Router }, - { type: MultilevelMenuService } -]; -ListItemComponent.propDecorators = { - node: [{ type: Input }], - level: [{ type: Input }], - submenuLevel: [{ type: Input }], - selectedNode: [{ type: Input }], - nodeConfiguration: [{ type: Input }], - nodeExpandCollapseStatus: [{ type: Input }], - listTemplate: [{ type: Input }], - selectedItem: [{ type: Output }] -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjLyIsInNvdXJjZXMiOlsibGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFxQixNQUFNLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUNuSCxPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUE2Qyx3QkFBd0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ3JHLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUMxQyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw4QkFBOEIsQ0FBQztBQUNyRSxPQUFPLEVBQUUsVUFBVSxFQUFFLFdBQVcsRUFBRSxXQUFXLEVBQUcsTUFBTSxnQkFBZ0IsQ0FBQztBQU92RSxNQUFNLE9BQU8saUJBQWlCO0lBbUI1QixZQUNVLE1BQWMsRUFDZixxQkFBNEM7UUFEM0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUFuQjVDLFVBQUssR0FBRyxDQUFDLENBQUM7UUFDVixpQkFBWSxHQUFHLENBQUMsQ0FBQztRQUVqQixzQkFBaUIsR0FBa0IsSUFBSSxDQUFDO1FBQ3hDLDZCQUF3QixHQUE2QixJQUFJLENBQUM7UUFDMUQsaUJBQVksR0FBNEIsSUFBSSxDQUFDO1FBRTVDLGlCQUFZLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFFN0QsZUFBVSxHQUFHLEtBQUssQ0FBQztRQUNuQixhQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ2pCLHFCQUFnQixHQUFHLEtBQUssQ0FBQztRQVV2QixJQUFJLENBQUMsbUJBQW1CLEdBQUc7WUFDekIsQ0FBQyxRQUFRLENBQUMsdUJBQXVCLENBQUMsRUFBRSxJQUFJO1lBQ3hDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDLEVBQUUsS0FBSztZQUMxQyxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLEtBQUs7U0FDekMsQ0FBQztJQUNKLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFlBQVksR0FBRyxJQUFJLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDO1FBQy9GLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxRQUFRLEVBQUUsQ0FBQztRQUV2QyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxZQUFZLEtBQUssSUFBSSxFQUFFO1lBQ2pFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMscUJBQXFCLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUM7U0FDckc7UUFDRCxJQUFJLENBQUMsdUJBQXVCLEVBQUUsQ0FBQztJQUNqQyxDQUFDO0lBQ0QsUUFBUTtRQUNOLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUVqRixJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUk7WUFDM0IsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEtBQUssU0FBUztZQUM5QixJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLEtBQUssSUFBSSxFQUFFO1lBQ2hELElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxHQUFHLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsQ0FBQztTQUM5QztRQUVELElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxTQUFTLElBQUksQ0FBQyxLQUFLLGlCQUFpQixJQUFJLENBQUMsWUFBWSxFQUFFLENBQUMsR0FBRyxJQUFJLENBQUM7UUFDekYsSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxLQUFLLFNBQVMsRUFBRTtZQUMzQyxJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDO1NBQ3BDO1FBQ0QsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxPQUFnQjtRQUMvQixJQUFJLE9BQU8sRUFBRTtZQUNYLElBQUksQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2FBQ3RCO1lBQ0QsSUFBSSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsaUJBQWlCLElBQUksSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLEtBQUssU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQztTQUNwSDthQUFNO1lBQ0wsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7WUFDeEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUU7Z0JBQzNDLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDM0IsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7YUFDdkI7U0FDRjtRQUNELElBQUksQ0FBQyxtQkFBbUIsR0FBRztZQUN6QixDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLElBQUk7WUFDeEMsQ0FBQyxRQUFRLENBQUMsd0JBQXdCLENBQUMsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUNwRCxDQUFDLFFBQVEsQ0FBQyxzQkFBc0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsRUFBRSxLQUFLLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUN4RSxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQyxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUTtZQUN2RCxDQUFDLFNBQVMsSUFBSSxDQUFDLEtBQUssaUJBQWlCLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQyxFQUFFLElBQUk7U0FDaEUsQ0FBQztRQUNGLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUM7UUFDdkMsSUFBSSxDQUFDLFVBQVUsRUFBRSxDQUFDO0lBQ3BCLENBQUM7SUFDRCxpQkFBaUI7UUFDZixPQUFPLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQzlELENBQUM7SUFDRCxZQUFZO1FBQ1YsTUFBTSxNQUFNLEdBQUc7WUFDYixVQUFVLEVBQUUsUUFBUSxDQUFDLDZCQUE2QjtZQUNsRCxLQUFLLEVBQUUsUUFBUSxDQUFDLHVCQUF1QjtTQUN4QyxDQUFDO1FBQ0YsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsbUJBQW1CLEtBQUssSUFBSSxFQUFFO1lBQ3ZELE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLG1CQUFtQixDQUFDO1NBQ2hFO1FBQ0QsSUFBSSxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQ25CLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxxQkFBcUIsS0FBSyxJQUFJLENBQUMsQ0FBQztnQkFDckQsTUFBTSxDQUFDLEtBQUssR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMscUJBQXFCLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDLDJCQUEyQixDQUFDO1NBQ3JIO2FBQU0sSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxLQUFLLElBQUksRUFBRTtZQUNwRCxNQUFNLENBQUMsS0FBSyxHQUFHLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUM7U0FDakQ7UUFDRCxPQUFPLE1BQU0sQ0FBQztJQUNoQixDQUFDO0lBQ0QsV0FBVyxDQUFDLElBQXFCO1FBQy9CLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxFQUFFLEVBQUU7WUFDckUsT0FBTyxNQUFNLENBQUM7U0FDZjthQUFNLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxJQUFJLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxTQUFTLElBQUksSUFBSSxDQUFDLE1BQU0sS0FBSyxFQUFFLEVBQUU7WUFDbEYsT0FBTyxRQUFRLENBQUM7U0FDakI7YUFBTSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxTQUFTLEtBQUssRUFBRSxFQUFFO1lBQzNGLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsT0FBTyxLQUFLLEVBQUUsRUFBRTtZQUNyRixPQUFPLFNBQVMsQ0FBQztTQUNsQjthQUFNO1lBQ0wsT0FBTyxFQUFFLENBQUM7U0FDWDtJQUNILENBQUM7SUFDRCxrQkFBa0I7UUFDaEIsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO1lBQzlDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDaEM7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDO0lBQzNCLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxFQUFFO1lBQzNDLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUM7U0FDN0I7UUFDRCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO0lBQ3hCLENBQUM7SUFDRCxpQkFBaUI7UUFDZixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLEVBQUU7WUFDN0MsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQztTQUMvQjtRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDMUIsQ0FBQztJQUNELG9CQUFvQjtRQUNsQixJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLEVBQUU7WUFDaEQsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQztTQUNsQztRQUNELE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUM7SUFDN0IsQ0FBQztJQUNELGlCQUFpQjtRQUNmLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLEVBQUU7WUFDNUIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQztTQUNqQztRQUNELE9BQU8sUUFBUSxDQUFDLHdCQUF3QixDQUFDO0lBQzNDLENBQUM7SUFDRCxRQUFRO1FBQ04sT0FBTyxJQUFJLENBQUMsWUFBWSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsS0FBSyxDQUFDO0lBQ3JELENBQUM7SUFDRCxXQUFXO1FBQ1QsT0FBTyxJQUFJLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDO0lBQzFDLENBQUM7SUFDRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLE9BQU8sR0FBRztZQUNiLENBQUMsU0FBUyxJQUFJLENBQUMsS0FBSyxHQUFHLENBQUMsRUFBRSxDQUFDLEVBQUUsSUFBSTtZQUNqQyxDQUFDLFFBQVEsQ0FBQyx1QkFBdUIsQ0FBQyxFQUFFLElBQUksQ0FBQyxRQUFRLEVBQUUsSUFBSSxJQUFJLENBQUMsaUJBQWlCLEVBQUU7WUFDL0UsQ0FBQyxRQUFRLENBQUMsMkJBQTJCLENBQUMsRUFBRSxJQUFJLENBQUMsUUFBUSxFQUFFO1NBQ3hELENBQUM7SUFDSixDQUFDO0lBQ0QsdUJBQXVCO1FBQ3JCLElBQUksSUFBSSxDQUFDLHdCQUF3QixLQUFLLElBQUksSUFBSSxJQUFJLENBQUMsd0JBQXdCLEtBQUssU0FBUyxFQUFHO1lBQzFGLElBQUksSUFBSSxDQUFDLHdCQUF3QixLQUFLLHdCQUF3QixDQUFDLE1BQU0sRUFBRTtnQkFDckUsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7Z0JBQ3JCLElBQUksSUFBSSxDQUFDLGlCQUFpQixDQUFDLGNBQWMsRUFBRTtvQkFDekMsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDO2lCQUMzQjthQUNGO1lBQ0QsSUFBSSxJQUFJLENBQUMsd0JBQXdCLEtBQUssd0JBQXdCLENBQUMsUUFBUSxFQUFFO2dCQUN2RSxJQUFJLENBQUMsUUFBUSxHQUFHLEtBQUssQ0FBQztnQkFDdEIsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsY0FBYyxFQUFFO29CQUN6QyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsR0FBRyxLQUFLLENBQUM7aUJBQzVCO2FBQ0Y7U0FDRjtJQUNILENBQUM7SUFDRCxNQUFNLENBQUMsSUFBcUI7UUFDMUIsSUFBSSxJQUFJLENBQUMsUUFBUSxFQUFFO1lBQ2pCLE9BQU87U0FDUjtRQUNELElBQUksQ0FBQyx3QkFBd0IsR0FBRyx3QkFBd0IsQ0FBQyxPQUFPLENBQUM7UUFDakUsSUFBSSxDQUFDLFFBQVEsR0FBRyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUM7UUFDL0IsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQztRQUNwQyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1FBQzdCLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQztRQUNsQixJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0IsS0FBSyxJQUFJO2VBQ2pELElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxrQkFBa0I7ZUFDekMsSUFBSSxDQUFDLElBQUksS0FBSyxTQUFTO2VBQ3ZCLElBQUksQ0FBQyxJQUFJLEVBQ1o7WUFDQSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsRUFBRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsQ0FBQztTQUMxRDthQUFNLElBQUksSUFBSSxDQUFDLFVBQVUsSUFBSSxPQUFPLElBQUksQ0FBQyxVQUFVLEtBQUssVUFBVSxFQUFFO1lBQ25FLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDdEIsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO2FBQU0sSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUU7WUFDOUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQzdCO0lBQ0gsQ0FBQztJQUNELGdCQUFnQixDQUFDLElBQXFCO1FBQ3BDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQy9CLENBQUM7OztZQXJNRixTQUFTLFNBQUM7Z0JBQ1QsUUFBUSxFQUFFLGNBQWM7Z0JBQ3hCLDZpSEFBeUM7Z0JBRXpDLFVBQVUsRUFBRSxDQUFDLFVBQVUsRUFBRSxXQUFXLEVBQUUsV0FBVyxDQUFDOzthQUNuRDs7O1lBWFEsTUFBTTtZQUlOLHFCQUFxQjs7O21CQVMzQixLQUFLO29CQUNMLEtBQUs7MkJBQ0wsS0FBSzsyQkFDTCxLQUFLO2dDQUNMLEtBQUs7dUNBQ0wsS0FBSzsyQkFDTCxLQUFLOzJCQUVMLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkNoYW5nZXMsIE9uSW5pdCwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIFRlbXBsYXRlUmVmLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBDb25maWd1cmF0aW9uLCBMaXN0U3R5bGUsIE11bHRpbGV2ZWxOb2RlcywgRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtIH0gZnJvbSAnLi8uLi9hcHAubW9kZWwnO1xuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tICcuLy4uL2NvbnN0YW50cyc7XG5pbXBvcnQgeyBNdWx0aWxldmVsTWVudVNlcnZpY2UgfSBmcm9tICcuLy4uL211bHRpbGV2ZWwtbWVudS5zZXJ2aWNlJztcbmltcG9ydCB7IFNsaWRlSW5PdXQsIEV4cGFuZGVkTFRSLCBFeHBhbmRlZFJUTCAgfSBmcm9tICcuLy4uL2FuaW1hdGlvbic7XG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1saXN0LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5jc3MnXSxcbiAgYW5pbWF0aW9uczogW1NsaWRlSW5PdXQsIEV4cGFuZGVkTFRSLCBFeHBhbmRlZFJUTF1cbn0pXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XG4gIEBJbnB1dCgpIG5vZGU6IE11bHRpbGV2ZWxOb2RlcztcbiAgQElucHV0KCkgbGV2ZWwgPSAxO1xuICBASW5wdXQoKSBzdWJtZW51TGV2ZWwgPSAwO1xuICBASW5wdXQoKSBzZWxlY3RlZE5vZGU6IE11bHRpbGV2ZWxOb2RlcztcbiAgQElucHV0KCkgbm9kZUNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24gPSBudWxsO1xuICBASW5wdXQoKSBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IG51bGw7XG4gIEBJbnB1dCgpIGxpc3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj4gPSBudWxsO1xuXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2Rlcz4oKTtcblxuICBpc1NlbGVjdGVkID0gZmFsc2U7XG4gIGV4cGFuZGVkID0gZmFsc2U7XG4gIGZpcnN0SW5pdGlhbGl6ZXIgPSBmYWxzZTtcblxuICBub2RlQ2hpbGRyZW46IE11bHRpbGV2ZWxOb2Rlc1tdO1xuICBjbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xuICBzZWxlY3RlZExpc3RDbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHVibGljIG11bHRpbGV2ZWxNZW51U2VydmljZTogTXVsdGlsZXZlbE1lbnVTZXJ2aWNlXG4gICkge1xuICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3NlcyA9IHtcbiAgICAgIFtDT05TVEFOVC5ERUZBVUxUX0xJU1RfQ0xBU1NfTkFNRV06IHRydWUsXG4gICAgICBbQ09OU1RBTlQuU0VMRUNURURfTElTVF9DTEFTU19OQU1FXTogZmFsc2UsXG4gICAgICBbQ09OU1RBTlQuQUNUSVZFX0lURU1fQ0xBU1NfTkFNRV06IGZhbHNlLFxuICAgIH07XG4gIH1cbiAgbmdPbkNoYW5nZXMoKSB7XG4gICAgdGhpcy5ub2RlQ2hpbGRyZW4gPSB0aGlzLm5vZGUgJiYgdGhpcy5ub2RlLml0ZW1zID8gdGhpcy5ub2RlLml0ZW1zLmZpbHRlcihuID0+ICFuLmhpZGRlbikgOiBbXTtcbiAgICB0aGlzLm5vZGUuaGFzQ2hpbGRlbiA9IHRoaXMuaGFzSXRlbXMoKTtcblxuICAgIGlmICh0aGlzLnNlbGVjdGVkTm9kZSAhPT0gdW5kZWZpbmVkICYmIHRoaXMuc2VsZWN0ZWROb2RlICE9PSBudWxsKSB7XG4gICAgICB0aGlzLnNldFNlbGVjdGVkQ2xhc3ModGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UucmVjdXJzaXZlQ2hlY2tJZCh0aGlzLm5vZGUsIHRoaXMuc2VsZWN0ZWROb2RlLmlkKSk7XG4gICAgfVxuICAgIHRoaXMuc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTtcbiAgfVxuICBuZ09uSW5pdCgpIHtcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXNbQ09OU1RBTlQuRElTQUJMRURfSVRFTV9DTEFTU19OQU1FXSA9IHRoaXMubm9kZS5kaXNhYmxlZDtcblxuICAgIGlmICh0aGlzLm5vZGUuZmFJY29uICE9PSBudWxsICYmXG4gICAgICB0aGlzLm5vZGUuZmFJY29uICE9PSB1bmRlZmluZWQgJiZcbiAgICAgIHRoaXMubm9kZS5mYUljb24ubWF0Y2goL1xcYmZhXFx3KD8hLSkvKSA9PT0gbnVsbCkge1xuICAgICAgdGhpcy5ub2RlLmZhSWNvbiA9IGBmYXMgJHt0aGlzLm5vZGUuZmFJY29ufWA7XG4gICAgfVxuXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzW2BsZXZlbC0ke3RoaXMubGV2ZWx9LXN1Ym1lbnVsZXZlbC0ke3RoaXMuc3VibWVudUxldmVsfWBdID0gdHJ1ZTtcbiAgICBpZiAodHlwZW9mIHRoaXMubm9kZS5leHBhbmRlZCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICB0aGlzLmV4cGFuZGVkID0gdGhpcy5ub2RlLmV4cGFuZGVkO1xuICAgIH1cbiAgICB0aGlzLnNldENsYXNzZXMoKTtcbiAgfVxuICBzZXRTZWxlY3RlZENsYXNzKGlzRm91bmQ6IGJvb2xlYW4pOiB2b2lkIHtcbiAgICBpZiAoaXNGb3VuZCkge1xuICAgICAgaWYgKCF0aGlzLmZpcnN0SW5pdGlhbGl6ZXIpIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG4gICAgICB9XG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmhpZ2hsaWdodE9uU2VsZWN0IHx8IHRoaXMuc2VsZWN0ZWROb2RlLml0ZW1zID09PSB1bmRlZmluZWQgPyB0cnVlIDogZmFsc2U7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xuICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY29sbGFwc2VPblNlbGVjdCkge1xuICAgICAgICB0aGlzLm5vZGUuZXhwYW5kZWQgPSBmYWxzZTtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgfVxuICAgIH1cbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXMgPSB7XG4gICAgICBbQ09OU1RBTlQuREVGQVVMVF9MSVNUX0NMQVNTX05BTUVdOiB0cnVlLFxuICAgICAgW0NPTlNUQU5ULlNFTEVDVEVEX0xJU1RfQ0xBU1NfTkFNRV06IHRoaXMuaXNTZWxlY3RlZCxcbiAgICAgIFtDT05TVEFOVC5BQ1RJVkVfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5zZWxlY3RlZE5vZGUuaWQgPT09IHRoaXMubm9kZS5pZCxcbiAgICAgIFtDT05TVEFOVC5ESVNBQkxFRF9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLm5vZGUuZGlzYWJsZWQsXG4gICAgICBbYGxldmVsLSR7dGhpcy5sZXZlbH0tc3VibWVudWxldmVsLSR7dGhpcy5zdWJtZW51TGV2ZWx9YF06IHRydWUsXG4gICAgfTtcbiAgICB0aGlzLm5vZGUuaXNTZWxlY3RlZCA9IHRoaXMuaXNTZWxlY3RlZDtcbiAgICB0aGlzLnNldENsYXNzZXMoKTtcbiAgfVxuICBnZXRQYWRkaW5nQXRTdGFydCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5wYWRkaW5nQXRTdGFydCA/IHRydWUgOiBmYWxzZTtcbiAgfVxuICBnZXRMaXN0U3R5bGUoKTogTGlzdFN0eWxlIHtcbiAgICBjb25zdCBzdHlsZXMgPSB7XG4gICAgICBiYWNrZ3JvdW5kOiBDT05TVEFOVC5ERUZBVUxUX0xJU1RfQkFDS0dST1VORF9DT0xPUixcbiAgICAgIGNvbG9yOiBDT05TVEFOVC5ERUZBVUxUX0xJU1RfRk9OVF9DT0xPUlxuICAgIH07XG4gICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ubGlzdEJhY2tncm91bmRDb2xvciAhPT0gbnVsbCkge1xuICAgICAgc3R5bGVzLmJhY2tncm91bmQgPSB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmxpc3RCYWNrZ3JvdW5kQ29sb3I7XG4gICAgfVxuICAgIGlmICh0aGlzLmlzU2VsZWN0ZWQpIHtcbiAgICAgIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uc2VsZWN0ZWRMaXN0Rm9udENvbG9yICE9PSBudWxsID9cbiAgICAgICAgc3R5bGVzLmNvbG9yID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5zZWxlY3RlZExpc3RGb250Q29sb3IgOiBzdHlsZXMuY29sb3IgPSBDT05TVEFOVC5ERUZBVUxUX1NFTEVDVEVEX0ZPTlRfQ09MT1I7XG4gICAgfSBlbHNlIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmZvbnRDb2xvciAhPT0gbnVsbCkge1xuICAgICAgc3R5bGVzLmNvbG9yID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5mb250Q29sb3I7XG4gICAgfVxuICAgIHJldHVybiBzdHlsZXM7XG4gIH1cbiAgZ2V0TGlzdEljb24obm9kZTogTXVsdGlsZXZlbE5vZGVzKTogc3RyaW5nIHtcbiAgICBpZiAobm9kZS5pY29uICE9PSBudWxsICYmIG5vZGUuaWNvbiAhPT0gdW5kZWZpbmVkICYmIG5vZGUuaWNvbiAhPT0gJycpIHtcbiAgICAgIHJldHVybiBgaWNvbmA7XG4gICAgfSBlbHNlIGlmIChub2RlLmZhSWNvbiAhPT0gbnVsbCAmJiBub2RlLmZhSWNvbiAhPT0gdW5kZWZpbmVkICYmIG5vZGUuZmFJY29uICE9PSAnJykge1xuICAgICAgcmV0dXJuIGBmYWljb25gO1xuICAgIH0gZWxzZSBpZiAobm9kZS5pbWFnZUljb24gIT09IG51bGwgJiYgbm9kZS5pbWFnZUljb24gIT09IHVuZGVmaW5lZCAmJiBub2RlLmltYWdlSWNvbiAhPT0gJycpIHtcbiAgICAgIHJldHVybiBgaW1hZ2VpY29uYDtcbiAgICB9IGVsc2UgaWYgKG5vZGUuc3ZnSWNvbiAhPT0gbnVsbCAmJiBub2RlLnN2Z0ljb24gIT09IHVuZGVmaW5lZCAmJiBub2RlLnN2Z0ljb24gIT09ICcnKSB7XG4gICAgICByZXR1cm4gYHN2Z2ljb25gO1xuICAgIH0gZWxzZSB7XG4gICAgICByZXR1cm4gYGA7XG4gICAgfVxuICB9XG4gIGdldFNlbGVjdGVkU3ZnSWNvbigpIHtcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkICYmIHRoaXMubm9kZS5hY3RpdmVTdmdJY29uKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlLmFjdGl2ZVN2Z0ljb247XG4gICAgfVxuICAgIHJldHVybiB0aGlzLm5vZGUuc3ZnSWNvbjtcbiAgfVxuICBnZXRTZWxlY3RlZEljb24oKSB7XG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlSWNvbikge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZS5hY3RpdmVJY29uO1xuICAgIH1cbiAgICByZXR1cm4gdGhpcy5ub2RlLmljb247XG4gIH1cbiAgZ2V0U2VsZWN0ZWRGYUljb24oKSB7XG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlRmFJY29uKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlLmFjdGl2ZUZhSWNvbjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm9kZS5mYUljb247XG4gIH1cbiAgZ2V0U2VsZWN0ZWRJbWFnZUljb24oKSB7XG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlSW1hZ2VJY29uKSB7XG4gICAgICByZXR1cm4gdGhpcy5ub2RlLmFjdGl2ZUltYWdlSWNvbjtcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMubm9kZS5pbWFnZUljb247XG4gIH1cbiAgZ2V0SHJlZlRhcmdldFR5cGUoKSB7XG4gICAgaWYgKHRoaXMubm9kZS5ocmVmVGFyZ2V0VHlwZSkge1xuICAgICAgcmV0dXJuIHRoaXMubm9kZS5ocmVmVGFyZ2V0VHlwZTtcbiAgICB9XG4gICAgcmV0dXJuIENPTlNUQU5ULkRFRkFVTFRfSFJFRl9UQVJHRVRfVFlQRTtcbiAgfVxuICBoYXNJdGVtcygpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlQ2hpbGRyZW4ubGVuZ3RoID4gMCA/IHRydWUgOiBmYWxzZTtcbiAgfVxuICBpc1J0bExheW91dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5ydGxMYXlvdXQ7XG4gIH1cbiAgc2V0Q2xhc3NlcygpOiB2b2lkIHtcbiAgICB0aGlzLmNsYXNzZXMgPSB7XG4gICAgICBbYGxldmVsLSR7dGhpcy5sZXZlbCArIDF9YF06IHRydWUsXG4gICAgICBbQ09OU1RBTlQuU1VCTUVOVV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLmhhc0l0ZW1zKCkgJiYgdGhpcy5nZXRQYWRkaW5nQXRTdGFydCgpLFxuICAgICAgW0NPTlNUQU5ULkhBU19TVUJNRU5VX0lURU1fQ0xBU1NfTkFNRV06IHRoaXMuaGFzSXRlbXMoKVxuICAgIH07XG4gIH1cbiAgc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTogdm9pZCB7XG4gICAgaWYgKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzICE9PSBudWxsICYmIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzICE9PSB1bmRlZmluZWQgKSB7XG4gICAgICBpZiAodGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPT09IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5leHBhbmQpIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XG4gICAgICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmN1c3RvbVRlbXBsYXRlKSB7XG4gICAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdHJ1ZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID09PSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0uY29sbGFwc2UpIHtcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSkge1xuICAgICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGV4cGFuZChub2RlOiBNdWx0aWxldmVsTm9kZXMpOiB2b2lkIHtcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcbiAgICB0aGlzLm5vZGUuZXhwYW5kZWQgPSAgdGhpcy5leHBhbmRlZDtcbiAgICB0aGlzLmZpcnN0SW5pdGlhbGl6ZXIgPSB0cnVlO1xuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xuICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmludGVyZmFjZVdpdGhSb3V0ZSAhPT0gbnVsbFxuICAgICAgJiYgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGVcbiAgICAgICYmIG5vZGUubGluayAhPT0gdW5kZWZpbmVkXG4gICAgICAmJiBub2RlLmxpbmtcbiAgICApIHtcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtub2RlLmxpbmtdLCBub2RlLm5hdmlnYXRpb25FeHRyYXMpO1xuICAgIH0gZWxzZSBpZiAobm9kZS5vblNlbGVjdGVkICYmIHR5cGVvZiBub2RlLm9uU2VsZWN0ZWQgPT09ICdmdW5jdGlvbicpIHtcbiAgICAgIG5vZGUub25TZWxlY3RlZChub2RlKTtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShub2RlKTtcbiAgICB9IGVsc2UgaWYgKG5vZGUuaXRlbXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmNvbGxhcHNlT25TZWxlY3QpIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShub2RlKTtcbiAgICB9XG4gIH1cbiAgc2VsZWN0ZWRMaXN0SXRlbShub2RlOiBNdWx0aWxldmVsTm9kZXMpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdGVkSXRlbS5lbWl0KG5vZGUpO1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/lib/materials.module.js b/dist/ng-material-multilevel-menu/esm2015/lib/materials.module.js deleted file mode 100644 index 88d8a2b..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/lib/materials.module.js +++ /dev/null @@ -1,22 +0,0 @@ -import { NgModule } from '@angular/core'; -import { MatRippleModule } from '@angular/material/core'; -import { MatIconModule } from '@angular/material/icon'; -import { MatListModule } from '@angular/material/list'; -export class MaterialsModule { -} -MaterialsModule.decorators = [ - { type: NgModule, args: [{ - imports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ], - declarations: [], - exports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ] - },] } -]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjLyIsInNvdXJjZXMiOlsibGliL21hdGVyaWFscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQWV2RCxNQUFNLE9BQU8sZUFBZTs7O1lBYjNCLFFBQVEsU0FBQztnQkFDUixPQUFPLEVBQUU7b0JBQ1AsYUFBYTtvQkFDYixhQUFhO29CQUNiLGVBQWU7aUJBQ2hCO2dCQUNELFlBQVksRUFBRSxFQUFFO2dCQUNoQixPQUFPLEVBQUU7b0JBQ1AsYUFBYTtvQkFDYixhQUFhO29CQUNiLGVBQWU7aUJBQ2hCO2FBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdExpc3RNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9saXN0JztcblxuQE5nTW9kdWxlKHtcbiAgaW1wb3J0czogW1xuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTWF0TGlzdE1vZHVsZSxcbiAgICBNYXRSaXBwbGVNb2R1bGUsXG4gIF0sXG4gIGRlY2xhcmF0aW9uczogW10sXG4gIGV4cG9ydHM6IFtcbiAgICBNYXRJY29uTW9kdWxlLFxuICAgIE1hdExpc3RNb2R1bGUsXG4gICAgTWF0UmlwcGxlTW9kdWxlLFxuICBdXG59KVxuZXhwb3J0IGNsYXNzIE1hdGVyaWFsc01vZHVsZSB7IH1cbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/lib/multilevel-menu.service.js b/dist/ng-material-multilevel-menu/esm2015/lib/multilevel-menu.service.js deleted file mode 100644 index 391fc51..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/lib/multilevel-menu.service.js +++ /dev/null @@ -1,83 +0,0 @@ -import { Subject } from 'rxjs'; -import { ExpandCollapseStatusEnum } from './app.model'; -export class MultilevelMenuService { - constructor() { - this.expandCollapseStatus = new Subject(); - this.expandCollapseStatus$ = this.expandCollapseStatus.asObservable(); - this.selectedMenuID = new Subject(); - this.selectedMenuID$ = this.selectedMenuID.asObservable(); - } - generateId() { - let text = ''; - const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - for (let i = 0; i < 20; i++) { - text += possible.charAt(Math.floor(Math.random() * possible.length)); - } - return text; - } - addRandomId(nodes) { - nodes.forEach((node) => { - node.id = this.generateId(); - if (node.items !== undefined) { - this.addRandomId(node.items); - } - }); - } - recursiveCheckId(node, nodeId) { - if (node.id === nodeId) { - return true; - } - else { - if (node.items !== undefined) { - return node.items.some((nestedNode) => { - return this.recursiveCheckId(nestedNode, nodeId); - }); - } - } - } - findNodeRecursively({ nodes, link, id }) { - for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { - const node = nodes[nodeIndex]; - for (const key in node) { - if (node.hasOwnProperty(key)) { - if (encodeURI(node.link) === link) { - this.foundLinkObject = node; - } - else if (node.id === id) { - this.foundLinkObject = node; - } - else { - if (node.items !== undefined) { - this.findNodeRecursively({ - nodes: node.items, - link: link ? link : null, - id: id ? id : null - }); - } - } - } - } - } - } - getMatchedObjectByUrl(nodes, link) { - this.findNodeRecursively({ nodes, link }); - return this.foundLinkObject; - } - getMatchedObjectById(nodes, id) { - this.findNodeRecursively({ nodes, id }); - return this.foundLinkObject; - } - // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function - // https://angular.io/api/common/KeyValuePipe#description - kvDummyComparerFn() { - return 0; - } - setMenuExapandCollpaseStatus(status) { - this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral); - } - selectMenuByID(menuID) { - this.selectedMenuID.next(menuID); - return this.foundLinkObject; - } -} -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsZXZlbC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy8iLCJzb3VyY2VzIjpbImxpYi9tdWx0aWxldmVsLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFDQSxPQUFPLEVBQWMsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTNDLE9BQU8sRUFBbUIsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEUsTUFBTSxPQUFPLHFCQUFxQjtJQUFsQztRQUVFLHlCQUFvQixHQUFzQyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztRQUNsRywwQkFBcUIsR0FBeUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBRXZHLG1CQUFjLEdBQW9CLElBQUksT0FBTyxFQUFVLENBQUM7UUFDeEQsb0JBQWUsR0FBdUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLEVBQUUsQ0FBQztJQXVFM0UsQ0FBQztJQXJFUyxVQUFVO1FBQ2hCLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLE1BQU0sUUFBUSxHQUFHLGdFQUFnRSxDQUFDO1FBQ2xGLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDM0IsSUFBSSxJQUFJLFFBQVEsQ0FBQyxNQUFNLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsTUFBTSxFQUFFLEdBQUcsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDdEU7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBd0I7UUFDbEMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQXFCLEVBQUUsRUFBRTtZQUN0QyxJQUFJLENBQUMsRUFBRSxHQUFHLElBQUksQ0FBQyxVQUFVLEVB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OlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgU3ViamVjdCB9IGZyb20gJ3J4anMnO1xuXG5pbXBvcnQgeyBNdWx0aWxldmVsTm9kZXMsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4vYXBwLm1vZGVsJztcbmV4cG9ydCBjbGFzcyBNdWx0aWxldmVsTWVudVNlcnZpY2Uge1xuICBmb3VuZExpbmtPYmplY3Q6IE11bHRpbGV2ZWxOb2RlcztcbiAgZXhwYW5kQ29sbGFwc2VTdGF0dXM6IFN1YmplY3Q8RXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtPiA9IG5ldyBTdWJqZWN0PEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bT4oKTtcbiAgZXhwYW5kQ29sbGFwc2VTdGF0dXMkOiBPYnNlcnZhYmxlPEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bT4gPSB0aGlzLmV4cGFuZENvbGxhcHNlU3RhdHVzLmFzT2JzZXJ2YWJsZSgpO1xuXG4gIHNlbGVjdGVkTWVudUlEOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XG4gIHNlbGVjdGVkTWVudUlEJDogT2JzZXJ2YWJsZTxzdHJpbmc+ID0gdGhpcy5zZWxlY3RlZE1lbnVJRC5hc09ic2VydmFibGUoKTtcblxuICBwcml2YXRlIGdlbmVyYXRlSWQoKTogc3RyaW5nIHtcbiAgICBsZXQgdGV4dCA9ICcnO1xuICAgIGNvbnN0IHBvc3NpYmxlID0gJ0FCQ0RFRkdISUpLTE1OT1BRUlNUVVZXWFlaYWJjZGVmZ2hpamtsbW5vcHFyc3R1dnd4eXowMTIzNDU2Nzg5JztcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcbiAgICAgIHRleHQgKz0gcG9zc2libGUuY2hhckF0KE1hdGguZmxvb3IoTWF0aC5yYW5kb20oKSAqIHBvc3NpYmxlLmxlbmd0aCkpO1xuICAgIH1cbiAgICByZXR1cm4gdGV4dDtcbiAgfVxuICBhZGRSYW5kb21JZChub2RlczogTXVsdGlsZXZlbE5vZGVzW10pOiB2b2lkIHtcbiAgICBub2Rlcy5mb3JFYWNoKChub2RlOiBNdWx0aWxldmVsTm9kZXMpID0+IHtcbiAgICAgIG5vZGUuaWQgPSB0aGlzLmdlbmVyYXRlSWQoKTtcbiAgICAgIGlmIChub2RlLml0ZW1zICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5hZGRSYW5kb21JZChub2RlLml0ZW1zKTtcbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICByZWN1cnNpdmVDaGVja0lkKG5vZGU6IE11bHRpbGV2ZWxOb2Rlcywgbm9kZUlkOiBzdHJpbmcpOiBib29sZWFuIHtcbiAgICBpZiAobm9kZS5pZCA9PT0gbm9kZUlkKSB7XG4gICAgICByZXR1cm4gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKG5vZGUuaXRlbXMgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gbm9kZS5pdGVtcy5zb21lKChuZXN0ZWROb2RlOiBNdWx0aWxldmVsTm9kZXMpID0+IHtcbiAgICAgICAgICByZXR1cm4gdGhpcy5yZWN1cnNpdmVDaGVja0lkKG5lc3RlZE5vZGUsIG5vZGVJZCk7XG4gICAgICAgIH0pO1xuICAgICAgfVxuICAgIH1cbiAgfVxuICBwcml2YXRlIGZpbmROb2RlUmVjdXJzaXZlbHkoe25vZGVzLCBsaW5rLCBpZH06IHtub2RlczogTXVsdGlsZXZlbE5vZGVzW10sIGxpbms/OiBzdHJpbmcsIGlkPzogc3RyaW5nfSk6IHZvaWQge1xuICAgIGZvciAobGV0IG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IG5vZGVzLmxlbmd0aDsgbm9kZUluZGV4KyspIHtcbiAgICAgIGNvbnN0IG5vZGUgPSBub2Rlc1tub2RlSW5kZXhdO1xuICAgICAgZm9yIChjb25zdCBrZXkgaW4gbm9kZSkge1xuICAgICAgICBpZiAobm9kZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XG4gICAgICAgICAgaWYgKGVuY29kZVVSSShub2RlLmxpbmspID09PSBsaW5rKSB7XG4gICAgICAgICAgICB0aGlzLmZvdW5kTGlua09iamVjdCA9IG5vZGU7XG4gICAgICAgICAgfSBlbHNlIGlmIChub2RlLmlkID09PSBpZCkge1xuICAgICAgICAgICAgdGhpcy5mb3VuZExpbmtPYmplY3QgPSBub2RlO1xuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICBpZiAobm9kZS5pdGVtcyAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgICAgICAgIHRoaXMuZmluZE5vZGVSZWN1cnNpdmVseSh7XG4gICAgICAgICAgICAgICAgbm9kZXM6IG5vZGUuaXRlbXMsXG4gICAgICAgICAgICAgICAgbGluazogbGluayA/IGxpbmsgOiBudWxsLFxuICAgICAgICAgICAgICAgIGlkOiBpZCA/IGlkIDogbnVsbFxuICAgICAgICAgICAgICB9KTtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH1cbiAgZ2V0TWF0Y2hlZE9iamVjdEJ5VXJsKG5vZGVzOiBNdWx0aWxldmVsTm9kZXNbXSwgbGluazogc3RyaW5nKTogTXVsdGlsZXZlbE5vZGVzIHtcbiAgICB0aGlzLmZpbmROb2RlUmVjdXJzaXZlbHkoe25vZGVzLCBsaW5rfSk7XG4gICAgcmV0dXJuIHRoaXMuZm91bmRMaW5rT2JqZWN0O1xuICB9XG4gIGdldE1hdGNoZWRPYmplY3RCeUlkKG5vZGVzOiBNdWx0aWxldmVsTm9kZXNbXSwgaWQ6IHN0cmluZyk6IE11bHRpbGV2ZWxOb2RlcyB7XG4gICAgdGhpcy5maW5kTm9kZVJlY3Vyc2l2ZWx5KHtub2RlcywgaWR9KTtcbiAgICByZXR1cm4gdGhpcy5mb3VuZExpbmtPYmplY3Q7XG4gIH1cbiAgLy8gb3ZlcnJpZGVzIGtleS12YWx1ZSBwaXBlJ3MgZGVmYXVsdCByZW9yZGVyaW5nIChieSBrZXkpIGJ5IGltcGxlbWVudGluZyBkdW1teSBjb21wcmFyZXIgZnVuY3Rpb25cbiAgLy8gaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb21tb24vS2V5VmFsdWVQaXBlI2Rlc2NyaXB0aW9uXG4gIGt2RHVtbXlDb21wYXJlckZuKCkge1xuICAgIHJldHVybiAwO1xuICB9XG4gIHNldE1lbnVFeGFwYW5kQ29sbHBhc2VTdGF0dXMoc3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0pOiB2b2lkIHtcbiAgICB0aGlzLmV4cGFuZENvbGxhcHNlU3RhdHVzLm5leHQoc3RhdHVzID8gc3RhdHVzIDogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWwpO1xuICB9XG4gIHNlbGVjdE1lbnVCeUlEKG1lbnVJRDogc3RyaW5nKSB7XG4gICAgdGhpcy5zZWxlY3RlZE1lbnVJRC5uZXh0KG1lbnVJRCk7XG4gICAgcmV0dXJuIHRoaXMuZm91bmRMaW5rT2JqZWN0O1xuICB9XG59XG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/lib/ng-material-multilevel-menu.component.js b/dist/ng-material-multilevel-menu/esm2015/lib/ng-material-multilevel-menu.component.js deleted file mode 100644 index 76029bf..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/lib/ng-material-multilevel-menu.component.js +++ /dev/null @@ -1,220 +0,0 @@ -import { Component, Output, EventEmitter, Input, ContentChild, TemplateRef } from '@angular/core'; -import { NavigationEnd, Router } from '@angular/router'; -import { ExpandCollapseStatusEnum } from './app.model'; -import { CONSTANT } from './constants'; -import { MultilevelMenuService } from './multilevel-menu.service'; -export class NgMaterialMultilevelMenuComponent { - constructor(router, multilevelMenuService) { - this.router = router; - this.multilevelMenuService = multilevelMenuService; - this.configuration = null; - this.selectedItem = new EventEmitter(); - this.selectedLabel = new EventEmitter(); - this.menuIsReady = new EventEmitter(); - this.expandCollapseStatusSubscription = null; - this.selectMenuByIDSubscription = null; - this.currentNode = null; - this.nodeConfig = { - paddingAtStart: true, - listBackgroundColor: null, - fontColor: null, - selectedListFontColor: null, - interfaceWithRoute: null, - collapseOnSelect: null, - highlightOnSelect: false, - useDividers: true, - rtlLayout: false, - customTemplate: false, - }; - this.isInvalidConfig = true; - this.isInvalidData = true; - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - } - ngOnChanges() { - this.detectInvalidConfig(); - this.initExpandCollapseStatus(); - this.initSelectedMenuID(); - if (!this.isInvalidData) { - this.menuIsReady.emit(this.items); - } - } - ngOnInit() { - if (this.configuration !== null && this.configuration !== undefined && this.configuration !== '' && - this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { - this.router.events - .subscribe((event) => { - if (event instanceof NavigationEnd) { - this.updateNodeByURL(event.urlAfterRedirects); - } - }); - this.updateNodeByURL(this.router.url); - } - } - updateNodeByURL(url) { - const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && - foundNode.link !== undefined && - foundNode.link !== null && - foundNode.link !== '' - // && !foundNode.disabled // Prevent route redirection for disabled menu - ) { - this.currentNode = foundNode; - if (foundNode.dontEmit !== undefined && foundNode.dontEmit !== null && !foundNode.dontEmit) { - this.selectedListItem(foundNode); - } - } - } - checkValidData() { - if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { - console.warn(CONSTANT.ERROR_MESSAGE); - } - else { - this.items = this.items.filter(n => !n.hidden); - this.multilevelMenuService.addRandomId(this.items); - this.isInvalidData = false; - } - } - detectInvalidConfig() { - if (this.configuration === null || this.configuration === undefined || this.configuration === '') { - this.isInvalidConfig = true; - } - else { - this.isInvalidConfig = false; - const config = this.configuration; - if (config.paddingAtStart !== undefined && config.paddingAtStart !== null && typeof config.paddingAtStart === 'boolean') { - this.nodeConfig.paddingAtStart = config.paddingAtStart; - } - if (config.listBackgroundColor !== '' && - config.listBackgroundColor !== null && - config.listBackgroundColor !== undefined) { - this.nodeConfig.listBackgroundColor = config.listBackgroundColor; - } - if (config.fontColor !== '' && - config.fontColor !== null && - config.fontColor !== undefined) { - this.nodeConfig.fontColor = config.fontColor; - } - if (config.selectedListFontColor !== '' && - config.selectedListFontColor !== null && - config.selectedListFontColor !== undefined) { - this.nodeConfig.selectedListFontColor = config.selectedListFontColor; - } - if (config.interfaceWithRoute !== null && - config.interfaceWithRoute !== undefined && - typeof config.interfaceWithRoute === 'boolean') { - this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; - } - if (config.collapseOnSelect !== null && - config.collapseOnSelect !== undefined && - typeof config.collapseOnSelect === 'boolean') { - this.nodeConfig.collapseOnSelect = config.collapseOnSelect; - } - if (config.highlightOnSelect !== null && - config.highlightOnSelect !== undefined && - typeof config.highlightOnSelect === 'boolean') { - this.nodeConfig.highlightOnSelect = config.highlightOnSelect; - } - if (config.useDividers !== null && - config.useDividers !== undefined && - typeof config.useDividers === 'boolean') { - this.nodeConfig.useDividers = config.useDividers; - } - if (config.rtlLayout !== null && - config.rtlLayout !== undefined && - typeof config.rtlLayout === 'boolean') { - this.nodeConfig.rtlLayout = config.rtlLayout; - } - if (config.customTemplate !== null && - config.customTemplate !== undefined && - typeof config.customTemplate === 'boolean') { - this.nodeConfig.customTemplate = config.customTemplate; - } - } - this.checkValidData(); - } - initExpandCollapseStatus() { - this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ - .subscribe((expandCollapseStatus) => { - this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; - }, () => { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - }); - } - initSelectedMenuID() { - this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); - } - } - }); - } - getClassName() { - if (this.isInvalidConfig) { - return CONSTANT.DEFAULT_CLASS_NAME; - } - else { - if (this.configuration.classname !== '' && this.configuration.classname !== null && this.configuration.classname !== undefined) { - return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; - } - else { - return CONSTANT.DEFAULT_CLASS_NAME; - } - } - } - getGlobalStyle() { - if (!this.isInvalidConfig) { - const styles = { - background: null - }; - if (this.configuration.backgroundColor !== '' && - this.configuration.backgroundColor !== null && - this.configuration.backgroundColor !== undefined) { - styles.background = this.configuration.backgroundColor; - } - return styles; - } - } - isRtlLayout() { - return this.nodeConfig.rtlLayout; - } - selectedListItem(event) { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - this.currentNode = event; - if (event.dontEmit !== undefined && event.dontEmit !== null && event.dontEmit) { - return; - } - if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { - this.selectedItem.emit(event); - } - else { - this.selectedLabel.emit(event); - } - } - ngOnDestroy() { - this.expandCollapseStatusSubscription.unsubscribe(); - this.selectMenuByIDSubscription.unsubscribe(); - } -} -NgMaterialMultilevelMenuComponent.decorators = [ - { type: Component, args: [{ - selector: 'ng-material-multilevel-menu', - template: "
\n \n \n \n \n
\n", - styles: [".amml-container .mat-list-base{padding-top:unset}.amml-item{display:flex;justify-content:space-between;line-height:48px;position:relative}.anml-data{display:flex;justify-content:flex-start;text-transform:capitalize;width:100%}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}"] - },] } -]; -NgMaterialMultilevelMenuComponent.ctorParameters = () => [ - { type: Router }, - { type: MultilevelMenuService } -]; -NgMaterialMultilevelMenuComponent.propDecorators = { - items: [{ type: Input }], - configuration: [{ type: Input }], - selectedItem: [{ type: Output }], - selectedLabel: [{ type: Output }], - menuIsReady: [{ type: Output }], - listTemplate: [{ type: ContentChild, args: ['listTemplate', { static: true },] }] -}; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjLyIsInNvdXJjZXMiOlsibGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBbUQsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDeEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQU9sRSxNQUFNLE9BQU8saUNBQWlDO0lBNEI1QyxZQUNVLE1BQWMsRUFDZixxQkFBNEM7UUFEM0MsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUNmLDBCQUFxQixHQUFyQixxQkFBcUIsQ0FBdUI7UUE1QjVDLGtCQUFhLEdBQWtCLElBQUksQ0FBQztRQUNuQyxpQkFBWSxHQUFHLElBQUksWUFBWSxFQUFtQixDQUFDO1FBQ25ELGtCQUFhLEdBQUcsSUFBSSxZQUFZLEVBQW1CLENBQUM7UUFDcEQsZ0JBQVcsR0FBRyxJQUFJLFlBQVksRUFBcUIsQ0FBQztRQUc5RCxxQ0FBZ0MsR0FBaUIsSUFBSSxDQUFDO1FBQ3RELCtCQUEwQixHQUFpQixJQUFJLENBQUM7UUFDaEQsZ0JBQVcsR0FBb0IsSUFBSSxDQUFDO1FBRXBDLGVBQVUsR0FBa0I7WUFDMUIsY0FBYyxFQUFFLElBQUk7WUFDcEIsbUJBQW1CLEVBQUUsSUFBSTtZQUN6QixTQUFTLEVB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USxLQUFLLFNBQVMsSUFBSSxLQUFLLENBQUMsUUFBUSxLQUFLLElBQUksSUFBSSxLQUFLLENBQUMsUUFBUSxFQUFFO1lBQzdFLE9BQU87U0FDUjtRQUNELElBQUksS0FBSyxDQUFDLEtBQUssS0FBSyxTQUFTLElBQUksQ0FBQyxDQUFDLEtBQUssQ0FBQyxVQUFVLElBQUksT0FBTyxLQUFLLENBQUMsVUFBVSxLQUFLLFVBQVUsQ0FBQyxFQUFHO1lBQy9GLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDO1NBQy9CO2FBQU07WUFDTCxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUNoQztJQUNILENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoRCxDQUFDOzs7WUF6TUYsU0FBUyxTQUFDO2dCQUNULFFBQVEsRUFBRSw2QkFBNkI7Z0JBQ3ZDLHdvQkFBMkQ7O2FBRTVEOzs7WUFWdUIsTUFBTTtZQUlyQixxQkFBcUI7OztvQkFRM0IsS0FBSzs0QkFDTCxLQUFLOzJCQUNMLE1BQU07NEJBQ04sTUFBTTswQkFDTixNQUFNOzJCQUNOLFlBQVksU0FBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tICdyeGpzJztcbmltcG9ydCB7IEJhY2tncm91bmRTdHlsZSwgQ29uZmlndXJhdGlvbiwgTXVsdGlsZXZlbE5vZGVzLCBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0gfSBmcm9tICcuL2FwcC5tb2RlbCc7XG5pbXBvcnQgeyBDT05TVEFOVCB9IGZyb20gJy4vY29uc3RhbnRzJztcbmltcG9ydCB7IE11bHRpbGV2ZWxNZW51U2VydmljZSB9IGZyb20gJy4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2UnO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICduZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUnLFxuICB0ZW1wbGF0ZVVybDogJy4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5odG1sJyxcbiAgc3R5bGVVcmxzOiBbJy4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5jc3MnXSxcbn0pXG5leHBvcnQgY2xhc3MgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkNoYW5nZXMsIE9uRGVzdHJveSB7XG4gIEBJbnB1dCgpIGl0ZW1zOiBNdWx0aWxldmVsTm9kZXNbXTtcbiAgQElucHV0KCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbiA9IG51bGw7XG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2Rlcz4oKTtcbiAgQE91dHB1dCgpIHNlbGVjdGVkTGFiZWwgPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2Rlcz4oKTtcbiAgQE91dHB1dCgpIG1lbnVJc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZXNbXT4oKTtcbiAgQENvbnRlbnRDaGlsZCgnbGlzdFRlbXBsYXRlJywge3N0YXRpYzogdHJ1ZX0pIGxpc3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XG5cbiAgZXhwYW5kQ29sbGFwc2VTdGF0dXNTdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbiA9IG51bGw7XG4gIHNlbGVjdE1lbnVCeUlEU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xuICBjdXJyZW50Tm9kZTogTXVsdGlsZXZlbE5vZGVzID0gbnVsbDtcblxuICBub2RlQ29uZmlnOiBDb25maWd1cmF0aW9uID0ge1xuICAgIHBhZGRpbmdBdFN0YXJ0OiB0cnVlLFxuICAgIGxpc3RCYWNrZ3JvdW5kQ29sb3I6IG51bGwsXG4gICAgZm9udENvbG9yOiBudWxsLFxuICAgIHNlbGVjdGVkTGlzdEZvbnRDb2xvcjogbnVsbCxcbiAgICBpbnRlcmZhY2VXaXRoUm91dGU6IG51bGwsXG4gICAgY29sbGFwc2VPblNlbGVjdDogbnVsbCxcbiAgICBoaWdobGlnaHRPblNlbGVjdDogZmFsc2UsXG4gICAgdXNlRGl2aWRlcnM6IHRydWUsXG4gICAgcnRsTGF5b3V0OiBmYWxzZSxcbiAgICBjdXN0b21UZW1wbGF0ZTogZmFsc2UsXG4gIH07XG4gIGlzSW52YWxpZENvbmZpZyA9IHRydWU7XG4gIGlzSW52YWxpZERhdGEgPSB0cnVlO1xuICBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXG4gICAgcHVibGljIG11bHRpbGV2ZWxNZW51U2VydmljZTogTXVsdGlsZXZlbE1lbnVTZXJ2aWNlXG4gICkgeyB9XG4gIG5nT25DaGFuZ2VzKCkge1xuICAgIHRoaXMuZGV0ZWN0SW52YWxpZENvbmZpZygpO1xuICAgIHRoaXMuaW5pdEV4cGFuZENvbGxhcHNlU3RhdHVzKCk7XG4gICAgdGhpcy5pbml0U2VsZWN0ZWRNZW51SUQoKTtcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkRGF0YSkge1xuICAgICAgdGhpcy5tZW51SXNSZWFkeS5lbWl0KHRoaXMuaXRlbXMpO1xuICAgIH1cbiAgfVxuICBuZ09uSW5pdCgpIHtcbiAgICBpZiAoXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24gIT09IG51bGwgJiYgdGhpcy5jb25maWd1cmF0aW9uICE9PSB1bmRlZmluZWQgJiYgdGhpcy5jb25maWd1cmF0aW9uICE9PSAnJyAmJlxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmludGVyZmFjZVdpdGhSb3V0ZSAhPT0gbnVsbCAmJiB0aGlzLmNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlKSB7XG4gICAgICB0aGlzLnJvdXRlci5ldmVudHNcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcbiAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTChldmVudC51cmxBZnRlclJlZGlyZWN0cyk7XG4gICAgICAgICAgfVxuICAgICAgICB9KTtcbiAgICAgIHRoaXMudXBkYXRlTm9kZUJ5VVJMKHRoaXMucm91dGVyLnVybCk7XG4gICAgfVxuICB9XG4gIHVwZGF0ZU5vZGVCeVVSTCh1cmw6IHN0cmluZyk6IHZvaWQge1xuICAgIGNvbnN0IGZvdW5kTm9kZSA9IHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmdldE1hdGNoZWRPYmplY3RCeVVybCh0aGlzLml0ZW1zLCB1cmwpO1xuICAgIGlmIChcbiAgICAgIGZvdW5kTm9kZSAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBmb3VuZE5vZGUubGluayAhPT0gdW5kZWZpbmVkICYmXG4gICAgICBmb3VuZE5vZGUubGluayAhPT0gbnVsbCAmJlxuICAgICAgZm91bmROb2RlLmxpbmsgIT09ICcnXG4gICAgICAvLyAmJiAhZm91bmROb2RlLmRpc2FibGVkIC8vIFByZXZlbnQgcm91dGUgcmVkaXJlY3Rpb24gZm9yIGRpc2FibGVkIG1lbnVcbiAgICApIHtcbiAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBmb3VuZE5vZGU7XG4gICAgICBpZiAoZm91bmROb2RlLmRvbnRFbWl0ICE9PSB1bmRlZmluZWQgJiYgZm91bmROb2RlLmRvbnRFbWl0ICE9PSBudWxsICYmICFmb3VuZE5vZGUuZG9udEVtaXQpIHtcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKGZvdW5kTm9kZSk7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGNoZWNrVmFsaWREYXRhKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLml0ZW1zID09PSB1bmRlZmluZWQgfHwgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykgJiYgdGhpcy5pdGVtcy5sZW5ndGggPT09IDApKSB7XG4gICAgICBjb25zb2xlLndhcm4oQ09OU1RBTlQuRVJST1JfTUVTU0FHRSk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihuID0+ICFuLmhpZGRlbik7XG4gICAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5hZGRSYW5kb21JZCh0aGlzLml0ZW1zKTtcbiAgICAgIHRoaXMuaXNJbnZhbGlkRGF0YSA9IGZhbHNlO1xuICAgIH1cbiAgfVxuICBkZXRlY3RJbnZhbGlkQ29uZmlnKCk6IHZvaWQge1xuICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24gPT09IG51bGwgfHwgdGhpcy5jb25maWd1cmF0aW9uID09PSB1bmRlZmluZWQgfHwgdGhpcy5jb25maWd1cmF0aW9uID09PSAnJykge1xuICAgICAgdGhpcy5pc0ludmFsaWRDb25maWcgPSB0cnVlO1xuICAgIH0gZWxzZSB7XG4gICAgICB0aGlzLmlzSW52YWxpZENvbmZpZyA9IGZhbHNlO1xuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uO1xuICAgICAgaWYgKGNvbmZpZy5wYWRkaW5nQXRTdGFydCAhPT0gdW5kZWZpbmVkICYmIGNvbmZpZy5wYWRkaW5nQXRTdGFydCAhPT0gbnVsbCAmJiB0eXBlb2YgY29uZmlnLnBhZGRpbmdBdFN0YXJ0ID09PSAnYm9vbGVhbicpIHtcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnBhZGRpbmdBdFN0YXJ0ID0gY29uZmlnLnBhZGRpbmdBdFN0YXJ0O1xuICAgICAgfVxuICAgICAgaWYgKGNvbmZpZy5saXN0QmFja2dyb3VuZENvbG9yICE9PSAnJyAmJlxuICAgICAgICBjb25maWcubGlzdEJhY2tncm91bmRDb2xvciAhPT0gbnVsbCAmJlxuICAgICAgICBjb25maWcubGlzdEJhY2tncm91bmRDb2xvciAhPT0gdW5kZWZpbmVkKSB7XG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5saXN0QmFja2dyb3VuZENvbG9yID0gY29uZmlnLmxpc3RCYWNrZ3JvdW5kQ29sb3I7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmZvbnRDb2xvciAhPT0gJycgJiZcbiAgICAgICAgY29uZmlnLmZvbnRDb2xvciAhPT0gbnVsbCAmJlxuICAgICAgICBjb25maWcuZm9udENvbG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmZvbnRDb2xvciA9IGNvbmZpZy5mb250Q29sb3I7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvciAhPT0gJycgJiZcbiAgICAgICAgY29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvciAhPT0gbnVsbCAmJlxuICAgICAgICBjb25maWcuc2VsZWN0ZWRMaXN0Rm9udENvbG9yICE9PSB1bmRlZmluZWQpIHtcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvciA9IGNvbmZpZy5zZWxlY3RlZExpc3RGb250Q29sb3I7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZSAhPT0gbnVsbCAmJlxuICAgICAgICBjb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGUgPT09ICdib29sZWFuJykge1xuICAgICAgICB0aGlzLm5vZGVDb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlID0gY29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZTtcbiAgICAgIH1cbiAgICAgIGlmIChjb25maWcuY29sbGFwc2VPblNlbGVjdCAhPT0gbnVsbCAmJlxuICAgICAgICBjb25maWcuY29sbGFwc2VPblNlbGVjdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIHR5cGVvZiBjb25maWcuY29sbGFwc2VPblNlbGVjdCA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0ID0gY29uZmlnLmNvbGxhcHNlT25TZWxlY3Q7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0ICE9PSBudWxsICYmXG4gICAgICAgIGNvbmZpZy5oaWdobGlnaHRPblNlbGVjdCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIHR5cGVvZiBjb25maWcuaGlnaGxpZ2h0T25TZWxlY3QgPT09ICdib29sZWFuJykge1xuICAgICAgICB0aGlzLm5vZGVDb25maWcuaGlnaGxpZ2h0T25TZWxlY3QgPSBjb25maWcuaGlnaGxpZ2h0T25TZWxlY3Q7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLnVzZURpdmlkZXJzICE9PSBudWxsICYmXG4gICAgICAgIGNvbmZpZy51c2VEaXZpZGVycyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgIHR5cGVvZiBjb25maWcudXNlRGl2aWRlcnMgPT09ICdib29sZWFuJykge1xuICAgICAgICB0aGlzLm5vZGVDb25maWcudXNlRGl2aWRlcnMgPSBjb25maWcudXNlRGl2aWRlcnM7XG4gICAgICB9XG4gICAgICBpZiAoY29uZmlnLnJ0bExheW91dCAhPT0gbnVsbCAmJlxuICAgICAgICBjb25maWcucnRsTGF5b3V0ICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5ydGxMYXlvdXQgPT09ICdib29sZWFuJykge1xuICAgICAgICB0aGlzLm5vZGVDb25maWcucnRsTGF5b3V0ID0gY29uZmlnLnJ0bExheW91dDtcbiAgICAgIH1cbiAgICAgIGlmIChjb25maWcuY3VzdG9tVGVtcGxhdGUgIT09IG51bGwgJiZcbiAgICAgICAgY29uZmlnLmN1c3RvbVRlbXBsYXRlICE9PSB1bmRlZmluZWQgJiZcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5jdXN0b21UZW1wbGF0ZSA9PT0gJ2Jvb2xlYW4nKSB7XG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5jdXN0b21UZW1wbGF0ZSA9IGNvbmZpZy5jdXN0b21UZW1wbGF0ZTtcbiAgICAgIH1cblxuICAgIH1cbiAgICB0aGlzLmNoZWNrVmFsaWREYXRhKCk7XG4gIH1cbiAgaW5pdEV4cGFuZENvbGxhcHNlU3RhdHVzKCk6IHZvaWQge1xuICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VTdGF0dXNTdWJzY3JpcHRpb24gPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5leHBhbmRDb2xsYXBzZVN0YXR1cyRcbiAgICAgIC5zdWJzY3JpYmUoIChleHBhbmRDb2xsYXBzZVN0YXR1czogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtKSA9PiB7XG4gICAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IGV4cGFuZENvbGxhcHNlU3RhdHVzID8gZXhwYW5kQ29sbGFwc2VTdGF0dXMgOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcbiAgICB9LCAoKSA9PiB7XG4gICAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xuICAgIH0pO1xuICB9XG4gIGluaXRTZWxlY3RlZE1lbnVJRCgpOiB2b2lkIHtcbiAgICB0aGlzLnNlbGVjdE1lbnVCeUlEU3Vic2NyaXB0aW9uID0gdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2Uuc2VsZWN0ZWRNZW51SUQkLnN1YnNjcmliZSggKHNlbGVjdGVkTWVudUlEOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmIChzZWxlY3RlZE1lbnVJRCkge1xuICAgICAgICBjb25zdCBmb3VuZE5vZGUgPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5nZXRNYXRjaGVkT2JqZWN0QnlJZCh0aGlzLml0ZW1zLCBzZWxlY3RlZE1lbnVJRCk7XG4gICAgICAgIGlmIChmb3VuZE5vZGUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBmb3VuZE5vZGU7XG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKGZvdW5kTm9kZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9KTtcbiAgfVxuICBnZXRDbGFzc05hbWUoKTogc3RyaW5nIHtcbiAgICBpZiAodGhpcy5pc0ludmFsaWRDb25maWcpIHtcbiAgICAgIHJldHVybiBDT05TVEFOVC5ERUZBVUxUX0NMQVNTX05BTUU7XG4gICAgfSBlbHNlIHtcbiAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uY2xhc3NuYW1lICE9PSAnJyAmJiB0aGlzLmNvbmZpZ3VyYXRpb24uY2xhc3NuYW1lICE9PSBudWxsICYmIHRoaXMuY29uZmlndXJhdGlvbi5jbGFzc25hbWUgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICByZXR1cm4gYCR7Q09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FfSAke3RoaXMuY29uZmlndXJhdGlvbi5jbGFzc25hbWV9YDtcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIHJldHVybiBDT05TVEFOVC5ERUZBVUxUX0NMQVNTX05BTUU7XG4gICAgICB9XG4gICAgfVxuICB9XG4gIGdldEdsb2JhbFN0eWxlKCk6IEJhY2tncm91bmRTdHlsZSB7XG4gICAgaWYgKCF0aGlzLmlzSW52YWxpZENvbmZpZykge1xuICAgICAgY29uc3Qgc3R5bGVzID0ge1xuICAgICAgICBiYWNrZ3JvdW5kIDogbnVsbFxuICAgICAgfTtcbiAgICAgIGlmICh0aGlzLmNvbmZpZ3VyYXRpb24uYmFja2dyb3VuZENvbG9yICE9PSAnJyAmJlxuICAgICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uYmFja2dyb3VuZENvbG9yICE9PSBudWxsICYmXG4gICAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5iYWNrZ3JvdW5kQ29sb3IgIT09IHVuZGVmaW5lZCkge1xuICAgICAgICBzdHlsZXMuYmFja2dyb3VuZCA9IHRoaXMuY29uZmlndXJhdGlvbi5iYWNrZ3JvdW5kQ29sb3I7XG4gICAgICB9XG4gICAgICByZXR1cm4gc3R5bGVzO1xuICAgIH1cbiAgfVxuICBpc1J0bExheW91dCgpOiBib29sZWFuIHtcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlnLnJ0bExheW91dDtcbiAgfVxuICBzZWxlY3RlZExpc3RJdGVtKGV2ZW50OiBNdWx0aWxldmVsTm9kZXMpOiB2b2lkIHtcbiAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xuICAgIHRoaXMuY3VycmVudE5vZGUgPSBldmVudDtcbiAgICBpZiAoZXZlbnQuZG9udEVtaXQgIT09IHVuZGVmaW5lZCAmJiBldmVudC5kb250RW1pdCAhPT0gbnVsbCAmJiBldmVudC5kb250RW1pdCkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAoZXZlbnQuaXRlbXMgPT09IHVuZGVmaW5lZCAmJiAoIWV2ZW50Lm9uU2VsZWN0ZWQgfHwgdHlwZW9mIGV2ZW50Lm9uU2VsZWN0ZWQgIT09ICdmdW5jdGlvbicpICkge1xuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChldmVudCk7XG4gICAgfSBlbHNlIHtcbiAgICAgIHRoaXMuc2VsZWN0ZWRMYWJlbC5lbWl0KGV2ZW50KTtcbiAgICB9XG4gIH1cbiAgbmdPbkRlc3Ryb3koKSB7XG4gICAgdGhpcy5leHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xuICAgIHRoaXMuc2VsZWN0TWVudUJ5SURTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgfVxufVxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/lib/ng-material-multilevel-menu.module.js b/dist/ng-material-multilevel-menu/esm2015/lib/ng-material-multilevel-menu.module.js deleted file mode 100644 index 07e6384..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/lib/ng-material-multilevel-menu.module.js +++ /dev/null @@ -1,23 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { NgModule } from '@angular/core'; -import { RouterModule } from '@angular/router'; -import { ListItemComponent } from './list-item/list-item.component'; -import { MaterialsModule } from './materials.module'; -import { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component'; -export class NgMaterialMultilevelMenuModule { -} -NgMaterialMultilevelMenuModule.decorators = [ - { type: NgModule, args: [{ - imports: [ - CommonModule, - MaterialsModule, - RouterModule, - ], - declarations: [ - NgMaterialMultilevelMenuComponent, - ListItemComponent, - ], - exports: [NgMaterialMultilevelMenuComponent] - },] } -]; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjLyIsInNvdXJjZXMiOlsibGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQWM1RixNQUFNLE9BQU8sOEJBQThCOzs7WUFaMUMsUUFBUSxTQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGVBQWU7b0JBQ2YsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osaUNBQWlDO29CQUNqQyxpQkFBaUI7aUJBQ2xCO2dCQUNELE9BQU8sRUFBRSxDQUFDLGlDQUFpQyxDQUFDO2FBQzdDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuXG5pbXBvcnQgeyBMaXN0SXRlbUNvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQnO1xuaW1wb3J0IHsgTWF0ZXJpYWxzTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbHMubW9kdWxlJztcbmltcG9ydCB7IE5nTWF0ZXJpYWxNdWx0aWxldmVsTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudCc7XG5cbkBOZ01vZHVsZSh7XG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgTWF0ZXJpYWxzTW9kdWxlLFxuICAgIFJvdXRlck1vZHVsZSxcbiAgXSxcbiAgZGVjbGFyYXRpb25zOiBbXG4gICAgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50LFxuICAgIExpc3RJdGVtQ29tcG9uZW50LFxuICBdLFxuICBleHBvcnRzOiBbTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50XVxufSlcbmV4cG9ydCBjbGFzcyBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVNb2R1bGUge31cbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/ng-material-multilevel-menu.js b/dist/ng-material-multilevel-menu/esm2015/ng-material-multilevel-menu.js deleted file mode 100644 index cdf1770..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/ng-material-multilevel-menu.js +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Generated bundle index. Do not edit. - */ -export * from './public_api'; -export { ListItemComponent as ɵb } from './lib/list-item/list-item.component'; -export { MaterialsModule as ɵa } from './lib/materials.module'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvIiwic291cmNlcyI6WyJuZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQztBQUU3QixPQUFPLEVBQUMsaUJBQWlCLElBQUksRUFBRSxFQUFDLE1BQU0scUNBQXFDLENBQUM7QUFDNUUsT0FBTyxFQUFDLGVBQWUsSUFBSSxFQUFFLEVBQUMsTUFBTSx3QkFBd0IsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcblxuZXhwb3J0IHtMaXN0SXRlbUNvbXBvbmVudCBhcyDJtWJ9IGZyb20gJy4vbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcbmV4cG9ydCB7TWF0ZXJpYWxzTW9kdWxlIGFzIMm1YX0gZnJvbSAnLi9saWIvbWF0ZXJpYWxzLm1vZHVsZSc7Il19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/public_api.js b/dist/ng-material-multilevel-menu/esm2015/public_api.js deleted file mode 100644 index 5a71fd3..0000000 --- a/dist/ng-material-multilevel-menu/esm2015/public_api.js +++ /dev/null @@ -1,9 +0,0 @@ -/* - * Public API Surface of ng-material-multilevel-menu - */ -export * from './lib/ng-material-multilevel-menu.module'; -export * from './lib/ng-material-multilevel-menu.component'; -export * from './lib/multilevel-menu.service'; -export * from './lib/animation'; -export { ExpandCollapseStatusEnum } from './lib/app.model'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjLyIsInNvdXJjZXMiOlsicHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsT0FBTyxFQUFrQyx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBuZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnVcbiAqL1xuXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUubW9kdWxlJztcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvbXVsdGlsZXZlbC1tZW51LnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvYW5pbWF0aW9uJztcbmV4cG9ydCB7IE11bHRpbGV2ZWxOb2RlcywgQ29uZmlndXJhdGlvbiwgRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtIH0gZnJvbSAnLi9saWIvYXBwLm1vZGVsJztcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2015/lib/animation.js b/dist/ng-material-multilevel-menu/esm2022/lib/animation.mjs similarity index 64% rename from dist/ng-material-multilevel-menu/esm2015/lib/animation.js rename to dist/ng-material-multilevel-menu/esm2022/lib/animation.mjs index 4394038..b83a965 100644 --- a/dist/ng-material-multilevel-menu/esm2015/lib/animation.js +++ b/dist/ng-material-multilevel-menu/esm2022/lib/animation.mjs @@ -28,4 +28,4 @@ export const ExpandedRTL = trigger('ExpandedRTL', [ transition('no => yes', animate(200)), transition('yes => no', animate(200)) ]); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6Ii4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvIiwic291cmNlcyI6WyJsaWIvYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFO0lBQzVDLEtBQUssQ0FDRCxJQUFJLEVBQ0osS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLEtBQUssQ0FBQztZQUNOLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9DLENBQUM7S0FDTCxDQUFDO0lBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUNqQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxLQUFLLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvQyxDQUFDO0tBQ0wsQ0FBQztDQUNMLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFO0lBQzlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUNuRCxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBRW5ELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQ3hDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFO0lBQzlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDbEQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUVuRCxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XG5cbmV4cG9ydCBjb25zdCBTbGlkZUluT3V0ID0gdHJpZ2dlcignU2xpZGVJbk91dCcsIFtcbiAgICBzdGF0ZShcbiAgICAgICAgJ2luJyxcbiAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMCB9KSksXG4gICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcbiAgICAgICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG9wYWNpdHk6IDAuMiB9KSxcbiAgICAgICAgICAgIGdyb3VwKFtcbiAgICAgICAgICAgIGFuaW1hdGUoMjAwLCBzdHlsZSh7IGhlaWdodDogMCB9KSksXG4gICAgICAgICAgICBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSlcbiAgICAgICAgICAgIF0pXG4gICAgICAgIF0pLFxuICAgICAgICB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXG4gICAgICAgICAgICBzdHlsZSh7IGhlaWdodDogJzAnLCBvcGFjaXR5OiAwIH0pLFxuICAgICAgICAgICAgZ3JvdXAoW1xuICAgICAgICAgICAgYW5pbWF0ZSgyMDAsIHN0eWxlKHsgaGVpZ2h0OiAnKicgfSkpLFxuICAgICAgICAgICAgYW5pbWF0ZSgnNDAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXG4gICAgICAgICAgICBdKVxuICAgICAgICBdKVxuICAgIF1cbik7XG5cbmV4cG9ydCBjb25zdCBFeHBhbmRlZExUUiA9IHRyaWdnZXIoJ0V4cGFuZGVkTFRSJywgW1xuICAgIHN0YXRlKCdubycsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKC05MGRlZyknIH0pKSxcbiAgICBzdGF0ZSgneWVzJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknLCB9KSksXG5cbiAgICB0cmFuc2l0aW9uKCdubyA9PiB5ZXMnLCBhbmltYXRlKDIwMCkpLFxuICAgIHRyYW5zaXRpb24oJ3llcyA9PiBubycsIGFuaW1hdGUoMjAwKSlcbl0pO1xuXG5leHBvcnQgY29uc3QgRXhwYW5kZWRSVEwgPSB0cmlnZ2VyKCdFeHBhbmRlZFJUTCcsIFtcbiAgICBzdGF0ZSgnbm8nLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSg5MGRlZyknIH0pKSxcbiAgICBzdGF0ZSgneWVzJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknLCB9KSksXG5cbiAgICB0cmFuc2l0aW9uKCdubyA9PiB5ZXMnLCBhbmltYXRlKDIwMCkpLFxuICAgIHRyYW5zaXRpb24oJ3llcyA9PiBubycsIGFuaW1hdGUoMjAwKSlcbl0pO1xuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFO0lBQzVDLEtBQUssQ0FDRCxJQUFJLEVBQ0osS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLEtBQUssQ0FBQztZQUNOLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9DLENBQUM7S0FDTCxDQUFDO0lBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUNqQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxLQUFLLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvQyxDQUFDO0tBQ0wsQ0FBQztDQUNMLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFO0lBQzlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUNuRCxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBRW5ELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQ3hDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFO0lBQzlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDbEQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUVuRCxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgU2xpZGVJbk91dCA9IHRyaWdnZXIoJ1NsaWRlSW5PdXQnLCBbXHJcbiAgICBzdGF0ZShcclxuICAgICAgICAnaW4nLFxyXG4gICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG9wYWNpdHk6IDAgfSkpLFxyXG4gICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMC4yIH0pLFxyXG4gICAgICAgICAgICBncm91cChbXHJcbiAgICAgICAgICAgIGFuaW1hdGUoMjAwLCBzdHlsZSh7IGhlaWdodDogMCB9KSksXHJcbiAgICAgICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKVxyXG4gICAgICAgICAgICBdKVxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcwJywgb3BhY2l0eTogMCB9KSxcclxuICAgICAgICAgICAgZ3JvdXAoW1xyXG4gICAgICAgICAgICBhbmltYXRlKDIwMCwgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXHJcbiAgICAgICAgICAgIGFuaW1hdGUoJzQwMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKVxyXG4gICAgICAgICAgICBdKVxyXG4gICAgICAgIF0pXHJcbiAgICBdXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgRXhwYW5kZWRMVFIgPSB0cmlnZ2VyKCdFeHBhbmRlZExUUicsIFtcclxuICAgIHN0YXRlKCdubycsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKC05MGRlZyknIH0pKSxcclxuICAgIHN0YXRlKCd5ZXMnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKScsIH0pKSxcclxuXHJcbiAgICB0cmFuc2l0aW9uKCdubyA9PiB5ZXMnLCBhbmltYXRlKDIwMCkpLFxyXG4gICAgdHJhbnNpdGlvbigneWVzID0+IG5vJywgYW5pbWF0ZSgyMDApKVxyXG5dKTtcclxuXHJcbmV4cG9ydCBjb25zdCBFeHBhbmRlZFJUTCA9IHRyaWdnZXIoJ0V4cGFuZGVkUlRMJywgW1xyXG4gICAgc3RhdGUoJ25vJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJyB9KSksXHJcbiAgICBzdGF0ZSgneWVzJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknLCB9KSksXHJcblxyXG4gICAgdHJhbnNpdGlvbignbm8gPT4geWVzJywgYW5pbWF0ZSgyMDApKSxcclxuICAgIHRyYW5zaXRpb24oJ3llcyA9PiBubycsIGFuaW1hdGUoMjAwKSlcclxuXSk7XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs new file mode 100644 index 0000000..479aaa2 --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs @@ -0,0 +1,7 @@ +export var ExpandCollapseStatusEnum; +(function (ExpandCollapseStatusEnum) { + ExpandCollapseStatusEnum["expand"] = "expand"; + ExpandCollapseStatusEnum["collapse"] = "collapse"; + ExpandCollapseStatusEnum["neutral"] = "neutral"; +})(ExpandCollapseStatusEnum || (ExpandCollapseStatusEnum = {})); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvYXBwLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9EQSxNQUFNLENBQU4sSUFBWSx3QkFJWDtBQUpELFdBQVksd0JBQXdCO0lBQ2hDLDZDQUFpQixDQUFBO0lBQ2pCLGlEQUFxQixDQUFBO0lBQ3JCLCtDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBSW5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkV4dHJhcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpbGV2ZWxOb2RlIHtcclxuICBpZD86IHN0cmluZztcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGZhSWNvbj86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGltYWdlSWNvbj86IHN0cmluZztcclxuICBzdmdJY29uPzogc3RyaW5nO1xyXG4gIGFjdGl2ZUZhSWNvbj86IHN0cmluZztcclxuICBhY3RpdmVJY29uPzogc3RyaW5nO1xyXG4gIGFjdGl2ZUltYWdlSWNvbj86IHN0cmluZztcclxuICBhY3RpdmVTdmdJY29uPzogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgbGluaz86IHN0cmluZztcclxuICBleHRlcm5hbFJlZGlyZWN0PzogYm9vbGVhbjtcclxuICBocmVmVGFyZ2V0VHlwZT86IHN0cmluZztcclxuICBkYXRhPzogYW55O1xyXG4gIGl0ZW1zPzogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBvblNlbGVjdGVkPzogRnVuY3Rpb247XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcclxuICBuYXZpZ2F0aW9uRXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcztcclxuICBkb250RW1pdD86IGJvb2xlYW47XHJcbiAgaGFzQ2hpbGRyZW4/OiBib29sZWFuO1xyXG4gIGlzU2VsZWN0ZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb24ge1xyXG4gICAgY2xhc3NuYW1lPzogc3RyaW5nO1xyXG4gICAgcGFkZGluZ0F0U3RhcnQ/OiBib29sZWFuO1xyXG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG4gICAgbGlzdEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICAgIGZvbnRDb2xvcj86IHN0cmluZztcclxuICAgIHNlbGVjdGVkTGlzdEZvbnRDb2xvcj86IHN0cmluZztcclxuICAgIGludGVyZmFjZVdpdGhSb3V0ZT86IGJvb2xlYW47XHJcbiAgICBjb2xsYXBzZU9uU2VsZWN0PzogYm9vbGVhbjtcclxuICAgIGhpZ2hsaWdodE9uU2VsZWN0PzogYm9vbGVhbjtcclxuICAgIHVzZURpdmlkZXJzPzogYm9vbGVhbjtcclxuICAgIHJ0bExheW91dD86IGJvb2xlYW47XHJcbiAgICBjdXN0b21UZW1wbGF0ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFja2dyb3VuZFN0eWxlIHtcclxuICAgIGJhY2tncm91bmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaXN0U3R5bGUge1xyXG4gICAgYmFja2dyb3VuZDogc3RyaW5nO1xyXG4gICAgY29sb3I6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtIHtcclxuICAgIGV4cGFuZCA9ICdleHBhbmQnLFxyXG4gICAgY29sbGFwc2UgPSAnY29sbGFwc2UnLFxyXG4gICAgbmV1dHJhbCA9ICduZXV0cmFsJyxcclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/common-utils.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/common-utils.mjs new file mode 100644 index 0000000..666265a --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/common-utils.mjs @@ -0,0 +1,10 @@ +class CommonUtils { + static isNullOrUndefinedOrEmpty = function (object) { + return CommonUtils.isNullOrUndefined(object) || object === ''; + }; + static isNullOrUndefined = function (object) { + return object === null || object === undefined; + }; +} +export { CommonUtils }; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvY29tbW9uLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQWEsV0FBVztJQUV0QixNQUFNLENBQUMsd0JBQXdCLEdBQUcsVUFBVSxNQUFXO1FBQ3JELE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sS0FBSyxFQUFFLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsTUFBVztRQUM5QyxPQUFPLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLFNBQVMsQ0FBQztJQUNqRCxDQUFDLENBQUM7O1NBUlMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb21tb25VdGlscyB7XHJcblxyXG4gIHN0YXRpYyBpc051bGxPclVuZGVmaW5lZE9yRW1wdHkgPSBmdW5jdGlvbiAob2JqZWN0OiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChvYmplY3QpIHx8IG9iamVjdCA9PT0gJyc7XHJcbiAgfTtcclxuXHJcbiAgc3RhdGljIGlzTnVsbE9yVW5kZWZpbmVkID0gZnVuY3Rpb24gKG9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gb2JqZWN0ID09PSBudWxsIHx8IG9iamVjdCA9PT0gdW5kZWZpbmVkO1xyXG4gIH07XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/constants.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/constants.mjs new file mode 100644 index 0000000..2301568 --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/constants.mjs @@ -0,0 +1,19 @@ +export const CONSTANT = { + PADDING_AT_START: true, + DEFAULT_CLASS_NAME: `amml-container`, + DEFAULT_LIST_CLASS_NAME: `amml-item`, + SELECTED_LIST_CLASS_NAME: `selected-amml-item`, + ACTIVE_ITEM_CLASS_NAME: `active-amml-item`, + DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`, + SUBMENU_ITEM_CLASS_NAME: `amml-submenu`, + HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`, + DEFAULT_SELECTED_FONT_COLOR: `#1976d2`, + DEFAULT_LIST_BACKGROUND_COLOR: `transparent`, + DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`, + DEFAULT_HREF_TARGET_TYPE: '_self', + ERROR_MESSAGE: `Invalid data for material Multilevel List Component`, + POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + YES: 'yes', + NO: 'no' +}; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyx1QkFBdUIsRUFBRSxXQUFXO0lBQ3BDLHdCQUF3QixFQUFFLG9CQUFvQjtJQUM5QyxzQkFBc0IsRUFBRSxrQkFBa0I7SUFDMUMsd0JBQXdCLEVBQUUsb0JBQW9CO0lBQzlDLHVCQUF1QixFQUFFLGNBQWM7SUFDdkMsMkJBQTJCLEVBQUUsa0JBQWtCO0lBQy9DLDJCQUEyQixFQUFFLFNBQVM7SUFDdEMsNkJBQTZCLEVBQUUsYUFBYTtJQUM1Qyx1QkFBdUIsRUFBRSxpQkFBaUI7SUFDMUMsd0JBQXdCLEVBQUUsT0FBTztJQUNqQyxhQUFhLEVBQUUscURBQXFEO0lBQ3BFLFFBQVEsRUFBRSxnRUFBZ0U7SUFDMUUsR0FBRyxFQUFFLEtBQUs7SUFDVixFQUFFLEVBQUUsSUFBSTtDQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09OU1RBTlQgPSB7XHJcbiAgICBQQURESU5HX0FUX1NUQVJUOiB0cnVlLFxyXG4gICAgREVGQVVMVF9DTEFTU19OQU1FOiBgYW1tbC1jb250YWluZXJgLFxyXG4gICAgREVGQVVMVF9MSVNUX0NMQVNTX05BTUU6IGBhbW1sLWl0ZW1gLFxyXG4gICAgU0VMRUNURURfTElTVF9DTEFTU19OQU1FOiBgc2VsZWN0ZWQtYW1tbC1pdGVtYCxcclxuICAgIEFDVElWRV9JVEVNX0NMQVNTX05BTUU6IGBhY3RpdmUtYW1tbC1pdGVtYCxcclxuICAgIERJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRTogYGRpc2FibGVkLWFtbWwtaXRlbWAsXHJcbiAgICBTVUJNRU5VX0lURU1fQ0xBU1NfTkFNRTogYGFtbWwtc3VibWVudWAsXHJcbiAgICBIQVNfU1VCTUVOVV9JVEVNX0NMQVNTX05BTUU6IGBoYXMtYW1tbC1zdWJtZW51YCxcclxuICAgIERFRkFVTFRfU0VMRUNURURfRk9OVF9DT0xPUjogYCMxOTc2ZDJgLFxyXG4gICAgREVGQVVMVF9MSVNUX0JBQ0tHUk9VTkRfQ09MT1I6IGB0cmFuc3BhcmVudGAsXHJcbiAgICBERUZBVUxUX0xJU1RfRk9OVF9DT0xPUjogYHJnYmEoMCwwLDAsLjg3KWAsXHJcbiAgICBERUZBVUxUX0hSRUZfVEFSR0VUX1RZUEU6ICdfc2VsZicsXHJcbiAgICBFUlJPUl9NRVNTQUdFOiBgSW52YWxpZCBkYXRhIGZvciBtYXRlcmlhbCBNdWx0aWxldmVsIExpc3QgQ29tcG9uZW50YCxcclxuICAgIFBPU1NJQkxFOiAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknLFxyXG4gICAgWUVTOiAneWVzJyxcclxuICAgIE5POiAnbm8nXHJcbn07XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs new file mode 100644 index 0000000..9bfa785 --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs @@ -0,0 +1,243 @@ +import { Component, Input } from '@angular/core'; +import { ExpandedLTR, ExpandedRTL } from '../../animation'; +import { CommonUtils } from '../../common-utils'; +import { CONSTANT } from '../../constants'; +import * as i0 from "@angular/core"; +import * as i1 from "@angular/common"; +import * as i2 from "@angular/material/icon"; +import * as i3 from "@angular/cdk/bidi"; +import * as i4 from "@angular/router"; +function ListItemContentComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "a", 6); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_1_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r2 = i0.ɵɵnextContext(); + const _r7 = i0.ɵɵreference(8); + const _r5 = i0.ɵɵreference(6); + i0.ɵɵproperty("href", ctx_r2.node.link, i0.ɵɵsanitizeUrl)("target", ctx_r2.getHrefTargetType()); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.isRtlLayout ? _r7 : _r5); +} } +function ListItemContentComponent_ng_template_3_a_0_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_3_a_0_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "a", 9); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_0_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r12 = i0.ɵɵnextContext(2); + const _r7 = i0.ɵɵreference(8); + const _r5 = i0.ɵɵreference(6); + i0.ɵɵproperty("routerLink", ctx_r12.node.link); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", ctx_r12.isRtlLayout ? _r7 : _r5); +} } +function ListItemContentComponent_ng_template_3_a_1_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_3_a_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "a", 10); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_1_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r13 = i0.ɵɵnextContext(2); + const _r7 = i0.ɵɵreference(8); + const _r5 = i0.ɵɵreference(6); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", ctx_r13.isRtlLayout ? _r7 : _r5); +} } +function ListItemContentComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵtemplate(0, ListItemContentComponent_ng_template_3_a_0_Template, 2, 2, "a", 7); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_1_Template, 2, 1, "a", 8); +} if (rf & 2) { + const ctx_r4 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngIf", !ctx_r4.node.externalRedirect && ctx_r4.node.link); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", !ctx_r4.node.link); +} } +function ListItemContentComponent_ng_template_5_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_5_div_4_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 14)(1, "mat-icon"); + i0.ɵɵtext(2, " keyboard_arrow_down "); + i0.ɵɵelementEnd()(); +} if (rf & 2) { + const ctx_r17 = i0.ɵɵnextContext(2); + i0.ɵɵadvance(1); + i0.ɵɵproperty("@ExpandedLTR", ctx_r17.nodeExpandStatus()); +} } +function ListItemContentComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 11); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_5_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementStart(2, "span", 12); + i0.ɵɵtext(3); + i0.ɵɵelementEnd()(); + i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_5_div_4_Template, 3, 1, "div", 13); +} if (rf & 2) { + const ctx_r6 = i0.ɵɵnextContext(); + const _r9 = i0.ɵɵreference(10); + i0.ɵɵproperty("dir", "ltr"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", _r9); + i0.ɵɵadvance(2); + i0.ɵɵtextInterpolate(ctx_r6.node.label); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx_r6.node.hasChildren); +} } +function ListItemContentComponent_ng_template_7_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_7_div_4_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 14)(1, "mat-icon"); + i0.ɵɵtext(2, " keyboard_arrow_down "); + i0.ɵɵelementEnd()(); +} if (rf & 2) { + const ctx_r19 = i0.ɵɵnextContext(2); + i0.ɵɵadvance(1); + i0.ɵɵproperty("@ExpandedRTL", ctx_r19.nodeExpandStatus()); +} } +function ListItemContentComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 11); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_7_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementStart(2, "span", 12); + i0.ɵɵtext(3); + i0.ɵɵelementEnd()(); + i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_7_div_4_Template, 3, 1, "div", 13); +} if (rf & 2) { + const ctx_r8 = i0.ɵɵnextContext(); + const _r9 = i0.ɵɵreference(10); + i0.ɵɵproperty("dir", "rtl"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", _r9); + i0.ɵɵadvance(2); + i0.ɵɵtextInterpolate(ctx_r8.node.label); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx_r8.node.hasChildren); +} } +function ListItemContentComponent_ng_template_9_span_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "span", 20); + i0.ɵɵelement(1, "i", 21); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r20 = i0.ɵɵnextContext(2); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngClass", ctx_r20.getSelectedFaIcon()); +} } +function ListItemContentComponent_ng_template_9_mat_icon_2_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "mat-icon", 22); + i0.ɵɵtext(1); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r21 = i0.ɵɵnextContext(2); + i0.ɵɵadvance(1); + i0.ɵɵtextInterpolate1(" ", ctx_r21.getSelectedIcon(), " "); +} } +function ListItemContentComponent_ng_template_9_mat_icon_3_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelement(0, "mat-icon", 23); +} if (rf & 2) { + const ctx_r22 = i0.ɵɵnextContext(2); + i0.ɵɵpropertyInterpolate("svgIcon", ctx_r22.getSelectedSvgIcon()); +} } +function ListItemContentComponent_ng_template_9_img_4_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelement(0, "img", 24); +} if (rf & 2) { + const ctx_r23 = i0.ɵɵnextContext(2); + i0.ɵɵpropertyInterpolate("src", ctx_r23.getSelectedImageIcon(), i0.ɵɵsanitizeUrl); + i0.ɵɵpropertyInterpolate("alt", ctx_r23.node.label); +} } +function ListItemContentComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 15); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_9_span_1_Template, 2, 1, "span", 16); + i0.ɵɵtemplate(2, ListItemContentComponent_ng_template_9_mat_icon_2_Template, 2, 1, "mat-icon", 17); + i0.ɵɵtemplate(3, ListItemContentComponent_ng_template_9_mat_icon_3_Template, 1, 1, "mat-icon", 18); + i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_9_img_4_Template, 1, 2, "img", 19); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r10 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngSwitch", ctx_r10.getListIcon(ctx_r10.node)); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngSwitchCase", "faIcon"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngSwitchCase", "icon"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngSwitchCase", "svgIcon"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngSwitchCase", "imageIcon"); +} } +class ListItemContentComponent { + node; + isRtlLayout; + constructor() { + // NOOP + } + ngOnInit() { + // NOOP + } + getListIcon(node) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) { + return `icon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { + return `faIcon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { + return `imageIcon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { + return `svgIcon`; + } + else { + return ``; + } + } + getHrefTargetType() { + return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + } + getSelectedSvgIcon() { + return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; + } + getSelectedIcon() { + return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; + } + getSelectedFaIcon() { + return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; + } + getSelectedImageIcon() { + return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; + } + nodeExpandStatus() { + return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; + } + static ɵfac = function ListItemContentComponent_Factory(t) { return new (t || ListItemContentComponent)(); }; + static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListItemContentComponent, selectors: [["ng-list-item-content"]], inputs: { node: "node", isRtlLayout: "isRtlLayout" }, decls: 11, vars: 1, consts: [[4, "ngTemplateOutlet"], ["redirectLinkTemplate", ""], ["routerLinkTemplate", ""], ["linkLabelLtrOutlet", ""], ["linkLabelRtlOutlet", ""], ["iconContainer", ""], [1, "anml-link", 3, "href", "target"], ["class", "anml-link", 3, "routerLink", 4, "ngIf"], ["class", "anml-link", 4, "ngIf"], [1, "anml-link", 3, "routerLink"], [1, "anml-link"], [1, "anml-data", 3, "dir"], [1, "label"], ["class", "amml-icon-arrow-container", 4, "ngIf"], [1, "amml-icon-arrow-container"], [1, "icon-container", 3, "ngSwitch"], ["class", "amml-icon amml-icon-fa", 4, "ngSwitchCase"], ["class", "amml-icon", 4, "ngSwitchCase"], ["class", "amml-icon amml-svg-icon", 3, "svgIcon", 4, "ngSwitchCase"], ["matListAvatar", "", "class", "amml-icon", 3, "src", "alt", 4, "ngSwitchCase"], [1, "amml-icon", "amml-icon-fa"], [3, "ngClass"], [1, "amml-icon"], [1, "amml-icon", "amml-svg-icon", 3, "svgIcon"], ["matListAvatar", "", 1, "amml-icon", 3, "src", "alt"]], template: function ListItemContentComponent_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵtemplate(0, ListItemContentComponent_ng_container_0_Template, 1, 0, "ng-container", 0); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_1_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(3, ListItemContentComponent_ng_template_3_Template, 2, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(5, ListItemContentComponent_ng_template_5_Template, 5, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(7, ListItemContentComponent_ng_template_7_Template, 5, 4, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(9, ListItemContentComponent_ng_template_9_Template, 5, 5, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor); + } if (rf & 2) { + const _r1 = i0.ɵɵreference(2); + const _r3 = i0.ɵɵreference(4); + i0.ɵɵproperty("ngTemplateOutlet", ctx.node.externalRedirect ? _r1 : _r3); + } }, dependencies: [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgSwitch, i1.NgSwitchCase, i2.MatIcon, i3.Dir, i4.RouterLink], styles: [".amml-item[_ngcontent-%COMP%]{position:relative;cursor:pointer}.anml-link[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data[_ngcontent-%COMP%]{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item[_ngcontent-%COMP%]{opacity:.5;text-decoration:none;pointer-events:none}.icon-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa[_ngcontent-%COMP%]{font-size:20px}.label[_ngcontent-%COMP%]{line-height:48px;font-weight:400}.amml-svg-icon[_ngcontent-%COMP%]{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container[_ngcontent-%COMP%]{direction:ltr;display:flex;align-items:center}div[dir=ltr][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-right:16px}div[dir=rtl][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-left:16px}"], data: { animation: [ExpandedLTR, ExpandedRTL] } }); +} +export { ListItemContentComponent }; +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListItemContentComponent, [{ + type: Component, + args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] + }], function () { return []; }, { node: [{ + type: Input + }], isRtlLayout: [{ + type: Input + }] }); })(); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0tY29udGVudC9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7SUNKekMsd0JBQW1IOzs7SUFJL0csd0JBQXVHOzs7SUFEekcsNEJBQXVFO0lBQ3JFLHlHQUF1RztJQUN6RyxpQkFBSTs7Ozs7SUFGaUIseURBQWtCLHNDQUFBO0lBQ3RCLGVBQXVFO0lBQXZFLGlFQUF1RTs7O0lBTXRGLHdCQUF1Rzs7O0lBRHpHLDRCQUEwRjtJQUN4Riw2R0FBdUc7SUFDekcsaUJBQUk7Ozs7O0lBRjZELDhDQUF3QjtJQUN4RSxlQUF1RTtJQUF2RSxrRUFBdUU7OztJQUd0Rix3QkFBdUc7OztJQUR6Ryw2QkFBd0M7SUFDdEMsNkdBQXVHO0lBQ3pHLGlCQUFJOzs7OztJQURhLGVBQXVFO0lBQXZFLGtFQUF1RTs7O0lBSnhGLG1GQUVJO0lBQ0osbUZBRUk7OztJQUxrQix3RUFBeUM7SUFHekMsZUFBZ0I7SUFB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bml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNdWx0aWxldmVsTm9kZX0gZnJvbSAnLi4vLi4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHtFeHBhbmRlZExUUiwgRXhwYW5kZWRSVEx9IGZyb20gJy4uLy4uL2FuaW1hdGlvbic7XHJcbmltcG9ydCB7Q29tbW9uVXRpbHN9IGZyb20gJy4uLy4uL2NvbW1vbi11dGlscyc7XHJcbmltcG9ydCB7Q09OU1RBTlR9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25nLWxpc3QtaXRlbS1jb250ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC5jc3MnXSxcclxuICBhbmltYXRpb25zOiBbRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBpc1J0bExheW91dDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyBOT09QXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIE5PT1BcclxuICB9XHJcblxyXG4gIGdldExpc3RJY29uKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogc3RyaW5nIHtcclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBpY29uYDtcclxuICAgIH0gZWxzZSBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmZhSWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBmYUljb25gO1xyXG4gICAgfSBlbHNlIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaW1hZ2VJY29uKSkge1xyXG4gICAgICByZXR1cm4gYGltYWdlSWNvbmA7XHJcbiAgICB9IGVsc2UgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkobm9kZS5zdmdJY29uKSkge1xyXG4gICAgICByZXR1cm4gYHN2Z0ljb25gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGBgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SHJlZlRhcmdldFR5cGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaHJlZlRhcmdldFR5cGUgPyB0aGlzLm5vZGUuaHJlZlRhcmdldFR5cGUgOiBDT05TVEFOVC5ERUZBVUxUX0hSRUZfVEFSR0VUX1RZUEU7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFN2Z0ljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlU3ZnSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVTdmdJY29uIDogdGhpcy5ub2RlLnN2Z0ljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJY29uIDogdGhpcy5ub2RlLmljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEZhSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5pc1NlbGVjdGVkICYmIHRoaXMubm9kZS5hY3RpdmVGYUljb24gPyB0aGlzLm5vZGUuYWN0aXZlRmFJY29uIDogdGhpcy5ub2RlLmZhSWNvbjtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkSW1hZ2VJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZUltYWdlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJbWFnZUljb24gOiB0aGlzLm5vZGUuaW1hZ2VJY29uO1xyXG4gIH1cclxuXHJcbiAgbm9kZUV4cGFuZFN0YXR1cygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5leHBhbmRlZCA/IENPTlNUQU5ULllFUyA6IENPTlNUQU5ULk5PO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZS5leHRlcm5hbFJlZGlyZWN0ID8gcmVkaXJlY3RMaW5rVGVtcGxhdGUgOiByb3V0ZXJMaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVkaXJlY3RMaW5rVGVtcGxhdGU+XHJcbiAgPGEgY2xhc3M9XCJhbm1sLWxpbmtcIiBbaHJlZl09XCJub2RlLmxpbmtcIiBbdGFyZ2V0XT1cImdldEhyZWZUYXJnZXRUeXBlKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc1J0bExheW91dCA/IGxpbmtMYWJlbFJ0bE91dGxldCA6IGxpbmtMYWJlbEx0ck91dGxldFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm91dGVyTGlua1RlbXBsYXRlPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgKm5nSWY9XCIhbm9kZS5leHRlcm5hbFJlZGlyZWN0ICYmIG5vZGUubGlua1wiIFtyb3V0ZXJMaW5rXT1cIm5vZGUubGlua1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlzUnRsTGF5b3V0ID8gbGlua0xhYmVsUnRsT3V0bGV0IDogbGlua0xhYmVsTHRyT3V0bGV0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9hPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgKm5nSWY9XCIhbm9kZS5saW5rXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXNSdGxMYXlvdXQgPyBsaW5rTGFiZWxSdGxPdXRsZXQgOiBsaW5rTGFiZWxMdHJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2E+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xpbmtMYWJlbEx0ck91dGxldD5cclxuICA8ZGl2IGNsYXNzPVwiYW5tbC1kYXRhXCIgW2Rpcl09XCInbHRyJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25Db250YWluZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57e25vZGUubGFiZWx9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYW1tbC1pY29uLWFycm93LWNvbnRhaW5lclwiICpuZ0lmPSdub2RlLmhhc0NoaWxkcmVuJz5cclxuICAgIDxtYXQtaWNvbiBbQEV4cGFuZGVkTFRSXT1cIm5vZGVFeHBhbmRTdGF0dXMoKVwiPlxyXG4gICAgICBrZXlib2FyZF9hcnJvd19kb3duXHJcbiAgICA8L21hdC1pY29uPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5rTGFiZWxSdGxPdXRsZXQ+XHJcbiAgPGRpdiBjbGFzcz1cImFubWwtZGF0YVwiIFtkaXJdPVwiJ3J0bCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tub2RlLmxhYmVsfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFtbWwtaWNvbi1hcnJvdy1jb250YWluZXJcIiAqbmdJZj0nbm9kZS5oYXNDaGlsZHJlbic+XHJcbiAgICA8bWF0LWljb24gW0BFeHBhbmRlZFJUTF09XCJub2RlRXhwYW5kU3RhdHVzKClcIj5cclxuICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxyXG4gICAgPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBbbmdTd2l0Y2hdPVwiZ2V0TGlzdEljb24obm9kZSlcIj5cclxuICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmYUljb24nXCIgY2xhc3M9XCJhbW1sLWljb24gYW1tbC1pY29uLWZhXCI+XHJcbiAgICAgICAgPGkgW25nQ2xhc3NdPVwiZ2V0U2VsZWN0ZWRGYUljb24oKVwiPjwvaT5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInaWNvbidcIiBjbGFzcz1cImFtbWwtaWNvblwiPlxyXG4gICAgICB7e2dldFNlbGVjdGVkSWNvbigpfX1cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8bWF0LWljb24gKm5nU3dpdGNoQ2FzZT1cIidzdmdJY29uJ1wiIGNsYXNzPVwiYW1tbC1pY29uIGFtbWwtc3ZnLWljb25cIlxyXG4gICAgICAgICAgICAgIHN2Z0ljb249XCJ7e2dldFNlbGVjdGVkU3ZnSWNvbigpfX1cIj5cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8aW1nICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VJY29uJ1wiIG1hdExpc3RBdmF0YXIgY2xhc3M9XCJhbW1sLWljb25cIlxyXG4gICAgICAgICBzcmM9XCJ7e2dldFNlbGVjdGVkSW1hZ2VJY29uKCl9fVwiIGFsdD1cInt7bm9kZS5sYWJlbH19XCIvPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs new file mode 100644 index 0000000..0154a87 --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs @@ -0,0 +1,268 @@ +import { Component, Input, Output, EventEmitter, TemplateRef } from '@angular/core'; +import { Router } from '@angular/router'; +import { ExpandCollapseStatusEnum } from '../app.model'; +import { CONSTANT } from '../constants'; +import { MultilevelMenuService } from '../multilevel-menu.service'; +import { SlideInOut } from '../animation'; +import { CommonUtils } from '../common-utils'; +import * as i0 from "@angular/core"; +import * as i1 from "@angular/router"; +import * as i2 from "../multilevel-menu.service"; +import * as i3 from "@angular/common"; +import * as i4 from "@angular/cdk/bidi"; +import * as i5 from "@angular/material/list"; +import * as i6 from "@angular/material/divider"; +import * as i7 from "@angular/material/core"; +import * as i8 from "./list-item-content/list-item-content.component"; +const _c0 = function (a0, a1) { return { item: a0, configuration: a1 }; }; +function ListItemComponent_div_1_Template(rf, ctx) { if (rf & 1) { + const _r7 = i0.ɵɵgetCurrentView(); + i0.ɵɵelementStart(0, "div", 5); + i0.ɵɵlistener("click", function ListItemComponent_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.expand(ctx_r6.node)); }); + i0.ɵɵelementContainer(1, 6); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r0 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngClass", ctx_r0.selectedListClasses)("ngStyle", ctx_r0.getListStyle()); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.listTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(4, _c0, ctx_r0.node, ctx_r0.nodeConfiguration)); +} } +function ListItemComponent_div_2_ng_list_item_1_Template(rf, ctx) { if (rf & 1) { + const _r11 = i0.ɵɵgetCurrentView(); + i0.ɵɵelementStart(0, "ng-list-item", 9); + i0.ɵɵlistener("selectedItem", function ListItemComponent_div_2_ng_list_item_1_Template_ng_list_item_selectedItem_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.selectedListItem($event)); }); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const singleNode_r9 = ctx.$implicit; + const ctx_r8 = i0.ɵɵnextContext(2); + i0.ɵɵproperty("nodeConfiguration", ctx_r8.nodeConfiguration)("node", singleNode_r9.value)("level", ctx_r8.level + 1)("submenuLevel", singleNode_r9.key)("selectedNode", ctx_r8.selectedNode)("nodeExpandCollapseStatus", ctx_r8.nodeExpandCollapseStatus)("listTemplate", ctx_r8.listTemplate); +} } +function ListItemComponent_div_2_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 7); + i0.ɵɵtemplate(1, ListItemComponent_div_2_ng_list_item_1_Template, 1, 7, "ng-list-item", 8); + i0.ɵɵpipe(2, "keyvalue"); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r1 = i0.ɵɵnextContext(); + i0.ɵɵproperty("@SlideInOut", undefined)("dir", ctx_r1.isRtlLayout() ? "rtl" : "ltr")("ngClass", ctx_r1.classes); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 4, ctx_r1.nodeChildren, ctx_r1.multilevelMenuService.kvDummyComparerFn)); +} } +function ListItemComponent_ng_template_3_mat_list_item_0_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemComponent_ng_template_3_mat_list_item_0_Template(rf, ctx) { if (rf & 1) { + const _r16 = i0.ɵɵgetCurrentView(); + i0.ɵɵelementStart(0, "mat-list-item", 12); + i0.ɵɵlistener("click", function ListItemComponent_ng_template_3_mat_list_item_0_Template_mat_list_item_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.expand(ctx_r15.node)); }); + i0.ɵɵtemplate(1, ListItemComponent_ng_template_3_mat_list_item_0_ng_container_1_Template, 1, 0, "ng-container", 13); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r12 = i0.ɵɵnextContext(2); + const _r4 = i0.ɵɵreference(6); + i0.ɵɵpropertyInterpolate("title", ctx_r12.node.label); + i0.ɵɵproperty("matRippleDisabled", ctx_r12.node.disabled)("ngClass", ctx_r12.selectedListClasses)("ngStyle", ctx_r12.getListStyle()); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", _r4); +} } +function ListItemComponent_ng_template_3_mat_divider_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelement(0, "mat-divider"); +} } +function ListItemComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵtemplate(0, ListItemComponent_ng_template_3_mat_list_item_0_Template, 2, 5, "mat-list-item", 10); + i0.ɵɵtemplate(1, ListItemComponent_ng_template_3_mat_divider_1_Template, 1, 0, "mat-divider", 11); +} if (rf & 2) { + const ctx_r3 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngIf", !ctx_r3.node.hidden); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx_r3.nodeConfiguration.useDividers); +} } +function ListItemComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelement(0, "ng-list-item-content", 14); +} if (rf & 2) { + const ctx_r5 = i0.ɵɵnextContext(); + i0.ɵɵproperty("node", ctx_r5.node)("isRtlLayout", ctx_r5.isRtlLayout()); +} } +class ListItemComponent { + router; + multilevelMenuService; + node; + level = 1; + submenuLevel = 0; + selectedNode; + nodeConfiguration = null; + nodeExpandCollapseStatus = null; + listTemplate = null; + selectedItem = new EventEmitter(); + isSelected = false; + expanded = false; + firstInitializer = false; + nodeChildren; + classes; + selectedListClasses; + constructor(router, multilevelMenuService) { + this.router = router; + this.multilevelMenuService = multilevelMenuService; + this.selectedListClasses = { + [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, + [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, + [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, + }; + } + ngOnChanges() { + this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; + this.node.hasChildren = this.hasItems(); + if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { + this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); + } + this.setExpandCollapseStatus(); + } + ngOnInit() { + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && + this.node.faIcon.match(/\bfa\w(?!-)/) === null) { + this.node.faIcon = `fas ${this.node.faIcon}`; + } + this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; + if (typeof this.node.expanded === 'boolean') { + this.expanded = this.node.expanded; + } + this.setClasses(); + } + setSelectedClass(isFound) { + if (isFound) { + if (!this.firstInitializer) { + this.expanded = true; + } + this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; + } + else { + this.isSelected = false; + if (this.nodeConfiguration.collapseOnSelect) { + this.node.expanded = false; + this.expanded = false; + } + } + this.selectedListClasses = { + [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, + [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected, + [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id, + [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled, + [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true, + }; + this.node.isSelected = this.isSelected; + this.setClasses(); + } + getPaddingAtStart() { + return this.nodeConfiguration.paddingAtStart; + } + getListStyle() { + const styles = { + background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, + color: CONSTANT.DEFAULT_LIST_FONT_COLOR + }; + if (this.nodeConfiguration.listBackgroundColor !== null) { + styles.background = this.nodeConfiguration.listBackgroundColor; + } + if (this.isSelected) { + this.nodeConfiguration.selectedListFontColor !== null ? + styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; + } + else if (this.nodeConfiguration.fontColor !== null) { + styles.color = this.nodeConfiguration.fontColor; + } + return styles; + } + hasItems() { + return this.nodeChildren.length > 0; + } + isRtlLayout() { + return this.nodeConfiguration.rtlLayout; + } + setClasses() { + this.classes = { + [`level-${this.level + 1}`]: true, + [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), + [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() + }; + } + setExpandCollapseStatus() { + if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { + this.expanded = true; + if (this.nodeConfiguration.customTemplate) { + this.node.expanded = true; + } + } + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { + this.expanded = false; + if (this.nodeConfiguration.customTemplate) { + this.node.expanded = false; + } + } + } + } + expand(node) { + if (node.disabled) { + return; + } + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + this.expanded = !this.expanded; + this.node.expanded = this.expanded; + this.firstInitializer = true; + this.setClasses(); + if (this.nodeConfiguration.interfaceWithRoute !== null + && this.nodeConfiguration.interfaceWithRoute + && node.link !== undefined + && node.link) { + this.router.navigate([node.link], node.navigationExtras).then(); + } + else if (node.onSelected && typeof node.onSelected === 'function') { + node.onSelected(node); + this.selectedListItem(node); + } + else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { + this.selectedListItem(node); + } + } + selectedListItem(node) { + this.selectedItem.emit(node); + } + static ɵfac = function ListItemComponent_Factory(t) { return new (t || ListItemComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.MultilevelMenuService)); }; + static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListItemComponent, selectors: [["ng-list-item"]], inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 3, consts: [[1, "amml-menu-container"], [3, "ngClass", "ngStyle", "click", 4, "ngIf", "ngIfElse"], [3, "dir", "ngClass", 4, "ngIf"], ["baseTemplate", ""], ["linkTemplate", ""], [3, "ngClass", "ngStyle", "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "dir", "ngClass"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem", 4, "ngFor", "ngForOf"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem"], ["matRipple", "", 3, "title", "matRippleDisabled", "ngClass", "ngStyle", "click", 4, "ngIf"], [4, "ngIf"], ["matRipple", "", 3, "title", "matRippleDisabled", "ngClass", "ngStyle", "click"], [4, "ngTemplateOutlet"], [1, "filled", 3, "node", "isRtlLayout"]], template: function ListItemComponent_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 0); + i0.ɵɵtemplate(1, ListItemComponent_div_1_Template, 2, 7, "div", 1); + i0.ɵɵtemplate(2, ListItemComponent_div_2_Template, 3, 7, "div", 2); + i0.ɵɵelementEnd(); + i0.ɵɵtemplate(3, ListItemComponent_ng_template_3_Template, 2, 2, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(5, ListItemComponent_ng_template_5_Template, 1, 2, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); + } if (rf & 2) { + const _r2 = i0.ɵɵreference(4); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx.nodeConfiguration.customTemplate && !ctx.node.hidden)("ngIfElse", _r2); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx.hasItems() && ctx.expanded); + } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i3.NgStyle, i4.Dir, i5.MatListItem, i6.MatDivider, i7.MatRipple, ListItemComponent, i8.ListItemContentComponent, i3.KeyValuePipe], styles: [".filled[_ngcontent-%COMP%]{width:100%}div[dir=rtl].amml-submenu[_ngcontent-%COMP%]{margin-right:16px}div[dir=ltr].amml-submenu[_ngcontent-%COMP%]{margin-left:16px}"], data: { animation: [SlideInOut] } }); +} +export { ListItemComponent }; +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListItemComponent, [{ + type: Component, + args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] + }], function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, { node: [{ + type: Input + }], level: [{ + type: Input + }], submenuLevel: [{ + type: Input + }], selectedNode: [{ + type: Input + }], nodeConfiguration: [{ + type: Input + }], nodeExpandCollapseStatus: [{ + type: Input + }], listTemplate: [{ + type: Input + }], selectedItem: [{ + type: Output + }] }); })(); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBNEMsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0wxQyw4QkFHNEI7SUFBdkIsMkpBQVMsZUFBQSwwQkFBWSxDQUFBLElBQUM7SUFDekIsMkJBRWU7SUFDakIsaUJBQU07OztJQU5ELG9EQUErQixrQ0FBQTtJQUdwQixlQUFpQztJQUFqQyxzREFBaUMsOEZBQUE7Ozs7SUFRL0MsdUNBUTRDO0lBRDlCLDBNQUFnQixlQUFBLGdDQUF3QixDQUFBLElBQUM7SUFFdkQsaUJBQWU7Ozs7SUFSRCw0REFBdUMsNkJBQUEsMkJBQUEsbUNBQUEscUNBQUEsNkRBQUEscUNBQUE7OztJQUZ2RCw4QkFBNEc7SUFDMUcsMEZBU2U7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QUlOLGtFQVdNO1lBQ1IsaUJBQU07WUFJTixtSEFXYztZQUVkLG1IQUVjOzs7WUExQ04sZUFBdUQ7WUFBdkQsK0VBQXVELGlCQUFBO1lBV3ZELGVBQTRCO1lBQTVCLHFEQUE0QjttSkRFdkIsaUJBQWlCLHFQQUZoQixDQUFDLFVBQVUsQ0FBQzs7U0FFYixpQkFBaUI7dUZBQWpCLGlCQUFpQjtjQU43QixTQUFTOzJCQUNFLGNBQWMsY0FHWixDQUFDLFVBQVUsQ0FBQzs2RkFHZixJQUFJO2tCQUFaLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLGlCQUFpQjtrQkFBekIsS0FBSztZQUNHLHdCQUF3QjtrQkFBaEMsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFFSSxZQUFZO2tCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiwgTGlzdFN0eWxlLCBNdWx0aWxldmVsTm9kZSwgRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtIH0gZnJvbSAnLi4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTWVudVNlcnZpY2UgfSBmcm9tICcuLi9tdWx0aWxldmVsLW1lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNsaWRlSW5PdXQgfSBmcm9tICcuLi9hbmltYXRpb24nO1xyXG5pbXBvcnQge0NvbW1vblV0aWxzfSBmcm9tICcuLi9jb21tb24tdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZy1saXN0LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaXRlbS5jb21wb25lbnQuY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1NsaWRlSW5PdXRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcclxuICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBsZXZlbCA9IDE7XHJcbiAgQElucHV0KCkgc3VibWVudUxldmVsID0gMDtcclxuICBASW5wdXQoKSBzZWxlY3RlZE5vZGU6IE11bHRpbGV2ZWxOb2RlO1xyXG4gIEBJbnB1dCgpIG5vZGVDb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uID0gbnVsbDtcclxuICBASW5wdXQoKSBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IG51bGw7XHJcbiAgQElucHV0KCkgbGlzdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50UmVmPiA9IG51bGw7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2RlPigpO1xyXG5cclxuICBpc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgZXhwYW5kZWQgPSBmYWxzZTtcclxuICBmaXJzdEluaXRpYWxpemVyID0gZmFsc2U7XHJcblxyXG4gIG5vZGVDaGlsZHJlbjogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBjbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHNlbGVjdGVkTGlzdENsYXNzZXM6IHsgW2luZGV4OiBzdHJpbmddOiBib29sZWFuIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgcHVibGljIG11bHRpbGV2ZWxNZW51U2VydmljZTogTXVsdGlsZXZlbE1lbnVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXMgPSB7XHJcbiAgICAgIFtDT05TVEFOVC5ERUZBVUxUX0xJU1RfQ0xBU1NfTkFNRV06IHRydWUsXHJcbiAgICAgIFtDT05TVEFOVC5TRUxFQ1RFRF9MSVNUX0NMQVNTX05BTUVdOiBmYWxzZSxcclxuICAgICAgW0NPTlNUQU5ULkFDVElWRV9JVEVNX0NMQVNTX05BTUVdOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubm9kZUNoaWxkcmVuID0gdGhpcy5ub2RlICYmIHRoaXMubm9kZS5pdGVtcyA/IHRoaXMubm9kZS5pdGVtcy5maWx0ZXIobiA9PiAhbi5oaWRkZW4pIDogW107XHJcbiAgICB0aGlzLm5vZGUuaGFzQ2hpbGRyZW4gPSB0aGlzLmhhc0l0ZW1zKCk7XHJcblxyXG4gICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnNlbGVjdGVkTm9kZSkpIHtcclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZENsYXNzKHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLnJlY3Vyc2l2ZUNoZWNrSWQodGhpcy5ub2RlLCB0aGlzLnNlbGVjdGVkTm9kZS5pZCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRFeHBhbmRDb2xsYXBzZVN0YXR1cygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXNbQ09OU1RBTlQuRElTQUJMRURfSVRFTV9DTEFTU19OQU1FXSA9IHRoaXMubm9kZS5kaXNhYmxlZDtcclxuXHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZS5mYUljb24pICYmXHJcbiAgICAgIHRoaXMubm9kZS5mYUljb24ubWF0Y2goL1xcYmZhXFx3KD8hLSkvKSA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5vZGUuZmFJY29uID0gYGZhcyAke3RoaXMubm9kZS5mYUljb259YDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXNbYGxldmVsLSR7dGhpcy5sZXZlbH0tc3VibWVudWxldmVsLSR7dGhpcy5zdWJtZW51TGV2ZWx9YF0gPSB0cnVlO1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLm5vZGUuZXhwYW5kZWQgPT09ICdib29sZWFuJykge1xyXG4gICAgICB0aGlzLmV4cGFuZGVkID0gdGhpcy5ub2RlLmV4cGFuZGVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZENsYXNzKGlzRm91bmQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpc0ZvdW5kKSB7XHJcbiAgICAgIGlmICghdGhpcy5maXJzdEluaXRpYWxpemVyKSB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5oaWdobGlnaHRPblNlbGVjdCB8fCB0aGlzLnNlbGVjdGVkTm9kZS5pdGVtcyA9PT0gdW5kZWZpbmVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmNvbGxhcHNlT25TZWxlY3QpIHtcclxuICAgICAgICB0aGlzLm5vZGUuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3NlcyA9IHtcclxuICAgICAgW0NPTlNUQU5ULkRFRkFVTFRfTElTVF9DTEFTU19OQU1FXTogdHJ1ZSxcclxuICAgICAgW0NPTlNUQU5ULlNFTEVDVEVEX0xJU1RfQ0xBU1NfTkFNRV06IHRoaXMuaXNTZWxlY3RlZCxcclxuICAgICAgW0NPTlNUQU5ULkFDVElWRV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLnNlbGVjdGVkTm9kZS5pZCA9PT0gdGhpcy5ub2RlLmlkLFxyXG4gICAgICBbQ09OU1RBTlQuRElTQUJMRURfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5ub2RlLmRpc2FibGVkLFxyXG4gICAgICBbYGxldmVsLSR7dGhpcy5sZXZlbH0tc3VibWVudWxldmVsLSR7dGhpcy5zdWJtZW51TGV2ZWx9YF06IHRydWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5ub2RlLmlzU2VsZWN0ZWQgPSB0aGlzLmlzU2VsZWN0ZWQ7XHJcbiAgICB0aGlzLnNldENsYXNzZXMoKTtcclxuICB9XHJcblxyXG4gIGdldFBhZGRpbmdBdFN0YXJ0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ucGFkZGluZ0F0U3RhcnQ7XHJcbiAgfVxyXG5cclxuICBnZXRMaXN0U3R5bGUoKTogTGlzdFN0eWxlIHtcclxuICAgIGNvbnN0IHN0eWxlcyA9IHtcclxuICAgICAgYmFja2dyb3VuZDogQ09OU1RBTlQuREVGQVVMVF9MSVNUX0JBQ0tHUk9VTkRfQ09MT1IsXHJcbiAgICAgIGNvbG9yOiBDT05TVEFOVC5ERUZBVUxUX0xJU1RfRk9OVF9DT0xPUlxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmxpc3RCYWNrZ3JvdW5kQ29sb3IgIT09IG51bGwpIHtcclxuICAgICAgc3R5bGVzLmJhY2tncm91bmQgPSB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmxpc3RCYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uc2VsZWN0ZWRMaXN0Rm9udENvbG9yICE9PSBudWxsID9cclxuICAgICAgICBzdHlsZXMuY29sb3IgPSB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnNlbGVjdGVkTGlzdEZvbnRDb2xvciA6IHN0eWxlcy5jb2xvciA9IENPTlNUQU5ULkRFRkFVTFRfU0VMRUNURURfRk9OVF9DT0xPUjtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5mb250Q29sb3IgIT09IG51bGwpIHtcclxuICAgICAgc3R5bGVzLmNvbG9yID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5mb250Q29sb3I7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3R5bGVzO1xyXG4gIH1cclxuXHJcbiAgaGFzSXRlbXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ2hpbGRyZW4ubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGlzUnRsTGF5b3V0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ucnRsTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xhc3NlcyA9IHtcclxuICAgICAgW2BsZXZlbC0ke3RoaXMubGV2ZWwgKyAxfWBdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU1VCTUVOVV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLmhhc0l0ZW1zKCkgJiYgdGhpcy5nZXRQYWRkaW5nQXRTdGFydCgpLFxyXG4gICAgICBbQ09OU1RBTlQuSEFTX1NVQk1FTlVfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5oYXNJdGVtcygpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzKSkge1xyXG4gICAgICBpZiAodGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPT09IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5leHBhbmQpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSkge1xyXG4gICAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID09PSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0uY29sbGFwc2UpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY3VzdG9tVGVtcGxhdGUpIHtcclxuICAgICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwYW5kKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogdm9pZCB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gIHRoaXMuZXhwYW5kZWQ7XHJcbiAgICB0aGlzLmZpcnN0SW5pdGlhbGl6ZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XHJcbiAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUgIT09IG51bGxcclxuICAgICAgJiYgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGVcclxuICAgICAgJiYgbm9kZS5saW5rICE9PSB1bmRlZmluZWRcclxuICAgICAgJiYgbm9kZS5saW5rXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW25vZGUubGlua10sIG5vZGUubmF2aWdhdGlvbkV4dHJhcykudGhlbigpO1xyXG4gICAgfSBlbHNlIGlmIChub2RlLm9uU2VsZWN0ZWQgJiYgdHlwZW9mIG5vZGUub25TZWxlY3RlZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBub2RlLm9uU2VsZWN0ZWQobm9kZSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShub2RlKTtcclxuICAgIH0gZWxzZSBpZiAobm9kZS5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY29sbGFwc2VPblNlbGVjdCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0obm9kZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZExpc3RJdGVtKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFtbWwtbWVudS1jb250YWluZXJcIj5cclxuICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBzdGFydHMgLS0+XHJcbiAgPGRpdiAqbmdJZj1cIm5vZGVDb25maWd1cmF0aW9uLmN1c3RvbVRlbXBsYXRlICYmICFub2RlLmhpZGRlbjtlbHNlIGJhc2VUZW1wbGF0ZVwiXHJcbiAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZExpc3RDbGFzc2VzXCJcclxuICAgICAgIFtuZ1N0eWxlXT1cImdldExpc3RTdHlsZSgpXCJcclxuICAgICAgIChjbGljayk9XCJleHBhbmQobm9kZSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBub2RlLCBjb25maWd1cmF0aW9uOiBub2RlQ29uZmlndXJhdGlvbn1cIj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gQmFzZSBUZW1wbGF0ZSByZW5kZXJpbmcgY29uZGl0aW9uIGVuZHMgLS0+XHJcblxyXG4gIDwhLS0gUmVjdXJzaXZlIFRlbXBsYXRlIGNhbGxzIGJlZ2lucyAtLT5cclxuICA8ZGl2ICpuZ0lmPVwiaGFzSXRlbXMoKSAmJiBleHBhbmRlZFwiIFtAU2xpZGVJbk91dF0gW2Rpcl09XCJpc1J0bExheW91dCgpID8gJ3J0bCcgOiAnbHRyJ1wiIFtuZ0NsYXNzXT1cImNsYXNzZXNcIj5cclxuICAgIDxuZy1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IHNpbmdsZU5vZGUgb2Ygbm9kZUNoaWxkcmVuIHwga2V5dmFsdWUgOiBtdWx0aWxldmVsTWVudVNlcnZpY2Uua3ZEdW1teUNvbXBhcmVyRm5cIlxyXG4gICAgICAgICAgICAgICAgICBbbm9kZUNvbmZpZ3VyYXRpb25dPSdub2RlQ29uZmlndXJhdGlvbidcclxuICAgICAgICAgICAgICAgICAgW25vZGVdPVwic2luZ2xlTm9kZS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsZXZlbF09XCJsZXZlbCArIDFcIlxyXG4gICAgICAgICAgICAgICAgICBbc3VibWVudUxldmVsXT1cInNpbmdsZU5vZGUua2V5XCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTm9kZV09J3NlbGVjdGVkTm9kZSdcclxuICAgICAgICAgICAgICAgICAgW25vZGVFeHBhbmRDb2xsYXBzZVN0YXR1c109J25vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cydcclxuICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJzZWxlY3RlZExpc3RJdGVtKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbbGlzdFRlbXBsYXRlXT1cImxpc3RUZW1wbGF0ZVwiPlxyXG4gICAgPC9uZy1saXN0LWl0ZW0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tIFJlY3Vyc2l2ZSBUZW1wbGF0ZSBjYWxscyBlbmRzIC0tPlxyXG5cclxuPCEtLSBCYXNlIFRlbXBsYXRlIHN0YXJ0cyBmcm9tIGhlcmUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gIDxtYXQtbGlzdC1pdGVtIG1hdFJpcHBsZVxyXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwiIW5vZGUuaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICB0aXRsZT1cInt7bm9kZS5sYWJlbH19XCJcclxuICAgICAgICAgICAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRMaXN0Q2xhc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0TGlzdFN0eWxlKClcIlxyXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmQobm9kZSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1kaXZpZGVyICpuZ0lmPVwibm9kZUNvbmZpZ3VyYXRpb24udXNlRGl2aWRlcnNcIj48L21hdC1kaXZpZGVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5rVGVtcGxhdGU+XHJcbiAgPG5nLWxpc3QtaXRlbS1jb250ZW50IGNsYXNzPVwiZmlsbGVkXCIgW25vZGVdPVwibm9kZVwiIFtpc1J0bExheW91dF09XCJpc1J0bExheW91dCgpXCI+PC9uZy1saXN0LWl0ZW0tY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs new file mode 100644 index 0000000..a1b9307 --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs @@ -0,0 +1,37 @@ +import { NgModule } from '@angular/core'; +import { MatRippleModule } from '@angular/material/core'; +import { MatIconModule } from '@angular/material/icon'; +import { MatListModule } from '@angular/material/list'; +import * as i0 from "@angular/core"; +class MaterialsModule { + static ɵfac = function MaterialsModule_Factory(t) { return new (t || MaterialsModule)(); }; + static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MaterialsModule }); + static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatIconModule, + MatListModule, + MatRippleModule, MatIconModule, + MatListModule, + MatRippleModule] }); +} +export { MaterialsModule }; +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MaterialsModule, [{ + type: NgModule, + args: [{ + imports: [ + MatIconModule, + MatListModule, + MatRippleModule, + ], + declarations: [], + exports: [ + MatIconModule, + MatListModule, + MatRippleModule, + ] + }] + }], null, null); })(); +(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MaterialsModule, { imports: [MatIconModule, + MatListModule, + MatRippleModule], exports: [MatIconModule, + MatListModule, + MatRippleModule] }); })(); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL21hdGVyaWFscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkQsTUFhYSxlQUFlO3lFQUFmLGVBQWU7NERBQWYsZUFBZTtnRUFYeEIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlLEVBSWYsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlOztTQUdOLGVBQWU7dUZBQWYsZUFBZTtjQWIzQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixlQUFlO2lCQUNoQjtnQkFDRCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixlQUFlO2lCQUNoQjthQUNGOzt3RkFDWSxlQUFlLGNBWHhCLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZSxhQUlmLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0UmlwcGxlTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFJpcHBsZU1vZHVsZSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbHNNb2R1bGUgeyB9XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/multilevel-menu.service.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/multilevel-menu.service.mjs new file mode 100644 index 0000000..9706a1b --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/multilevel-menu.service.mjs @@ -0,0 +1,82 @@ +import { Subject } from 'rxjs'; +import { ExpandCollapseStatusEnum } from './app.model'; +import { CONSTANT } from './constants'; +export class MultilevelMenuService { + foundLinkObject; + expandCollapseStatus = new Subject(); + expandCollapseStatus$ = this.expandCollapseStatus.asObservable(); + selectedMenuID = new Subject(); + selectedMenuID$ = this.selectedMenuID.asObservable(); + generateId() { + let text = ''; + for (let i = 0; i < 20; i++) { + text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length)); + } + return text; + } + addRandomId(nodes) { + nodes.forEach((node) => { + node.id = this.generateId(); + if (node.items !== undefined) { + this.addRandomId(node.items); + } + }); + } + recursiveCheckId(node, nodeId) { + if (node.id === nodeId) { + return true; + } + else { + if (node.items !== undefined) { + return node.items.some((nestedNode) => { + return this.recursiveCheckId(nestedNode, nodeId); + }); + } + } + } + findNodeRecursively({ nodes, link, id }) { + for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { + const node = nodes[nodeIndex]; + for (const key in node) { + if (node.hasOwnProperty(key)) { + if (encodeURI(node.link) === link) { + this.foundLinkObject = node; + } + else if (node.id === id) { + this.foundLinkObject = node; + } + else { + if (node.items !== undefined) { + this.findNodeRecursively({ + nodes: node.items, + link: link ? link : null, + id: id ? id : null + }); + } + } + } + } + } + } + getMatchedObjectByUrl(nodes, link) { + this.findNodeRecursively({ nodes, link }); + return this.foundLinkObject; + } + getMatchedObjectById(nodes, id) { + this.findNodeRecursively({ nodes, id }); + return this.foundLinkObject; + } + // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function + // https://angular.io/api/common/KeyValuePipe#description + kvDummyComparerFn() { + return 0; + } + setMenuExpandCollapseStatus(status) { + this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral); + } + selectMenuByID(menuID) { + this.selectedMenuID.next(menuID); + return this.foundLinkObject; + } +} +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsZXZlbC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9tdWx0aWxldmVsLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQyxPQUFPLEVBQThCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQWtCLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFckMsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxlQUFlLENBQWlCO0lBQ3hCLG9CQUFvQixHQUFzQyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUMxRyxxQkFBcUIsR0FBeUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRS9GLGNBQWMsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNoRSxlQUFlLEdBQXVCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakUsVUFBVTtRQUNoQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDeEY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBdUI7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMs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Q0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiIGltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHtDT05TVEFOVH0gZnJvbSAnLi9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE11bHRpbGV2ZWxNZW51U2VydmljZSB7XHJcbiAgZm91bmRMaW5rT2JqZWN0OiBNdWx0aWxldmVsTm9kZTtcclxuICBwcml2YXRlIGV4cGFuZENvbGxhcHNlU3RhdHVzOiBTdWJqZWN0PEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bT4gPSBuZXcgU3ViamVjdDxFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0+KCk7XHJcbiAgZXhwYW5kQ29sbGFwc2VTdGF0dXMkOiBPYnNlcnZhYmxlPEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bT4gPSB0aGlzLmV4cGFuZENvbGxhcHNlU3RhdHVzLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIHNlbGVjdGVkTWVudUlEOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgc2VsZWN0ZWRNZW51SUQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnNlbGVjdGVkTWVudUlELmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlSWQoKTogc3RyaW5nIHtcclxuICAgIGxldCB0ZXh0ID0gJyc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcclxuICAgICAgdGV4dCArPSBDT05TVEFOVC5QT1NTSUJMRS5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogQ09OU1RBTlQuUE9TU0lCTEUubGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGV4dDtcclxuICB9XHJcbiAgYWRkUmFuZG9tSWQobm9kZXM6IE11bHRpbGV2ZWxOb2RlW10pOiB2b2lkIHtcclxuICAgIG5vZGVzLmZvckVhY2goKG5vZGU6IE11bHRpbGV2ZWxOb2RlKSA9PiB7XHJcbiAgICAgIG5vZGUuaWQgPSB0aGlzLmdlbmVyYXRlSWQoKTtcclxuICAgICAgaWYgKG5vZGUuaXRlbXMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuYWRkUmFuZG9tSWQobm9kZS5pdGVtcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICByZWN1cnNpdmVDaGVja0lkKG5vZGU6IE11bHRpbGV2ZWxOb2RlLCBub2RlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKG5vZGUuaWQgPT09IG5vZGVJZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChub2RlLml0ZW1zICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gbm9kZS5pdGVtcy5zb21lKChuZXN0ZWROb2RlOiBNdWx0aWxldmVsTm9kZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlQ2hlY2tJZChuZXN0ZWROb2RlLCBub2RlSWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgZmluZE5vZGVSZWN1cnNpdmVseSh7bm9kZXMsIGxpbmssIGlkfToge25vZGVzOiBNdWx0aWxldmVsTm9kZVtdLCBsaW5rPzogc3RyaW5nLCBpZD86IHN0cmluZ30pOiB2b2lkIHtcclxuICAgIGZvciAobGV0IG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IG5vZGVzLmxlbmd0aDsgbm9kZUluZGV4KyspIHtcclxuICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzW25vZGVJbmRleF07XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG5vZGUpIHtcclxuICAgICAgICBpZiAobm9kZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICBpZiAoZW5jb2RlVVJJKG5vZGUubGluaykgPT09IGxpbmspIHtcclxuICAgICAgICAgICAgdGhpcy5mb3VuZExpbmtPYmplY3QgPSBub2RlO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChub2RlLmlkID09PSBpZCkge1xyXG4gICAgICAgICAgICB0aGlzLmZvdW5kTGlua09iamVjdCA9IG5vZGU7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAobm9kZS5pdGVtcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5maW5kTm9kZVJlY3Vyc2l2ZWx5KHtcclxuICAgICAgICAgICAgICAgIG5vZGVzOiBub2RlLml0ZW1zLFxyXG4gICAgICAgICAgICAgICAgbGluazogbGluayA/IGxpbmsgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgaWQ6IGlkID8gaWQgOiBudWxsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0TWF0Y2hlZE9iamVjdEJ5VXJsKG5vZGVzOiBNdWx0aWxldmVsTm9kZVtdLCBsaW5rOiBzdHJpbmcpOiBNdWx0aWxldmVsTm9kZSB7XHJcbiAgICB0aGlzLmZpbmROb2RlUmVjdXJzaXZlbHkoe25vZGVzLCBsaW5rfSk7XHJcbiAgICByZXR1cm4gdGhpcy5mb3VuZExpbmtPYmplY3Q7XHJcbiAgfVxyXG4gIGdldE1hdGNoZWRPYmplY3RCeUlkKG5vZGVzOiBNdWx0aWxldmVsTm9kZVtdLCBpZDogc3RyaW5nKTogTXVsdGlsZXZlbE5vZGUge1xyXG4gICAgdGhpcy5maW5kTm9kZVJlY3Vyc2l2ZWx5KHtub2RlcywgaWR9KTtcclxuICAgIHJldHVybiB0aGlzLmZvdW5kTGlua09iamVjdDtcclxuICB9XHJcbiAgLy8gb3ZlcnJpZGVzIGtleS12YWx1ZSBwaXBlJ3MgZGVmYXVsdCByZW9yZGVyaW5nIChieSBrZXkpIGJ5IGltcGxlbWVudGluZyBkdW1teSBjb21wcmFyZXIgZnVuY3Rpb25cclxuICAvLyBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvbW1vbi9LZXlWYWx1ZVBpcGUjZGVzY3JpcHRpb25cclxuICBrdkR1bW15Q29tcGFyZXJGbigpIHtcclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuICBzZXRNZW51RXhwYW5kQ29sbGFwc2VTdGF0dXMoc3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0pOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VTdGF0dXMubmV4dChzdGF0dXMgPyBzdGF0dXMgOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbCk7XHJcbiAgfVxyXG4gIHNlbGVjdE1lbnVCeUlEKG1lbnVJRDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWVudUlELm5leHQobWVudUlEKTtcclxuICAgIHJldHVybiB0aGlzLmZvdW5kTGlua09iamVjdDtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs new file mode 100644 index 0000000..00fbc03 --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs @@ -0,0 +1,241 @@ +import { Component, Output, EventEmitter, Input, ContentChild, TemplateRef } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { ExpandCollapseStatusEnum } from './app.model'; +import { CONSTANT } from './constants'; +import { MultilevelMenuService } from './multilevel-menu.service'; +import { CommonUtils } from './common-utils'; +import * as i0 from "@angular/core"; +import * as i1 from "@angular/router"; +import * as i2 from "./multilevel-menu.service"; +import * as i3 from "@angular/common"; +import * as i4 from "@angular/cdk/bidi"; +import * as i5 from "@angular/material/list"; +import * as i6 from "./list-item/list-item.component"; +const _c0 = ["listTemplate"]; +function NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template(rf, ctx) { if (rf & 1) { + const _r4 = i0.ɵɵgetCurrentView(); + i0.ɵɵelementStart(0, "ng-list-item", 3); + i0.ɵɵlistener("selectedItem", function NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template_ng_list_item_selectedItem_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.selectedListItem($event)); }); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const node_r2 = ctx.$implicit; + const ctx_r1 = i0.ɵɵnextContext(2); + i0.ɵɵproperty("nodeConfiguration", ctx_r1.nodeConfig)("node", node_r2.value)("level", 1)("submenuLevel", node_r2.key)("selectedNode", ctx_r1.currentNode)("nodeExpandCollapseStatus", ctx_r1.nodeExpandCollapseStatus)("listTemplate", ctx_r1.listTemplate); +} } +function NgMaterialMultilevelMenuComponent_div_0_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 1)(1, "mat-list"); + i0.ɵɵtemplate(2, NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template, 1, 7, "ng-list-item", 2); + i0.ɵɵpipe(3, "keyvalue"); + i0.ɵɵelementEnd()(); +} if (rf & 2) { + const ctx_r0 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngClass", ctx_r0.getClassName())("ngStyle", ctx_r0.getGlobalStyle())("dir", ctx_r0.isRtlLayout() ? "rtl" : "ltr"); + i0.ɵɵadvance(2); + i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(3, 4, ctx_r0.items, ctx_r0.multilevelMenuService.kvDummyComparerFn)); +} } +class NgMaterialMultilevelMenuComponent { + router; + multilevelMenuService; + items; + configuration = null; + selectedItem = new EventEmitter(); + selectedLabel = new EventEmitter(); + menuIsReady = new EventEmitter(); + listTemplate; + expandCollapseStatusSubscription = null; + selectMenuByIDSubscription = null; + currentNode = null; + nodeConfig = { + paddingAtStart: true, + listBackgroundColor: null, + fontColor: null, + selectedListFontColor: null, + interfaceWithRoute: null, + collapseOnSelect: null, + highlightOnSelect: false, + useDividers: true, + rtlLayout: false, + customTemplate: false + }; + isInvalidConfig = true; + isInvalidData = true; + nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + constructor(router, multilevelMenuService) { + this.router = router; + this.multilevelMenuService = multilevelMenuService; + // NOOP + } + ngOnChanges() { + this.detectInvalidConfig(); + this.initExpandCollapseStatus(); + this.initSelectedMenuID(); + if (!this.isInvalidData) { + this.menuIsReady.emit(this.items); + } + } + ngOnInit() { + if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && + this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { + this.router.events + .subscribe((event) => { + if (event instanceof NavigationEnd) { + this.updateNodeByURL(event.urlAfterRedirects); + } + }); + this.updateNodeByURL(this.router.url); + } + } + updateNodeByURL(url) { + const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); + if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) + // && !foundNode.disabled // Prevent route redirection for disabled menu + ) { + this.currentNode = foundNode; + if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) { + this.selectedListItem(foundNode); + } + } + } + checkValidData() { + if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { + console.warn(CONSTANT.ERROR_MESSAGE); + return; + } + this.items = this.items.filter(n => !n.hidden); + this.multilevelMenuService.addRandomId(this.items); + this.isInvalidData = false; + } + detectInvalidConfig() { + if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) { + this.isInvalidConfig = true; + } + else { + this.isInvalidConfig = false; + const config = this.configuration; + if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && + typeof config.paddingAtStart === 'boolean') { + this.nodeConfig.paddingAtStart = config.paddingAtStart; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { + this.nodeConfig.listBackgroundColor = config.listBackgroundColor; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) { + this.nodeConfig.fontColor = config.fontColor; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) { + this.nodeConfig.selectedListFontColor = config.selectedListFontColor; + } + if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && + typeof config.interfaceWithRoute === 'boolean') { + this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; + } + if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && + typeof config.collapseOnSelect === 'boolean') { + this.nodeConfig.collapseOnSelect = config.collapseOnSelect; + } + if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && + typeof config.highlightOnSelect === 'boolean') { + this.nodeConfig.highlightOnSelect = config.highlightOnSelect; + } + if (!CommonUtils.isNullOrUndefined(config.useDividers) && + typeof config.useDividers === 'boolean') { + this.nodeConfig.useDividers = config.useDividers; + } + if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && + typeof config.rtlLayout === 'boolean') { + this.nodeConfig.rtlLayout = config.rtlLayout; + } + if (!CommonUtils.isNullOrUndefined(config.customTemplate) && + typeof config.customTemplate === 'boolean') { + this.nodeConfig.customTemplate = config.customTemplate; + } + } + this.checkValidData(); + } + initExpandCollapseStatus() { + this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ + .subscribe((expandCollapseStatus) => { + this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; + }, () => { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + }); + } + initSelectedMenuID() { + this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); + if (foundNode !== undefined) { + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } + } + }); + } + getClassName() { + if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { + return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; + } + return CONSTANT.DEFAULT_CLASS_NAME; + } + getGlobalStyle() { + if (!this.isInvalidConfig) { + const styles = { + background: null + }; + if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { + styles.background = this.configuration.backgroundColor; + } + return styles; + } + } + isRtlLayout() { + return this.nodeConfig.rtlLayout; + } + selectedListItem(event) { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + this.currentNode = event; + if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { + return; + } + if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { + this.selectedItem.emit(event); + } + else { + this.selectedLabel.emit(event); + } + } + ngOnDestroy() { + this.expandCollapseStatusSubscription.unsubscribe(); + this.selectMenuByIDSubscription.unsubscribe(); + } + static ɵfac = function NgMaterialMultilevelMenuComponent_Factory(t) { return new (t || NgMaterialMultilevelMenuComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.MultilevelMenuService)); }; + static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NgMaterialMultilevelMenuComponent, selectors: [["ng-material-multilevel-menu"]], contentQueries: function NgMaterialMultilevelMenuComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) { + i0.ɵɵcontentQuery(dirIndex, _c0, 7); + } if (rf & 2) { + let _t; + i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listTemplate = _t.first); + } }, inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "ngClass", "ngStyle", "dir", 4, "ngIf"], [3, "ngClass", "ngStyle", "dir"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem", 4, "ngFor", "ngForOf"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem"]], template: function NgMaterialMultilevelMenuComponent_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵtemplate(0, NgMaterialMultilevelMenuComponent_div_0_Template, 4, 7, "div", 0); + } if (rf & 2) { + i0.ɵɵproperty("ngIf", !ctx.isInvalidData && ctx.items.length !== 0); + } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgStyle, i4.Dir, i5.MatList, i6.ListItemComponent, i3.KeyValuePipe], styles: [".amml-container[_ngcontent-%COMP%] .mat-mdc-list.mat-mdc-list-base.mdc-list[_ngcontent-%COMP%]{padding:unset}.amml-item[_ngcontent-%COMP%]{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data[_ngcontent-%COMP%]{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa[_ngcontent-%COMP%]{font-size:20px}.amml-icon[_ngcontent-%COMP%]{line-height:48px}.active[_ngcontent-%COMP%]{color:#1976d2}div[dir=ltr][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-right:15px}div[dir=ltr][_ngcontent-%COMP%] .amml-submenu[_ngcontent-%COMP%]{margin-left:16px}div[dir=rtl][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-left:15px}div[dir=rtl][_ngcontent-%COMP%] .amml-submenu[_ngcontent-%COMP%]{margin-right:16px}"] }); +} +export { NgMaterialMultilevelMenuComponent }; +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgMaterialMultilevelMenuComponent, [{ + type: Component, + args: [{ selector: 'ng-material-multilevel-menu', template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] + }], function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, { items: [{ + type: Input + }], configuration: [{ + type: Input + }], selectedItem: [{ + type: Output + }], selectedLabel: [{ + type: Output + }], menuIsReady: [{ + type: Output + }], listTemplate: [{ + type: ContentChild, + args: ['listTemplate', { static: true }] + }] }); })(); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBa0Qsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0lDSnZDLHVDQVVDO0lBRkMsd05BQWdCLGVBQUEsK0JBQXdCLENBQUEsSUFBQztJQUczQyxpQkFBZTs7OztJQVRiLHFEQUFnQyx1QkFBQSxZQUFBLDZCQUFBLG9DQUFBLDZEQUFBLHFDQUFBOzs7SUFKdEMsOEJBQWdKLGVBQUE7SUFFNUksMEdBV2U7O0lBQ2pCLGlCQUFXLEVBQUE7OztJQWRSLCtDQUEwQixvQ0FBQSw2Q0FBQTtJQUdSLGVBQTREO0lBQTVELDRHQUE0RDs7QURLbkYsTUFLYSxpQ0FBaUM7SUE0QnhCO0lBQ0Q7SUE1QlYsS0FBSyxDQUFtQjtJ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QUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLE9BQU8sS0FBSyxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsRUFBRztZQUMvRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQzsyRkE1S1UsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7Ozs7OztZQ2I5QyxrRkFlTTs7WUFmd0QsbUVBQTBDOzs7U0RhM0YsaUNBQWlDO3VGQUFqQyxpQ0FBaUM7Y0FMN0MsU0FBUzsyQkFDRSw2QkFBNkI7NkZBSzlCLEtBQUs7a0JBQWIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDSSxZQUFZO2tCQUFyQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFDdUMsWUFBWTtrQkFBekQsWUFBWTttQkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJhY2tncm91bmRTdHlsZSwgQ29uZmlndXJhdGlvbiwgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IE11bHRpbGV2ZWxNZW51U2VydmljZSB9IGZyb20gJy4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvbW1vblV0aWxzfSBmcm9tICcuL2NvbW1vbi11dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nTWF0ZXJpYWxNdWx0aWxldmVsTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBNdWx0aWxldmVsTm9kZVtdO1xyXG4gIEBJbnB1dCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24gPSBudWxsO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2RlPigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZExhYmVsID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgbWVudUlzUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2RlW10+KCk7XHJcbiAgQENvbnRlbnRDaGlsZCgnbGlzdFRlbXBsYXRlJywge3N0YXRpYzogdHJ1ZX0pIGxpc3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XHJcblxyXG4gIGV4cGFuZENvbGxhcHNlU3RhdHVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gIHNlbGVjdE1lbnVCeUlEU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gIGN1cnJlbnROb2RlOiBNdWx0aWxldmVsTm9kZSA9IG51bGw7XHJcblxyXG4gIG5vZGVDb25maWc6IENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICBwYWRkaW5nQXRTdGFydDogdHJ1ZSxcclxuICAgIGxpc3RCYWNrZ3JvdW5kQ29sb3I6IG51bGwsXHJcbiAgICBmb250Q29sb3I6IG51bGwsXHJcbiAgICBzZWxlY3RlZExpc3RGb250Q29sb3I6IG51bGwsXHJcbiAgICBpbnRlcmZhY2VXaXRoUm91dGU6IG51bGwsXHJcbiAgICBjb2xsYXBzZU9uU2VsZWN0OiBudWxsLFxyXG4gICAgaGlnaGxpZ2h0T25TZWxlY3Q6IGZhbHNlLFxyXG4gICAgdXNlRGl2aWRlcnM6IHRydWUsXHJcbiAgICBydGxMYXlvdXQ6IGZhbHNlLFxyXG4gICAgY3VzdG9tVGVtcGxhdGU6IGZhbHNlXHJcbiAgfTtcclxuICBpc0ludmFsaWRDb25maWcgPSB0cnVlO1xyXG4gIGlzSW52YWxpZERhdGEgPSB0cnVlO1xyXG4gIG5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1czogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtID0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgcHVibGljIG11bHRpbGV2ZWxNZW51U2VydmljZTogTXVsdGlsZXZlbE1lbnVTZXJ2aWNlKSB7XHJcbiAgICAvLyBOT09QXHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5kZXRlY3RJbnZhbGlkQ29uZmlnKCk7XHJcbiAgICB0aGlzLmluaXRFeHBhbmRDb2xsYXBzZVN0YXR1cygpO1xyXG4gICAgdGhpcy5pbml0U2VsZWN0ZWRNZW51SUQoKTtcclxuICAgIGlmICghdGhpcy5pc0ludmFsaWREYXRhKSB7XHJcbiAgICAgIHRoaXMubWVudUlzUmVhZHkuZW1pdCh0aGlzLml0ZW1zKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0aGlzLmNvbmZpZ3VyYXRpb24pICYmXHJcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUgIT09IG51bGwgJiYgdGhpcy5jb25maWd1cmF0aW9uLmludGVyZmFjZVdpdGhSb3V0ZSkge1xyXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTChldmVudC51cmxBZnRlclJlZGlyZWN0cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBkYXRlTm9kZUJ5VVJMKHRoaXMucm91dGVyLnVybCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVwZGF0ZU5vZGVCeVVSTCh1cmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZm91bmROb2RlID0gdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuZ2V0TWF0Y2hlZE9iamVjdEJ5VXJsKHRoaXMuaXRlbXMsIHVybCk7XHJcbiAgICBpZiAoZm91bmROb2RlICE9PSB1bmRlZmluZWQgJiYgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3VuZE5vZGUubGluaylcclxuICAgICAgLy8gJiYgIWZvdW5kTm9kZS5kaXNhYmxlZCAvLyBQcmV2ZW50IHJvdXRlIHJlZGlyZWN0aW9uIGZvciBkaXNhYmxlZCBtZW51XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jdXJyZW50Tm9kZSA9IGZvdW5kTm9kZTtcclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChmb3VuZE5vZGUuZG9udEVtaXQpICYmICFmb3VuZE5vZGUuZG9udEVtaXQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0oZm91bmROb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjaGVja1ZhbGlkRGF0YSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLml0ZW1zID09PSB1bmRlZmluZWQgfHwgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykgJiYgdGhpcy5pdGVtcy5sZW5ndGggPT09IDApKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihDT05TVEFOVC5FUlJPUl9NRVNTQUdFKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKG4gPT4gIW4uaGlkZGVuKTtcclxuICAgIHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmFkZFJhbmRvbUlkKHRoaXMuaXRlbXMpO1xyXG4gICAgdGhpcy5pc0ludmFsaWREYXRhID0gZmFsc2U7XHJcbiAgfVxyXG4gIGRldGVjdEludmFsaWRDb25maWcoKTogdm9pZCB7XHJcbiAgICBpZiAoQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KHRoaXMuY29uZmlndXJhdGlvbikpIHtcclxuICAgICAgdGhpcy5pc0ludmFsaWRDb25maWcgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc0ludmFsaWRDb25maWcgPSBmYWxzZTtcclxuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5wYWRkaW5nQXRTdGFydCkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLnBhZGRpbmdBdFN0YXJ0ID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcucGFkZGluZ0F0U3RhcnQgPSBjb25maWcucGFkZGluZ0F0U3RhcnQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoY29uZmlnLmxpc3RCYWNrZ3JvdW5kQ29sb3IpKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmxpc3RCYWNrZ3JvdW5kQ29sb3IgPSBjb25maWcubGlzdEJhY2tncm91bmRDb2xvcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShjb25maWcuZm9udENvbG9yKSkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5mb250Q29sb3IgPSBjb25maWcuZm9udENvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGNvbmZpZy5zZWxlY3RlZExpc3RGb250Q29sb3IpKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvciA9IGNvbmZpZy5zZWxlY3RlZExpc3RGb250Q29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlKSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlID0gY29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0KSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcuY29sbGFwc2VPblNlbGVjdCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmNvbGxhcHNlT25TZWxlY3QgPSBjb25maWcuY29sbGFwc2VPblNlbGVjdDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5oaWdobGlnaHRPblNlbGVjdCkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0ID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuaGlnaGxpZ2h0T25TZWxlY3QgPSBjb25maWcuaGlnaGxpZ2h0T25TZWxlY3Q7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcudXNlRGl2aWRlcnMpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy51c2VEaXZpZGVycyA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnVzZURpdmlkZXJzID0gY29uZmlnLnVzZURpdmlkZXJzO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLnJ0bExheW91dCkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLnJ0bExheW91dCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnJ0bExheW91dCA9IGNvbmZpZy5ydGxMYXlvdXQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcuY3VzdG9tVGVtcGxhdGUpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5jdXN0b21UZW1wbGF0ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmN1c3RvbVRlbXBsYXRlID0gY29uZmlnLmN1c3RvbVRlbXBsYXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrVmFsaWREYXRhKCk7XHJcbiAgfVxyXG4gIGluaXRFeHBhbmRDb2xsYXBzZVN0YXR1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VTdGF0dXNTdWJzY3JpcHRpb24gPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5leHBhbmRDb2xsYXBzZVN0YXR1cyRcclxuICAgICAgLnN1YnNjcmliZSggKGV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0pID0+IHtcclxuICAgICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBleHBhbmRDb2xsYXBzZVN0YXR1cyA/IGV4cGFuZENvbGxhcHNlU3RhdHVzIDogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICB9LCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgaW5pdFNlbGVjdGVkTWVudUlEKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RNZW51QnlJRFN1YnNjcmlwdGlvbiA9IHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLnNlbGVjdGVkTWVudUlEJC5zdWJzY3JpYmUoIChzZWxlY3RlZE1lbnVJRDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE1lbnVJRCkge1xyXG4gICAgICAgIGNvbnN0IGZvdW5kTm9kZSA9IHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmdldE1hdGNoZWRPYmplY3RCeUlkKHRoaXMuaXRlbXMsIHNlbGVjdGVkTWVudUlEKTtcclxuICAgICAgICBpZiAoZm91bmROb2RlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBmb3VuZE5vZGU7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0oZm91bmROb2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRDbGFzc05hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5pc0ludmFsaWRDb25maWcgJiYgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0aGlzLmNvbmZpZ3VyYXRpb24uY2xhc3NuYW1lKSkge1xyXG4gICAgICByZXR1cm4gYCR7Q09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FfSAke3RoaXMuY29uZmlndXJhdGlvbi5jbGFzc25hbWV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBDT05TVEFOVC5ERUZBVUxUX0NMQVNTX05BTUU7XHJcbiAgfVxyXG4gIGdldEdsb2JhbFN0eWxlKCk6IEJhY2tncm91bmRTdHlsZSB7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkQ29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IHN0eWxlcyA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kIDogbnVsbFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0aGlzLmNvbmZpZ3VyYXRpb24uYmFja2dyb3VuZENvbG9yKSkge1xyXG4gICAgICAgIHN0eWxlcy5iYWNrZ3JvdW5kID0gdGhpcy5jb25maWd1cmF0aW9uLmJhY2tncm91bmRDb2xvcjtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3R5bGVzO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc1J0bExheW91dCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGVDb25maWcucnRsTGF5b3V0O1xyXG4gIH1cclxuICBzZWxlY3RlZExpc3RJdGVtKGV2ZW50OiBNdWx0aWxldmVsTm9kZSk6IHZvaWQge1xyXG4gICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuICAgIHRoaXMuY3VycmVudE5vZGUgPSBldmVudDtcclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoZXZlbnQuZG9udEVtaXQpICYmIGV2ZW50LmRvbnRFbWl0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5pdGVtcyA9PT0gdW5kZWZpbmVkICYmICghZXZlbnQub25TZWxlY3RlZCB8fCB0eXBlb2YgZXZlbnQub25TZWxlY3RlZCAhPT0gJ2Z1bmN0aW9uJykgKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmVtaXQoZXZlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExhYmVsLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VTdGF0dXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2VsZWN0TWVudUJ5SURTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJnZXRDbGFzc05hbWUoKVwiIFtuZ1N0eWxlXT1cImdldEdsb2JhbFN0eWxlKClcIiAqbmdJZj0nIWlzSW52YWxpZERhdGEgJiYgaXRlbXMubGVuZ3RoICE9PSAwJyBbZGlyXT1cImlzUnRsTGF5b3V0KCkgPyAncnRsJyA6ICdsdHInXCI+XHJcbiAgPG1hdC1saXN0PlxyXG4gICAgPG5nLWxpc3QtaXRlbVxyXG4gICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBpdGVtcyB8IGtleXZhbHVlOiBtdWx0aWxldmVsTWVudVNlcnZpY2Uua3ZEdW1teUNvbXBhcmVyRm5cIlxyXG4gICAgICBbbm9kZUNvbmZpZ3VyYXRpb25dPSdub2RlQ29uZmlnJ1xyXG4gICAgICBbbm9kZV09J25vZGUudmFsdWUnXHJcbiAgICAgIFtsZXZlbF09XCIxXCJcclxuICAgICAgW3N1Ym1lbnVMZXZlbF09XCJub2RlLmtleVwiXHJcbiAgICAgIFtzZWxlY3RlZE5vZGVdPSdjdXJyZW50Tm9kZSdcclxuICAgICAgW25vZGVFeHBhbmRDb2xsYXBzZVN0YXR1c109J25vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cydcclxuICAgICAgKHNlbGVjdGVkSXRlbSk9XCJzZWxlY3RlZExpc3RJdGVtKCRldmVudClcIlxyXG4gICAgICBbbGlzdFRlbXBsYXRlXSA9IFwibGlzdFRlbXBsYXRlXCJcclxuICAgID5cclxuICAgIDwvbmctbGlzdC1pdGVtPlxyXG4gIDwvbWF0LWxpc3Q+XHJcbjwvZGl2PlxyXG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs new file mode 100644 index 0000000..aaa2046 --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs @@ -0,0 +1,38 @@ +import { CommonModule } from '@angular/common'; +import { NgModule } from '@angular/core'; +import { RouterModule } from '@angular/router'; +import { ListItemComponent } from './list-item/list-item.component'; +import { MaterialsModule } from './materials.module'; +import { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component'; +import { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component'; +import * as i0 from "@angular/core"; +class NgMaterialMultilevelMenuModule { + static ɵfac = function NgMaterialMultilevelMenuModule_Factory(t) { return new (t || NgMaterialMultilevelMenuModule)(); }; + static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgMaterialMultilevelMenuModule }); + static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, + MaterialsModule, + RouterModule] }); +} +export { NgMaterialMultilevelMenuModule }; +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgMaterialMultilevelMenuModule, [{ + type: NgModule, + args: [{ + imports: [ + CommonModule, + MaterialsModule, + RouterModule, + ], + declarations: [ + NgMaterialMultilevelMenuComponent, + ListItemComponent, + ListItemContentComponent, + ], + exports: [NgMaterialMultilevelMenuComponent] + }] + }], null, null); })(); +(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgMaterialMultilevelMenuModule, { declarations: [NgMaterialMultilevelMenuComponent, + ListItemComponent, + ListItemContentComponent], imports: [CommonModule, + MaterialsModule, + RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); })(); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckcsTUFhYSw4QkFBOEI7d0ZBQTlCLDhCQUE4Qjs0REFBOUIsOEJBQThCO2dFQVh2QyxZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVk7O1NBU0gsOEJBQThCO3VGQUE5Qiw4QkFBOEI7Y0FiMUMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGVBQWU7b0JBQ2YsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osaUNBQWlDO29CQUNqQyxpQkFBaUI7b0JBQ2pCLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsaUNBQWlDLENBQUM7YUFDN0M7O3dGQUNZLDhCQUE4QixtQkFOdkMsaUNBQWlDO1FBQ2pDLGlCQUFpQjtRQUNqQix3QkFBd0IsYUFQeEIsWUFBWTtRQUNaLGVBQWU7UUFDZixZQUFZLGFBT0osaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdGVyaWFsc01vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWxzLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5nTWF0ZXJpYWxNdWx0aWxldmVsTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpc3RJdGVtQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdGVyaWFsc01vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50LFxyXG4gICAgTGlzdEl0ZW1Db21wb25lbnQsXHJcbiAgICBMaXN0SXRlbUNvbnRlbnRDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51TW9kdWxlIHt9XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/ng-material-multilevel-menu.mjs b/dist/ng-material-multilevel-menu/esm2022/ng-material-multilevel-menu.mjs new file mode 100644 index 0000000..3bfbe4c --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/ng-material-multilevel-menu.mjs @@ -0,0 +1,5 @@ +/** + * Generated bundle index. Do not edit. + */ +export * from './public_api'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/public_api.mjs b/dist/ng-material-multilevel-menu/esm2022/public_api.mjs new file mode 100644 index 0000000..3575aee --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/public_api.mjs @@ -0,0 +1,9 @@ +/* + * Public API Surface of ng-material-multilevel-menu + */ +export * from './lib/ng-material-multilevel-menu.module'; +export * from './lib/ng-material-multilevel-menu.component'; +export * from './lib/multilevel-menu.service'; +export * from './lib/animation'; +export { ExpandCollapseStatusEnum } from './lib/app.model'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljX2FwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvcHVibGljX2FwaS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQTs7R0FFRztBQUVILGNBQWMsMENBQTBDLENBQUM7QUFDekQsY0FBYyw2Q0FBNkMsQ0FBQztBQUM1RCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsaUJBQWlCLENBQUM7QUFDaEMsT0FBTyxFQUFpQyx3QkFBd0IsRUFBRSxNQUFNLGlCQUFpQixDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiLypcclxuICogUHVibGljIEFQSSBTdXJmYWNlIG9mIG5nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudVxyXG4gKi9cclxuXHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5tb2R1bGUnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50JztcclxuZXhwb3J0ICogZnJvbSAnLi9saWIvbXVsdGlsZXZlbC1tZW51LnNlcnZpY2UnO1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9hbmltYXRpb24nO1xyXG5leHBvcnQgeyBNdWx0aWxldmVsTm9kZSwgQ29uZmlndXJhdGlvbiwgRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtIH0gZnJvbSAnLi9saWIvYXBwLm1vZGVsJztcclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/fesm2015/ng-material-multilevel-menu.js b/dist/ng-material-multilevel-menu/fesm2015/ng-material-multilevel-menu.js deleted file mode 100644 index 58b63e8..0000000 --- a/dist/ng-material-multilevel-menu/fesm2015/ng-material-multilevel-menu.js +++ /dev/null @@ -1,613 +0,0 @@ -import { CommonModule } from '@angular/common'; -import { EventEmitter, Component, Input, Output, NgModule, ContentChild } from '@angular/core'; -import { Router, NavigationEnd, RouterModule } from '@angular/router'; -import { Subject } from 'rxjs'; -import { trigger, state, style, transition, group, animate } from '@angular/animations'; -import { MatRippleModule } from '@angular/material/core'; -import { MatIconModule } from '@angular/material/icon'; -import { MatListModule } from '@angular/material/list'; - -var ExpandCollapseStatusEnum; -(function (ExpandCollapseStatusEnum) { - ExpandCollapseStatusEnum["expand"] = "expand"; - ExpandCollapseStatusEnum["collapse"] = "collapse"; - ExpandCollapseStatusEnum["neutral"] = "neutral"; -})(ExpandCollapseStatusEnum || (ExpandCollapseStatusEnum = {})); - -const CONSTANT = { - PADDING_AT_START: true, - DEFAULT_CLASS_NAME: `amml-container`, - DEFAULT_LIST_CLASS_NAME: `amml-item`, - SELECTED_LIST_CLASS_NAME: `selected-amml-item`, - ACTIVE_ITEM_CLASS_NAME: `active-amml-item`, - DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`, - SUBMENU_ITEM_CLASS_NAME: `amml-submenu`, - HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`, - DEFAULT_SELECTED_FONT_COLOR: `#1976d2`, - DEFAULT_LIST_BACKGROUND_COLOR: `transparent`, - DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`, - DEFAULT_HREF_TARGET_TYPE: '_self', - ERROR_MESSAGE: `Invalid data for material Multilevel List Component` -}; - -class MultilevelMenuService { - constructor() { - this.expandCollapseStatus = new Subject(); - this.expandCollapseStatus$ = this.expandCollapseStatus.asObservable(); - this.selectedMenuID = new Subject(); - this.selectedMenuID$ = this.selectedMenuID.asObservable(); - } - generateId() { - let text = ''; - const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789'; - for (let i = 0; i < 20; i++) { - text += possible.charAt(Math.floor(Math.random() * possible.length)); - } - return text; - } - addRandomId(nodes) { - nodes.forEach((node) => { - node.id = this.generateId(); - if (node.items !== undefined) { - this.addRandomId(node.items); - } - }); - } - recursiveCheckId(node, nodeId) { - if (node.id === nodeId) { - return true; - } - else { - if (node.items !== undefined) { - return node.items.some((nestedNode) => { - return this.recursiveCheckId(nestedNode, nodeId); - }); - } - } - } - findNodeRecursively({ nodes, link, id }) { - for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { - const node = nodes[nodeIndex]; - for (const key in node) { - if (node.hasOwnProperty(key)) { - if (encodeURI(node.link) === link) { - this.foundLinkObject = node; - } - else if (node.id === id) { - this.foundLinkObject = node; - } - else { - if (node.items !== undefined) { - this.findNodeRecursively({ - nodes: node.items, - link: link ? link : null, - id: id ? id : null - }); - } - } - } - } - } - } - getMatchedObjectByUrl(nodes, link) { - this.findNodeRecursively({ nodes, link }); - return this.foundLinkObject; - } - getMatchedObjectById(nodes, id) { - this.findNodeRecursively({ nodes, id }); - return this.foundLinkObject; - } - // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function - // https://angular.io/api/common/KeyValuePipe#description - kvDummyComparerFn() { - return 0; - } - setMenuExapandCollpaseStatus(status) { - this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral); - } - selectMenuByID(menuID) { - this.selectedMenuID.next(menuID); - return this.foundLinkObject; - } -} - -const SlideInOut = trigger('SlideInOut', [ - state('in', style({ height: '*', opacity: 0 })), - transition(':leave', [ - style({ height: '*', opacity: 0.2 }), - group([ - animate(200, style({ height: 0 })), - animate('200ms ease-out', style({ opacity: 0 })) - ]) - ]), - transition(':enter', [ - style({ height: '0', opacity: 0 }), - group([ - animate(200, style({ height: '*' })), - animate('400ms ease-out', style({ opacity: 1 })) - ]) - ]) -]); -const ExpandedLTR = trigger('ExpandedLTR', [ - state('no', style({ transform: 'rotate(-90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), - transition('no => yes', animate(200)), - transition('yes => no', animate(200)) -]); -const ExpandedRTL = trigger('ExpandedRTL', [ - state('no', style({ transform: 'rotate(90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), - transition('no => yes', animate(200)), - transition('yes => no', animate(200)) -]); - -class ListItemComponent { - constructor(router, multilevelMenuService) { - this.router = router; - this.multilevelMenuService = multilevelMenuService; - this.level = 1; - this.submenuLevel = 0; - this.nodeConfiguration = null; - this.nodeExpandCollapseStatus = null; - this.listTemplate = null; - this.selectedItem = new EventEmitter(); - this.isSelected = false; - this.expanded = false; - this.firstInitializer = false; - this.selectedListClasses = { - [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, - [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, - [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, - }; - } - ngOnChanges() { - this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; - this.node.hasChilden = this.hasItems(); - if (this.selectedNode !== undefined && this.selectedNode !== null) { - this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); - } - this.setExpandCollapseStatus(); - } - ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; - if (this.node.faIcon !== null && - this.node.faIcon !== undefined && - this.node.faIcon.match(/\bfa\w(?!-)/) === null) { - this.node.faIcon = `fas ${this.node.faIcon}`; - } - this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; - if (typeof this.node.expanded === 'boolean') { - this.expanded = this.node.expanded; - } - this.setClasses(); - } - setSelectedClass(isFound) { - if (isFound) { - if (!this.firstInitializer) { - this.expanded = true; - } - this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined ? true : false; - } - else { - this.isSelected = false; - if (this.nodeConfiguration.collapseOnSelect) { - this.node.expanded = false; - this.expanded = false; - } - } - this.selectedListClasses = { - [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, - [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected, - [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id, - [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled, - [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true, - }; - this.node.isSelected = this.isSelected; - this.setClasses(); - } - getPaddingAtStart() { - return this.nodeConfiguration.paddingAtStart ? true : false; - } - getListStyle() { - const styles = { - background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, - color: CONSTANT.DEFAULT_LIST_FONT_COLOR - }; - if (this.nodeConfiguration.listBackgroundColor !== null) { - styles.background = this.nodeConfiguration.listBackgroundColor; - } - if (this.isSelected) { - this.nodeConfiguration.selectedListFontColor !== null ? - styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; - } - else if (this.nodeConfiguration.fontColor !== null) { - styles.color = this.nodeConfiguration.fontColor; - } - return styles; - } - getListIcon(node) { - if (node.icon !== null && node.icon !== undefined && node.icon !== '') { - return `icon`; - } - else if (node.faIcon !== null && node.faIcon !== undefined && node.faIcon !== '') { - return `faicon`; - } - else if (node.imageIcon !== null && node.imageIcon !== undefined && node.imageIcon !== '') { - return `imageicon`; - } - else if (node.svgIcon !== null && node.svgIcon !== undefined && node.svgIcon !== '') { - return `svgicon`; - } - else { - return ``; - } - } - getSelectedSvgIcon() { - if (this.isSelected && this.node.activeSvgIcon) { - return this.node.activeSvgIcon; - } - return this.node.svgIcon; - } - getSelectedIcon() { - if (this.isSelected && this.node.activeIcon) { - return this.node.activeIcon; - } - return this.node.icon; - } - getSelectedFaIcon() { - if (this.isSelected && this.node.activeFaIcon) { - return this.node.activeFaIcon; - } - return this.node.faIcon; - } - getSelectedImageIcon() { - if (this.isSelected && this.node.activeImageIcon) { - return this.node.activeImageIcon; - } - return this.node.imageIcon; - } - getHrefTargetType() { - if (this.node.hrefTargetType) { - return this.node.hrefTargetType; - } - return CONSTANT.DEFAULT_HREF_TARGET_TYPE; - } - hasItems() { - return this.nodeChildren.length > 0 ? true : false; - } - isRtlLayout() { - return this.nodeConfiguration.rtlLayout; - } - setClasses() { - this.classes = { - [`level-${this.level + 1}`]: true, - [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), - [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() - }; - } - setExpandCollapseStatus() { - if (this.nodeExpandCollapseStatus !== null && this.nodeExpandCollapseStatus !== undefined) { - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { - this.expanded = true; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = true; - } - } - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { - this.expanded = false; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = false; - } - } - } - } - expand(node) { - if (node.disabled) { - return; - } - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - this.expanded = !this.expanded; - this.node.expanded = this.expanded; - this.firstInitializer = true; - this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null - && this.nodeConfiguration.interfaceWithRoute - && node.link !== undefined - && node.link) { - this.router.navigate([node.link], node.navigationExtras); - } - else if (node.onSelected && typeof node.onSelected === 'function') { - node.onSelected(node); - this.selectedListItem(node); - } - else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { - this.selectedListItem(node); - } - } - selectedListItem(node) { - this.selectedItem.emit(node); - } -} -ListItemComponent.decorators = [ - { type: Component, args: [{ - selector: 'ng-list-item', - template: "
\n \n
\n \n
\n \n\n \n
\n \n \n
\n
\n\n\n\n\n \n \n \n \n\n\n\n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
\n \n \n \n \n {{getSelectedIcon()}}\n \n \n \n \"{{node.label}}\"\n
\n {{node.label}}\n
\n
\n \n keyboard_arrow_down\n \n \n keyboard_arrow_down\n \n
\n
", - animations: [SlideInOut, ExpandedLTR, ExpandedRTL], - styles: [".amml-item{cursor:pointer;position:relative}.anml-link{color:inherit;text-decoration:none;text-transform:capitalize}.anml-data,.anml-link{display:flex;justify-content:flex-start;width:100%}.anml-data{height:48px}.disabled-amml-item{opacity:.5;pointer-events:none;text-decoration:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{font-weight:400;line-height:48px}.amml-svg-icon{height:22px;margin-top:-12px;width:22px}.amml-icon-arrow-container{align-items:center;direction:ltr;display:flex}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=ltr].amml-submenu,div[dir=rtl] .amml-icon{margin-left:16px}div[dir=rtl].amml-submenu{margin-right:16px}"] - },] } -]; -ListItemComponent.ctorParameters = () => [ - { type: Router }, - { type: MultilevelMenuService } -]; -ListItemComponent.propDecorators = { - node: [{ type: Input }], - level: [{ type: Input }], - submenuLevel: [{ type: Input }], - selectedNode: [{ type: Input }], - nodeConfiguration: [{ type: Input }], - nodeExpandCollapseStatus: [{ type: Input }], - listTemplate: [{ type: Input }], - selectedItem: [{ type: Output }] -}; - -class MaterialsModule { -} -MaterialsModule.decorators = [ - { type: NgModule, args: [{ - imports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ], - declarations: [], - exports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ] - },] } -]; - -class NgMaterialMultilevelMenuComponent { - constructor(router, multilevelMenuService) { - this.router = router; - this.multilevelMenuService = multilevelMenuService; - this.configuration = null; - this.selectedItem = new EventEmitter(); - this.selectedLabel = new EventEmitter(); - this.menuIsReady = new EventEmitter(); - this.expandCollapseStatusSubscription = null; - this.selectMenuByIDSubscription = null; - this.currentNode = null; - this.nodeConfig = { - paddingAtStart: true, - listBackgroundColor: null, - fontColor: null, - selectedListFontColor: null, - interfaceWithRoute: null, - collapseOnSelect: null, - highlightOnSelect: false, - useDividers: true, - rtlLayout: false, - customTemplate: false, - }; - this.isInvalidConfig = true; - this.isInvalidData = true; - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - } - ngOnChanges() { - this.detectInvalidConfig(); - this.initExpandCollapseStatus(); - this.initSelectedMenuID(); - if (!this.isInvalidData) { - this.menuIsReady.emit(this.items); - } - } - ngOnInit() { - if (this.configuration !== null && this.configuration !== undefined && this.configuration !== '' && - this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { - this.router.events - .subscribe((event) => { - if (event instanceof NavigationEnd) { - this.updateNodeByURL(event.urlAfterRedirects); - } - }); - this.updateNodeByURL(this.router.url); - } - } - updateNodeByURL(url) { - const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && - foundNode.link !== undefined && - foundNode.link !== null && - foundNode.link !== '' - // && !foundNode.disabled // Prevent route redirection for disabled menu - ) { - this.currentNode = foundNode; - if (foundNode.dontEmit !== undefined && foundNode.dontEmit !== null && !foundNode.dontEmit) { - this.selectedListItem(foundNode); - } - } - } - checkValidData() { - if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { - console.warn(CONSTANT.ERROR_MESSAGE); - } - else { - this.items = this.items.filter(n => !n.hidden); - this.multilevelMenuService.addRandomId(this.items); - this.isInvalidData = false; - } - } - detectInvalidConfig() { - if (this.configuration === null || this.configuration === undefined || this.configuration === '') { - this.isInvalidConfig = true; - } - else { - this.isInvalidConfig = false; - const config = this.configuration; - if (config.paddingAtStart !== undefined && config.paddingAtStart !== null && typeof config.paddingAtStart === 'boolean') { - this.nodeConfig.paddingAtStart = config.paddingAtStart; - } - if (config.listBackgroundColor !== '' && - config.listBackgroundColor !== null && - config.listBackgroundColor !== undefined) { - this.nodeConfig.listBackgroundColor = config.listBackgroundColor; - } - if (config.fontColor !== '' && - config.fontColor !== null && - config.fontColor !== undefined) { - this.nodeConfig.fontColor = config.fontColor; - } - if (config.selectedListFontColor !== '' && - config.selectedListFontColor !== null && - config.selectedListFontColor !== undefined) { - this.nodeConfig.selectedListFontColor = config.selectedListFontColor; - } - if (config.interfaceWithRoute !== null && - config.interfaceWithRoute !== undefined && - typeof config.interfaceWithRoute === 'boolean') { - this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; - } - if (config.collapseOnSelect !== null && - config.collapseOnSelect !== undefined && - typeof config.collapseOnSelect === 'boolean') { - this.nodeConfig.collapseOnSelect = config.collapseOnSelect; - } - if (config.highlightOnSelect !== null && - config.highlightOnSelect !== undefined && - typeof config.highlightOnSelect === 'boolean') { - this.nodeConfig.highlightOnSelect = config.highlightOnSelect; - } - if (config.useDividers !== null && - config.useDividers !== undefined && - typeof config.useDividers === 'boolean') { - this.nodeConfig.useDividers = config.useDividers; - } - if (config.rtlLayout !== null && - config.rtlLayout !== undefined && - typeof config.rtlLayout === 'boolean') { - this.nodeConfig.rtlLayout = config.rtlLayout; - } - if (config.customTemplate !== null && - config.customTemplate !== undefined && - typeof config.customTemplate === 'boolean') { - this.nodeConfig.customTemplate = config.customTemplate; - } - } - this.checkValidData(); - } - initExpandCollapseStatus() { - this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ - .subscribe((expandCollapseStatus) => { - this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; - }, () => { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - }); - } - initSelectedMenuID() { - this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); - } - } - }); - } - getClassName() { - if (this.isInvalidConfig) { - return CONSTANT.DEFAULT_CLASS_NAME; - } - else { - if (this.configuration.classname !== '' && this.configuration.classname !== null && this.configuration.classname !== undefined) { - return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; - } - else { - return CONSTANT.DEFAULT_CLASS_NAME; - } - } - } - getGlobalStyle() { - if (!this.isInvalidConfig) { - const styles = { - background: null - }; - if (this.configuration.backgroundColor !== '' && - this.configuration.backgroundColor !== null && - this.configuration.backgroundColor !== undefined) { - styles.background = this.configuration.backgroundColor; - } - return styles; - } - } - isRtlLayout() { - return this.nodeConfig.rtlLayout; - } - selectedListItem(event) { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - this.currentNode = event; - if (event.dontEmit !== undefined && event.dontEmit !== null && event.dontEmit) { - return; - } - if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { - this.selectedItem.emit(event); - } - else { - this.selectedLabel.emit(event); - } - } - ngOnDestroy() { - this.expandCollapseStatusSubscription.unsubscribe(); - this.selectMenuByIDSubscription.unsubscribe(); - } -} -NgMaterialMultilevelMenuComponent.decorators = [ - { type: Component, args: [{ - selector: 'ng-material-multilevel-menu', - template: "
\n \n \n \n \n
\n", - styles: [".amml-container .mat-list-base{padding-top:unset}.amml-item{display:flex;justify-content:space-between;line-height:48px;position:relative}.anml-data{display:flex;justify-content:flex-start;text-transform:capitalize;width:100%}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}"] - },] } -]; -NgMaterialMultilevelMenuComponent.ctorParameters = () => [ - { type: Router }, - { type: MultilevelMenuService } -]; -NgMaterialMultilevelMenuComponent.propDecorators = { - items: [{ type: Input }], - configuration: [{ type: Input }], - selectedItem: [{ type: Output }], - selectedLabel: [{ type: Output }], - menuIsReady: [{ type: Output }], - listTemplate: [{ type: ContentChild, args: ['listTemplate', { static: true },] }] -}; - -class NgMaterialMultilevelMenuModule { -} -NgMaterialMultilevelMenuModule.decorators = [ - { type: NgModule, args: [{ - imports: [ - CommonModule, - MaterialsModule, - RouterModule, - ], - declarations: [ - NgMaterialMultilevelMenuComponent, - ListItemComponent, - ], - exports: [NgMaterialMultilevelMenuComponent] - },] } -]; - -/* - * Public API Surface of ng-material-multilevel-menu - */ - -/** - * Generated bundle index. Do not edit. - */ - -export { ExpandCollapseStatusEnum, ExpandedLTR, ExpandedRTL, MultilevelMenuService, NgMaterialMultilevelMenuComponent, NgMaterialMultilevelMenuModule, SlideInOut, MaterialsModule as ɵa, ListItemComponent as ɵb }; -//# sourceMappingURL=ng-material-multilevel-menu.js.map diff --git a/dist/ng-material-multilevel-menu/fesm2015/ng-material-multilevel-menu.js.map b/dist/ng-material-multilevel-menu/fesm2015/ng-material-multilevel-menu.js.map deleted file mode 100644 index 308ba24..0000000 --- a/dist/ng-material-multilevel-menu/fesm2015/ng-material-multilevel-menu.js.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ng-material-multilevel-menu.js","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../../projects/ng-material-multilevel-menu/src/ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from '@angular/router';\n\nexport interface MultilevelNodes {\n id?: string;\n label: string;\n faIcon?: string;\n icon?: string;\n imageIcon?: string;\n svgIcon?: string;\n activeFaIcon?: string;\n activeIcon?: string;\n activeImageIcon?: string;\n activeSvgIcon?: string;\n hidden?: boolean;\n link?: string;\n externalRedirect?: boolean;\n hrefTargetType?: string;\n data?: any;\n items?: MultilevelNodes[];\n onSelected?: Function;\n disabled?: boolean;\n expanded?: boolean;\n navigationExtras?: NavigationExtras;\n dontEmit?: boolean;\n hasChilden?: boolean;\n isSelected?: boolean;\n}\n\nexport interface Configuration {\n classname?: string;\n paddingAtStart?: boolean;\n backgroundColor?: string;\n listBackgroundColor?: string;\n fontColor?: string;\n selectedListFontColor?: string;\n interfaceWithRoute?: boolean;\n collapseOnSelect?: boolean;\n highlightOnSelect?: boolean;\n useDividers?: boolean;\n rtlLayout?: boolean;\n customTemplate?: boolean;\n}\n\nexport interface BackgroundStyle {\n background: string;\n}\n\nexport interface ListStyle {\n background: string;\n color: string;\n}\n\nexport enum ExpandCollapseStatusEnum {\n expand = 'expand',\n collapse = 'collapse',\n neutral = 'neutral',\n}\n","export const CONSTANT = {\n PADDING_AT_START: true,\n DEFAULT_CLASS_NAME: `amml-container`,\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\n DEFAULT_HREF_TARGET_TYPE: '_self',\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`\n};\n","import { Injectable } from '@angular/core';\nimport { Observable, Subject } from 'rxjs';\n\nimport { MultilevelNodes, ExpandCollapseStatusEnum } from './app.model';\nexport class MultilevelMenuService {\n foundLinkObject: MultilevelNodes;\n expandCollapseStatus: Subject = new Subject();\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\n\n selectedMenuID: Subject = new Subject();\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\n\n private generateId(): string {\n let text = '';\n const possible = 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789';\n for (let i = 0; i < 20; i++) {\n text += possible.charAt(Math.floor(Math.random() * possible.length));\n }\n return text;\n }\n addRandomId(nodes: MultilevelNodes[]): void {\n nodes.forEach((node: MultilevelNodes) => {\n node.id = this.generateId();\n if (node.items !== undefined) {\n this.addRandomId(node.items);\n }\n });\n }\n recursiveCheckId(node: MultilevelNodes, nodeId: string): boolean {\n if (node.id === nodeId) {\n return true;\n } else {\n if (node.items !== undefined) {\n return node.items.some((nestedNode: MultilevelNodes) => {\n return this.recursiveCheckId(nestedNode, nodeId);\n });\n }\n }\n }\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNodes[], link?: string, id?: string}): void {\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\n const node = nodes[nodeIndex];\n for (const key in node) {\n if (node.hasOwnProperty(key)) {\n if (encodeURI(node.link) === link) {\n this.foundLinkObject = node;\n } else if (node.id === id) {\n this.foundLinkObject = node;\n } else {\n if (node.items !== undefined) {\n this.findNodeRecursively({\n nodes: node.items,\n link: link ? link : null,\n id: id ? id : null\n });\n }\n }\n }\n }\n }\n }\n getMatchedObjectByUrl(nodes: MultilevelNodes[], link: string): MultilevelNodes {\n this.findNodeRecursively({nodes, link});\n return this.foundLinkObject;\n }\n getMatchedObjectById(nodes: MultilevelNodes[], id: string): MultilevelNodes {\n this.findNodeRecursively({nodes, id});\n return this.foundLinkObject;\n }\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\n // https://angular.io/api/common/KeyValuePipe#description\n kvDummyComparerFn() {\n return 0;\n }\n setMenuExapandCollpaseStatus(status: ExpandCollapseStatusEnum): void {\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\n }\n selectMenuByID(menuID: string) {\n this.selectedMenuID.next(menuID);\n return this.foundLinkObject;\n }\n}\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\n\nexport const SlideInOut = trigger('SlideInOut', [\n state(\n 'in',\n style({ height: '*', opacity: 0 })),\n transition(':leave', [\n style({ height: '*', opacity: 0.2 }),\n group([\n animate(200, style({ height: 0 })),\n animate('200ms ease-out', style({ opacity: 0 }))\n ])\n ]),\n transition(':enter', [\n style({ height: '0', opacity: 0 }),\n group([\n animate(200, style({ height: '*' })),\n animate('400ms ease-out', style({ opacity: 1 }))\n ])\n ])\n ]\n);\n\nexport const ExpandedLTR = trigger('ExpandedLTR', [\n state('no', style({ transform: 'rotate(-90deg)' })),\n state('yes', style({ transform: 'rotate(0deg)', })),\n\n transition('no => yes', animate(200)),\n transition('yes => no', animate(200))\n]);\n\nexport const ExpandedRTL = trigger('ExpandedRTL', [\n state('no', style({ transform: 'rotate(90deg)' })),\n state('yes', style({ transform: 'rotate(0deg)', })),\n\n transition('no => yes', animate(200)),\n transition('yes => no', animate(200))\n]);\n","import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core';\nimport { Router } from '@angular/router';\n\nimport { Configuration, ListStyle, MultilevelNodes, ExpandCollapseStatusEnum } from './../app.model';\nimport { CONSTANT } from './../constants';\nimport { MultilevelMenuService } from './../multilevel-menu.service';\nimport { SlideInOut, ExpandedLTR, ExpandedRTL } from './../animation';\n@Component({\n selector: 'ng-list-item',\n templateUrl: './list-item.component.html',\n styleUrls: ['./list-item.component.css'],\n animations: [SlideInOut, ExpandedLTR, ExpandedRTL]\n})\nexport class ListItemComponent implements OnChanges, OnInit {\n @Input() node: MultilevelNodes;\n @Input() level = 1;\n @Input() submenuLevel = 0;\n @Input() selectedNode: MultilevelNodes;\n @Input() nodeConfiguration: Configuration = null;\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\n @Input() listTemplate: TemplateRef = null;\n\n @Output() selectedItem = new EventEmitter();\n\n isSelected = false;\n expanded = false;\n firstInitializer = false;\n\n nodeChildren: MultilevelNodes[];\n classes: { [index: string]: boolean };\n selectedListClasses: { [index: string]: boolean };\n\n constructor(\n private router: Router,\n public multilevelMenuService: MultilevelMenuService\n ) {\n this.selectedListClasses = {\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\n };\n }\n ngOnChanges() {\n this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : [];\n this.node.hasChilden = this.hasItems();\n\n if (this.selectedNode !== undefined && this.selectedNode !== null) {\n this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id));\n }\n this.setExpandCollapseStatus();\n }\n ngOnInit() {\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled;\n\n if (this.node.faIcon !== null &&\n this.node.faIcon !== undefined &&\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null) {\n this.node.faIcon = `fas ${this.node.faIcon}`;\n }\n\n this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true;\n if (typeof this.node.expanded === 'boolean') {\n this.expanded = this.node.expanded;\n }\n this.setClasses();\n }\n setSelectedClass(isFound: boolean): void {\n if (isFound) {\n if (!this.firstInitializer) {\n this.expanded = true;\n }\n this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined ? true : false;\n } else {\n this.isSelected = false;\n if (this.nodeConfiguration.collapseOnSelect) {\n this.node.expanded = false;\n this.expanded = false;\n }\n }\n this.selectedListClasses = {\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\n };\n this.node.isSelected = this.isSelected;\n this.setClasses();\n }\n getPaddingAtStart(): boolean {\n return this.nodeConfiguration.paddingAtStart ? true : false;\n }\n getListStyle(): ListStyle {\n const styles = {\n background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR,\n color: CONSTANT.DEFAULT_LIST_FONT_COLOR\n };\n if (this.nodeConfiguration.listBackgroundColor !== null) {\n styles.background = this.nodeConfiguration.listBackgroundColor;\n }\n if (this.isSelected) {\n this.nodeConfiguration.selectedListFontColor !== null ?\n styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR;\n } else if (this.nodeConfiguration.fontColor !== null) {\n styles.color = this.nodeConfiguration.fontColor;\n }\n return styles;\n }\n getListIcon(node: MultilevelNodes): string {\n if (node.icon !== null && node.icon !== undefined && node.icon !== '') {\n return `icon`;\n } else if (node.faIcon !== null && node.faIcon !== undefined && node.faIcon !== '') {\n return `faicon`;\n } else if (node.imageIcon !== null && node.imageIcon !== undefined && node.imageIcon !== '') {\n return `imageicon`;\n } else if (node.svgIcon !== null && node.svgIcon !== undefined && node.svgIcon !== '') {\n return `svgicon`;\n } else {\n return ``;\n }\n }\n getSelectedSvgIcon() {\n if (this.isSelected && this.node.activeSvgIcon) {\n return this.node.activeSvgIcon;\n }\n return this.node.svgIcon;\n }\n getSelectedIcon() {\n if (this.isSelected && this.node.activeIcon) {\n return this.node.activeIcon;\n }\n return this.node.icon;\n }\n getSelectedFaIcon() {\n if (this.isSelected && this.node.activeFaIcon) {\n return this.node.activeFaIcon;\n }\n return this.node.faIcon;\n }\n getSelectedImageIcon() {\n if (this.isSelected && this.node.activeImageIcon) {\n return this.node.activeImageIcon;\n }\n return this.node.imageIcon;\n }\n getHrefTargetType() {\n if (this.node.hrefTargetType) {\n return this.node.hrefTargetType;\n }\n return CONSTANT.DEFAULT_HREF_TARGET_TYPE;\n }\n hasItems(): boolean {\n return this.nodeChildren.length > 0 ? true : false;\n }\n isRtlLayout(): boolean {\n return this.nodeConfiguration.rtlLayout;\n }\n setClasses(): void {\n this.classes = {\n [`level-${this.level + 1}`]: true,\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(),\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems()\n };\n }\n setExpandCollapseStatus(): void {\n if (this.nodeExpandCollapseStatus !== null && this.nodeExpandCollapseStatus !== undefined ) {\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\n this.expanded = true;\n if (this.nodeConfiguration.customTemplate) {\n this.node.expanded = true;\n }\n }\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\n this.expanded = false;\n if (this.nodeConfiguration.customTemplate) {\n this.node.expanded = false;\n }\n }\n }\n }\n expand(node: MultilevelNodes): void {\n if (node.disabled) {\n return;\n }\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n this.expanded = !this.expanded;\n this.node.expanded = this.expanded;\n this.firstInitializer = true;\n this.setClasses();\n if (this.nodeConfiguration.interfaceWithRoute !== null\n && this.nodeConfiguration.interfaceWithRoute\n && node.link !== undefined\n && node.link\n ) {\n this.router.navigate([node.link], node.navigationExtras);\n } else if (node.onSelected && typeof node.onSelected === 'function') {\n node.onSelected(node);\n this.selectedListItem(node);\n } else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) {\n this.selectedListItem(node);\n }\n }\n selectedListItem(node: MultilevelNodes): void {\n this.selectedItem.emit(node);\n }\n}\n","import { NgModule } from '@angular/core';\n\nimport { MatRippleModule } from '@angular/material/core';\nimport { MatIconModule } from '@angular/material/icon';\nimport { MatListModule } from '@angular/material/list';\n\n@NgModule({\n imports: [\n MatIconModule,\n MatListModule,\n MatRippleModule,\n ],\n declarations: [],\n exports: [\n MatIconModule,\n MatListModule,\n MatRippleModule,\n ]\n})\nexport class MaterialsModule { }\n","import { Component, OnChanges, OnInit, OnDestroy, Output, EventEmitter, Input, ContentChild, TemplateRef, ElementRef } from '@angular/core';\nimport { NavigationEnd, Router } from '@angular/router';\nimport { Subscription } from 'rxjs';\nimport { BackgroundStyle, Configuration, MultilevelNodes, ExpandCollapseStatusEnum } from './app.model';\nimport { CONSTANT } from './constants';\nimport { MultilevelMenuService } from './multilevel-menu.service';\n\n@Component({\n selector: 'ng-material-multilevel-menu',\n templateUrl: './ng-material-multilevel-menu.component.html',\n styleUrls: ['./ng-material-multilevel-menu.component.css'],\n})\nexport class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy {\n @Input() items: MultilevelNodes[];\n @Input() configuration: Configuration = null;\n @Output() selectedItem = new EventEmitter();\n @Output() selectedLabel = new EventEmitter();\n @Output() menuIsReady = new EventEmitter();\n @ContentChild('listTemplate', {static: true}) listTemplate: TemplateRef;\n\n expandCollapseStatusSubscription: Subscription = null;\n selectMenuByIDSubscription: Subscription = null;\n currentNode: MultilevelNodes = null;\n\n nodeConfig: Configuration = {\n paddingAtStart: true,\n listBackgroundColor: null,\n fontColor: null,\n selectedListFontColor: null,\n interfaceWithRoute: null,\n collapseOnSelect: null,\n highlightOnSelect: false,\n useDividers: true,\n rtlLayout: false,\n customTemplate: false,\n };\n isInvalidConfig = true;\n isInvalidData = true;\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral;\n\n constructor(\n private router: Router,\n public multilevelMenuService: MultilevelMenuService\n ) { }\n ngOnChanges() {\n this.detectInvalidConfig();\n this.initExpandCollapseStatus();\n this.initSelectedMenuID();\n if (!this.isInvalidData) {\n this.menuIsReady.emit(this.items);\n }\n }\n ngOnInit() {\n if (\n this.configuration !== null && this.configuration !== undefined && this.configuration !== '' &&\n this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) {\n this.router.events\n .subscribe((event) => {\n if (event instanceof NavigationEnd) {\n this.updateNodeByURL(event.urlAfterRedirects);\n }\n });\n this.updateNodeByURL(this.router.url);\n }\n }\n updateNodeByURL(url: string): void {\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url);\n if (\n foundNode !== undefined &&\n foundNode.link !== undefined &&\n foundNode.link !== null &&\n foundNode.link !== ''\n // && !foundNode.disabled // Prevent route redirection for disabled menu\n ) {\n this.currentNode = foundNode;\n if (foundNode.dontEmit !== undefined && foundNode.dontEmit !== null && !foundNode.dontEmit) {\n this.selectedListItem(foundNode);\n }\n }\n }\n checkValidData(): void {\n if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) {\n console.warn(CONSTANT.ERROR_MESSAGE);\n } else {\n this.items = this.items.filter(n => !n.hidden);\n this.multilevelMenuService.addRandomId(this.items);\n this.isInvalidData = false;\n }\n }\n detectInvalidConfig(): void {\n if (this.configuration === null || this.configuration === undefined || this.configuration === '') {\n this.isInvalidConfig = true;\n } else {\n this.isInvalidConfig = false;\n const config = this.configuration;\n if (config.paddingAtStart !== undefined && config.paddingAtStart !== null && typeof config.paddingAtStart === 'boolean') {\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\n }\n if (config.listBackgroundColor !== '' &&\n config.listBackgroundColor !== null &&\n config.listBackgroundColor !== undefined) {\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\n }\n if (config.fontColor !== '' &&\n config.fontColor !== null &&\n config.fontColor !== undefined) {\n this.nodeConfig.fontColor = config.fontColor;\n }\n if (config.selectedListFontColor !== '' &&\n config.selectedListFontColor !== null &&\n config.selectedListFontColor !== undefined) {\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\n }\n if (config.interfaceWithRoute !== null &&\n config.interfaceWithRoute !== undefined &&\n typeof config.interfaceWithRoute === 'boolean') {\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\n }\n if (config.collapseOnSelect !== null &&\n config.collapseOnSelect !== undefined &&\n typeof config.collapseOnSelect === 'boolean') {\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\n }\n if (config.highlightOnSelect !== null &&\n config.highlightOnSelect !== undefined &&\n typeof config.highlightOnSelect === 'boolean') {\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\n }\n if (config.useDividers !== null &&\n config.useDividers !== undefined &&\n typeof config.useDividers === 'boolean') {\n this.nodeConfig.useDividers = config.useDividers;\n }\n if (config.rtlLayout !== null &&\n config.rtlLayout !== undefined &&\n typeof config.rtlLayout === 'boolean') {\n this.nodeConfig.rtlLayout = config.rtlLayout;\n }\n if (config.customTemplate !== null &&\n config.customTemplate !== undefined &&\n typeof config.customTemplate === 'boolean') {\n this.nodeConfig.customTemplate = config.customTemplate;\n }\n\n }\n this.checkValidData();\n }\n initExpandCollapseStatus(): void {\n this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$\n .subscribe( (expandCollapseStatus: ExpandCollapseStatusEnum) => {\n this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral;\n }, () => {\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n });\n }\n initSelectedMenuID(): void {\n this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe( (selectedMenuID: string) => {\n if (selectedMenuID) {\n const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID);\n if (foundNode !== undefined) {\n this.currentNode = foundNode;\n this.selectedListItem(foundNode);\n }\n }\n });\n }\n getClassName(): string {\n if (this.isInvalidConfig) {\n return CONSTANT.DEFAULT_CLASS_NAME;\n } else {\n if (this.configuration.classname !== '' && this.configuration.classname !== null && this.configuration.classname !== undefined) {\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\n } else {\n return CONSTANT.DEFAULT_CLASS_NAME;\n }\n }\n }\n getGlobalStyle(): BackgroundStyle {\n if (!this.isInvalidConfig) {\n const styles = {\n background : null\n };\n if (this.configuration.backgroundColor !== '' &&\n this.configuration.backgroundColor !== null &&\n this.configuration.backgroundColor !== undefined) {\n styles.background = this.configuration.backgroundColor;\n }\n return styles;\n }\n }\n isRtlLayout(): boolean {\n return this.nodeConfig.rtlLayout;\n }\n selectedListItem(event: MultilevelNodes): void {\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\n this.currentNode = event;\n if (event.dontEmit !== undefined && event.dontEmit !== null && event.dontEmit) {\n return;\n }\n if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') ) {\n this.selectedItem.emit(event);\n } else {\n this.selectedLabel.emit(event);\n }\n }\n ngOnDestroy() {\n this.expandCollapseStatusSubscription.unsubscribe();\n this.selectMenuByIDSubscription.unsubscribe();\n }\n}\n","import { CommonModule } from '@angular/common';\nimport { NgModule } from '@angular/core';\nimport { RouterModule } from '@angular/router';\n\nimport { ListItemComponent } from './list-item/list-item.component';\nimport { MaterialsModule } from './materials.module';\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\n\n@NgModule({\n imports: [\n CommonModule,\n MaterialsModule,\n RouterModule,\n ],\n declarations: [\n NgMaterialMultilevelMenuComponent,\n ListItemComponent,\n ],\n exports: [NgMaterialMultilevelMenuComponent]\n})\nexport class NgMaterialMultilevelMenuModule {}\n","/*\n * Public API Surface of ng-material-multilevel-menu\n */\n\nexport * from './lib/ng-material-multilevel-menu.module';\nexport * from './lib/ng-material-multilevel-menu.component';\nexport * from './lib/multilevel-menu.service';\nexport * from './lib/animation';\nexport { MultilevelNodes, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n\nexport {ListItemComponent as ɵb} from './lib/list-item/list-item.component';\nexport {MaterialsModule as ɵa} from './lib/materials.module';"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs b/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs new file mode 100644 index 0000000..235dde3 --- /dev/null +++ b/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs @@ -0,0 +1,942 @@ +import * as i3 from '@angular/common'; +import { CommonModule } from '@angular/common'; +import * as i0 from '@angular/core'; +import { Component, Input, EventEmitter, Output, NgModule, ContentChild } from '@angular/core'; +import * as i1 from '@angular/router'; +import { NavigationEnd, RouterModule } from '@angular/router'; +import { Subject } from 'rxjs'; +import { trigger, state, style, transition, group, animate } from '@angular/animations'; +import * as i4 from '@angular/cdk/bidi'; +import * as i5 from '@angular/material/list'; +import { MatListModule } from '@angular/material/list'; +import * as i6 from '@angular/material/divider'; +import * as i7 from '@angular/material/core'; +import { MatRippleModule } from '@angular/material/core'; +import * as i2 from '@angular/material/icon'; +import { MatIconModule } from '@angular/material/icon'; + +var ExpandCollapseStatusEnum; +(function (ExpandCollapseStatusEnum) { + ExpandCollapseStatusEnum["expand"] = "expand"; + ExpandCollapseStatusEnum["collapse"] = "collapse"; + ExpandCollapseStatusEnum["neutral"] = "neutral"; +})(ExpandCollapseStatusEnum || (ExpandCollapseStatusEnum = {})); + +const CONSTANT = { + PADDING_AT_START: true, + DEFAULT_CLASS_NAME: `amml-container`, + DEFAULT_LIST_CLASS_NAME: `amml-item`, + SELECTED_LIST_CLASS_NAME: `selected-amml-item`, + ACTIVE_ITEM_CLASS_NAME: `active-amml-item`, + DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`, + SUBMENU_ITEM_CLASS_NAME: `amml-submenu`, + HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`, + DEFAULT_SELECTED_FONT_COLOR: `#1976d2`, + DEFAULT_LIST_BACKGROUND_COLOR: `transparent`, + DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`, + DEFAULT_HREF_TARGET_TYPE: '_self', + ERROR_MESSAGE: `Invalid data for material Multilevel List Component`, + POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + YES: 'yes', + NO: 'no' +}; + +class MultilevelMenuService { + foundLinkObject; + expandCollapseStatus = new Subject(); + expandCollapseStatus$ = this.expandCollapseStatus.asObservable(); + selectedMenuID = new Subject(); + selectedMenuID$ = this.selectedMenuID.asObservable(); + generateId() { + let text = ''; + for (let i = 0; i < 20; i++) { + text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length)); + } + return text; + } + addRandomId(nodes) { + nodes.forEach((node) => { + node.id = this.generateId(); + if (node.items !== undefined) { + this.addRandomId(node.items); + } + }); + } + recursiveCheckId(node, nodeId) { + if (node.id === nodeId) { + return true; + } + else { + if (node.items !== undefined) { + return node.items.some((nestedNode) => { + return this.recursiveCheckId(nestedNode, nodeId); + }); + } + } + } + findNodeRecursively({ nodes, link, id }) { + for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { + const node = nodes[nodeIndex]; + for (const key in node) { + if (node.hasOwnProperty(key)) { + if (encodeURI(node.link) === link) { + this.foundLinkObject = node; + } + else if (node.id === id) { + this.foundLinkObject = node; + } + else { + if (node.items !== undefined) { + this.findNodeRecursively({ + nodes: node.items, + link: link ? link : null, + id: id ? id : null + }); + } + } + } + } + } + } + getMatchedObjectByUrl(nodes, link) { + this.findNodeRecursively({ nodes, link }); + return this.foundLinkObject; + } + getMatchedObjectById(nodes, id) { + this.findNodeRecursively({ nodes, id }); + return this.foundLinkObject; + } + // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function + // https://angular.io/api/common/KeyValuePipe#description + kvDummyComparerFn() { + return 0; + } + setMenuExpandCollapseStatus(status) { + this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral); + } + selectMenuByID(menuID) { + this.selectedMenuID.next(menuID); + return this.foundLinkObject; + } +} + +const SlideInOut = trigger('SlideInOut', [ + state('in', style({ height: '*', opacity: 0 })), + transition(':leave', [ + style({ height: '*', opacity: 0.2 }), + group([ + animate(200, style({ height: 0 })), + animate('200ms ease-out', style({ opacity: 0 })) + ]) + ]), + transition(':enter', [ + style({ height: '0', opacity: 0 }), + group([ + animate(200, style({ height: '*' })), + animate('400ms ease-out', style({ opacity: 1 })) + ]) + ]) +]); +const ExpandedLTR = trigger('ExpandedLTR', [ + state('no', style({ transform: 'rotate(-90deg)' })), + state('yes', style({ transform: 'rotate(0deg)', })), + transition('no => yes', animate(200)), + transition('yes => no', animate(200)) +]); +const ExpandedRTL = trigger('ExpandedRTL', [ + state('no', style({ transform: 'rotate(90deg)' })), + state('yes', style({ transform: 'rotate(0deg)', })), + transition('no => yes', animate(200)), + transition('yes => no', animate(200)) +]); + +class CommonUtils { + static isNullOrUndefinedOrEmpty = function (object) { + return CommonUtils.isNullOrUndefined(object) || object === ''; + }; + static isNullOrUndefined = function (object) { + return object === null || object === undefined; + }; +} + +function ListItemContentComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "a", 6); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_1_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r2 = i0.ɵɵnextContext(); + const _r7 = i0.ɵɵreference(8); + const _r5 = i0.ɵɵreference(6); + i0.ɵɵproperty("href", ctx_r2.node.link, i0.ɵɵsanitizeUrl)("target", ctx_r2.getHrefTargetType()); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.isRtlLayout ? _r7 : _r5); +} } +function ListItemContentComponent_ng_template_3_a_0_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_3_a_0_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "a", 9); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_0_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r12 = i0.ɵɵnextContext(2); + const _r7 = i0.ɵɵreference(8); + const _r5 = i0.ɵɵreference(6); + i0.ɵɵproperty("routerLink", ctx_r12.node.link); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", ctx_r12.isRtlLayout ? _r7 : _r5); +} } +function ListItemContentComponent_ng_template_3_a_1_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_3_a_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "a", 10); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_1_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r13 = i0.ɵɵnextContext(2); + const _r7 = i0.ɵɵreference(8); + const _r5 = i0.ɵɵreference(6); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", ctx_r13.isRtlLayout ? _r7 : _r5); +} } +function ListItemContentComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵtemplate(0, ListItemContentComponent_ng_template_3_a_0_Template, 2, 2, "a", 7); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_1_Template, 2, 1, "a", 8); +} if (rf & 2) { + const ctx_r4 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngIf", !ctx_r4.node.externalRedirect && ctx_r4.node.link); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", !ctx_r4.node.link); +} } +function ListItemContentComponent_ng_template_5_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_5_div_4_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 14)(1, "mat-icon"); + i0.ɵɵtext(2, " keyboard_arrow_down "); + i0.ɵɵelementEnd()(); +} if (rf & 2) { + const ctx_r17 = i0.ɵɵnextContext(2); + i0.ɵɵadvance(1); + i0.ɵɵproperty("@ExpandedLTR", ctx_r17.nodeExpandStatus()); +} } +function ListItemContentComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 11); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_5_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementStart(2, "span", 12); + i0.ɵɵtext(3); + i0.ɵɵelementEnd()(); + i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_5_div_4_Template, 3, 1, "div", 13); +} if (rf & 2) { + const ctx_r6 = i0.ɵɵnextContext(); + const _r9 = i0.ɵɵreference(10); + i0.ɵɵproperty("dir", "ltr"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", _r9); + i0.ɵɵadvance(2); + i0.ɵɵtextInterpolate(ctx_r6.node.label); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx_r6.node.hasChildren); +} } +function ListItemContentComponent_ng_template_7_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemContentComponent_ng_template_7_div_4_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 14)(1, "mat-icon"); + i0.ɵɵtext(2, " keyboard_arrow_down "); + i0.ɵɵelementEnd()(); +} if (rf & 2) { + const ctx_r19 = i0.ɵɵnextContext(2); + i0.ɵɵadvance(1); + i0.ɵɵproperty("@ExpandedRTL", ctx_r19.nodeExpandStatus()); +} } +function ListItemContentComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 11); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_7_ng_container_1_Template, 1, 0, "ng-container", 0); + i0.ɵɵelementStart(2, "span", 12); + i0.ɵɵtext(3); + i0.ɵɵelementEnd()(); + i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_7_div_4_Template, 3, 1, "div", 13); +} if (rf & 2) { + const ctx_r8 = i0.ɵɵnextContext(); + const _r9 = i0.ɵɵreference(10); + i0.ɵɵproperty("dir", "rtl"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", _r9); + i0.ɵɵadvance(2); + i0.ɵɵtextInterpolate(ctx_r8.node.label); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx_r8.node.hasChildren); +} } +function ListItemContentComponent_ng_template_9_span_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "span", 20); + i0.ɵɵelement(1, "i", 21); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r20 = i0.ɵɵnextContext(2); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngClass", ctx_r20.getSelectedFaIcon()); +} } +function ListItemContentComponent_ng_template_9_mat_icon_2_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "mat-icon", 22); + i0.ɵɵtext(1); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r21 = i0.ɵɵnextContext(2); + i0.ɵɵadvance(1); + i0.ɵɵtextInterpolate1(" ", ctx_r21.getSelectedIcon(), " "); +} } +function ListItemContentComponent_ng_template_9_mat_icon_3_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelement(0, "mat-icon", 23); +} if (rf & 2) { + const ctx_r22 = i0.ɵɵnextContext(2); + i0.ɵɵpropertyInterpolate("svgIcon", ctx_r22.getSelectedSvgIcon()); +} } +function ListItemContentComponent_ng_template_9_img_4_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelement(0, "img", 24); +} if (rf & 2) { + const ctx_r23 = i0.ɵɵnextContext(2); + i0.ɵɵpropertyInterpolate("src", ctx_r23.getSelectedImageIcon(), i0.ɵɵsanitizeUrl); + i0.ɵɵpropertyInterpolate("alt", ctx_r23.node.label); +} } +function ListItemContentComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 15); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_9_span_1_Template, 2, 1, "span", 16); + i0.ɵɵtemplate(2, ListItemContentComponent_ng_template_9_mat_icon_2_Template, 2, 1, "mat-icon", 17); + i0.ɵɵtemplate(3, ListItemContentComponent_ng_template_9_mat_icon_3_Template, 1, 1, "mat-icon", 18); + i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_9_img_4_Template, 1, 2, "img", 19); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r10 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngSwitch", ctx_r10.getListIcon(ctx_r10.node)); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngSwitchCase", "faIcon"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngSwitchCase", "icon"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngSwitchCase", "svgIcon"); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngSwitchCase", "imageIcon"); +} } +class ListItemContentComponent { + node; + isRtlLayout; + constructor() { + // NOOP + } + ngOnInit() { + // NOOP + } + getListIcon(node) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) { + return `icon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { + return `faIcon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { + return `imageIcon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { + return `svgIcon`; + } + else { + return ``; + } + } + getHrefTargetType() { + return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + } + getSelectedSvgIcon() { + return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; + } + getSelectedIcon() { + return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; + } + getSelectedFaIcon() { + return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; + } + getSelectedImageIcon() { + return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; + } + nodeExpandStatus() { + return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; + } + static ɵfac = function ListItemContentComponent_Factory(t) { return new (t || ListItemContentComponent)(); }; + static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListItemContentComponent, selectors: [["ng-list-item-content"]], inputs: { node: "node", isRtlLayout: "isRtlLayout" }, decls: 11, vars: 1, consts: [[4, "ngTemplateOutlet"], ["redirectLinkTemplate", ""], ["routerLinkTemplate", ""], ["linkLabelLtrOutlet", ""], ["linkLabelRtlOutlet", ""], ["iconContainer", ""], [1, "anml-link", 3, "href", "target"], ["class", "anml-link", 3, "routerLink", 4, "ngIf"], ["class", "anml-link", 4, "ngIf"], [1, "anml-link", 3, "routerLink"], [1, "anml-link"], [1, "anml-data", 3, "dir"], [1, "label"], ["class", "amml-icon-arrow-container", 4, "ngIf"], [1, "amml-icon-arrow-container"], [1, "icon-container", 3, "ngSwitch"], ["class", "amml-icon amml-icon-fa", 4, "ngSwitchCase"], ["class", "amml-icon", 4, "ngSwitchCase"], ["class", "amml-icon amml-svg-icon", 3, "svgIcon", 4, "ngSwitchCase"], ["matListAvatar", "", "class", "amml-icon", 3, "src", "alt", 4, "ngSwitchCase"], [1, "amml-icon", "amml-icon-fa"], [3, "ngClass"], [1, "amml-icon"], [1, "amml-icon", "amml-svg-icon", 3, "svgIcon"], ["matListAvatar", "", 1, "amml-icon", 3, "src", "alt"]], template: function ListItemContentComponent_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵtemplate(0, ListItemContentComponent_ng_container_0_Template, 1, 0, "ng-container", 0); + i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_1_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(3, ListItemContentComponent_ng_template_3_Template, 2, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(5, ListItemContentComponent_ng_template_5_Template, 5, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(7, ListItemContentComponent_ng_template_7_Template, 5, 4, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(9, ListItemContentComponent_ng_template_9_Template, 5, 5, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor); + } if (rf & 2) { + const _r1 = i0.ɵɵreference(2); + const _r3 = i0.ɵɵreference(4); + i0.ɵɵproperty("ngTemplateOutlet", ctx.node.externalRedirect ? _r1 : _r3); + } }, dependencies: [i3.NgClass, i3.NgIf, i3.NgTemplateOutlet, i3.NgSwitch, i3.NgSwitchCase, i2.MatIcon, i4.Dir, i1.RouterLink], styles: [".amml-item[_ngcontent-%COMP%]{position:relative;cursor:pointer}.anml-link[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data[_ngcontent-%COMP%]{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item[_ngcontent-%COMP%]{opacity:.5;text-decoration:none;pointer-events:none}.icon-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa[_ngcontent-%COMP%]{font-size:20px}.label[_ngcontent-%COMP%]{line-height:48px;font-weight:400}.amml-svg-icon[_ngcontent-%COMP%]{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container[_ngcontent-%COMP%]{direction:ltr;display:flex;align-items:center}div[dir=ltr][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-right:16px}div[dir=rtl][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-left:16px}"], data: { animation: [ExpandedLTR, ExpandedRTL] } }); +} +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListItemContentComponent, [{ + type: Component, + args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] + }], function () { return []; }, { node: [{ + type: Input + }], isRtlLayout: [{ + type: Input + }] }); })(); + +const _c0$1 = function (a0, a1) { return { item: a0, configuration: a1 }; }; +function ListItemComponent_div_1_Template(rf, ctx) { if (rf & 1) { + const _r7 = i0.ɵɵgetCurrentView(); + i0.ɵɵelementStart(0, "div", 5); + i0.ɵɵlistener("click", function ListItemComponent_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.expand(ctx_r6.node)); }); + i0.ɵɵelementContainer(1, 6); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r0 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngClass", ctx_r0.selectedListClasses)("ngStyle", ctx_r0.getListStyle()); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.listTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(4, _c0$1, ctx_r0.node, ctx_r0.nodeConfiguration)); +} } +function ListItemComponent_div_2_ng_list_item_1_Template(rf, ctx) { if (rf & 1) { + const _r11 = i0.ɵɵgetCurrentView(); + i0.ɵɵelementStart(0, "ng-list-item", 9); + i0.ɵɵlistener("selectedItem", function ListItemComponent_div_2_ng_list_item_1_Template_ng_list_item_selectedItem_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.selectedListItem($event)); }); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const singleNode_r9 = ctx.$implicit; + const ctx_r8 = i0.ɵɵnextContext(2); + i0.ɵɵproperty("nodeConfiguration", ctx_r8.nodeConfiguration)("node", singleNode_r9.value)("level", ctx_r8.level + 1)("submenuLevel", singleNode_r9.key)("selectedNode", ctx_r8.selectedNode)("nodeExpandCollapseStatus", ctx_r8.nodeExpandCollapseStatus)("listTemplate", ctx_r8.listTemplate); +} } +function ListItemComponent_div_2_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 7); + i0.ɵɵtemplate(1, ListItemComponent_div_2_ng_list_item_1_Template, 1, 7, "ng-list-item", 8); + i0.ɵɵpipe(2, "keyvalue"); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r1 = i0.ɵɵnextContext(); + i0.ɵɵproperty("@SlideInOut", undefined)("dir", ctx_r1.isRtlLayout() ? "rtl" : "ltr")("ngClass", ctx_r1.classes); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 4, ctx_r1.nodeChildren, ctx_r1.multilevelMenuService.kvDummyComparerFn)); +} } +function ListItemComponent_ng_template_3_mat_list_item_0_ng_container_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementContainer(0); +} } +function ListItemComponent_ng_template_3_mat_list_item_0_Template(rf, ctx) { if (rf & 1) { + const _r16 = i0.ɵɵgetCurrentView(); + i0.ɵɵelementStart(0, "mat-list-item", 12); + i0.ɵɵlistener("click", function ListItemComponent_ng_template_3_mat_list_item_0_Template_mat_list_item_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.expand(ctx_r15.node)); }); + i0.ɵɵtemplate(1, ListItemComponent_ng_template_3_mat_list_item_0_ng_container_1_Template, 1, 0, "ng-container", 13); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const ctx_r12 = i0.ɵɵnextContext(2); + const _r4 = i0.ɵɵreference(6); + i0.ɵɵpropertyInterpolate("title", ctx_r12.node.label); + i0.ɵɵproperty("matRippleDisabled", ctx_r12.node.disabled)("ngClass", ctx_r12.selectedListClasses)("ngStyle", ctx_r12.getListStyle()); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngTemplateOutlet", _r4); +} } +function ListItemComponent_ng_template_3_mat_divider_1_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelement(0, "mat-divider"); +} } +function ListItemComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵtemplate(0, ListItemComponent_ng_template_3_mat_list_item_0_Template, 2, 5, "mat-list-item", 10); + i0.ɵɵtemplate(1, ListItemComponent_ng_template_3_mat_divider_1_Template, 1, 0, "mat-divider", 11); +} if (rf & 2) { + const ctx_r3 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngIf", !ctx_r3.node.hidden); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx_r3.nodeConfiguration.useDividers); +} } +function ListItemComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelement(0, "ng-list-item-content", 14); +} if (rf & 2) { + const ctx_r5 = i0.ɵɵnextContext(); + i0.ɵɵproperty("node", ctx_r5.node)("isRtlLayout", ctx_r5.isRtlLayout()); +} } +class ListItemComponent { + router; + multilevelMenuService; + node; + level = 1; + submenuLevel = 0; + selectedNode; + nodeConfiguration = null; + nodeExpandCollapseStatus = null; + listTemplate = null; + selectedItem = new EventEmitter(); + isSelected = false; + expanded = false; + firstInitializer = false; + nodeChildren; + classes; + selectedListClasses; + constructor(router, multilevelMenuService) { + this.router = router; + this.multilevelMenuService = multilevelMenuService; + this.selectedListClasses = { + [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, + [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, + [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, + }; + } + ngOnChanges() { + this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; + this.node.hasChildren = this.hasItems(); + if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { + this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); + } + this.setExpandCollapseStatus(); + } + ngOnInit() { + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && + this.node.faIcon.match(/\bfa\w(?!-)/) === null) { + this.node.faIcon = `fas ${this.node.faIcon}`; + } + this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; + if (typeof this.node.expanded === 'boolean') { + this.expanded = this.node.expanded; + } + this.setClasses(); + } + setSelectedClass(isFound) { + if (isFound) { + if (!this.firstInitializer) { + this.expanded = true; + } + this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; + } + else { + this.isSelected = false; + if (this.nodeConfiguration.collapseOnSelect) { + this.node.expanded = false; + this.expanded = false; + } + } + this.selectedListClasses = { + [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, + [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected, + [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id, + [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled, + [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true, + }; + this.node.isSelected = this.isSelected; + this.setClasses(); + } + getPaddingAtStart() { + return this.nodeConfiguration.paddingAtStart; + } + getListStyle() { + const styles = { + background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, + color: CONSTANT.DEFAULT_LIST_FONT_COLOR + }; + if (this.nodeConfiguration.listBackgroundColor !== null) { + styles.background = this.nodeConfiguration.listBackgroundColor; + } + if (this.isSelected) { + this.nodeConfiguration.selectedListFontColor !== null ? + styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; + } + else if (this.nodeConfiguration.fontColor !== null) { + styles.color = this.nodeConfiguration.fontColor; + } + return styles; + } + hasItems() { + return this.nodeChildren.length > 0; + } + isRtlLayout() { + return this.nodeConfiguration.rtlLayout; + } + setClasses() { + this.classes = { + [`level-${this.level + 1}`]: true, + [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), + [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() + }; + } + setExpandCollapseStatus() { + if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { + this.expanded = true; + if (this.nodeConfiguration.customTemplate) { + this.node.expanded = true; + } + } + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { + this.expanded = false; + if (this.nodeConfiguration.customTemplate) { + this.node.expanded = false; + } + } + } + } + expand(node) { + if (node.disabled) { + return; + } + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + this.expanded = !this.expanded; + this.node.expanded = this.expanded; + this.firstInitializer = true; + this.setClasses(); + if (this.nodeConfiguration.interfaceWithRoute !== null + && this.nodeConfiguration.interfaceWithRoute + && node.link !== undefined + && node.link) { + this.router.navigate([node.link], node.navigationExtras).then(); + } + else if (node.onSelected && typeof node.onSelected === 'function') { + node.onSelected(node); + this.selectedListItem(node); + } + else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { + this.selectedListItem(node); + } + } + selectedListItem(node) { + this.selectedItem.emit(node); + } + static ɵfac = function ListItemComponent_Factory(t) { return new (t || ListItemComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(MultilevelMenuService)); }; + static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListItemComponent, selectors: [["ng-list-item"]], inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 3, consts: [[1, "amml-menu-container"], [3, "ngClass", "ngStyle", "click", 4, "ngIf", "ngIfElse"], [3, "dir", "ngClass", 4, "ngIf"], ["baseTemplate", ""], ["linkTemplate", ""], [3, "ngClass", "ngStyle", "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "dir", "ngClass"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem", 4, "ngFor", "ngForOf"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem"], ["matRipple", "", 3, "title", "matRippleDisabled", "ngClass", "ngStyle", "click", 4, "ngIf"], [4, "ngIf"], ["matRipple", "", 3, "title", "matRippleDisabled", "ngClass", "ngStyle", "click"], [4, "ngTemplateOutlet"], [1, "filled", 3, "node", "isRtlLayout"]], template: function ListItemComponent_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 0); + i0.ɵɵtemplate(1, ListItemComponent_div_1_Template, 2, 7, "div", 1); + i0.ɵɵtemplate(2, ListItemComponent_div_2_Template, 3, 7, "div", 2); + i0.ɵɵelementEnd(); + i0.ɵɵtemplate(3, ListItemComponent_ng_template_3_Template, 2, 2, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor); + i0.ɵɵtemplate(5, ListItemComponent_ng_template_5_Template, 1, 2, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); + } if (rf & 2) { + const _r2 = i0.ɵɵreference(4); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx.nodeConfiguration.customTemplate && !ctx.node.hidden)("ngIfElse", _r2); + i0.ɵɵadvance(1); + i0.ɵɵproperty("ngIf", ctx.hasItems() && ctx.expanded); + } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i3.NgStyle, i4.Dir, i5.MatListItem, i6.MatDivider, i7.MatRipple, ListItemComponent, ListItemContentComponent, i3.KeyValuePipe], styles: [".filled[_ngcontent-%COMP%]{width:100%}div[dir=rtl].amml-submenu[_ngcontent-%COMP%]{margin-right:16px}div[dir=ltr].amml-submenu[_ngcontent-%COMP%]{margin-left:16px}"], data: { animation: [SlideInOut] } }); +} +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListItemComponent, [{ + type: Component, + args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] + }], function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, { node: [{ + type: Input + }], level: [{ + type: Input + }], submenuLevel: [{ + type: Input + }], selectedNode: [{ + type: Input + }], nodeConfiguration: [{ + type: Input + }], nodeExpandCollapseStatus: [{ + type: Input + }], listTemplate: [{ + type: Input + }], selectedItem: [{ + type: Output + }] }); })(); + +class MaterialsModule { + static ɵfac = function MaterialsModule_Factory(t) { return new (t || MaterialsModule)(); }; + static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MaterialsModule }); + static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatIconModule, + MatListModule, + MatRippleModule, MatIconModule, + MatListModule, + MatRippleModule] }); +} +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MaterialsModule, [{ + type: NgModule, + args: [{ + imports: [ + MatIconModule, + MatListModule, + MatRippleModule, + ], + declarations: [], + exports: [ + MatIconModule, + MatListModule, + MatRippleModule, + ] + }] + }], null, null); })(); +(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MaterialsModule, { imports: [MatIconModule, + MatListModule, + MatRippleModule], exports: [MatIconModule, + MatListModule, + MatRippleModule] }); })(); + +const _c0 = ["listTemplate"]; +function NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template(rf, ctx) { if (rf & 1) { + const _r4 = i0.ɵɵgetCurrentView(); + i0.ɵɵelementStart(0, "ng-list-item", 3); + i0.ɵɵlistener("selectedItem", function NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template_ng_list_item_selectedItem_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.selectedListItem($event)); }); + i0.ɵɵelementEnd(); +} if (rf & 2) { + const node_r2 = ctx.$implicit; + const ctx_r1 = i0.ɵɵnextContext(2); + i0.ɵɵproperty("nodeConfiguration", ctx_r1.nodeConfig)("node", node_r2.value)("level", 1)("submenuLevel", node_r2.key)("selectedNode", ctx_r1.currentNode)("nodeExpandCollapseStatus", ctx_r1.nodeExpandCollapseStatus)("listTemplate", ctx_r1.listTemplate); +} } +function NgMaterialMultilevelMenuComponent_div_0_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵelementStart(0, "div", 1)(1, "mat-list"); + i0.ɵɵtemplate(2, NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template, 1, 7, "ng-list-item", 2); + i0.ɵɵpipe(3, "keyvalue"); + i0.ɵɵelementEnd()(); +} if (rf & 2) { + const ctx_r0 = i0.ɵɵnextContext(); + i0.ɵɵproperty("ngClass", ctx_r0.getClassName())("ngStyle", ctx_r0.getGlobalStyle())("dir", ctx_r0.isRtlLayout() ? "rtl" : "ltr"); + i0.ɵɵadvance(2); + i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(3, 4, ctx_r0.items, ctx_r0.multilevelMenuService.kvDummyComparerFn)); +} } +class NgMaterialMultilevelMenuComponent { + router; + multilevelMenuService; + items; + configuration = null; + selectedItem = new EventEmitter(); + selectedLabel = new EventEmitter(); + menuIsReady = new EventEmitter(); + listTemplate; + expandCollapseStatusSubscription = null; + selectMenuByIDSubscription = null; + currentNode = null; + nodeConfig = { + paddingAtStart: true, + listBackgroundColor: null, + fontColor: null, + selectedListFontColor: null, + interfaceWithRoute: null, + collapseOnSelect: null, + highlightOnSelect: false, + useDividers: true, + rtlLayout: false, + customTemplate: false + }; + isInvalidConfig = true; + isInvalidData = true; + nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + constructor(router, multilevelMenuService) { + this.router = router; + this.multilevelMenuService = multilevelMenuService; + // NOOP + } + ngOnChanges() { + this.detectInvalidConfig(); + this.initExpandCollapseStatus(); + this.initSelectedMenuID(); + if (!this.isInvalidData) { + this.menuIsReady.emit(this.items); + } + } + ngOnInit() { + if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && + this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { + this.router.events + .subscribe((event) => { + if (event instanceof NavigationEnd) { + this.updateNodeByURL(event.urlAfterRedirects); + } + }); + this.updateNodeByURL(this.router.url); + } + } + updateNodeByURL(url) { + const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); + if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) + // && !foundNode.disabled // Prevent route redirection for disabled menu + ) { + this.currentNode = foundNode; + if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) { + this.selectedListItem(foundNode); + } + } + } + checkValidData() { + if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { + console.warn(CONSTANT.ERROR_MESSAGE); + return; + } + this.items = this.items.filter(n => !n.hidden); + this.multilevelMenuService.addRandomId(this.items); + this.isInvalidData = false; + } + detectInvalidConfig() { + if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) { + this.isInvalidConfig = true; + } + else { + this.isInvalidConfig = false; + const config = this.configuration; + if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && + typeof config.paddingAtStart === 'boolean') { + this.nodeConfig.paddingAtStart = config.paddingAtStart; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { + this.nodeConfig.listBackgroundColor = config.listBackgroundColor; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) { + this.nodeConfig.fontColor = config.fontColor; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) { + this.nodeConfig.selectedListFontColor = config.selectedListFontColor; + } + if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && + typeof config.interfaceWithRoute === 'boolean') { + this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; + } + if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && + typeof config.collapseOnSelect === 'boolean') { + this.nodeConfig.collapseOnSelect = config.collapseOnSelect; + } + if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && + typeof config.highlightOnSelect === 'boolean') { + this.nodeConfig.highlightOnSelect = config.highlightOnSelect; + } + if (!CommonUtils.isNullOrUndefined(config.useDividers) && + typeof config.useDividers === 'boolean') { + this.nodeConfig.useDividers = config.useDividers; + } + if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && + typeof config.rtlLayout === 'boolean') { + this.nodeConfig.rtlLayout = config.rtlLayout; + } + if (!CommonUtils.isNullOrUndefined(config.customTemplate) && + typeof config.customTemplate === 'boolean') { + this.nodeConfig.customTemplate = config.customTemplate; + } + } + this.checkValidData(); + } + initExpandCollapseStatus() { + this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ + .subscribe((expandCollapseStatus) => { + this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; + }, () => { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + }); + } + initSelectedMenuID() { + this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); + if (foundNode !== undefined) { + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } + } + }); + } + getClassName() { + if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { + return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; + } + return CONSTANT.DEFAULT_CLASS_NAME; + } + getGlobalStyle() { + if (!this.isInvalidConfig) { + const styles = { + background: null + }; + if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { + styles.background = this.configuration.backgroundColor; + } + return styles; + } + } + isRtlLayout() { + return this.nodeConfig.rtlLayout; + } + selectedListItem(event) { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + this.currentNode = event; + if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { + return; + } + if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { + this.selectedItem.emit(event); + } + else { + this.selectedLabel.emit(event); + } + } + ngOnDestroy() { + this.expandCollapseStatusSubscription.unsubscribe(); + this.selectMenuByIDSubscription.unsubscribe(); + } + static ɵfac = function NgMaterialMultilevelMenuComponent_Factory(t) { return new (t || NgMaterialMultilevelMenuComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(MultilevelMenuService)); }; + static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NgMaterialMultilevelMenuComponent, selectors: [["ng-material-multilevel-menu"]], contentQueries: function NgMaterialMultilevelMenuComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) { + i0.ɵɵcontentQuery(dirIndex, _c0, 7); + } if (rf & 2) { + let _t; + i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listTemplate = _t.first); + } }, inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "ngClass", "ngStyle", "dir", 4, "ngIf"], [3, "ngClass", "ngStyle", "dir"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem", 4, "ngFor", "ngForOf"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem"]], template: function NgMaterialMultilevelMenuComponent_Template(rf, ctx) { if (rf & 1) { + i0.ɵɵtemplate(0, NgMaterialMultilevelMenuComponent_div_0_Template, 4, 7, "div", 0); + } if (rf & 2) { + i0.ɵɵproperty("ngIf", !ctx.isInvalidData && ctx.items.length !== 0); + } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgStyle, i4.Dir, i5.MatList, ListItemComponent, i3.KeyValuePipe], styles: [".amml-container[_ngcontent-%COMP%] .mat-mdc-list.mat-mdc-list-base.mdc-list[_ngcontent-%COMP%]{padding:unset}.amml-item[_ngcontent-%COMP%]{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data[_ngcontent-%COMP%]{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa[_ngcontent-%COMP%]{font-size:20px}.amml-icon[_ngcontent-%COMP%]{line-height:48px}.active[_ngcontent-%COMP%]{color:#1976d2}div[dir=ltr][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-right:15px}div[dir=ltr][_ngcontent-%COMP%] .amml-submenu[_ngcontent-%COMP%]{margin-left:16px}div[dir=rtl][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-left:15px}div[dir=rtl][_ngcontent-%COMP%] .amml-submenu[_ngcontent-%COMP%]{margin-right:16px}"] }); +} +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgMaterialMultilevelMenuComponent, [{ + type: Component, + args: [{ selector: 'ng-material-multilevel-menu', template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] + }], function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, { items: [{ + type: Input + }], configuration: [{ + type: Input + }], selectedItem: [{ + type: Output + }], selectedLabel: [{ + type: Output + }], menuIsReady: [{ + type: Output + }], listTemplate: [{ + type: ContentChild, + args: ['listTemplate', { static: true }] + }] }); })(); + +class NgMaterialMultilevelMenuModule { + static ɵfac = function NgMaterialMultilevelMenuModule_Factory(t) { return new (t || NgMaterialMultilevelMenuModule)(); }; + static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgMaterialMultilevelMenuModule }); + static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, + MaterialsModule, + RouterModule] }); +} +(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgMaterialMultilevelMenuModule, [{ + type: NgModule, + args: [{ + imports: [ + CommonModule, + MaterialsModule, + RouterModule, + ], + declarations: [ + NgMaterialMultilevelMenuComponent, + ListItemComponent, + ListItemContentComponent, + ], + exports: [NgMaterialMultilevelMenuComponent] + }] + }], null, null); })(); +(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgMaterialMultilevelMenuModule, { declarations: [NgMaterialMultilevelMenuComponent, + ListItemComponent, + ListItemContentComponent], imports: [CommonModule, + MaterialsModule, + RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); })(); + +/* + * Public API Surface of ng-material-multilevel-menu + */ + +/** + * Generated bundle index. Do not edit. + */ + +export { ExpandCollapseStatusEnum, ExpandedLTR, ExpandedRTL, MultilevelMenuService, NgMaterialMultilevelMenuComponent, NgMaterialMultilevelMenuModule, SlideInOut }; +//# sourceMappingURL=ng-material-multilevel-menu.mjs.map diff --git a/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs.map b/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs.map new file mode 100644 index 0000000..679d25e --- /dev/null +++ b/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"ng-material-multilevel-menu.mjs","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../projects/ng-material-multilevel-menu/src/ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from '@angular/router';\r\n\r\nexport interface MultilevelNode {\r\n id?: string;\r\n label: string;\r\n faIcon?: string;\r\n icon?: string;\r\n imageIcon?: string;\r\n svgIcon?: string;\r\n activeFaIcon?: string;\r\n activeIcon?: string;\r\n activeImageIcon?: string;\r\n activeSvgIcon?: string;\r\n hidden?: boolean;\r\n link?: string;\r\n externalRedirect?: boolean;\r\n hrefTargetType?: string;\r\n data?: any;\r\n items?: MultilevelNode[];\r\n onSelected?: Function;\r\n disabled?: boolean;\r\n expanded?: boolean;\r\n navigationExtras?: NavigationExtras;\r\n dontEmit?: boolean;\r\n hasChildren?: boolean;\r\n isSelected?: boolean;\r\n}\r\n\r\nexport interface Configuration {\r\n classname?: string;\r\n paddingAtStart?: boolean;\r\n backgroundColor?: string;\r\n listBackgroundColor?: string;\r\n fontColor?: string;\r\n selectedListFontColor?: string;\r\n interfaceWithRoute?: boolean;\r\n collapseOnSelect?: boolean;\r\n highlightOnSelect?: boolean;\r\n useDividers?: boolean;\r\n rtlLayout?: boolean;\r\n customTemplate?: boolean;\r\n}\r\n\r\nexport interface BackgroundStyle {\r\n background: string;\r\n}\r\n\r\nexport interface ListStyle {\r\n background: string;\r\n color: string;\r\n}\r\n\r\nexport enum ExpandCollapseStatusEnum {\r\n expand = 'expand',\r\n collapse = 'collapse',\r\n neutral = 'neutral',\r\n}\r\n","export const CONSTANT = {\r\n PADDING_AT_START: true,\r\n DEFAULT_CLASS_NAME: `amml-container`,\r\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\r\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\r\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\r\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\r\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\r\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\r\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\r\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\r\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\r\n DEFAULT_HREF_TARGET_TYPE: '_self',\r\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`,\r\n POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',\r\n YES: 'yes',\r\n NO: 'no'\r\n};\r\n"," import {BehaviorSubject, Observable, Subject} from 'rxjs';\r\nimport { MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport {CONSTANT} from './constants';\r\n\r\nexport class MultilevelMenuService {\r\n foundLinkObject: MultilevelNode;\r\n private expandCollapseStatus: Subject = new Subject();\r\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\r\n\r\n private selectedMenuID: Subject = new Subject();\r\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\r\n\r\n private generateId(): string {\r\n let text = '';\r\n for (let i = 0; i < 20; i++) {\r\n text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length));\r\n }\r\n return text;\r\n }\r\n addRandomId(nodes: MultilevelNode[]): void {\r\n nodes.forEach((node: MultilevelNode) => {\r\n node.id = this.generateId();\r\n if (node.items !== undefined) {\r\n this.addRandomId(node.items);\r\n }\r\n });\r\n }\r\n recursiveCheckId(node: MultilevelNode, nodeId: string): boolean {\r\n if (node.id === nodeId) {\r\n return true;\r\n } else {\r\n if (node.items !== undefined) {\r\n return node.items.some((nestedNode: MultilevelNode) => {\r\n return this.recursiveCheckId(nestedNode, nodeId);\r\n });\r\n }\r\n }\r\n }\r\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNode[], link?: string, id?: string}): void {\r\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\r\n const node = nodes[nodeIndex];\r\n for (const key in node) {\r\n if (node.hasOwnProperty(key)) {\r\n if (encodeURI(node.link) === link) {\r\n this.foundLinkObject = node;\r\n } else if (node.id === id) {\r\n this.foundLinkObject = node;\r\n } else {\r\n if (node.items !== undefined) {\r\n this.findNodeRecursively({\r\n nodes: node.items,\r\n link: link ? link : null,\r\n id: id ? id : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, link});\r\n return this.foundLinkObject;\r\n }\r\n getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, id});\r\n return this.foundLinkObject;\r\n }\r\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\r\n // https://angular.io/api/common/KeyValuePipe#description\r\n kvDummyComparerFn() {\r\n return 0;\r\n }\r\n setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void {\r\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\r\n }\r\n selectMenuByID(menuID: string) {\r\n this.selectedMenuID.next(menuID);\r\n return this.foundLinkObject;\r\n }\r\n}\r\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport const SlideInOut = trigger('SlideInOut', [\r\n state(\r\n 'in',\r\n style({ height: '*', opacity: 0 })),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 0.2 }),\r\n group([\r\n animate(200, style({ height: 0 })),\r\n animate('200ms ease-out', style({ opacity: 0 }))\r\n ])\r\n ]),\r\n transition(':enter', [\r\n style({ height: '0', opacity: 0 }),\r\n group([\r\n animate(200, style({ height: '*' })),\r\n animate('400ms ease-out', style({ opacity: 1 }))\r\n ])\r\n ])\r\n ]\r\n);\r\n\r\nexport const ExpandedLTR = trigger('ExpandedLTR', [\r\n state('no', style({ transform: 'rotate(-90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n\r\nexport const ExpandedRTL = trigger('ExpandedRTL', [\r\n state('no', style({ transform: 'rotate(90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n","export class CommonUtils {\r\n\r\n static isNullOrUndefinedOrEmpty = function (object: any): boolean {\r\n return CommonUtils.isNullOrUndefined(object) || object === '';\r\n };\r\n\r\n static isNullOrUndefined = function (object: any): boolean {\r\n return object === null || object === undefined;\r\n };\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {MultilevelNode} from '../../app.model';\r\nimport {ExpandedLTR, ExpandedRTL} from '../../animation';\r\nimport {CommonUtils} from '../../common-utils';\r\nimport {CONSTANT} from '../../constants';\r\n\r\n@Component({\r\n selector: 'ng-list-item-content',\r\n templateUrl: './list-item-content.component.html',\r\n styleUrls: ['./list-item-content.component.css'],\r\n animations: [ExpandedLTR, ExpandedRTL]\r\n})\r\nexport class ListItemContentComponent implements OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() isRtlLayout: boolean;\r\n\r\n constructor() {\r\n // NOOP\r\n }\r\n\r\n ngOnInit(): void {\r\n // NOOP\r\n }\r\n\r\n getListIcon(node: MultilevelNode): string {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) {\r\n return `icon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) {\r\n return `faIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) {\r\n return `imageIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) {\r\n return `svgIcon`;\r\n } else {\r\n return ``;\r\n }\r\n }\r\n\r\n getHrefTargetType(): string {\r\n return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE;\r\n }\r\n\r\n getSelectedSvgIcon(): string {\r\n return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon;\r\n }\r\n\r\n getSelectedIcon(): string {\r\n return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon;\r\n }\r\n\r\n getSelectedFaIcon(): string {\r\n return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon;\r\n }\r\n\r\n getSelectedImageIcon(): string {\r\n return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon;\r\n }\r\n\r\n nodeExpandStatus(): string {\r\n return this.node.expanded ? CONSTANT.YES : CONSTANT.NO;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n","import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model';\r\nimport { CONSTANT } from '../constants';\r\nimport { MultilevelMenuService } from '../multilevel-menu.service';\r\nimport { SlideInOut } from '../animation';\r\nimport {CommonUtils} from '../common-utils';\r\n\r\n@Component({\r\n selector: 'ng-list-item',\r\n templateUrl: './list-item.component.html',\r\n styleUrls: ['./list-item.component.css'],\r\n animations: [SlideInOut]\r\n})\r\nexport class ListItemComponent implements OnChanges, OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() level = 1;\r\n @Input() submenuLevel = 0;\r\n @Input() selectedNode: MultilevelNode;\r\n @Input() nodeConfiguration: Configuration = null;\r\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\r\n @Input() listTemplate: TemplateRef = null;\r\n\r\n @Output() selectedItem = new EventEmitter();\r\n\r\n isSelected = false;\r\n expanded = false;\r\n firstInitializer = false;\r\n\r\n nodeChildren: MultilevelNode[];\r\n classes: { [index: string]: boolean };\r\n selectedListClasses: { [index: string]: boolean };\r\n\r\n constructor(private router: Router,\r\n public multilevelMenuService: MultilevelMenuService) {\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\r\n };\r\n }\r\n\r\n ngOnChanges() {\r\n this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : [];\r\n this.node.hasChildren = this.hasItems();\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.selectedNode)) {\r\n this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id));\r\n }\r\n this.setExpandCollapseStatus();\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled;\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.node.faIcon) &&\r\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null) {\r\n this.node.faIcon = `fas ${this.node.faIcon}`;\r\n }\r\n\r\n this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true;\r\n if (typeof this.node.expanded === 'boolean') {\r\n this.expanded = this.node.expanded;\r\n }\r\n this.setClasses();\r\n }\r\n\r\n setSelectedClass(isFound: boolean): void {\r\n if (isFound) {\r\n if (!this.firstInitializer) {\r\n this.expanded = true;\r\n }\r\n this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined;\r\n } else {\r\n this.isSelected = false;\r\n if (this.nodeConfiguration.collapseOnSelect) {\r\n this.node.expanded = false;\r\n this.expanded = false;\r\n }\r\n }\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\r\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\r\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\r\n };\r\n this.node.isSelected = this.isSelected;\r\n this.setClasses();\r\n }\r\n\r\n getPaddingAtStart(): boolean {\r\n return this.nodeConfiguration.paddingAtStart;\r\n }\r\n\r\n getListStyle(): ListStyle {\r\n const styles = {\r\n background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR,\r\n color: CONSTANT.DEFAULT_LIST_FONT_COLOR\r\n };\r\n if (this.nodeConfiguration.listBackgroundColor !== null) {\r\n styles.background = this.nodeConfiguration.listBackgroundColor;\r\n }\r\n if (this.isSelected) {\r\n this.nodeConfiguration.selectedListFontColor !== null ?\r\n styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR;\r\n } else if (this.nodeConfiguration.fontColor !== null) {\r\n styles.color = this.nodeConfiguration.fontColor;\r\n }\r\n return styles;\r\n }\r\n\r\n hasItems(): boolean {\r\n return this.nodeChildren.length > 0;\r\n }\r\n\r\n isRtlLayout(): boolean {\r\n return this.nodeConfiguration.rtlLayout;\r\n }\r\n\r\n setClasses(): void {\r\n this.classes = {\r\n [`level-${this.level + 1}`]: true,\r\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(),\r\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems()\r\n };\r\n }\r\n\r\n setExpandCollapseStatus(): void {\r\n if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) {\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\r\n this.expanded = true;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = true;\r\n }\r\n }\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\r\n this.expanded = false;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n expand(node: MultilevelNode): void {\r\n if (node.disabled) {\r\n return;\r\n }\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.expanded = !this.expanded;\r\n this.node.expanded = this.expanded;\r\n this.firstInitializer = true;\r\n this.setClasses();\r\n if (this.nodeConfiguration.interfaceWithRoute !== null\r\n && this.nodeConfiguration.interfaceWithRoute\r\n && node.link !== undefined\r\n && node.link\r\n ) {\r\n this.router.navigate([node.link], node.navigationExtras).then();\r\n } else if (node.onSelected && typeof node.onSelected === 'function') {\r\n node.onSelected(node);\r\n this.selectedListItem(node);\r\n } else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) {\r\n this.selectedListItem(node);\r\n }\r\n }\r\n\r\n selectedListItem(node: MultilevelNode): void {\r\n this.selectedItem.emit(node);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\n\r\n@NgModule({\r\n imports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ],\r\n declarations: [],\r\n exports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ]\r\n})\r\nexport class MaterialsModule { }\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnChanges, OnInit, OnDestroy, Output, EventEmitter, Input, ContentChild, TemplateRef, ElementRef } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport { CONSTANT } from './constants';\r\nimport { MultilevelMenuService } from './multilevel-menu.service';\r\nimport {CommonUtils} from './common-utils';\r\n\r\n@Component({\r\n selector: 'ng-material-multilevel-menu',\r\n templateUrl: './ng-material-multilevel-menu.component.html',\r\n styleUrls: ['./ng-material-multilevel-menu.component.css'],\r\n})\r\nexport class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() items: MultilevelNode[];\r\n @Input() configuration: Configuration = null;\r\n @Output() selectedItem = new EventEmitter();\r\n @Output() selectedLabel = new EventEmitter();\r\n @Output() menuIsReady = new EventEmitter();\r\n @ContentChild('listTemplate', {static: true}) listTemplate: TemplateRef;\r\n\r\n expandCollapseStatusSubscription: Subscription = null;\r\n selectMenuByIDSubscription: Subscription = null;\r\n currentNode: MultilevelNode = null;\r\n\r\n nodeConfig: Configuration = {\r\n paddingAtStart: true,\r\n listBackgroundColor: null,\r\n fontColor: null,\r\n selectedListFontColor: null,\r\n interfaceWithRoute: null,\r\n collapseOnSelect: null,\r\n highlightOnSelect: false,\r\n useDividers: true,\r\n rtlLayout: false,\r\n customTemplate: false\r\n };\r\n isInvalidConfig = true;\r\n isInvalidData = true;\r\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral;\r\n\r\n constructor(private router: Router,\r\n public multilevelMenuService: MultilevelMenuService) {\r\n // NOOP\r\n }\r\n ngOnChanges() {\r\n this.detectInvalidConfig();\r\n this.initExpandCollapseStatus();\r\n this.initSelectedMenuID();\r\n if (!this.isInvalidData) {\r\n this.menuIsReady.emit(this.items);\r\n }\r\n }\r\n ngOnInit() {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) &&\r\n this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) {\r\n this.router.events\r\n .subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.updateNodeByURL(event.urlAfterRedirects);\r\n }\r\n });\r\n this.updateNodeByURL(this.router.url);\r\n }\r\n }\r\n updateNodeByURL(url: string): void {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url);\r\n if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)\r\n // && !foundNode.disabled // Prevent route redirection for disabled menu\r\n ) {\r\n this.currentNode = foundNode;\r\n if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) {\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n }\r\n checkValidData(): void {\r\n if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) {\r\n console.warn(CONSTANT.ERROR_MESSAGE);\r\n return;\r\n }\r\n this.items = this.items.filter(n => !n.hidden);\r\n this.multilevelMenuService.addRandomId(this.items);\r\n this.isInvalidData = false;\r\n }\r\n detectInvalidConfig(): void {\r\n if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) {\r\n this.isInvalidConfig = true;\r\n } else {\r\n this.isInvalidConfig = false;\r\n const config = this.configuration;\r\n if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) &&\r\n typeof config.paddingAtStart === 'boolean') {\r\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) {\r\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) {\r\n this.nodeConfig.fontColor = config.fontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) {\r\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) &&\r\n typeof config.interfaceWithRoute === 'boolean') {\r\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) &&\r\n typeof config.collapseOnSelect === 'boolean') {\r\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) &&\r\n typeof config.highlightOnSelect === 'boolean') {\r\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.useDividers) &&\r\n typeof config.useDividers === 'boolean') {\r\n this.nodeConfig.useDividers = config.useDividers;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.rtlLayout) &&\r\n typeof config.rtlLayout === 'boolean') {\r\n this.nodeConfig.rtlLayout = config.rtlLayout;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.customTemplate) &&\r\n typeof config.customTemplate === 'boolean') {\r\n this.nodeConfig.customTemplate = config.customTemplate;\r\n }\r\n }\r\n this.checkValidData();\r\n }\r\n initExpandCollapseStatus(): void {\r\n this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$\r\n .subscribe( (expandCollapseStatus: ExpandCollapseStatusEnum) => {\r\n this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral;\r\n }, () => {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n });\r\n }\r\n initSelectedMenuID(): void {\r\n this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe( (selectedMenuID: string) => {\r\n if (selectedMenuID) {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID);\r\n if (foundNode !== undefined) {\r\n this.currentNode = foundNode;\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n });\r\n }\r\n getClassName(): string {\r\n if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) {\r\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\r\n }\r\n return CONSTANT.DEFAULT_CLASS_NAME;\r\n }\r\n getGlobalStyle(): BackgroundStyle {\r\n if (!this.isInvalidConfig) {\r\n const styles = {\r\n background : null\r\n };\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) {\r\n styles.background = this.configuration.backgroundColor;\r\n }\r\n return styles;\r\n }\r\n }\r\n isRtlLayout(): boolean {\r\n return this.nodeConfig.rtlLayout;\r\n }\r\n selectedListItem(event: MultilevelNode): void {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.currentNode = event;\r\n if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) {\r\n return;\r\n }\r\n if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') ) {\r\n this.selectedItem.emit(event);\r\n } else {\r\n this.selectedLabel.emit(event);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.expandCollapseStatusSubscription.unsubscribe();\r\n this.selectMenuByIDSubscription.unsubscribe();\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ListItemComponent } from './list-item/list-item.component';\r\nimport { MaterialsModule } from './materials.module';\r\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\r\nimport { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialsModule,\r\n RouterModule,\r\n ],\r\n declarations: [\r\n NgMaterialMultilevelMenuComponent,\r\n ListItemComponent,\r\n ListItemContentComponent,\r\n ],\r\n exports: [NgMaterialMultilevelMenuComponent]\r\n})\r\nexport class NgMaterialMultilevelMenuModule {}\r\n","/*\r\n * Public API Surface of ng-material-multilevel-menu\r\n */\r\n\r\nexport * from './lib/ng-material-multilevel-menu.module';\r\nexport * from './lib/ng-material-multilevel-menu.component';\r\nexport * from './lib/multilevel-menu.service';\r\nexport * from './lib/animation';\r\nexport { MultilevelNode, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_c0","i2.MultilevelMenuService","i8.ListItemContentComponent"],"mappings":"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"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/index.d.ts b/dist/ng-material-multilevel-menu/index.d.ts new file mode 100644 index 0000000..62cb9c3 --- /dev/null +++ b/dist/ng-material-multilevel-menu/index.d.ts @@ -0,0 +1,6 @@ +/** + * Generated bundle index. Do not edit. + */ +/// +export * from './public_api'; +//# sourceMappingURL=ng-material-multilevel-menu.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/animation.d.ts b/dist/ng-material-multilevel-menu/lib/animation.d.ts index 52a8884..cd263a8 100644 --- a/dist/ng-material-multilevel-menu/lib/animation.d.ts +++ b/dist/ng-material-multilevel-menu/lib/animation.d.ts @@ -1,3 +1,4 @@ export declare const SlideInOut: import("@angular/animations").AnimationTriggerMetadata; export declare const ExpandedLTR: import("@angular/animations").AnimationTriggerMetadata; export declare const ExpandedRTL: import("@angular/animations").AnimationTriggerMetadata; +//# sourceMappingURL=animation.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/animation.d.ts.map b/dist/ng-material-multilevel-menu/lib/animation.d.ts.map new file mode 100644 index 0000000..1074907 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/animation.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/animation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,wDAmBtB,CAAC;AAEF,eAAO,MAAM,WAAW,wDAMtB,CAAC;AAEH,eAAO,MAAM,WAAW,wDAMtB,CAAC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/app.model.d.ts b/dist/ng-material-multilevel-menu/lib/app.model.d.ts index 27e687d..257b26f 100644 --- a/dist/ng-material-multilevel-menu/lib/app.model.d.ts +++ b/dist/ng-material-multilevel-menu/lib/app.model.d.ts @@ -1,5 +1,5 @@ import { NavigationExtras } from '@angular/router'; -export interface MultilevelNodes { +export interface MultilevelNode { id?: string; label: string; faIcon?: string; @@ -15,13 +15,13 @@ export interface MultilevelNodes { externalRedirect?: boolean; hrefTargetType?: string; data?: any; - items?: MultilevelNodes[]; + items?: MultilevelNode[]; onSelected?: Function; disabled?: boolean; expanded?: boolean; navigationExtras?: NavigationExtras; dontEmit?: boolean; - hasChilden?: boolean; + hasChildren?: boolean; isSelected?: boolean; } export interface Configuration { @@ -50,3 +50,4 @@ export declare enum ExpandCollapseStatusEnum { collapse = "collapse", neutral = "neutral" } +//# sourceMappingURL=app.model.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map b/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map new file mode 100644 index 0000000..6be5a7d --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"app.model.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,wBAAwB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/common-utils.d.ts b/dist/ng-material-multilevel-menu/lib/common-utils.d.ts new file mode 100644 index 0000000..8ab3491 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/common-utils.d.ts @@ -0,0 +1,5 @@ +export declare class CommonUtils { + static isNullOrUndefinedOrEmpty: (object: any) => boolean; + static isNullOrUndefined: (object: any) => boolean; +} +//# sourceMappingURL=common-utils.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/common-utils.d.ts.map b/dist/ng-material-multilevel-menu/lib/common-utils.d.ts.map new file mode 100644 index 0000000..c884dde --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/common-utils.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"common-utils.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IAEtB,MAAM,CAAC,wBAAwB,WAAqB,GAAG,KAAG,OAAO,CAE/D;IAEF,MAAM,CAAC,iBAAiB,WAAqB,GAAG,KAAG,OAAO,CAExD;CACH"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/constants.d.ts b/dist/ng-material-multilevel-menu/lib/constants.d.ts index d4ea6aa..d9c010b 100644 --- a/dist/ng-material-multilevel-menu/lib/constants.d.ts +++ b/dist/ng-material-multilevel-menu/lib/constants.d.ts @@ -12,4 +12,8 @@ export declare const CONSTANT: { DEFAULT_LIST_FONT_COLOR: string; DEFAULT_HREF_TARGET_TYPE: string; ERROR_MESSAGE: string; + POSSIBLE: string; + YES: string; + NO: string; }; +//# sourceMappingURL=constants.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/constants.d.ts.map b/dist/ng-material-multilevel-menu/lib/constants.d.ts.map new file mode 100644 index 0000000..85b8e90 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/constants.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"constants.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/constants.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,QAAQ;;;;;;;;;;;;;;;;;CAiBpB,CAAC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts new file mode 100644 index 0000000..001f9e4 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts @@ -0,0 +1,19 @@ +import { OnInit } from '@angular/core'; +import { MultilevelNode } from '../../app.model'; +import * as i0 from "@angular/core"; +export declare class ListItemContentComponent implements OnInit { + node: MultilevelNode; + isRtlLayout: boolean; + constructor(); + ngOnInit(): void; + getListIcon(node: MultilevelNode): string; + getHrefTargetType(): string; + getSelectedSvgIcon(): string; + getSelectedIcon(): string; + getSelectedFaIcon(): string; + getSelectedImageIcon(): string; + nodeExpandStatus(): string; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; +} +//# sourceMappingURL=list-item-content.component.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map new file mode 100644 index 0000000..9433588 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"list-item-content.component.d.ts","sourceRoot":"","sources":["../../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;;AAK/C,qBAMa,wBAAyB,YAAW,MAAM;IAC5C,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;;IAM9B,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IAczC,iBAAiB,IAAI,MAAM;IAI3B,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAIzB,iBAAiB,IAAI,MAAM;IAI3B,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,IAAI,MAAM;yCA9Cf,wBAAwB;2CAAxB,wBAAwB;CAiDpC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts index b327c7d..10be7b1 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts @@ -1,22 +1,23 @@ import { OnChanges, OnInit, EventEmitter, TemplateRef, ElementRef } from '@angular/core'; import { Router } from '@angular/router'; -import { Configuration, ListStyle, MultilevelNodes, ExpandCollapseStatusEnum } from './../app.model'; -import { MultilevelMenuService } from './../multilevel-menu.service'; +import { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model'; +import { MultilevelMenuService } from '../multilevel-menu.service'; +import * as i0 from "@angular/core"; export declare class ListItemComponent implements OnChanges, OnInit { private router; multilevelMenuService: MultilevelMenuService; - node: MultilevelNodes; + node: MultilevelNode; level: number; submenuLevel: number; - selectedNode: MultilevelNodes; + selectedNode: MultilevelNode; nodeConfiguration: Configuration; nodeExpandCollapseStatus: ExpandCollapseStatusEnum; listTemplate: TemplateRef; - selectedItem: EventEmitter; + selectedItem: EventEmitter; isSelected: boolean; expanded: boolean; firstInitializer: boolean; - nodeChildren: MultilevelNodes[]; + nodeChildren: MultilevelNode[]; classes: { [index: string]: boolean; }; @@ -29,16 +30,13 @@ export declare class ListItemComponent implements OnChanges, OnInit { setSelectedClass(isFound: boolean): void; getPaddingAtStart(): boolean; getListStyle(): ListStyle; - getListIcon(node: MultilevelNodes): string; - getSelectedSvgIcon(): string; - getSelectedIcon(): string; - getSelectedFaIcon(): string; - getSelectedImageIcon(): string; - getHrefTargetType(): string; hasItems(): boolean; isRtlLayout(): boolean; setClasses(): void; setExpandCollapseStatus(): void; - expand(node: MultilevelNodes): void; - selectedListItem(node: MultilevelNodes): void; + expand(node: MultilevelNode): void; + selectedListItem(node: MultilevelNode): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } +//# sourceMappingURL=list-item.component.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map new file mode 100644 index 0000000..d742930 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"list-item.component.d.ts","sourceRoot":"","sources":["../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAU,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAElG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;AAInE,qBAMa,iBAAkB,YAAW,SAAS,EAAE,MAAM;IAmB7C,OAAO,CAAC,MAAM;IACP,qBAAqB,EAAE,qBAAqB;IAnBtD,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,SAAK;IACV,YAAY,SAAK;IACjB,YAAY,EAAE,cAAc,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAQ;IACxC,wBAAwB,EAAE,wBAAwB,CAAQ;IAC1D,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAQ;IAE5C,YAAY,+BAAsC;IAE5D,UAAU,UAAS;IACnB,QAAQ,UAAS;IACjB,gBAAgB,UAAS;IAEzB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,mBAAmB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;gBAE9B,MAAM,EAAE,MAAM,EACf,qBAAqB,EAAE,qBAAqB;IAQ/D,WAAW;IAUX,QAAQ;IAeR,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAwBxC,iBAAiB,IAAI,OAAO;IAI5B,YAAY,IAAI,SAAS;IAiBzB,QAAQ,IAAI,OAAO;IAInB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,IAAI;IAQlB,uBAAuB,IAAI,IAAI;IAiB/B,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAuBlC,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;yCA1JjC,iBAAiB;2CAAjB,iBAAiB;CA8J7B"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/materials.module.d.ts b/dist/ng-material-multilevel-menu/lib/materials.module.d.ts index 18937fd..4432c29 100644 --- a/dist/ng-material-multilevel-menu/lib/materials.module.d.ts +++ b/dist/ng-material-multilevel-menu/lib/materials.module.d.ts @@ -1,2 +1,10 @@ +import * as i0 from "@angular/core"; +import * as i1 from "@angular/material/icon"; +import * as i2 from "@angular/material/list"; +import * as i3 from "@angular/material/core"; export declare class MaterialsModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; } +//# sourceMappingURL=materials.module.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/materials.module.d.ts.map b/dist/ng-material-multilevel-menu/lib/materials.module.d.ts.map new file mode 100644 index 0000000..040fba7 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/materials.module.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"materials.module.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts"],"names":[],"mappings":";;;;AAMA,qBAaa,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAAI"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts b/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts index 6d27470..44ff6ea 100644 --- a/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts +++ b/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts @@ -1,18 +1,19 @@ -import { Observable, Subject } from 'rxjs'; -import { MultilevelNodes, ExpandCollapseStatusEnum } from './app.model'; +import { Observable } from 'rxjs'; +import { MultilevelNode, ExpandCollapseStatusEnum } from './app.model'; export declare class MultilevelMenuService { - foundLinkObject: MultilevelNodes; - expandCollapseStatus: Subject; + foundLinkObject: MultilevelNode; + private expandCollapseStatus; expandCollapseStatus$: Observable; - selectedMenuID: Subject; + private selectedMenuID; selectedMenuID$: Observable; private generateId; - addRandomId(nodes: MultilevelNodes[]): void; - recursiveCheckId(node: MultilevelNodes, nodeId: string): boolean; + addRandomId(nodes: MultilevelNode[]): void; + recursiveCheckId(node: MultilevelNode, nodeId: string): boolean; private findNodeRecursively; - getMatchedObjectByUrl(nodes: MultilevelNodes[], link: string): MultilevelNodes; - getMatchedObjectById(nodes: MultilevelNodes[], id: string): MultilevelNodes; + getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode; + getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode; kvDummyComparerFn(): number; - setMenuExapandCollpaseStatus(status: ExpandCollapseStatusEnum): void; - selectMenuByID(menuID: string): MultilevelNodes; + setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void; + selectMenuByID(menuID: string): MultilevelNode; } +//# sourceMappingURL=multilevel-menu.service.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts.map b/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts.map new file mode 100644 index 0000000..30331a9 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"multilevel-menu.service.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts"],"names":[],"mappings":"AAAC,OAAO,EAAkB,UAAU,EAAU,MAAM,MAAM,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGvE,qBAAa,qBAAqB;IAChC,eAAe,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,oBAAoB,CAA8E;IAC1G,qBAAqB,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAA4C;IAEvG,OAAO,CAAC,cAAc,CAA0C;IAChE,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAsC;IAEzE,OAAO,CAAC,UAAU;IAOlB,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAQ1C,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAW/D,OAAO,CAAC,mBAAmB;IAsB3B,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAI5E,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc;IAMzE,iBAAiB;IAGjB,2BAA2B,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI;IAGnE,cAAc,CAAC,MAAM,EAAE,MAAM;CAI9B"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts index ed402d0..3d2bada 100644 --- a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts @@ -1,20 +1,21 @@ import { OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, ElementRef } from '@angular/core'; import { Router } from '@angular/router'; import { Subscription } from 'rxjs'; -import { BackgroundStyle, Configuration, MultilevelNodes, ExpandCollapseStatusEnum } from './app.model'; +import { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from './app.model'; import { MultilevelMenuService } from './multilevel-menu.service'; +import * as i0 from "@angular/core"; export declare class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy { private router; multilevelMenuService: MultilevelMenuService; - items: MultilevelNodes[]; + items: MultilevelNode[]; configuration: Configuration; - selectedItem: EventEmitter; - selectedLabel: EventEmitter; - menuIsReady: EventEmitter; + selectedItem: EventEmitter; + selectedLabel: EventEmitter; + menuIsReady: EventEmitter; listTemplate: TemplateRef; expandCollapseStatusSubscription: Subscription; selectMenuByIDSubscription: Subscription; - currentNode: MultilevelNodes; + currentNode: MultilevelNode; nodeConfig: Configuration; isInvalidConfig: boolean; isInvalidData: boolean; @@ -30,6 +31,9 @@ export declare class NgMaterialMultilevelMenuComponent implements OnInit, OnChan getClassName(): string; getGlobalStyle(): BackgroundStyle; isRtlLayout(): boolean; - selectedListItem(event: MultilevelNodes): void; + selectedListItem(event: MultilevelNode): void; ngOnDestroy(): void; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵcmp: i0.ɵɵComponentDeclaration; } +//# sourceMappingURL=ng-material-multilevel-menu.component.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map new file mode 100644 index 0000000..edca85e --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ng-material-multilevel-menu.component.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,EAAE,SAAS,EAAU,YAAY,EAAuB,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5I,OAAO,EAAiB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAGlE,qBAKa,iCAAkC,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IA4BxE,OAAO,CAAC,MAAM;IACP,qBAAqB,EAAE,qBAAqB;IA5BtD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,EAAE,aAAa,CAAQ;IACnC,YAAY,+BAAsC;IAClD,aAAa,+BAAsC;IACnD,WAAW,iCAAwC;IACf,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAEpF,gCAAgC,EAAE,YAAY,CAAQ;IACtD,0BAA0B,EAAE,YAAY,CAAQ;IAChD,WAAW,EAAE,cAAc,CAAQ;IAEnC,UAAU,EAAE,aAAa,CAWvB;IACF,eAAe,UAAQ;IACvB,aAAa,UAAQ;IACrB,wBAAwB,EAAE,wBAAwB,CAAoC;gBAElE,MAAM,EAAE,MAAM,EACf,qBAAqB,EAAE,qBAAqB;IAG/D,WAAW;IAQX,QAAQ;IAYR,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAWlC,cAAc,IAAI,IAAI;IAStB,mBAAmB,IAAI,IAAI;IA8C3B,wBAAwB,IAAI,IAAI;IAQhC,kBAAkB,IAAI,IAAI;IAW1B,YAAY,IAAI,MAAM;IAMtB,cAAc,IAAI,eAAe;IAWjC,WAAW,IAAI,OAAO;IAGtB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAY7C,WAAW;yCAzKA,iCAAiC;2CAAjC,iCAAiC;CA6K7C"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts index cf651e7..6463fce 100644 --- a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts @@ -1,2 +1,13 @@ +import * as i0 from "@angular/core"; +import * as i1 from "./ng-material-multilevel-menu.component"; +import * as i2 from "./list-item/list-item.component"; +import * as i3 from "./list-item/list-item-content/list-item-content.component"; +import * as i4 from "@angular/common"; +import * as i5 from "./materials.module"; +import * as i6 from "@angular/router"; export declare class NgMaterialMultilevelMenuModule { + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵmod: i0.ɵɵNgModuleDeclaration; + static ɵinj: i0.ɵɵInjectorDeclaration; } +//# sourceMappingURL=ng-material-multilevel-menu.module.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts.map b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts.map new file mode 100644 index 0000000..7bf4303 --- /dev/null +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ng-material-multilevel-menu.module.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts"],"names":[],"mappings":";;;;;;;AASA,qBAaa,8BAA8B;yCAA9B,8BAA8B;0CAA9B,8BAA8B;0CAA9B,8BAA8B;CAAG"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts b/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts deleted file mode 100644 index 6da5fc3..0000000 --- a/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts +++ /dev/null @@ -1,6 +0,0 @@ -/** - * Generated bundle index. Do not edit. - */ -export * from './public_api'; -export { ListItemComponent as ɵb } from './lib/list-item/list-item.component'; -export { MaterialsModule as ɵa } from './lib/materials.module'; diff --git a/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts.map b/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts.map new file mode 100644 index 0000000..f4bbfdb --- /dev/null +++ b/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"ng-material-multilevel-menu.d.ts","sourceRoot":"","sources":["../../projects/ng-material-multilevel-menu/src/ng-material-multilevel-menu.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.metadata.json b/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.metadata.json deleted file mode 100644 index 50dbd53..0000000 --- a/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.metadata.json +++ /dev/null @@ -1 +0,0 @@ -{"__symbolic":"module","version":4,"metadata":{"NgMaterialMultilevelMenuModule":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":8,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/common","name":"CommonModule","line":10,"character":4},{"__symbolic":"reference","name":"ɵa"},{"__symbolic":"reference","module":"@angular/router","name":"RouterModule","line":12,"character":4}],"declarations":[{"__symbolic":"reference","name":"NgMaterialMultilevelMenuComponent"},{"__symbolic":"reference","name":"ɵb"}],"exports":[{"__symbolic":"reference","name":"NgMaterialMultilevelMenuComponent"}]}]}],"members":{}},"NgMaterialMultilevelMenuComponent":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ng-material-multilevel-menu","template":"
\n \n \n \n \n
\n","styles":[".amml-container .mat-list-base{padding-top:unset}.amml-item{display:flex;justify-content:space-between;line-height:48px;position:relative}.anml-data{display:flex;justify-content:flex-start;text-transform:capitalize;width:100%}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}"]}]}],"members":{"items":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":13,"character":3}}]}],"configuration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"selectedItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":15,"character":3}}]}],"selectedLabel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":16,"character":3}}]}],"menuIsReady":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":17,"character":3}}]}],"listTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"ContentChild","line":18,"character":3},"arguments":["listTemplate",{"static":true}]}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":41,"character":20},{"__symbolic":"reference","name":"MultilevelMenuService"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"updateNodeByURL":[{"__symbolic":"method"}],"checkValidData":[{"__symbolic":"method"}],"detectInvalidConfig":[{"__symbolic":"method"}],"initExpandCollapseStatus":[{"__symbolic":"method"}],"initSelectedMenuID":[{"__symbolic":"method"}],"getClassName":[{"__symbolic":"method"}],"getGlobalStyle":[{"__symbolic":"method"}],"isRtlLayout":[{"__symbolic":"method"}],"selectedListItem":[{"__symbolic":"method"}],"ngOnDestroy":[{"__symbolic":"method"}]}},"MultilevelMenuService":{"__symbolic":"class","members":{"generateId":[{"__symbolic":"method"}],"addRandomId":[{"__symbolic":"method"}],"recursiveCheckId":[{"__symbolic":"method"}],"findNodeRecursively":[{"__symbolic":"method"}],"getMatchedObjectByUrl":[{"__symbolic":"method"}],"getMatchedObjectById":[{"__symbolic":"method"}],"kvDummyComparerFn":[{"__symbolic":"method"}],"setMenuExapandCollpaseStatus":[{"__symbolic":"method"}],"selectMenuByID":[{"__symbolic":"method"}]}},"SlideInOut":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":2,"character":26},"arguments":["SlideInOut",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":3,"character":4},"arguments":["in",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":5,"character":8},"arguments":[{"height":"*","opacity":0}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":6,"character":8},"arguments":[":leave",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":7,"character":12},"arguments":[{"height":"*","opacity":0.2}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"group","line":8,"character":12},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":9,"character":12},"arguments":[200,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":9,"character":25},"arguments":[{"height":0}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":10,"character":12},"arguments":["200ms ease-out",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":10,"character":38},"arguments":[{"opacity":0}]}]}]]}]]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":13,"character":8},"arguments":[":enter",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":14,"character":12},"arguments":[{"height":"0","opacity":0}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"group","line":15,"character":12},"arguments":[[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":16,"character":12},"arguments":[200,{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":16,"character":25},"arguments":[{"height":"*"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":17,"character":12},"arguments":["400ms ease-out",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":17,"character":38},"arguments":[{"opacity":1}]}]}]]}]]}]]},"ExpandedLTR":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":23,"character":27},"arguments":["ExpandedLTR",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":24,"character":4},"arguments":["no",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":24,"character":16},"arguments":[{"transform":"rotate(-90deg)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":25,"character":4},"arguments":["yes",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":25,"character":17},"arguments":[{"transform":"rotate(0deg)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":27,"character":4},"arguments":["no => yes",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":27,"character":28},"arguments":[200]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":28,"character":4},"arguments":["yes => no",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":28,"character":28},"arguments":[200]}]}]]},"ExpandedRTL":{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"trigger","line":31,"character":27},"arguments":["ExpandedRTL",[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":32,"character":4},"arguments":["no",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":32,"character":16},"arguments":[{"transform":"rotate(90deg)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"state","line":33,"character":4},"arguments":["yes",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"style","line":33,"character":17},"arguments":[{"transform":"rotate(0deg)"}]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":35,"character":4},"arguments":["no => yes",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":35,"character":28},"arguments":[200]}]},{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"transition","line":36,"character":4},"arguments":["yes => no",{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/animations","name":"animate","line":36,"character":28},"arguments":[200]}]}]]},"MultilevelNodes":{"__symbolic":"interface"},"Configuration":{"__symbolic":"interface"},"ExpandCollapseStatusEnum":{"expand":"expand","collapse":"collapse","neutral":"neutral"},"ɵa":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"NgModule","line":6,"character":1},"arguments":[{"imports":[{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":8,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":9,"character":4},{"__symbolic":"reference","module":"@angular/material/core","name":"MatRippleModule","line":10,"character":4}],"declarations":[],"exports":[{"__symbolic":"reference","module":"@angular/material/icon","name":"MatIconModule","line":14,"character":4},{"__symbolic":"reference","module":"@angular/material/list","name":"MatListModule","line":15,"character":4},{"__symbolic":"reference","module":"@angular/material/core","name":"MatRippleModule","line":16,"character":4}]}]}],"members":{}},"ɵb":{"__symbolic":"class","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Component","line":7,"character":1},"arguments":[{"selector":"ng-list-item","animations":[{"__symbolic":"reference","name":"SlideInOut"},{"__symbolic":"reference","name":"ExpandedLTR"},{"__symbolic":"reference","name":"ExpandedRTL"}],"template":"
\n \n
\n \n
\n \n\n \n
\n \n \n
\n
\n\n\n\n\n \n \n \n \n\n\n\n \n \n \n \n \n \n \n \n \n \n\n\n\n
\n
\n \n \n \n \n {{getSelectedIcon()}}\n \n \n \n \"{{node.label}}\"\n
\n {{node.label}}\n
\n
\n \n keyboard_arrow_down\n \n \n keyboard_arrow_down\n \n
\n
","styles":[".amml-item{cursor:pointer;position:relative}.anml-link{color:inherit;text-decoration:none;text-transform:capitalize}.anml-data,.anml-link{display:flex;justify-content:flex-start;width:100%}.anml-data{height:48px}.disabled-amml-item{opacity:.5;pointer-events:none;text-decoration:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{font-weight:400;line-height:48px}.amml-svg-icon{height:22px;margin-top:-12px;width:22px}.amml-icon-arrow-container{align-items:center;direction:ltr;display:flex}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=ltr].amml-submenu,div[dir=rtl] .amml-icon{margin-left:16px}div[dir=rtl].amml-submenu{margin-right:16px}"]}]}],"members":{"node":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":14,"character":3}}]}],"level":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":15,"character":3}}]}],"submenuLevel":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":16,"character":3}}]}],"selectedNode":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":17,"character":3}}]}],"nodeConfiguration":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":18,"character":3}}]}],"nodeExpandCollapseStatus":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":19,"character":3}}]}],"listTemplate":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Input","line":20,"character":3}}]}],"selectedItem":[{"__symbolic":"property","decorators":[{"__symbolic":"call","expression":{"__symbolic":"reference","module":"@angular/core","name":"Output","line":22,"character":3}}]}],"__ctor__":[{"__symbolic":"constructor","parameters":[{"__symbolic":"reference","module":"@angular/router","name":"Router","line":33,"character":20},{"__symbolic":"reference","name":"MultilevelMenuService"}]}],"ngOnChanges":[{"__symbolic":"method"}],"ngOnInit":[{"__symbolic":"method"}],"setSelectedClass":[{"__symbolic":"method"}],"getPaddingAtStart":[{"__symbolic":"method"}],"getListStyle":[{"__symbolic":"method"}],"getListIcon":[{"__symbolic":"method"}],"getSelectedSvgIcon":[{"__symbolic":"method"}],"getSelectedIcon":[{"__symbolic":"method"}],"getSelectedFaIcon":[{"__symbolic":"method"}],"getSelectedImageIcon":[{"__symbolic":"method"}],"getHrefTargetType":[{"__symbolic":"method"}],"hasItems":[{"__symbolic":"method"}],"isRtlLayout":[{"__symbolic":"method"}],"setClasses":[{"__symbolic":"method"}],"setExpandCollapseStatus":[{"__symbolic":"method"}],"expand":[{"__symbolic":"method"}],"selectedListItem":[{"__symbolic":"method"}]}}},"origins":{"NgMaterialMultilevelMenuModule":"./lib/ng-material-multilevel-menu.module","NgMaterialMultilevelMenuComponent":"./lib/ng-material-multilevel-menu.component","MultilevelMenuService":"./lib/multilevel-menu.service","SlideInOut":"./lib/animation","ExpandedLTR":"./lib/animation","ExpandedRTL":"./lib/animation","MultilevelNodes":"./lib/app.model","Configuration":"./lib/app.model","ExpandCollapseStatusEnum":"./lib/app.model","ɵa":"./lib/materials.module","ɵb":"./lib/list-item/list-item.component"},"importAs":"ng-material-multilevel-menu"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/package.json b/dist/ng-material-multilevel-menu/package.json index 6ae7b83..93a9a5e 100644 --- a/dist/ng-material-multilevel-menu/package.json +++ b/dist/ng-material-multilevel-menu/package.json @@ -1,11 +1,10 @@ { "name": "ng-material-multilevel-menu", - "version": "5.5.3", + "version": "6.0.0", "repository": { "type": "git", "url": "git+https://github.com/ShankyTiwari/ng-material-multilevel-menu.git" }, - "homepage": "https://multilevel-menu-demo.web.app/", "keywords": [ "Angular2", "Angular4", @@ -20,18 +19,27 @@ "url": "https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues" }, "dependencies": { - "tslib": "^2.0.0" + "tslib": "^2.5.0" }, "peerDependencies": { - "@angular/common": ">= 6.0.0-rc.0 || >= 6.0.0", - "@angular/core": ">= 6.0.0-rc.0 || >= 6.0.0" + "@angular/common": ">= 16.0.0-rc.0 || >= 16.0.0", + "@angular/core": ">= 16.0.0-rc.0 || >= 16.0.0" }, - "main": "bundles/ng-material-multilevel-menu.umd.js", - "module": "fesm2015/ng-material-multilevel-menu.js", - "es2015": "fesm2015/ng-material-multilevel-menu.js", - "esm2015": "esm2015/ng-material-multilevel-menu.js", - "fesm2015": "fesm2015/ng-material-multilevel-menu.js", - "typings": "ng-material-multilevel-menu.d.ts", - "metadata": "ng-material-multilevel-menu.metadata.json", - "sideEffects": false -} + "module": "fesm2022/ng-material-multilevel-menu.mjs", + "typings": "index.d.ts", + "exports": { + "./package.json": { + "default": "./package.json" + }, + ".": { + "types": "./index.d.ts", + "esm2022": "./esm2022/ng-material-multilevel-menu.mjs", + "esm": "./esm2022/ng-material-multilevel-menu.mjs", + "default": "./fesm2022/ng-material-multilevel-menu.mjs" + } + }, + "sideEffects": false, + "scripts": { + "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1" + } +} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/public_api.d.ts b/dist/ng-material-multilevel-menu/public_api.d.ts index 6d38d75..4e09c20 100644 --- a/dist/ng-material-multilevel-menu/public_api.d.ts +++ b/dist/ng-material-multilevel-menu/public_api.d.ts @@ -2,4 +2,5 @@ export * from './lib/ng-material-multilevel-menu.module'; export * from './lib/ng-material-multilevel-menu.component'; export * from './lib/multilevel-menu.service'; export * from './lib/animation'; -export { MultilevelNodes, Configuration, ExpandCollapseStatusEnum } from './lib/app.model'; +export { MultilevelNode, Configuration, ExpandCollapseStatusEnum } from './lib/app.model'; +//# sourceMappingURL=public_api.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/public_api.d.ts.map b/dist/ng-material-multilevel-menu/public_api.d.ts.map new file mode 100644 index 0000000..17d580b --- /dev/null +++ b/dist/ng-material-multilevel-menu/public_api.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"public_api.d.ts","sourceRoot":"","sources":["../../projects/ng-material-multilevel-menu/src/public_api.ts"],"names":[],"mappings":"AAIA,cAAc,0CAA0C,CAAC;AACzD,cAAc,6CAA6C,CAAC;AAC5D,cAAc,+BAA+B,CAAC;AAC9C,cAAc,iBAAiB,CAAC;AAChC,OAAO,EAAE,cAAc,EAAE,aAAa,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC"} \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a1dadb7..a57203b 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,4836 +1,5831 @@ { "name": "ng-material-multilevel-menu-angular-project", - "version": "5.5.3", - "lockfileVersion": 1, + "version": "6.0.0", + "lockfileVersion": 3, "requires": true, - "dependencies": { - "@angular-devkit/build-angular": { - "version": "0.1100.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-0.1100.1.tgz", - "integrity": "sha512-w8NcoXuruOHio0D/JbX47iDl9FVH8X9k/OlZ/rSNVQ3uEpV6uxIaTm3fZ1ZSrKffi+97rKEwpHOf2N0DXl4XGQ==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1100.1", - "@angular-devkit/build-optimizer": "0.1100.1", - "@angular-devkit/build-webpack": "0.1100.1", - "@angular-devkit/core": "11.0.1", - "@babel/core": "7.12.3", - "@babel/generator": "7.12.1", - "@babel/plugin-transform-runtime": "7.12.1", - "@babel/preset-env": "7.12.1", - "@babel/runtime": "7.12.1", - "@babel/template": "7.10.4", - "@jsdevtools/coverage-istanbul-loader": "3.0.5", - "@ngtools/webpack": "11.0.1", - "ansi-colors": "4.1.1", - "autoprefixer": "9.8.6", - "babel-loader": "8.1.0", - "browserslist": "^4.9.1", - "cacache": "15.0.5", - "caniuse-lite": "^1.0.30001032", - "circular-dependency-plugin": "5.2.0", - "copy-webpack-plugin": "6.2.1", - "core-js": "3.6.5", - "css-loader": "5.0.0", - "cssnano": "4.1.10", - "file-loader": "6.1.1", - "find-cache-dir": "3.3.1", - "glob": "7.1.6", - "inquirer": "7.3.3", - "jest-worker": "26.5.0", + "packages": { + "": { + "name": "ng-material-multilevel-menu-angular-project", + "version": "6.0.0", + "dependencies": { + "@angular/animations": "^16.0.0", + "@angular/cdk": "^16.0.0", + "@angular/common": "^16.0.0", + "@angular/compiler": "^16.0.0", + "@angular/core": "^16.0.0", + "@angular/forms": "^16.0.0", + "@angular/material": "^16.0.0", + "@angular/platform-browser": "^16.0.0", + "@angular/platform-browser-dynamic": "^16.0.0", + "@angular/router": "^16.0.0", + "core-js": "^3.30.2", + "rxjs": "^7.8.1", + "tslib": "^2.5.0", + "zone.js": "~0.13.0" + }, + "devDependencies": { + "@angular-devkit/build-angular": "~16.0.0", + "@angular/cli": "^16.0.0", + "@angular/compiler-cli": "^16.0.0", + "@angular/language-service": "^16.0.0", + "@types/jasmine": "~4.3.1", + "@types/jasminewd2": "~2.0.10", + "@types/node": "^20.1.1", + "codelyzer": "^6.0.2", + "jasmine-core": "~4.6.0", + "jasmine-spec-reporter": "~7.0.0", + "karma": "~6.4.2", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage-istanbul-reporter": "~3.0.3", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "^2.0.0", + "ng-packagr": "^16.0.0", + "protractor": "~7.0.0", + "ts-node": "^10.9.1", + "tslint": "~6.1.0", + "typescript": "^5.0.4" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.1.tgz", + "integrity": "sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@angular-devkit/architect": { + "version": "0.1600.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.0.tgz", + "integrity": "sha512-nYRcqAxZnndhAEpSpJ1U2TScs2huu674OKrsEyJTqLEANEyCPBnusAmS9HcGzMBgePAwNElqOKrr5/f1DbYq1A==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.0.0", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular-devkit/build-angular": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.0.tgz", + "integrity": "sha512-OvDQAbrV3cUMfHws30MnDURsXselZ0GWhSxZjOdcD3cF64Nsq5ywftHOT+QC3YdDghwI8gMADN9et+aVDscBzQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "2.2.1", + "@angular-devkit/architect": "0.1600.0", + "@angular-devkit/build-webpack": "0.1600.0", + "@angular-devkit/core": "16.0.0", + "@babel/core": "7.21.4", + "@babel/generator": "7.21.4", + "@babel/helper-annotate-as-pure": "7.18.6", + "@babel/helper-split-export-declaration": "7.18.6", + "@babel/plugin-proposal-async-generator-functions": "7.20.7", + "@babel/plugin-transform-async-to-generator": "7.20.7", + "@babel/plugin-transform-runtime": "7.21.4", + "@babel/preset-env": "7.21.4", + "@babel/runtime": "7.21.0", + "@babel/template": "7.20.7", + "@discoveryjs/json-ext": "0.5.7", + "@ngtools/webpack": "16.0.0", + "@vitejs/plugin-basic-ssl": "1.0.1", + "ansi-colors": "4.1.3", + "autoprefixer": "10.4.14", + "babel-loader": "9.1.2", + "babel-plugin-istanbul": "6.1.1", + "browserslist": "4.21.5", + "cacache": "17.0.6", + "chokidar": "3.5.3", + "copy-webpack-plugin": "11.0.0", + "critters": "0.0.16", + "css-loader": "6.7.3", + "esbuild-wasm": "0.17.18", + "glob": "8.1.0", + "https-proxy-agent": "5.0.1", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", "karma-source-map-support": "1.4.0", - "less": "3.12.2", - "less-loader": "7.0.2", - "license-webpack-plugin": "2.3.1", - "loader-utils": "2.0.0", - "mini-css-extract-plugin": "1.2.1", - "minimatch": "3.0.4", - "open": "7.3.0", - "ora": "5.1.0", - "parse5-html-rewriting-stream": "6.0.1", - "pnp-webpack-plugin": "1.6.4", - "postcss": "7.0.32", - "postcss-import": "12.0.1", - "postcss-loader": "4.0.4", - "raw-loader": "4.0.2", - "regenerator-runtime": "0.13.7", - "resolve-url-loader": "3.1.2", - "rimraf": "3.0.2", - "rollup": "2.32.1", - "rxjs": "6.6.3", - "sass": "1.27.0", - "sass-loader": "10.0.5", - "semver": "7.3.2", - "source-map": "0.7.3", - "source-map-loader": "1.1.2", - "source-map-support": "0.5.19", - "speed-measure-webpack-plugin": "1.3.3", - "style-loader": "2.0.0", - "stylus": "0.54.8", - "stylus-loader": "4.1.1", - "terser": "5.3.7", - "terser-webpack-plugin": "4.2.3", + "less": "4.1.3", + "less-loader": "11.1.0", + "license-webpack-plugin": "4.0.2", + "loader-utils": "3.2.1", + "magic-string": "0.30.0", + "mini-css-extract-plugin": "2.7.5", + "mrmime": "1.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "parse5-html-rewriting-stream": "7.0.0", + "piscina": "3.2.0", + "postcss": "8.4.23", + "postcss-loader": "7.2.4", + "resolve-url-loader": "5.0.0", + "rxjs": "7.8.1", + "sass": "1.62.1", + "sass-loader": "13.2.2", + "semver": "7.4.0", + "source-map-loader": "4.0.1", + "source-map-support": "0.5.21", + "terser": "5.17.1", "text-table": "0.2.0", "tree-kill": "1.2.2", - "webpack": "4.44.2", - "webpack-dev-middleware": "3.7.2", - "webpack-dev-server": "3.11.0", - "webpack-merge": "5.2.0", - "webpack-sources": "2.0.1", - "webpack-subresource-integrity": "1.5.1", - "worker-plugin": "5.0.0" - }, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.1100.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1100.1.tgz", - "integrity": "sha512-DIAvTRRY+k7T2xHf4RVV06P16D0V7wSf1MSpGSDWVpfWcA3HNOSGfsk1F+COMlbFehXuKztwieXarv5rXbBCng==", - "dev": true, - "requires": { - "@angular-devkit/core": "11.0.1", - "rxjs": "6.6.3" - } - }, - "@angular-devkit/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.0.1.tgz", - "integrity": "sha512-ui3g7w/0SpU9oq8uwN9upR8Y1eOXZ+P2p3NyDydBrR7ZEfEkRLS1mhozN/ib8farrwK5N3kIIJxMb5t3187Hng==", - "dev": true, - "requires": { - "ajv": "6.12.6", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.3", - "source-map": "0.7.3" - } - }, - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.1.tgz", - "integrity": "sha512-DB+6rafIdc9o72Yc3/Ph5h+6hUjeOp66pF0naQBgUFFuPqzQwIlPTm3xZR7YNvduIMtkDIj2t21LSQwnbCrXvg==", - "dev": true, - "requires": { - "@babel/types": "^7.12.1", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "source-map": { - "version": "0.5.7", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", - "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true - } - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "cli-spinners": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", - "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", - "dev": true - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "core-js": { - "version": "3.6.5", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.6.5.tgz", - "integrity": "sha512-vZVEEwZoIsI+vPEuoF9Iqf5H7/M3eeQqWlQnYa8FSKKePuYTf5MWnxb5SDAzCa60b3JBRS5g9b+Dq7b1y/RCrA==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", - "dev": true, - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.19", - "mute-stream": "0.0.8", - "run-async": "^2.4.0", - "rxjs": "^6.6.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "dependencies": { - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dev": true, - "requires": { - "chalk": "^4.0.0" - }, - "dependencies": { - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } - }, - "open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", - "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } + "tslib": "2.5.0", + "vite": "4.3.1", + "webpack": "5.80.0", + "webpack-dev-middleware": "6.0.2", + "webpack-dev-server": "4.13.2", + "webpack-merge": "5.8.0", + "webpack-subresource-integrity": "5.1.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "optionalDependencies": { + "esbuild": "0.17.18" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "@angular/localize": "^16.0.0", + "@angular/platform-server": "^16.0.0", + "@angular/service-worker": "^16.0.0", + "jest": "^29.5.0", + "jest-environment-jsdom": "^29.5.0", + "karma": "^6.3.0", + "ng-packagr": "^16.0.0", + "protractor": "^7.0.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "typescript": ">=4.9.3 <5.1" + }, + "peerDependenciesMeta": { + "@angular/localize": { + "optional": true }, - "ora": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz", - "integrity": "sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.4.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - }, - "dependencies": { - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - } - } + "@angular/platform-server": { + "optional": true }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } + "@angular/service-worker": { + "optional": true }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } + "jest": { + "optional": true }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "jest-environment-jsdom": { + "optional": true }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "karma": { + "optional": true }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } + "ng-packagr": { + "optional": true }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } + "protractor": { + "optional": true }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "tailwindcss": { + "optional": true } } }, - "@angular-devkit/build-optimizer": { - "version": "0.1100.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-optimizer/-/build-optimizer-0.1100.1.tgz", - "integrity": "sha512-PpqBmDd+/cmaMj9MURe5pSSudo+Qz6BrGdzvYB16ekSp8bSDYLUriv5NvE/bm+ODKwo3jHgFrwWLiwK65vQcxQ==", + "node_modules/@angular-devkit/build-angular/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "requires": { - "loader-utils": "2.0.0", - "source-map": "0.7.3", - "tslib": "2.0.3", - "typescript": "4.0.5", - "webpack-sources": "2.0.1" - }, "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } + "balanced-match": "^1.0.0" } }, - "@angular-devkit/build-webpack": { - "version": "0.1100.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1100.1.tgz", - "integrity": "sha512-nfgsUfP6WyZ35rxgjqDYydB552Si/JdYLMtwy/kAFybW/6yTpw0sBOgCQoppyQ4mvVwyX9X0ZTQsMNhPOzy3sA==", + "node_modules/@angular-devkit/build-angular/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "requires": { - "@angular-devkit/architect": "0.1100.1", - "@angular-devkit/core": "11.0.1", - "rxjs": "6.6.3" + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, "dependencies": { - "@angular-devkit/architect": { - "version": "0.1100.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1100.1.tgz", - "integrity": "sha512-DIAvTRRY+k7T2xHf4RVV06P16D0V7wSf1MSpGSDWVpfWcA3HNOSGfsk1F+COMlbFehXuKztwieXarv5rXbBCng==", - "dev": true, - "requires": { - "@angular-devkit/core": "11.0.1", - "rxjs": "6.6.3" - } - }, - "@angular-devkit/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.0.1.tgz", - "integrity": "sha512-ui3g7w/0SpU9oq8uwN9upR8Y1eOXZ+P2p3NyDydBrR7ZEfEkRLS1mhozN/ib8farrwK5N3kIIJxMb5t3187Hng==", - "dev": true, - "requires": { - "ajv": "6.12.6", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "@angular-devkit/schematics": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-11.0.1.tgz", - "integrity": "sha512-rAOnAndcybEH398xf5wzmcUPCoCi0dKiOo/+1dkKU5aTxynw1OUnANt5K6A+ZZTGnJmfjtP0ovkZGYun9IUDxQ==", - "dev": true, - "requires": { - "@angular-devkit/core": "11.0.1", - "ora": "5.1.0", - "rxjs": "6.6.3" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.0.1.tgz", - "integrity": "sha512-ui3g7w/0SpU9oq8uwN9upR8Y1eOXZ+P2p3NyDydBrR7ZEfEkRLS1mhozN/ib8farrwK5N3kIIJxMb5t3187Hng==", - "dev": true, - "requires": { - "ajv": "6.12.6", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "node_modules/@angular-devkit/build-angular/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "@angular/animations": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-11.0.0.tgz", - "integrity": "sha512-RGaAnZOI73bPnNWrJq/p8sc+hpUBhScq139M6r4qQjQPsPahazL6v6hHAgRhZNemqw164d1oE4K/22O/i0E3Tw==", - "requires": { - "tslib": "^2.0.0" + "node_modules/@angular-devkit/build-angular/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "@angular/cdk": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-11.0.0.tgz", - "integrity": "sha512-kfgEE/LDYMZB4NICChzWn/nTEeoZ3wxrYsDDcy2Qj+57zUmJcxBLL1h+tawYCy3a1g7ypDLYX7yrbPEBE7/EXQ==", - "requires": { - "parse5": "^5.0.0", - "tslib": "^2.0.0" + "node_modules/@angular-devkit/build-angular/node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular-devkit/build-angular/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@angular-devkit/build-webpack": { + "version": "0.1600.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.0.tgz", + "integrity": "sha512-ZlNNMtAzgMCsaN5crkqtgeYxWEyZ78/ePfrJTB3+Hb6LS+hsRf4WAYubHWRWReSx87ppluRrgNZLy0K9ooWy1w==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1600.0", + "rxjs": "7.8.1" }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "webpack": "^5.30.0", + "webpack-dev-server": "^4.0.0" + } + }, + "node_modules/@angular-devkit/core": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.0.tgz", + "integrity": "sha512-YJKvAJlg4/lfP93pQNawlOTQalynWGpoatZU+1aXBgRh5YCTKu2S/A3gtQ71DBuhac76gJe1RpxDoq41kB2KlQ==", + "dev": true, "dependencies": { - "parse5": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-5.1.1.tgz", - "integrity": "sha512-ugq4DFI0Ptb+WWjAdOK16+u/nHfiIrcE+sh8kZMaM0WllQKLI9rOUq6c2b7cwPkXdzfQESqvoqK6ug7U/Yyzug==", + "ajv": "8.12.0", + "ajv-formats": "2.1.1", + "jsonc-parser": "3.2.0", + "rxjs": "7.8.1", + "source-map": "0.7.4" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "chokidar": "^3.5.2" + }, + "peerDependenciesMeta": { + "chokidar": { "optional": true } } }, - "@angular/cli": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-11.0.1.tgz", - "integrity": "sha512-zB20jTLQxLpkJjhbYelhRyMcgGsjwbD8pSYYAO6QX656Tx1tCtJ2UskEtf4ePQvgzu0Ds2dnAEfco+tekIMRTA==", - "dev": true, - "requires": { - "@angular-devkit/architect": "0.1100.1", - "@angular-devkit/core": "11.0.1", - "@angular-devkit/schematics": "11.0.1", - "@schematics/angular": "11.0.1", - "@schematics/update": "0.1100.1", + "node_modules/@angular-devkit/core/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/@angular-devkit/core/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/@angular-devkit/core/node_modules/source-map": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.4.tgz", + "integrity": "sha512-l3BikUxvPOcn5E74dZiq5BGsTb5yEwhaTSzccU6t4sDOH8NWJCstKO5QT2CvtFoK6F0saL7p9xHAqHOlCPJygA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@angular-devkit/schematics": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.0.tgz", + "integrity": "sha512-9uFOqjOQdhnpxU5mku2LvBkV5Ave2ihHBFaQCH7vQ7DD+p4NpLHu93bMSh+f7k9W7F0lY18g9qrihRgK/7wfuA==", + "dev": true, + "dependencies": { + "@angular-devkit/core": "16.0.0", + "jsonc-parser": "3.2.0", + "magic-string": "0.30.0", + "ora": "5.4.1", + "rxjs": "7.8.1" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/animations": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.0.tgz", + "integrity": "sha512-Xx4Ffdo3sweg24MDVAXbDfxqkNPEuRgqOC1+f9171kf+w7cBEr4Bmy37DP7YkJceaU0xJH9imcx4708KeIjqkQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.0.0" + } + }, + "node_modules/@angular/cdk": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.0.0.tgz", + "integrity": "sha512-3hiNRB5kBOYv+MJRlpLX++KzY96mTivE7BXM/pNoR4Hiq7aBnoCtp0zbTc9J7gPn8POX6t/4WfAogslbkvQXSg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "optionalDependencies": { + "parse5": "^7.1.2" + }, + "peerDependencies": { + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/cli": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.0.tgz", + "integrity": "sha512-vsveaSJ5kj0MeJCg1nir5iJJEsdrRRnyNeL1awMcyrEjAhBPX3d0gfOP2fe0HR5KJtntX8zvihGus3i48Quo7A==", + "dev": true, + "dependencies": { + "@angular-devkit/architect": "0.1600.0", + "@angular-devkit/core": "16.0.0", + "@angular-devkit/schematics": "16.0.0", + "@schematics/angular": "16.0.0", "@yarnpkg/lockfile": "1.1.0", - "ansi-colors": "4.1.1", - "debug": "4.2.0", - "ini": "1.3.5", - "inquirer": "7.3.3", - "npm-package-arg": "8.1.0", - "npm-pick-manifest": "6.1.0", - "open": "7.3.0", - "pacote": "9.5.12", - "resolve": "1.18.1", - "rimraf": "3.0.2", - "semver": "7.3.2", - "symbol-observable": "2.0.3", - "universal-analytics": "0.4.23", - "uuid": "8.3.1" - }, - "dependencies": { - "@angular-devkit/architect": { - "version": "0.1100.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1100.1.tgz", - "integrity": "sha512-DIAvTRRY+k7T2xHf4RVV06P16D0V7wSf1MSpGSDWVpfWcA3HNOSGfsk1F+COMlbFehXuKztwieXarv5rXbBCng==", - "dev": true, - "requires": { - "@angular-devkit/core": "11.0.1", - "rxjs": "6.6.3" - } - }, - "@angular-devkit/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.0.1.tgz", - "integrity": "sha512-ui3g7w/0SpU9oq8uwN9upR8Y1eOXZ+P2p3NyDydBrR7ZEfEkRLS1mhozN/ib8farrwK5N3kIIJxMb5t3187Hng==", - "dev": true, - "requires": { - "ajv": "6.12.6", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "resolve": { - "version": "1.18.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.18.1.tgz", - "integrity": "sha512-lDfCPaMKfOJXjy0dPayzPdF1phampNWr3qFCjAu+rw/qbQmr5jWH5xN2hwh9QKfw9E5v4hwV7A+jrCmL8yjjqA==", - "dev": true, - "requires": { - "is-core-module": "^2.0.0", - "path-parse": "^1.0.6" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - }, - "uuid": { - "version": "8.3.1", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.1.tgz", - "integrity": "sha512-FOmRr+FmWEIG8uhZv6C2bTgEVXsHk08kE7mPlrBbEe+c3r9pjceVPgupIfNIhc4yx55H69OXANrUaSuu9eInKg==", - "dev": true - } + "ansi-colors": "4.1.3", + "ini": "4.0.0", + "inquirer": "8.2.4", + "jsonc-parser": "3.2.0", + "npm-package-arg": "10.1.0", + "npm-pick-manifest": "8.0.1", + "open": "8.4.2", + "ora": "5.4.1", + "pacote": "15.1.3", + "resolve": "1.22.2", + "semver": "7.4.0", + "symbol-observable": "4.0.0", + "yargs": "17.7.2" + }, + "bin": { + "ng": "bin/ng.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + } + }, + "node_modules/@angular/cli/node_modules/ini": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/ini/-/ini-4.0.0.tgz", + "integrity": "sha512-t0ikzf5qkSFqRl1e6ejKBe+Tk2bsQd8ivEkcisyGXsku2t8NvXZ1Y3RRz5vxrDgOrTBOi13CvGsVoI5wVpd7xg==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@angular/common": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-11.0.0.tgz", - "integrity": "sha512-chlbtxR7jpPs3Rc1ymdp3UfUzqEr57OFIxVMG6hROODclPQQk/7oOHdQB4hpUObaF9y4ZTLeKHKWiR/twi21Pg==", - "requires": { - "tslib": "^2.0.0" + "node_modules/@angular/cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "@angular/compiler": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-11.0.0.tgz", - "integrity": "sha512-I7wVhdqvhtBTQTtW61z0lwPb1LiQQ0NOwjsbfN5sAc7/uwxw7em+Kyb/XJgBwgaTKtAL8bZEzdoQGLdsSKQF2g==", - "requires": { - "tslib": "^2.0.0" + "node_modules/@angular/cli/node_modules/semver": { + "version": "7.4.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.4.0.tgz", + "integrity": "sha512-RgOxM8Mw+7Zus0+zcLEUn8+JfoLpj/huFTItQy2hsM4khuC1HYRDp0cU482Ewn/Fcy6bCjufD8vAj7voC66KQw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "@angular/compiler-cli": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-11.0.0.tgz", - "integrity": "sha512-zrd/cU9syZ8XuQ3ItfIGaKDn1ZBCWyiqdLVRH9VDmyNqQFiCc/VWQ9Th9z8qpLptgdpzE9+lKFgeZJTDtbcveQ==", + "node_modules/@angular/cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@angular/common": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.0.tgz", + "integrity": "sha512-at3/xCevf2t9swX2P7K7gaSBuQPy7ZJsf37qQkYIuczzfij69r7s9NjYeA74/q3EWG9Yl2DCrhYoCW7ViXQINQ==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/compiler": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.0.tgz", + "integrity": "sha512-xtg+KRvSeB9DUzMDtvlaRGKv+Y0MERsz+JOoqV9H4606ThNz5h8ih6fEhVKYqG100o7GhdJaVFO+vlr2/edUHA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/core": "16.0.0" + }, + "peerDependenciesMeta": { + "@angular/core": { + "optional": true + } + } + }, + "node_modules/@angular/compiler-cli": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.0.tgz", + "integrity": "sha512-oyJzxiTHxziv7mD0QuA7K6tpDoL6YNGPkquKjeJjNVZvUrodGsvJ8xHO4ydmjK3nMu2ET1YarsdI8bRp4vp/7w==", "dev": true, - "requires": { - "@babel/core": "^7.8.6", - "@babel/types": "^7.8.6", - "canonical-path": "1.0.0", + "dependencies": { + "@babel/core": "7.19.3", + "@jridgewell/sourcemap-codec": "^1.4.14", "chokidar": "^3.0.0", "convert-source-map": "^1.5.1", - "dependency-graph": "^0.7.2", - "fs-extra": "4.0.2", - "magic-string": "^0.25.0", - "minimist": "^1.2.0", "reflect-metadata": "^0.1.2", - "semver": "^6.3.0", - "source-map": "^0.6.1", - "sourcemap-codec": "^1.4.8", - "tslib": "^2.0.0", - "yargs": "15.3.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.3.0", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.3.0.tgz", - "integrity": "sha512-g/QCnmjgOl1YJjGsnUg2SatC7NUYEiLXJqxNOQU9qSpjzGtGXda9b+OKccr1kLTy8BN9yqEyqfq5lxlwdc13TA==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.0" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "semver": "^7.0.0", + "tslib": "^2.3.0", + "yargs": "^17.2.1" + }, + "bin": { + "ng-xi18n": "bundles/src/bin/ng_xi18n.js", + "ngc": "bundles/src/bin/ngc.js", + "ngcc": "bundles/ngcc/index.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/compiler": "16.0.0", + "typescript": ">=4.9.3 <5.1" + } + }, + "node_modules/@angular/compiler-cli/node_modules/@babel/core": { + "version": "7.19.3", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.19.3.tgz", + "integrity": "sha512-WneDJxdsjEvyKtXKsaBGbDeiyOjR5vYq4HcShxnIbG0qixpoHjI3MqeZM9NDvsojNCEBItQE4juOo/bU6e72gQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.18.6", + "@babel/generator": "^7.19.3", + "@babel/helper-compilation-targets": "^7.19.3", + "@babel/helper-module-transforms": "^7.19.0", + "@babel/helpers": "^7.19.0", + "@babel/parser": "^7.19.3", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.19.3", + "@babel/types": "^7.19.3", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" } }, - "@angular/core": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-11.0.0.tgz", - "integrity": "sha512-FNewyMwYy+kGdw1xWfrtaPD2cSQs3kDVFbl8mNMSzp933W5yMsHDvjXb0+nPFqEb8ywEIdm3MsBMK0y3iBWZQw==", - "requires": { - "tslib": "^2.0.0" + "node_modules/@angular/compiler-cli/node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "@angular/forms": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-11.0.0.tgz", - "integrity": "sha512-hP6GF1ZkxKQp7Y+EVbEe9PPDQPrUQNdfVxphCWQYwu3tm8+tn1r91KVXkp2MA3M4Fh6Xo2HQEU2d+VXv4w0iNQ==", - "requires": { - "tslib": "^2.0.0" + "node_modules/@angular/compiler-cli/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "@angular/language-service": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-11.0.0.tgz", - "integrity": "sha512-lwUVlaiIASNbKQ/EtCK5KOVIlpiyVvysN6idAD0rJHr6BRtrlqwiayNYbV5as5IJyPYLf2E8au3an9j0E/PFDw==", + "node_modules/@angular/compiler-cli/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@angular/compiler-cli/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "@angular/material": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-11.0.0.tgz", - "integrity": "sha512-pTwYmBrRXbEzF5J/oayZF0ApA0tLN+CUl/2MaYFNLzvE/Kn6hIdDb7TonWAEBgeSHIzqzyTV8IUQuXwGaPds9A==", - "requires": { - "tslib": "^2.0.0" + "node_modules/@angular/core": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.0.tgz", + "integrity": "sha512-scppDxtXubum6ZiGu3ogmReBtMuA5XXk5FL3YKLb3c9O7q9Z5PC8KNQ6SsaOwEb6oW+0BWXMV698p/zmd0J4tA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "rxjs": "^6.5.3 || ^7.4.0", + "zone.js": "~0.13.0" + } + }, + "node_modules/@angular/forms": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.0.tgz", + "integrity": "sha512-avpreXyDYWf44RNM5hfi5cTXXiNwcajBURP5rLap8RPMSUi2ePlJsmi0O+3+GduNZFbtnRXIpKTj3W+GeNa0PA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.0.0", + "@angular/core": "16.0.0", + "@angular/platform-browser": "16.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/language-service": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-16.0.0.tgz", + "integrity": "sha512-jySin8NdZIfcvwyemh2kRVveOvL1SPvywmIrv/6+MbKebG9Oc+casxruoRai8gh8bhahdpUAOG0t8wbedUWcxw==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.10.0" + } + }, + "node_modules/@angular/material": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.0.0.tgz", + "integrity": "sha512-FIkBjcygdgN0vDnO+e3dWrjw/+U805zGC9dh7lwSkpbgQp89ZYVk4Wygk5+I6oSKn1oR9GJpIe/j8+kP6CMA4w==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/auto-init": "15.0.0-canary.51f9c0c28.0", + "@material/banner": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/button": "15.0.0-canary.51f9c0c28.0", + "@material/card": "15.0.0-canary.51f9c0c28.0", + "@material/checkbox": "15.0.0-canary.51f9c0c28.0", + "@material/chips": "15.0.0-canary.51f9c0c28.0", + "@material/circular-progress": "15.0.0-canary.51f9c0c28.0", + "@material/data-table": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dialog": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/drawer": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/fab": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/floating-label": "15.0.0-canary.51f9c0c28.0", + "@material/form-field": "15.0.0-canary.51f9c0c28.0", + "@material/icon-button": "15.0.0-canary.51f9c0c28.0", + "@material/image-list": "15.0.0-canary.51f9c0c28.0", + "@material/layout-grid": "15.0.0-canary.51f9c0c28.0", + "@material/line-ripple": "15.0.0-canary.51f9c0c28.0", + "@material/linear-progress": "15.0.0-canary.51f9c0c28.0", + "@material/list": "15.0.0-canary.51f9c0c28.0", + "@material/menu": "15.0.0-canary.51f9c0c28.0", + "@material/menu-surface": "15.0.0-canary.51f9c0c28.0", + "@material/notched-outline": "15.0.0-canary.51f9c0c28.0", + "@material/radio": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/segmented-button": "15.0.0-canary.51f9c0c28.0", + "@material/select": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/slider": "15.0.0-canary.51f9c0c28.0", + "@material/snackbar": "15.0.0-canary.51f9c0c28.0", + "@material/switch": "15.0.0-canary.51f9c0c28.0", + "@material/tab": "15.0.0-canary.51f9c0c28.0", + "@material/tab-bar": "15.0.0-canary.51f9c0c28.0", + "@material/tab-indicator": "15.0.0-canary.51f9c0c28.0", + "@material/tab-scroller": "15.0.0-canary.51f9c0c28.0", + "@material/textfield": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tooltip": "15.0.0-canary.51f9c0c28.0", + "@material/top-app-bar": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.3.0" + }, + "peerDependencies": { + "@angular/animations": "^16.0.0 || ^17.0.0", + "@angular/cdk": "16.0.0", + "@angular/common": "^16.0.0 || ^17.0.0", + "@angular/core": "^16.0.0 || ^17.0.0", + "@angular/forms": "^16.0.0 || ^17.0.0", + "@angular/platform-browser": "^16.0.0 || ^17.0.0", + "rxjs": "^6.5.3 || ^7.4.0" + } + }, + "node_modules/@angular/platform-browser": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.0.tgz", + "integrity": "sha512-6LpgLfEnumKMKM/S9joWrVSm4MdFuIjddFmlSG7zGcRqwM0N8doH/YkuwTK8/t9q8wI/yztp6qM2pg25Pgv1XA==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/animations": "16.0.0", + "@angular/common": "16.0.0", + "@angular/core": "16.0.0" + }, + "peerDependenciesMeta": { + "@angular/animations": { + "optional": true + } } }, - "@angular/platform-browser": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-11.0.0.tgz", - "integrity": "sha512-p8sF6JfaBI+YyLpp5OSg6UcCqjtLKRR+Otq1P/tro5SuxrsrBNRVU8j0tl/crkScsMwAvgmJ1joRyUKdI2mUGQ==", - "requires": { - "tslib": "^2.0.0" + "node_modules/@angular/platform-browser-dynamic": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.0.tgz", + "integrity": "sha512-xUR36r+7hFQjAb0RA0VFfWrCLj2VnWg0xJgPe4FQmwaEWjKMc011tkJXs0PApaiTxvE0W08nadSDTu5jfsBrFw==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.0.0", + "@angular/compiler": "16.0.0", + "@angular/core": "16.0.0", + "@angular/platform-browser": "16.0.0" } }, - "@angular/platform-browser-dynamic": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-11.0.0.tgz", - "integrity": "sha512-NAmKGhHK+tl7dr/Hcqxvr/813Opec3Mv0IRwIgmKdlpZd7qAwT/mw4RnO4YPSEoDOM6hqGt7GdlWrSDX802duQ==", - "requires": { - "tslib": "^2.0.0" + "node_modules/@angular/router": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.0.tgz", + "integrity": "sha512-+5gjJwFx3AFGv7OnY53pfUzaPbWe5gOVQWXAnlUuk6tsQmWJBMehuCQ5ZO5cxViQDZkyvNALzoUeU6aKWmNqmg==", + "dependencies": { + "tslib": "^2.3.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "peerDependencies": { + "@angular/common": "16.0.0", + "@angular/core": "16.0.0", + "@angular/platform-browser": "16.0.0", + "rxjs": "^6.5.3 || ^7.4.0" } }, - "@angular/router": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-11.0.0.tgz", - "integrity": "sha512-10ZeobfK3HqVeWS6zjdKU16ccxFtdCHkxT11bnFg3Jwq9vKt+LI5KitAkCI5rYTY3DRfVzasRkqBzZfZMkbftw==", - "requires": { - "tslib": "^2.0.0" - } + "node_modules/@assemblyscript/loader": { + "version": "0.10.1", + "resolved": "https://registry.npmjs.org/@assemblyscript/loader/-/loader-0.10.1.tgz", + "integrity": "sha512-H71nDOOL8Y7kWRLqf6Sums+01Q5msqBW2KhDUTemh1tvY04eSkSXrK0uj/4mmY0Xr16/3zyZmsrxN7CKuRbNRg==", + "dev": true }, - "@babel/code-frame": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.0.0.tgz", - "integrity": "sha512-OfC2uemaknXr87bdLUkWog7nYuliM9Ij5HUcajsVcMCpQrcLmtxRbVFTIqmcSkSeYRBFBRxs2FiUqFJDLdiebA==", + "node_modules/@babel/code-frame": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.21.4.tgz", + "integrity": "sha512-LYvhNKfwWSPpocw8GI7gpK2nq3HSDuEPC/uSYaALSJu9xjsalaaYFOq0Pwt5KmVqwEbZlDu81aLXwBOmD/Fv9g==", "dev": true, - "requires": { - "@babel/highlight": "^7.0.0" + "dependencies": { + "@babel/highlight": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/compat-data": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.12.5.tgz", - "integrity": "sha512-DTsS7cxrsH3by8nqQSpFSyjSfSYl57D6Cf4q8dW3LK83tBKBDCkfcay1nYkXq1nIHXnpX8WMMb/O25HOy3h1zg==", - "dev": true - }, - "@babel/core": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.12.3.tgz", - "integrity": "sha512-0qXcZYKZp3/6N2jKYVxZv0aNCsxTSVCiK72DTiTYZAu7sjg73W0/aynWjMbiGd87EQL4WyA8reiJVh92AVla9g==", + "node_modules/@babel/compat-data": { + "version": "7.21.7", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.21.7.tgz", + "integrity": "sha512-KYMqFYTaenzMK4yUtf4EW9wc4N9ef80FsbMtkwool5zpwl4YrT1SdWYSTRcT94KO4hannogdS+LxY7L+arP3gA==", "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.1", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helpers": "^7.12.1", - "@babel/parser": "^7.12.3", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.21.4.tgz", + "integrity": "sha512-qt/YV149Jman/6AfmlxJ04LMIu8bMoyl3RB91yTFrxQmgbrSvQMy7cI8Q62FHx1t8wJ8B5fu0UDoLwHAhUo1QA==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.2.0", + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-module-transforms": "^7.21.2", + "@babel/helpers": "^7.21.0", + "@babel/parser": "^7.21.4", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.4", + "@babel/types": "^7.21.4", "convert-source-map": "^1.7.0", "debug": "^4.1.0", - "gensync": "^1.0.0-beta.1", - "json5": "^2.1.2", - "lodash": "^4.17.19", - "resolve": "^1.3.2", - "semver": "^5.4.1", - "source-map": "^0.5.0" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "dev": true, - "requires": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", - "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.5", - "@babel/types": "^7.12.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.4.tgz", + "integrity": "sha512-NieM3pVIYW2SwGzKoqfPrQsf4xGs9M9AIG3ThppsSRmO+m7eQhmI6amajKMUeIO37wFfsvnvcxQFx6x6iqxDnA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.18.6.tgz", + "integrity": "sha512-duORpUiYrEpzKIop6iNbjnwKLAKnJ47csTyRACyEmWj0QdUrm5aqNJGHSSEQSUAvNW0ojX0dOmK9dZduvkfeXA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.21.5.tgz", + "integrity": "sha512-uNrjKztPLkUk7bpCNC0jEKDJzzkvel/W+HguzbN8krA+LPfC1CEobJEvAvGka2A/M+ViOqXdcRL0GqPUJSjx9g==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.21.5.tgz", + "integrity": "sha512-1RkbFGUKex4lvsB9yhIfWltJM5cZKUftB2eNajaDv3dCMEp49iBG0K14uH8NnX9IPux2+mK7JGEOB0jn48/J6w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.21.5", + "@babel/helper-validator-option": "^7.21.0", + "browserslist": "^4.21.3", + "lru-cache": "^5.1.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.21.8.tgz", + "integrity": "sha512-+THiN8MqiH2AczyuZrnrKL6cAxFRRQDKW9h1YkBvbgKmAm6mwiacig1qT73DHIWMGo40GRnsEfN3LA+E6NtmSw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-member-expression-to-functions": "^7.21.5", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-replace-supers": "^7.21.5", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/helper-split-export-declaration": "^7.18.6", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-class-features-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.21.8.tgz", + "integrity": "sha512-zGuSdedkFtsFHGbexAvNuipg1hbtitDLo2XE8/uf6Y9sOQV1xsYX/2pNbtedp/X0eU1pIt+kGvaqHCowkRbS5g==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "regexpu-core": "^5.3.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.3.tgz", + "integrity": "sha512-z5aQKU4IzbqCC1XH0nAqfsFLMVSo22SBKUc0BxGrLkolTdPTructy0ToNnlO2zA4j9Q/7pjMZf0DSY+DSTYzww==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.17.7", + "@babel/helper-plugin-utils": "^7.16.7", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.21.5.tgz", + "integrity": "sha512-IYl4gZ3ETsWocUWgsFZLM5i1BYx9SoemminVEXadgLBa9TdeorzgLKm8wWLA6J1N/kT3Kch8XIk1laNzYoHKvQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.21.0.tgz", + "integrity": "sha512-HfK1aMRanKHpxemaY2gqBmL04iAPOPRj7DxtNbiDOrJK+gdwkiNRVpCpUJYbUT+aZyemKN8brqTOxzCaG6ExRg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/types": "^7.21.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.18.6.tgz", + "integrity": "sha512-UlJQPkFqFULIcyW5sbzgbkxn2FKRgwWiRexcuaR8RNJRy8+LLveqPjwZV/bwrLZCN0eUHD/x8D0heK1ozuoo6Q==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.21.5.tgz", + "integrity": "sha512-nIcGfgwpH2u4n9GG1HpStW5Ogx7x7ekiFHbjjFRKXbn5zUvqO9ZgotCO4x1aNbKn/x/xOUaXEhyNHCwtFCpxWg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.21.4.tgz", + "integrity": "sha512-orajc5T2PsRYUN3ZryCEFeMDYwyw09c/pZeaQEZPH0MpKzSvn3e0uXsDBu3k03VI+9DBiRo+l22BfKTpKwa/Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.21.5.tgz", + "integrity": "sha512-bI2Z9zBGY2q5yMHoBvJ2a9iX3ZOAzJPm7Q8Yz6YeoUjU/Cvhmi2G4QyTNyPBqqXSgTjUxRg3L0xV45HvkNWWBw==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-simple-access": "^7.21.5", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/helper-validator-identifier": "^7.19.1", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.18.6.tgz", + "integrity": "sha512-HP59oD9/fEHQkdcbgFCnbmgH5vIQTJbxh2yf+CdM89/glUNnuzr87Q8GIjGEnOktTROemO0Pe0iPAYbqZuOUiA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.21.5.tgz", + "integrity": "sha512-0WDaIlXKOX/3KfBK/dwP1oQGiPh6rjMkT7HIRv7i5RR2VUMwrx5ZL0dwBkKx7+SW1zwNdgjHd34IMk5ZjTeHVg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.18.9.tgz", + "integrity": "sha512-dI7q50YKd8BAv3VEfgg7PS7yD3Rtbi2J1XMXaalXO0W0164hYLnh8zpjRS0mte9MfVp/tltvr/cfdXPvJr1opA==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-wrap-function": "^7.18.9", + "@babel/types": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.21.5.tgz", + "integrity": "sha512-/y7vBgsr9Idu4M6MprbOVUfH3vs7tsIfnVWv/Ml2xgwvyH6LTngdfbf5AdsKwkJy4zgy1X/kuNrEKvhhK28Yrg==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-member-expression-to-functions": "^7.21.5", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.21.5.tgz", + "integrity": "sha512-ENPDAMC1wAjR0uaCUwliBdiSl1KBJAVnMTzXqi64c2MG8MPR6ii4qf7bSXDqSFbr4W6W028/rf5ivoHop5/mkg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.20.0.tgz", + "integrity": "sha512-5y1JYeNKfvnT8sZcK9DVRtpTbGiomYIHviSP3OQWmDPU3DeH4a1ZlT/N2lyQ5P8egjcRaT/Y9aNqUxK0WsnIIg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.18.6.tgz", + "integrity": "sha512-bde1etTx6ZyTmobl9LLMMQsaizFVZrquTEHOqKeQESMKo4PlObf+8+JA25ZsIpZhT/WEd39+vOdLXAFG/nELpA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.21.5.tgz", + "integrity": "sha512-5pTUx3hAJaZIdW99sJ6ZUUgWq/Y+Hja7TowEnLNMm1VivRgZQL3vpBY3qUACVsvw+yQU6+YgfBVmcbLaZtrA1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.19.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.19.1.tgz", + "integrity": "sha512-awrNfaMtnHUr653GgGEs++LlAvW6w+DcPrOliSMXWCKo597CwL5Acf/wWdNkf/tfEQE3mjkeD1YOVZOUV/od1w==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.21.0.tgz", + "integrity": "sha512-rmL/B8/f0mKS2baE9ZpyTcTavvEuWhTTW8amjzXNvYG4AwBsqTLikfXsEofsJEfKHf+HQVQbFOHy6o+4cnC/fQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.20.5.tgz", + "integrity": "sha512-bYMxIWK5mh+TgXGVqAtnu5Yn1un+v8DDZtqyzKRLUzrh70Eal2O3aZ7aPYiMADO4uKlkzOiRiZ6GX5q3qxvW9Q==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.19.0", + "@babel/template": "^7.18.10", + "@babel/traverse": "^7.20.5", + "@babel/types": "^7.20.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.21.5.tgz", + "integrity": "sha512-BSY+JSlHxOmGsPTydUkPf1MdMQ3M81x5xGCOVgWM3G8XH77sJ292Y2oqcp0CbbgxhqBuI46iUz1tT7hqP7EfgA==", + "dev": true, + "dependencies": { + "@babel/template": "^7.20.7", + "@babel/traverse": "^7.21.5", + "@babel/types": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.18.6.tgz", + "integrity": "sha512-u7stbOuYjaPezCuLj29hNW1v64M2Md2qupEKP1fHc7WdOA3DgLh37suiSrZYY7haUB7iBeQZ9P1uiRF359do3g==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.18.6", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.21.8", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.21.8.tgz", + "integrity": "sha512-6zavDGdzG3gUqAdWvlLFfk+36RilI+Pwyuuh7HItyeScCWP3k6i8vKclAQ0bM/0y/Kz/xiwvxhMv9MgTJP5gmA==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.18.6.tgz", + "integrity": "sha512-Dgxsyg54Fx1d4Nge8UnvTrED63vrwOdPmyvPzlNN/boaliRP54pm3pGzZD1SJUwrBA+Cs/xdG8kXX6Mn/RfISQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.20.7.tgz", + "integrity": "sha512-sbr9+wNE5aXMBBFBICk01tt7sBf2Oc9ikRFEcem/ZORup9IMUdNhW7/wVLEbbtlWOsEubJet46mHAL2C8+2jKQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-proposal-optional-chaining": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.20.7.tgz", + "integrity": "sha512-xMbiLsn/8RK7Wq7VeVytytS2L6qE69bXPB10YCmMdDZbKF4okCqY74pI/jJQ/8U0b/F6NrT2+14b8/P9/3AMGA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.18.6.tgz", + "integrity": "sha512-cumfXOF0+nzZrrN8Rf0t7M+tF6sZc7vhQwYQck9q1/5w2OExlD+b4v4RpMJFaV1Z7WcDRgO6FqvxqxGlwo+RHQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.21.0.tgz", + "integrity": "sha512-XP5G9MWNUskFuP30IfFSEFB0Z6HzLIUcjYM4bYOPHXl7eiJ9HFv8tWj6TXTN5QODiEhDZAeI4hLok2iHFFV4hw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.18.6.tgz", + "integrity": "sha512-1auuwmK+Rz13SJj36R+jqFPMJWyKEDd7lLSdOj4oJK0UTgGueSAtkrCvz9ewmgyU/P941Rv2fQwZJN8s6QruXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.18.9.tgz", + "integrity": "sha512-k1NtHyOMvlDDFeb9G5PhUXuGj8m/wiwojgQVEhJ/fsVsMCpLyOP4h0uGEjYJKrRI+EVPlb5Jk+Gt9P97lOGwtA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.18.6.tgz", + "integrity": "sha512-lr1peyn9kOdbYc0xr0OdHTZ5FMqS6Di+H0Fz2I/JwMzGmzJETNeOFq2pBySw6X/KFL5EWDjlJuMsUGRFb8fQgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.20.7.tgz", + "integrity": "sha512-y7C7cZgpMIjWlKE5T7eJwp+tnRYM89HmRvWM5EQuB5BoHEONjmQ8lSNmBUwOyy/GFRsohJED51YBF79hE1djug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.18.6.tgz", + "integrity": "sha512-wQxQzxYeJqHcfppzBDnm1yAY0jSRkUXR2z8RePZYrKwMKgMlE8+Z6LUno+bd6LvbGh8Gltvy74+9pIYkr+XkKA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.18.6.tgz", + "integrity": "sha512-ozlZFogPqoLm8WBr5Z8UckIoE4YQ5KESVcNudyXOR8uqIkliTEgJ3RoketfG6pmzLdeZF0H/wjE9/cCEitBl7Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.20.7.tgz", + "integrity": "sha512-d2S98yCiLxDVmBmE8UjGcfPvNEUbA1U5q5WxaWFUGRzJSVAZqm5W6MbPct0jxnegUZ0niLeNX+IOzEs7wYg9Dg==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.20.5", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.18.6.tgz", + "integrity": "sha512-Q40HEhs9DJQyaZfUjjn6vE8Cv4GmMHCYuMGIWUnlxH6400VGxOuwWsPt4FxXxJkC/5eOzgn0z21M9gMT4MOhbw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.21.0.tgz", + "integrity": "sha512-p4zeefM72gpmEe2fkUr/OnOXpWEf8nAgk7ZYVqqfFiyIG7oFfVZcCrU64hWn5xp4tQ9LkV4bTIa5rD0KANpKNA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.18.6.tgz", + "integrity": "sha512-nutsvktDItsNn4rpGItSNV2sz1XwS+nfU0Rg8aCx3W3NOKVzdMjJRu0O5OkgDp3ZGICSTbgRpxZoWsxoKRvbeA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.21.0.tgz", + "integrity": "sha512-ha4zfehbJjc5MmXBlHec1igel5TJXXLDDRbuJ4+XT2TJcyD9/V1919BA8gMvsdHcNMBy4WBUBiRb3nw/EQUtBw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-create-class-features-plugin": "^7.21.0", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.18.6.tgz", + "integrity": "sha512-2BShG/d5yoZyXZfVePH91urL5wTG6ASZU9M4o03lKK8u8UW1y08OMttBSOADTcJrnPMpvDXRG3G8fyLh4ovs8w==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.20.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.20.0.tgz", + "integrity": "sha512-IUh1vakzNoWalR8ch/areW7qFopR2AEw03JlG7BbrDqmQ4X3q9uuipQwSGrUn7oGiemKjtSLDhNtQHzMHr1JdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.19.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.21.5.tgz", + "integrity": "sha512-wb1mhwGOCaXHDTcsRYMKF9e5bbMgqwxtqa2Y1ifH96dXJPwbuLX9qHy3clhrxVqgMz7nyNXs8VkxdH8UBcjKqA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.20.7.tgz", + "integrity": "sha512-Uo5gwHPT9vgnSXQxqGtpdufUiWp96gk7yiP4Mp5bm1QMkEmLXBO7PAGYbKoJ6DhAwiNkcHFBol/x5zZZkL/t0Q==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-remap-async-to-generator": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.18.6.tgz", + "integrity": "sha512-ExUcOqpPWnliRcPqves5HJcJOvHvIIWfuS4sroBUenPuMdmW+SMHDakmtS7qOo13sVppmUijqeTv7qqGsvURpQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.21.0.tgz", + "integrity": "sha512-Mdrbunoh9SxwFZapeHVrwFmri16+oYotcZysSzhNIVDwIAb1UV+kvnxULSYq9J3/q5MDG+4X6w8QVgD1zhBXNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.21.0.tgz", + "integrity": "sha512-RZhbYTCEUAe6ntPehC4hlslPWosNHDox+vAs4On/mCLRLfoDVHf6hVEd7kuxr1RnHwJmxFfUM3cZiZRmPxJPXQ==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.18.6", + "@babel/helper-compilation-targets": "^7.20.7", + "@babel/helper-environment-visitor": "^7.18.9", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-optimise-call-expression": "^7.18.6", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-replace-supers": "^7.20.7", + "@babel/helper-split-export-declaration": "^7.18.6", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.21.5.tgz", + "integrity": "sha512-TR653Ki3pAwxBxUe8srfF3e4Pe3FTA46uaNHYyQwIoM4oWKSoOZiDNyHJ0oIoDIUPSRQbQG7jzgVBX3FPVne1Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/template": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.21.3.tgz", + "integrity": "sha512-bp6hwMFzuiE4HqYEyoGJ/V2LeIWn+hLVKc4pnj++E5XQptwhtcGmSayM029d/j2X1bPKGTlsyPwAubuU22KhMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.18.6.tgz", + "integrity": "sha512-6S3jpun1eEbAxq7TdjLotAsl4WpQI9DxfkycRcKrjhQYzU87qpXdknpBg/e+TdcMehqGnLFi7tnFUBR02Vq6wg==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.18.9.tgz", + "integrity": "sha512-d2bmXCtZXYc59/0SanQKbiWINadaJXqtvIQIzd4+hNwkWBgyCd5F/2t1kXoUdvPMrxzPvhK6EMQRROxsue+mfw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.18.6.tgz", + "integrity": "sha512-wzEtc0+2c88FVR34aQmiz56dxEkxr2g8DQb/KfaFa1JYXOFVsbhvAonFN6PwVWj++fKmku8NP80plJ5Et4wqHw==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.21.5.tgz", + "integrity": "sha512-nYWpjKW/7j/I/mZkGVgHJXh4bA1sfdFnJoOXwJuj4m3Q2EraO/8ZyrkCau9P5tbHQk01RMSt6KYLCsW7730SXQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.18.9.tgz", + "integrity": "sha512-WvIBoRPaJQ5yVHzcnJFor7oS5Ls0PYixlTYE63lCj2RtdQEl15M68FXQlxnG6wdraJIXRdR7KI+hQ7q/9QjrCQ==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.18.9", + "@babel/helper-function-name": "^7.18.9", + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.18.9.tgz", + "integrity": "sha512-IFQDSRoTPnrAIrI5zoZv73IFeZu2dhu6irxQjY9rNjTT53VmKg9fenjvoiOWOkJ6mm4jKVPtdMzBY98Fp4Z4cg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.18.6.tgz", + "integrity": "sha512-qSF1ihLGO3q+/g48k85tUjD033C29TNTVB2paCwZPVmOsjn9pClvYYrM2VeJpBY2bcNkuny0YUyTNRyRxJ54KA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.20.11.tgz", + "integrity": "sha512-NuzCt5IIYOW0O30UvqktzHYR2ud5bOWbY0yaxWZ6G+aFzOMJvrs5YHNikrbdaT15+KNO31nPOy5Fim3ku6Zb5g==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.21.5.tgz", + "integrity": "sha512-OVryBEgKUbtqMoB7eG2rs6UFexJi6Zj6FDXx+esBLPTCxCNxAY9o+8Di7IsUGJ+AVhp5ncK0fxWUBd0/1gPhrQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.21.5", + "@babel/helper-plugin-utils": "^7.21.5", + "@babel/helper-simple-access": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.20.11", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.20.11.tgz", + "integrity": "sha512-vVu5g9BPQKSFEmvt2TA4Da5N+QVS66EX21d8uoOihC+OCpUoGvzVsXeqFdtAEfVa5BILAeFt+U7yVmLbQnAJmw==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-module-transforms": "^7.20.11", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-identifier": "^7.19.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.6.tgz", + "integrity": "sha512-dcegErExVeXcRqNtkRU/z8WlBLnvD4MRnHgNs3MytRO1Mn1sHRyhbcpYbVMGclAqOjdW+9cfkdZno9dFdfKLfQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.20.5.tgz", + "integrity": "sha512-mOW4tTzi5iTLnw+78iEq3gr8Aoq4WNRGpmSlrogqaiCBoR1HFhpU4JkpQFOHfeYx3ReVIFWOQJS4aZBRvuZ6mA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.20.5", + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.18.6.tgz", + "integrity": "sha512-DjwFA/9Iu3Z+vrAn+8pBUGcjhxKguSMlsFqeCKbhb9BAV756v0krzVK04CRDi/4aqmk8BsHb4a/gFcaA5joXRw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.18.6.tgz", + "integrity": "sha512-uvGz6zk+pZoS1aTZrOvrbj6Pp/kK2mp45t2B+bTDre2UgsZZ8EZLSJtUg7m/no0zOJUWgFONpB7Zv9W2tSaFlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6", + "@babel/helper-replace-supers": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.21.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.21.3.tgz", + "integrity": "sha512-Wxc+TvppQG9xWFYatvCGPvZ6+SIUxQ2ZdiBP+PHYMIjnPXD+uThCshaz4NZOnODAtBjjcVQQ/3OKs9LW28purQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.20.2" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.18.6.tgz", + "integrity": "sha512-cYcs6qlgafTud3PAzrrRNbQtfpQ8+y/+M5tKmksS9+M1ckbH6kzY8MrexEM9mcA6JDsukE19iIRvAyYl463sMg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.21.5.tgz", + "integrity": "sha512-ZoYBKDb6LyMi5yCsByQ5jmXsHAQDDYeexT1Szvlmui+lADvfSecr5Dxd/PkrTC3pAD182Fcju1VQkB4oCp9M+w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.21.5", + "regenerator-transform": "^0.15.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-annotate-as-pure": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.10.4.tgz", - "integrity": "sha512-XQlqKQP4vXFB7BN8fEEerrmYvHp3fK/rBkRFz9jaJbzK0B1DSfej9Kc7ZzE8Z/OnId1jpJdNAZ3BFQjWG68rcA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.18.6.tgz", + "integrity": "sha512-oX/4MyMoypzHjFrT1CdivfKZ+XvIPMFXwwxHp/r0Ddy2Vuomt4HDFGmft1TAY2yiTKiNSsh3kjBAzcM8kSdsjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-builder-binary-assignment-operator-visitor": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.10.4.tgz", - "integrity": "sha512-L0zGlFrGWZK4PbT8AszSfLTM5sDU1+Az/En9VrdT8/LmEiJt4zXt+Jve9DCAnQcbqDhCI+29y/L93mrDzddCcg==", - "dev": true, - "requires": { - "@babel/helper-explode-assignable-expression": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.21.4.tgz", + "integrity": "sha512-1J4dhrw1h1PqnNNpzwxQ2UBymJUF8KuPjAAnlLwZcGhHAIqUigFW7cdK6GHoB64ubY4qXQNYknoUeks4Wz7CUA==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.21.4", + "@babel/helper-plugin-utils": "^7.20.2", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-compilation-targets": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.12.5.tgz", - "integrity": "sha512-+qH6NrscMolUlzOYngSBMIOQpKUGPPsc61Bu5W10mg84LxZ7cmvnBHzARKbDoFxVvqqAbj6Tg6N7bSrWSPXMyw==", + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "requires": { - "@babel/compat-data": "^7.12.5", - "@babel/helper-validator-option": "^7.12.1", - "browserslist": "^4.14.5", - "semver": "^5.5.0" - } - }, - "@babel/helper-create-class-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.12.1.tgz", - "integrity": "sha512-hkL++rWeta/OVOBTRJc9a5Azh5mt5WgZUGAKMD8JM141YsE08K//bp1unBBieO6rUKkIPyUE0USQ30jAy3Sk1w==", - "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-create-regexp-features-plugin": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.12.1.tgz", - "integrity": "sha512-rsZ4LGvFTZnzdNZR5HZdmJVuXK8834R5QkF3WvcnBhrlVtF0HSIUC6zbreL9MgjTywhKokn8RIYRiq99+DLAxA==", + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.18.6.tgz", + "integrity": "sha512-eCLXXJqv8okzg86ywZJbRn19YJHU4XUa55oz2wbHhaQVn/MM+XhukiT7SYqp/7o00dg52Rj51Ny+Ecw4oyoygw==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-regex": "^7.10.4", - "regexpu-core": "^4.7.1" + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-define-map": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-define-map/-/helper-define-map-7.10.5.tgz", - "integrity": "sha512-fMw4kgFB720aQFXSVaXr79pjjcW5puTCM16+rECJ/plGS+zByelE8l9nCpV1GibxTnFVmUuYG9U8wYfQHdzOEQ==", + "node_modules/@babel/plugin-transform-spread": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.20.7.tgz", + "integrity": "sha512-ewBbHQ+1U/VnH1fxltbJqDeWBU1oNLG8Dj11uIv3xVf7nrQu0bPGe5Rf716r7K5Qz+SqtAOVswoVunoiBtGhxw==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/types": "^7.10.5", - "lodash": "^4.17.19" - }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-skip-transparent-expression-wrappers": "^7.20.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-explode-assignable-expression": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.12.1.tgz", - "integrity": "sha512-dmUwH8XmlrUpVqgtZ737tK88v07l840z9j3OEhCLwKTkjlvKpfqXVIZ0wpK3aeOxspwGrf/5AP5qLx4rO3w5rA==", + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.18.6.tgz", + "integrity": "sha512-kfiDrDQ+PBsQDO85yj1icueWMfGfJFKN1KCkndygtu/C9+XUfydLC8Iv5UYJqRwy4zk8EcplRxEOeLyjq1gm6Q==", "dev": true, - "requires": { - "@babel/types": "^7.12.1" - }, "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-plugin-utils": "^7.18.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-hoist-variables": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.10.4.tgz", - "integrity": "sha512-wljroF5PgCk2juF69kanHVs6vrLwIPNp6DLD+Lrl3hoQ3PpPPikaDRNFA+0t81NOoMt2DL6WW/mdU8k4k6ZzuA==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.9.tgz", + "integrity": "sha512-S8cOWfT82gTezpYOiVaGHrCbhlHgKhQt8XH5ES46P2XWmX92yisoZywf5km75wv5sYcXDUCLMmMxOLCtthDgMA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-member-expression-to-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.12.1.tgz", - "integrity": "sha512-k0CIe3tXUKTRSoEx1LQEPFU9vRQfqHtl+kf8eNnDqb4AUJEy5pz6aIiog+YWtVm2jpggjS1laH68bPsR+KWWPQ==", + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.18.9", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.18.9.tgz", + "integrity": "sha512-SRfwTtF11G2aemAZWivL7PD+C9z52v9EvMqH9BuYbabyPuKUvSWks3oCg6041pT925L4zVFqaVBeECwsmlguEw==", "dev": true, - "requires": { - "@babel/types": "^7.12.1" + "dependencies": { + "@babel/helper-plugin-utils": "^7.18.9" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.21.5.tgz", + "integrity": "sha512-LYm/gTOwZqsYohlvFUe/8Tujz75LqqVC2w+2qPHLR+WyWHGCZPN1KBpJCJn+4Bk4gOkQy/IXKIge6az5MqwlOg==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-plugin-utils": "^7.21.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-module-imports": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.12.5.tgz", - "integrity": "sha512-SR713Ogqg6++uexFRORf/+nPXMmWIn80TALu0uaFb+iQIUoR7bOC7zBWyzBs5b3tBBJXuyD0cRu1F15GyzjOWA==", + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.18.6", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.18.6.tgz", + "integrity": "sha512-gE7A6Lt7YLnNOL3Pb9BNeZvi+d8l7tcRrG4+pwJjK9hD2xX4mEvjlQW60G9EEmfXVYRPv9VRQcyegIVHCql/AA==", "dev": true, - "requires": { - "@babel/types": "^7.12.5" + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.18.6", + "@babel/helper-plugin-utils": "^7.18.6" }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.21.4", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.21.4.tgz", + "integrity": "sha512-2W57zHs2yDLm6GD5ZpvNn71lZ0B/iypSdIeq25OurDKji6AdzV07qp4s3n1/x5BqtiGaTrPN3nerlSCaC5qNTw==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/compat-data": "^7.21.4", + "@babel/helper-compilation-targets": "^7.21.4", + "@babel/helper-plugin-utils": "^7.20.2", + "@babel/helper-validator-option": "^7.21.0", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.18.6", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.20.7", + "@babel/plugin-proposal-async-generator-functions": "^7.20.7", + "@babel/plugin-proposal-class-properties": "^7.18.6", + "@babel/plugin-proposal-class-static-block": "^7.21.0", + "@babel/plugin-proposal-dynamic-import": "^7.18.6", + "@babel/plugin-proposal-export-namespace-from": "^7.18.9", + "@babel/plugin-proposal-json-strings": "^7.18.6", + "@babel/plugin-proposal-logical-assignment-operators": "^7.20.7", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.18.6", + "@babel/plugin-proposal-numeric-separator": "^7.18.6", + "@babel/plugin-proposal-object-rest-spread": "^7.20.7", + "@babel/plugin-proposal-optional-catch-binding": "^7.18.6", + "@babel/plugin-proposal-optional-chaining": "^7.21.0", + "@babel/plugin-proposal-private-methods": "^7.18.6", + "@babel/plugin-proposal-private-property-in-object": "^7.21.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.18.6", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.20.0", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.20.7", + "@babel/plugin-transform-async-to-generator": "^7.20.7", + "@babel/plugin-transform-block-scoped-functions": "^7.18.6", + "@babel/plugin-transform-block-scoping": "^7.21.0", + "@babel/plugin-transform-classes": "^7.21.0", + "@babel/plugin-transform-computed-properties": "^7.20.7", + "@babel/plugin-transform-destructuring": "^7.21.3", + "@babel/plugin-transform-dotall-regex": "^7.18.6", + "@babel/plugin-transform-duplicate-keys": "^7.18.9", + "@babel/plugin-transform-exponentiation-operator": "^7.18.6", + "@babel/plugin-transform-for-of": "^7.21.0", + "@babel/plugin-transform-function-name": "^7.18.9", + "@babel/plugin-transform-literals": "^7.18.9", + "@babel/plugin-transform-member-expression-literals": "^7.18.6", + "@babel/plugin-transform-modules-amd": "^7.20.11", + "@babel/plugin-transform-modules-commonjs": "^7.21.2", + "@babel/plugin-transform-modules-systemjs": "^7.20.11", + "@babel/plugin-transform-modules-umd": "^7.18.6", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.20.5", + "@babel/plugin-transform-new-target": "^7.18.6", + "@babel/plugin-transform-object-super": "^7.18.6", + "@babel/plugin-transform-parameters": "^7.21.3", + "@babel/plugin-transform-property-literals": "^7.18.6", + "@babel/plugin-transform-regenerator": "^7.20.5", + "@babel/plugin-transform-reserved-words": "^7.18.6", + "@babel/plugin-transform-shorthand-properties": "^7.18.6", + "@babel/plugin-transform-spread": "^7.20.7", + "@babel/plugin-transform-sticky-regex": "^7.18.6", + "@babel/plugin-transform-template-literals": "^7.18.9", + "@babel/plugin-transform-typeof-symbol": "^7.18.9", + "@babel/plugin-transform-unicode-escapes": "^7.18.10", + "@babel/plugin-transform-unicode-regex": "^7.18.6", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.21.4", + "babel-plugin-polyfill-corejs2": "^0.3.3", + "babel-plugin-polyfill-corejs3": "^0.6.0", + "babel-plugin-polyfill-regenerator": "^0.4.1", + "core-js-compat": "^3.25.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-module-transforms": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.12.1.tgz", - "integrity": "sha512-QQzehgFAZ2bbISiCpmVGfiGux8YVFXQ0abBic2Envhej22DVXV9nCFaS5hIQbkyo1AdGb+gNME2TSh3hYJVV/w==", - "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-simple-access": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/helper-validator-identifier": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.1", - "@babel/types": "^7.12.1", - "lodash": "^4.17.19" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "dev": true, - "requires": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", - "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.5", - "@babel/types": "^7.12.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "@babel/helper-optimise-call-expression": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.10.4.tgz", - "integrity": "sha512-n3UGKY4VXwXThEiKrgRAoVPBMqeoPgHVqiHZOanAJCG9nQUL2pLRQirUzl0ioKclHGpGqRgIOkgcIJaIWLpygg==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "@babel/helper-plugin-utils": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.10.4.tgz", - "integrity": "sha512-O4KCvQA6lLiMU9l2eawBPMf1xPP8xPfB3iEQw150hOVTqj/rfXz0ThTb4HEzqQfs2Bmo5Ay8BzxfzVtBrr9dVg==", + "node_modules/@babel/regjsgen": { + "version": "0.8.0", + "resolved": "https://registry.npmjs.org/@babel/regjsgen/-/regjsgen-0.8.0.tgz", + "integrity": "sha512-x/rqGMdzj+fWZvCOYForTghzbtqPDZ5gPwaoNGHdgDfF2QA/XZbCBp4Moo5scrkAMPhB7z26XM/AaHuIJdgauA==", "dev": true }, - "@babel/helper-regex": { - "version": "7.10.5", - "resolved": "https://registry.npmjs.org/@babel/helper-regex/-/helper-regex-7.10.5.tgz", - "integrity": "sha512-68kdUAzDrljqBrio7DYAEgCoJHxppJOERHOgOrDN7WjOzP0ZQ1LsSDRXcemzVZaLvjaJsJEESb6qt+znNuENDg==", + "node_modules/@babel/runtime": { + "version": "7.21.0", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.21.0.tgz", + "integrity": "sha512-xwII0//EObnq89Ji5AKYQaRYiW/nZ3llSv29d49IuxPhKbtJoLP+9QUUZ4nVragQVtaVGeZrpB+ZtG/Pdy/POw==", "dev": true, - "requires": { - "lodash": "^4.17.19" + "dependencies": { + "regenerator-runtime": "^0.13.11" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-remap-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.12.1.tgz", - "integrity": "sha512-9d0KQCRM8clMPcDwo8SevNs+/9a8yWVVmaE80FGJcEP8N1qToREmWEGnBn8BUlJhYRFz6fqxeRL1sl5Ogsed7A==", + "node_modules/@babel/template": { + "version": "7.20.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.20.7.tgz", + "integrity": "sha512-8SegXApWe6VoNw0r9JHpSteLKTpTiLZ4rMlGIm9JQ18KiCtyQiAMEazujAHrUS5flrcqYZa75ukev3P6QmUwUw==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-wrap-function": "^7.10.4", - "@babel/types": "^7.12.1" - }, "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/code-frame": "^7.18.6", + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-replace-supers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.12.5.tgz", - "integrity": "sha512-5YILoed0ZyIpF4gKcpZitEnXEJ9UoDRki1Ey6xz46rxOzfNMAhVIJMoune1hmPVxh40LRv1+oafz7UsWX+vyWA==", + "node_modules/@babel/traverse": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.21.5.tgz", + "integrity": "sha512-AhQoI3YjWi6u/y/ntv7k48mcrCXmus0t79J9qPNlk/lAsFlCiJ047RmbfMOawySTHtywXhbXgpx/8nXMYd+oFw==", "dev": true, - "requires": { - "@babel/helper-member-expression-to-functions": "^7.12.1", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "dev": true, - "requires": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", - "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.5", - "@babel/types": "^7.12.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/code-frame": "^7.21.4", + "@babel/generator": "^7.21.5", + "@babel/helper-environment-visitor": "^7.21.5", + "@babel/helper-function-name": "^7.21.0", + "@babel/helper-hoist-variables": "^7.18.6", + "@babel/helper-split-export-declaration": "^7.18.6", + "@babel/parser": "^7.21.5", + "@babel/types": "^7.21.5", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" } }, - "@babel/helper-simple-access": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.12.1.tgz", - "integrity": "sha512-OxBp7pMrjVewSSC8fXDFrHrBcJATOOFssZwv16F3/6Xtc138GHybBfPbm9kfiqQHKhYQrlamWILwlDCeyMFEaA==", + "node_modules/@babel/traverse/node_modules/@babel/generator": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.21.5.tgz", + "integrity": "sha512-SrKK/sRv8GesIW1bDagf9cCG38IOMYZusoe1dfg0D8aiUe3Amvoj1QtjTPAWcfrZFvIwlleLb0gxzQidL9w14w==", "dev": true, - "requires": { - "@babel/types": "^7.12.1" + "dependencies": { + "@babel/types": "^7.21.5", + "@jridgewell/gen-mapping": "^0.3.2", + "@jridgewell/trace-mapping": "^0.3.17", + "jsesc": "^2.5.1" }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.21.5", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.21.5.tgz", + "integrity": "sha512-m4AfNvVF2mVC/F7fDEdH2El3HzUg9It/XsCxZiOTTA3m3qYfcSVSbTfM6Q9xG+hYDniZssYhlXKKUMD5m8tF4Q==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@babel/helper-string-parser": "^7.21.5", + "@babel/helper-validator-identifier": "^7.19.1", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "engines": { + "node": ">=0.1.90" } }, - "@babel/helper-skip-transparent-expression-wrappers": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.12.1.tgz", - "integrity": "sha512-Mf5AUuhG1/OCChOJ/HcADmvcHM42WJockombn8ATJG3OnyiSxBK/Mm5x78BQWvmtXZKHgbjdGL2kin/HOLlZGA==", + "node_modules/@cspotcode/source-map-support": { + "version": "0.8.1", + "resolved": "https://registry.npmjs.org/@cspotcode/source-map-support/-/source-map-support-0.8.1.tgz", + "integrity": "sha512-IchNf6dN4tHoMFIn/7OE8LWZ19Y6q/67Bmf6vnGREv8RSbBVb9LPJxEcnwrcwX6ixSvaiGoomAUvu4YSxXrVgw==", "dev": true, - "requires": { - "@babel/types": "^7.12.1" + "dependencies": { + "@jridgewell/trace-mapping": "0.3.9" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/@cspotcode/source-map-support/node_modules/@jridgewell/trace-mapping": { + "version": "0.3.9", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.9.tgz", + "integrity": "sha512-3Belt6tdc8bPgAtbcmdtNJlirVoTmEb5e2gC94PnkwEW9jI6CAHUeoG85tjWP5WquqfavoMtMwiG4P926ZKKuQ==", + "dev": true, "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" } }, - "@babel/helper-validator-identifier": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.10.4.tgz", - "integrity": "sha512-3U9y+43hz7ZM+rzG24Qe2mufW5KhvFg/NhnNph+i9mgCtdTCtMJuI1TMkrIUiK7Ix4PYlRF9I5dhqaLYA/ADXw==", - "dev": true + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } }, - "@babel/helper-validator-option": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.12.1.tgz", - "integrity": "sha512-YpJabsXlJVWP0USHjnC/AQDTLlZERbON577YUVO/wLpqyj6HAtVYnWaQaN0iUN+1/tWn3c+uKKXjRut5115Y2A==", - "dev": true + "node_modules/@esbuild/android-arm": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.17.18.tgz", + "integrity": "sha512-EmwL+vUBZJ7mhFCs5lA4ZimpUH3WMAoqvOIYhVQwdIgSpHC8ImHdsRyhHAVxpDYUSm0lWvd63z0XH1IlImS2Qw==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" + } }, - "@babel/helper-wrap-function": { - "version": "7.12.3", - "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.12.3.tgz", - "integrity": "sha512-Cvb8IuJDln3rs6tzjW3Y8UeelAOdnpB8xtQ4sme2MSZ9wOxrbThporC0y/EtE16VAtoyEfLM404Xr1e0OOp+ow==", + "node_modules/@esbuild/android-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.17.18.tgz", + "integrity": "sha512-/iq0aK0eeHgSC3z55ucMAHO05OIqmQehiGay8eP5l/5l+iEr4EIbh4/MI8xD9qRFjqzgkc0JkX0LculNC9mXBw==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.10.4", - "@babel/types": "^7.10.4" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "dev": true, - "requires": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", - "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.5", - "@babel/types": "^7.12.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "@babel/helpers": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.12.5.tgz", - "integrity": "sha512-lgKGMQlKqA8meJqKsW6rUnc4MdUk35Ln0ATDqdM1a/UpARODdI4j5Y5lVfUScnSNkJcdCRAaWkspykNoFg9sJA==", + "node_modules/@esbuild/android-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.17.18.tgz", + "integrity": "sha512-x+0efYNBF3NPW2Xc5bFOSFW7tTXdAcpfEg2nXmxegm4mJuVeS+i109m/7HMiOQ6M12aVGGFlqJX3RhNdYM2lWg==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/template": "^7.10.4", - "@babel/traverse": "^7.12.5", - "@babel/types": "^7.12.5" - }, - "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/generator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.12.5.tgz", - "integrity": "sha512-m16TQQJ8hPt7E+OS/XVQg/7U184MLXtvuGbCdA7na61vha+ImkyyNM/9DDA0unYCVZn3ZOhng+qz48/KBOT96A==", - "dev": true, - "requires": { - "@babel/types": "^7.12.5", - "jsesc": "^2.5.1", - "source-map": "^0.5.0" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/traverse": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.12.5.tgz", - "integrity": "sha512-xa15FbQnias7z9a62LwYAA5SZZPkHIXpd42C6uW68o8uTuua96FHZy1y61Va5P/i83FAAcMpW8+A/QayntzuqA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/generator": "^7.12.5", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-split-export-declaration": "^7.11.0", - "@babel/parser": "^7.12.5", - "@babel/types": "^7.12.5", - "debug": "^4.1.0", - "globals": "^11.1.0", - "lodash": "^4.17.19" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=12" } }, - "@babel/highlight": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.0.0.tgz", - "integrity": "sha512-UFMC4ZeFC48Tpvj7C8UgLvtkaUuovQX+5xNWrsIoMG8o2z+XFKjKaN9iVmS84dPwVN00W4wPmqvYoZF3EGAsfw==", + "node_modules/@esbuild/darwin-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.17.18.tgz", + "integrity": "sha512-6tY+djEAdF48M1ONWnQb1C+6LiXrKjmqjzPNPWXhu/GzOHTHX2nh8Mo2ZAmBFg0kIodHhciEgUBtcYCAIjGbjQ==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "chalk": "^2.0.0", - "esutils": "^2.0.2", - "js-tokens": "^4.0.0" - }, - "dependencies": { - "js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true - } + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-async-generator-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.12.1.tgz", - "integrity": "sha512-d+/o30tJxFxrA1lhzJqiUcEJdI6jKlNregCv5bASeGf2Q4MXmnwH7viDo7nhx1/ohf09oaH8j1GVYG/e3Yqk6A==", + "node_modules/@esbuild/darwin-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.17.18.tgz", + "integrity": "sha512-Qq84ykvLvya3dO49wVC9FFCNUfSrQJLbxhoQk/TE1r6MjHo3sFF2tlJCwMjhkBVq3/ahUisj7+EpRSz0/+8+9A==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0" + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.12.1.tgz", - "integrity": "sha512-cKp3dlQsFsEs5CWKnN7BnSHOd0EOW8EKpEjkoz1pO2E5KzIDNV9Ros1b0CnmbVgAGXJubOYVBOGCT1OmJwOI7w==", + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.17.18.tgz", + "integrity": "sha512-fw/ZfxfAzuHfaQeMDhbzxp9mc+mHn1Y94VDHFHjGvt2Uxl10mT4CDavHm+/L9KG441t1QdABqkVYwakMUeyLRA==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-dynamic-import": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.12.1.tgz", - "integrity": "sha512-a4rhUSZFuq5W8/OO8H7BL5zspjnc1FLd9hlOxIK/f7qG4a0qsqk8uvF/ywgBA8/OmjsapjpvaEOYItfGG1qIvQ==", + "node_modules/@esbuild/freebsd-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.17.18.tgz", + "integrity": "sha512-FQFbRtTaEi8ZBi/A6kxOC0V0E9B/97vPdYjY9NdawyLd4Qk5VD5g2pbWN2VR1c0xhzcJm74HWpObPszWC+qTew==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-dynamic-import": "^7.8.0" + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-export-namespace-from": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.12.1.tgz", - "integrity": "sha512-6CThGf0irEkzujYS5LQcjBx8j/4aQGiVv7J9+2f7pGfxqyKh3WnmVJYW3hdrQjyksErMGBPQrCnHfOtna+WLbw==", + "node_modules/@esbuild/linux-arm": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.17.18.tgz", + "integrity": "sha512-jW+UCM40LzHcouIaqv3e/oRs0JM76JfhHjCavPxMUti7VAPh8CaGSlS7cmyrdpzSk7A+8f0hiedHqr/LMnfijg==", + "cpu": [ + "arm" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-json-strings": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.12.1.tgz", - "integrity": "sha512-GoLDUi6U9ZLzlSda2Df++VSqDJg3CG+dR0+iWsv6XRw1rEq+zwt4DirM9yrxW6XWaTpmai1cWJLMfM8qQJf+yw==", + "node_modules/@esbuild/linux-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.17.18.tgz", + "integrity": "sha512-R7pZvQZFOY2sxUG8P6A21eq6q+eBv7JPQYIybHVf1XkQYC+lT7nDBdC7wWKTrbvMXKRaGudp/dzZCwL/863mZQ==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-json-strings": "^7.8.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-logical-assignment-operators": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.12.1.tgz", - "integrity": "sha512-k8ZmVv0JU+4gcUGeCDZOGd0lCIamU/sMtIiX3UWnUc5yzgq6YUGyEolNYD+MLYKfSzgECPcqetVcJP9Afe/aCA==", + "node_modules/@esbuild/linux-ia32": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.17.18.tgz", + "integrity": "sha512-ygIMc3I7wxgXIxk6j3V00VlABIjq260i967Cp9BNAk5pOOpIXmd1RFQJQX9Io7KRsthDrQYrtcx7QCof4o3ZoQ==", + "cpu": [ + "ia32" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-nullish-coalescing-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.12.1.tgz", - "integrity": "sha512-nZY0ESiaQDI1y96+jk6VxMOaL4LPo/QDHBqL+SF3/vl6dHkTwHlOI8L4ZwuRBHgakRBw5zsVylel7QPbbGuYgg==", + "node_modules/@esbuild/linux-loong64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.17.18.tgz", + "integrity": "sha512-bvPG+MyFs5ZlwYclCG1D744oHk1Pv7j8psF5TfYx7otCVmcJsEXgFEhQkbhNW8otDHL1a2KDINW20cfCgnzgMQ==", + "cpu": [ + "loong64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-numeric-separator": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.12.5.tgz", - "integrity": "sha512-UiAnkKuOrCyjZ3sYNHlRlfuZJbBHknMQ9VMwVeX97Ofwx7RpD6gS2HfqTCh8KNUQgcOm8IKt103oR4KIjh7Q8g==", + "node_modules/@esbuild/linux-mips64el": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.17.18.tgz", + "integrity": "sha512-oVqckATOAGuiUOa6wr8TXaVPSa+6IwVJrGidmNZS1cZVx0HqkTMkqFGD2HIx9H1RvOwFeWYdaYbdY6B89KUMxA==", + "cpu": [ + "mips64el" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-numeric-separator": "^7.10.4" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-object-rest-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.12.1.tgz", - "integrity": "sha512-s6SowJIjzlhx8o7lsFx5zmY4At6CTtDvgNQDdPzkBQucle58A6b/TTeEBYtyDgmcXjUTM+vE8YOGHZzzbc/ioA==", + "node_modules/@esbuild/linux-ppc64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.17.18.tgz", + "integrity": "sha512-3dLlQO+b/LnQNxgH4l9rqa2/IwRJVN9u/bK63FhOPB4xqiRqlQAU0qDU3JJuf0BmaH0yytTBdoSBHrb2jqc5qQ==", + "cpu": [ + "ppc64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-transform-parameters": "^7.12.1" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-optional-catch-binding": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.12.1.tgz", - "integrity": "sha512-hFvIjgprh9mMw5v42sJWLI1lzU5L2sznP805zeT6rySVRA0Y18StRhDqhSxlap0oVgItRsB6WSROp4YnJTJz0g==", + "node_modules/@esbuild/linux-riscv64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.17.18.tgz", + "integrity": "sha512-/x7leOyDPjZV3TcsdfrSI107zItVnsX1q2nho7hbbQoKnmoeUWjs+08rKKt4AUXju7+3aRZSsKrJtaRmsdL1xA==", + "cpu": [ + "riscv64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-optional-chaining": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.12.1.tgz", - "integrity": "sha512-c2uRpY6WzaVDzynVY9liyykS+kVU+WRZPMPYpkelXH8KBt1oXoI89kPbZKKG/jDT5UK92FTW2fZkZaJhdiBabw==", + "node_modules/@esbuild/linux-s390x": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.17.18.tgz", + "integrity": "sha512-cX0I8Q9xQkL/6F5zWdYmVf5JSQt+ZfZD2bJudZrWD+4mnUvoZ3TDDXtDX2mUaq6upMFv9FlfIh4Gfun0tbGzuw==", + "cpu": [ + "s390x" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1", - "@babel/plugin-syntax-optional-chaining": "^7.8.0" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-private-methods": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.12.1.tgz", - "integrity": "sha512-mwZ1phvH7/NHK6Kf8LP7MYDogGV+DKB1mryFOEwx5EBNQrosvIczzZFTUmWaeujd5xT6G1ELYWUz3CutMhjE1w==", + "node_modules/@esbuild/linux-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.17.18.tgz", + "integrity": "sha512-66RmRsPlYy4jFl0vG80GcNRdirx4nVWAzJmXkevgphP1qf4dsLQCpSKGM3DUQCojwU1hnepI63gNZdrr02wHUA==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/helper-create-class-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-proposal-unicode-property-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.12.1.tgz", - "integrity": "sha512-MYq+l+PvHuw/rKUz1at/vb6nCnQ2gmJBNaM62z0OgH7B2W1D9pvkpYtlti9bGtizNIU1K3zm4bZF9F91efVY0w==", + "node_modules/@esbuild/netbsd-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.17.18.tgz", + "integrity": "sha512-95IRY7mI2yrkLlTLb1gpDxdC5WLC5mZDi+kA9dmM5XAGxCME0F8i4bYH4jZreaJ6lIZ0B8hTrweqG1fUyW7jbg==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-syntax-async-generators": { - "version": "7.8.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", - "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "node_modules/@esbuild/openbsd-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.17.18.tgz", + "integrity": "sha512-WevVOgcng+8hSZ4Q3BKL3n1xTv5H6Nb53cBrtzzEjDbbnOmucEVcZeGCsCOi9bAOcDYEeBZbD2SJNBxlfP3qiA==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-syntax-class-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.1.tgz", - "integrity": "sha512-U40A76x5gTwmESz+qiqssqmeEsKvcSyvtgktrm0uzcARAmM9I1jR221f6Oq+GmHrcD+LvZDag1UTOTe2fL3TeA==", + "node_modules/@esbuild/sunos-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.17.18.tgz", + "integrity": "sha512-Rzf4QfQagnwhQXVBS3BYUlxmEbcV7MY+BH5vfDZekU5eYpcffHSyjU8T0xucKVuOcdCsMo+Ur5wmgQJH2GfNrg==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-syntax-dynamic-import": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", - "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "node_modules/@esbuild/win32-arm64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.17.18.tgz", + "integrity": "sha512-Kb3Ko/KKaWhjeAm2YoT/cNZaHaD1Yk/pa3FTsmqo9uFh1D1Rfco7BBLIPdDOozrObj2sahslFuAQGvWbgWldAg==", + "cpu": [ + "arm64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-syntax-export-namespace-from": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", - "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "node_modules/@esbuild/win32-ia32": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.17.18.tgz", + "integrity": "sha512-0/xUMIdkVHwkvxfbd5+lfG7mHOf2FRrxNbPiKWg9C4fFrB8H0guClmaM3BFiRUYrznVoyxTIyC/Ou2B7QQSwmw==", + "cpu": [ + "ia32" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.3" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-syntax-json-strings": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", - "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "node_modules/@esbuild/win32-x64": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.17.18.tgz", + "integrity": "sha512-qU25Ma1I3NqTSHJUOKi9sAH1/Mzuvlke0ioMJRthLXKm7JiSKVwFghlGbDLOO2sARECGhja4xYfRAZNPAkooYg==", + "cpu": [ + "x64" + ], "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=12" } }, - "@babel/plugin-syntax-logical-assignment-operators": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", - "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "node_modules/@gar/promisify": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", + "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", + "dev": true + }, + "node_modules/@isaacs/cliui": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", + "integrity": "sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "string-width": "^5.1.2", + "string-width-cjs": "npm:string-width@^4.2.0", + "strip-ansi": "^7.0.1", + "strip-ansi-cjs": "npm:strip-ansi@^6.0.1", + "wrap-ansi": "^8.1.0", + "wrap-ansi-cjs": "npm:wrap-ansi@^7.0.0" + }, + "engines": { + "node": ">=12" } }, - "@babel/plugin-syntax-nullish-coalescing-operator": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", - "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "node_modules/@isaacs/cliui/node_modules/ansi-regex": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-6.0.1.tgz", + "integrity": "sha512-n5M855fKb2SsfMIiFFoVrABHJC8QtHwVx+mHWP3QcEqBHYienj5dHSgjbxtC0WEZXYt4wcD6zrQElDPhFuZgfA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-regex?sponsor=1" } }, - "@babel/plugin-syntax-numeric-separator": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", - "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "node_modules/@isaacs/cliui/node_modules/ansi-styles": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-6.2.1.tgz", + "integrity": "sha512-bN798gFfQX+viw3R7yrGWRqnrN2oRkEkUjjl4JNn4E8GxxbjtG3FbrEIIY3l8/hrwUwIeCZvi4QuOTP4MErVug==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "@babel/plugin-syntax-object-rest-spread": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", - "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "node_modules/@isaacs/cliui/node_modules/emoji-regex": { + "version": "9.2.2", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-9.2.2.tgz", + "integrity": "sha512-L18DaJsXSUk2+42pv8mLs5jJT2hqFkFE4j21wOmgbUqsZ2hL72NsUU785g9RXgo3s0ZNgVl42TiHp3ZtOv/Vyg==", + "dev": true + }, + "node_modules/@isaacs/cliui/node_modules/string-width": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-5.1.2.tgz", + "integrity": "sha512-HnLOCR3vjcY8beoNLtcjZ5/nxn2afmME6lhrDrebokqMap+XbeW8n9TXpPDOqdGK5qcI3oT0GKTW6wC7EMiVqA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "eastasianwidth": "^0.2.0", + "emoji-regex": "^9.2.2", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "@babel/plugin-syntax-optional-catch-binding": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", - "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "node_modules/@isaacs/cliui/node_modules/strip-ansi": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-7.0.1.tgz", + "integrity": "sha512-cXNxvT8dFNRVfhVME3JAe98mkXDYN2O1l7jmcwMnOslDeESg1rF/OZMtK0nRAhiari1unG5cD4jG3rapUAkLbw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "ansi-regex": "^6.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/strip-ansi?sponsor=1" } }, - "@babel/plugin-syntax-optional-chaining": { - "version": "7.8.3", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", - "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "node_modules/@isaacs/cliui/node_modules/wrap-ansi": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-8.1.0.tgz", + "integrity": "sha512-si7QWI6zUMq56bESFvagtmzMdGOtoxfR+Sez11Mobfc7tm+VkUckk9bW2UeffTGVUbOksxmSw0AA2gs8g71NCQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.8.0" + "dependencies": { + "ansi-styles": "^6.1.0", + "string-width": "^5.0.1", + "strip-ansi": "^7.0.1" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "@babel/plugin-syntax-top-level-await": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.12.1.tgz", - "integrity": "sha512-i7ooMZFS+a/Om0crxZodrTzNEPJHZrlMVGMTEpFAj6rYY/bKCddB0Dk/YxfPuYXOopuhKk/e1jV6h+WUU9XN3A==", + "node_modules/@istanbuljs/load-nyc-config": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz", + "integrity": "sha512-VjeHSlIzpv/NyD3N0YuHfXOPDIixcA1q2ZV98wsMqcYlPmv2n3Yb2lYP9XMElnaFVXg5A7YLTeLu6V84uQDjmQ==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "camelcase": "^5.3.1", + "find-up": "^4.1.0", + "get-package-type": "^0.1.0", + "js-yaml": "^3.13.1", + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "@babel/plugin-transform-arrow-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.12.1.tgz", - "integrity": "sha512-5QB50qyN44fzzz4/qxDPQMBCTHgxg3n0xRBLJUmBlLoU/sFvxVWGZF/ZUfMVDQuJUKXaBhbupxIzIfZ6Fwk/0A==", + "node_modules/@istanbuljs/schema": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.3.tgz", + "integrity": "sha512-ZXRY4jNvVgSVQ8DL3LTcakaAtXwTVUxE81hslsyD2AtoXW/wVob10HkOJ1X/pAlcI7D+2YoZKg5do8G/w6RYgA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": ">=8" } }, - "@babel/plugin-transform-async-to-generator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.12.1.tgz", - "integrity": "sha512-SDtqoEcarK1DFlRJ1hHRY5HvJUj5kX4qmtpMAm2QnhOlyuMC4TMdCRgW6WXpv93rZeYNeLP22y8Aq2dbcDRM1A==", + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.3.tgz", + "integrity": "sha512-HLhSWOLRi875zjjMG/r+Nv0oCW8umGb0BgEhyX3dDX3egwZtB8PqLnjz3yedt8R5StBrzcg4aBpnh8UA9D1BoQ==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-remap-async-to-generator": "^7.12.1" + "dependencies": { + "@jridgewell/set-array": "^1.0.1", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-block-scoped-functions": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.12.1.tgz", - "integrity": "sha512-5OpxfuYnSgPalRpo8EWGPzIYf0lHBWORCkj5M0oLBwHdlux9Ri36QqGW3/LR13RSVOAoUUMzoPI/jpE4ABcHoA==", + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.0.tgz", + "integrity": "sha512-F2msla3tad+Mfht5cJq7LSXcdudKTWCVYUgw6pLFOOHSTtZlj6SWNYAp+AhuqLmWdBO2X5hPrLcu8cVP8fy28w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-block-scoping": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.12.1.tgz", - "integrity": "sha512-zJyAC9sZdE60r1nVQHblcfCj29Dh2Y0DOvlMkcqSo0ckqjiCwNiUezUKw+RjOCwGfpLRwnAeQ2XlLpsnGkvv9w==", + "node_modules/@jridgewell/set-array": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.2.tgz", + "integrity": "sha512-xnkseuNADM0gt2bs+BvhO0p78Mk762YnZdsuzFV018NoG1Sj1SCQvpSqa7XUaTam5vAGasABV9qXASMKnFMwMw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": ">=6.0.0" } }, - "@babel/plugin-transform-classes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.12.1.tgz", - "integrity": "sha512-/74xkA7bVdzQTBeSUhLLJgYIcxw/dpEpCdRDiHgPJ3Mv6uC11UhjpOhl72CgqbBCmt1qtssCyB2xnJm1+PFjog==", + "node_modules/@jridgewell/source-map": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/@jridgewell/source-map/-/source-map-0.3.3.tgz", + "integrity": "sha512-b+fsZXeLYi9fEULmfBrhxn4IrPlINf8fiNarzTof004v3lFdntdwa9PF7vFJqm3mg7s+ScJMxXaE3Acp1irZcg==", "dev": true, - "requires": { - "@babel/helper-annotate-as-pure": "^7.10.4", - "@babel/helper-define-map": "^7.10.4", - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-optimise-call-expression": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1", - "@babel/helper-split-export-declaration": "^7.10.4", - "globals": "^11.1.0" - }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-split-export-declaration": { - "version": "7.11.0", - "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.11.0.tgz", - "integrity": "sha512-74Vejvp6mHkGE+m+k5vHY93FX2cAtrw1zXrZXRlG4l410Nm9PxfEiVTn1PjDPV5SnmieiueY4AFg2xqhNFuuZg==", - "dev": true, - "requires": { - "@babel/types": "^7.11.0" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "@jridgewell/gen-mapping": "^0.3.0", + "@jridgewell/trace-mapping": "^0.3.9" } }, - "@babel/plugin-transform-computed-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.12.1.tgz", - "integrity": "sha512-vVUOYpPWB7BkgUWPo4C44mUQHpTZXakEqFjbv8rQMg7TC6S6ZhGZ3otQcRH6u7+adSlE5i0sp63eMC/XGffrzg==", - "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" - } + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.15", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.15.tgz", + "integrity": "sha512-eF2rxCRulEKXHTRiDrDy6erMYWqNw4LPdQ8UQA4huuxaQsVeRPFl2oM8oDGxMFhJUWZf9McpLtJasDDZb/Bpeg==", + "dev": true }, - "@babel/plugin-transform-destructuring": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.12.1.tgz", - "integrity": "sha512-fRMYFKuzi/rSiYb2uRLiUENJOKq4Gnl+6qOv5f8z0TZXg3llUwUhsNNwrwaT/6dUhJTzNpBr+CUvEWBtfNY1cw==", + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.18", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.18.tgz", + "integrity": "sha512-w+niJYzMHdd7USdiH2U6869nqhD2nbfZXND5Yp93qIbEmnDNk7PD48o+YchRVpzMU7M6jVCbenTR7PA1FLQ9pA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@jridgewell/resolve-uri": "3.1.0", + "@jridgewell/sourcemap-codec": "1.4.14" } }, - "@babel/plugin-transform-dotall-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.12.1.tgz", - "integrity": "sha512-B2pXeRKoLszfEW7J4Hg9LoFaWEbr/kzo3teWHmtFCszjRNa/b40f9mfeqZsIDLLt/FjwQ6pz/Gdlwy85xNckBA==", + "node_modules/@jridgewell/trace-mapping/node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.14", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.14.tgz", + "integrity": "sha512-XPSJHWmi394fuUuzDnGz1wiKqWfo1yXecHQMRf2l6hztTO+nPru658AyDngaBe7isIxEkRsPR3FZh+s7iVa4Uw==", + "dev": true + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@material/animation": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-YNCPsf7yoRmduOd+7H+PlQNci7gdvjkae92XQTY8cnYFy9XTbgFCmwCbJQn5AgxHtVuMssKl2sroszgUmF9aoQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/auto-init": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-U75Y3Pm0OfKi2b8UUsWn+X7s+LGutqisOtgFytPJ1Su4UcB8Mh3nr/4+MOdb3DT0Z1bNdq+43JhEjTi9oijibg==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/banner": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-y5Q0MpuiGpIIN9UldCEv2eliYq0pHLTHkqHnjAsImzHRT8vnCqIQeeROwOlrLwBl3u/kpeLhSZzJ1w9OPkZeRQ==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/button": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/base": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-nqFSLpkBRlTNS0Z2ydJQtghRH8Hz3gUexQG/mP+pBv8afqOc0teHwug3M5btdteoXmCHiRpDkP/CHbbZclClHg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/button": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-eLiLRm8uKERgpnnoUKaG98O5Kh5lQljaAWz/RBiKiwia+przJSikMtsBrBMV8BrwKg5wOIFUrUsJOP0q2YcYyw==", + "dependencies": { + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/card": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-scGd0XzNNarVk8S0InGbpX04ApYYoRND5udDx1vRtU2jzu97j39dd+cwusLWtrtR+FGrS7C4A7yA08NI9BoTEQ==", + "dependencies": { + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/checkbox": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-GEqx+GQcgslxRLsLpbj/ddd4rSgCQxtikkvnKUBd8nw2bvNm/6HUXGl8IaTU2nj36SS5zNLdiDJLRI+k+G4C6g==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/chips": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-a3lGEXw/Y1+KqMuvakzcb9rCis5R+eLQ7uHSrC0WjGgX1oU9gWpM0/p05/rTknHbIji5sOHr4SxC48cRCBCSSA==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/checkbox": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/circular-progress": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-ApIq1SK5B0aYqsyKc7byzWVYg0zk9uFziryBOAKfyd96caG7BfzEfheOWK2PPEQGo9cA/m08ZZJzz6JDmJNMLA==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/progress-indicator": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/data-table": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-5TajNrJqVqr49PeyHSXf3YzPpAF2xPz4/r2TaPbLd/gvw9/z7dN7QiiQkSQ15oYzjueRwh+JHMwLfY5gakWC2Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/checkbox": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/icon-button": "15.0.0-canary.51f9c0c28.0", + "@material/linear-progress": "15.0.0-canary.51f9c0c28.0", + "@material/list": "15.0.0-canary.51f9c0c28.0", + "@material/menu": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/select": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/density": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-7hc7vuh4RajlgNTtHYWZzUeMC6A7w4ePJGavslqAawPb84bo0M/3Idm6OmoW1c6dyDcQo59KOiHMsmnlgDWdjg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dialog": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-60o18+BmPLoGLLZeJVEwexYr89dsZGVCRC0N3zASQTNVz3XWtyjgeragAoly4NTUIICJ4PMRjMEH7YhJ/Qg/BA==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/button": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/icon-button": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/dom": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-SiJRfAgfBBffWVuc5yvaYiRqjli7+4Mx2BYZ69AT8J5k6Uj0Lt8ppd3T3a0zhfF0EXwTlHdeunP+X0keQFcRdw==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/drawer": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-GXq6jHZHMX/6A0z1YEYkI9809sxC/r7g/uJxF3CWC9/8/d2TRYRATAccnllgsyK06XhrnFPf6DtXhyPr1icOzQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/list": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/elevation": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-bBsfYZBi/k380Cdxob+xnNhrmy6OZ/7k3q3xfT9gjWqE7TveAkOukLfMkRMyIltdl40jI7G9ewoW4oN8F0qOmg==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/fab": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-QRanDJSZDMxMXcIyXWfspSXb31iusve9fB6D4SgeJ1/bZsvy/I3t9wXyl06sJBYJhRzIXOiORyoVUjal/OPCpg==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/feature-targeting": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-ebWpsBhpOU3uwu46OsT4Gv7OUjPP9eQV17b5Ze5y8yYn3FcdKyZI3nBQH7gjlOpH0xhz6DNq/Dx1z7DVL5/3NQ==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/floating-label": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-4T1uKFXIUAg6lP2+kY6QcHdIl6exqsgDkOUlkPnAvXUZmGWnL9NlTSv3c6hdTcattM8XfcdPrjHozS1ltiIiFA==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/focus-ring": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-QGGMoJf38IHwHSWUxvcsiB3AOfZ7RtqF1NNwQOy7dTycXwzpf7gA+tYlbr4KFHg5rz0PBd6C7yAdPRK+RAO+Eg==", + "dependencies": { + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0" + } + }, + "node_modules/@material/form-field": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-sHn97Z9f9YUioeGve/EANIAqddH4YslybHbFTMFx9AA4CyFITEXuNI7GC7J7BzkI10rcjmatWUGx0JRal1kVGw==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/icon-button": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-/qJscrbn45yZN+yno0NHBdHGttJ/0kgOIY34OIb9LeGDnVe+snsWrA8DkiaPeYJTLge+ACtgfDdk/iN+6vvckg==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/image-list": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-4IhKYtrF7qA2e7qKt1B1XXg9mEJy7eyoWO0iQrqK8jtYyAaDMmsi24fAvlubczO+Qj02RFCqPCO2j23RCojYnA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/layout-grid": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-ihb7N9hLB4CSbrGC2b70zaFMiJo8DJTZAy99AmAdtpo9CdGlkXDxlyEDYI+NkFHMeyoL85m9dEqGgLgiEGlO5Q==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/line-ripple": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-4LNf92KjQ+RnPv3qb9R4gwO0zWMbMfCYnuvA7mXysRChL8f/3uuvTLySRuobMeE8HndErAMylHdWdtgTQ+6GSw==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/linear-progress": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-Aoi03JbUspj+08fLx2Y72jguD3uYkXHE9RNk9R2cqcjtahzGDdL7tDCZEqzmepSvdnDezHsWIBvkiLHuJP7WGA==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/progress-indicator": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/list": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-hMxDwAgs3NMi5z6XZvBjiopmdkApWZlKt1EOurPyuMDAKu/f0Dpu4lttNXmC1Qhg/Z82inMxUgYVWv4eMok4cQ==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-Ua2KDrT+VW6a270QNXqHwC/WU0oO88THXV8XV50kZtFHipe70ZB8sBcqKYM3zntbhI0q05Dl+R+z1icJhpw2hA==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/list": "15.0.0-canary.51f9c0c28.0", + "@material/menu-surface": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/menu-surface": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-aDGmwcZ2nI5E+gJ7jn7QrihJ2p33nU5EuKs9cpBZSmYZKm1wcfFcb2CR07ui1WBT/zaZ9CNaXnIdcJsKY76mSg==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/notched-outline": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-5fXgCxrEjoV9WKN2+4ru1mA8OIbnrrK/Zq5RT6QJgAbW/YRyMjtMZKIIbGhlL62/q4pZQCbYZaMmDskTkhiylg==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/floating-label": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/progress-indicator": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-teQwuo+45CKDRT17Ly9DOYJBHfoIJhGYbRsTCjgm6yGfWER3htP77NseTD8w1iaVHM09D9hjhvji3BQGD5s6Pg==", + "dependencies": { + "tslib": "^2.1.0" + } + }, + "node_modules/@material/radio": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-8zYl1iQz4E8l+iI9m2rnf1pO7wZJZdvXjxjk6Wx608Rac5ntPFn8ky8eBVRa3AnCLFJlLMPRfGPwCO8TJQutKg==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/ripple": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-q5Qk3a5kxlC3zvVRfDfpJBXMjPReey/xCFgov9NskbYyAWvGDUkizHxQqdBpZtaczMgFLG4locaM7lHCD6sGgw==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/rtl": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-osFXl265Tg0tMiLts31UBeV+hRogXdDclsMRDrIsfs1faSXkBANFf8pPBk9Iyo70zx3X4fhFDY0PnsIkex3kug==", + "dependencies": { + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/segmented-button": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-rYIyfIzf/Ev2d1/4OwkmzGvZ/jlQZDwR6i1FJA7pYbpYyVAI+8CxBL0ea02iUZfvTG8KQcx0fBW5HOlYSHayYQ==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/select": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-DpfJ3ZgMEGfgRLDniGmkNlG/Wwrmd6wYI1bQiq2GhlkA3vsDCuCa/EyNkCDTCqhPDUzvWVJOH3kqUm4piSyDrA==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/floating-label": "15.0.0-canary.51f9c0c28.0", + "@material/line-ripple": "15.0.0-canary.51f9c0c28.0", + "@material/list": "15.0.0-canary.51f9c0c28.0", + "@material/menu": "15.0.0-canary.51f9c0c28.0", + "@material/menu-surface": "15.0.0-canary.51f9c0c28.0", + "@material/notched-outline": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/shape": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-SdJEmNYyhvlITE2sZJuX3yygl/3l6N1Md4mKT2tclkY/eYf+HnHZRJvUpE2KnWMnIAvVdAljhU+eYZfalAvH7A==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/slider": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-LxZRzXMRjc9mmMz3PYY6QOl85WHH9AoBox3+kNaB5J7Q9J/LaCRdqHHpOvh05n+MVZcecaV+UdADxQ8dJbR0Fg==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/snackbar": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-51MLSplWiVjzVoEEkvRFEqFu/q4ra6ai03/rG/em9kmr8VI0hpvyxLEZ4yIRue+7SSjt5Bsou3hUdL0Q8Q20iw==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/button": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/icon-button": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/switch": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-kRTmekNkKkiHgKuLb/GcnPvZ2WVvoS5U66NxGsRhs2ixKbWwa6qsBtXc5V7kNEsUDVgetUG5xDLye+ofQoyxEg==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-Z8tepFaE46qTjKi+NLb/tY6EXxFNxhx3VS4vGbC/ZktuQpPJx3POU1HHs7pQzhRIh6fDTreWAoXZo5WTj8miZg==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/tab-indicator": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-bar": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-C0lE3ye6QycNNTbzhgCe5lUj01Z5tZpm/BF/aw2z9N49cXVB0Ka59cn4jktOs7wTzoW0OQOilhs72/xf0PR7Cw==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/tab": "15.0.0-canary.51f9c0c28.0", + "@material/tab-indicator": "15.0.0-canary.51f9c0c28.0", + "@material/tab-scroller": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-indicator": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-C5DBeiVgR75+Du4MdSdfPmBJ/AYhMyvM2nG+2PBqR5h1recM5+ocypeEtmZI9foJaPRHypc3fNTW/mdxV7c3dA==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tab-scroller": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-00JZXIbnVvrRPoY6N4MNlS/L2sHZOCj8tzCLEszJZCg722onlN8YDyCh51t0mdcfzw5N1ULvGnsa5BpeWeW3vw==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/tab": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/textfield": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-e8HjmBiRFI7/4Sg6c8XsshYLZsLn7qwKrJZWR7gA9LcYCJZDN1zaOVC5/Cx6lwS+R/hShtJh85ob3HJhdKmKRw==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/density": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/floating-label": "15.0.0-canary.51f9c0c28.0", + "@material/line-ripple": "15.0.0-canary.51f9c0c28.0", + "@material/notched-outline": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/theme": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-E9W/SM3YAsz4qfYuNZby9bq4TvrgPEjsDitj842FmlTmHXZIoQqizvnX6mtzGq+aPmlSF+nDG+uSJTg37kVQWA==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/tokens": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-rXjIFqfos9M60J9oYgbRA784I2JtTL7WvFHH6c4i3vIFnGwJiC57ovju5jF2OaAyrB5GuUNRVRaJw1CSn5bzvA==", + "dependencies": { + "@material/elevation": "15.0.0-canary.51f9c0c28.0" + } + }, + "node_modules/@material/tooltip": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-Lvh/Yjmh2wLSFp6p/S6PWrbIQbWFNqAq9K7YAnjYaWLUfBznz/GmgJbWzIhwtTwLzA6eyCk84KY7Ldm4y6QXnA==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/button": "15.0.0-canary.51f9c0c28.0", + "@material/dom": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "safevalues": "^0.3.4", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/top-app-bar": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-ApTalnQcMMuoZ9r2wace2A3SUIfwOfHryFX/rzR00SG8VlXA+Hj4SFNeEQ7qQVPx0RL5supT3Ixz9MWaujdb3Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/elevation": "15.0.0-canary.51f9c0c28.0", + "@material/ripple": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/shape": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/typography": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/touch-target": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-0O6TSukUJSscOQYlel1MTR63cEeX3XV6SQ/X1FIV+JkYxMof/stiIbWYF55FrWuiV8o4t0JCYHHwB7MPWvufVA==", + "dependencies": { + "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@material/typography": { + "version": "15.0.0-canary.51f9c0c28.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.51f9c0c28.0.tgz", + "integrity": "sha512-54B9LQe1ueFwcjrh58C8FII/O9bflTWNMv3eZSaLwAFz4csNPXHkoLryFmMGbO99p04SsQ/xCjqLJedJCrpN3A==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.51f9c0c28.0", + "tslib": "^2.1.0" + } + }, + "node_modules/@ngtools/webpack": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.0.tgz", + "integrity": "sha512-I5zjGtJu2wwIdM+OFUHXezmwTJ0wpParVJgCxR0cLd0CIbpRYSjOSZQN/nR9ZnTKAI5uFZ3MM2p/VRQGUUHUcw==", + "dev": true, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0", + "typescript": ">=4.9.3 <5.1", + "webpack": "^5.54.0" + } + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" } }, - "@babel/plugin-transform-duplicate-keys": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.12.1.tgz", - "integrity": "sha512-iRght0T0HztAb/CazveUpUQrZY+aGKKaWXMJ4uf9YJtqxSUe09j3wteztCUDRHs+SRAL7yMuFqUsLoAKKzgXjw==", + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": ">= 8" } }, - "@babel/plugin-transform-exponentiation-operator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.12.1.tgz", - "integrity": "sha512-7tqwy2bv48q+c1EHbXK0Zx3KXd2RVQp6OC7PbwFNt/dPTAV3Lu5sWtWuAj8owr5wqtWnqHfl2/mJlUmqkChKug==", + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", "dev": true, - "requires": { - "@babel/helper-builder-binary-assignment-operator-visitor": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" } }, - "@babel/plugin-transform-for-of": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.12.1.tgz", - "integrity": "sha512-Zaeq10naAsuHo7heQvyV0ptj4dlZJwZgNAtBYBnu5nNKJoW62m0zKcIEyVECrUKErkUkg6ajMy4ZfnVZciSBhg==", + "node_modules/@npmcli/fs": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-3.1.0.tgz", + "integrity": "sha512-7kZUAaLscfgbwBQRbvdMYaZOWyMEcPTH/tJjnyAWJ/dvvs9Ef+CERx/qJb9GExJpl1qipaDGn7KqHnFGGixd0w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-function-name": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.12.1.tgz", - "integrity": "sha512-JF3UgJUILoFrFMEnOJLJkRHSk6LUSXLmEFsA23aR2O5CSLUxbeUX1IZ1YQ7Sn0aXb601Ncwjx73a+FVqgcljVw==", + "node_modules/@npmcli/fs/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "@babel/helper-function-name": "^7.10.4", - "@babel/helper-plugin-utils": "^7.10.4" - }, "dependencies": { - "@babel/code-frame": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.10.4.tgz", - "integrity": "sha512-vG6SvB6oYEhvgisZNFRmRCUkLz11c7rp+tbNTynGqc6mS1d5ATd/sGyV6W0KZZnXRKMTzZDRgQT3Ou9jhpAfUg==", - "dev": true, - "requires": { - "@babel/highlight": "^7.10.4" - } - }, - "@babel/helper-function-name": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.10.4.tgz", - "integrity": "sha512-YdaSyz1n8gY44EmN7x44zBn9zQ1Ry2Y+3GTA+3vH6Mizke1Vw0aWDM66FOYEPw8//qKkmqOckrGgTYa+6sceqQ==", - "dev": true, - "requires": { - "@babel/helper-get-function-arity": "^7.10.4", - "@babel/template": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/helper-get-function-arity": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/helper-get-function-arity/-/helper-get-function-arity-7.10.4.tgz", - "integrity": "sha512-EkN3YDB+SRDgiIUnNgcmiD361ti+AVbL3f3Henf6dqqUyr5dMsorno0lJWJuLhDhkI5sYEpgj6y9kB8AOU1I2A==", - "dev": true, - "requires": { - "@babel/types": "^7.10.4" - } - }, - "@babel/highlight": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.10.4.tgz", - "integrity": "sha512-i6rgnR/YgPEQzZZnbTHHuZdlE8qyoBNalD6F+q4vAFlcMEcqmkoG+mPqJYJCo63qPf74+Y1UZsl3l6f7/RIkmA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "chalk": "^2.0.0", - "js-tokens": "^4.0.0" - } - }, - "@babel/parser": { - "version": "7.12.5", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.12.5.tgz", - "integrity": "sha512-FVM6RZQ0mn2KCf1VUED7KepYeUWoVShczewOCfm3nzoBybaih51h+sYVVGthW9M6lPByEPTQf+xm27PBdlpwmQ==", - "dev": true - }, - "@babel/template": { - "version": "7.10.4", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.10.4.tgz", - "integrity": "sha512-ZCjD27cGJFUB6nmCB1Enki3r+L5kJveX9pq1SvAUKoICy6CZ9yD8xO086YXdYhvNjBdnekm4ZnaP5yC8Cs/1tA==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.10.4", - "@babel/parser": "^7.10.4", - "@babel/types": "^7.10.4" - } - }, - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "@babel/plugin-transform-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.12.1.tgz", - "integrity": "sha512-+PxVGA+2Ag6uGgL0A5f+9rklOnnMccwEBzwYFL3EUaKuiyVnUipyXncFcfjSkbimLrODoqki1U9XxZzTvfN7IQ==", + "node_modules/@npmcli/fs/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "@babel/plugin-transform-member-expression-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.12.1.tgz", - "integrity": "sha512-1sxePl6z9ad0gFMB9KqmYofk34flq62aqMt9NqliS/7hPEpURUCMbyHXrMPlo282iY7nAvUB1aQd5mg79UD9Jg==", + "node_modules/@npmcli/fs/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@npmcli/git": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/@npmcli/git/-/git-4.0.4.tgz", + "integrity": "sha512-5yZghx+u5M47LghaybLCkdSyFzV/w4OuH12d96HO389Ik9CDsLaDZJVynSGGVJOLn6gy/k7Dz5XYcplM3uxXRg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@npmcli/promise-spawn": "^6.0.0", + "lru-cache": "^7.4.4", + "npm-pick-manifest": "^8.0.0", + "proc-log": "^3.0.0", + "promise-inflight": "^1.0.1", + "promise-retry": "^2.0.1", + "semver": "^7.3.5", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-modules-amd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.12.1.tgz", - "integrity": "sha512-tDW8hMkzad5oDtzsB70HIQQRBiTKrhfgwC/KkJeGsaNFTdWhKNt/BiE8c5yj19XiGyrxpbkOfH87qkNg1YGlOQ==", + "node_modules/@npmcli/git/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" + "engines": { + "node": ">=12" } }, - "@babel/plugin-transform-modules-commonjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.12.1.tgz", - "integrity": "sha512-dY789wq6l0uLY8py9c1B48V8mVL5gZh/+PQ5ZPrylPYsnAvnEMjqsUXkuoDVPeVK+0VyGar+D08107LzDQ6pag==", + "node_modules/@npmcli/git/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-simple-access": "^7.12.1", - "babel-plugin-dynamic-import-node": "^2.3.3" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "@babel/plugin-transform-modules-systemjs": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.12.1.tgz", - "integrity": "sha512-Hn7cVvOavVh8yvW6fLwveFqSnd7rbQN3zJvoPNyNaQSvgfKmDBO9U1YL9+PCXGRlZD9tNdWTy5ACKqMuzyn32Q==", + "node_modules/@npmcli/git/node_modules/semver/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "@babel/helper-hoist-variables": "^7.10.4", - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-identifier": "^7.10.4", - "babel-plugin-dynamic-import-node": "^2.3.3" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "@babel/plugin-transform-modules-umd": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.12.1.tgz", - "integrity": "sha512-aEIubCS0KHKM0zUos5fIoQm+AZUMt1ZvMpqz0/H5qAQ7vWylr9+PLYurT+Ic7ID/bKLd4q8hDovaG3Zch2uz5Q==", + "node_modules/@npmcli/git/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, - "requires": { - "@babel/helper-module-transforms": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-named-capturing-groups-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.12.1.tgz", - "integrity": "sha512-tB43uQ62RHcoDp9v2Nsf+dSM8sbNodbEicbQNA53zHz8pWUhsgHSJCGpt7daXxRydjb0KnfmB+ChXOv3oADp1Q==", + "node_modules/@npmcli/git/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@npmcli/installed-package-contents": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/installed-package-contents/-/installed-package-contents-2.0.2.tgz", + "integrity": "sha512-xACzLPhnfD51GKvTOOuNX2/V4G4mz9/1I2MfDoye9kBM3RYe5g2YbscsaGoTlaWqkxeiapBWyseULVKpSVHtKQ==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1" + "dependencies": { + "npm-bundled": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "bin": { + "installed-package-contents": "lib/index.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-new-target": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.12.1.tgz", - "integrity": "sha512-+eW/VLcUL5L9IvJH7rT1sT0CzkdUTvPrXC2PXTn/7z7tXLBuKvezYbGdxD5WMRoyvyaujOq2fWoKl869heKjhw==", + "node_modules/@npmcli/move-file": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-2.0.1.tgz", + "integrity": "sha512-mJd2Z5TjYWq/ttPLLGqArdtnC74J6bOzg4rMDnN+p1xTacZ2yPRCk2y0oSWQtygLR9YVQXgOcONrwtnk3JupxQ==", + "deprecated": "This functionality has been moved to @npmcli/fs", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "mkdirp": "^1.0.4", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "@babel/plugin-transform-object-super": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.12.1.tgz", - "integrity": "sha512-AvypiGJH9hsquNUn+RXVcBdeE3KHPZexWRdimhuV59cSoOt5kFBmqlByorAeUlGG2CJWd0U+4ZtNKga/TB0cAw==", + "node_modules/@npmcli/move-file/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-replace-supers": "^7.12.1" + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "@babel/plugin-transform-parameters": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.12.1.tgz", - "integrity": "sha512-xq9C5EQhdPK23ZeCdMxl8bbRnAgHFrw5EOC3KJUsSylZqdkCaFEXxGSBuTSObOpiiHHNyb82es8M1QYgfQGfNg==", + "node_modules/@npmcli/move-file/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@babel/plugin-transform-property-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.12.1.tgz", - "integrity": "sha512-6MTCR/mZ1MQS+AwZLplX4cEySjCpnIF26ToWo942nqn8hXSm7McaHQNeGx/pt7suI1TWOWMfa/NgBhiqSnX0cQ==", + "node_modules/@npmcli/node-gyp": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@npmcli/node-gyp/-/node-gyp-3.0.0.tgz", + "integrity": "sha512-gp8pRXC2oOxu0DUE1/M3bYtb1b3/DbJ5aM113+XJBgfXdussRAsX0YOrOhdd8WvnAR6auDBvJomGAkLKA5ydxA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-regenerator": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.12.1.tgz", - "integrity": "sha512-gYrHqs5itw6i4PflFX3OdBPMQdPbF4bj2REIUxlMRUFk0/ZOAIpDFuViuxPjUL7YC8UPnf+XG7/utJvqXdPKng==", + "node_modules/@npmcli/promise-spawn": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/promise-spawn/-/promise-spawn-6.0.2.tgz", + "integrity": "sha512-gGq0NJkIGSwdbUt4yhdF8ZrmkGKVz9vAdVzpOfnom+V8PLSmSOVhZwbNvZZS1EYcJN5hzzKBxmmVVAInM6HQLg==", "dev": true, - "requires": { - "regenerator-transform": "^0.14.2" + "dependencies": { + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-reserved-words": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.12.1.tgz", - "integrity": "sha512-pOnUfhyPKvZpVyBHhSBoX8vfA09b7r00Pmm1sH+29ae2hMTKVmSp4Ztsr8KBKjLjx17H0eJqaRC3bR2iThM54A==", + "node_modules/@npmcli/promise-spawn/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.12.1.tgz", - "integrity": "sha512-Ac/H6G9FEIkS2tXsZjL4RAdS3L3WHxci0usAnz7laPWUmFiGtj7tIASChqKZMHTSQTQY6xDbOq+V1/vIq3QrWg==", + "node_modules/@npmcli/run-script": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/@npmcli/run-script/-/run-script-6.0.2.tgz", + "integrity": "sha512-NCcr1uQo1k5U+SYlnIrbAh3cxy+OQT1VtqiAbxdymSlptbzBb62AjH2xXgjNCoP073hoa1CfCAcwoZ8k96C4nA==", "dev": true, - "requires": { - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "resolve": "^1.8.1", - "semver": "^5.5.1" + "dependencies": { + "@npmcli/node-gyp": "^3.0.0", + "@npmcli/promise-spawn": "^6.0.0", + "node-gyp": "^9.0.0", + "read-package-json-fast": "^3.0.0", + "which": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-shorthand-properties": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.12.1.tgz", - "integrity": "sha512-GFZS3c/MhX1OusqB1MZ1ct2xRzX5ppQh2JU1h2Pnfk88HtFTM+TWQqJNfwkmxtPQtb/s1tk87oENfXJlx7rSDw==", + "node_modules/@npmcli/run-script/node_modules/which": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/which/-/which-3.0.1.tgz", + "integrity": "sha512-XA1b62dzQzLfaEOSQFTCOd5KFf/1VSzZo7/7TUjnya6u0vGGKzU96UQBZTAThCb2j4/xjBAyii1OhRLJEivHvg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/which.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/plugin-transform-spread": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.12.1.tgz", - "integrity": "sha512-vuLp8CP0BE18zVYjsEBZ5xoCecMK6LBMMxYzJnh01rxQRvhNhH1csMMmBfNo5tGpGO+NhdSNW2mzIvBu3K1fng==", + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-skip-transparent-expression-wrappers": "^7.12.1" + "optional": true, + "engines": { + "node": ">=14" } }, - "@babel/plugin-transform-sticky-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.12.1.tgz", - "integrity": "sha512-CiUgKQ3AGVk7kveIaPEET1jNDhZZEl1RPMWdTBE1799bdz++SwqDHStmxfCtDfBhQgCl38YRiSnrMuUMZIWSUQ==", + "node_modules/@rollup/plugin-json": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz", + "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-regex": "^7.10.4" + "dependencies": { + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "@babel/plugin-transform-template-literals": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.12.1.tgz", - "integrity": "sha512-b4Zx3KHi+taXB1dVRBhVJtEPi9h1THCeKmae2qP0YdUHIFhVjtpqqNfxeVAa1xeHVhAy4SbHxEwx5cltAu5apw==", + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz", + "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "@babel/plugin-transform-typeof-symbol": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.12.1.tgz", - "integrity": "sha512-EPGgpGy+O5Kg5pJFNDKuxt9RdmTgj5sgrus2XVeMp/ZIbOESadgILUbm50SNpghOh3/6yrbsH+NB5+WJTmsA7Q==", + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, - "@babel/plugin-transform-unicode-escapes": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.12.1.tgz", - "integrity": "sha512-I8gNHJLIc7GdApm7wkVnStWssPNbSRMPtgHdmH3sRM1zopz09UWPS4x5V4n1yz/MIWTVnJ9sp6IkuXdWM4w+2Q==", + "node_modules/@schematics/angular": { + "version": "16.0.0", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.0.tgz", + "integrity": "sha512-Ao1Y0hEDa30JjWDLnUfOsD+9nnfdBFclfKFzR+7pvvFYCpSUhH1u+8e+7noruIxlP26+SpqPn3AF5+IRTGza8w==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.10.4" + "dependencies": { + "@angular-devkit/core": "16.0.0", + "@angular-devkit/schematics": "16.0.0", + "jsonc-parser": "3.2.0" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0", + "npm": "^6.11.0 || ^7.5.6 || >=8.0.0", + "yarn": ">= 1.13.0" } }, - "@babel/plugin-transform-unicode-regex": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.12.1.tgz", - "integrity": "sha512-SqH4ClNngh/zGwHZOOQMTD+e8FGWexILV+ePMyiDJttAWRh5dhDL8rcl5lSgU3Huiq6Zn6pWTMvdPAb21Dwdyg==", + "node_modules/@sigstore/protobuf-specs": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/@sigstore/protobuf-specs/-/protobuf-specs-0.1.0.tgz", + "integrity": "sha512-a31EnjuIDSX8IXBUib3cYLDRlPMU36AWX4xS8ysLaNu4ZzUesDiPt83pgrW2X1YLMe5L2HbDyaKK5BrL4cNKaQ==", "dev": true, - "requires": { - "@babel/helper-create-regexp-features-plugin": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/preset-env": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.12.1.tgz", - "integrity": "sha512-H8kxXmtPaAGT7TyBvSSkoSTUK6RHh61So05SyEbpmr0MCZrsNYn7mGMzzeYoOUCdHzww61k8XBft2TaES+xPLg==", - "dev": true, - "requires": { - "@babel/compat-data": "^7.12.1", - "@babel/helper-compilation-targets": "^7.12.1", - "@babel/helper-module-imports": "^7.12.1", - "@babel/helper-plugin-utils": "^7.10.4", - "@babel/helper-validator-option": "^7.12.1", - "@babel/plugin-proposal-async-generator-functions": "^7.12.1", - "@babel/plugin-proposal-class-properties": "^7.12.1", - "@babel/plugin-proposal-dynamic-import": "^7.12.1", - "@babel/plugin-proposal-export-namespace-from": "^7.12.1", - "@babel/plugin-proposal-json-strings": "^7.12.1", - "@babel/plugin-proposal-logical-assignment-operators": "^7.12.1", - "@babel/plugin-proposal-nullish-coalescing-operator": "^7.12.1", - "@babel/plugin-proposal-numeric-separator": "^7.12.1", - "@babel/plugin-proposal-object-rest-spread": "^7.12.1", - "@babel/plugin-proposal-optional-catch-binding": "^7.12.1", - "@babel/plugin-proposal-optional-chaining": "^7.12.1", - "@babel/plugin-proposal-private-methods": "^7.12.1", - "@babel/plugin-proposal-unicode-property-regex": "^7.12.1", - "@babel/plugin-syntax-async-generators": "^7.8.0", - "@babel/plugin-syntax-class-properties": "^7.12.1", - "@babel/plugin-syntax-dynamic-import": "^7.8.0", - "@babel/plugin-syntax-export-namespace-from": "^7.8.3", - "@babel/plugin-syntax-json-strings": "^7.8.0", - "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", - "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.0", - "@babel/plugin-syntax-numeric-separator": "^7.10.4", - "@babel/plugin-syntax-object-rest-spread": "^7.8.0", - "@babel/plugin-syntax-optional-catch-binding": "^7.8.0", - "@babel/plugin-syntax-optional-chaining": "^7.8.0", - "@babel/plugin-syntax-top-level-await": "^7.12.1", - "@babel/plugin-transform-arrow-functions": "^7.12.1", - "@babel/plugin-transform-async-to-generator": "^7.12.1", - "@babel/plugin-transform-block-scoped-functions": "^7.12.1", - "@babel/plugin-transform-block-scoping": "^7.12.1", - "@babel/plugin-transform-classes": "^7.12.1", - "@babel/plugin-transform-computed-properties": "^7.12.1", - "@babel/plugin-transform-destructuring": "^7.12.1", - "@babel/plugin-transform-dotall-regex": "^7.12.1", - "@babel/plugin-transform-duplicate-keys": "^7.12.1", - "@babel/plugin-transform-exponentiation-operator": "^7.12.1", - "@babel/plugin-transform-for-of": "^7.12.1", - "@babel/plugin-transform-function-name": "^7.12.1", - "@babel/plugin-transform-literals": "^7.12.1", - "@babel/plugin-transform-member-expression-literals": "^7.12.1", - "@babel/plugin-transform-modules-amd": "^7.12.1", - "@babel/plugin-transform-modules-commonjs": "^7.12.1", - "@babel/plugin-transform-modules-systemjs": "^7.12.1", - "@babel/plugin-transform-modules-umd": "^7.12.1", - "@babel/plugin-transform-named-capturing-groups-regex": "^7.12.1", - "@babel/plugin-transform-new-target": "^7.12.1", - "@babel/plugin-transform-object-super": "^7.12.1", - "@babel/plugin-transform-parameters": "^7.12.1", - "@babel/plugin-transform-property-literals": "^7.12.1", - "@babel/plugin-transform-regenerator": "^7.12.1", - "@babel/plugin-transform-reserved-words": "^7.12.1", - "@babel/plugin-transform-shorthand-properties": "^7.12.1", - "@babel/plugin-transform-spread": "^7.12.1", - "@babel/plugin-transform-sticky-regex": "^7.12.1", - "@babel/plugin-transform-template-literals": "^7.12.1", - "@babel/plugin-transform-typeof-symbol": "^7.12.1", - "@babel/plugin-transform-unicode-escapes": "^7.12.1", - "@babel/plugin-transform-unicode-regex": "^7.12.1", - "@babel/preset-modules": "^0.1.3", - "@babel/types": "^7.12.1", - "core-js-compat": "^3.6.2", - "semver": "^5.5.0" - }, - "dependencies": { - "@babel/types": { - "version": "7.12.6", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.12.6.tgz", - "integrity": "sha512-hwyjw6GvjBLiyy3W0YQf0Z5Zf4NpYejUnKFcfcUhZCSffoBBp30w6wP2Wn6pk31jMYZvcOrB/1b7cGXvEoKogA==", - "dev": true, - "requires": { - "@babel/helper-validator-identifier": "^7.10.4", - "lodash": "^4.17.19", - "to-fast-properties": "^2.0.0" - } - } - } + "node_modules/@socket.io/component-emitter": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/@socket.io/component-emitter/-/component-emitter-3.1.0.tgz", + "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", + "dev": true }, - "@babel/preset-modules": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.4.tgz", - "integrity": "sha512-J36NhwnfdzpmH41M1DrnkkgAqhZaqr/NBdPfQ677mLzlaXo+oDiv1deyCDtgAhz8p328otdob0Du7+xgHGZbKg==", + "node_modules/@tootallnate/once": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", + "integrity": "sha512-XCuKFP5PS55gnMVu3dty8KPatLqUoy/ZYzDzAGCQ8JNFCkLXzmI7vNHCR+XpbZaMWQK/vQubr7PkYq8g470J/A==", "dev": true, - "requires": { - "@babel/helper-plugin-utils": "^7.0.0", - "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", - "@babel/plugin-transform-dotall-regex": "^7.4.4", - "@babel/types": "^7.4.4", - "esutils": "^2.0.2" + "engines": { + "node": ">= 10" } }, - "@babel/runtime": { - "version": "7.12.1", - "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.12.1.tgz", - "integrity": "sha512-J5AIf3vPj3UwXaAzb5j1xM4WAQDX3EMgemF8rjCP3SoW09LfRKAXQKt6CoVYl230P6iWdRcBbnLDDdnqWxZSCA==", + "node_modules/@tsconfig/node10": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", + "integrity": "sha512-jNsYVVxU8v5g43Erja32laIDHXeoNvFEpX33OK4d6hljo3jDhCBDhx5dhCCTMWUojscpAagGiRkBKxpdl9fxqA==", + "dev": true + }, + "node_modules/@tsconfig/node12": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/@tsconfig/node12/-/node12-1.0.11.tgz", + "integrity": "sha512-cqefuRsh12pWyGsIoBKJA9luFu3mRxCA+ORZvA4ktLSzIuCUtWVxGIuXigEwO5/ywWFMZ2QEGKWvkZG1zDMTag==", + "dev": true + }, + "node_modules/@tsconfig/node14": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node14/-/node14-1.0.3.tgz", + "integrity": "sha512-ysT8mhdixWK6Hw3i1V2AeRqZ5WfXg1G43mqoYlM2nc6388Fq5jcXyr5mRsqViLx/GJYdoL0bfXD8nmF+Zn/Iow==", + "dev": true + }, + "node_modules/@tsconfig/node16": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/@tsconfig/node16/-/node16-1.0.3.tgz", + "integrity": "sha512-yOlFc+7UtL/89t2ZhjPvvB/DeAr3r+Dq58IgzsFkOAvVC6NMJXmCGjbptdXdR9qsX7pKcTL+s87FtYREi2dEEQ==", + "dev": true + }, + "node_modules/@tufjs/canonical-json": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/@tufjs/canonical-json/-/canonical-json-1.0.0.tgz", + "integrity": "sha512-QTnf++uxunWvG2z3UFNzAoQPHxnSXOwtaI3iJ+AohhV+5vONuArPjJE7aPXPVXfXJsqrVbZBu9b81AJoSd09IQ==", "dev": true, - "requires": { - "regenerator-runtime": "^0.13.4" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@babel/types": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.4.4.tgz", - "integrity": "sha512-dOllgYdnEFOebhkKCjzSVFqw/PmmB8pH6RGOWkY4GsboQNd47b1fBThBSwlHAq9alF9vc1M3+6oqR47R50L0tQ==", + "node_modules/@tufjs/models": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/@tufjs/models/-/models-1.0.4.tgz", + "integrity": "sha512-qaGV9ltJP0EO25YfFUPhxRVK0evXFIAGicsVXuRim4Ed9cjPxYhNnNJ49SFmbeLgtxpslIkX317IgpfcHPVj/A==", "dev": true, - "requires": { - "esutils": "^2.0.2", - "lodash": "^4.17.11", - "to-fast-properties": "^2.0.0" - }, "dependencies": { - "to-fast-properties": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - } + "@tufjs/canonical-json": "1.0.0", + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "@istanbuljs/schema": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@istanbuljs/schema/-/schema-0.1.2.tgz", - "integrity": "sha512-tsAQNx32a8CoFhjhijUIhI4kccIAgmGhy8LZMZgGfmXcpMbPRUqn5LWmgRttILi6yeGmBJd2xsPkFMs0PzgPCw==", - "dev": true - }, - "@jsdevtools/coverage-istanbul-loader": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/@jsdevtools/coverage-istanbul-loader/-/coverage-istanbul-loader-3.0.5.tgz", - "integrity": "sha512-EUCPEkaRPvmHjWAAZkWMT7JDzpw7FKB00WTISaiXsbNOd5hCHg77XLA8sLYLFDo1zepYLo2w7GstN8YBqRXZfA==", + "node_modules/@tufjs/models/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", "dev": true, - "requires": { - "convert-source-map": "^1.7.0", - "istanbul-lib-instrument": "^4.0.3", - "loader-utils": "^2.0.0", - "merge-source-map": "^1.1.0", - "schema-utils": "^2.7.0" + "dependencies": { + "balanced-match": "^1.0.0" } }, - "@ngtools/webpack": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-11.0.1.tgz", - "integrity": "sha512-z62qQ4J5LhDxW68HjYYCRo+sDK/5yHwX4fCCY2iXngyTtA5cQbGI5WXr3+9B4foX64ft5WvV0WJkx8mjE/VR6w==", - "dev": true, - "requires": { - "@angular-devkit/core": "11.0.1", - "enhanced-resolve": "5.3.1", - "webpack-sources": "2.0.1" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.0.1.tgz", - "integrity": "sha512-ui3g7w/0SpU9oq8uwN9upR8Y1eOXZ+P2p3NyDydBrR7ZEfEkRLS1mhozN/ib8farrwK5N3kIIJxMb5t3187Hng==", - "dev": true, - "requires": { - "ajv": "6.12.6", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "node_modules/@tufjs/models/node_modules/minimatch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "@nodelib/fs.scandir": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.3.tgz", - "integrity": "sha512-eGmwYQn3gxo4r7jdQnkrrN6bY478C3P+a/y72IJukF8LjB6ZHeB3c+Ehacj3sYeSmUXGlnA67/PmbM9CVwL7Dw==", + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", "dev": true, - "requires": { - "@nodelib/fs.stat": "2.0.3", - "run-parallel": "^1.1.9" + "dependencies": { + "@types/connect": "*", + "@types/node": "*" } }, - "@nodelib/fs.stat": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.3.tgz", - "integrity": "sha512-bQBFruR2TAwoevBEd/NWMoAAtNGzTRgdrqnYCc7dhzfoNvqPzLyqlEQnzZ3kVnNrSp25iyxE00/3h2fqGAGArA==", - "dev": true - }, - "@nodelib/fs.walk": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.4.tgz", - "integrity": "sha512-1V9XOY4rDW0rehzbrcqAmHnz8e7SKvX27gh8Gt2WgB0+pdzdiLV83p72kZPU+jvMbS1qU5mauP2iOvO8rhmurQ==", + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", "dev": true, - "requires": { - "@nodelib/fs.scandir": "2.1.3", - "fastq": "^1.6.0" + "dependencies": { + "@types/node": "*" } }, - "@npmcli/move-file": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@npmcli/move-file/-/move-file-1.0.1.tgz", - "integrity": "sha512-Uv6h1sT+0DrblvIrolFtbvM1FgWm+/sy4B3pvLp67Zys+thcukzS5ekn7HsZFGpWP4Q3fYJCljbWQE/XivMRLw==", + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", "dev": true, - "requires": { - "mkdirp": "^1.0.4" - }, "dependencies": { - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } + "@types/node": "*" } }, - "@rollup/plugin-commonjs": { - "version": "15.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-commonjs/-/plugin-commonjs-15.1.0.tgz", - "integrity": "sha512-xCQqz4z/o0h2syQ7d9LskIMvBSH4PX5PjYdpSSvgS+pQik3WahkQVNWg3D8XJeYjZoVWnIUQYDghuEMRGrmQYQ==", + "node_modules/@types/connect-history-api-fallback": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.5.0.tgz", + "integrity": "sha512-4x5FkPpLipqwthjPsF7ZRbOv3uoLUFkTA9G9v583qi4pACvq0uTELrB8OLUzPWUI4IJIyvM85vzkV1nyiI2Lig==", "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "commondir": "^1.0.1", - "estree-walker": "^2.0.1", - "glob": "^7.1.6", - "is-reference": "^1.2.1", - "magic-string": "^0.25.7", - "resolve": "^1.17.0" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" } }, - "@rollup/plugin-json": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-4.1.0.tgz", - "integrity": "sha512-yfLbTdNS6amI/2OpmbiBoW12vngr5NW2jCJVZSBEz+H5KfUJZ2M7sDjk0U6GOOdCWFVScShte29o9NezJ53TPw==", + "node_modules/@types/cookie": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/@types/cookie/-/cookie-0.4.1.tgz", + "integrity": "sha512-XW/Aa8APYr6jSVVA1y/DEIZX0/GMKLEVekNG727R8cs56ahETkRAy/3DR7+fJyh7oUgGwNQaRfXCun0+KbWY7Q==", + "dev": true + }, + "node_modules/@types/cors": { + "version": "2.8.13", + "resolved": "https://registry.npmjs.org/@types/cors/-/cors-2.8.13.tgz", + "integrity": "sha512-RG8AStHlUiV5ysZQKq97copd2UmVYw3/pRMLefISZ3S1hK104Cwm7iLQ3fTKx+lsUH2CE8FlLaYeEA2LSeqYUA==", "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.8" + "dependencies": { + "@types/node": "*" } }, - "@rollup/plugin-node-resolve": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-10.0.0.tgz", - "integrity": "sha512-sNijGta8fqzwA1VwUEtTvWCx2E7qC70NMsDh4ZG13byAXYigBNZMxALhKUSycBks5gupJdq0lFrKumFrRZ8H3A==", + "node_modules/@types/eslint": { + "version": "8.37.0", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.37.0.tgz", + "integrity": "sha512-Piet7dG2JBuDIfohBngQ3rCt7MgO9xCO4xIMKxBThCq5PNRB91IjlJ10eJVwfoNtvTErmxLzwBZ7rHZtbOMmFQ==", "dev": true, - "requires": { - "@rollup/pluginutils": "^3.1.0", - "@types/resolve": "1.17.1", - "builtin-modules": "^3.1.0", - "deepmerge": "^4.2.2", - "is-module": "^1.0.0", - "resolve": "^1.17.0" + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" } }, - "@rollup/pluginutils": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-3.1.0.tgz", - "integrity": "sha512-GksZ6pr6TpIjHm8h9lSQ8pi8BE9VeubNT0OMJ3B5uZJ8pz73NPiqOtCog/x2/QzM1ENChPKxMDhiQuRHsqc+lg==", + "node_modules/@types/eslint-scope": { + "version": "3.7.4", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.4.tgz", + "integrity": "sha512-9K4zoImiZc3HlIp6AVUDE4CWYx22a+lhSZMYNpbjW04+YF0KWj4pJXnEMjdnFTiQibFFmElcsasJXDbdI/EPhA==", "dev": true, - "requires": { - "@types/estree": "0.0.39", - "estree-walker": "^1.0.1", - "picomatch": "^2.2.2" - }, "dependencies": { - "estree-walker": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-1.0.1.tgz", - "integrity": "sha512-1fMXF3YP4pZZVozF8j/ZLfvnR8NSIljt56UhbZ5PeeDmmGHpgpdwQt7ITlGvYaQukCvuBRMLEiKiYC+oeIg4cg==", - "dev": true - } + "@types/eslint": "*", + "@types/estree": "*" } }, - "@schematics/angular": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-11.0.1.tgz", - "integrity": "sha512-cYq3NhFn4DLSXXtbYYU2w0sginkMfN1w7pXjZLT/+etXXbtANQAXSPrPrDQql004ZNMbuDKuC0aoXjv8hgXOfw==", - "dev": true, - "requires": { - "@angular-devkit/core": "11.0.1", - "@angular-devkit/schematics": "11.0.1", - "jsonc-parser": "2.3.1" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.0.1.tgz", - "integrity": "sha512-ui3g7w/0SpU9oq8uwN9upR8Y1eOXZ+P2p3NyDydBrR7ZEfEkRLS1mhozN/ib8farrwK5N3kIIJxMb5t3187Hng==", - "dev": true, - "requires": { - "ajv": "6.12.6", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } - } + "node_modules/@types/estree": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.1.tgz", + "integrity": "sha512-LG4opVs2ANWZ1TJoKc937iMmNstM/d0ae1vNbnBvBhqCSezgVUOzcLCqbI5elV8Vy6WKwKjaqR+zO9VKirBBCA==", + "dev": true }, - "@schematics/update": { - "version": "0.1100.1", - "resolved": "https://registry.npmjs.org/@schematics/update/-/update-0.1100.1.tgz", - "integrity": "sha512-EVcqdM/d5rC5L1UYnwhFMk/TjHlNgL5LGfroE13C38A+WpKKJquAjgOQLj4nPvJ5csdEZqn3Sui9yeEWc3hklQ==", + "node_modules/@types/express": { + "version": "4.17.17", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.17.tgz", + "integrity": "sha512-Q4FmmuLGBG58btUnfS1c1r/NQdlp3DMfGDGig8WhfpA2YRUtEkxAjkZb0yvplJGYdF1fsQ81iMDcH24sSCNC/Q==", "dev": true, - "requires": { - "@angular-devkit/core": "11.0.1", - "@angular-devkit/schematics": "11.0.1", - "@yarnpkg/lockfile": "1.1.0", - "ini": "1.3.5", - "npm-package-arg": "^8.0.0", - "pacote": "9.5.12", - "semver": "7.3.2", - "semver-intersect": "1.4.0" - }, - "dependencies": { - "@angular-devkit/core": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-11.0.1.tgz", - "integrity": "sha512-ui3g7w/0SpU9oq8uwN9upR8Y1eOXZ+P2p3NyDydBrR7ZEfEkRLS1mhozN/ib8farrwK5N3kIIJxMb5t3187Hng==", - "dev": true, - "requires": { - "ajv": "6.12.6", - "fast-json-stable-stringify": "2.1.0", - "magic-string": "0.25.7", - "rxjs": "6.6.3", - "source-map": "0.7.3" - } - }, - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fast-json-stable-stringify": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", - "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.33", + "@types/qs": "*", + "@types/serve-static": "*" } }, - "@types/estree": { - "version": "0.0.39", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.39.tgz", - "integrity": "sha512-EYNwp3bU+98cpU4lAWYYL7Zz+2gryWH1qbdDTidVd6hkiR6weksdbMadyXKXNPEkQFhXM+hVO9ZygomHXp+AIw==", - "dev": true + "node_modules/@types/express-serve-static-core": { + "version": "4.17.34", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.34.tgz", + "integrity": "sha512-fvr49XlCGoUj2Pp730AItckfjat4WNb0lb3kfrLWffd+RLeoGAMsq7UOy04PAPtoL01uKwcp6u8nhzpgpDYr3w==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*", + "@types/send": "*" + } }, - "@types/glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-SEYeGAIQIQX8NN6LDKprLjbrd5dARM5EXsd8GI/A5l0apYI1fGMWgPHSe4ZKL4eozlAyI+doUE9XbYS4xCkQ1w==", + "node_modules/@types/http-proxy": { + "version": "1.17.11", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.11.tgz", + "integrity": "sha512-HC8G7c1WmaF2ekqpnFq626xd3Zz0uvaqFmBJNRZCGEZCXkvSdJoNFn/8Ygbd9fKNQj8UzLdCETaI0UWPAjK7IA==", "dev": true, - "requires": { - "@types/minimatch": "*", + "dependencies": { "@types/node": "*" } }, - "@types/jasmine": { - "version": "3.6.1", - "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-3.6.1.tgz", - "integrity": "sha512-eeSCVhBsgwHNS1FmaMu4zrLxfykCTWJMLFZv7lmyrZQjw7foUUXoPu4GukSN9v7JvUw7X+/aDH3kCaymirBSTg==", + "node_modules/@types/jasmine": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/@types/jasmine/-/jasmine-4.3.1.tgz", + "integrity": "sha512-Vu8l+UGcshYmV1VWwULgnV/2RDbBaO6i2Ptx7nd//oJPIZGhoI1YLST4VKagD2Pq/Bc2/7zvtvhM7F3p4SN7kQ==", "dev": true }, - "@types/jasminewd2": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.6.tgz", - "integrity": "sha512-2ZOKrxb8bKRmP/po5ObYnRDgFE4i+lQiEB27bAMmtMWLgJSqlIDqlLx6S0IRorpOmOPRQ6O80NujTmQAtBkeNw==", + "node_modules/@types/jasminewd2": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/@types/jasminewd2/-/jasminewd2-2.0.10.tgz", + "integrity": "sha512-J7mDz7ovjwjc+Y9rR9rY53hFWKATcIkrr9DwQWmOas4/pnIPJTXawnzjwpHm3RSxz/e3ZVUvQ7cRbd5UQLo10g==", "dev": true, - "requires": { + "dependencies": { "@types/jasmine": "*" } }, - "@types/json-schema": { - "version": "7.0.6", - "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.6.tgz", - "integrity": "sha512-3c+yGKvVP5Y9TYBEibGNR+kLtijnj7mYrXRg+WpFb2X9xm04g/DXYkfg4hmzJQosc9snFNUPkbYIhu+KAm6jJw==", + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", "dev": true }, - "@types/minimatch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.3.tgz", - "integrity": "sha512-tHq6qdbT9U1IRSGf14CL0pUlULksvY9OZ+5eEgl1N7t+OA3tGvNpxJCzuKQlsNgCVwbAs670L1vcVQi8j9HjnA==", + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", "dev": true }, - "@types/node": { - "version": "12.12.36", - "resolved": "https://registry.npmjs.org/@types/node/-/node-12.12.36.tgz", - "integrity": "sha512-hmmypvyO/uTLFYCYu6Hlb3ydeJ11vXRxg8/WJ0E3wvwmPO0y47VqnfmXFVuWlysO0Zyj+je1Y33rQeuYkZ51GQ==", + "node_modules/@types/node": { + "version": "20.1.2", + "resolved": "https://registry.npmjs.org/@types/node/-/node-20.1.2.tgz", + "integrity": "sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g==", "dev": true }, - "@types/normalize-package-data": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/@types/normalize-package-data/-/normalize-package-data-2.4.0.tgz", - "integrity": "sha512-f5j5b/Gf71L+dbqxIpQ4Z2WlmI/mPJ0fOkGGmFgtb6sAu97EPczzbS3/tJKxmcYDj55OX6ssqwDAWOHIYDRDGA==", + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", "dev": true }, - "@types/parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", "dev": true }, - "@types/q": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/@types/q/-/q-1.5.4.tgz", - "integrity": "sha512-1HcDas8SEj4z1Wc696tH56G8OlRaH/sqZOynNNB+HF0WOeXPaxTtbYzJY2oEfiUxjSKjhCKr+MvR7dCHcEelug==", + "node_modules/@types/resolve": { + "version": "1.20.2", + "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.20.2.tgz", + "integrity": "sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==", "dev": true }, - "@types/resolve": { - "version": "1.17.1", - "resolved": "https://registry.npmjs.org/@types/resolve/-/resolve-1.17.1.tgz", - "integrity": "sha512-yy7HuzQhj0dhGpD8RLXSZWEkLsV9ibvxvi6EiJ3bkqLAO1RGo0WbkWQiwpRlSFymTJRz0d3k5LM3kkx8ArDbLw==", - "dev": true, - "requires": { - "@types/node": "*" - } + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true }, - "@types/selenium-webdriver": { + "node_modules/@types/selenium-webdriver": { "version": "3.0.17", "resolved": "https://registry.npmjs.org/@types/selenium-webdriver/-/selenium-webdriver-3.0.17.tgz", "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", "dev": true }, - "@types/source-list-map": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/@types/source-list-map/-/source-list-map-0.1.2.tgz", - "integrity": "sha512-K5K+yml8LTo9bWJI/rECfIPrGgxdpeNbj+d53lwN4QjW1MCwlkhUms+gtdzigTeUyBr09+u8BwOIY3MXvHdcsA==", - "dev": true + "node_modules/@types/send": { + "version": "0.17.1", + "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", + "integrity": "sha512-Cwo8LE/0rnvX7kIIa3QHCkcuF21c05Ayb0ZfxPiv0W8VRiZiNW/WuRupHKpqqGVGf7SUA44QSOUKaEd9lIrd/Q==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } }, - "@types/webpack-sources": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/@types/webpack-sources/-/webpack-sources-0.1.8.tgz", - "integrity": "sha512-JHB2/xZlXOjzjBB6fMOpH1eQAfsrpqVVIbneE0Rok16WXwFaznaI5vfg75U5WgGJm7V9W1c4xeRQDjX/zwvghA==", + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", "dev": true, - "requires": { - "@types/node": "*", - "@types/source-list-map": "*", - "source-map": "^0.6.1" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "@types/express": "*" } }, - "@webassemblyjs/ast": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.9.0.tgz", - "integrity": "sha512-C6wW5L+b7ogSDVqymbkkvuW9kruN//YisMED04xzeBBqjHa2FYnmvOlS6Xj68xWQRgWvI9cIglsjFowH/RJyEA==", + "node_modules/@types/serve-static": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.15.1.tgz", + "integrity": "sha512-NUo5XNiAdULrJENtJXZZ3fHtfMolzZwczzBbnAeBbqBwG+LaG6YaJtuwzwGSQZ2wsCrxjEhNNjAkKigy3n8teQ==", "dev": true, - "requires": { - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0" + "dependencies": { + "@types/mime": "*", + "@types/node": "*" } }, - "@webassemblyjs/floating-point-hex-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.9.0.tgz", - "integrity": "sha512-TG5qcFsS8QB4g4MhrxK5TqfdNe7Ey/7YL/xN+36rRjl/BlGE/NcBvJcqsRgCP6Z92mRE+7N50pRIi8SmKUbcQA==", - "dev": true + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } }, - "@webassemblyjs/helper-api-error": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.9.0.tgz", - "integrity": "sha512-NcMLjoFMXpsASZFxJ5h2HZRcEhDkvnNFOAKneP5RbKRzaWJN36NC4jqQHKwStIhGXu5mUWlUUk7ygdtrO8lbmw==", - "dev": true + "node_modules/@types/ws": { + "version": "8.5.4", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.4.tgz", + "integrity": "sha512-zdQDHKUgcX/zBc4GrwsE/7dVdAD8JR4EuiAXiiUhhfyIJXXb2+PrGshFyeXWQPMmmZ2XxgaqclgpIC7eTXc1mg==", + "dev": true, + "dependencies": { + "@types/node": "*" + } }, - "@webassemblyjs/helper-buffer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.9.0.tgz", - "integrity": "sha512-qZol43oqhq6yBPx7YM3m9Bv7WMV9Eevj6kMi6InKOuZxhw+q9hOkvq5e/PpKSiLfyetpaBnogSbNCfBwyB00CA==", - "dev": true + "node_modules/@vitejs/plugin-basic-ssl": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", + "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", + "dev": true, + "engines": { + "node": ">=14.6.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0" + } }, - "@webassemblyjs/helper-code-frame": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-code-frame/-/helper-code-frame-1.9.0.tgz", - "integrity": "sha512-ERCYdJBkD9Vu4vtjUYe8LZruWuNIToYq/ME22igL+2vj2dQ2OOujIZr3MEFvfEaqKoVqpsFKAGsRdBSBjrIvZA==", + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, - "requires": { - "@webassemblyjs/wast-printer": "1.9.0" + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "@webassemblyjs/helper-fsm": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-fsm/-/helper-fsm-1.9.0.tgz", - "integrity": "sha512-OPRowhGbshCb5PxJ8LocpdX9Kl0uB4XsAjl6jH/dWKlk/mzsANvhwbiULsaiqT5GZGT9qinTICdj6PLuM5gslw==", + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", "dev": true }, - "@webassemblyjs/helper-module-context": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-module-context/-/helper-module-context-1.9.0.tgz", - "integrity": "sha512-MJCW8iGC08tMk2enck1aPW+BE5Cw8/7ph/VGZxwyvGbJwjktKkDK7vy7gAmMDx88D7mhDTCNKAW5tED+gZ0W8g==", + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0" + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "@webassemblyjs/helper-wasm-bytecode": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.9.0.tgz", - "integrity": "sha512-R7FStIzyNcd7xKxCZH5lE0Bqy+hGTwS3LJjuv1ZVxd9O7eHCedSdrId/hMOd20I+v8wDXEn+bjfKDLzTepoaUw==", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, - "@webassemblyjs/helper-wasm-section": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.9.0.tgz", - "integrity": "sha512-XnMB8l3ek4tvrKUUku+IVaXNHz2YsJyOOmz+MMkZvh8h1uSJpSen6vYnw3IoQ7WwEuAhL8Efjms1ZWjqh2agvw==", + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0" + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "@webassemblyjs/ieee754": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.9.0.tgz", - "integrity": "sha512-dcX8JuYU/gvymzIHc9DgxTzUUTLexWwt8uCTWP3otys596io0L5aW02Gb1RjYpx2+0Jus1h4ZFqjla7umFniTg==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, - "requires": { + "dependencies": { "@xtuc/ieee754": "^1.2.0" } }, - "@webassemblyjs/leb128": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.9.0.tgz", - "integrity": "sha512-ENVzM5VwV1ojs9jam6vPys97B/S65YQtv/aanqnU7D8aSoHFX8GyhGg0CMfyKNIHBuAVjy3tlzd5QMMINa7wpw==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, - "requires": { + "dependencies": { "@xtuc/long": "4.2.2" } }, - "@webassemblyjs/utf8": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.9.0.tgz", - "integrity": "sha512-GZbQlWtopBTP0u7cHrEx+73yZKrQoBMpwkGEIqlacljhXCkVM1kMQge/Mf+csMJAjEdSwhOyLAS0AoR3AG5P8w==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", "dev": true }, - "@webassemblyjs/wasm-edit": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.9.0.tgz", - "integrity": "sha512-FgHzBm80uwz5M8WKnMTn6j/sVbqilPdQXTWraSjBwFXSYGirpkSWE2R9Qvz9tNiTKQvoKILpCuTjBKzOIm0nxw==", + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/helper-wasm-section": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-opt": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "@webassemblyjs/wast-printer": "1.9.0" + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "@webassemblyjs/wasm-gen": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.9.0.tgz", - "integrity": "sha512-cPE3o44YzOOHvlsb4+E9qSqjc9Qf9Na1OO/BHFy4OI91XDE14MjFN4lTMezzaIWdPqHnsTodGGNP+iRSYfGkjA==", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "@webassemblyjs/wasm-opt": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.9.0.tgz", - "integrity": "sha512-Qkjgm6Anhm+OMbIL0iokO7meajkzQD71ioelnfPEj6r4eOFuqm4YC3VBPqXjFyyNwowzbMD+hizmprP/Fwkl2A==", + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-buffer": "1.9.0", - "@webassemblyjs/wasm-gen": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0" + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "@webassemblyjs/wasm-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.9.0.tgz", - "integrity": "sha512-9+wkMowR2AmdSWQzsPEjFU7njh8HTO5MqO8vjwEHuM+AMHioNqSBONRdr0NQQ3dVQrzp0s8lTcYqzUdb7YgELA==", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-wasm-bytecode": "1.9.0", - "@webassemblyjs/ieee754": "1.9.0", - "@webassemblyjs/leb128": "1.9.0", - "@webassemblyjs/utf8": "1.9.0" - } - }, - "@webassemblyjs/wast-parser": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-parser/-/wast-parser-1.9.0.tgz", - "integrity": "sha512-qsqSAP3QQ3LyZjNC/0jBJ/ToSxfYJ8kYyuiGvtn/8MK89VrNEfwj7BPQzJVHi0jGTRK2dGdJ5PRqhtjzoww+bw==", - "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/floating-point-hex-parser": "1.9.0", - "@webassemblyjs/helper-api-error": "1.9.0", - "@webassemblyjs/helper-code-frame": "1.9.0", - "@webassemblyjs/helper-fsm": "1.9.0", - "@xtuc/long": "4.2.2" + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "@webassemblyjs/wast-printer": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.9.0.tgz", - "integrity": "sha512-2J0nE95rHXHyQ24cWjMKJ1tqB/ds8z/cyeOZxJhcb+rW+SQASVjuznUSmdz5GpVJTzU8JkhYut0D3siFDD6wsA==", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/wast-parser": "1.9.0", + "dependencies": { + "@webassemblyjs/ast": "1.11.6", "@xtuc/long": "4.2.2" } }, - "@xtuc/ieee754": { + "node_modules/@xtuc/ieee754": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, - "@xtuc/long": { + "node_modules/@xtuc/long": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", "dev": true }, - "@yarnpkg/lockfile": { + "node_modules/@yarnpkg/lockfile": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", "dev": true }, - "JSONStream": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/JSONStream/-/JSONStream-1.3.5.tgz", - "integrity": "sha512-E+iruNOY8VV9s4JEbe1aNEm6MiszPRr/UfcHMz0TQh1BXSxHK+ASV1R6W4HpjBhSeS+54PIsAMCBmwD06LLsqQ==", - "dev": true, - "requires": { - "jsonparse": "^1.2.0", - "through": ">=2.2.7 <3" - } + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true }, - "abab": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.5.tgz", - "integrity": "sha512-9IK9EadsbHo6jLWIpxpR6pL0sazTXV6+SQv25ZB+F7Bj9mJNaOc4nCRabwd5M/JwmUa8idz6Eci6eKfJryPs6Q==", + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", "dev": true }, - "accepts": { - "version": "1.3.7", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", - "integrity": "sha512-Il80Qs2WjYlJIBNzNkK6KYqlVMTbZLXgHx2oT0pU/fjRHyEp+PEfEPY0R3WCwAGVOtauxh1hOxNgIf5bv7dQpA==", + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, - "requires": { - "mime-types": "~2.1.24", - "negotiator": "0.6.2" - }, "dependencies": { - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, - "requires": { - "mime-db": "1.44.0" - } - } + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "acorn": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-6.4.2.tgz", - "integrity": "sha512-XtGIhXwF8YM8bJhGxG5kXgjkEuNGLTkoYqVE+KMR+aspr4KGYmKYg7yUe3KghyQ9yheNwLnjmzh/7+gfDBmHCQ==", - "dev": true + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } }, - "adjust-sourcemap-loader": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", - "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, - "requires": { + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", + "dev": true, + "dependencies": { "loader-utils": "^2.0.0", "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" } }, - "adm-zip": { + "node_modules/adm-zip": { "version": "0.4.16", "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true - }, - "after": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/after/-/after-0.8.2.tgz", - "integrity": "sha1-/ts5T58OAqqXaOcCvaI7UF+ufh8=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.3.0" + } }, - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, - "requires": { - "es6-promisify": "^5.0.0" + "dependencies": { + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "agentkeepalive": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-3.5.2.tgz", - "integrity": "sha512-e0L/HNe6qkQ7H19kTlRRqUibEAwDK5AFk6y3PtMsuut2VAH6+Q4xZml1tNDJD7kSAyqmbG/K08K5WEJYtUrSlQ==", + "node_modules/agentkeepalive": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", + "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", "dev": true, - "requires": { + "dependencies": { + "debug": "^4.1.0", + "depd": "^2.0.0", "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" } }, - "aggregate-error": { + "node_modules/aggregate-error": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", "dev": true, - "requires": { + "dependencies": { "clean-stack": "^2.0.0", "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "ajv": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.7.0.tgz", - "integrity": "sha512-RZXPviBTtfmtka9n9sy1N5M5b82CbxWIR6HIis4s3WQTXDJamc/0gpCWNGz6EWdWp4DOfjzJfhz/AS9zVPjjWg==", + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", "dev": true, - "requires": { - "fast-deep-equal": "^2.0.1", + "dependencies": { + "fast-deep-equal": "^3.1.1", "fast-json-stable-stringify": "^2.0.0", "json-schema-traverse": "^0.4.1", "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" } }, - "ajv-errors": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/ajv-errors/-/ajv-errors-1.0.1.tgz", - "integrity": "sha512-DCRfO/4nQ+89p/RK43i8Ezd41EqdGIU4ld7nGF8OQ14oc/we5rEntLCUa7+jrn3nn83BosfwZA0wb4pon2o8iQ==", + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", "dev": true }, - "ajv-keywords": { + "node_modules/ajv-keywords": { "version": "3.5.2", "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", - "dev": true - }, - "alphanum-sort": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/alphanum-sort/-/alphanum-sort-1.0.2.tgz", - "integrity": "sha1-l6ERlkmyEa0zaR2fn0hqjsn74KM=", - "dev": true + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } }, - "ansi-colors": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.1.tgz", - "integrity": "sha512-JoX0apGbHaUJBNl6yF+p6JAFYZ666/hhCGKN5t9QFjbJQKUU/g8MNbFDbvfrgKXvI1QpZplPOnwIo99lX/AAmA==", - "dev": true + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "ansi-escapes": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.1.tgz", - "integrity": "sha512-JWF7ocqNrp8u9oqpgV+wH5ftbt+cfvv+PTjOvKLT3AdYly/LmORARfEVT1iyjwN+4MqE5UmVKoAdIBqeoCHgLA==", + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", "dev": true, - "requires": { - "type-fest": "^0.11.0" + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ansi-html": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ansi-html/-/ansi-html-0.0.7.tgz", - "integrity": "sha1-gTWEAhliqenm/QOflA0S9WynhZ4=", - "dev": true + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } }, - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "ansi-styles": { + "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", "dev": true, - "requires": { + "dependencies": { "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" } }, - "anymatch": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.1.tgz", - "integrity": "sha512-mM8522psRCqzV+6LhomX5wgp25YVibjh8Wj23I5RPkPppSVSjyKD2A2mBJmWGa+KN7f2D6LNh9jkBCeyLktzjg==", + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", "dev": true, - "requires": { + "dependencies": { "normalize-path": "^3.0.0", "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" } }, - "app-root-path": { + "node_modules/app-root-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", - "dev": true + "dev": true, + "engines": { + "node": ">= 6.0.0" + } }, - "aproba": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-1.2.0.tgz", - "integrity": "sha512-Y9J6ZjXtoYh8RnXVCMOU/ttDmk1aBjunq9vO0ta5x85WDQiQfUF9sIPBITdbiiIVcBo03Hi3jMxigBtsddlXRw==", + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", "dev": true }, - "arg": { + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/arg": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", "dev": true }, - "argparse": { + "node_modules/argparse": { "version": "1.0.10", "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", "dev": true, - "requires": { + "dependencies": { "sprintf-js": "~1.0.2" } }, - "aria-query": { + "node_modules/aria-query": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", "dev": true, - "requires": { + "dependencies": { "ast-types-flow": "0.0.7", "commander": "^2.11.0" } }, - "arity-n": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", - "integrity": "sha1-2edrEXM+CFacCEeuezmyhgswt0U=", - "dev": true - }, - "arr-diff": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/arr-diff/-/arr-diff-4.0.0.tgz", - "integrity": "sha1-1kYQdP6/7HHn4VI1dhoyml3HxSA=", - "dev": true - }, - "arr-flatten": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/arr-flatten/-/arr-flatten-1.1.0.tgz", - "integrity": "sha512-L3hKV5R/p5o81R7O02IGnwpDmkp6E982XhtbuwSe3O4qOtMMMtodicASA1Cny2U+aCXcNpml+m4dPsvsJ3jatg==", - "dev": true - }, - "arr-union": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/arr-union/-/arr-union-3.1.0.tgz", - "integrity": "sha1-45sJrqne+Gao8gbiiK9jkZuuOcQ=", - "dev": true - }, - "array-flatten": { + "node_modules/array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", "dev": true }, - "array-union": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", - "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", - "dev": true - }, - "array-uniq": { + "node_modules/array-uniq": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", - "dev": true - }, - "array-unique": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/array-unique/-/array-unique-0.3.2.tgz", - "integrity": "sha1-qJS3XUvE9s1nnvMkSp/Y9Gri1Cg=", - "dev": true - }, - "arraybuffer.slice": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/arraybuffer.slice/-/arraybuffer.slice-0.0.7.tgz", - "integrity": "sha512-wGUIVQXuehL5TCqQun8OW81jGzAWycqzFF8lFp+GOM5BXLYj3bKNsYC4daB7n6XjCqxQA/qgTJ+8ANR3acjrog==", - "dev": true - }, - "arrify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", - "dev": true - }, - "asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, - "requires": { - "safer-buffer": "~2.1.0" + "engines": { + "node": ">=0.10.0" } }, - "asn1.js": { - "version": "5.4.1", - "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", - "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0", - "safer-buffer": "^2.1.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } + "engines": { + "node": ">=0.10.0" } }, - "assert": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", - "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", "dev": true, - "requires": { - "object-assign": "^4.1.1", - "util": "0.10.3" - }, "dependencies": { - "inherits": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", - "integrity": "sha1-sX0I0ya0Qj5Wjv9xn5GwscvfafE=", - "dev": true - }, - "util": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", - "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", - "dev": true, - "requires": { - "inherits": "2.0.1" - } - } + "safer-buffer": "~2.1.0" } }, - "assert-plus": { + "node_modules/assert-plus": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true - }, - "assign-symbols": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assign-symbols/-/assign-symbols-1.0.0.tgz", - "integrity": "sha1-WWZ/QfrdTyDMvCu5a41Pf3jsA2c=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8" + } }, - "ast-types-flow": { + "node_modules/ast-types-flow": { "version": "0.0.7", "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", "dev": true }, - "async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/async/-/async-2.6.2.tgz", - "integrity": "sha512-H1qVYh1MYhEEFLsP97cVKqCGo7KfCyTt6uEWqsTBr9SO84oK9Uwbyd/yCW+6rKJLHksBNUVWZDAjfS+Ccx0Bbg==", - "dev": true, - "requires": { - "lodash": "^4.17.11" - } - }, - "async-each": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/async-each/-/async-each-1.0.3.tgz", - "integrity": "sha512-z/WhQ5FPySLdvREByI2vZiTWwCnF0moMJ1hK9YQwDTHKh6I7/uSckMetoRGb5UBZPC1z0jlw+n/XCgjeH7y1AQ==", - "dev": true - }, - "async-limiter": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/async-limiter/-/async-limiter-1.0.1.tgz", - "integrity": "sha512-csOlWGAcRFJaI6m+F2WKdnMKr4HhdhFVBk0H/QbJFMCr+uO2kwohwXQPxw/9OCxp05r5ghVBFSyioixx3gfkNQ==", - "dev": true - }, - "asynckit": { + "node_modules/asynckit": { "version": "0.4.0", "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", "dev": true }, - "at-least-node": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", - "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", - "dev": true - }, - "atob": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", - "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", - "dev": true - }, - "autoprefixer": { - "version": "9.8.6", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-9.8.6.tgz", - "integrity": "sha512-XrvP4VVHdRBCdX1S3WXVD8+RyG9qeb1D5Sn1DeLiG2xfSpzellk5k54xbUERJ3M5DggQxes39UGOTP8CFrEGbg==", + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", "dev": true, - "requires": { - "browserslist": "^4.12.0", - "caniuse-lite": "^1.0.30001109", - "colorette": "^1.2.1", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", "normalize-range": "^0.1.2", - "num2fraction": "^1.2.2", - "postcss": "^7.0.32", - "postcss-value-parser": "^4.1.0" + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "aws-sign2": { + "node_modules/aws-sign2": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "aws4": { + "node_modules/aws4": { "version": "1.8.0", "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", "dev": true }, - "axobject-query": { + "node_modules/axobject-query": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", "dev": true, - "requires": { + "dependencies": { "ast-types-flow": "0.0.7" } }, - "babel-loader": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.1.0.tgz", - "integrity": "sha512-7q7nC1tYOrqvUrN3LQK4GwSk/TQorZSOlO9C+RZDZpODgyN4ZlCqE5q9cDsyWOliN+aU9B4JX01xK9eJXowJLw==", + "node_modules/babel-loader": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", "dev": true, - "requires": { - "find-cache-dir": "^2.1.0", - "loader-utils": "^1.4.0", - "mkdirp": "^0.5.3", - "pify": "^4.0.1", - "schema-utils": "^2.6.5" - }, - "dependencies": { - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - } + "dependencies": { + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" } }, - "babel-plugin-dynamic-import-node": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", - "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", "dev": true, - "requires": { - "object.assign": "^4.1.0" + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "backo2": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/backo2/-/backo2-1.0.2.tgz", - "integrity": "sha1-MasayLEpNjRj41s+u2n038+6eUc=", - "dev": true + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } }, - "balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", - "dev": true + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } }, - "base": { - "version": "0.11.2", - "resolved": "https://registry.npmjs.org/base/-/base-0.11.2.tgz", - "integrity": "sha512-5T6P4xPgpp0YDFvSWwEZ4NoE3aM4QBQXDzmVbraCkFj8zHM+mba8SyqB5DbZWyR7mYHo6Y7BdQo3MoA4m0TeQg==", - "dev": true, - "requires": { - "cache-base": "^1.0.1", - "class-utils": "^0.3.5", - "component-emitter": "^1.2.1", - "define-property": "^1.0.0", - "isobject": "^3.0.1", - "mixin-deep": "^1.2.0", - "pascalcase": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" } }, - "base64-arraybuffer": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/base64-arraybuffer/-/base64-arraybuffer-0.1.4.tgz", - "integrity": "sha1-mBjHngWbE1X5fgQooBfIOOkLqBI=", + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", "dev": true }, - "base64-js": { + "node_modules/base64-js": { "version": "1.5.1", "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "base64id": { + "node_modules/base64id": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", - "dev": true + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } }, - "batch": { + "node_modules/batch": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha1-3DQxT05nkxgJP8dgJyUl+UvyXBY=", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", "dev": true }, - "bcrypt-pbkdf": { + "node_modules/bcrypt-pbkdf": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", "dev": true, - "requires": { + "dependencies": { "tweetnacl": "^0.14.3" } }, - "big.js": { + "node_modules/big.js": { "version": "5.2.2", "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "binary-extensions": { + "node_modules/binary-extensions": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "bindings": { - "version": "1.5.0", - "resolved": "https://registry.npmjs.org/bindings/-/bindings-1.5.0.tgz", - "integrity": "sha512-p2q/t/mhvuOj/UeLlV6566GD/guowlr0hHxClI0W9m7MWYkL1F0hLo+0Aexs9HSPCtR1SXQ0TD3MMKrXZajbiQ==", + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", "dev": true, - "optional": true, - "requires": { - "file-uri-to-path": "1.0.0" + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" } }, - "blob": { - "version": "0.0.5", - "resolved": "https://registry.npmjs.org/blob/-/blob-0.0.5.tgz", - "integrity": "sha512-gaqbzQPqOoamawKg0LGVd7SzLgXS+JH61oWprSLH+P+abTczqJbhTR8CmJ2u9/bUYNmHTGJx/UEmn6doAvvuig==", - "dev": true + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } }, - "blocking-proxy": { + "node_modules/blocking-proxy": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", "dev": true, - "requires": { + "dependencies": { "minimist": "^1.2.0" + }, + "bin": { + "blocking-proxy": "built/lib/bin.js" + }, + "engines": { + "node": ">=6.9.x" } }, - "bluebird": { - "version": "3.5.5", - "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.5.5.tgz", - "integrity": "sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w==", - "dev": true - }, - "bn.js": { - "version": "5.1.3", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.1.3.tgz", - "integrity": "sha512-GkTiFpjFtUzU9CbMeJ5iazkCzGL3jrhzerzZIuqLABjbwRaFt33I9tUdSNryIptM+RxDet6OKm2WnLXzW51KsQ==", - "dev": true - }, - "body-parser": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.19.0.tgz", - "integrity": "sha512-dhEPs72UPbDnAQJ9ZKMNTP6ptJaionhP5cBb541nXPlW60Jepo9RV/a4fX4XWW9CuFNK22krhrj1+rgzifNCsw==", + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", "dev": true, - "requires": { - "bytes": "3.1.0", + "dependencies": { + "bytes": "3.1.2", "content-type": "~1.0.4", "debug": "2.6.9", - "depd": "~1.1.2", - "http-errors": "1.7.2", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", - "on-finished": "~2.3.0", - "qs": "6.7.0", - "raw-body": "2.4.0", - "type-is": "~1.6.17" + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } + "ms": "2.0.0" } }, - "bonjour": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/bonjour/-/bonjour-3.5.0.tgz", - "integrity": "sha1-jokKGD2O6aI5OzhExpGkK897yfU=", + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", "dev": true, - "requires": { - "array-flatten": "^2.1.0", - "deep-equal": "^1.0.1", + "dependencies": { + "array-flatten": "^2.1.2", "dns-equal": "^1.0.0", - "dns-txt": "^2.0.2", - "multicast-dns": "^6.0.1", - "multicast-dns-service-types": "^1.1.0" + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" } }, - "boolbase": { + "node_modules/boolbase": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha1-aN/1++YMUes3cl6p4+0xDcwed24=", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", "dev": true }, - "brace-expansion": { + "node_modules/brace-expansion": { "version": "1.1.11", "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", "dev": true, - "requires": { + "dependencies": { "balanced-match": "^1.0.0", "concat-map": "0.0.1" } }, - "braces": { + "node_modules/braces": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", "dev": true, - "requires": { + "dependencies": { "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" } }, - "brorand": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", - "integrity": "sha1-EsJe/kCkXjwyPrhnWgoM5XsiNx8=", - "dev": true - }, - "browserify-aes": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", - "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", - "dev": true, - "requires": { - "buffer-xor": "^1.0.3", - "cipher-base": "^1.0.0", - "create-hash": "^1.1.0", - "evp_bytestokey": "^1.0.3", - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "browserify-cipher": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", - "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", - "dev": true, - "requires": { - "browserify-aes": "^1.0.4", - "browserify-des": "^1.0.0", - "evp_bytestokey": "^1.0.0" - } - }, - "browserify-des": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", - "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", - "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "des.js": "^1.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" - } - }, - "browserify-rsa": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", - "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", - "dev": true, - "requires": { - "bn.js": "^5.0.0", - "randombytes": "^2.0.1" - } - }, - "browserify-sign": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", - "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", "dev": true, - "requires": { - "bn.js": "^5.1.1", - "browserify-rsa": "^4.0.1", - "create-hash": "^1.2.0", - "create-hmac": "^1.1.7", - "elliptic": "^6.5.3", - "inherits": "^2.0.4", - "parse-asn1": "^5.1.5", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" - }, - "dependencies": { - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" } }, - "browserify-zlib": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", - "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", - "dev": true, - "requires": { - "pako": "~1.0.5" - } - }, - "browserslist": { - "version": "4.14.7", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.14.7.tgz", - "integrity": "sha512-BSVRLCeG3Xt/j/1cCGj1019Wbty0H+Yvu2AOuZSuoaUWn3RatbL33Cxk+Q4jRMRAbOm0p7SLravLjpnT6s0vzQ==", - "dev": true, - "requires": { - "caniuse-lite": "^1.0.30001157", - "colorette": "^1.2.1", - "electron-to-chromium": "^1.3.591", - "escalade": "^3.1.1", - "node-releases": "^1.1.66" - } - }, - "browserstack": { + "node_modules/browserstack": { "version": "1.6.0", "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", "dev": true, - "requires": { + "dependencies": { "https-proxy-agent": "^2.2.1" } }, - "buffer": { - "version": "4.9.2", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", - "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", "dev": true, - "requires": { - "base64-js": "^1.0.2", - "ieee754": "^1.1.4", - "isarray": "^1.0.0" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" } }, - "buffer-from": { + "node_modules/buffer-from": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", "dev": true }, - "buffer-indexof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-indexof/-/buffer-indexof-1.1.1.tgz", - "integrity": "sha512-4/rOEg86jivtPTeOUUT61jJO1Ya1TrR/OkqCSZDyq84WJh3LuuiphBYJN+fm5xufIk4XAFcEwte/8WzC8If/1g==", - "dev": true + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "buffer-xor": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", - "integrity": "sha1-JuYe0UIvtw3ULm42cp7VHYVf6Nk=", - "dev": true + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } }, - "builtin-modules": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.1.0.tgz", - "integrity": "sha512-k0KL0aWZuBt2lrxrcASWDfwOLMnodeQjodT/1SxEQAXsHANgo6ZC/VEaSEHCXt7aSTZ4/4H5LKa+tBXmW7Vtvw==", - "dev": true + "node_modules/builtins/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } }, - "builtin-status-codes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", - "integrity": "sha1-hZgoeOIbmOHGZCXgPQF0eI9Wnug=", - "dev": true + "node_modules/builtins/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "builtins": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-1.0.3.tgz", - "integrity": "sha1-y5T662HIaWRR2zZTThQi+U8K7og=", + "node_modules/builtins/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "bytes": { + "node_modules/bytes": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha1-0ygVQE1olpn4Wk6k+odV3ROpYEg=", - "dev": true + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "cacache": { - "version": "15.0.5", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-15.0.5.tgz", - "integrity": "sha512-lloiL22n7sOjEEXdL8NAjTgv9a1u43xICE9/203qonkZUCj5X1UEWIdf2/Y0d6QcCtMzbKQyhrcDbdvlZTs/+A==", + "node_modules/cacache": { + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz", + "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==", "dev": true, - "requires": { - "@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", + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", "minipass-collect": "^1.0.2", "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.2", - "mkdirp": "^1.0.3", + "minipass-pipeline": "^1.2.4", "p-map": "^4.0.0", "promise-inflight": "^1.0.1", - "rimraf": "^3.0.2", - "ssri": "^8.0.0", - "tar": "^6.0.2", - "unique-filename": "^1.1.1" + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" }, - "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - } + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "cache-base": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cache-base/-/cache-base-1.0.1.tgz", - "integrity": "sha512-AKcdTnFSWATd5/GCPRxr2ChwIJ85CeyrEyjRHlKxQ56d4XJMGym0uAiKn0xbLOGOl3+yRpOTi484dVCEc5AUzQ==", - "dev": true, - "requires": { - "collection-visit": "^1.0.0", - "component-emitter": "^1.2.1", - "get-value": "^2.0.6", - "has-value": "^1.0.0", - "isobject": "^3.0.1", - "set-value": "^2.0.0", - "to-object-path": "^0.3.0", - "union-value": "^1.0.0", - "unset-value": "^1.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" } }, - "call-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.0.tgz", - "integrity": "sha512-AEXsYIyyDY3MCzbwdhzG3Jx1R0J2wetQyUynn6dYHAO+bg8l1k7jwZtRv4ryryFs7EP+NDlikJlVe59jr0cM2w==", + "node_modules/cacache/node_modules/glob": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.3.tgz", + "integrity": "sha512-Kb4rfmBVE3eQTAimgmeqc2LwSnN0wIOkkUL6HmxEFxNJ4fHghYHVbFba/HcGcRjE6s9KoMNK3rSOwkL4PioZjg==", "dev": true, - "requires": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.0" + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.0", + "minipass": "^5.0.0", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "caller-callsite": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-callsite/-/caller-callsite-2.0.0.tgz", - "integrity": "sha1-hH4PzgoiN1CpoCfFSzNzGtMVQTQ=", + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, - "requires": { - "callsites": "^2.0.0" + "engines": { + "node": ">=12" } }, - "caller-path": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/caller-path/-/caller-path-2.0.0.tgz", - "integrity": "sha1-Ro+DBE42mrIBD6xfBs7uFbsssfQ=", + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", "dev": true, - "requires": { - "caller-callsite": "^2.0.0" + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "callsites": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-2.0.0.tgz", - "integrity": "sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA=", - "dev": true - }, - "camelcase": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-6.2.0.tgz", - "integrity": "sha512-c7wVvbw3f37nuobQNtgsgG9POC9qMbNuMQmTCqZv23b6MIz0fcYpBiOlv9gEN/hdLdnZTDQhg6e9Dq5M1vKvfg==", - "dev": true + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "caniuse-api": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", - "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-lite": "^1.0.0", - "lodash.memoize": "^4.1.2", - "lodash.uniq": "^4.5.0" + "engines": { + "node": ">=6" } }, - "caniuse-lite": { - "version": "1.0.30001158", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001158.tgz", - "integrity": "sha512-s5loVYY+yKpuVA3HyW8BarzrtJvwHReuzugQXlv1iR3LKSReoFXRm86mT6hT7PEF5RxW+XQZg+6nYjlywYzQ+g==", - "dev": true + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "canonical-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/canonical-path/-/canonical-path-1.0.0.tgz", - "integrity": "sha512-feylzsbDxi1gPZ1IjystzIQZagYYLvfKrSuygUCgf7z6x790VEzze5QEkdSV1U58RA7Hi0+v6fv4K54atOzATg==", - "dev": true + "node_modules/caniuse-lite": { + "version": "1.0.30001486", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", + "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] }, - "caseless": { + "node_modules/caseless": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", "dev": true }, - "chalk": { + "node_modules/chalk": { "version": "2.4.2", "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", "dev": true, - "requires": { + "dependencies": { "ansi-styles": "^3.2.1", "escape-string-regexp": "^1.0.5", "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" } }, - "chardet": { + "node_modules/chardet": { "version": "0.7.0", "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", "dev": true }, - "chokidar": { - "version": "3.4.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.4.3.tgz", - "integrity": "sha512-DtM3g7juCXQxFVSNPNByEC2+NImtBuxQQvWlHunpJIS5Ocr0lG306cC7FCi7cEA0fzmybPUIl4txBIobk1gGOQ==", + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", "dev": true, - "requires": { - "anymatch": "~3.1.1", + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", "braces": "~3.0.2", - "fsevents": "~2.1.2", - "glob-parent": "~5.1.0", + "glob-parent": "~5.1.2", "is-binary-path": "~2.1.0", "is-glob": "~4.0.1", "normalize-path": "~3.0.0", - "readdirp": "~3.5.0" - } - }, - "chownr": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-1.1.4.tgz", - "integrity": "sha512-jJ0bqzaylmJtVnNgzTeSOs8DPavpbYgEr/b0YL8/2GO3xJEhInFmhKMUnEJQjZumK7KXGFhUy89PrsJWlakBVg==", - "dev": true - }, - "chrome-trace-event": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.2.tgz", - "integrity": "sha512-9e/zx1jw7B4CO+c/RXoCsfg/x1AfUBioy4owYH0bJprEYAx5hRFLRhWBqHAG57D0ZM4H7vxbP7bPe0VwhQRYDQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" + "readdirp": "~3.6.0" }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "cipher-base": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", - "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" + "engines": { + "node": ">=10" } }, - "circular-dependency-plugin": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/circular-dependency-plugin/-/circular-dependency-plugin-5.2.0.tgz", - "integrity": "sha512-7p4Kn/gffhQaavNfyDFg7LS5S/UT1JAjyGd4UqR2+jzoYF02eDkj0Ec3+48TsIa4zghjLY87nQHIh/ecK9qLdw==", - "dev": true - }, - "class-utils": { - "version": "0.3.6", - "resolved": "https://registry.npmjs.org/class-utils/-/class-utils-0.3.6.tgz", - "integrity": "sha512-qOhPa/Fj7s6TY8H8esGu5QNpMMQxz79h+urzrNYN6mn+9BnxlDGf5QZ+XeCDsxSjPqsSR56XOZOJmpeurnLMeg==", - "dev": true, - "requires": { - "arr-union": "^3.1.0", - "define-property": "^0.2.5", - "isobject": "^3.0.0", - "static-extend": "^0.1.1" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" } }, - "clean-stack": { + "node_modules/clean-stack": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "cli-cursor": { + "node_modules/cli-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", "dev": true, - "requires": { + "dependencies": { "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" } }, - "cli-spinners": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", - "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", - "dev": true + "node_modules/cli-spinners": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "cli-width": { + "node_modules/cli-width": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "dev": true + "dev": true, + "engines": { + "node": ">= 10" + } }, - "cliui": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-5.0.0.tgz", - "integrity": "sha512-PYeGSEmmHM6zvoef2w8TPzlrnNpXIjTipYK780YswmIP9vjxmd6Y2a3CB2Ks6/AU8NHjZugXvo8w3oWM2qnwXA==", + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", "dev": true, - "requires": { - "string-width": "^3.1.0", - "strip-ansi": "^5.2.0", - "wrap-ansi": "^5.1.0" - }, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" } }, - "clone-deep": { + "node_modules/clone-deep": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", "dev": true, - "requires": { + "dependencies": { "is-plain-object": "^2.0.4", "kind-of": "^6.0.2", "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" } }, - "coa": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/coa/-/coa-2.0.2.tgz", - "integrity": "sha512-q5/jG+YQnSy4nRTV4F7lPepBJZ8qBNJJDBuJdoejDyLXgmL7IEo+Le2JDZudFTFt7mrCqIRaSjws4ygRCTCAXA==", - "dev": true, - "requires": { - "@types/q": "^1.5.1", - "chalk": "^2.4.1", - "q": "^1.1.2" - } - }, - "codelyzer": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.1.tgz", - "integrity": "sha512-cOyGQgMdhnRYtW2xrJUNrNYDjEgwQ+BrE2y93Bwz3h4DJ6vJRLfupemU5N3pbYsUlBHJf0u1j1UGk+NLW4d97g==", + "node_modules/codelyzer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", + "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", "dev": true, - "requires": { + "dependencies": { "@angular/compiler": "9.0.0", "@angular/core": "9.0.0", "app-root-path": "^3.0.0", @@ -4846,161 +5841,143 @@ "tslib": "^1.10.0", "zone.js": "~0.10.3" }, - "dependencies": { - "@angular/compiler": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", - "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", - "dev": true - }, - "@angular/core": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", - "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", - "dev": true - }, - "sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", - "dev": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "peerDependencies": { + "@angular/compiler": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", + "@angular/core": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", + "tslint": "^5.0.0 || ^6.0.0" } }, - "collection-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/collection-visit/-/collection-visit-1.0.0.tgz", - "integrity": "sha1-S8A3PBZLwykbTTaMgpzxqApZ3KA=", + "node_modules/codelyzer/node_modules/@angular/compiler": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", + "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "dev": true, + "peerDependencies": { + "tslib": "^1.10.0" + } + }, + "node_modules/codelyzer/node_modules/@angular/core": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", + "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", "dev": true, - "requires": { - "map-visit": "^1.0.0", - "object-visit": "^1.0.0" + "peerDependencies": { + "rxjs": "^6.5.3", + "tslib": "^1.10.0", + "zone.js": "~0.10.2" } }, - "color": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/color/-/color-3.1.3.tgz", - "integrity": "sha512-xgXAcTHa2HeFCGLE9Xs/R82hujGtu9Jd9x4NW3T34+OMs7VoPsjwzRczKHvTAHeJwWFwX5j15+MgAppE8ztObQ==", + "node_modules/codelyzer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", "dev": true, - "requires": { - "color-convert": "^1.9.1", - "color-string": "^1.5.4" + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" } }, - "color-convert": { + "node_modules/codelyzer/node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true + }, + "node_modules/codelyzer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/codelyzer/node_modules/zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "dev": true + }, + "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", "dev": true, - "requires": { + "dependencies": { "color-name": "1.1.3" } }, - "color-name": { + "node_modules/color-name": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", "dev": true }, - "color-string": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/color-string/-/color-string-1.5.4.tgz", - "integrity": "sha512-57yF5yt8Xa3czSEW1jfQDE79Idk0+AkN/4KWad6tbdxUmAs3MvjxlWSWD4deYytcRfoZ9nhKyFl1kj5tBvidbw==", + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", "dev": true, - "requires": { - "color-name": "^1.0.0", - "simple-swizzle": "^0.2.2" + "bin": { + "color-support": "bin.js" } }, - "colorette": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-1.2.1.tgz", - "integrity": "sha512-puCDz0CzydiSYOrnXpz/PKd69zRrribezjtE9yd4zvytoRc8+RY/KJPvtPFKZS3E3wP6neGyMe0vOTlHO5L3Pw==", + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", "dev": true }, - "colors": { + "node_modules/colors": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.1.90" + } }, - "combined-stream": { + "node_modules/combined-stream": { "version": "1.0.7", "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", "dev": true, - "requires": { + "dependencies": { "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" } }, - "commander": { + "node_modules/commander": { "version": "2.20.3", "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", "dev": true }, - "commondir": { + "node_modules/commondir": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha1-3dgA2gxmEnOTzKWVDqloo6rxJTs=", - "dev": true - }, - "component-bind": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/component-bind/-/component-bind-1.0.0.tgz", - "integrity": "sha1-AMYIq33Nk4l8AAllGx06jh5zu9E=", - "dev": true - }, - "component-emitter": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.3.0.tgz", - "integrity": "sha512-Rd3se6QB+sO1TwqZjscQrurpEPIfO0/yYnSin6Q/rD3mOutHvUrCAhJub3r90uNb+SESBuE0QYoB90YdfatsRg==", - "dev": true - }, - "component-inherit": { - "version": "0.0.3", - "resolved": "https://registry.npmjs.org/component-inherit/-/component-inherit-0.0.3.tgz", - "integrity": "sha1-ZF/ErfWLcrZJ1crmUTVhnbJv8UM=", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", "dev": true }, - "compose-function": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", - "integrity": "sha1-ntZ18TzFRQHTCVCkhv9qe6OrGF8=", - "dev": true, - "requires": { - "arity-n": "^1.0.4" - } - }, - "compressible": { + "node_modules/compressible": { "version": "2.0.18", "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, - "requires": { + "dependencies": { "mime-db": ">= 1.43.0 < 2" }, - "dependencies": { - "mime-db": { - "version": "1.45.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.45.0.tgz", - "integrity": "sha512-CkqLUxUk15hofLoLyljJSrukZi8mAtgd+yE5uO4tqRZsdsAJKv0O+rFMhVDRJgozy+yG6md5KwuXhD4ocIoP+w==", - "dev": true - } + "engines": { + "node": ">= 0.6" } }, - "compression": { + "node_modules/compression": { "version": "1.7.4", "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, - "requires": { + "dependencies": { "accepts": "~1.3.5", "bytes": "3.0.0", "compressible": "~2.0.16", @@ -5009,1763 +5986,1439 @@ "safe-buffer": "5.1.2", "vary": "~1.1.2" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "ms": "2.0.0" } }, - "concat-map": { + "node_modules/concat-map": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "concat-stream": { - "version": "1.6.2", - "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-1.6.2.tgz", - "integrity": "sha512-27HBghJxjiZtIk3Ycvn/4kbJk/1uZuJFfuPEns6LaEvpvG1f0hTea8lilrouyo9mVc2GWdcEZ8OLoGmSADlrCw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "inherits": "^2.0.3", - "readable-stream": "^2.2.2", - "typedarray": "^0.0.6" - } - }, - "connect": { + "node_modules/connect": { "version": "3.7.0", "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "finalhandler": "1.1.2", "parseurl": "~1.3.3", "utils-merge": "1.0.1" }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "engines": { + "node": ">= 0.10.0" } }, - "connect-history-api-fallback": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", - "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", - "dev": true + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "dev": true, + "engines": { + "node": ">=0.8" + } }, - "console-browserify": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", - "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", - "dev": true + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } }, - "constants-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", - "integrity": "sha1-wguW2MYXdIqvHBYCF2DNJ/y4y3U=", + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", "dev": true }, - "content-disposition": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.3.tgz", - "integrity": "sha512-ExO0774ikEObIAEV9kDo50o+79VCUdEB6n6lzKgGwupcVeRlhrj3qGAfwq8G6uBJjkqLrhT0qEYFcWng8z1z0g==", + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, - "requires": { - "safe-buffer": "5.1.2" + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "content-type": { + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/content-type": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", - "dev": true - }, - "convert-source-map": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", - "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", "dev": true, - "requires": { - "safe-buffer": "~5.1.1" + "engines": { + "node": ">= 0.6" } }, - "cookie": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.0.tgz", - "integrity": "sha512-+Hp8fLp57wnUSt0tY0tHEXh4voZRDnoIrZPqlo3DPiI4y9lwg/jqx+1Om94/W6ZaPDOUbnjOt/99w66zk+l1Xg==", + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, - "cookie-signature": { + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", "dev": true }, - "copy-concurrently": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/copy-concurrently/-/copy-concurrently-1.0.5.tgz", - "integrity": "sha512-f2domd9fsVDFtaFcbaRZuYXwtdmnzqbADSwhSWYxYB/Q8zsdUUFMXVRwXGDMWmbEzAn1kdRrtI1T/KTFOL4X2A==", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "fs-write-stream-atomic": "^1.0.8", - "iferr": "^0.1.5", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.0" + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "dev": true, + "dependencies": { + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "copy-descriptor": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/copy-descriptor/-/copy-descriptor-0.1.1.tgz", - "integrity": "sha1-Z29us8OZl8LuGsOpJP1hJHSPV40=", - "dev": true - }, - "copy-webpack-plugin": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-6.2.1.tgz", - "integrity": "sha512-VH2ZTMIBsx4p++Lmpg77adZ0KUyM5gFR/9cuTrbneNnJlcQXUFvsNariPqq2dq2kV3F2skHiDGPQCyKWy1+U0Q==", - "dev": true, - "requires": { - "cacache": "^15.0.5", - "fast-glob": "^3.2.4", - "find-cache-dir": "^3.3.1", - "glob-parent": "^5.1.1", - "globby": "^11.0.1", - "loader-utils": "^2.0.0", + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "dev": true, + "dependencies": { + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", "normalize-path": "^3.0.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "webpack-sources": "^1.4.3" + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" + }, + "engines": { + "node": ">= 14.15.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + } + }, + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "dev": true, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "p-limit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", - "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } + "is-glob": "^4.0.3" + }, + "engines": { + "node": ">=10.13.0" } }, - "core-js": { - "version": "3.1.4", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.1.4.tgz", - "integrity": "sha512-YNZN8lt82XIMLnLirj9MhKDFZHalwzzrL9YLt6eb0T5D0EDl4IQ90IGkua8mHbnxNrkj1d8hbdizMc0Qmg1WnQ==" + "node_modules/core-js": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.2.tgz", + "integrity": "sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } }, - "core-js-compat": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.7.0.tgz", - "integrity": "sha512-V8yBI3+ZLDVomoWICO6kq/CD28Y4r1M7CWeO4AGpMdMfseu8bkSubBmUPySMGKRTS+su4XQ07zUkAsiu9FCWTg==", + "node_modules/core-js-compat": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", + "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", "dev": true, - "requires": { - "browserslist": "^4.14.6", - "semver": "7.0.0" - }, "dependencies": { - "semver": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", - "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", - "dev": true - } + "browserslist": "^4.21.5" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "core-util-is": { + "node_modules/core-util-is": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", "dev": true }, - "cosmiconfig": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-5.2.1.tgz", - "integrity": "sha512-H65gsXo1SKjf8zmrJ67eJk8aIRKV5ff2D4uKZIBZShbhGSpEmsQOPW/SKMKYhSTrqR7ufy6RP69rPogdaPh/kA==", + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "dev": true, + "dependencies": { + "object-assign": "^4", + "vary": "^1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/cosmiconfig": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" + } + }, + "node_modules/cosmiconfig-typescript-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", + "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", + "dev": true, + "engines": { + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=3" + } + }, + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "dev": true + }, + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "import-fresh": "^2.0.0", - "is-directory": "^0.3.1", - "js-yaml": "^3.13.1", - "parse-json": "^4.0.0" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "create-ecdh": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", - "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "elliptic": "^6.5.3" - }, "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "create-hash": { - "version": "1.2.0", - "resolved": "http://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", - "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "cipher-base": "^1.0.1", - "inherits": "^2.0.1", - "md5.js": "^1.3.4", - "ripemd160": "^2.0.1", - "sha.js": "^2.4.0" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "create-hmac": { - "version": "1.1.7", - "resolved": "http://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", - "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "cipher-base": "^1.0.3", - "create-hash": "^1.1.0", - "inherits": "^2.0.1", - "ripemd160": "^2.0.0", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" - } - }, - "cross-spawn": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-6.0.5.tgz", - "integrity": "sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ==", - "dev": true, - "requires": { - "nice-try": "^1.0.4", - "path-key": "^2.0.1", - "semver": "^5.5.0", - "shebang-command": "^1.2.0", - "which": "^1.2.9" - } - }, - "crypto-browserify": { - "version": "3.12.0", - "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", - "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", - "dev": true, - "requires": { - "browserify-cipher": "^1.0.0", - "browserify-sign": "^4.0.0", - "create-ecdh": "^4.0.0", - "create-hash": "^1.1.0", - "create-hmac": "^1.1.0", - "diffie-hellman": "^5.0.0", - "inherits": "^2.0.1", - "pbkdf2": "^3.0.3", - "public-encrypt": "^4.0.0", - "randombytes": "^2.0.0", - "randomfill": "^1.0.3" + "engines": { + "node": ">=8" } }, - "css": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", - "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "node_modules/critters/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "source-map": "^0.6.1", - "source-map-resolve": "^0.5.2", - "urix": "^0.1.0" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "css-color-names": { - "version": "0.0.4", - "resolved": "https://registry.npmjs.org/css-color-names/-/css-color-names-0.0.4.tgz", - "integrity": "sha1-gIrcLnnPhHOAabZGyyDsJ762KeA=", - "dev": true + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } }, - "css-declaration-sorter": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-4.0.1.tgz", - "integrity": "sha512-BcxQSKTSEEQUftYpBVnsH4SF05NTuBokb19/sBt6asXGKZ/6VP7PLG1CBCkFDYOnhXhPh0jMhO6xZ71oYHXHBA==", + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "postcss": "^7.0.1", - "timsort": "^0.3.0" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "css-loader": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.0.0.tgz", - "integrity": "sha512-9g35eXRBgjvswyJWoqq/seWp+BOxvUl8IinVNTsUBFFxtwfEYvlmEn6ciyn0liXGbGh5HyJjPGCuobDSfqMIVg==", + "node_modules/css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, - "requires": { - "camelcase": "^6.1.0", - "cssesc": "^3.0.0", - "icss-utils": "^5.0.0", - "loader-utils": "^2.0.0", - "postcss": "^8.1.1", + "dependencies": { + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", "postcss-modules-extract-imports": "^3.0.0", "postcss-modules-local-by-default": "^4.0.0", "postcss-modules-scope": "^3.0.0", "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.1.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "postcss": { - "version": "8.1.7", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.1.7.tgz", - "integrity": "sha512-llCQW1Pz4MOPwbZLmOddGM9eIJ8Bh7SZ2Oj5sxZva77uVaotYDsYTch1WBTNu7fUY0fpWp0fdt7uW40D4sRiiQ==", - "dev": true, - "requires": { - "colorette": "^1.2.1", - "line-column": "^1.0.2", - "nanoid": "^3.1.16", - "source-map": "^0.6.1" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "css-parse": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/css-parse/-/css-parse-2.0.0.tgz", - "integrity": "sha1-pGjuZnwW2BzPBcWMONKpfHgNv9Q=", + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "css": "^2.0.0" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "css-select": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-2.1.0.tgz", - "integrity": "sha512-Dqk7LQKpwLoH3VovzZnkzegqNSuAziQyNZUcrdDM401iY+R5NkGBXGmtO05/yaXQziALuPogeG0b7UAgjnTJTQ==", + "node_modules/css-loader/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", "dev": true, - "requires": { - "boolbase": "^1.0.0", - "css-what": "^3.2.1", - "domutils": "^1.7.0", - "nth-check": "^1.0.2" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "css-select-base-adapter": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/css-select-base-adapter/-/css-select-base-adapter-0.1.1.tgz", - "integrity": "sha512-jQVeeRG70QI08vSTwf1jHxp74JoZsr2XSgETae8/xC8ovSnL2WF87GTLO86Sbwdt2lK4Umg4HnnwMO4YF3Ce7w==", + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "css-selector-tokenizer": { + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-selector-tokenizer": { "version": "0.7.3", "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", "dev": true, - "requires": { + "dependencies": { "cssesc": "^3.0.0", "fastparse": "^1.1.2" } }, - "css-tree": { - "version": "1.0.0-alpha.37", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.0-alpha.37.tgz", - "integrity": "sha512-DMxWJg0rnz7UgxKT0Q1HU/L9BeJI0M6ksor0OgqOnF+aRCDWg/N2641HmVyU9KVIu0OVVWOb2IpC9A+BJRnejg==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "requires": { - "mdn-data": "2.0.4", - "source-map": "^0.6.1" + "engines": { + "node": ">= 6" }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "css-what": { - "version": "3.4.2", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-3.4.2.tgz", - "integrity": "sha512-ACUm3L0/jiZTqfzRM3Hi9Q8eZqd6IK37mMWPLz9PJxkLWllYeRf+EHUSHYEtFop2Eqytaq1FizFVh7XfBnXCDQ==", - "dev": true - }, - "cssauron": { + "node_modules/cssauron": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", "dev": true, - "requires": { + "dependencies": { "through": "X.X.X" } }, - "cssesc": { + "node_modules/cssesc": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", - "dev": true - }, - "cssnano": { - "version": "4.1.10", - "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-4.1.10.tgz", - "integrity": "sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==", "dev": true, - "requires": { - "cosmiconfig": "^5.0.0", - "cssnano-preset-default": "^4.0.7", - "is-resolvable": "^1.0.0", - "postcss": "^7.0.0" - } - }, - "cssnano-preset-default": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz", - "integrity": "sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==", - "dev": true, - "requires": { - "css-declaration-sorter": "^4.0.1", - "cssnano-util-raw-cache": "^4.0.1", - "postcss": "^7.0.0", - "postcss-calc": "^7.0.1", - "postcss-colormin": "^4.0.3", - "postcss-convert-values": "^4.0.1", - "postcss-discard-comments": "^4.0.2", - "postcss-discard-duplicates": "^4.0.2", - "postcss-discard-empty": "^4.0.1", - "postcss-discard-overridden": "^4.0.1", - "postcss-merge-longhand": "^4.0.11", - "postcss-merge-rules": "^4.0.3", - "postcss-minify-font-values": "^4.0.2", - "postcss-minify-gradients": "^4.0.2", - "postcss-minify-params": "^4.0.2", - "postcss-minify-selectors": "^4.0.2", - "postcss-normalize-charset": "^4.0.1", - "postcss-normalize-display-values": "^4.0.2", - "postcss-normalize-positions": "^4.0.2", - "postcss-normalize-repeat-style": "^4.0.2", - "postcss-normalize-string": "^4.0.2", - "postcss-normalize-timing-functions": "^4.0.2", - "postcss-normalize-unicode": "^4.0.1", - "postcss-normalize-url": "^4.0.1", - "postcss-normalize-whitespace": "^4.0.2", - "postcss-ordered-values": "^4.1.2", - "postcss-reduce-initial": "^4.0.3", - "postcss-reduce-transforms": "^4.0.2", - "postcss-svgo": "^4.0.2", - "postcss-unique-selectors": "^4.0.1" - } - }, - "cssnano-util-get-arguments": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-arguments/-/cssnano-util-get-arguments-4.0.0.tgz", - "integrity": "sha1-7ToIKZ8h11dBsg87gfGU7UnMFQ8=", - "dev": true - }, - "cssnano-util-get-match": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/cssnano-util-get-match/-/cssnano-util-get-match-4.0.0.tgz", - "integrity": "sha1-wOTKB/U4a7F+xeUiULT1lhNlFW0=", - "dev": true - }, - "cssnano-util-raw-cache": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-raw-cache/-/cssnano-util-raw-cache-4.0.1.tgz", - "integrity": "sha512-qLuYtWK2b2Dy55I8ZX3ky1Z16WYsx544Q0UWViebptpwn/xDBmog2TLg4f+DBMg1rJ6JDWtn96WHbOKDWt1WQA==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "cssnano-util-same-parent": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz", - "integrity": "sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==", - "dev": true - }, - "csso": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/csso/-/csso-4.1.0.tgz", - "integrity": "sha512-h+6w/W1WqXaJA4tb1dk7r5tVbOm97MsKxzwnvOR04UQ6GILroryjMWu3pmCCtL2mLaEStQ0fZgeGiy99mo7iyg==", - "dev": true, - "requires": { - "css-tree": "^1.0.0" - }, - "dependencies": { - "css-tree": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.0.1.tgz", - "integrity": "sha512-WroX+2MvsYcRGP8QA0p+rxzOniT/zpAoQ/DTKDSJzh5T3IQKUkFHeIIfgIapm2uaP178GWY3Mime1qbk8GO/tA==", - "dev": true, - "requires": { - "mdn-data": "2.0.12", - "source-map": "^0.6.1" - } - }, - "mdn-data": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.12.tgz", - "integrity": "sha512-ULbAlgzVb8IqZ0Hsxm6hHSlQl3Jckst2YEQS7fODu9ilNWy2LvcoSY7TRFIktABP2mdppBioc66va90T+NUs8Q==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" } }, - "cuint": { + "node_modules/cuint": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha1-QICG1AlVDCYxFVYZ6fp7ytw7mRs=", + "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", "dev": true }, - "custom-event": { + "node_modules/custom-event": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, - "cyclist": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/cyclist/-/cyclist-1.0.1.tgz", - "integrity": "sha1-WW6WmP0MgOEgOMK4LW6xs1tiJNk=", - "dev": true - }, - "d": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", - "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", - "dev": true, - "requires": { - "es5-ext": "^0.10.50", - "type": "^1.0.1" - } - }, - "damerau-levenshtein": { + "node_modules/damerau-levenshtein": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", "dev": true }, - "dashdash": { + "node_modules/dashdash": { "version": "1.14.1", "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" } }, - "date-format": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-3.0.0.tgz", - "integrity": "sha512-eyTcpKOcamdhWJXj56DpQMo1ylSQpcGtGKXcU0Tb97+K56/CF5amAqqqNj0+KvA0iw2ynxtHWFsPDSClCxe48w==", - "dev": true + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "debug": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.2.0.tgz", - "integrity": "sha512-IX2ncY78vDTjZMFUdmsvIRFY2Cf4FnD0wRs+nQwJU8Lu99/tPFdb0VybiiMTPe3I6rQmwsqQqRBvxU+bZ/I8sg==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "requires": { + "dependencies": { "ms": "2.1.2" }, - "dependencies": { - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true } } }, - "decamelize": { + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/decamelize": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", - "dev": true - }, - "decode-uri-component": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", - "integrity": "sha1-6zkTMzRYd1y4TNGh+uBiEGu4dUU=", - "dev": true - }, - "deep-equal": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-1.1.1.tgz", - "integrity": "sha512-yd9c5AdiqVcR+JjcwUQb9DkhJc8ngNr0MahEBGvDiJw8puWab2yZlh+nkasOnZP+EGTAP6rRp2JzJhJZzvNF8g==", "dev": true, - "requires": { - "is-arguments": "^1.0.4", - "is-date-object": "^1.0.1", - "is-regex": "^1.0.4", - "object-is": "^1.0.1", - "object-keys": "^1.1.1", - "regexp.prototype.flags": "^1.2.0" + "engines": { + "node": ">=0.10.0" } }, - "deepmerge": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.2.2.tgz", - "integrity": "sha512-FJ3UgI4gIl+PHZm53knsuSFpE+nESMr7M4v9QcgB7S63Kj/6WqMiFQJpBBYz1Pt+66bZpP3Q7Lye0Oo9MPKEdg==", - "dev": true - }, - "default-gateway": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-4.2.0.tgz", - "integrity": "sha512-h6sMrVB1VMWVrW13mSc6ia/DwYYw5MN6+exNu1OaJeFac5aSAvwM7lZ0NVfTABuSkQelr4h5oebg3KB1XPdjgA==", + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "requires": { - "execa": "^1.0.0", - "ip-regex": "^2.1.0" + "engines": { + "node": ">=0.10.0" } }, - "defaults": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.3.tgz", - "integrity": "sha1-xlYFHpgX2f8I7YgUd/P+QBnz730=", + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, - "requires": { - "clone": "^1.0.2" - }, "dependencies": { - "clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha1-2jCcwmPfFZlMaIypAheco8fNfH4=", - "dev": true - } - } - }, - "define-properties": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.3.tgz", - "integrity": "sha512-3MqfYKj2lLzdMSf8ZIZE/V+Zuy+BgD6f164e8K2w7dgnpKArBDerGYpM46IYYcjnkdPNMjPk9A6VFB8+3SKlXQ==", - "dev": true, - "requires": { - "object-keys": "^1.0.12" + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" } }, - "define-property": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-2.0.2.tgz", - "integrity": "sha512-jwK2UV4cnPpbcG7+VRARKTZPUWowwXA8bzH5NP6ud0oeAxyYPuGZUAC7hMugpCdz4BeSZl2Dl9k66CHJ/46ZYQ==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, - "requires": { - "is-descriptor": "^1.0.2", - "isobject": "^3.0.1" - }, "dependencies": { - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "del": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/del/-/del-4.1.1.tgz", - "integrity": "sha512-QwGuEUouP2kVwQenAsOof5Fv8K9t3D8Ca8NxcXKrIpEHjTXK5J2nXLdP+ALI1cgv8wj7KuwBhTwBkOZSJKM5XQ==", - "dev": true, - "requires": { - "@types/glob": "^7.1.1", - "globby": "^6.1.0", - "is-path-cwd": "^2.0.0", - "is-path-in-cwd": "^2.0.0", - "p-map": "^2.0.0", - "pify": "^4.0.1", - "rimraf": "^2.6.3" - }, - "dependencies": { - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "globby": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-6.1.0.tgz", - "integrity": "sha1-9abXDoOV4hyFj7BInWTfAkJNUGw=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - }, - "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } - } - }, - "p-map": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/p-map/-/p-map-2.1.0.tgz", - "integrity": "sha512-y3b8Kpd8OAN444hxfBbFfj1FY/RjtTd8tzYwhUqNYXx0fXx2iX4maP4Qr6qhIKbQXI02wTLAda4fYUbDagTUFw==", - "dev": true - } + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" } }, - "delayed-stream": { + "node_modules/delayed-stream": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.4.0" + } }, - "depd": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", - "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=", + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, - "dependency-graph": { - "version": "0.7.2", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.7.2.tgz", - "integrity": "sha512-KqtH4/EZdtdfWX0p6MGP9jljvxSY6msy/pRUD4jgNwVpv3v1QmNLlsB3LDSSUg79BRVSn7jI1QPRtArGABovAQ==", - "dev": true + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "des.js": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", - "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "minimalistic-assert": "^1.0.0" + "engines": { + "node": ">= 0.6.0" } }, - "destroy": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", - "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=", - "dev": true + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } }, - "detect-node": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.0.4.tgz", - "integrity": "sha512-ZIzRpLJrOj7jjP2miAtgqIfmzbxa4ZOr5jJc601zklsfEx9oTzmmj2nVpIPRpNlRTIh8lc1kyViIY7BWSGNmKw==", + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, - "di": { + "node_modules/di": { "version": "0.0.1", "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", "dev": true }, - "diff": { + "node_modules/diff": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", - "dev": true - }, - "diffie-hellman": { - "version": "5.0.3", - "resolved": "http://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", - "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", "dev": true, - "requires": { - "bn.js": "^4.1.0", - "miller-rabin": "^4.0.0", - "randombytes": "^2.0.0" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } + "engines": { + "node": ">=0.3.1" } }, - "dir-glob": { + "node_modules/dir-glob": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, - "requires": { + "dependencies": { "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "dns-equal": { + "node_modules/dns-equal": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha1-s55/HabrCnW6nBcySzR1PEfgZU0=", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", "dev": true }, - "dns-packet": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-1.3.1.tgz", - "integrity": "sha512-0UxfQkMhYAUaZI+xrNZOz/as5KgDU0M/fQ9b6SpkyLbk3GEswDi6PADJVaYJradtRVsRIlF1zLyOodbcTCDzUg==", - "dev": true, - "requires": { - "ip": "^1.1.0", - "safe-buffer": "^5.0.1" - } - }, - "dns-txt": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/dns-txt/-/dns-txt-2.0.2.tgz", - "integrity": "sha1-uR2Ab10nGI5Ks+fRB9iBocxGQrY=", + "node_modules/dns-packet": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", + "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", "dev": true, - "requires": { - "buffer-indexof": "^1.0.0" + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" } }, - "dom-serialize": { + "node_modules/dom-serialize": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", "dev": true, - "requires": { + "dependencies": { "custom-event": "~1.0.0", "ent": "~2.2.0", "extend": "^3.0.0", "void-elements": "^2.0.0" } }, - "dom-serializer": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-0.2.2.tgz", - "integrity": "sha512-2/xPb3ORsQ42nHYiSunXkDjPLBaEj/xTwUO4B7XCZQTRk7EBtTOPaygh10YAAh2OI1Qrp6NWfpAhzswj0ydt9g==", + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, - "requires": { + "dependencies": { "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", "entities": "^2.0.0" }, - "dependencies": { - "domelementtype": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.0.2.tgz", - "integrity": "sha512-wFwTwCVebUrMgGeAwRL/NhZtHAUyT9n9yg4IMDwf10+6iCMxSkVq9MGCVEH+QZWo1nNidy8kNvwmv4zWHDTqvA==", - "dev": true - } + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "domain-browser": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", - "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", - "dev": true - }, - "domelementtype": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-1.3.1.tgz", - "integrity": "sha512-BSKB+TSpMpFI/HOxCNr1O8aMOTZ8hT3pM3GQ0w/mWRmkhEDSFJkkyzz4XQsBV44BChwGkrDfMyjVD0eA2aFV3w==", - "dev": true - }, - "domutils": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-1.7.0.tgz", - "integrity": "sha512-Lgd2XcJ/NjEw+7tFvfKxOzCYKZsdct5lczQ2ZaQY8Djz7pfAD3Gbp8ySJWtreII/vDlMVmxwa6pHmdxIYgttDg==", + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", "dev": true, - "requires": { - "dom-serializer": "0", - "domelementtype": "1" - } + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "dot-prop": { - "version": "5.3.0", - "resolved": "https://registry.npmjs.org/dot-prop/-/dot-prop-5.3.0.tgz", - "integrity": "sha512-QM8q3zDe58hqUqjraQOmzZ1LIH9SWQJTlEKCH4kJ2oQvLZk7RbQXvtDM2XEq3fwkV9CCvvH4LA0AV+ogFsBM2Q==", + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, - "requires": { - "is-obj": "^2.0.0" + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "duplexify": { - "version": "3.7.1", - "resolved": "https://registry.npmjs.org/duplexify/-/duplexify-3.7.1.tgz", - "integrity": "sha512-07z8uv2wMyS51kKhD1KsdXJg5WQ6t93RneqRxUHnskXVtlYYkLqM0gqStQZ3pj073g687jPCHrqNfCzawLYh5g==", + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, - "requires": { - "end-of-stream": "^1.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.0.0", - "stream-shift": "^1.0.0" + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "ecc-jsbn": { + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ecc-jsbn": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, - "requires": { + "dependencies": { "jsbn": "~0.1.0", "safer-buffer": "^2.1.0" } }, - "ee-first": { + "node_modules/ee-first": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "electron-to-chromium": { - "version": "1.3.596", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.3.596.tgz", - "integrity": "sha512-nLO2Wd2yU42eSoNJVQKNf89CcEGqeFZd++QsnN2XIgje1s/19AgctfjLIbPORlvcCO8sYjLwX4iUgDdusOY8Sg==", - "dev": true - }, - "elliptic": { - "version": "6.5.4", - "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", - "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", - "dev": true, - "requires": { - "bn.js": "^4.11.9", - "brorand": "^1.1.0", - "hash.js": "^1.0.0", - "hmac-drbg": "^1.0.1", - "inherits": "^2.0.4", - "minimalistic-assert": "^1.0.1", - "minimalistic-crypto-utils": "^1.0.1" - }, - "dependencies": { - "bn.js": { - "version": "4.12.0", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", - "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", - "dev": true - }, - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - } - } + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.389", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.389.tgz", + "integrity": "sha512-WDgWUOK8ROR7sDFyYmxCUOoDc50lPgYAHAHwnnD1iN3SKO/mpqftb9iIPiEkMKmqYdkrR0j3N/O+YB/U7lSxwg==", + "dev": true }, - "emoji-regex": { + "node_modules/emoji-regex": { "version": "8.0.0", "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", "dev": true }, - "emojis-list": { + "node_modules/emojis-list": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", - "dev": true + "dev": true, + "engines": { + "node": ">= 4" + } }, - "encodeurl": { + "node_modules/encodeurl": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "encoding": { + "node_modules/encoding": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", "dev": true, - "requires": { + "optional": true, + "dependencies": { "iconv-lite": "^0.6.2" - }, + } + }, + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, "dependencies": { - "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - } + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "end-of-stream": { - "version": "1.4.4", - "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", - "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", + "node_modules/engine.io": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", + "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", "dev": true, - "requires": { - "once": "^1.4.0" + "dependencies": { + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "engine.io-parser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-2.2.1.tgz", - "integrity": "sha512-x+dN/fBH8Ro8TFwJ+rkB2AmuVw9Yu2mockR/p3W8f8YtExwFgDvBDi0GWyb4ZLkpahtDGZgtr3zLovanJghPqg==", + "node_modules/engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", "dev": true, - "requires": { - "after": "0.8.2", - "arraybuffer.slice": "~0.0.7", - "base64-arraybuffer": "0.1.4", - "blob": "0.0.5", - "has-binary2": "~1.0.2" + "engines": { + "node": ">=10.0.0" } }, - "enhanced-resolve": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.3.1.tgz", - "integrity": "sha512-G1XD3MRGrGfNcf6Hg0LVZG7GIKcYkbfHa5QMxt1HDUTdYoXH0JR1xXyg+MaKLF73E9A27uWNVxvFivNRYeUB6w==", + "node_modules/enhanced-resolve": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz", + "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==", "dev": true, - "requires": { + "dependencies": { "graceful-fs": "^4.2.4", - "tapable": "^2.0.0" + "tapable": "^2.2.0" }, - "dependencies": { - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - } + "engines": { + "node": ">=10.13.0" } }, - "ent": { + "node_modules/ent": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, - "entities": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.1.0.tgz", - "integrity": "sha512-hCx1oky9PFrJ611mf0ifBLBRW8lUUVRlFolb5gWRfIELabBlbp9xZvrqZLZAs+NxFnbfQoeGd8wDkygjg7U85w==", - "dev": true + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } }, - "err-code": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-1.1.2.tgz", - "integrity": "sha1-BuARbTAo9q70gGhJ6w6mp0iuaWA=", + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", "dev": true }, - "errno": { - "version": "0.1.7", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.7.tgz", - "integrity": "sha512-MfrRBDWzIWifgq6tJj60gkAwtLNb6sQPlcFrSOflcP1aFmmruKQ2wRnze/8V6kgyz7H3FF8Npzv78mZ7XLLflg==", + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, - "requires": { + "optional": true, + "dependencies": { "prr": "~1.0.1" + }, + "bin": { + "errno": "cli.js" } }, - "error-ex": { + "node_modules/error-ex": { "version": "1.3.2", "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, - "requires": { + "dependencies": { "is-arrayish": "^0.2.1" } }, - "es-abstract": { - "version": "1.17.5", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.17.5.tgz", - "integrity": "sha512-BR9auzDbySxOcfog0tLECW8l28eRGpDpU3Dm3Hp4q/N+VtLTmyj4EUN088XZWQDW/hzj6sYRDXeOFsaAODKvpg==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.1.5", - "is-regex": "^1.0.5", - "object-inspect": "^1.7.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.0", - "string.prototype.trimleft": "^2.1.1", - "string.prototype.trimright": "^2.1.1" - } - }, - "es-to-primitive": { + "node_modules/es-module-lexer": { "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", - "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", - "dev": true, - "requires": { - "is-callable": "^1.1.4", - "is-date-object": "^1.0.1", - "is-symbol": "^1.0.2" - } - }, - "es5-ext": { - "version": "0.10.53", - "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.53.tgz", - "integrity": "sha512-Xs2Stw6NiNHWypzRTY1MtaG/uJlwCk8kH81920ma8mvN8Xq1gsfhZvpkImLQArw8AHnv8MT2I45J3c0R8slE+Q==", - "dev": true, - "requires": { - "es6-iterator": "~2.0.3", - "es6-symbol": "~3.1.3", - "next-tick": "~1.0.0" - } - }, - "es6-iterator": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", - "integrity": "sha1-p96IkUGgWpSwhUQDstCg+/qY87c=", - "dev": true, - "requires": { - "d": "1", - "es5-ext": "^0.10.35", - "es6-symbol": "^3.1.1" - } + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", + "dev": true }, - "es6-promise": { + "node_modules/es6-promise": { "version": "4.2.5", "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", "dev": true }, - "es6-promisify": { + "node_modules/es6-promisify": { "version": "5.0.0", "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, - "requires": { + "dependencies": { "es6-promise": "^4.0.3" } }, - "es6-symbol": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", - "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", - "dev": true, - "requires": { - "d": "^1.0.1", - "ext": "^1.1.2" - } - }, - "escalade": { + "node_modules/esbuild": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", + "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.18", + "@esbuild/android-arm64": "0.17.18", + "@esbuild/android-x64": "0.17.18", + "@esbuild/darwin-arm64": "0.17.18", + "@esbuild/darwin-x64": "0.17.18", + "@esbuild/freebsd-arm64": "0.17.18", + "@esbuild/freebsd-x64": "0.17.18", + "@esbuild/linux-arm": "0.17.18", + "@esbuild/linux-arm64": "0.17.18", + "@esbuild/linux-ia32": "0.17.18", + "@esbuild/linux-loong64": "0.17.18", + "@esbuild/linux-mips64el": "0.17.18", + "@esbuild/linux-ppc64": "0.17.18", + "@esbuild/linux-riscv64": "0.17.18", + "@esbuild/linux-s390x": "0.17.18", + "@esbuild/linux-x64": "0.17.18", + "@esbuild/netbsd-x64": "0.17.18", + "@esbuild/openbsd-x64": "0.17.18", + "@esbuild/sunos-x64": "0.17.18", + "@esbuild/win32-arm64": "0.17.18", + "@esbuild/win32-ia32": "0.17.18", + "@esbuild/win32-x64": "0.17.18" + } + }, + "node_modules/esbuild-wasm": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz", + "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==", + "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/escalade": { "version": "3.1.1", "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "escape-html": { + "node_modules/escape-html": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "escape-string-regexp": { + "node_modules/escape-string-regexp": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.0" + } }, - "eslint-scope": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-4.0.3.tgz", - "integrity": "sha512-p7VutNr1O/QrxysMo3E45FjYDTeXBy0iTltPFNSqKAIfjDSXC+4dj+qfyuD8bfAXrW/y6lW3O76VaYNPKfpKrg==", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, - "requires": { - "esrecurse": "^4.1.0", + "dependencies": { + "esrecurse": "^4.3.0", "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" } }, - "esprima": { + "node_modules/esprima": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/esprima/-/esprima-4.0.1.tgz", "integrity": "sha512-eGuFFw7Upda+g4p+QHvnW0RyTX/SVeJBDM/gCtMARO0cLuT2HcEKnTPvhjV6aGeqrCB/sbNop0Kszm0jsaWU4A==", - "dev": true + "dev": true, + "bin": { + "esparse": "bin/esparse.js", + "esvalidate": "bin/esvalidate.js" + }, + "engines": { + "node": ">=4" + } }, - "esrecurse": { + "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", "dev": true, - "requires": { + "dependencies": { "estraverse": "^5.2.0" }, - "dependencies": { - "estraverse": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.2.0.tgz", - "integrity": "sha512-BxbNGGNm0RyRYvUdHpIwv9IWzeM9XClbOxwoATuFdOE7ZE6wHL+HQ5T8hoPM+zHvmKzzsEqhgy0GrQ5X13afiQ==", - "dev": true - } + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "estraverse": { + "node_modules/estraverse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", - "dev": true - }, - "estree-walker": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.1.tgz", - "integrity": "sha512-tF0hv+Yi2Ot1cwj9eYHtxC0jB9bmjacjQs6ZBTj82H8JwUywFuc+7E83NWfNMwHXZc11mjfFcVXPe9gEP4B8dg==", - "dev": true + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "esutils": { + "node_modules/estree-walker": { "version": "2.0.2", - "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.2.tgz", - "integrity": "sha1-Cr9PHKpbyx96nYrMbepPqqBLrJs=", + "resolved": "https://registry.npmjs.org/estree-walker/-/estree-walker-2.0.2.tgz", + "integrity": "sha512-Rfkk/Mp/DL7JVje3u18FxFujQlTNR2q6QfMSMB7AvCBx91NGj/ba3kCfza0f6dVDbw7YlRf/nDrn7pQrCCyQ/w==", "dev": true }, - "etag": { + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { "version": "1.8.1", "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", - "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/eventemitter-asyncresource": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/eventemitter-asyncresource/-/eventemitter-asyncresource-1.0.0.tgz", + "integrity": "sha512-39F7TBIV0G7gTelxwbEqnwhp90eqCPON1k0NwNfwhgKn4Co4ybUbj2pECcXT0B3ztRKZ7Pw1JujUUgmQJHcVAQ==", "dev": true }, - "eventemitter3": { + "node_modules/eventemitter3": { "version": "4.0.7", "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", "dev": true }, - "events": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/events/-/events-3.2.0.tgz", - "integrity": "sha512-/46HWwbfCX2xTawVfkKLGxMifJYQBWMwY1mjywRtb4c9x8l5NP3KoJtnIOiL1hfdRkIuYhETxQlo62IF8tcnlg==", - "dev": true - }, - "eventsource": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/eventsource/-/eventsource-1.0.7.tgz", - "integrity": "sha512-4Ln17+vVT0k8aWq+t/bF5arcS3EpT9gYtW66EPacdj/mAFevznsnyoHLPy2BA8gbIQeIHoPsvwmfBftfcG//BQ==", - "dev": true, - "requires": { - "original": "^1.0.0" - } - }, - "evp_bytestokey": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", - "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", "dev": true, - "requires": { - "md5.js": "^1.3.4", - "safe-buffer": "^5.1.1" + "engines": { + "node": ">=0.8.x" } }, - "execa": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/execa/-/execa-1.0.0.tgz", - "integrity": "sha512-adbxcyWV46qiHyvSp50TKt05tB4tK3HcmF7/nxfAdhnox83seTDbwnaqKO4sXRy7roHAIFqJP/Rw/AuEbX61LA==", + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", "dev": true, - "requires": { - "cross-spawn": "^6.0.0", - "get-stream": "^4.0.0", - "is-stream": "^1.1.0", - "npm-run-path": "^2.0.0", - "p-finally": "^1.0.0", - "signal-exit": "^3.0.0", - "strip-eof": "^1.0.0" + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" } }, - "exit": { + "node_modules/exit": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/exit/-/exit-0.1.2.tgz", "integrity": "sha1-BjJjj42HfMghB9MKD/8aF8uhzQw=", - "dev": true - }, - "expand-brackets": { - "version": "2.1.4", - "resolved": "https://registry.npmjs.org/expand-brackets/-/expand-brackets-2.1.4.tgz", - "integrity": "sha1-t3c14xXOMPa27/D4OwQVGiJEliI=", - "dev": true, - "requires": { - "debug": "^2.3.3", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "posix-character-classes": "^0.1.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "dev": true, + "engines": { + "node": ">= 0.8.0" } }, - "express": { - "version": "4.17.1", - "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", - "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", + "node_modules/express": { + "version": "4.18.2", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.2.tgz", + "integrity": "sha512-5/PsL6iGPdfQ/lKM1UuielYgv3BUoJfz1aUwU9vHZ+J7gyvwdQXFEBIEIaxeGf0GIcreATNyBExtalisDbuMqQ==", "dev": true, - "requires": { - "accepts": "~1.3.7", + "dependencies": { + "accepts": "~1.3.8", "array-flatten": "1.1.1", - "body-parser": "1.19.0", - "content-disposition": "0.5.3", + "body-parser": "1.20.1", + "content-disposition": "0.5.4", "content-type": "~1.0.4", - "cookie": "0.4.0", + "cookie": "0.5.0", "cookie-signature": "1.0.6", "debug": "2.6.9", - "depd": "~1.1.2", + "depd": "2.0.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", - "finalhandler": "~1.1.2", + "finalhandler": "1.2.0", "fresh": "0.5.2", + "http-errors": "2.0.0", "merge-descriptors": "1.0.1", "methods": "~1.1.2", - "on-finished": "~2.3.0", + "on-finished": "2.4.1", "parseurl": "~1.3.3", "path-to-regexp": "0.1.7", - "proxy-addr": "~2.0.5", - "qs": "6.7.0", + "proxy-addr": "~2.0.7", + "qs": "6.11.0", "range-parser": "~1.2.1", - "safe-buffer": "5.1.2", - "send": "0.17.1", - "serve-static": "1.14.1", - "setprototypeof": "1.1.1", - "statuses": "~1.5.0", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", "type-is": "~1.6.18", "utils-merge": "1.0.1", "vary": "~1.1.2" }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/express/node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "array-flatten": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", - "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=", - "dev": true - }, - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "qs": { - "version": "6.7.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.7.0.tgz", - "integrity": "sha512-VCdBRNFTX1fyE7Nb6FYoURo/SPe62QCaAyzJvUjwRaIsc+NePBEniHlvxFmmX56+HZphIGtV0XeCirBtpDrTyQ==", - "dev": true - } + "ms": "2.0.0" } }, - "ext": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/ext/-/ext-1.4.0.tgz", - "integrity": "sha512-Key5NIsUxdqKg3vIsdw9dSuXpPCQ297y6wBjL30edxwPgt2E44WcWBZey/ZvUc6sERLTxKdyCu4gZFmUbk1Q7A==", + "node_modules/express/node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", "dev": true, - "requires": { - "type": "^2.0.0" + "dependencies": { + "ee-first": "1.1.1" }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/express/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, "dependencies": { - "type": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/type/-/type-2.1.0.tgz", - "integrity": "sha512-G9absDWvhAWCV2gmF1zKud3OyC61nZDwWvBL2DApaVFogI07CprggiQAOOjvp2NRjYWFzPyu7vwtDrQFq8jeSA==", - "dev": true + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" } + ] + }, + "node_modules/express/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, - "extend": { + "node_modules/extend": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, - "extend-shallow": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-3.0.2.tgz", - "integrity": "sha1-Jqcarwc7OfshJxcnRhMcJwQCjbg=", - "dev": true, - "requires": { - "assign-symbols": "^1.0.0", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } - } - }, - "external-editor": { + "node_modules/external-editor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", "dev": true, - "requires": { + "dependencies": { "chardet": "^0.7.0", "iconv-lite": "^0.4.24", "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" } }, - "extglob": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/extglob/-/extglob-2.0.4.tgz", - "integrity": "sha512-Nmb6QXkELsuBr24CJSkilo6UHHgbekK5UiZgfE6UHD3Eb27YC6oD+bhcT+tJ6cl8dmsgdQxnWlcry8ksBIBLpw==", - "dev": true, - "requires": { - "array-unique": "^0.3.2", - "define-property": "^1.0.0", - "expand-brackets": "^2.1.4", - "extend-shallow": "^2.0.1", - "fragment-cache": "^0.2.1", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - } - } - }, - "extsprintf": { + "node_modules/extsprintf": { "version": "1.3.0", "resolved": "https://registry.npmjs.org/extsprintf/-/extsprintf-1.3.0.tgz", "integrity": "sha1-lpGEQOMEGnpBT4xS48V06zw+HgU=", - "dev": true + "dev": true, + "engines": [ + "node >=0.6.0" + ] }, - "fast-deep-equal": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-2.0.1.tgz", - "integrity": "sha1-ewUhjd+WZ79/Nwv3/bLLFf3Qqkk=", + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, - "fast-glob": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.4.tgz", - "integrity": "sha512-kr/Oo6PX51265qeuCYsyGypiO5uJFgBS0jksyG7FUeCyQzNwYnzrNIMR1NXfkZXsMYXYLRAHgISHBz8gQcxKHQ==", + "node_modules/fast-glob": { + "version": "3.2.12", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", + "integrity": "sha512-DVj4CQIYYow0BlaelwK1pHl5n5cRSJfM60UA0zK891sVInoPri2Ekj7+e1CT3/3qxXenpI+nBBmQAcJPJgaj4w==", "dev": true, - "requires": { + "dependencies": { "@nodelib/fs.stat": "^2.0.2", "@nodelib/fs.walk": "^1.2.3", - "glob-parent": "^5.1.0", + "glob-parent": "^5.1.2", "merge2": "^1.3.0", - "micromatch": "^4.0.2", - "picomatch": "^2.2.1" + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" } }, - "fast-json-stable-stringify": { + "node_modules/fast-json-stable-stringify": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.0.0.tgz", "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, - "fastparse": { + "node_modules/fastparse": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", "integrity": "sha512-483XLLxTVIwWK3QTrMGRqUfUpoOs/0hbQrl2oz4J0pAcm3A3bu84wxTFqGqkJzewCLdME38xJLJAxBABfQT8sQ==", "dev": true }, - "fastq": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.9.0.tgz", - "integrity": "sha512-i7FVWL8HhVY+CTkwFxkN2mk3h+787ixS5S63eb78diVRc1MCssarHq3W5cj0av7YDSwmaV928RNag+U1etRQ7w==", + "node_modules/fastq": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.15.0.tgz", + "integrity": "sha512-wBrocU2LCXXa+lWBt8RoIRD89Fi8OdABODa/kEnyeyjS5aZO5/GNvI5sEINADqP/h8M29UHTHUb53sUu5Ihqdw==", "dev": true, - "requires": { + "dependencies": { "reusify": "^1.0.4" } }, - "faye-websocket": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.10.0.tgz", - "integrity": "sha1-TkkvjQTftviQA1B/btvy1QHnxvQ=", + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", "dev": true, - "requires": { + "dependencies": { "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" } }, - "figgy-pudding": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/figgy-pudding/-/figgy-pudding-3.5.2.tgz", - "integrity": "sha512-0btnI/H8f2pavGMN8w40mlSKOfTK2SVJmBfBeVIj3kNw0swwgzyRq0d5TJVOwodFmtvpPeWPN/MCcfuWF0Ezbw==", - "dev": true - }, - "figures": { + "node_modules/figures": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", "dev": true, - "requires": { + "dependencies": { "escape-string-regexp": "^1.0.5" - } - }, - "file-loader": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.1.1.tgz", - "integrity": "sha512-Klt8C4BjWSXYQAfhpYYkG4qHNTna4toMHEbWrI5IuVoxbU6uiDKeKAP99R8mmbJi3lvewn/jQBOgU4+NS3tDQw==", - "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "file-uri-to-path": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/file-uri-to-path/-/file-uri-to-path-1.0.0.tgz", - "integrity": "sha512-0Zt+s3L7Vf1biwWZ29aARiVYLx7iMGnEUl9x33fbB/j3jR81u/O2LbqK+Bm1CDSNDKVtJ/YjwY7TUd5SkeLQLw==", - "dev": true, - "optional": true - }, - "fill-range": { + "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", "dev": true, - "requires": { + "dependencies": { "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "finalhandler": { + "node_modules/finalhandler": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.1.2.tgz", "integrity": "sha512-aAWcW57uxVNrQZqFXjITpW3sIUQmHGG3qSb9mUah9MgMC4NeWhNOlNjXEYq3HjRAvL6arUviZGGJsBg6z0zsWA==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", @@ -6774,5403 +7427,4960 @@ "statuses": "~1.5.0", "unpipe": "~1.0.0" }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "ms": "2.0.0" } }, - "find-cache-dir": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.1.tgz", - "integrity": "sha512-t2GDMt3oGC/v+BMwzmllWDuJF/xcDtE5j/fCGbqDD7OLuJkj0cfh1YSA5VKPvwMeLFLNDBkwOKZ2X85jGLVftQ==", + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", "dev": true, - "requires": { + "dependencies": { "commondir": "^1.0.1", "make-dir": "^3.0.2", "pkg-dir": "^4.1.0" }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-cache-dir/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/find-cache-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, "dependencies": { - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pkg-dir": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", - "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", - "dev": true, - "requires": { - "find-up": "^4.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "find-parent-dir": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/find-parent-dir/-/find-parent-dir-0.3.0.tgz", - "integrity": "sha1-M8RLQpqysvBkYpnF+fcY83b/jVQ=", + "node_modules/flatted": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", + "integrity": "sha512-5nqDSxl8nn5BSNxyR3n4I6eDmbolI6WT+QqR547RwxQapgjQBmtktdP+HTBb/a/zLsbzERTONyUB5pefh5TtjQ==", "dev": true }, - "find-up": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-3.0.0.tgz", - "integrity": "sha512-1yD6RmLI1XBfxugvORwlck6f75tYL+iR0jqwsOrOxMZyGYqUuDhJ0l4AXdO1iX/FTs9cBAMEk1gWSEx1kSbylg==", + "node_modules/follow-redirects": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", + "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==", "dev": true, - "requires": { - "locate-path": "^3.0.0" + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" } }, - "flatted": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/flatted/-/flatted-2.0.2.tgz", - "integrity": "sha512-r5wGx7YeOwNWNlCA0wQ86zKyDLMQr+/RB8xy74M4hTphfmjlijTSSXGuH8rnvKZnfT9i+75zmd8jcKdMR4O6jA==", - "dev": true + "node_modules/foreground-child": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/foreground-child/-/foreground-child-3.1.1.tgz", + "integrity": "sha512-TMKDUnIte6bfb5nWv7V/caI169OHgvwjb7V4WkeUvbQQdjr5rWKqHFiKWb/fcOwB+CzBT+qbWjvj+DVwRskpIg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.0", + "signal-exit": "^4.0.1" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "flush-write-stream": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/flush-write-stream/-/flush-write-stream-1.1.1.tgz", - "integrity": "sha512-3Z4XhFZ3992uIq0XOqb9AreonueSYphE6oYbpt5+3u06JWklbsPkNv3ZKkP9Bz/r+1MWCaMoSQ28P85+1Yc77w==", + "node_modules/foreground-child/node_modules/signal-exit": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-4.0.1.tgz", + "integrity": "sha512-uUWsN4aOxJAS8KOuf3QMyFtgm1pkb6I+KRZbRF/ghdf5T7sM+B1lLLzPDxswUjkmHyxQAVzEgG35E3NzDM9GVw==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "readable-stream": "^2.3.6" + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "follow-redirects": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", - "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==", - "dev": true - }, - "for-in": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/for-in/-/for-in-1.0.2.tgz", - "integrity": "sha1-gQaNKVqBQuwKxybG4iAMMPttXoA=", - "dev": true - }, - "forever-agent": { + "node_modules/forever-agent": { "version": "0.6.1", "resolved": "https://registry.npmjs.org/forever-agent/-/forever-agent-0.6.1.tgz", "integrity": "sha1-+8cfDEGt6zf5bFd60e1C2P2sypE=", - "dev": true + "dev": true, + "engines": { + "node": "*" + } }, - "form-data": { + "node_modules/form-data": { "version": "2.3.3", "resolved": "https://registry.npmjs.org/form-data/-/form-data-2.3.3.tgz", "integrity": "sha512-1lLKB2Mu3aGP1Q/2eCOx0fNbRMe7XdwktwOruhfqqd0rIJWwN4Dh+E3hrPSlDCXnSR7UtZ1N38rVXm+6+MEhJQ==", "dev": true, - "requires": { + "dependencies": { "asynckit": "^0.4.0", "combined-stream": "^1.0.6", "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 0.12" } }, - "forwarded": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.1.2.tgz", - "integrity": "sha1-mMI9qxF1ZXuMBXPozszZGw/xjIQ=", - "dev": true + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "fragment-cache": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/fragment-cache/-/fragment-cache-0.2.1.tgz", - "integrity": "sha1-QpD60n8T6Jvn8zeZxrxaCr//DRk=", + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", "dev": true, - "requires": { - "map-cache": "^0.2.2" + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" } }, - "fresh": { + "node_modules/fresh": { "version": "0.5.2", "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", - "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=", - "dev": true - }, - "from2": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/from2/-/from2-2.3.0.tgz", - "integrity": "sha1-i/tVAr3kpNNs/e6gB/zKIdfjgq8=", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", "dev": true, - "requires": { - "inherits": "^2.0.1", - "readable-stream": "^2.0.0" + "engines": { + "node": ">= 0.6" } }, - "fs-extra": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-4.0.2.tgz", - "integrity": "sha1-+RcExT0bRh+JNFKwwwfZmXZHq2s=", + "node_modules/fs-extra": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", + "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", "dev": true, - "requires": { - "graceful-fs": "^4.1.2", + "dependencies": { + "graceful-fs": "^4.2.0", "jsonfile": "^4.0.0", "universalify": "^0.1.0" + }, + "engines": { + "node": ">=6 <7 || >=8" } }, - "fs-minipass": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", - "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", + "node_modules/fs-minipass": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-3.0.2.tgz", + "integrity": "sha512-2GAfyfoaCDRrM6jaOS3UsBts8yJ55VioXdWcOL7dK9zdAuKT71+WBA4ifnNYqVjYv+4SsPxjK0JT4yIIn4cA/g==", "dev": true, - "requires": { - "minipass": "^3.0.0" + "dependencies": { + "minipass": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "fs-write-stream-atomic": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/fs-write-stream-atomic/-/fs-write-stream-atomic-1.0.10.tgz", - "integrity": "sha1-tH31NJPvkR33VzHnCp3tAYnbQMk=", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "iferr": "^0.1.5", - "imurmurhash": "^0.1.4", - "readable-stream": "1 || 2" - } + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true }, - "fs.realpath": { + "node_modules/fs.realpath": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", "integrity": "sha1-FQStJSMVjKpA20onh8sBQRmU6k8=", "dev": true }, - "fsevents": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.1.3.tgz", - "integrity": "sha512-Auw9a4AxqWpa9GUfj370BMPzzyncfBABW8Mab7BGWBYDj4Isgq+cDKtx0i6u9jcX9pQDnswsaaOTgTmA5pEjuQ==", + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", "dev": true, - "optional": true + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } }, - "function-bind": { + "node_modules/function-bind": { "version": "1.1.1", "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, - "genfun": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/genfun/-/genfun-5.0.0.tgz", - "integrity": "sha512-KGDOARWVga7+rnB3z9Sd2Letx515owfk0hSxHGuqjANb1M+x2bGZGqHLiozPsYMdM2OubeMni/Hpwmjq6qIUhA==", - "dev": true + "node_modules/gauge": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", + "integrity": "sha512-f9m+BEN5jkg6a0fZjleidjN51VE1X+mPFQ2DJ0uv1V39oCLCbsGe6yjbBnp7eK7z/+GAon99a3nHuqbuuthyPg==", + "dev": true, + "dependencies": { + "aproba": "^1.0.3 || ^2.0.0", + "color-support": "^1.1.3", + "console-control-strings": "^1.1.0", + "has-unicode": "^2.0.1", + "signal-exit": "^3.0.7", + "string-width": "^4.2.3", + "strip-ansi": "^6.0.1", + "wide-align": "^1.1.5" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } }, - "gensync": { + "node_modules/gensync": { "version": "1.0.0-beta.2", "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6.9.0" + } }, - "get-caller-file": { + "node_modules/get-caller-file": { "version": "2.0.5", "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", - "dev": true + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } }, - "get-intrinsic": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.0.1.tgz", - "integrity": "sha512-ZnWP+AmS1VUaLgTRy47+zKtjTxz+0xMpx3I52i+aalBK1QP19ggLF3Db89KJX7kjfOfP2eoa01qc++GwPgufPg==", + "node_modules/get-intrinsic": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.2.0.tgz", + "integrity": "sha512-L049y6nFOuom5wGyRc3/gdTLO94dySVKRACj1RmJZBQXlbTMhtNIgkWkUHq+jYmZvKf14EW1EoJnnjbmoHij0Q==", "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.1", "has": "^1.0.3", - "has-symbols": "^1.0.1" + "has-symbols": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "get-stream": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-4.1.0.tgz", - "integrity": "sha512-GMat4EJ5161kIy2HevLlr4luNjBgvmj413KaQA7jt4V8B4RDsfpHk7WQ9GVqfYyyx8OS/L66Kox+rJRNklLK7w==", + "node_modules/get-package-type": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/get-package-type/-/get-package-type-0.1.0.tgz", + "integrity": "sha512-pjzuKtY64GYfWizNAJ0fr9VqttZkNiK2iS430LtIHzjBEr6bX8Am2zm4sW4Ro5wjWW5cAlRL1qAMTcXbjNAO2Q==", "dev": true, - "requires": { - "pump": "^3.0.0" + "engines": { + "node": ">=8.0.0" } }, - "get-value": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/get-value/-/get-value-2.0.6.tgz", - "integrity": "sha1-3BXKHGcjh8p2vTesCjlbogQqLCg=", - "dev": true + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "getpass": { + "node_modules/getpass": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/getpass/-/getpass-0.1.7.tgz", "integrity": "sha1-Xv+OPmhNVprkyysSgmBOi6YhSfo=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0" } }, - "glob": { - "version": "7.1.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.3.tgz", - "integrity": "sha512-vcfuiIxogLV4DlGBHIUOwI0IbrJ8HWPc4MU7HzviGeNho/UJDfi6B5p3sHeWIQ0KGIU0Jpxi5ZHxemQfLkkAwQ==", + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "requires": { + "dependencies": { "fs.realpath": "^1.0.0", "inflight": "^1.0.4", "inherits": "2", - "minimatch": "^3.0.4", + "minimatch": "^3.1.1", "once": "^1.3.0", "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "glob-parent": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.1.tgz", - "integrity": "sha512-FnI+VGOpnlGHWZxthPGR+QhR78fuiK0sNLkHQv+bL9fQi57lNNdquIbna/WrfROrolq8GK5Ek6BiMwqL/voRYQ==", + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", "dev": true, - "requires": { + "dependencies": { "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/glob/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "globals": { + "node_modules/globals": { "version": "11.12.0", "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "globby": { - "version": "11.0.1", - "resolved": "https://registry.npmjs.org/globby/-/globby-11.0.1.tgz", - "integrity": "sha512-iH9RmgwCmUJHi2z5o2l3eTtGBtXek1OYlHrbcxOYugyHLmAsZrPj43OtHThd62Buh/Vv6VyCBD2bdyWcGNQqoQ==", + "node_modules/globby": { + "version": "13.1.4", + "resolved": "https://registry.npmjs.org/globby/-/globby-13.1.4.tgz", + "integrity": "sha512-iui/IiiW+QrJ1X1hKH5qwlMQyv34wJAYwH1vrf8b9kBA4sNiif3gKsMHa+BrdnOpEudWjpotfa7LrTzB1ERS/g==", "dev": true, - "requires": { - "array-union": "^2.1.0", + "dependencies": { "dir-glob": "^3.0.1", - "fast-glob": "^3.1.1", - "ignore": "^5.1.4", - "merge2": "^1.3.0", - "slash": "^3.0.0" + "fast-glob": "^3.2.11", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^4.0.0" + }, + "engines": { + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "graceful-fs": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.0.tgz", - "integrity": "sha512-jpSvDPV4Cq/bgtpndIWbI5hmYxhQGHPC4d4cqBPb4DLniCfhJokdXhwhaDuLBGLQdvvRum/UiX6ECVIPvDXqdg==", + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, - "handle-thing": { + "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", "dev": true }, - "har-schema": { + "node_modules/har-schema": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/har-schema/-/har-schema-2.0.0.tgz", "integrity": "sha1-qUwiJOvKwEeCoNkDVSHyRzW37JI=", - "dev": true + "dev": true, + "engines": { + "node": ">=4" + } }, - "har-validator": { + "node_modules/har-validator": { "version": "5.1.3", "resolved": "https://registry.npmjs.org/har-validator/-/har-validator-5.1.3.tgz", "integrity": "sha512-sNvOCzEQNr/qrvJgc3UG/kD4QtlHycrzwS+6mfTrrSq97BvaYcPZZI1ZSqGSPR73Cxn4LKTD4PttRwfU7jWq5g==", + "deprecated": "this library is no longer supported", "dev": true, - "requires": { + "dependencies": { "ajv": "^6.5.5", "har-schema": "^2.0.0" + }, + "engines": { + "node": ">=6" } }, - "has": { + "node_modules/has": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", "dev": true, - "requires": { + "dependencies": { "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" } }, - "has-ansi": { + "node_modules/has-ansi": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/has-ansi/-/has-ansi-2.0.0.tgz", "integrity": "sha1-NPUEnOHs3ysGSa8+8k5F7TVBbZE=", "dev": true, - "requires": { + "dependencies": { "ansi-regex": "^2.0.0" }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - } + "engines": { + "node": ">=0.10.0" } }, - "has-binary2": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/has-binary2/-/has-binary2-1.0.3.tgz", - "integrity": "sha512-G1LWKhDSvhGeAQ8mPVQlqNcOB2sJdwATtZKl2pDKKHfpf/rYj24lkinxf69blJbnsvtqqNU+L3SL50vzZhXOnw==", + "node_modules/has-ansi/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", "dev": true, - "requires": { - "isarray": "2.0.1" - }, - "dependencies": { - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - } + "engines": { + "node": ">=0.10.0" } }, - "has-cors": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/has-cors/-/has-cors-1.1.0.tgz", - "integrity": "sha1-XkdHk/fqmEPRu5nCPu9J/xJv/zk=", - "dev": true - }, - "has-flag": { + "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", "integrity": "sha1-tdRU3CGZriJWmfNGfloH87lVuv0=", - "dev": true - }, - "has-symbols": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.1.tgz", - "integrity": "sha512-PLcsoqu++dmEIZB+6totNFKq/7Do+Z0u4oT0zKOJNl3lYK6vGwwu2hjHs+68OEZbTjiUE9bgOABXbP/GvrS0Kg==", - "dev": true - }, - "has-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-1.0.0.tgz", - "integrity": "sha1-GLKB2lhbHFxR3vJMkw7SmgvmsXc=", "dev": true, - "requires": { - "get-value": "^2.0.6", - "has-values": "^1.0.0", - "isobject": "^3.0.0" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "has-values": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-1.0.0.tgz", - "integrity": "sha1-lbC2P+whRmGab+V/51Yo1aOe/k8=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "kind-of": "^4.0.0" - }, - "dependencies": { - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "kind-of": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-4.0.0.tgz", - "integrity": "sha1-IIE989cSkosgc3hpGkUGb65y3Vc=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "engines": { + "node": ">=4" } }, - "hash-base": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", - "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", "dev": true, - "requires": { - "inherits": "^2.0.4", - "readable-stream": "^3.6.0", - "safe-buffer": "^5.2.0" + "engines": { + "node": ">= 0.4" }, - "dependencies": { - "inherits": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", - "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", - "dev": true - }, - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "hash.js": { - "version": "1.1.7", - "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", - "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "node_modules/has-unicode": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", + "integrity": "sha512-8Rf9Y83NBReMnx0gFzA8JImQACstCYWUplepDa9xprwwtmgEZUF0h/i5xSA625zB/I37EtrswSST6OXxwaaIJQ==", + "dev": true + }, + "node_modules/hdr-histogram-js": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/hdr-histogram-js/-/hdr-histogram-js-2.0.3.tgz", + "integrity": "sha512-Hkn78wwzWHNCp2uarhzQ2SGFLU3JY8SBDDd3TAABK4fc30wm+MuPOrg5QVFVfkKOQd6Bfz3ukJEI+q9sXEkK1g==", "dev": true, - "requires": { - "inherits": "^2.0.3", - "minimalistic-assert": "^1.0.1" + "dependencies": { + "@assemblyscript/loader": "^0.10.1", + "base64-js": "^1.2.0", + "pako": "^1.0.3" } }, - "hex-color-regex": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/hex-color-regex/-/hex-color-regex-1.1.0.tgz", - "integrity": "sha512-l9sfDFsuqtOqKDsQdqrMRk0U85RZc0RtOR9yPI7mRVOa4FsR/BVnZ0shmQRM96Ji99kYZP/7hn1cedc1+ApsTQ==", + "node_modules/hdr-histogram-percentiles-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/hdr-histogram-percentiles-obj/-/hdr-histogram-percentiles-obj-3.0.0.tgz", + "integrity": "sha512-7kIufnBqdsBGcSZLPJwqHT3yhk1QTsSlFsVD3kx5ixH/AlgBs9yM1q6DPhXZ8f8gtdqgh7N7/5btRLpQsS2gHw==", "dev": true }, - "hmac-drbg": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", - "integrity": "sha1-0nRXAQJabHdabFRXk+1QL8DGSaE=", + "node_modules/hosted-git-info": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-6.1.1.tgz", + "integrity": "sha512-r0EI+HBMcXadMrugk0GCQ+6BQV39PiWAZVfq7oIckeGiN7sjRGyQxPdft3nQekFTCQbYxLBH+/axZMeH8UX6+w==", "dev": true, - "requires": { - "hash.js": "^1.0.3", - "minimalistic-assert": "^1.0.0", - "minimalistic-crypto-utils": "^1.0.1" + "dependencies": { + "lru-cache": "^7.5.1" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "hosted-git-info": { - "version": "3.0.7", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-3.0.7.tgz", - "integrity": "sha512-fWqc0IcuXs+BmE9orLDyVykAG9GJtGLGuZAAqgcckPgv5xad4AcXGIv8galtQvlwutxSlaMcdw7BUtq2EIvqCQ==", + "node_modules/hosted-git-info/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", "dev": true, - "requires": { - "lru-cache": "^6.0.0" + "engines": { + "node": ">=12" } }, - "hpack.js": { + "node_modules/hpack.js": { "version": "2.1.6", "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", - "integrity": "sha1-h3dMCUnlE/QuhFdbPEVoH63ioLI=", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", "dev": true, - "requires": { + "dependencies": { "inherits": "^2.0.1", "obuf": "^1.0.0", "readable-stream": "^2.0.1", "wbuf": "^1.1.0" } }, - "hsl-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsl-regex/-/hsl-regex-1.0.0.tgz", - "integrity": "sha1-1JMwx4ntgZ4nakwNJy3/owsY/m4=", - "dev": true - }, - "hsla-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/hsla-regex/-/hsla-regex-1.0.0.tgz", - "integrity": "sha1-wc56MWjIxmFAM6S194d/OyJfnDg=", - "dev": true - }, - "html-comment-regex": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/html-comment-regex/-/html-comment-regex-1.1.2.tgz", - "integrity": "sha512-P+M65QY2JQ5Y0G9KKdlDpo0zK+/OHptU5AaBwUfAIDJZk1MYf32Frm84EcOytfJE0t5JvkAnKlmjsXDnWzCJmQ==", - "dev": true - }, - "html-entities": { - "version": "1.3.1", - "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-1.3.1.tgz", - "integrity": "sha512-rhE/4Z3hIhzHAUKbW8jVcCyuT5oJCXXqhN/6mXXVCpzTmvJnoH2HL/bt3EZ6p55jbFJBeAe1ZNpL5BugLujxNA==", + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", "dev": true }, - "html-escaper": { + "node_modules/html-escaper": { "version": "2.0.2", "resolved": "https://registry.npmjs.org/html-escaper/-/html-escaper-2.0.2.tgz", "integrity": "sha512-H2iMtd0I4Mt5eYiapRdIDjp+XzelXQ0tFE4JS7YFwFevXXMmOp9myNrUvCg0D6ws8iqkRPBfKHgbwig1SmlLfg==", "dev": true }, - "http-cache-semantics": { - "version": "3.8.1", - "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-3.8.1.tgz", - "integrity": "sha512-5ai2iksyV8ZXmnZhHH4rWPoxxistEexSi5936zIQ1bnNTW5VnA85B6P/VpXiRM017IgRvb2kKo1a//y+0wSp3w==", + "node_modules/http-cache-semantics": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/http-cache-semantics/-/http-cache-semantics-4.1.1.tgz", + "integrity": "sha512-er295DKPVsV82j5kw1Gjt+ADA/XYHsajl82cGNQG2eyoPkvgUhX+nDIyelzhIWbbsXP39EHcI6l5tYs2FYqYXQ==", "dev": true }, - "http-deceiver": { + "node_modules/http-deceiver": { "version": "1.2.7", "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", - "integrity": "sha1-+nFolEq5pRnTN8sL7HKE3D5yPYc=", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", "dev": true }, - "http-errors": { - "version": "1.7.2", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.7.2.tgz", - "integrity": "sha512-uUQBt3H/cSIVfch6i1EuPNy/YsRSOUBXTVfZ+yR7Zjez3qjBz6i9+i4zjNaoqcoFVI4lQJ5plg63TvGfRSDCRg==", + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.1", - "statuses": ">= 1.5.0 < 2", - "toidentifier": "1.0.0" + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-errors/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" } }, - "http-proxy": { + "node_modules/http-parser-js": { + "version": "0.5.8", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.8.tgz", + "integrity": "sha512-SGeBX54F94Wgu5RH3X5jsDtf4eHyRogWX1XGT3b4HuW3tQPM4AaBzoUji/4AAJNXCEOWZ5O0DgZmJw1947gD5Q==", + "dev": true + }, + "node_modules/http-proxy": { "version": "1.18.1", "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", "dev": true, - "requires": { + "dependencies": { "eventemitter3": "^4.0.0", "follow-redirects": "^1.0.0", "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" } }, - "http-proxy-agent": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-2.1.0.tgz", - "integrity": "sha512-qwHbBLV7WviBl0rQsOzH6o5lwyOIvwp/BdFnvVxXORldu5TmjFfjzBcWUWS5kWAZhmv+JtiDhSuQCp4sBfbIgg==", - "dev": true, - "requires": { - "agent-base": "4", - "debug": "3.1.0" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - } + "node_modules/http-proxy-agent": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/http-proxy-agent/-/http-proxy-agent-5.0.0.tgz", + "integrity": "sha512-n2hY8YdoRE1i7r6M0w9DIw5GgZN0G25P8zLCRQ8rjXtTU3vsNFBI/vWK/UIeE6g5MUUz6avwAPXmL6Fy9D/90w==", + "dev": true, + "dependencies": { + "@tootallnate/once": "2", + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "http-proxy-middleware": { - "version": "0.19.1", - "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-0.19.1.tgz", - "integrity": "sha512-yHYTgWMQO8VvwNS22eLLloAkvungsKdKTLO8AJlftYIKNfJr3GK3zK0ZCfzDDGUBttdGc8xFy1mCitvNKQtC3Q==", - "dev": true, - "requires": { - "http-proxy": "^1.17.0", - "is-glob": "^4.0.0", - "lodash": "^4.17.11", - "micromatch": "^3.1.10" - }, - "dependencies": { - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true } } }, - "http-signature": { + "node_modules/http-signature": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/http-signature/-/http-signature-1.2.0.tgz", "integrity": "sha1-muzZJRFHcvPZW2WmCruPfBj7rOE=", "dev": true, - "requires": { + "dependencies": { "assert-plus": "^1.0.0", "jsprim": "^1.2.2", "sshpk": "^1.7.0" + }, + "engines": { + "node": ">=0.8", + "npm": ">=1.3.7" } }, - "https-browserify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", - "integrity": "sha1-7AbBDgo0wPL68Zn3/X/Hj//QPHM=", - "dev": true - }, - "https-proxy-agent": { + "node_modules/https-proxy-agent": { "version": "2.2.4", "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-2.2.4.tgz", "integrity": "sha512-OmvfoQ53WLjtA9HeYP9RNrWMJzzAz1JGaSFr1nijg0PVR1JaD/xbJq1mdEIIlxGpXp9eSe/O2LgU9DJmTPd0Eg==", "dev": true, - "requires": { + "dependencies": { "agent-base": "^4.3.0", "debug": "^3.1.0" }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/https-proxy-agent/node_modules/agent-base": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", + "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", + "dev": true, "dependencies": { - "agent-base": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.3.0.tgz", - "integrity": "sha512-salcGninV0nPrwpGNn4VTXBb1SOuXQBiqbrNXoeizJsHrsL6ERFM2Ne3JUSBWRE6aeNJI2ROP/WEEIDUiDe3cg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - }, - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "es6-promisify": "^5.0.0" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/https-proxy-agent/node_modules/debug": { + "version": "3.2.6", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", + "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", + "deprecated": "Debug versions >=3.2.0 <3.2.7 || >=4 <4.3.1 have a low-severity ReDos regression when used in a Node.js environment. It is recommended you upgrade to 3.2.7 or 4.3.1. (https://github.com/visionmedia/debug/issues/797)", + "dev": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/https-proxy-agent/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" } }, - "humanize-ms": { + "node_modules/humanize-ms": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/humanize-ms/-/humanize-ms-1.2.1.tgz", - "integrity": "sha1-xG4xWaKT9riW2ikxbYtv6Lt5u+0=", + "integrity": "sha512-Fl70vYtsAFb/C06PTS9dZBo7ihau+Tu/DNCk/OyHhea07S+aeMWpFFkUaXRa8fI+ScZbEI8dfSxwY7gxZ9SAVQ==", "dev": true, - "requires": { + "dependencies": { "ms": "^2.0.0" } }, - "iconv-lite": { + "node_modules/iconv-lite": { "version": "0.4.24", "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", "dev": true, - "requires": { + "dependencies": { "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" } }, - "icss-utils": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.0.0.tgz", - "integrity": "sha512-aF2Cf/CkEZrI/vsu5WI/I+akFgdbwQHVE9YRZxATrhH4PVIe6a3BIjwjEcW+z+jP/hNh+YvM3lAAn1wJQ6opSg==", - "dev": true + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "ieee754": { + "node_modules/ieee754": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", - "dev": true + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "iferr": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/iferr/-/iferr-0.1.5.tgz", - "integrity": "sha1-xg7taebY/bazEEofy8ocGS3FtQE=", - "dev": true + "node_modules/ignore": { + "version": "5.2.4", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.4.tgz", + "integrity": "sha512-MAb38BcSbH0eHNBxn7ql2NH/kX33OkB3lZ1BNdh7ENeRChHTYsTvWrMubiIAMNS2llXEEgZ1MUOBtXChP3kaFQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/ignore-walk": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-6.0.3.tgz", + "integrity": "sha512-C7FfFoTA+bI10qfeydT8aZbvr91vAEU+2W5BZUlzPec47oNb07SsOfwYrtxuvOYdUApPP/Qlh4DtAO51Ekk2QA==", + "dev": true, + "dependencies": { + "minimatch": "^9.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "ignore": { - "version": "5.1.8", - "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.1.8.tgz", - "integrity": "sha512-BMpfD7PpiETpBl/A6S498BaIJ6Y/ABT93ETbby2fP00v4EbvPBXWEoaR1UBPKs3iR53pJY7EtZk5KACI57i1Uw==", - "dev": true + "node_modules/ignore-walk/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } }, - "ignore-walk": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/ignore-walk/-/ignore-walk-3.0.3.tgz", - "integrity": "sha512-m7o6xuOaT1aqheYHKf8W6J5pYH85ZI9w077erOzLje3JsB1gkafkAhHHY19dqjulgIZHFm32Cp5uNZgcQqdJKw==", + "node_modules/ignore-walk/node_modules/minimatch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", "dev": true, - "requires": { - "minimatch": "^3.0.4" + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "image-size": { + "node_modules/image-size": { "version": "0.5.5", "resolved": "https://registry.npmjs.org/image-size/-/image-size-0.5.5.tgz", - "integrity": "sha1-Cd/Uq50g4p6xw+gLiZA3jfnjy5w=", + "integrity": "sha512-6TDAlDPZxUFCv+fuOkIoXT/V/f3Qbq8e37p+YOiYrUv3v9cc3/6x78VdfPgFVaB9dZYeLUfKgHRebpkm/oP2VQ==", "dev": true, - "optional": true + "optional": true, + "bin": { + "image-size": "bin/image-size.js" + }, + "engines": { + "node": ">=0.10.0" + } }, - "immediate": { + "node_modules/immediate": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", "integrity": "sha1-nbHb0Pr43m++D13V5Wu2BigN5ps=", "dev": true }, - "import-fresh": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-2.0.0.tgz", - "integrity": "sha1-2BNVwVYS04bGH53dOSLUMEgipUY=", + "node_modules/immutable": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.3.0.tgz", + "integrity": "sha512-0AOCmOip+xgJwEVTQj1EfiDDOkPmuyllDuTuEX+DDXUgapLAsBIfkg3sxCYyCEA8mQqZrrxPUGjcOQ2JS3WLkg==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", "dev": true, - "requires": { - "caller-path": "^2.0.0", - "resolve-from": "^3.0.0" + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "import-local": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/import-local/-/import-local-2.0.0.tgz", - "integrity": "sha512-b6s04m3O+s3CGSbqDIyP4R6aAwAeYlVq9+WUWep6iHa8ETRf9yei1U48C5MmfJmV9AiLYYBKPMq/W+/WRpQmCQ==", + "node_modules/import-fresh/node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", "dev": true, - "requires": { - "pkg-dir": "^3.0.0", - "resolve-cwd": "^2.0.0" + "engines": { + "node": ">=4" } }, - "imurmurhash": { + "node_modules/imurmurhash": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/imurmurhash/-/imurmurhash-0.1.4.tgz", - "integrity": "sha1-khi5srkoojixPcT7a21XbyMUU+o=", - "dev": true + "integrity": "sha512-JmXMZ6wuvDmLiHEml9ykzqO6lwFbof0GG4IkcGaENdCRDDmMVnny7s5HsIgHCbaq0w2MyPhDqkhTUgS2LU2PHA==", + "dev": true, + "engines": { + "node": ">=0.8.19" + } }, - "indent-string": { + "node_modules/indent-string": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/indent-string/-/indent-string-4.0.0.tgz", "integrity": "sha512-EdDDZu4A2OyIK7Lr/2zG+w5jmbuk1DVBnEwREQvBzspBJkCEbRa8GxU1lghYcaGJCnRWibjDXlq779X1/y5xwg==", - "dev": true - }, - "indexes-of": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/indexes-of/-/indexes-of-1.0.1.tgz", - "integrity": "sha1-8w9xbI4r00bHtn0985FVZqfAVgc=", - "dev": true - }, - "indexof": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/indexof/-/indexof-0.0.1.tgz", - "integrity": "sha1-gtwzbSMrkGIXnQWrMpOmYFn9Q10=", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "infer-owner": { + "node_modules/infer-owner": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/infer-owner/-/infer-owner-1.0.4.tgz", "integrity": "sha512-IClj+Xz94+d7irH5qRyfJonOdfTzuDaifE6ZPWfx0N0+/ATZCbuTPq2prFl526urkQd90WyUKIh1DfBQ2hMz9A==", "dev": true }, - "inflight": { + "node_modules/inflight": { "version": "1.0.6", "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", "integrity": "sha1-Sb1jMdfQLQwJvJEKEHW6gWW1bfk=", "dev": true, - "requires": { + "dependencies": { "once": "^1.3.0", "wrappy": "1" } }, - "inherits": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", - "integrity": "sha1-Yzwsg+PaQqUC9SRmAiSA9CCCYd4=", + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==", "dev": true }, - "ini": { + "node_modules/ini": { "version": "1.3.5", "resolved": "https://registry.npmjs.org/ini/-/ini-1.3.5.tgz", "integrity": "sha512-RZY5huIKCMRWDUqZlEi72f/lmXKMvuszcMBduliQ3nnWbx9X/ZBQO7DijMEYS9EhHBb2qacRUMtC7svLwe0lcw==", - "dev": true + "deprecated": "Please update to ini >=1.3.6 to avoid a prototype pollution issue", + "dev": true, + "engines": { + "node": "*" + } }, - "injection-js": { + "node_modules/injection-js": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/injection-js/-/injection-js-2.4.0.tgz", "integrity": "sha512-6jiJt0tCAo9zjHbcwLiPL+IuNe9SQ6a9g0PEzafThW3fOQi0mrmiJGBJvDD6tmhPh8cQHIQtCOrJuBfQME4kPA==", "dev": true, - "requires": { + "dependencies": { "tslib": "^2.0.0" } }, - "inquirer": { - "version": "7.3.3", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-7.3.3.tgz", - "integrity": "sha512-JG3eIAj5V9CwcGvuOmoo6LB9kbAYT8HXffUl6memuszlwDC/qvFAJw49XJ5NROSFNPxp3iQg1GqkFhaY/CR0IA==", + "node_modules/inquirer": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.4.tgz", + "integrity": "sha512-nn4F01dxU8VeKfq192IjLsxu0/OmMZ4Lg3xKAns148rCaXP6ntAoEkVYZThWjwON8AlzdZZi6oqnhNbxUG9hVg==", "dev": true, - "requires": { + "dependencies": { "ansi-escapes": "^4.2.1", - "chalk": "^4.1.0", + "chalk": "^4.1.1", "cli-cursor": "^3.1.0", "cli-width": "^3.0.0", "external-editor": "^3.0.3", "figures": "^3.0.0", - "lodash": "^4.17.19", + "lodash": "^4.17.21", "mute-stream": "0.0.8", + "ora": "^5.4.1", "run-async": "^2.4.0", - "rxjs": "^6.6.0", + "rxjs": "^7.5.5", "string-width": "^4.1.0", "strip-ansi": "^6.0.0", - "through": "^2.3.6" + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "dev": true, - "requires": { - "tslib": "^1.9.0" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "engines": { + "node": ">=12.0.0" } }, - "internal-ip": { + "node_modules/inquirer/node_modules/ansi-styles": { "version": "4.3.0", - "resolved": "https://registry.npmjs.org/internal-ip/-/internal-ip-4.3.0.tgz", - "integrity": "sha512-S1zBo1D6zcsyuC6PMmY5+55YMILQ9av8lotMx447Bq6SAgo/sDK6y6uUKmuYhW7eacnIhFfsPmCNYdDzsnnDCg==", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "default-gateway": "^4.2.0", - "ipaddr.js": "^1.9.0" + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "ip": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/ip/-/ip-1.1.5.tgz", - "integrity": "sha1-vd7XARQpCCjAoDnnLvJfWq7ENUo=", - "dev": true + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } }, - "ip-regex": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/ip-regex/-/ip-regex-2.1.0.tgz", - "integrity": "sha1-+ni/XS5pE8kRzp+BnuUUa7bYROk=", - "dev": true + "node_modules/inquirer/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } }, - "ipaddr.js": { - "version": "1.9.1", - "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", - "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "node_modules/inquirer/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "is-absolute-url": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-2.1.0.tgz", - "integrity": "sha1-UFMN+4T8yap9vnhS6Do3uTufKqY=", - "dev": true + "node_modules/inquirer/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "is-accessor-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-0.1.6.tgz", - "integrity": "sha1-qeEss66Nh2cn7u84Q/igiXtcmNY=", + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-arguments": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.0.4.tgz", - "integrity": "sha512-xPh0Rmt8NE65sNzvyUmWgI1tz3mKq74lGA0mL8LYZcoIzKOzDh6HmrYm3d18k60nHerC8A9Km8kYu87zfSFnLA==", + "node_modules/ip": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", + "integrity": "sha512-WKa+XuLG1A1R0UWhl2+1XQSi+fZWMsYKffMZTTYsiZaUD8k2yDAj5atimTUD2TZkyCkNEeYE5NhFZmupOGtjYQ==", "dev": true }, - "is-arrayish": { + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", - "integrity": "sha1-d8mYQFJ6qOyxqLppe4BkWnqSap0=", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, - "is-binary-path": { + "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", "dev": true, - "requires": { + "dependencies": { "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" } }, - "is-buffer": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", - "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", - "dev": true - }, - "is-callable": { - "version": "1.1.5", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.1.5.tgz", - "integrity": "sha512-ESKv5sMCJB2jnHTWZ3O5itG+O128Hsus4K4Qh1h2/cgn2vbgnLSVqfV46AeJA9D5EeeLa9w81KUXMtn34zhX+Q==", - "dev": true - }, - "is-color-stop": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-color-stop/-/is-color-stop-1.1.0.tgz", - "integrity": "sha1-z/9HGu5N1cnhWFmPvhKWe1za00U=", + "node_modules/is-builtin-module": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", + "integrity": "sha512-BSLE3HnV2syZ0FK0iMA/yUGplUeMmNz4AW5fnTunbCIqZi4vG3WjJT9FHMy5D69xmAYBHXQhJdALdpwVxV501A==", "dev": true, - "requires": { - "css-color-names": "^0.0.4", - "hex-color-regex": "^1.1.0", - "hsl-regex": "^1.0.0", - "hsla-regex": "^1.0.0", - "rgb-regex": "^1.0.1", - "rgba-regex": "^1.0.0" + "dependencies": { + "builtin-modules": "^3.3.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-core-module": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.1.0.tgz", - "integrity": "sha512-YcV7BgVMRFRua2FqQzKtTDMz8iCuLEyGKjr70q8Zm1yy2qKcurbFEd79PAdHV77oL3NrAaOVQIbMmiHQCHB7ZA==", + "node_modules/is-core-module": { + "version": "2.12.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", + "integrity": "sha512-RECHCBCd/viahWmwj6enj19sKbHfJrddi/6cBDsNTKbNq0f7VeaUkBo60BqzvPqo/W54ChS62Z5qyun7cfOMqQ==", "dev": true, - "requires": { + "dependencies": { "has": "^1.0.3" - } - }, - "is-data-descriptor": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz", - "integrity": "sha1-C17mSDiOLIYCgueT8YVv7D8wG1Y=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "is-date-object": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.2.tgz", - "integrity": "sha512-USlDT524woQ08aoZFzh3/Z6ch9Y/EWXEHQ/AaRN0SkKq4t2Jw2R2339tSXmwuVoY7LLlBCbOIlx2myP/L5zk0g==", - "dev": true - }, - "is-descriptor": { - "version": "0.1.6", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-0.1.6.tgz", - "integrity": "sha512-avDYr0SB3DwO9zsMov0gKCESFYqCnE4hq/4z3TdUlukEy5t9C0YRq7HLrsN52NAcqXKaepeCD0n+B0arnVG3Hg==", + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", "dev": true, - "requires": { - "is-accessor-descriptor": "^0.1.6", - "is-data-descriptor": "^0.1.4", - "kind-of": "^5.0.0" + "bin": { + "is-docker": "cli.js" }, - "dependencies": { - "kind-of": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-5.1.0.tgz", - "integrity": "sha512-NGEErnH6F2vUuXDh+OlbcKW7/wOcfdRHaZ7VWtqCztfHri/++YKmP51OdWeGPuqCOba6kk2OTe5d02VmTB80Pw==", - "dev": true - } + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-directory": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/is-directory/-/is-directory-0.3.1.tgz", - "integrity": "sha1-YTObbyR1/Hcv2cnYP1yFddwVSuE=", - "dev": true - }, - "is-docker": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.0.0.tgz", - "integrity": "sha512-pJEdRugimx4fBMra5z2/5iRdZ63OhYV0vr0Dwm5+xtW4D1FvRkB8hamMIhnWfyJeDdyr/aa7BDyNbtG38VxgoQ==", - "dev": true - }, - "is-extendable": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-0.1.1.tgz", - "integrity": "sha1-YrEQ4omkcUGOPsNqYX1HLjAd/Ik=", - "dev": true - }, - "is-extglob": { + "node_modules/is-extglob": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", - "integrity": "sha1-qIwCU1eR8C7TfHahueqXc8gz+MI=", - "dev": true + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "is-fullwidth-code-point": { + "node_modules/is-fullwidth-code-point": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "dev": true + "dev": true, + "engines": { + "node": ">=8" + } }, - "is-glob": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.1.tgz", - "integrity": "sha512-5G0tKtBTFImOqDnLB2hG6Bp2qcKEFduo4tZu9MT/H6NQv/ghhy30o55ufafxJ/LdH79LLs2Kfrn85TLKyA7BUg==", + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", "dev": true, - "requires": { + "dependencies": { "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "is-interactive": { + "node_modules/is-interactive": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-interactive/-/is-interactive-1.0.0.tgz", "integrity": "sha512-2HvIEKRoqS62guEC+qBjpvRubdX910WCMuJTZ+I9yvqKU2/12eSL549HMwtabb4oupdj2sMP50k+XJfB/8JE6w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-lambda": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-lambda/-/is-lambda-1.0.1.tgz", + "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, - "is-module": { + "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", - "integrity": "sha1-Mlj7afeMFNW4FdZkM2tM/7ZEFZE=", - "dev": true - }, - "is-negative-zero": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.0.tgz", - "integrity": "sha1-lVOxIbD6wohp2p7UWeIMdUN4hGE=", + "integrity": "sha512-51ypPSPCoTEIN9dy5Oy+h4pShgJmPCygKfyRCISBI+JoWT/2oJvK8QPxmwv7b/p239jXrm9M1mlQbyKJ5A152g==", "dev": true }, - "is-number": { + "node_modules/is-number": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", - "dev": true - }, - "is-obj": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-obj/-/is-obj-2.0.0.tgz", - "integrity": "sha512-drqDG3cbczxxEJRoOXcOjtdp1J/lyp1mNn0xaznRs8+muBhgQcrnbspox5X5fOw0HnMnbfDzvnEMEtqDEJEo8w==", - "dev": true - }, - "is-path-cwd": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-2.2.0.tgz", - "integrity": "sha512-w942bTcih8fdJPJmQHFzkS76NEP8Kzzvmw92cXsazb8intwLqPibPPdXf4ANdKV3rYMuuQYGIWtvz9JilB3NFQ==", - "dev": true - }, - "is-path-in-cwd": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-2.1.0.tgz", - "integrity": "sha512-rNocXHgipO+rvnP6dk3zI20RpOtrAM/kzbB258Uw5BWr3TpXi861yzjo16Dn4hUox07iw5AyeMLHWsujkjzvRQ==", "dev": true, - "requires": { - "is-path-inside": "^2.1.0" + "engines": { + "node": ">=0.12.0" } }, - "is-path-inside": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-2.1.0.tgz", - "integrity": "sha512-wiyhTzfDWsvwAW53OBWF5zuvaOGlZ6PwYxAbPVDhpm+gM09xKQGjBq/8uYN12aDvMxnAnq3dxTyoSoRNmg5YFg==", + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", "dev": true, - "requires": { - "path-is-inside": "^1.0.2" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-plain-object": { + "node_modules/is-plain-object": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", "dev": true, - "requires": { + "dependencies": { "isobject": "^3.0.1" }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } - } - }, - "is-promise": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/is-promise/-/is-promise-2.1.0.tgz", - "integrity": "sha1-eaKp7OfwlugPNtKy87wWwf9L8/o=", - "dev": true - }, - "is-reference": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/is-reference/-/is-reference-1.2.1.tgz", - "integrity": "sha512-U82MsXXiFIrjCK4otLT+o2NA2Cd2g5MLoOVXUZjIOhLurrRxpEXzI8O0KZHr3IjLvlAH1kTPYSuqer5T9ZVBKQ==", - "dev": true, - "requires": { - "@types/estree": "*" - } - }, - "is-regex": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.0.5.tgz", - "integrity": "sha512-vlKW17SNq44owv5AQR3Cq0bQPEb8+kF3UKZ2fiZNOWtztYE5i0CzCZxFDwO58qAOWtxdBRVO/V5Qin1wjCqFYQ==", - "dev": true, - "requires": { - "has": "^1.0.3" - } - }, - "is-resolvable": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-resolvable/-/is-resolvable-1.1.0.tgz", - "integrity": "sha512-qgDYXFSR5WvEfuS5dMj6oTMEbrrSaM0CrFk2Yiq/gXnBvD9pMa2jGXxyhGLfvhZpuMZe18CJpFxAt3CRs42NMg==", - "dev": true - }, - "is-stream": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-1.1.0.tgz", - "integrity": "sha1-EtSj3U5o4Lec6428hBc66A2RykQ=", - "dev": true - }, - "is-svg": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-svg/-/is-svg-3.0.0.tgz", - "integrity": "sha512-gi4iHK53LR2ujhLVVj+37Ykh9GLqYHX6JOVXbLAucaG/Cqw9xwdFOjDM2qeifLs1sF1npXXFvDu0r5HNgCMrzQ==", - "dev": true, - "requires": { - "html-comment-regex": "^1.1.0" + "engines": { + "node": ">=0.10.0" } }, - "is-symbol": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.3.tgz", - "integrity": "sha512-OwijhaRSgqvhm/0ZdAcXNZt9lYdKFpcRDT5ULUuYXPoT794UNOdU+gpT6Rzo7b4V2HUl/op6GqY894AZwv9faQ==", + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", "dev": true, - "requires": { - "has-symbols": "^1.0.1" + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "is-typedarray": { + "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", "integrity": "sha1-5HnICFjfDBsR3dppQPlgEfzaSpo=", "dev": true }, - "is-windows": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-windows/-/is-windows-1.0.2.tgz", - "integrity": "sha512-eXK1UInq2bPmjyX6e3VHIzMLobc4J94i4AWn+Hpq3OU5KkrRC96OAcR3PRJ/pGu6m8TRnBHP9dkXQVsT/COVIA==", - "dev": true + "node_modules/is-unicode-supported": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/is-unicode-supported/-/is-unicode-supported-0.1.0.tgz", + "integrity": "sha512-knxG2q4UC3u8stRGyAVJCOdxFmv5DZiRcdlIaAQXAbSfJya+OhopNotLQrstBhququ4ZpuKbDc/8S6mgXgPFPw==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "is-wsl": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.1.1.tgz", - "integrity": "sha512-umZHcSrwlDHo2TGMXv0DZ8dIUGunZ2Iv68YZnrmCiBPkZ4aaOhtv7pXJKeki9k3qJ3RJr0cDyitcl5wEH3AYog==", + "node_modules/is-what": { + "version": "3.14.1", + "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", + "integrity": "sha512-sNxgpk9793nzSs7bA6JQJGeIuRBQhAaNGG77kzYQgMkrID+lS6SlK07K5LaptscDlSaIgH+GPFzf+d75FVxozA==", "dev": true }, - "isarray": { + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", "integrity": "sha1-u5NdSFgsuhaMBoNJV6VKPgcSTxE=", "dev": true }, - "isbinaryfile": { - "version": "4.0.6", - "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.6.tgz", - "integrity": "sha512-ORrEy+SNVqUhrCaal4hA4fBzhggQQ+BaLntyPOdoEiwlKZW9BZiJXjg3RMiruE4tPEI3pyVPpySHQF/dKWperg==", - "dev": true + "node_modules/isbinaryfile": { + "version": "4.0.10", + "resolved": "https://registry.npmjs.org/isbinaryfile/-/isbinaryfile-4.0.10.tgz", + "integrity": "sha512-iHrqe5shvBUcFbmZq9zOQHBoeOhZJu6RQGrDpBgenUm/Am+F3JM2MgQj+rK3Z601fzrL5gLZWtAPH2OBaSVcyw==", + "dev": true, + "engines": { + "node": ">= 8.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/gjtorikian/" + } }, - "isexe": { + "node_modules/isexe": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", "integrity": "sha1-6PvzdNxVb/iUehDcsFctYz8s+hA=", "dev": true }, - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", "dev": true, - "requires": { - "isarray": "1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "isstream": { + "node_modules/isstream": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/isstream/-/isstream-0.1.2.tgz", "integrity": "sha1-R+Y/evVa+m+S4VAOaQ64uFKcCZo=", "dev": true }, - "istanbul-lib-coverage": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.0.0.tgz", - "integrity": "sha512-UiUIqxMgRDET6eR+o5HbfRYP1l0hqkWOs7vNxC/mggutCMUIhWMm8gAHb8tHlyfD3/l6rlgNA5cKdDzEAf6hEg==", - "dev": true + "node_modules/istanbul-lib-coverage": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-3.2.0.tgz", + "integrity": "sha512-eOeJ5BHCmHYvQK7xt9GkdHuzuCGS1Y6g9Gvnx3Ym33fz/HpLRYxiS0wHNr+m/MBC8B647Xt608vCDEvhl9c6Mw==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "istanbul-lib-instrument": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-4.0.3.tgz", - "integrity": "sha512-BXgQl9kf4WTCPCCpmFGoJkz/+uhvm7h7PFKUYxh7qarQd3ER33vHG//qaE8eN25l07YqZPpHXU9I09l/RD5aGQ==", + "node_modules/istanbul-lib-instrument": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/istanbul-lib-instrument/-/istanbul-lib-instrument-5.2.1.tgz", + "integrity": "sha512-pzqtp31nLv/XFOzXGuvhCb8qhjmTVo5vjVk19XE4CRlSWz0KoeJ3bw9XsA7nOp9YBf4qHjwBxkDzKcME/J29Yg==", "dev": true, - "requires": { - "@babel/core": "^7.7.5", + "dependencies": { + "@babel/core": "^7.12.3", + "@babel/parser": "^7.14.7", "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-coverage": "^3.2.0", "semver": "^6.3.0" }, - "dependencies": { - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - } + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-instrument/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" } }, - "istanbul-lib-report": { + "node_modules/istanbul-lib-report": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/istanbul-lib-report/-/istanbul-lib-report-3.0.0.tgz", "integrity": "sha512-wcdi+uAKzfiGT2abPpKZ0hSU1rGQjUQnLvtY5MpQ7QCTahD3VODhcu4wcfY1YtkGaDD5yuydOLINXsfbus9ROw==", "dev": true, - "requires": { + "dependencies": { "istanbul-lib-coverage": "^3.0.0", "make-dir": "^3.0.0", "supports-color": "^7.1.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/istanbul-lib-report/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/istanbul-lib-report/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/istanbul-lib-report/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "make-dir": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", - "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", - "dev": true, - "requires": { - "semver": "^6.0.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "istanbul-lib-source-maps": { + "node_modules/istanbul-lib-source-maps": { "version": "3.0.6", "resolved": "https://registry.npmjs.org/istanbul-lib-source-maps/-/istanbul-lib-source-maps-3.0.6.tgz", "integrity": "sha512-R47KzMtDJH6X4/YW9XTx+jrLnZnscW4VpNN+1PViSYTejLVPWv7oov+Duf8YQSPyVRUvueQqz1TcsC6mooZTXw==", "dev": true, - "requires": { + "dependencies": { "debug": "^4.1.1", "istanbul-lib-coverage": "^2.0.5", "make-dir": "^2.1.0", "rimraf": "^2.6.3", "source-map": "^0.6.1" }, - "dependencies": { - "istanbul-lib-coverage": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", - "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", - "dev": true - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/istanbul-lib-coverage": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/istanbul-lib-coverage/-/istanbul-lib-coverage-2.0.5.tgz", + "integrity": "sha512-8aXznuEPCJvGnMSRft4udDRDtb1V3pkQkMMI5LI+6HuQz5oQ4J2UFn1H82raA3qJtyOLkkwVqICBQkjnGtn5mA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/istanbul-lib-source-maps/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "istanbul-reports": { + "node_modules/istanbul-reports": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/istanbul-reports/-/istanbul-reports-3.0.2.tgz", "integrity": "sha512-9tZvz7AiR3PEDNGiV9vIouQ/EAcqMXFmkcA1CDFTwOB98OZVDL0PH9glHotf5Ugp6GCOTypfzGWI/OqjWNCRUw==", "dev": true, - "requires": { + "dependencies": { "html-escaper": "^2.0.0", "istanbul-lib-report": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/jackspeak": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jackspeak/-/jackspeak-2.2.0.tgz", + "integrity": "sha512-r5XBrqIJfwRIjRt/Xr5fv9Wh09qyhHfKnYddDlpM+ibRR20qrYActpCAgU6U+d53EOEjzkvxPMVHSlgR7leXrQ==", + "dev": true, + "dependencies": { + "@isaacs/cliui": "^8.0.2" + }, + "engines": { + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + }, + "optionalDependencies": { + "@pkgjs/parseargs": "^0.11.0" } }, - "jasmine": { + "node_modules/jasmine": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", "integrity": "sha1-awicChFXax8W3xG4AUbZHU6Lij4=", "dev": true, - "requires": { + "dependencies": { "exit": "^0.1.2", "glob": "^7.0.6", "jasmine-core": "~2.8.0" }, - "dependencies": { - "jasmine-core": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", - "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", - "dev": true - } + "bin": { + "jasmine": "bin/jasmine.js" } }, - "jasmine-core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", - "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", + "node_modules/jasmine-core": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-4.6.0.tgz", + "integrity": "sha512-O236+gd0ZXS8YAjFx8xKaJ94/erqUliEkJTDedyE7iHvv4ZVqi+q+8acJxu05/WJDKm512EUNn809In37nWlAQ==", "dev": true }, - "jasmine-spec-reporter": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-5.0.2.tgz", - "integrity": "sha512-6gP1LbVgJ+d7PKksQBc2H0oDGNRQI3gKUsWlswKaQ2fif9X5gzhQcgM5+kiJGCQVurOG09jqNhk7payggyp5+g==", + "node_modules/jasmine-spec-reporter": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/jasmine-spec-reporter/-/jasmine-spec-reporter-7.0.0.tgz", + "integrity": "sha512-OtC7JRasiTcjsaCBPtMO0Tl8glCejM4J4/dNuOJdA8lBjz4PmWjYQ6pzb0uzpBNAWJMDudYuj9OdXJWqM2QTJg==", "dev": true, - "requires": { + "dependencies": { "colors": "1.4.0" } }, - "jasminewd2": { + "node_modules/jasmine/node_modules/jasmine-core": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-2.8.0.tgz", + "integrity": "sha1-vMl5rh+f0FcB5F5S5l06XWPxok4=", + "dev": true + }, + "node_modules/jasminewd2": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/jasminewd2/-/jasminewd2-2.2.0.tgz", "integrity": "sha1-43zwsX8ZnM4jvqcbIDk5Uka07E4=", - "dev": true + "dev": true, + "engines": { + "node": ">= 6.9.x" + } }, - "jest-worker": { - "version": "26.5.0", - "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-26.5.0.tgz", - "integrity": "sha512-kTw66Dn4ZX7WpjZ7T/SUDgRhapFRKWmisVAF0Rv4Fu8SLFD7eLbqpLvbxVqYhSgaWa7I+bW7pHnbyfNsH6stug==", + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", "dev": true, - "requires": { + "dependencies": { "@types/node": "*", "merge-stream": "^2.0.0", - "supports-color": "^7.0.0" + "supports-color": "^8.0.0" }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, "dependencies": { - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" } }, - "js-tokens": { + "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", "dev": true }, - "js-yaml": { + "node_modules/js-yaml": { "version": "3.14.0", "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-3.14.0.tgz", "integrity": "sha512-/4IbIeHcD9VMHFqDR/gQ7EdZdLimOvW2DdcxFjdyyZ9NsbS+ccrXqVWDtab/lRl5AlUqmpBx8EhPaWR+OtY17A==", "dev": true, - "requires": { + "dependencies": { "argparse": "^1.0.7", "esprima": "^4.0.0" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "jsbn": { + "node_modules/jsbn": { "version": "0.1.1", "resolved": "https://registry.npmjs.org/jsbn/-/jsbn-0.1.1.tgz", "integrity": "sha1-peZUwuWi3rXyAdls77yoDA7y9RM=", "dev": true }, - "jsesc": { + "node_modules/jsesc": { "version": "2.5.2", "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", - "dev": true - }, - "json-parse-better-errors": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/json-parse-better-errors/-/json-parse-better-errors-1.0.2.tgz", - "integrity": "sha512-mrqyZKfX5EhL7hvqcV6WG1yYjnjeuYDzDhhcAAUrq8Po85NBQBJP+ZDUT75qZQ98IkUoBqdkExkukOU7Ts2wrw==", - "dev": true + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } }, - "json-parse-even-better-errors": { + "node_modules/json-parse-even-better-errors": { "version": "2.3.1", "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", "dev": true }, - "json-schema": { + "node_modules/json-schema": { "version": "0.2.3", "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.2.3.tgz", "integrity": "sha1-tIDIkuWaLwWVTOcnvT8qTogvnhM=", "dev": true }, - "json-schema-traverse": { + "node_modules/json-schema-traverse": { "version": "0.4.1", "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, - "json-stringify-safe": { + "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", "integrity": "sha1-Epai1Y/UXxmg9s4B1lcB4sc1tus=", "dev": true }, - "json3": { - "version": "3.3.3", - "resolved": "https://registry.npmjs.org/json3/-/json3-3.3.3.tgz", - "integrity": "sha512-c7/8mbUsKigAbLkD5B010BK4D9LZm7A1pNItkEwiUZRpIN66exu/e7YQWysGun+TRKaJp8MhemM+VkfWv42aCA==", - "dev": true - }, - "json5": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.1.3.tgz", - "integrity": "sha512-KXPvOm8K9IJKFM0bmdn8QXh7udDh1g/giieX0NLCaMnb4hEiVFqnop2ImTXCc5e0/oHz3LTqmHGtExn5hfMkOA==", + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", "dev": true, - "requires": { - "minimist": "^1.2.5" + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" } }, - "jsonc-parser": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-2.3.1.tgz", - "integrity": "sha512-H8jvkz1O50L3dMZCsLqiuB2tA7muqbSg1AtGEkN0leAqGjsUzDJir3Zwr02BhqdcITPg3ei3mZ+HjMocAknhhg==", + "node_modules/jsonc-parser": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.2.0.tgz", + "integrity": "sha512-gfFQZrcTc8CnKXp6Y4/CBT3fTc0OVuDofpre4aEeEpSBPV5X5v4+Vmx+8snU7RLPrNHPKSgLxGo9YuQzz20o+w==", "dev": true }, - "jsonfile": { + "node_modules/jsonfile": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-4.0.0.tgz", - "integrity": "sha1-h3Gq4HmbZAdrdmQPygWPnBDjPss=", + "integrity": "sha512-m6F1R3z8jjlf2imQHS2Qez5sjKWQzbuuhuJ/FKYFRZvPE3PuHcSMVZzfsLhGVOkfd20obL5SWEBew5ShlquNxg==", "dev": true, - "requires": { + "optionalDependencies": { "graceful-fs": "^4.1.6" } }, - "jsonparse": { + "node_modules/jsonparse": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/jsonparse/-/jsonparse-1.3.1.tgz", - "integrity": "sha1-P02uSpH6wxX3EGL4UhzCOfE2YoA=", - "dev": true + "integrity": "sha512-POQXvpdL69+CluYsillJ7SUhKvytYjW9vG/GKpnf+xP8UWgYEM/RaMzHHofbALDiKbbP1W8UEYmgGl39WkPZsg==", + "dev": true, + "engines": [ + "node >= 0.2.0" + ] }, - "jsprim": { + "node_modules/jsprim": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/jsprim/-/jsprim-1.4.1.tgz", "integrity": "sha1-MT5mvB5cwG5Di8G3SZwuXFastqI=", "dev": true, - "requires": { + "engines": [ + "node >=0.6.0" + ], + "dependencies": { "assert-plus": "1.0.0", "extsprintf": "1.3.0", "json-schema": "0.2.3", "verror": "1.10.0" } }, - "jszip": { + "node_modules/jszip": { "version": "3.5.0", "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.5.0.tgz", "integrity": "sha512-WRtu7TPCmYePR1nazfrtuF216cIVon/3GWOvHS9QR5bIwSbnxtdpma6un3jyGGNhHsKCSzn5Ypk+EkDRvTGiFA==", "dev": true, - "requires": { + "dependencies": { "lie": "~3.3.0", "pako": "~1.0.2", "readable-stream": "~2.3.6", "set-immediate-shim": "~1.0.1" } }, - "karma": { - "version": "5.0.9", - "resolved": "https://registry.npmjs.org/karma/-/karma-5.0.9.tgz", - "integrity": "sha512-dUA5z7Lo7G4FRSe1ZAXqOINEEWxmCjDBbfRBmU/wYlSMwxUQJP/tEEP90yJt3Uqo03s9rCgVnxtlfq+uDhxSPg==", + "node_modules/karma": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/karma/-/karma-6.4.2.tgz", + "integrity": "sha512-C6SU/53LB31BEgRg+omznBEMY4SjHU3ricV6zBcAe1EeILKkeScr+fZXtaI5WyDbkVowJxxAI6h73NcFPmXolQ==", "dev": true, - "requires": { + "dependencies": { + "@colors/colors": "1.5.0", "body-parser": "^1.19.0", "braces": "^3.0.2", - "chokidar": "^3.0.0", - "colors": "^1.4.0", + "chokidar": "^3.5.1", "connect": "^3.7.0", "di": "^0.0.1", "dom-serialize": "^2.2.1", - "flatted": "^2.0.2", - "glob": "^7.1.6", - "graceful-fs": "^4.2.4", + "glob": "^7.1.7", + "graceful-fs": "^4.2.6", "http-proxy": "^1.18.1", - "isbinaryfile": "^4.0.6", - "lodash": "^4.17.15", - "log4js": "^6.2.1", - "mime": "^2.4.5", + "isbinaryfile": "^4.0.8", + "lodash": "^4.17.21", + "log4js": "^6.4.1", + "mime": "^2.5.2", "minimatch": "^3.0.4", + "mkdirp": "^0.5.5", "qjobs": "^1.2.0", "range-parser": "^1.2.1", "rimraf": "^3.0.2", - "socket.io": "^2.3.0", + "socket.io": "^4.4.1", "source-map": "^0.6.1", - "tmp": "0.2.1", - "ua-parser-js": "0.7.21", - "yargs": "^15.3.1" + "tmp": "^0.2.1", + "ua-parser-js": "^0.7.30", + "yargs": "^16.1.1" + }, + "bin": { + "karma": "bin/karma" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/karma-chrome-launcher": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.2.0.tgz", + "integrity": "sha512-rE9RkUPI7I9mAxByQWkGJFXfFD6lE4gC5nPuZdobf/QdTEJI6EU4yIay/cfU/xV4ZxlM5JiTv7zWYgA64NpS5Q==", + "dev": true, + "dependencies": { + "which": "^1.2.1" + } + }, + "node_modules/karma-coverage-istanbul-reporter": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", + "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", + "dev": true, + "dependencies": { + "istanbul-lib-coverage": "^3.0.0", + "istanbul-lib-report": "^3.0.0", + "istanbul-lib-source-maps": "^3.0.6", + "istanbul-reports": "^3.0.2", + "minimatch": "^3.0.4" }, + "funding": { + "url": "https://github.com/sponsors/mattlewis92" + } + }, + "node_modules/karma-jasmine": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-5.1.0.tgz", + "integrity": "sha512-i/zQLFrfEpRyQoJF9fsCdTMOF5c2dK7C7OmsuKg2D0YSsuZSfQDiLuaiktbuio6F2wiCsZSnSnieIQ0ant/uzQ==", + "dev": true, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "graceful-fs": { - "version": "4.2.4", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.4.tgz", - "integrity": "sha512-WjKPNJF79dtJAVniUlGGWHYGz2jWxT6VhN/4m1NdkbZ2nOsEF+cI1Edgql5zCRhs/VsQYRvrXctxktVXZUkixw==", - "dev": true - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "tmp": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", - "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", - "dev": true, - "requires": { - "rimraf": "^3.0.0" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } + "jasmine-core": "^4.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "karma": "^6.0.0" + } + }, + "node_modules/karma-jasmine-html-reporter": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-2.0.0.tgz", + "integrity": "sha512-SB8HNNiazAHXM1vGEzf8/tSyEhkfxuDdhYdPBX2Mwgzt0OuF2gicApQ+uvXLID/gXyJQgvrM9+1/2SxZFUUDIA==", + "dev": true, + "peerDependencies": { + "jasmine-core": "^4.0.0", + "karma": "^6.0.0", + "karma-jasmine": "^5.0.0" + } + }, + "node_modules/karma-source-map-support": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", + "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "dev": true, + "dependencies": { + "source-map-support": "^0.5.5" + } + }, + "node_modules/karma/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/karma/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/karma/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/karma/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/karma/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs": { + "version": "16.2.0", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-16.2.0.tgz", + "integrity": "sha512-D1mvvtDG0L5ft/jGWkLpG1+m0eQxOfaBvTNELraWj22wSVUMWxZUvYgJYcKh6jGGIkJFhH4IZPQhR4TKpc8mBw==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.0", + "y18n": "^5.0.5", + "yargs-parser": "^20.2.2" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/karma/node_modules/yargs-parser": { + "version": "20.2.9", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-20.2.9.tgz", + "integrity": "sha512-y11nGElTIV+CT3Zv9t7VKl+Q3hTQoT9a1Qzezhhl6Rp21gJ/IVTW7Z3y9EWXhuUBC2Shnf+DX0antecpAwSP8w==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", + "integrity": "sha512-dhG34DXATL5hSxJbIexCft8FChFXtmskoZYnoPWjXQuebWYCNkVeV3KkGegCK9CP1oswI/vQibS2GY7Em/sJJA==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/launch-editor": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/launch-editor/-/launch-editor-2.6.0.tgz", + "integrity": "sha512-JpDCcQnyAAzZZaZ7vEiSqL690w7dAEyLao+KC96zBplnYbJS7TYNjvM3M7y3dGz+v7aIsJk3hllWuc0kWAjyRQ==", + "dev": true, + "dependencies": { + "picocolors": "^1.0.0", + "shell-quote": "^1.7.3" + } + }, + "node_modules/less": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/less/-/less-4.1.3.tgz", + "integrity": "sha512-w16Xk/Ta9Hhyei0Gpz9m7VS8F28nieJaL/VyShID7cYvP6IL5oHeL6p4TXSDJqZE/lNv0oJ2pGVjJsRkfwm5FA==", + "dev": true, + "dependencies": { + "copy-anything": "^2.0.1", + "parse-node-version": "^1.0.1", + "tslib": "^2.3.0" + }, + "bin": { + "lessc": "bin/lessc" + }, + "engines": { + "node": ">=6" + }, + "optionalDependencies": { + "errno": "^0.1.1", + "graceful-fs": "^4.1.2", + "image-size": "~0.5.0", + "make-dir": "^2.1.0", + "mime": "^1.4.1", + "needle": "^3.1.0", + "source-map": "~0.6.0" + } + }, + "node_modules/less-loader": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-11.1.0.tgz", + "integrity": "sha512-C+uDBV7kS7W5fJlUjq5mPBeBVhYpTIm5gB09APT9o3n/ILeaXVsiSFTbZpTJCJwQ/Crczfn3DmfQFwxYusWFug==", + "dev": true, + "dependencies": { + "klona": "^2.0.4" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "less": "^3.5.0 || ^4.0.0", + "webpack": "^5.0.0" + } + }, + "node_modules/less/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "optional": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/less/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/license-webpack-plugin": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", + "integrity": "sha512-771TFWFD70G1wLTC4oU2Cw4qvtmNrIw+wRvBtn+okgHl7slJVi7zfNcdmqDL72BojM30VNJ2UHylr1o77U37Jw==", + "dev": true, + "dependencies": { + "webpack-sources": "^3.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } + "webpack-sources": { + "optional": true } } }, - "karma-chrome-launcher": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/karma-chrome-launcher/-/karma-chrome-launcher-3.1.0.tgz", - "integrity": "sha512-3dPs/n7vgz1rxxtynpzZTvb9y/GIaW8xjAwcIGttLbycqoFtI7yo1NGnQi6oFTherRE+GIhCAHZC4vEqWGhNvg==", + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-3.2.1.tgz", + "integrity": "sha512-ZvFw1KWS3GVyYBYb7qkmRM/WwL2TQQBxgCK62rlvm4WpVQ23Nb4tYjApUlfjrEGvOs7KHEsmyUn75OHZrJMWPw==", + "dev": true, + "engines": { + "node": ">= 12.13.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/log-symbols": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", + "integrity": "sha512-8XPvpAA8uyhfteu8pIvQxpJZ7SYYdpUivZpGy6sFsBuKRY/7rQGavedeB8aK+Zkyq6upMFVL/9AW6vOYzfRyLg==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "is-unicode-supported": "^0.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/log-symbols/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/log-symbols/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "which": "^1.2.1" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "karma-coverage-istanbul-reporter": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/karma-coverage-istanbul-reporter/-/karma-coverage-istanbul-reporter-3.0.3.tgz", - "integrity": "sha512-wE4VFhG/QZv2Y4CdAYWDbMmcAHeS926ZIji4z+FkB2aF/EposRb6DP6G5ncT/wXhqUfAb/d7kZrNKPonbvsATw==", + "node_modules/log-symbols/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/log-symbols/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, - "requires": { - "istanbul-lib-coverage": "^3.0.0", - "istanbul-lib-report": "^3.0.0", - "istanbul-lib-source-maps": "^3.0.6", - "istanbul-reports": "^3.0.2", - "minimatch": "^3.0.4" + "engines": { + "node": ">=8" } }, - "karma-jasmine": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/karma-jasmine/-/karma-jasmine-4.0.1.tgz", - "integrity": "sha512-h8XDAhTiZjJKzfkoO1laMH+zfNlra+dEQHUAjpn5JV1zCPtOIVWGQjLBrqhnzQa/hrU2XrZwSyBa6XjEBzfXzw==", + "node_modules/log-symbols/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, - "requires": { - "jasmine-core": "^3.6.0" - }, "dependencies": { - "jasmine-core": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/jasmine-core/-/jasmine-core-3.6.0.tgz", - "integrity": "sha512-8uQYa7zJN8hq9z+g8z1bqCfdC8eoDAeVnM5sfqs7KHv9/ifoJ500m018fpFc7RDaO6SWCLCXwo/wPSNcdYTgcw==", - "dev": true - } + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "karma-jasmine-html-reporter": { - "version": "1.5.4", - "resolved": "https://registry.npmjs.org/karma-jasmine-html-reporter/-/karma-jasmine-html-reporter-1.5.4.tgz", - "integrity": "sha512-PtilRLno5O6wH3lDihRnz0Ba8oSn0YUJqKjjux1peoYGwo0AQqrWRbdWk/RLzcGlb+onTyXAnHl6M+Hu3UxG/Q==", - "dev": true + "node_modules/log4js": { + "version": "6.9.1", + "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.9.1.tgz", + "integrity": "sha512-1somDdy9sChrr9/f4UlzhdaGfDR2c/SaD2a4T7qEkG4jTS57/B3qmnjLYePwQ8cqWnUHZI0iAKxMBpCZICiZ2g==", + "dev": true, + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "flatted": "^3.2.7", + "rfdc": "^1.3.0", + "streamroller": "^3.1.5" + }, + "engines": { + "node": ">=8.0" + } }, - "karma-source-map-support": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/karma-source-map-support/-/karma-source-map-support-1.4.0.tgz", - "integrity": "sha512-RsBECncGO17KAoJCYXjv+ckIz+Ii9NCi+9enk+rq6XC81ezYkb4/RHE6CTXdA7IOJqoF3wcaLfVG0CPmE5ca6A==", + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", "dev": true, - "requires": { - "source-map-support": "^0.5.5" + "dependencies": { + "yallist": "^3.0.2" } }, - "killable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/killable/-/killable-1.0.1.tgz", - "integrity": "sha512-LzqtLKlUwirEUyl/nicirVmNiPvYs7l5n8wOPP7fyJVpUPkvCnW/vuiXGpylGUlnPDnB7311rARzAt3Mhswpjg==", - "dev": true + "node_modules/magic-string": { + "version": "0.30.0", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.0.tgz", + "integrity": "sha512-LA+31JYDJLs82r2ScLrlz1GjSgu66ZV518eyWT+S8VhyQn/JL0u9MeBOvQMGYiPk1DBiSN9DDMOcXvigJZaViQ==", + "dev": true, + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.4.13" + }, + "engines": { + "node": ">=12" + } }, - "kind-of": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", - "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", - "dev": true + "node_modules/make-dir": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", + "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "dev": true, + "dependencies": { + "pify": "^4.0.1", + "semver": "^5.6.0" + }, + "engines": { + "node": ">=6" + } }, - "klona": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.4.tgz", - "integrity": "sha512-ZRbnvdg/NxqzC7L9Uyqzf4psi1OM4Cuc+sJAkQPjO6XkQIJTNbfK2Rsmbw8fx1p2mkZdp2FZYo2+LwXYY/uwIA==", + "node_modules/make-error": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", + "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", "dev": true }, - "less": { - "version": "3.12.2", - "resolved": "https://registry.npmjs.org/less/-/less-3.12.2.tgz", - "integrity": "sha512-+1V2PCMFkL+OIj2/HrtrvZw0BC0sYLMICJfbQjuj/K8CEnlrFX6R5cKKgzzttsZDHyxQNL1jqMREjKN3ja/E3Q==", + "node_modules/make-fetch-happen": { + "version": "10.2.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-10.2.1.tgz", + "integrity": "sha512-NgOPbRiaQM10DYXvN3/hhGVI2M5MtITFryzBGxHM5p4wnFxsVCbxkrBrDsk+EZ5OB4jEOT7AjDxtdF+KVEFT7w==", "dev": true, - "requires": { - "errno": "^0.1.1", - "graceful-fs": "^4.1.2", - "image-size": "~0.5.0", - "make-dir": "^2.1.0", - "mime": "^1.4.1", - "native-request": "^1.0.5", - "source-map": "~0.6.0", - "tslib": "^1.10.0" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true, - "optional": true - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "agentkeepalive": "^4.2.1", + "cacache": "^16.1.0", + "http-cache-semantics": "^4.1.0", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-fetch": "^2.0.3", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^9.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "less-loader": { - "version": "7.0.2", - "resolved": "https://registry.npmjs.org/less-loader/-/less-loader-7.0.2.tgz", - "integrity": "sha512-7MKlgjnkCf63E3Lv6w2FvAEgLMx3d/tNBExITcanAq7ys5U8VPWT3F6xcRjYmdNfkoQ9udoVFb1r2azSiTnD6w==", + "node_modules/make-fetch-happen/node_modules/@npmcli/fs": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/@npmcli/fs/-/fs-2.1.2.tgz", + "integrity": "sha512-yOJKRvohFOaLqipNtwYB9WugyZKhC/DZC4VYPmpaCzDBrA8YpK3qHZ8/HGscMnE4GqbkLNuVcCnxkeQEdGt6LQ==", "dev": true, - "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "dependencies": { + "@gar/promisify": "^1.1.3", + "semver": "^7.3.5" }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/make-fetch-happen/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "balanced-match": "^1.0.0" } }, - "license-webpack-plugin": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-2.3.1.tgz", - "integrity": "sha512-yhqTmlYIEpZWA122lf6E0G8+rkn0AzoQ1OpzUKKs/lXUqG1plmGnwmkuuPlfggzJR5y6DLOdot/Tv00CC51CeQ==", + "node_modules/make-fetch-happen/node_modules/cacache": { + "version": "16.1.3", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-16.1.3.tgz", + "integrity": "sha512-/+Emcj9DAXxX4cwlLmRI9c166RuL3w30zp4R7Joiv2cQTtTtA+jeuCAjH3ZlGnYS3tKENSrKhAzVVP9GVyzeYQ==", "dev": true, - "requires": { - "@types/webpack-sources": "^0.1.5", - "webpack-sources": "^1.2.0" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } + "@npmcli/fs": "^2.1.0", + "@npmcli/move-file": "^2.0.0", + "chownr": "^2.0.0", + "fs-minipass": "^2.1.0", + "glob": "^8.0.1", + "infer-owner": "^1.0.4", + "lru-cache": "^7.7.1", + "minipass": "^3.1.6", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "mkdirp": "^1.0.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "rimraf": "^3.0.2", + "ssri": "^9.0.0", + "tar": "^6.1.11", + "unique-filename": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "lie": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", - "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "node_modules/make-fetch-happen/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, - "requires": { - "immediate": "~3.0.5" + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "line-column": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/line-column/-/line-column-1.0.2.tgz", - "integrity": "sha1-0lryk2tvSEkXKzEuR5LR2Ye8NKI=", + "node_modules/make-fetch-happen/node_modules/glob": { + "version": "8.1.0", + "resolved": "https://registry.npmjs.org/glob/-/glob-8.1.0.tgz", + "integrity": "sha512-r8hpEjiQEYlF2QU0df3dS+nxxSIreXQS1qRhMJM0Q5NDdR386C7jb7Hwwod8Fgiuex+k0GFjgft18yvxm5XoCQ==", "dev": true, - "requires": { - "isarray": "^1.0.0", - "isobject": "^2.0.0" + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^5.0.1", + "once": "^1.3.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "lines-and-columns": { - "version": "1.1.6", - "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.1.6.tgz", - "integrity": "sha1-HADHQ7QzzQpOgHWPe2SldEDZ/wA=", - "dev": true + "node_modules/make-fetch-happen/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } }, - "loader-runner": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-2.4.0.tgz", - "integrity": "sha512-Jsmr89RcXGIwivFY21FcRrisYZfvLMTWx5kOLc+JTxtpBOG6xML0vzbc6SEQG2FO9/4Fc3wW4LVcB5DmGflaRw==", - "dev": true + "node_modules/make-fetch-happen/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } }, - "loader-utils": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.0.tgz", - "integrity": "sha512-rP4F0h2RaWSvPEkD7BLDFQnvSf+nK+wr3ESUjNTyAGobqrijmW92zc+SO6d4p4B1wh7+B/Jg1mkQe5NYUEHtHQ==", + "node_modules/make-fetch-happen/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" } }, - "locate-path": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-3.0.0.tgz", - "integrity": "sha512-7AO748wWnIhNqAuaty2ZWHkQHRSNfPVIsPIfwEOWO22AmaoVrWavlOcMR5nzTLNYvp36X220/maaRsrec1G65A==", + "node_modules/make-fetch-happen/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "requires": { - "p-locate": "^3.0.0", - "path-exists": "^3.0.0" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "lodash": { - "version": "4.17.19", - "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.19.tgz", - "integrity": "sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ==", - "dev": true + "node_modules/make-fetch-happen/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" + } }, - "lodash.memoize": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", - "integrity": "sha1-vMbEmkKihA7Zl/Mj6tpezRguC/4=", - "dev": true + "node_modules/make-fetch-happen/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } }, - "lodash.uniq": { - "version": "4.5.0", - "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", - "integrity": "sha1-0CJTc662Uq3BvILklFM5qEJ1R3M=", - "dev": true + "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", + "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", "dev": true, - "requires": { - "chalk": "^4.0.0" - }, "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "log4js": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/log4js/-/log4js-6.3.0.tgz", - "integrity": "sha512-Mc8jNuSFImQUIateBFwdOQcmC6Q5maU0VVvdC2R6XMb66/VnT+7WS4D/0EeNMZu1YODmJe5NIn2XftCzEocUgw==", + "node_modules/make-fetch-happen/node_modules/rimraf/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, - "requires": { - "date-format": "^3.0.0", - "debug": "^4.1.1", - "flatted": "^2.0.1", - "rfdc": "^1.1.4", - "streamroller": "^2.2.4" + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "loglevel": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.7.0.tgz", - "integrity": "sha512-i2sY04nal5jDcagM3FMfG++T69GEEM8CYuOfeOIvmXzOIcwE9a/CJPR0MFM97pYMj/u10lzz7/zd7+qwhrBTqQ==", - "dev": true + "node_modules/make-fetch-happen/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "lru-cache": { + "node_modules/make-fetch-happen/node_modules/semver/node_modules/lru-cache": { "version": "6.0.0", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { + "dependencies": { "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "magic-string": { - "version": "0.25.7", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.25.7.tgz", - "integrity": "sha512-4CrMT5DOHTDk4HYDlzmwu4FVCcIYI8gauveasrdCu2IKIFOJ3f0v/8MDGJCDL9oD2ppz/Av1b0Nj345H9M+XIA==", - "dev": true, - "requires": { - "sourcemap-codec": "^1.4.4" - } - }, - "make-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-2.1.0.tgz", - "integrity": "sha512-LS9X+dc8KLxXCb8dni79fLIIUA5VyZoyjSMCwTluaXA0o27cCK0bhXkpgw+sTXVpPy/lSO57ilRixqk0vDmtRA==", + "node_modules/make-fetch-happen/node_modules/ssri": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-9.0.1.tgz", + "integrity": "sha512-o57Wcn66jMQvfHG1FlYbWeZWW/dHZhJXjpIcTfXldXEk5nz5lStPo3mK0OJQfGR3RbZUlbISexbljkJzuEj/8Q==", "dev": true, - "requires": { - "pify": "^4.0.1", - "semver": "^5.6.0" - } - }, - "make-error": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/make-error/-/make-error-1.3.5.tgz", - "integrity": "sha512-c3sIjNUow0+8swNwVpqoH4YCShKNFkMaw6oH1mNS2haDZQqkeZFlHS3dhoeEbKKmJB4vXpJucU6oH75aDYeE9g==", - "dev": true - }, - "make-fetch-happen": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-5.0.2.tgz", - "integrity": "sha512-07JHC0r1ykIoruKO8ifMXu+xEU8qOXDFETylktdug6vJDACnP+HKevOu3PXyNPzFyTSlz8vrBYlBO1JZRe8Cag==", - "dev": true, - "requires": { - "agentkeepalive": "^3.4.1", - "cacache": "^12.0.0", - "http-cache-semantics": "^3.8.1", - "http-proxy-agent": "^2.1.0", - "https-proxy-agent": "^2.2.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "node-fetch-npm": "^2.0.2", - "promise-retry": "^1.1.1", - "socks-proxy-agent": "^4.0.0", - "ssri": "^6.0.0" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "dependencies": { + "minipass": "^3.1.1" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "map-cache": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/map-cache/-/map-cache-0.2.2.tgz", - "integrity": "sha1-wyq9C9ZSXZsFFkW7TyasXcmKDb8=", - "dev": true - }, - "map-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/map-visit/-/map-visit-1.0.0.tgz", - "integrity": "sha1-7Nyo8TFE5mDxtb1B8S80edmN+48=", + "node_modules/make-fetch-happen/node_modules/unique-filename": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-2.0.1.tgz", + "integrity": "sha512-ODWHtkkdx3IAR+veKxFV+VBkUMcN+FaqzUUd7IZzt+0zhDZFPFxhlqwPF3YQvMHx1TD0tdgYl+kuPnJ8E6ql7A==", "dev": true, - "requires": { - "object-visit": "^1.0.0" + "dependencies": { + "unique-slug": "^3.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "md5.js": { - "version": "1.3.5", - "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", - "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "node_modules/make-fetch-happen/node_modules/unique-slug": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-3.0.0.tgz", + "integrity": "sha512-8EyMynh679x/0gqE9fT9oilG+qEt+ibFyqjuVTsZn1+CMxH+XLlpvr2UZx4nVcCwTpx81nICr2JQFkM+HPLq4w==", "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1", - "safe-buffer": "^5.1.2" + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "mdn-data": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.4.tgz", - "integrity": "sha512-iV3XNKw06j5Q7mi6h+9vbx23Tv7JkjEVgKHW4pimwyDGWm0OIQntJJ+u1C6mg6mK1EaTv42XQ7w76yuzH7M2cA==", + "node_modules/make-fetch-happen/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "media-typer": { + "node_modules/media-typer": { "version": "0.3.0", "resolved": "http://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "memory-fs": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.4.1.tgz", - "integrity": "sha1-OpoguEYlI+RHz7x+i7gO1me/xVI=", + "node_modules/memfs": { + "version": "3.5.1", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.5.1.tgz", + "integrity": "sha512-UWbFJKvj5k+nETdteFndTpYxdeTMox/ULeqX5k/dpaQJCCFmj5EeKv3dBcyO2xmkRAx2vppRu5dVG7SOtsGOzA==", "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" + "dependencies": { + "fs-monkey": "^1.0.3" + }, + "engines": { + "node": ">= 4.0.0" } }, - "merge-descriptors": { + "node_modules/merge-descriptors": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", - "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "integrity": "sha512-cCi6g3/Zr1iqQi6ySbseM1Xvooa98N0w31jzUYrXPX2xqObmFGHJ0tQ5u74H3mVh7wLouTseZyYIq39g8cNp1w==", "dev": true }, - "merge-source-map": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", - "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", - "dev": true, - "requires": { - "source-map": "^0.6.1" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } - }, - "merge-stream": { + "node_modules/merge-stream": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", "dev": true }, - "merge2": { + "node_modules/merge2": { "version": "1.4.1", "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 8" + } }, - "methods": { + "node_modules/methods": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", - "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", - "dev": true + "integrity": "sha512-iclAHeNqNm68zFtnZ0e+1L2yUIdvzNoauKU4WBA3VvH/vPFieF7qfRlwUZU+DA9P9bPXIS90ulxoUoCH23sV2w==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "micromatch": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.2.tgz", - "integrity": "sha512-y7FpHSbMUMoyPbYUSzO6PaZ6FyRnQOpHuKwbo1G+Knck95XVU4QAiKdGEnj5wwoS7PlOgthX/09u5iFJ+aYf5Q==", + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, - "requires": { - "braces": "^3.0.1", - "picomatch": "^2.0.5" + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" } }, - "miller-rabin": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", - "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "node_modules/mime": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.6.0.tgz", + "integrity": "sha512-USPkMeET31rOMiarsBNIHZKLGgvKc/LrjofAnBlOttf5ajRvqiRA8QsenbcooctK6d6Ts6aqZXBA+XbkKthiQg==", "dev": true, - "requires": { - "bn.js": "^4.0.0", - "brorand": "^1.0.1" + "bin": { + "mime": "cli.js" }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } + "engines": { + "node": ">=4.0.0" } }, - "mime": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", - "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", - "dev": true - }, - "mime-db": { - "version": "1.37.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.37.0.tgz", - "integrity": "sha512-R3C4db6bgQhlIhPU48fUtdVmKnflq+hRdad7IyKhtFj06VPNVdk2RhiYL3UjQIlso8L+YxAtFkobT0VK+S/ybg==", - "dev": true + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "mime-types": { - "version": "2.1.21", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.21.tgz", - "integrity": "sha512-3iL6DbwpyLzjR3xHSFNFeb9Nz/M8WDkX33t1GFQnFOllWk8pOrh/LSrB5OXlnlW5P9LH73X6loW/eogc+F5lJg==", + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", "dev": true, - "requires": { - "mime-db": "~1.37.0" + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" } }, - "mimic-fn": { + "node_modules/mimic-fn": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "mini-css-extract-plugin": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.2.1.tgz", - "integrity": "sha512-G3yw7/TQaPfkuiR73MDcyiqhyP8SnbmLhUbpC76H+wtQxA6wfKhMCQOCb6wnPK0dQbjORAeOILQqEesg4/wF7A==", + "node_modules/mini-css-extract-plugin": { + "version": "2.7.5", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.7.5.tgz", + "integrity": "sha512-9HaR++0mlgom81s95vvNjxkg52n2b5s//3ZTI1EtzFb98awsLSivs2LMsVqnQ3ay0PVhqWcGNyDaTE961FOcjQ==", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "webpack-sources": "^1.1.0" - }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "minimalistic-assert": { + "node_modules/minimalistic-assert": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", "dev": true }, - "minimalistic-crypto-utils": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", - "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", - "dev": true - }, - "minimatch": { + "node_modules/minimatch": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", "dev": true, - "requires": { + "dependencies": { "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "minimist": { - "version": "1.2.5", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.5.tgz", - "integrity": "sha512-FM9nNUYrRBAELZQT3xeZQ7fmMOBg6nWNmJKTcgsJeaLstP/UODVpGsr5OhXhhXg6f+qtJ8uiZ+PUxkDWcgIXLw==", - "dev": true + "node_modules/minimist": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.8.tgz", + "integrity": "sha512-2yyAR8qBkN3YuheJanUpWC5U3bb5osDywNB8RzDVlDwDHbocAJveqqj1u8+SVD7jkWT4yvsHCpWqqWqAxb0zCA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "minipass": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.1.3.tgz", - "integrity": "sha512-Mgd2GdMVzY+x3IJ+oHnVM+KG3lA5c8tnabyJKmHSaG2kAGpudxuOf8ToDkhumF7UzME7DecbQE9uOZhNm7PuJg==", + "node_modules/minipass": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-5.0.0.tgz", + "integrity": "sha512-3FnjYuehv9k6ovOEbyOswadCDPX1piCfhV8ncmYtHOjuPwylVWsghTLo7rabjC3Rx5xD4HDx8Wm1xnMF7S5qFQ==", "dev": true, - "requires": { - "yallist": "^4.0.0" + "engines": { + "node": ">=8" } }, - "minipass-collect": { + "node_modules/minipass-collect": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/minipass-collect/-/minipass-collect-1.0.2.tgz", "integrity": "sha512-6T6lH0H8OG9kITm/Jm6tdooIbogG9e0tLgpY6mphXSm/A9u8Nq1ryBG+Qspiub9LjWlBPsPS3tWQ/Botq4FdxA==", "dev": true, - "requires": { + "dependencies": { "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-collect/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-collect/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-fetch": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-2.1.2.tgz", + "integrity": "sha512-LT49Zi2/WMROHYoqGgdlQIZh8mLPZmOrN2NdJjMXxYe4nkN6FUyuPuOAOedNJDrx0IRGg9+4guZewtp8hE6TxA==", + "dev": true, + "dependencies": { + "minipass": "^3.1.6", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/minipass-fetch/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "minipass-flush": { + "node_modules/minipass-fetch/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-flush": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/minipass-flush/-/minipass-flush-1.0.5.tgz", "integrity": "sha512-JmQSYYpPUqX5Jyn1mXaRwOda1uQ8HP5KAT/oDSLCzt1BYRhQU0/hDtsB1ufZfEEzMZ9aAVmsBw8+FWsIXlClWw==", "dev": true, - "requires": { + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/minipass-flush/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-flush/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-json-stream": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minipass-json-stream/-/minipass-json-stream-1.0.1.tgz", + "integrity": "sha512-ODqY18UZt/I8k+b7rl2AENgbWE8IDYam+undIJONvigAz8KR5GWblsFTEfQs0WODsjbSXWlm+JHEv8Gr6Tfdbg==", + "dev": true, + "dependencies": { + "jsonparse": "^1.3.1", "minipass": "^3.0.0" } }, - "minipass-pipeline": { + "node_modules/minipass-json-stream/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-json-stream/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-pipeline": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/minipass-pipeline/-/minipass-pipeline-1.2.4.tgz", "integrity": "sha512-xuIq7cIOt09RPRJ19gdi4b+RiNvDFYe5JH+ggNvBqGqpQXcru3PcRmOZuHBKWK1Txf9+cQ+HMVN4d6z46LZP7A==", "dev": true, - "requires": { + "dependencies": { + "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-pipeline/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minipass-sized": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/minipass-sized/-/minipass-sized-1.0.3.tgz", + "integrity": "sha512-MbkQQ2CTiBMlA2Dm/5cY+9SWFEN8pzzOXi6rlM5Xxq0Yqbda5ZQy9sU75a673FE9ZK0Zsbr6Y5iP6u9nktfg2g==", + "dev": true, + "dependencies": { "minipass": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/minipass-sized/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "minizlib": { + "node_modules/minipass-sized/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/minizlib": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-2.1.2.tgz", "integrity": "sha512-bAxsR8BVfj60DWXHE3u30oHzfl4G7khkSuPW+qvpd7jFRHm7dLxOjUk1EHACJ/hxLY8phGJ0YhYHZo7jil7Qdg==", "dev": true, - "requires": { + "dependencies": { "minipass": "^3.0.0", "yallist": "^4.0.0" + }, + "engines": { + "node": ">= 8" } }, - "mississippi": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/mississippi/-/mississippi-3.0.0.tgz", - "integrity": "sha512-x471SsVjUtBRtcvd4BzKE9kFC+/2TeWgKCgw0bZcw1b9l2X3QX5vCWgF+KaZaYm87Ss//rHnWryupDrgLvmSkA==", - "dev": true, - "requires": { - "concat-stream": "^1.5.0", - "duplexify": "^3.4.2", - "end-of-stream": "^1.1.0", - "flush-write-stream": "^1.0.0", - "from2": "^2.1.0", - "parallel-transform": "^1.1.0", - "pump": "^3.0.0", - "pumpify": "^1.3.3", - "stream-each": "^1.1.0", - "through2": "^2.0.0" - } - }, - "mixin-deep": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/mixin-deep/-/mixin-deep-1.3.2.tgz", - "integrity": "sha512-WRoDn//mXBiJ1H40rqa3vH0toePwSsGb45iInWlTySa+Uu4k3tYUSxa2v1KqAiLtvlrSzaExqS1gtk96A9zvEA==", - "dev": true, - "requires": { - "for-in": "^1.0.2", - "is-extendable": "^1.0.1" - }, - "dependencies": { - "is-extendable": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-extendable/-/is-extendable-1.0.1.tgz", - "integrity": "sha512-arnXMxT1hhoKo9k1LZdmlNyJdDDfy2v0fXjFlmok4+i8ul/6WlbVge9bhM74OpNPQPMGUToDtz+KXa1PneJxOA==", - "dev": true, - "requires": { - "is-plain-object": "^2.0.4" - } - } + "node_modules/minizlib/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "mkdirp": { - "version": "0.5.1", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.1.tgz", - "integrity": "sha1-MAV0OOrGz3+MR2fzhkjWaX11yQM=", + "node_modules/minizlib/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/mkdirp": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.6.tgz", + "integrity": "sha512-FP+p8RB8OWpF3YZBCrP5gtADmtXApB5AMLn+vdyA+PyxCjrCs00mjyUozssO33cwDeT3wNGdLxJ5M//YqtHAJw==", "dev": true, - "requires": { - "minimist": "0.0.8" - }, "dependencies": { - "minimist": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/minimist/-/minimist-0.0.8.tgz", - "integrity": "sha1-hX/Kv8M5fSYluCKCYuhqp6ARsF0=", - "dev": true - } + "minimist": "^1.2.6" + }, + "bin": { + "mkdirp": "bin/cmd.js" } }, - "move-concurrently": { + "node_modules/mrmime": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/move-concurrently/-/move-concurrently-1.0.1.tgz", - "integrity": "sha1-viwAX9oy4LKa8fBdfEszIUxwH5I=", - "dev": true, - "requires": { - "aproba": "^1.1.1", - "copy-concurrently": "^1.0.0", - "fs-write-stream-atomic": "^1.0.8", - "mkdirp": "^0.5.1", - "rimraf": "^2.5.4", - "run-queue": "^1.0.3" + "resolved": "https://registry.npmjs.org/mrmime/-/mrmime-1.0.1.tgz", + "integrity": "sha512-hzzEagAgDyoU1Q6yg5uI+AorQgdvMCur3FcKf7NhMKWsaYg+RnbTyHRa/9IlLF9rf455MOCtcqqrQQ83pPP7Uw==", + "dev": true, + "engines": { + "node": ">=10" } }, - "ms": { + "node_modules/ms": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", "dev": true }, - "multicast-dns": { - "version": "6.2.3", - "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-6.2.3.tgz", - "integrity": "sha512-ji6J5enbMyGRHIAkAOu3WdV8nggqviKCEKtXcOqfphZZtQrmHKycfynJ2V7eVPUA4NhJ6V7Wf4TmGbTwKE9B6g==", + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", "dev": true, - "requires": { - "dns-packet": "^1.3.1", + "dependencies": { + "dns-packet": "^5.2.2", "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" } }, - "multicast-dns-service-types": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/multicast-dns-service-types/-/multicast-dns-service-types-1.1.0.tgz", - "integrity": "sha1-iZ8R2WhuXgXLkbNdXw5jt3PPyQE=", - "dev": true - }, - "mute-stream": { + "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==", "dev": true }, - "nan": { - "version": "2.14.2", - "resolved": "https://registry.npmjs.org/nan/-/nan-2.14.2.tgz", - "integrity": "sha512-M2ufzIiINKCuDfBSAUr1vWQ+vuVcA9kqx8JJUsbQi6yf1uGRyb7HfpdfUr5qLXf3B/t8dPvcjhKMmlfnP47EzQ==", + "node_modules/nanoid": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.6.tgz", + "integrity": "sha512-BGcqMMJuToF7i1rt+2PWSNVnWIkGCU78jBG3RxO/bZlnZPK2Cmi2QaffxGO/2RvWi9sL+FAiRiXMgsyxQ1DIDA==", "dev": true, - "optional": true + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } }, - "nanoid": { - "version": "3.1.16", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.1.16.tgz", - "integrity": "sha512-+AK8MN0WHji40lj8AEuwLOvLSbWYApQpre/aFJZD71r43wVRLrOYS4FmJOPQYon1TqB462RzrrxlfA74XRES8w==", - "dev": true + "node_modules/needle": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", + "integrity": "sha512-oUvzXnyLiVyVGoianLijF9O/RecZUf7TkBfimjGrLM4eQhXyeJwM6GeAWccwfQ9aa4gMCZKqhAOuLaMIcQxajQ==", + "dev": true, + "optional": true, + "dependencies": { + "debug": "^3.2.6", + "iconv-lite": "^0.6.3", + "sax": "^1.2.4" + }, + "bin": { + "needle": "bin/needle" + }, + "engines": { + "node": ">= 4.4.x" + } }, - "nanomatch": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/nanomatch/-/nanomatch-1.2.13.tgz", - "integrity": "sha512-fpoe2T0RbHwBTBUOftAfBPaDEi06ufaUai0mE6Yn1kacc3SnTErfb/h+X94VXzI64rKFHYImXSvdwGGCmwOqCA==", + "node_modules/needle/node_modules/debug": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.7.tgz", + "integrity": "sha512-CFjzYYAi4ThfiQvizrFQevTTXHtnCqWfe7x1AhgEscTz6ZbLbfoLRLPugTQyBth6f8ZERVUSyWHFD/7Wu4t1XQ==", "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "fragment-cache": "^0.2.1", - "is-windows": "^1.0.2", - "kind-of": "^6.0.2", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.1" + "optional": true, + "dependencies": { + "ms": "^2.1.1" + } + }, + "node_modules/needle/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "optional": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "native-request": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/native-request/-/native-request-1.0.8.tgz", - "integrity": "sha512-vU2JojJVelUGp6jRcLwToPoWGxSx23z/0iX+I77J3Ht17rf2INGjrhOoQnjVo60nQd8wVsgzKkPfRXBiVdD2ag==", + "node_modules/needle/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", "dev": true, "optional": true }, - "negotiator": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", - "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==", - "dev": true + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/ng-packagr": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-16.0.1.tgz", + "integrity": "sha512-MiJvSR+8olzCViwkQ6ihHLFWVNLdsfUNPCxrZqR7u1nOC/dXlWPf//l2IG0KLdVhHNCiM64mNdwaTpgDEBMD3w==", + "dev": true, + "dependencies": { + "@rollup/plugin-json": "^6.0.0", + "@rollup/plugin-node-resolve": "^15.0.0", + "ajv": "^8.11.0", + "ansi-colors": "^4.1.3", + "autoprefixer": "^10.4.12", + "browserslist": "^4.21.4", + "cacache": "^17.0.0", + "chokidar": "^3.5.3", + "commander": "^10.0.0", + "convert-source-map": "^2.0.0", + "dependency-graph": "^0.11.0", + "esbuild-wasm": "^0.17.0", + "fast-glob": "^3.2.12", + "find-cache-dir": "^3.3.2", + "injection-js": "^2.4.0", + "jsonc-parser": "^3.2.0", + "less": "^4.1.3", + "ora": "^5.1.0", + "piscina": "^3.2.0", + "postcss": "^8.4.16", + "postcss-url": "^10.1.3", + "rollup": "^3.0.0", + "rxjs": "^7.5.6", + "sass": "^1.55.0" + }, + "bin": { + "ng-packagr": "cli/main.js" + }, + "engines": { + "node": "^16.14.0 || >=18.10.0" + }, + "optionalDependencies": { + "esbuild": "^0.17.0" + }, + "peerDependencies": { + "@angular/compiler-cli": "^16.0.0-next.0", + "tailwindcss": "^2.0.0 || ^3.0.0", + "tslib": "^2.3.0", + "typescript": ">=4.9.3 <5.1" + }, + "peerDependenciesMeta": { + "tailwindcss": { + "optional": true + } + } + }, + "node_modules/ng-packagr/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ng-packagr/node_modules/commander": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-10.0.1.tgz", + "integrity": "sha512-y4Mg2tXshplEbSGzx7amzPwKKOCGuoSRP/CjEdwwk0FOGlUbq6lKuoyDZTNZkmxHdJtp54hdfY/JUrdL7Xfdug==", + "dev": true, + "engines": { + "node": ">=14" + } }, - "neo-async": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.1.tgz", - "integrity": "sha512-iyam8fBuCUpWeKPGpaNMetEocMt364qkCsfL9JuhjXX6dRnguRVOfk2GZaDpPjcOKiiXCPINZC1GczQ7iTq3Zw==", + "node_modules/ng-packagr/node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", "dev": true }, - "next-tick": { + "node_modules/ng-packagr/node_modules/json-schema-traverse": { "version": "1.0.0", - "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.0.0.tgz", - "integrity": "sha1-yobR/ogoFpsBICCOPchCS524NCw=", - "dev": true - }, - "ng-packagr": { - "version": "11.0.2", - "resolved": "https://registry.npmjs.org/ng-packagr/-/ng-packagr-11.0.2.tgz", - "integrity": "sha512-gcYR729iBeUoE33VjXNQrKHkLkPCprpB8ZpSC9yMGmJWvKMJkmCGxXIkJpFYnCvB57yfXro8vW+oHjUPqBURaQ==", - "dev": true, - "requires": { - "@rollup/plugin-commonjs": "^15.0.0", - "@rollup/plugin-json": "^4.0.0", - "@rollup/plugin-node-resolve": "^10.0.0", - "ajv": "^6.12.3", - "ansi-colors": "^4.1.1", - "autoprefixer": "^9.6.5", - "browserslist": "^4.7.0", - "chokidar": "^3.2.1", - "commander": "^6.0.0", - "cssnano-preset-default": "^4.0.7", - "fs-extra": "^9.0.0", - "glob": "^7.1.2", - "injection-js": "^2.2.1", - "less": "^3.10.3", - "node-sass-tilde-importer": "^1.0.0", - "ora": "^5.1.0", - "postcss": "^7.0.29", - "postcss-url": "^8.0.0", - "read-pkg-up": "^5.0.0", - "rimraf": "^3.0.0", - "rollup": "^2.8.0", - "rollup-plugin-sourcemaps": "^0.6.0", - "rxjs": "^6.5.0", - "sass": "^1.23.0", - "stylus": "^0.54.7", - "terser": "^5.0.0" + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/nice-napi": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", + "integrity": "sha512-px/KnJAJZf5RuBGcfD+Sp2pAKq0ytz8j+1NehvgIGFkvtvFrDM3T8E4x/JJODXK9WZow8RRGrbA9QQ3hs+pDhA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "!win32" + ], + "dependencies": { + "node-addon-api": "^3.0.0", + "node-gyp-build": "^4.2.2" + } + }, + "node_modules/node-addon-api": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", + "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", + "dev": true, + "optional": true + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-gyp": { + "version": "9.3.1", + "resolved": "https://registry.npmjs.org/node-gyp/-/node-gyp-9.3.1.tgz", + "integrity": "sha512-4Q16ZCqq3g8awk6UplT7AuxQ35XN4R/yf/+wSAwcBUAjg7l58RTactWaP8fIDTi0FzI7YcVLujwExakZlfWkXg==", + "dev": true, + "dependencies": { + "env-paths": "^2.2.0", + "glob": "^7.1.4", + "graceful-fs": "^4.2.6", + "make-fetch-happen": "^10.0.3", + "nopt": "^6.0.0", + "npmlog": "^6.0.0", + "rimraf": "^3.0.2", + "semver": "^7.3.5", + "tar": "^6.1.2", + "which": "^2.0.2" }, + "bin": { + "node-gyp": "bin/node-gyp.js" + }, + "engines": { + "node": "^12.13 || ^14.13 || >=16" + } + }, + "node_modules/node-gyp-build": { + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", + "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", + "dev": true, + "optional": true, + "bin": { + "node-gyp-build": "bin.js", + "node-gyp-build-optional": "optional.js", + "node-gyp-build-test": "build-test.js" + } + }, + "node_modules/node-gyp/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "cli-spinners": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.5.0.tgz", - "integrity": "sha512-PC+AmIuK04E6aeSs/pUccSujsTzBhu4HzC2dL+CfJB/Jcc2qTRbEwZQDfIUpt2Xl8BodYBEq8w4fc0kU2I9DjQ==", - "dev": true - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "commander": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/commander/-/commander-6.2.0.tgz", - "integrity": "sha512-zP4jEKbe8SHzKJYQmq8Y9gYjtO/POJLgIdKgV7B9qNmABVFVc+ctqSX6iXh4mCpJfRBOabiZ2YKPg8ciDw6C+Q==", - "dev": true - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fs-extra": { - "version": "9.0.1", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.0.1.tgz", - "integrity": "sha512-h2iAoN838FqAFJY2/qVpzFXy+EBxfVE220PalAqQLDVsFOHLJrZvut5puAbCdNv6WJk+B8ihI+k0c7JK5erwqQ==", - "dev": true, - "requires": { - "at-least-node": "^1.0.0", - "graceful-fs": "^4.2.0", - "jsonfile": "^6.0.1", - "universalify": "^1.0.0" - } - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "jsonfile": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", - "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.6", - "universalify": "^2.0.0" - }, - "dependencies": { - "universalify": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", - "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", - "dev": true - } - } - }, - "log-symbols": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.0.0.tgz", - "integrity": "sha512-FN8JBzLx6CzeMrB0tg6pqlGU1wCrXW+ZXGH481kfsBqer0hToTIiHdjH4Mq8xJUbvATujKCvaREGWpGUionraA==", - "dev": true, - "requires": { - "chalk": "^4.0.0" - } - }, - "ora": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz", - "integrity": "sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==", - "dev": true, - "requires": { - "chalk": "^4.1.0", - "cli-cursor": "^3.1.0", - "cli-spinners": "^2.4.0", - "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "mute-stream": "0.0.8", - "strip-ansi": "^6.0.0", - "wcwidth": "^1.0.1" - } - }, - "rimraf": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", - "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", - "dev": true, - "requires": { - "glob": "^7.1.3" - } - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - }, - "universalify": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/universalify/-/universalify-1.0.0.tgz", - "integrity": "sha512-rb6X1W158d7pRQBg5gkR8uPaSfiids68LTJQYOtEUhoJUWBdaQHsuT/EUduxXYxcrt4r5PJ4fuHW1MHT6p0qug==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/node-gyp/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "nice-try": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/nice-try/-/nice-try-1.0.5.tgz", - "integrity": "sha512-1nh45deeb5olNY7eX82BkPO7SSxR5SSYJiPTrTdFUVYwAl8CKMA5N9PjTYkHiRjisVcxcQ1HXdLhx2qxxJzLNQ==", - "dev": true + "node_modules/node-gyp/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "node-fetch-npm": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/node-fetch-npm/-/node-fetch-npm-2.0.4.tgz", - "integrity": "sha512-iOuIQDWDyjhv9qSDrj9aq/klt6F9z1p2otB3AV7v3zBDcL/x+OfGsvGQZZCcMZbUf4Ujw1xGNQkjvGnVT22cKg==", + "node_modules/node-gyp/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, - "requires": { - "encoding": "^0.1.11", - "json-parse-better-errors": "^1.0.0", - "safe-buffer": "^5.1.1" + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" } }, - "node-forge": { - "version": "0.10.0", - "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", - "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==", + "node_modules/node-gyp/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node-libs-browser": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", - "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", - "dev": true, - "requires": { - "assert": "^1.1.1", - "browserify-zlib": "^0.2.0", - "buffer": "^4.3.0", - "console-browserify": "^1.1.0", - "constants-browserify": "^1.0.0", - "crypto-browserify": "^3.11.0", - "domain-browser": "^1.1.1", - "events": "^3.0.0", - "https-browserify": "^1.0.0", - "os-browserify": "^0.3.0", - "path-browserify": "0.0.1", - "process": "^0.11.10", - "punycode": "^1.2.4", - "querystring-es3": "^0.2.0", - "readable-stream": "^2.3.3", - "stream-browserify": "^2.0.1", - "stream-http": "^2.7.2", - "string_decoder": "^1.0.0", - "timers-browserify": "^2.0.4", - "tty-browserify": "0.0.0", - "url": "^0.11.0", - "util": "^0.11.0", - "vm-browserify": "^1.0.1" - }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } - } - }, - "node-releases": { - "version": "1.1.66", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-1.1.66.tgz", - "integrity": "sha512-JHEQ1iWPGK+38VLB2H9ef2otU4l8s3yAMt9Xf934r6+ojCYDMHPMqvCc9TnzfeFSP1QEOeU6YZEd3+De0LTCgg==", + "node_modules/node-releases": { + "version": "2.0.10", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.10.tgz", + "integrity": "sha512-5GFldHPXVG/YZmFzJvKK2zDSzPKhEp0+ZR5SVaoSag9fsL5YgHbUHDfnG5494ISANDcK4KwPXAx2xqVEydmd7w==", "dev": true }, - "node-sass-tilde-importer": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/node-sass-tilde-importer/-/node-sass-tilde-importer-1.0.2.tgz", - "integrity": "sha512-Swcmr38Y7uB78itQeBm3mThjxBy9/Ah/ykPIaURY/L6Nec9AyRoL/jJ7ECfMR+oZeCTVQNxVMu/aHU+TLRVbdg==", + "node_modules/nopt": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/nopt/-/nopt-6.0.0.tgz", + "integrity": "sha512-ZwLpbTgdhuZUnZzjd7nb1ZV+4DoiC6/sfiVKok72ym/4Tlf+DFdlHYmT2JPmcNNWV6Pi3SDf1kT+A4r9RTuT9g==", "dev": true, - "requires": { - "find-parent-dir": "^0.3.0" + "dependencies": { + "abbrev": "^1.0.0" + }, + "bin": { + "nopt": "bin/nopt.js" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "normalize-package-data": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-2.5.0.tgz", - "integrity": "sha512-/5CMN3T0R4XTj4DcGaexo+roZSdSFW/0AOOTROrjxzCG1wrWXEsGbRKevjlIL+ZDE4sZlJr5ED4YW0yqmkK+eA==", + "node_modules/normalize-package-data": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/normalize-package-data/-/normalize-package-data-5.0.0.tgz", + "integrity": "sha512-h9iPVIfrVZ9wVYQnxFgtw1ugSvGEMOlyPWWtm8BMJhnwyEL/FLbYbTY3V3PpjI/BUK67n9PEWDu6eHzu1fB15Q==", + "dev": true, + "dependencies": { + "hosted-git-info": "^6.0.0", + "is-core-module": "^2.8.1", + "semver": "^7.3.5", + "validate-npm-package-license": "^3.0.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/normalize-package-data/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "hosted-git-info": "^2.1.4", - "resolve": "^1.10.0", - "semver": "2 || 3 || 4 || 5", - "validate-npm-package-license": "^3.0.1" + "dependencies": { + "yallist": "^4.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/normalize-package-data/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "resolve": { - "version": "1.16.1", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.16.1.tgz", - "integrity": "sha512-rmAglCSqWWMrrBv/XM6sW0NuRFiKViw/W4d9EbC4pt+49H8JwHy+mcGmALTEg504AUDcLTvb1T2q3E9AnmY+ig==", - "dev": true, - "requires": { - "path-parse": "^1.0.6" - } - } + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "normalize-path": { + "node_modules/normalize-package-data/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/normalize-path": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "normalize-range": { + "node_modules/normalize-range": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", - "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", - "dev": true - }, - "normalize-url": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-3.3.0.tgz", - "integrity": "sha512-U+JJi7duF1o+u2pynbp2zXDW2/PADgC30f0GsHZtRh+HOcXHnw137TrNlyxxRvWW5fjKd3bcLHPxofWuCjaeZg==", - "dev": true + "integrity": "sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "npm-bundled": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-1.1.1.tgz", - "integrity": "sha512-gqkfgGePhTpAEgUsGEgcq1rqPXA+tv/aVBlgEzfXwA1yiUJF7xtEt3CtVwOjNYQOVknDk0F20w58Fnm3EtG0fA==", + "node_modules/npm-bundled": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/npm-bundled/-/npm-bundled-3.0.0.tgz", + "integrity": "sha512-Vq0eyEQy+elFpzsKjMss9kxqb9tG3YHg4dsyWuUENuzvSUWe1TCnW/vV9FkhvBk/brEDoDiVd+M1Btosa6ImdQ==", "dev": true, - "requires": { - "npm-normalize-package-bin": "^1.0.1" + "dependencies": { + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "npm-install-checks": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-4.0.0.tgz", - "integrity": "sha512-09OmyDkNLYwqKPOnbI8exiOZU2GVVmQp7tgez2BPi5OZC8M82elDAps7sxC4l//uSUtotWqoEIDwjRvWH4qz8w==", + "node_modules/npm-install-checks": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/npm-install-checks/-/npm-install-checks-6.1.1.tgz", + "integrity": "sha512-dH3GmQL4vsPtld59cOn8uY0iOqRmqKvV+DLGwNXV/Q7MDgD2QfOADWd/mFXcIE5LVhYYGjA3baz6W9JneqnuCw==", "dev": true, - "requires": { + "dependencies": { "semver": "^7.1.1" }, - "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "npm-normalize-package-bin": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-1.0.1.tgz", - "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", - "dev": true - }, - "npm-package-arg": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-8.1.0.tgz", - "integrity": "sha512-/ep6QDxBkm9HvOhOg0heitSd7JHA1U7y1qhhlRlteYYAi9Pdb/ZV7FW5aHpkrpM8+P+4p/jjR8zCyKPBMBjSig==", + "node_modules/npm-install-checks/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "hosted-git-info": "^3.0.6", - "semver": "^7.0.0", - "validate-npm-package-name": "^3.0.0" + "dependencies": { + "yallist": "^4.0.0" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-install-checks/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "npm-packlist": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-1.4.8.tgz", - "integrity": "sha512-5+AZgwru5IevF5ZdnFglB5wNlHG1AOOuw28WhUq8/8emhBmLv6jX5by4WJCh7lW0uSYZYS6DXqIsyZVIXRZU9A==", + "node_modules/npm-install-checks/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/npm-normalize-package-bin": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/npm-normalize-package-bin/-/npm-normalize-package-bin-3.0.1.tgz", + "integrity": "sha512-dMxCf+zZ+3zeQZXKxmyuCKlIDPGuv8EF940xbkC4kQVDTtqoh6rJFO+JTKSA6/Rwi0getWmtuy4Itup0AMcaDQ==", "dev": true, - "requires": { - "ignore-walk": "^3.0.1", - "npm-bundled": "^1.0.1", - "npm-normalize-package-bin": "^1.0.1" + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "npm-pick-manifest": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-6.1.0.tgz", - "integrity": "sha512-ygs4k6f54ZxJXrzT0x34NybRlLeZ4+6nECAIbr2i0foTnijtS1TJiyzpqtuUAJOps/hO0tNDr8fRV5g+BtRlTw==", + "node_modules/npm-package-arg": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-10.1.0.tgz", + "integrity": "sha512-uFyyCEmgBfZTtrKk/5xDfHp6+MdrqGotX/VoOyEEl3mBwiEE5FlBaePanazJSVMPT7vKepcjYBY2ztg9A3yPIA==", "dev": true, - "requires": { - "npm-install-checks": "^4.0.0", - "npm-package-arg": "^8.0.0", - "semver": "^7.0.0" + "dependencies": { + "hosted-git-info": "^6.0.0", + "proc-log": "^3.0.0", + "semver": "^7.3.5", + "validate-npm-package-name": "^5.0.0" }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-package-arg/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, "dependencies": { - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "npm-registry-fetch": { - "version": "4.0.7", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-4.0.7.tgz", - "integrity": "sha512-cny9v0+Mq6Tjz+e0erFAB+RYJ/AVGzkjnISiobqP8OWj9c9FLoZZu8/SPSKJWE17F1tk4018wfjV+ZbIbqC7fQ==", + "node_modules/npm-package-arg/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", "dev": true, - "requires": { - "JSONStream": "^1.3.4", - "bluebird": "^3.5.1", - "figgy-pudding": "^3.4.1", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "npm-package-arg": "^6.1.0", - "safe-buffer": "^5.2.0" + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, + "engines": { + "node": ">=10" + } + }, + "node_modules/npm-package-arg/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/npm-packlist": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/npm-packlist/-/npm-packlist-7.0.4.tgz", + "integrity": "sha512-d6RGEuRrNS5/N84iglPivjaJPxhDbZmlbTwTDX2IbcRHG5bZCdtysYMhwiPvcF4GisXHGn7xsxv+GQ7T/02M5Q==", + "dev": true, "dependencies": { - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", - "dev": true - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "ignore-walk": "^6.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "npm-run-path": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-2.0.2.tgz", - "integrity": "sha1-NakjLfo11wZ7TLLd8jV7GHFTbF8=", + "node_modules/npm-pick-manifest": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-8.0.1.tgz", + "integrity": "sha512-mRtvlBjTsJvfCCdmPtiu2bdlx8d/KXtF7yNXNWe7G0Z36qWA9Ny5zXsI2PfBZEv7SXgoxTmNaTzGSbbzDZChoA==", "dev": true, - "requires": { - "path-key": "^2.0.0" + "dependencies": { + "npm-install-checks": "^6.0.0", + "npm-normalize-package-bin": "^3.0.0", + "npm-package-arg": "^10.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "nth-check": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-1.0.2.tgz", - "integrity": "sha512-WeBOdju8SnzPN5vTUJYxYUxLeXpCaVP5i5e0LF8fg7WORF2Wd7wFX/pk0tYZk7s8T+J7VLy0Da6J1+wCT0AtHg==", + "node_modules/npm-pick-manifest/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "boolbase": "~1.0.0" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "num2fraction": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/num2fraction/-/num2fraction-1.2.2.tgz", - "integrity": "sha1-b2gragJ6Tp3fpFZM0lidHU5mnt4=", - "dev": true + "node_modules/npm-pick-manifest/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } }, - "oauth-sign": { - "version": "0.9.0", - "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", - "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", + "node_modules/npm-pick-manifest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "object-assign": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", - "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", - "dev": true + "node_modules/npm-registry-fetch": { + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", + "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } }, - "object-copy": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/object-copy/-/object-copy-0.1.0.tgz", - "integrity": "sha1-fn2Fi3gb18mRpBupde04EnVOmYw=", - "dev": true, - "requires": { - "copy-descriptor": "^0.1.0", - "define-property": "^0.2.5", - "kind-of": "^3.0.3" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "node_modules/npm-registry-fetch/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "object-inspect": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.7.0.tgz", - "integrity": "sha512-a7pEHdh1xKIAgTySUGgLMx/xwDZskN1Ud6egYYN3EdRW4ZMPNEDUTF+hwy2LUC+Bl+SyLXANnwz/jyh/qutKUw==", - "dev": true + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } }, - "object-is": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.3.tgz", - "integrity": "sha512-teyqLvFWzLkq5B9ki8FVWA902UER2qkxmdA4nLf+wjOLAWgxzCWZNCxpDq9MvE8MmhWNr+I8w3BN49Vx36Y6Xg==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.18.0-next.1" - }, - "dependencies": { - "es-abstract": { - "version": "1.18.0-next.1", - "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.18.0-next.1.tgz", - "integrity": "sha512-I4UGspA0wpZXWENrdA0uHbnhte683t3qT/1VFH9aX2dA5PPSf6QW5HHXf5HImaqPmjXaVeVk4RGWnaylmV7uAA==", - "dev": true, - "requires": { - "es-to-primitive": "^1.2.1", - "function-bind": "^1.1.1", - "has": "^1.0.3", - "has-symbols": "^1.0.1", - "is-callable": "^1.2.2", - "is-negative-zero": "^2.0.0", - "is-regex": "^1.1.1", - "object-inspect": "^1.8.0", - "object-keys": "^1.1.1", - "object.assign": "^4.1.1", - "string.prototype.trimend": "^1.0.1", - "string.prototype.trimstart": "^1.0.1" - } - }, - "is-callable": { - "version": "1.2.2", - "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.2.tgz", - "integrity": "sha512-dnMqspv5nU3LoewK2N/y7KLtxtakvTuaCsU9FU50/QDmdbHNy/4/JuRtMHqRU22o3q+W89YQndQEeCVwK+3qrA==", - "dev": true - }, - "is-regex": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.1.tgz", - "integrity": "sha512-1+QkEcxiLlB7VEyFtyBg94e08OAsvq7FUBgApTq/w2ymCLyKJgDPsybBENVtA7XCQEgEXxKPonG+mvYRxh/LIg==", - "dev": true, - "requires": { - "has-symbols": "^1.0.1" - } - }, - "object-inspect": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.8.0.tgz", - "integrity": "sha512-jLdtEOB112fORuypAyl/50VRVIBIdVQOSUUGQHzJ4xBSbit81zRarz7GThkEFZy1RceYrWYcPcBFPQwHyAc1gA==", - "dev": true - }, - "object.assign": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", - "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", - "dev": true, - "requires": { - "call-bind": "^1.0.0", - "define-properties": "^1.1.3", - "has-symbols": "^1.0.1", - "object-keys": "^1.1.1" - } - } + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "object-keys": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", - "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", - "dev": true + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } }, - "object-visit": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/object-visit/-/object-visit-1.0.1.tgz", - "integrity": "sha1-95xEk68MU3e1n+OdOV5BBC3QRbs=", + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", "dev": true, - "requires": { - "isobject": "^3.0.0" + "dependencies": { + "path-key": "^3.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" } }, - "object.assign": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.0.tgz", - "integrity": "sha512-exHJeq6kBKj58mqGyTQ9DFvrZC/eR6OwxzoM9YRoGBqrXYonaFyGiFMuc9VZrXf7DarreEwMpurG3dd+CNyW5w==", + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", "dev": true, - "requires": { - "define-properties": "^1.1.2", - "function-bind": "^1.1.1", - "has-symbols": "^1.0.0", - "object-keys": "^1.0.11" + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" } }, - "object.getownpropertydescriptors": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/object.getownpropertydescriptors/-/object.getownpropertydescriptors-2.1.0.tgz", - "integrity": "sha512-Z53Oah9A3TdLoblT7VKJaTDdXdT+lQO+cNpKVnya5JDe9uLvzu1YyY1yFDFrcxrlRgWrEFH0jJtD/IbuwjcEVg==", + "node_modules/oauth-sign": { + "version": "0.9.0", + "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", + "integrity": "sha512-fexhUFFPTGV8ybAtSIGbV6gOkSv8UtRbDBnAyLQw4QPKkgNlsH2ByPGtMUqdWkos6YCRmAqViwgZrJc/mRDzZQ==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" + "engines": { + "node": "*" } }, - "object.pick": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/object.pick/-/object.pick-1.3.0.tgz", - "integrity": "sha1-h6EKxMFpS9Lhy/U1kaZhQftd10c=", + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", "dev": true, - "requires": { - "isobject": "^3.0.1" - }, - "dependencies": { - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "engines": { + "node": ">=0.10.0" } }, - "object.values": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/object.values/-/object.values-1.1.1.tgz", - "integrity": "sha512-WTa54g2K8iu0kmS/us18jEmdv1a4Wi//BZ/DTVYEcH0XhLM5NYdpDHja3gt57VrZLcNAO2WGA+KpWsDBaHt6eA==", + "node_modules/object-inspect": { + "version": "1.12.3", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.3.tgz", + "integrity": "sha512-geUvdk7c+eizMNUDkRpW1wJwgfOiOeHbxBR/hLXK1aT6zmVSO0jsQcs7fj6MGw89jC/cjGfLcNOrtMYtGqm81g==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1", - "function-bind": "^1.1.1", - "has": "^1.0.3" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "obuf": { + "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", "dev": true }, - "on-finished": { + "node_modules/on-finished": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", "integrity": "sha1-IPEzZIGwg811M3mSoWlxqi2QaUc=", "dev": true, - "requires": { + "dependencies": { "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" } }, - "on-headers": { + "node_modules/on-headers": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "once": { + "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", "dev": true, - "requires": { + "dependencies": { "wrappy": "1" } }, - "onetime": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.0.tgz", - "integrity": "sha512-5NcSkPHhwTVFIQN+TUqXoS5+dlElHXdpAWu9I0HP20YOtIi+aZ0Ct82jdlILDxjLEAWwvm+qj1m6aEtsDVmm6Q==", + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", "dev": true, - "requires": { + "dependencies": { "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "open": { - "version": "7.3.0", - "resolved": "https://registry.npmjs.org/open/-/open-7.3.0.tgz", - "integrity": "sha512-mgLwQIx2F/ye9SmbrUkurZCnkoXyXyu9EbHtJZrICjVAJfyMArdHp3KkixGdZx1ZHFPNIwl0DDM1dFFqXbTLZw==", - "dev": true, - "requires": { - "is-docker": "^2.0.0", - "is-wsl": "^2.1.1" - } - }, - "opn": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/opn/-/opn-5.5.0.tgz", - "integrity": "sha512-PqHpggC9bLV0VeWcdKhkpxY+3JTzetLSqTCWL/z/tFIbI6G8JCjondXklT1JinczLz2Xib62sSp0T/gKT4KksA==", + "node_modules/open": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.2.tgz", + "integrity": "sha512-7x81NCL719oNbsq/3mh+hVrAWmFuEYUqrq/Iw3kUzH8ReypT9QQ0BLoJS7/G9k6N81XjW4qHWtjWwe/9eLy1EQ==", "dev": true, - "requires": { - "is-wsl": "^1.1.0" - }, "dependencies": { - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - } + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "ora": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/ora/-/ora-5.1.0.tgz", - "integrity": "sha512-9tXIMPvjZ7hPTbk8DFq1f7Kow/HU/pQYB60JbNq+QnGwcyhWVZaQ4hM9zQDEsPxw/muLpgiHSaumUZxCAmod/w==", + "node_modules/ora": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", + "integrity": "sha512-5b6Y85tPxZZ7QytO+BQzysW31HJku27cRIlkbAXaNx+BdcVi+LlRFmVXzeF6a7JCwJpyw5c4b+YSVImQIrBpuQ==", "dev": true, - "requires": { + "dependencies": { + "bl": "^4.1.0", "chalk": "^4.1.0", "cli-cursor": "^3.1.0", - "cli-spinners": "^2.4.0", + "cli-spinners": "^2.5.0", "is-interactive": "^1.0.0", - "log-symbols": "^4.0.0", - "mute-stream": "0.0.8", + "is-unicode-supported": "^0.1.0", + "log-symbols": "^4.1.0", "strip-ansi": "^6.0.0", "wcwidth": "^1.0.1" }, - "dependencies": { - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "chalk": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.0.tgz", - "integrity": "sha512-qwx12AxXe2Q5xQ43Ac//I6v5aXTipYrSESdOgzrN+9XjgEpyjpKuvSGaN4qE93f7TQTlerQQ8S+EQ0EyDoVL1A==", - "dev": true, - "requires": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true - }, - "supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, - "requires": { - "has-flag": "^4.0.0" - } - } + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ora/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/ora/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "original": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/original/-/original-1.0.2.tgz", - "integrity": "sha512-hyBVl6iqqUOJ8FqRe+l/gS8H+kKYjrEndd5Pm1MfBtsEKA038HkkdbAl/72EAXGyonD/PFsvmVG+EvcIpliMBg==", + "node_modules/ora/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "url-parse": "^1.4.3" + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "os-browserify": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", - "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "node_modules/ora/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "os-homedir": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/os-homedir/-/os-homedir-1.0.2.tgz", - "integrity": "sha1-/7xJiDNuDoM94MFox+8VISGqf7M=", - "dev": true + "node_modules/ora/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ora/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } }, - "os-tmpdir": { + "node_modules/os-tmpdir": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/os-tmpdir/-/os-tmpdir-1.0.2.tgz", "integrity": "sha1-u+Z0BseaqFxc/sdm/lc0VV36EnQ=", - "dev": true - }, - "osenv": { - "version": "0.1.5", - "resolved": "https://registry.npmjs.org/osenv/-/osenv-0.1.5.tgz", - "integrity": "sha512-0CWcCECdMVc2Rw3U5w9ZjqX6ga6ubk1xDVKxtBQPK7wis/0F2r9T6k4ydGYhecl7YUBxBVxhL5oisPsNxAPe2g==", "dev": true, - "requires": { - "os-homedir": "^1.0.0", - "os-tmpdir": "^1.0.0" + "engines": { + "node": ">=0.10.0" } }, - "p-finally": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/p-finally/-/p-finally-1.0.0.tgz", - "integrity": "sha1-P7z7FbiZpEEjs0ttzBi3JDNqLK4=", - "dev": true - }, - "p-limit": { + "node_modules/p-limit": { "version": "2.3.0", "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", "dev": true, - "requires": { + "dependencies": { "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-locate": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-3.0.0.tgz", - "integrity": "sha512-x+12w/To+4GFfgJhBEpiDcLozRJGegY+Ei7/z0tSLkMmxGZNybVMSfWj9aJn8Z5Fc7dBUNJOOVgPv2H7IwulSQ==", + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", "dev": true, - "requires": { - "p-limit": "^2.0.0" + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" } }, - "p-map": { + "node_modules/p-map": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/p-map/-/p-map-4.0.0.tgz", "integrity": "sha512-/bjOqmgETBYB5BoEeGVea8dmvHb2m9GLy1E9W43yeyfP6QQCZGFNa+XRceJEuDB6zqr+gKpIAmlLebMpykw/MQ==", "dev": true, - "requires": { + "dependencies": { "aggregate-error": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "p-retry": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-3.0.1.tgz", - "integrity": "sha512-XE6G4+YTTkT2a0UWb2kjZe8xNwf8bIbnqpc/IS/idOBVhyves0mK5OJgeocjx7q5pvX/6m23xuzVPYT1uGM73w==", + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", "dev": true, - "requires": { - "retry": "^0.12.0" + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" } }, - "p-try": { + "node_modules/p-retry/node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/p-try": { "version": "2.2.0", "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "pacote": { - "version": "9.5.12", - "resolved": "https://registry.npmjs.org/pacote/-/pacote-9.5.12.tgz", - "integrity": "sha512-BUIj/4kKbwWg4RtnBncXPJd15piFSVNpTzY0rysSr3VnMowTYgkGKcaHrbReepAkjTr8lH2CVWRi58Spg2CicQ==", + "node_modules/pacote": { + "version": "15.1.3", + "resolved": "https://registry.npmjs.org/pacote/-/pacote-15.1.3.tgz", + "integrity": "sha512-aRts8cZqxiJVDitmAh+3z+FxuO3tLNWEmwDRPEpDDiZJaRz06clP4XX112ynMT5uF0QNoMPajBBHnaStUEPJXA==", "dev": true, - "requires": { - "bluebird": "^3.5.3", - "cacache": "^12.0.2", - "chownr": "^1.1.2", - "figgy-pudding": "^3.5.1", - "get-stream": "^4.1.0", - "glob": "^7.1.3", - "infer-owner": "^1.0.4", - "lru-cache": "^5.1.1", - "make-fetch-happen": "^5.0.0", - "minimatch": "^3.0.4", - "minipass": "^2.3.5", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "normalize-package-data": "^2.4.0", - "npm-normalize-package-bin": "^1.0.0", - "npm-package-arg": "^6.1.0", - "npm-packlist": "^1.1.12", - "npm-pick-manifest": "^3.0.0", - "npm-registry-fetch": "^4.0.0", - "osenv": "^0.1.5", - "promise-inflight": "^1.0.1", - "promise-retry": "^1.1.1", - "protoduck": "^5.0.1", - "rimraf": "^2.6.2", - "safe-buffer": "^5.1.2", - "semver": "^5.6.0", - "ssri": "^6.0.1", - "tar": "^4.4.10", - "unique-filename": "^1.1.1", - "which": "^1.3.1" - }, - "dependencies": { - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - }, - "dependencies": { - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - } - } - }, - "fs-minipass": { - "version": "1.2.7", - "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-1.2.7.tgz", - "integrity": "sha512-GWSSJGFy4e9GUeCcbIkED+bgAoFyj7XF1mV8rma3QW4NIqX9Kyx79N/PF61H5udOV3aY1IaMLs6pGbH71nlCTA==", - "dev": true, - "requires": { - "minipass": "^2.6.0" - } - }, - "hosted-git-info": { - "version": "2.8.8", - "resolved": "https://registry.npmjs.org/hosted-git-info/-/hosted-git-info-2.8.8.tgz", - "integrity": "sha512-f/wzC2QaWBs7t9IYqB4T3sR1xviIViXJRJTWBlx2Gf3g0Xi5vI7Yy4koXQ1c9OYDGHN9sBy1DQ2AB8fqZBWhUg==", - "dev": true - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "minipass": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/minipass/-/minipass-2.9.0.tgz", - "integrity": "sha512-wxfUjg9WebH+CUDX/CdbRlh5SmfZiy/hpkxaRI16Y9W56Pa75sWgd/rvFilSgrauD9NyFymP/+JFV3KwzIsJeg==", - "dev": true, - "requires": { - "safe-buffer": "^5.1.2", - "yallist": "^3.0.0" - } - }, - "minizlib": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/minizlib/-/minizlib-1.3.3.tgz", - "integrity": "sha512-6ZYMOEnmVsdCeTJVE0W9ZD+pVnE8h9Hma/iOwwRDsdQoePpoX56/8B6z3P9VNwppJuBKNRuFDRNRqRWexT9G9Q==", - "dev": true, - "requires": { - "minipass": "^2.9.0" - } - }, - "npm-package-arg": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/npm-package-arg/-/npm-package-arg-6.1.1.tgz", - "integrity": "sha512-qBpssaL3IOZWi5vEKUKW0cO7kzLeT+EQO9W8RsLOZf76KF9E/K9+wH0C7t06HXPpaH8WH5xF1MExLuCwbTqRUg==", - "dev": true, - "requires": { - "hosted-git-info": "^2.7.1", - "osenv": "^0.1.5", - "semver": "^5.6.0", - "validate-npm-package-name": "^3.0.0" - } - }, - "npm-pick-manifest": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/npm-pick-manifest/-/npm-pick-manifest-3.0.2.tgz", - "integrity": "sha512-wNprTNg+X5nf+tDi+hbjdHhM4bX+mKqv6XmPh7B5eG+QY9VARfQPfCEH013H5GqfNj6ee8Ij2fg8yk0mzps1Vw==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1", - "npm-package-arg": "^6.0.0", - "semver": "^5.4.1" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "tar": { - "version": "4.4.13", - "resolved": "https://registry.npmjs.org/tar/-/tar-4.4.13.tgz", - "integrity": "sha512-w2VwSrBoHa5BsSyH+KxEqeQBAllHhccyMFVHtGtdMpF4W7IRWfZjFiQceJPChOeTsSDVUpER2T8FA93pr0L+QA==", - "dev": true, - "requires": { - "chownr": "^1.1.1", - "fs-minipass": "^1.2.5", - "minipass": "^2.8.6", - "minizlib": "^1.2.1", - "mkdirp": "^0.5.0", - "safe-buffer": "^5.1.2", - "yallist": "^3.0.3" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true - } + "dependencies": { + "@npmcli/git": "^4.0.0", + "@npmcli/installed-package-contents": "^2.0.1", + "@npmcli/promise-spawn": "^6.0.1", + "@npmcli/run-script": "^6.0.0", + "cacache": "^17.0.0", + "fs-minipass": "^3.0.0", + "minipass": "^5.0.0", + "npm-package-arg": "^10.0.0", + "npm-packlist": "^7.0.0", + "npm-pick-manifest": "^8.0.0", + "npm-registry-fetch": "^14.0.0", + "proc-log": "^3.0.0", + "promise-retry": "^2.0.1", + "read-package-json": "^6.0.0", + "read-package-json-fast": "^3.0.0", + "sigstore": "^1.3.0", + "ssri": "^10.0.0", + "tar": "^6.1.11" + }, + "bin": { + "pacote": "lib/bin.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "pako": { + "node_modules/pako": { "version": "1.0.11", "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", "dev": true }, - "parallel-transform": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/parallel-transform/-/parallel-transform-1.2.0.tgz", - "integrity": "sha512-P2vSmIu38uIlvdcU7fDkyrxj33gTUy/ABO5ZUbGowxNCopBq/OoD42bP4UmMrJoPyk4Uqf0mu3mtWBhHCZD8yg==", - "dev": true, - "requires": { - "cyclist": "^1.0.1", - "inherits": "^2.0.3", - "readable-stream": "^2.1.5" - } - }, - "parent-module": { + "node_modules/parent-module": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", "dev": true, - "requires": { + "dependencies": { "callsites": "^3.0.0" }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, "dependencies": { - "callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", - "dev": true - } + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "parse-asn1": { - "version": "5.1.6", - "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", - "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "node_modules/parse-node-version": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parse-node-version/-/parse-node-version-1.0.1.tgz", + "integrity": "sha512-3YHlOa/JgH6Mnpr05jP9eDG254US9ek25LyIxZlDItp2iJtwyaXQb57lBYLdT3MowkUFYEV2XXNAYIPlESvJlA==", "dev": true, - "requires": { - "asn1.js": "^5.2.0", - "browserify-aes": "^1.0.0", - "evp_bytestokey": "^1.0.0", - "pbkdf2": "^3.0.3", - "safe-buffer": "^5.1.1" + "engines": { + "node": ">= 0.10" } }, - "parse-json": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-4.0.0.tgz", - "integrity": "sha1-vjX1Qlvh9/bHRxhPmKeIy5lHfuA=", + "node_modules/parse5": { + "version": "7.1.2", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-7.1.2.tgz", + "integrity": "sha512-Czj1WaSVpaoj0wbhMzLmWD69anp2WH7FXMB9n1Sy8/ZFF9jolSQVMu1Ij5WIyGmcBmhk7EOndpO4mIpihVqAXw==", + "devOptional": true, + "dependencies": { + "entities": "^4.4.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-7.0.0.tgz", + "integrity": "sha512-mazCyGWkmCRWDI15Zp+UiCqMp/0dgEmkZRvhlsqqKYr4SsVm/TvnSpD9fCvqCA2zoWJcfRym846ejWBBHRiYEg==", "dev": true, - "requires": { - "error-ex": "^1.3.1", - "json-parse-better-errors": "^1.0.1" + "dependencies": { + "entities": "^4.3.0", + "parse5": "^7.0.0", + "parse5-sax-parser": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" + } + }, + "node_modules/parse5-html-rewriting-stream/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "dev": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/parse5-htmlparser2-tree-adapter": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5-htmlparser2-tree-adapter/-/parse5-htmlparser2-tree-adapter-6.0.1.tgz", + "integrity": "sha512-qPuWvbLgvDGilKc5BoicRovlT4MtYT6JfJyBOMDsKoiT+GiuP5qyrPCnR9HcPECIJJmZh5jRndyNThnhhb/vlA==", + "dev": true, + "dependencies": { + "parse5": "^6.0.1" } }, - "parse5": { + "node_modules/parse5-htmlparser2-tree-adapter/node_modules/parse5": { "version": "6.0.1", "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", "dev": true }, - "parse5-html-rewriting-stream": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-html-rewriting-stream/-/parse5-html-rewriting-stream-6.0.1.tgz", - "integrity": "sha512-vwLQzynJVEfUlURxgnf51yAJDQTtVpNyGD8tKi2Za7m+akukNHxCcUQMAa/mUGLhCeicFdpy7Tlvj8ZNKadprg==", + "node_modules/parse5-sax-parser": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-7.0.0.tgz", + "integrity": "sha512-5A+v2SNsq8T6/mG3ahcz8ZtQ0OUFTatxPbeidoMB7tkJSGDY3tdfl4MHovtLQHkEn5CGxijNWRQHhRQ6IRpXKg==", "dev": true, - "requires": { - "parse5": "^6.0.1", - "parse5-sax-parser": "^6.0.1" + "dependencies": { + "parse5": "^7.0.0" + }, + "funding": { + "url": "https://github.com/inikulin/parse5?sponsor=1" } }, - "parse5-sax-parser": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5-sax-parser/-/parse5-sax-parser-6.0.1.tgz", - "integrity": "sha512-kXX+5S81lgESA0LsDuGjAlBybImAChYRMT+/uKCEXFBFOeEhS52qUCydGhU3qLRD8D9DVjaUo821WK7DM4iCeg==", - "dev": true, - "requires": { - "parse5": "^6.0.1" + "node_modules/parse5/node_modules/entities": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-4.5.0.tgz", + "integrity": "sha512-V0hjH4dGPh9Ao5p0MoRY6BVqtwCjhz6vI5LT8AJ55H+4g9/4vbHx1I54fS0XuclLhDHArPQCiMjDxjaL8fPxhw==", + "devOptional": true, + "engines": { + "node": ">=0.12" + }, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "parseurl": { + "node_modules/parseurl": { "version": "1.3.3", "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", - "dev": true - }, - "pascalcase": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/pascalcase/-/pascalcase-0.1.1.tgz", - "integrity": "sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ=", - "dev": true - }, - "path-browserify": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", - "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", - "dev": true - }, - "path-dirname": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/path-dirname/-/path-dirname-1.0.2.tgz", - "integrity": "sha1-zDPSTVJeCZpTiMAzbG4yuRYGCeA=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "path-exists": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-3.0.0.tgz", - "integrity": "sha1-zg6+ql94yxiSXqfYENe1mwEP1RU=", - "dev": true + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "path-is-absolute": { + "node_modules/path-is-absolute": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "path-is-inside": { + "node_modules/path-is-inside": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/path-is-inside/-/path-is-inside-1.0.2.tgz", "integrity": "sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM=", "dev": true }, - "path-key": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/path-key/-/path-key-2.0.1.tgz", - "integrity": "sha1-QRyttXTFoUDTpLGRDUDYDMn0C0A=", - "dev": true + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "path-parse": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.6.tgz", - "integrity": "sha512-GSmOT2EbHrINBf9SR7CDELwlJ8AENk3Qn7OikK4nFYAu3Ote2+JYNVvkpAEQm3/TLNEJFD/xZJjzyxg3KBWOzw==", + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", "dev": true }, - "path-to-regexp": { + "node_modules/path-scurry": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/path-scurry/-/path-scurry-1.7.0.tgz", + "integrity": "sha512-UkZUeDjczjYRE495+9thsgcVgsaCPkaw80slmfVFgllxY+IO8ubTsOpFVjDPROBqJdHfVPUFRHPBV/WciOVfWg==", + "dev": true, + "dependencies": { + "lru-cache": "^9.0.0", + "minipass": "^5.0.0" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/path-scurry/node_modules/lru-cache": { + "version": "9.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-9.1.1.tgz", + "integrity": "sha512-65/Jky17UwSb0BuB9V+MyDpsOtXKmYwzhyl+cOa9XUiI4uV2Ouy/2voFP3+al0BjZbJgMBD8FojMpAf+Z+qn4A==", + "dev": true, + "engines": { + "node": "14 || >=16.14" + } + }, + "node_modules/path-to-regexp": { "version": "0.1.7", "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", - "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "integrity": "sha512-5DFkuoqlv1uYQKxy8omFBeJPQcdoE07Kv2sferDCrAq1ohOU+MSDswDIbnx3YAM60qIOnYa53wBhXW0EbMonrQ==", "dev": true }, - "path-type": { + "node_modules/path-type": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", - "dev": true - }, - "pbkdf2": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.1.tgz", - "integrity": "sha512-4Ejy1OPxi9f2tt1rRV7Go7zmfDQ+ZectEQz3VGUQhgq62HtIRPDyG/JtnwIxs6x3uNMwo2V7q1fMvKjb+Tnpqg==", "dev": true, - "requires": { - "create-hash": "^1.1.2", - "create-hmac": "^1.1.4", - "ripemd160": "^2.0.1", - "safe-buffer": "^5.0.1", - "sha.js": "^2.4.8" + "engines": { + "node": ">=8" } }, - "performance-now": { + "node_modules/performance-now": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/performance-now/-/performance-now-2.1.0.tgz", "integrity": "sha1-Ywn04OX6kT7BxpMHrjZLSzd8nns=", "dev": true }, - "picomatch": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.2.2.tgz", - "integrity": "sha512-q0M/9eZHzmr0AulXyPwNfZjtwZ/RBZlbN3K3CErVrk50T2ASYI7Bye0EvekFY3IP1Nt2DHu0re+V2ZHIpMkuWg==", + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", "dev": true }, - "pify": { + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pify": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/pify/-/pify-4.0.1.tgz", "integrity": "sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "pinkie": { + "node_modules/pinkie": { "version": "2.0.4", "resolved": "https://registry.npmjs.org/pinkie/-/pinkie-2.0.4.tgz", "integrity": "sha1-clVrgM+g1IqXToDnckjoDtT3+HA=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "pinkie-promise": { + "node_modules/pinkie-promise": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/pinkie-promise/-/pinkie-promise-2.0.1.tgz", "integrity": "sha1-ITXW36ejWMBprJsXh3YogihFD/o=", "dev": true, - "requires": { + "dependencies": { "pinkie": "^2.0.0" - } - }, - "pkg-dir": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-3.0.0.tgz", - "integrity": "sha512-/E57AYkoeQ25qkxMj5PBOVgF8Kiu/h7cYS30Z5+R7WaiCCBfLq58ZI/dSeaEKb9WVJV5n/03QwrN3IeWIFllvw==", - "dev": true, - "requires": { - "find-up": "^3.0.0" - } - }, - "pnp-webpack-plugin": { - "version": "1.6.4", - "resolved": "https://registry.npmjs.org/pnp-webpack-plugin/-/pnp-webpack-plugin-1.6.4.tgz", - "integrity": "sha512-7Wjy+9E3WwLOEL30D+m8TSTF7qJJUJLONBnwQp0518siuMxUQUbgZwssaFX+QKlZkjHZcw/IpZCt/H0srrntSg==", - "dev": true, - "requires": { - "ts-pnp": "^1.1.6" - } - }, - "portfinder": { - "version": "1.0.28", - "resolved": "https://registry.npmjs.org/portfinder/-/portfinder-1.0.28.tgz", - "integrity": "sha512-Se+2isanIcEqf2XMHjyUKskczxbPH7dQnlMjXX6+dybayyHvAf/TCgyMRlzf/B6QDhAEFOGes0pzRo3by4AbMA==", - "dev": true, - "requires": { - "async": "^2.6.2", - "debug": "^3.1.1", - "mkdirp": "^0.5.5" }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "engines": { + "node": ">=0.10.0" } }, - "posix-character-classes": { - "version": "0.1.1", - "resolved": "https://registry.npmjs.org/posix-character-classes/-/posix-character-classes-0.1.1.tgz", - "integrity": "sha1-AerA/jta9xoqbAL+q7jB/vfgDqs=", - "dev": true - }, - "postcss": { - "version": "7.0.32", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.32.tgz", - "integrity": "sha512-03eXong5NLnNCD05xscnGKGDZ98CyzoqPSMjOe6SuoQY7Z2hIj0Ld1g/O/UQRuOle2aRtiIRDg9tDcTGAkLfKw==", + "node_modules/piscina": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/piscina/-/piscina-3.2.0.tgz", + "integrity": "sha512-yn/jMdHRw+q2ZJhFhyqsmANcbF6V2QwmD84c6xRau+QpQOmtrBCoRGdvTfeuFDYXB5W2m6MfLkjkvQa9lUSmIA==", "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } - } - }, - "postcss-calc": { - "version": "7.0.5", - "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-7.0.5.tgz", - "integrity": "sha512-1tKHutbGtLtEZF6PT4JSihCHfIVldU72mZ8SdZHIYriIZ9fh9k9aWSppaT8rHsyI3dX+KSR+W+Ix9BMY3AODrg==", - "dev": true, - "requires": { - "postcss": "^7.0.27", - "postcss-selector-parser": "^6.0.2", - "postcss-value-parser": "^4.0.2" - } - }, - "postcss-colormin": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-4.0.3.tgz", - "integrity": "sha512-WyQFAdDZpExQh32j0U0feWisZ0dmOtPl44qYmJKkq9xFWY3p+4qnRzCHeNrkeRhwPHz9bQ3mo0/yVkaply0MNw==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "color": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-convert-values": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-4.0.1.tgz", - "integrity": "sha512-Kisdo1y77KUC0Jmn0OXU/COOJbzM8cImvw1ZFsBgBgMgb1iL23Zs/LXRe3r+EZqM3vGYKdQ2YJVQ5VkJI+zEJQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "eventemitter-asyncresource": "^1.0.0", + "hdr-histogram-js": "^2.0.1", + "hdr-histogram-percentiles-obj": "^3.0.0" }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-discard-comments": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-4.0.2.tgz", - "integrity": "sha512-RJutN259iuRf3IW7GZyLM5Sw4GLTOH8FmsXBnv8Ab/Tc2k4SR4qbV4DNbyyY4+Sjo362SyDmW2DQ7lBSChrpkg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-duplicates": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-4.0.2.tgz", - "integrity": "sha512-ZNQfR1gPNAiXZhgENFfEglF93pciw0WxMkJeVmw8eF+JZBbMD7jp6C67GqJAXVZP2BWbOztKfbsdmMp/k8c6oQ==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-empty": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-4.0.1.tgz", - "integrity": "sha512-B9miTzbznhDjTfjvipfHoqbWKwd0Mj+/fL5s1QOz06wufguil+Xheo4XpOnc4NqKYBCNqqEzgPv2aPBIJLox0w==", - "dev": true, - "requires": { - "postcss": "^7.0.0" - } - }, - "postcss-discard-overridden": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-4.0.1.tgz", - "integrity": "sha512-IYY2bEDD7g1XM1IDEsUT4//iEYCxAmP5oDSFMVU/JVvT7gh+l4fmjciLqGgwjdWpQIdb0Che2VX00QObS5+cTg==", - "dev": true, - "requires": { - "postcss": "^7.0.0" + "optionalDependencies": { + "nice-napi": "^1.0.2" } }, - "postcss-import": { - "version": "12.0.1", - "resolved": "https://registry.npmjs.org/postcss-import/-/postcss-import-12.0.1.tgz", - "integrity": "sha512-3Gti33dmCjyKBgimqGxL3vcV8w9+bsHwO5UrBawp796+jdardbcFl4RP5w/76BwNL7aGzpKstIfF9I+kdE8pTw==", + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", "dev": true, - "requires": { - "postcss": "^7.0.1", - "postcss-value-parser": "^3.2.3", - "read-cache": "^1.0.0", - "resolve": "^1.1.7" - }, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "postcss-loader": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-4.0.4.tgz", - "integrity": "sha512-pntA9zIR14drQo84yGTjQJg1m7T0DkXR4vXYHBngiRZdJtEeCrojL6lOpqUanMzG375lIJbT4Yug85zC/AJWGw==", + "node_modules/postcss": { + "version": "8.4.23", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.23.tgz", + "integrity": "sha512-bQ3qMcpF6A/YjR55xtoTr0jGOlnPOKAIMdOWiv0EIT6HVPEaJiJB4NLljSbiHoC2RX7DN5Uvjtpbg1NPdwv1oA==", "dev": true, - "requires": { - "cosmiconfig": "^7.0.0", - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" }, - "cosmiconfig": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.0.tgz", - "integrity": "sha512-pondGvTuVYDk++upghXJabWzL6Kxu6f26ljFw64Swq9v6sQPUL3EUlVDV56diOjpCayKihL6hVe8exIACU4XcA==", - "dev": true, - "requires": { - "@types/parse-json": "^4.0.0", - "import-fresh": "^3.2.1", - "parse-json": "^5.0.0", - "path-type": "^4.0.0", - "yaml": "^1.10.0" - } + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "import-fresh": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.2.2.tgz", - "integrity": "sha512-cTPNrlvJT6twpYy+YmKUKrTSjWFs3bjYjAhCwm+z4EOCubZxAuO+hHpRN64TqjEaYSHs7tJAE0w1CKMGmsG/lw==", - "dev": true, - "requires": { - "parent-module": "^1.0.0", - "resolve-from": "^4.0.0" - } - }, - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "resolve-from": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", - "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", - "dev": true - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "dependencies": { + "nanoid": "^3.3.6", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" } }, - "postcss-merge-longhand": { - "version": "4.0.11", - "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-4.0.11.tgz", - "integrity": "sha512-alx/zmoeXvJjp7L4mxEMjh8lxVlDFX1gqWHzaaQewwMZiVhLo42TEClKaeHbRf6J7j82ZOdTJ808RtN0ZOZwvw==", + "node_modules/postcss-loader": { + "version": "7.2.4", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-7.2.4.tgz", + "integrity": "sha512-F88rpxxNspo5hatIc+orYwZDtHFaVFOSIVAx+fBfJC1GmhWbVmPWtmg2gXKE1OxJbneOSGn8PWdIwsZFcruS+w==", "dev": true, - "requires": { - "css-color-names": "0.0.4", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "stylehacks": "^4.0.0" - }, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-merge-rules": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-4.0.3.tgz", - "integrity": "sha512-U7e3r1SbvYzO0Jr3UT/zKBVgYYyhAz0aitvGIYOYK5CPmkNih+WDSsS5tvPrJ8YMQYlEMvsZIiqmn7HdFUaeEQ==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "cssnano-util-same-parent": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0", - "vendors": "^1.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } + "cosmiconfig": "^8.1.3", + "cosmiconfig-typescript-loader": "^4.3.0", + "klona": "^2.0.6", + "semver": "^7.3.8" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "ts-node": ">=10", + "typescript": ">=4", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "ts-node": { + "optional": true + }, + "typescript": { + "optional": true } } }, - "postcss-minify-font-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-4.0.2.tgz", - "integrity": "sha512-j85oO6OnRU9zPf04+PZv1LYIYOprWm6IA6zkXkrJXyRveDEuQggG6tvoy8ir8ZwjLxLuGfNkCZEQG7zan+Hbtg==", + "node_modules/postcss-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "postcss-minify-gradients": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-4.0.2.tgz", - "integrity": "sha512-qKPfwlONdcf/AndP1U8SJ/uzIJtowHlMaSioKzebAXSG4iJthlWC9iSWznQcX4f66gIWX44RSA841HTHj3wK+Q==", + "node_modules/postcss-loader/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "is-color-stop": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } - } - }, - "postcss-minify-params": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-4.0.2.tgz", - "integrity": "sha512-G7eWyzEx0xL4/wiBBJxJOz48zAKV2WG3iZOqVhPet/9geefm/Px5uo1fzlHu+DOjT+m0Mmiz3jkQzVHe6wxAWg==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "browserslist": "^4.0.0", - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "uniqs": "^2.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "postcss-minify-selectors": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-4.0.2.tgz", - "integrity": "sha512-D5S1iViljXBj9kflQo4YutWnJmwm8VvIsU1GeXJGiG9j8CIg9zs4voPMdQDUmIxetUOh60VilsNzCiAFTOqu3g==", - "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } - } + "node_modules/postcss-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "postcss-modules-extract-imports": { + "node_modules/postcss-modules-extract-imports": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", - "dev": true + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } }, - "postcss-modules-local-by-default": { + "node_modules/postcss-modules-local-by-default": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", "dev": true, - "requires": { + "dependencies": { "icss-utils": "^5.0.0", "postcss-selector-parser": "^6.0.2", "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "postcss-modules-scope": { + "node_modules/postcss-modules-scope": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", "dev": true, - "requires": { + "dependencies": { "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "postcss-modules-values": { + "node_modules/postcss-modules-values": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", "dev": true, - "requires": { + "dependencies": { "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" } }, - "postcss-normalize-charset": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-4.0.1.tgz", - "integrity": "sha512-gMXCrrlWh6G27U0hF3vNvR3w8I1s2wOBILvA87iNXaPvSNo5uZAMYsZG7XjCUf1eVxuPfyL4TJ7++SGZLc9A3g==", + "node_modules/postcss-selector-parser": { + "version": "6.0.12", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.12.tgz", + "integrity": "sha512-NdxGCAZdRrwVI1sy59+Wzrh+pMMHxapGnpfenDVlMEXoOcvt4pGE0JLK9YY2F5dLxcFYA/YbVQKhcGU+FtSYQg==", "dev": true, - "requires": { - "postcss": "^7.0.0" + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" } }, - "postcss-normalize-display-values": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-4.0.2.tgz", - "integrity": "sha512-3F2jcsaMW7+VtRMAqf/3m4cPFhPD3EFRgNs18u+k3lTJJlVe7d0YPO+bnwqo2xg8YiRpDXJI2u8A0wqJxMsQuQ==", + "node_modules/postcss-url": { + "version": "10.1.3", + "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-10.1.3.tgz", + "integrity": "sha512-FUzyxfI5l2tKmXdYc6VTu3TWZsInayEKPbiyW+P6vmmIrrb4I6CGX0BFoewgYHLK+oIL5FECEK02REYRpBvUCw==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "make-dir": "~3.1.0", + "mime": "~2.5.2", + "minimatch": "~3.0.4", + "xxhashjs": "~0.2.2" + }, + "engines": { + "node": ">=10" + }, + "peerDependencies": { + "postcss": "^8.0.0" } }, - "postcss-normalize-positions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-4.0.2.tgz", - "integrity": "sha512-Dlf3/9AxpxE+NF1fJxYDeggi5WwV35MXGFnnoccP/9qDtFrTArZ0D0R+iKcg5WsUd8nUYMIl8yXDCtcrT8JrdA==", + "node_modules/postcss-url/node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "postcss-normalize-repeat-style": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-4.0.2.tgz", - "integrity": "sha512-qvigdYYMpSuoFs3Is/f5nHdRLJN/ITA7huIoCyqqENJe9PvPmLhNLMu7QTjPdtnVf6OcYYO5SHonx4+fbJE1+Q==", + "node_modules/postcss-url/node_modules/mime": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/mime/-/mime-2.5.2.tgz", + "integrity": "sha512-tqkh47FzKeCPD2PUiPB6pkbMzsCasjxAfC62/Wap5qrUWcb+sFasXUC5I3gYM5iBM8v/Qpn4UK0x+j0iHyFPDg==", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "bin": { + "mime": "cli.js" }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "engines": { + "node": ">=4.0.0" } }, - "postcss-normalize-string": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-4.0.2.tgz", - "integrity": "sha512-RrERod97Dnwqq49WNz8qo66ps0swYZDSb6rM57kN2J+aoyEAJfZ6bMx0sx/F9TIEX0xthPGCmeyiam/jXif0eA==", + "node_modules/postcss-url/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", "dev": true, - "requires": { - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "bin": { + "semver": "bin/semver.js" } }, - "postcss-normalize-timing-functions": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-4.0.2.tgz", - "integrity": "sha512-acwJY95edP762e++00Ehq9L4sZCEcOPyaHwoaFOhIwWCDfik6YvqsYNxckee65JHLKzuNSSmAdxwD2Cud1Z54A==", + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/pretty-bytes": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", + "integrity": "sha512-FFw039TmrBqFK8ma/7OL3sDz/VytdtJr044/QUJtH0wK9lb9jLq9tJyIxUwtQJHwar2BqtiA4iCWSwo9JLkzFg==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "engines": { + "node": ">=6" }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/proc-log": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", + "integrity": "sha512-++Vn7NS4Xf9NacaU9Xq3URUuqZETPsf8L4j5/ckhaRYsfPeRyzGw+iDjFhV/Jr3uNmTvvddEJFWh5R1gRgUH8A==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", + "dev": true + }, + "node_modules/promise-inflight": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", + "integrity": "sha512-6zWPyEOFaQBJYcGMHBKTKJ3u6TBsnMFOIZSa6ce1e/ZrrsOlnHRHbabMjLiBYKp+n44X9eUI6VUPaukCXHuG4g==", + "dev": true + }, + "node_modules/promise-retry": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-2.0.1.tgz", + "integrity": "sha512-y+WKFlBR8BGXnsNlIHFGPZmyDf3DFMoLhaflAnyZgV6rG6xu+JwesTo2Q9R6XwYmtmwAFCkAk3e35jEdoeh/3g==", + "dev": true, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "err-code": "^2.0.2", + "retry": "^0.12.0" + }, + "engines": { + "node": ">=10" } }, - "postcss-normalize-unicode": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-4.0.1.tgz", - "integrity": "sha512-od18Uq2wCYn+vZ/qCOeutvHjB5jm57ToxRaMeNuf0nWVHaP9Hua56QyMF6fs/4FSUnVIw0CBPsU0K4LnBPwYwg==", + "node_modules/protractor": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", + "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", + "deprecated": "We have news to share - Protractor is deprecated and will reach end-of-life by Summer 2023. To learn more and find out about other options please refer to this post on the Angular blog. Thank you for using and contributing to Protractor. https://goo.gle/state-of-e2e-in-angular", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "dependencies": { + "@types/q": "^0.0.32", + "@types/selenium-webdriver": "^3.0.0", + "blocking-proxy": "^1.0.0", + "browserstack": "^1.5.1", + "chalk": "^1.1.3", + "glob": "^7.0.3", + "jasmine": "2.8.0", + "jasminewd2": "^2.1.0", + "q": "1.4.1", + "saucelabs": "^1.5.0", + "selenium-webdriver": "3.6.0", + "source-map-support": "~0.4.0", + "webdriver-js-extender": "2.1.0", + "webdriver-manager": "^12.1.7", + "yargs": "^15.3.1" + }, + "bin": { + "protractor": "bin/protractor", + "webdriver-manager": "bin/webdriver-manager" }, + "engines": { + "node": ">=10.13.x" + } + }, + "node_modules/protractor/node_modules/@types/q": { + "version": "0.0.32", + "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", + "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", + "dev": true + }, + "node_modules/protractor/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/array-union": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", + "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", + "dev": true, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "array-uniq": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "postcss-normalize-url": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-4.0.1.tgz", - "integrity": "sha512-p5oVaF4+IHwu7VpMan/SSpmpYxcJMtkGppYf0VbdH5B6hN8YNmVyJLuY9FmLQTzY3fag5ESUUHDqM+heid0UVA==", + "node_modules/protractor/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", "dev": true, - "requires": { - "is-absolute-url": "^2.0.0", - "normalize-url": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/cliui": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", + "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", + "dev": true, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^6.2.0" } }, - "postcss-normalize-whitespace": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-4.0.2.tgz", - "integrity": "sha512-tO8QIgrsI3p95r8fyqKV+ufKlSHh9hMJqACqbv2XknufqEDhDvbguXGBBqxw9nsQoXWf0qOqppziKJKHMD4GtA==", + "node_modules/protractor/node_modules/cliui/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/cliui/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, - "requires": { - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "dependencies": { + "ansi-regex": "^5.0.0" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "postcss-ordered-values": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-4.1.2.tgz", - "integrity": "sha512-2fCObh5UanxvSxeXrtLtlwVThBvHn6MQcu4ksNT2tsaV2Fg76R2CV98W7wNSlX+5/pFwEyaDwKLLoEV7uRybAw==", + "node_modules/protractor/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/protractor/node_modules/del": { + "version": "2.2.2", + "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", + "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", "dev": true, - "requires": { - "cssnano-util-get-arguments": "^4.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "dependencies": { + "globby": "^5.0.0", + "is-path-cwd": "^1.0.0", + "is-path-in-cwd": "^1.0.0", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0", + "rimraf": "^2.2.8" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/globby": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", + "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", + "dev": true, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "array-union": "^1.0.1", + "arrify": "^1.0.0", + "glob": "^7.0.3", + "object-assign": "^4.0.1", + "pify": "^2.0.0", + "pinkie-promise": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "postcss-reduce-initial": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-4.0.3.tgz", - "integrity": "sha512-gKWmR5aUulSjbzOfD9AlJiHCGH6AEVLaM0AV+aSioxUDd16qXP1PCh8d1/BGVvpdWn8k/HiK7n6TjeoXN1F7DA==", + "node_modules/protractor/node_modules/is-path-cwd": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", + "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", "dev": true, - "requires": { - "browserslist": "^4.0.0", - "caniuse-api": "^3.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0" + "engines": { + "node": ">=0.10.0" } }, - "postcss-reduce-transforms": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-4.0.2.tgz", - "integrity": "sha512-EEVig1Q2QJ4ELpJXMZR8Vt5DQx8/mo+dGWSR7vWXqcob2gQLyQGsionYcGKATXvQzMPn6DSN1vTN7yFximdIAg==", + "node_modules/protractor/node_modules/is-path-in-cwd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", + "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", "dev": true, - "requires": { - "cssnano-util-get-match": "^4.0.0", - "has": "^1.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0" + "dependencies": { + "is-path-inside": "^1.0.0" }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/protractor/node_modules/is-path-inside": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", + "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", + "dev": true, "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "path-is-inside": "^1.0.1" + }, + "engines": { + "node": ">=0.10.0" } }, - "postcss-selector-parser": { - "version": "6.0.4", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.4.tgz", - "integrity": "sha512-gjMeXBempyInaBqpp8gODmwZ52WaYsVOsfr4L4lDQ7n3ncD6mEyySiDtgzCT+NYC0mmeOLvtsF8iaEf0YT6dBw==", + "node_modules/protractor/node_modules/pify": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", + "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", "dev": true, - "requires": { - "cssesc": "^3.0.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1", - "util-deprecate": "^1.0.2" + "engines": { + "node": ">=0.10.0" } }, - "postcss-svgo": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-4.0.2.tgz", - "integrity": "sha512-C6wyjo3VwFm0QgBy+Fu7gCYOkCmgmClghO+pjcxvrcBKtiKt0uCF+hvbMO1fyv5BMImRK90SMb+dwUnfbGd+jw==", + "node_modules/protractor/node_modules/q": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", + "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", "dev": true, - "requires": { - "is-svg": "^3.0.0", - "postcss": "^7.0.0", - "postcss-value-parser": "^3.0.0", - "svgo": "^1.0.0" - }, - "dependencies": { - "postcss-value-parser": { - "version": "3.3.1", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-3.3.1.tgz", - "integrity": "sha512-pISE66AbVkp4fDQ7VHBwRNXzAAKJjw4Vw7nWI/+Q3vuly7SNfgYXvm6i5IgFylHGK5sP/xHAbB7N49OS4gWNyQ==", - "dev": true - } + "engines": { + "node": ">=0.6.0", + "teleport": ">=0.2.0" } }, - "postcss-unique-selectors": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-4.0.1.tgz", - "integrity": "sha512-+JanVaryLo9QwZjKrmJgkI4Fn8SBgRO6WXQBJi7KiAVPlmxikB5Jzc4EvXMT2H0/m0RjrVVm9rGNhZddm/8Spg==", + "node_modules/protractor/node_modules/source-map-support": { + "version": "0.4.18", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", + "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", "dev": true, - "requires": { - "alphanum-sort": "^1.0.0", - "postcss": "^7.0.0", - "uniqs": "^2.0.0" + "dependencies": { + "source-map": "^0.5.6" } }, - "postcss-url": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/postcss-url/-/postcss-url-8.0.0.tgz", - "integrity": "sha512-E2cbOQ5aii2zNHh8F6fk1cxls7QVFZjLPSrqvmiza8OuXLzIpErij8BDS5Y3STPfJgpIMNCPEr8JlKQWEoozUw==", + "node_modules/protractor/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", "dev": true, - "requires": { - "mime": "^2.3.1", - "minimatch": "^3.0.4", - "mkdirp": "^0.5.0", - "postcss": "^7.0.2", - "xxhashjs": "^0.2.1" - }, "dependencies": { - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true - } + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "postcss-value-parser": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.1.0.tgz", - "integrity": "sha512-97DXOFbQJhk71ne5/Mt6cOu6yxsSfM0QGQyl0L25Gca4yGWEGJaig7l7gbCX623VqTBNGLRLaVUCnNkcedlRSQ==", - "dev": true + "node_modules/protractor/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", + "dev": true, + "engines": { + "node": ">=0.8.0" + } }, - "process": { - "version": "0.11.10", - "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", - "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", - "dev": true + "node_modules/protractor/node_modules/webdriver-manager": { + "version": "12.1.7", + "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz", + "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==", + "dev": true, + "dependencies": { + "adm-zip": "^0.4.9", + "chalk": "^1.1.1", + "del": "^2.2.0", + "glob": "^7.0.3", + "ini": "^1.3.4", + "minimist": "^1.2.0", + "q": "^1.4.1", + "request": "^2.87.0", + "rimraf": "^2.5.2", + "semver": "^5.3.0", + "xml2js": "^0.4.17" + }, + "bin": { + "webdriver-manager": "bin/webdriver-manager" + }, + "engines": { + "node": ">=6.9.x" + } }, - "process-nextick-args": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", - "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==", - "dev": true + "node_modules/protractor/node_modules/wrap-ansi": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", + "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=8" + } }, - "promise-inflight": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/promise-inflight/-/promise-inflight-1.0.1.tgz", - "integrity": "sha1-mEcocL8igTL8vdhoEputEsPAKeM=", - "dev": true + "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-regex": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", + "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "promise-retry": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/promise-retry/-/promise-retry-1.1.1.tgz", - "integrity": "sha1-ZznpaOMFHaIM5kl/srUPaRHfPW0=", + "node_modules/protractor/node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, - "requires": { - "err-code": "^1.0.0", - "retry": "^0.10.0" - }, "dependencies": { - "retry": { - "version": "0.10.1", - "resolved": "https://registry.npmjs.org/retry/-/retry-0.10.1.tgz", - "integrity": "sha1-52OI0heZLCUnUCQdPTlW/tmNj/Q=", - "dev": true - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "protoduck": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/protoduck/-/protoduck-5.0.1.tgz", - "integrity": "sha512-WxoCeDCoCBY55BMvj4cAEjdVUFGRWed9ZxPlqTKYyw1nDDTQ4pqmnIMAGfJlg7Dx35uB/M+PHJPTmGOvaCaPTg==", + "node_modules/protractor/node_modules/wrap-ansi/node_modules/strip-ansi": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", + "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", "dev": true, - "requires": { - "genfun": "^5.0.0" + "dependencies": { + "ansi-regex": "^5.0.0" + }, + "engines": { + "node": ">=8" } }, - "protractor": { - "version": "7.0.0", - "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", - "integrity": "sha512-UqkFjivi4GcvUQYzqGYNe0mLzfn5jiLmO8w9nMhQoJRLhy2grJonpga2IWhI6yJO30LibWXJJtA4MOIZD2GgZw==", + "node_modules/protractor/node_modules/yargs": { + "version": "15.4.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", + "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", "dev": true, - "requires": { - "@types/q": "^0.0.32", - "@types/selenium-webdriver": "^3.0.0", - "blocking-proxy": "^1.0.0", - "browserstack": "^1.5.1", - "chalk": "^1.1.3", - "glob": "^7.0.3", - "jasmine": "2.8.0", - "jasminewd2": "^2.1.0", - "q": "1.4.1", - "saucelabs": "^1.5.0", - "selenium-webdriver": "3.6.0", - "source-map-support": "~0.4.0", - "webdriver-js-extender": "2.1.0", - "webdriver-manager": "^12.1.7", - "yargs": "^15.3.1" + "dependencies": { + "cliui": "^6.0.0", + "decamelize": "^1.2.0", + "find-up": "^4.1.0", + "get-caller-file": "^2.0.1", + "require-directory": "^2.1.1", + "require-main-filename": "^2.0.0", + "set-blocking": "^2.0.0", + "string-width": "^4.2.0", + "which-module": "^2.0.0", + "y18n": "^4.0.0", + "yargs-parser": "^18.1.2" }, + "engines": { + "node": ">=8" + } + }, + "node_modules/protractor/node_modules/yargs-parser": { + "version": "18.1.3", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", + "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", + "dev": true, "dependencies": { - "@types/q": { - "version": "0.0.32", - "resolved": "https://registry.npmjs.org/@types/q/-/q-0.0.32.tgz", - "integrity": "sha1-vShOV8hPEyXacCur/IKlMoGQwMU=", - "dev": true - }, - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "ansi-styles": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", - "integrity": "sha1-tDLdM1i2NM914eRmQ2gkBTPB3b4=", - "dev": true - }, - "array-union": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/array-union/-/array-union-1.0.2.tgz", - "integrity": "sha1-mjRBDk9OPaI96jdb5b5w8kd47Dk=", - "dev": true, - "requires": { - "array-uniq": "^1.0.1" - } - }, - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "chalk": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", - "integrity": "sha1-qBFcVeSnAv5NFQq9OHKCKn4J/Jg=", - "dev": true, - "requires": { - "ansi-styles": "^2.2.1", - "escape-string-regexp": "^1.0.2", - "has-ansi": "^2.0.0", - "strip-ansi": "^3.0.0", - "supports-color": "^2.0.0" - } - }, - "cliui": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-6.0.0.tgz", - "integrity": "sha512-t6wbgtoCXvAzst7QgXxJYqPt0usEfbgQdftEPbLL/cvv6HPE5VgvqCuAIDR0NgU52ds6rFwqrgakNLrHEjCbrQ==", - "dev": true, - "requires": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.0", - "wrap-ansi": "^6.2.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, - "requires": { - "color-name": "~1.1.4" - } - }, - "color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "del": { - "version": "2.2.2", - "resolved": "https://registry.npmjs.org/del/-/del-2.2.2.tgz", - "integrity": "sha1-wSyYHQZ4RshLyvhiz/kw2Qf/0ag=", - "dev": true, - "requires": { - "globby": "^5.0.0", - "is-path-cwd": "^1.0.0", - "is-path-in-cwd": "^1.0.0", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0", - "rimraf": "^2.2.8" - } - }, - "find-up": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", - "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", - "dev": true, - "requires": { - "locate-path": "^5.0.0", - "path-exists": "^4.0.0" - } - }, - "globby": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/globby/-/globby-5.0.0.tgz", - "integrity": "sha1-69hGZ8oNuzMLmbz8aOrCvFQ3Dg0=", - "dev": true, - "requires": { - "array-union": "^1.0.1", - "arrify": "^1.0.0", - "glob": "^7.0.3", - "object-assign": "^4.0.1", - "pify": "^2.0.0", - "pinkie-promise": "^2.0.0" - } - }, - "is-path-cwd": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-path-cwd/-/is-path-cwd-1.0.0.tgz", - "integrity": "sha1-0iXsIxMuie3Tj9p2dHLmLmXxEG0=", - "dev": true - }, - "is-path-in-cwd": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-in-cwd/-/is-path-in-cwd-1.0.1.tgz", - "integrity": "sha512-FjV1RTW48E7CWM7eE/J2NJvAEEVektecDBVBE5Hh3nM1Jd0kvhHtX68Pr3xsDf857xt3Y4AkwVULK1Vku62aaQ==", - "dev": true, - "requires": { - "is-path-inside": "^1.0.0" - } - }, - "is-path-inside": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-1.0.1.tgz", - "integrity": "sha1-jvW33lBDej/cprToZe96pVy0gDY=", - "dev": true, - "requires": { - "path-is-inside": "^1.0.1" - } - }, - "locate-path": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", - "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", - "dev": true, - "requires": { - "p-locate": "^4.1.0" - } - }, - "p-locate": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", - "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", - "dev": true, - "requires": { - "p-limit": "^2.2.0" - } - }, - "path-exists": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", - "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", - "dev": true - }, - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - }, - "q": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.4.1.tgz", - "integrity": "sha1-VXBbzZPF82c1MMLCy8DCs63cKG4=", - "dev": true - }, - "source-map-support": { - "version": "0.4.18", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.4.18.tgz", - "integrity": "sha512-try0/JqxPLF9nOjvSta7tVondkP5dwgyLDjVoyMDlmjugT2lRZ1OfsrYTkCd2hkDnJTKRbO/Rl3orm8vlsUzbA==", - "dev": true, - "requires": { - "source-map": "^0.5.6" - } - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", - "integrity": "sha1-U10EXOa2Nj+kARcIRimZXp3zJMc=", - "dev": true - }, - "webdriver-manager": { - "version": "12.1.7", - "resolved": "https://registry.npmjs.org/webdriver-manager/-/webdriver-manager-12.1.7.tgz", - "integrity": "sha512-XINj6b8CYuUYC93SG3xPkxlyUc3IJbD6Vvo75CVGuG9uzsefDzWQrhz0Lq8vbPxtb4d63CZdYophF8k8Or/YiA==", - "dev": true, - "requires": { - "adm-zip": "^0.4.9", - "chalk": "^1.1.1", - "del": "^2.2.0", - "glob": "^7.0.3", - "ini": "^1.3.4", - "minimist": "^1.2.0", - "q": "^1.4.1", - "request": "^2.87.0", - "rimraf": "^2.5.2", - "semver": "^5.3.0", - "xml2js": "^0.4.17" - } - }, - "wrap-ansi": { - "version": "6.2.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-6.2.0.tgz", - "integrity": "sha512-r6lPcBGxZXlIcymEu7InxDMhdW0KDxpLgoFLcguasxCaJ/SOIZwINatK9KY/tf+ZrlywOKU0UDj3ATXUBfxJXA==", - "dev": true, - "requires": { - "ansi-styles": "^4.0.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.0.tgz", - "integrity": "sha512-bY6fj56OUQ0hU1KjFNDQuJFezqKdrAyFdIevADiqrWHwSlbmBNMHp5ak2f40Pm8JTFyM2mqxkG6ngkHO11f/lg==", - "dev": true - }, - "ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, - "requires": { - "color-convert": "^2.0.1" - } - }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", - "dev": true, - "requires": { - "ansi-regex": "^5.0.0" - } - } - } - }, - "yargs": { - "version": "15.4.1", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-15.4.1.tgz", - "integrity": "sha512-aePbxDmcYW++PaqBsJ+HYUFwCdv4LVvdnhBy78E57PIor8/OVvhMrADFFEDh8DHDFRv/O9i3lPhsENjO7QX0+A==", - "dev": true, - "requires": { - "cliui": "^6.0.0", - "decamelize": "^1.2.0", - "find-up": "^4.1.0", - "get-caller-file": "^2.0.1", - "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^4.2.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^18.1.2" - } - }, - "yargs-parser": { - "version": "18.1.3", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-18.1.3.tgz", - "integrity": "sha512-o50j0JeToy/4K6OZcaQmW6lyXXKhq7csREXcDwk2omFPJEwUNOVtJKvmDr9EI1fAJZUyZcRF7kxGBWmRXudrCQ==", - "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - } - } + "camelcase": "^5.0.0", + "decamelize": "^1.2.0" + }, + "engines": { + "node": ">=6" } }, - "proxy-addr": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.6.tgz", - "integrity": "sha512-dh/frvCBVmSsDYzw6n926jv974gddhkFPfiN8hPOi30Wax25QZyZEGveluCgliBnqmuM+UJmBErbAUFIoDbjOw==", + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", "dev": true, - "requires": { - "forwarded": "~0.1.2", + "dependencies": { + "forwarded": "0.2.0", "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" } }, - "prr": { + "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", - "integrity": "sha1-0/wRS6BplaRexok/SEzrHXj19HY=", - "dev": true + "integrity": "sha512-yPw4Sng1gWghHQWj0B3ZggWUm4qVbPwPFcRG8KyxiU7J2OHFSoEHKS+EZ3fv5l1t9CyCiop6l/ZYeWbrgoQejw==", + "dev": true, + "optional": true }, - "psl": { + "node_modules/psl": { "version": "1.1.31", "resolved": "https://registry.npmjs.org/psl/-/psl-1.1.31.tgz", "integrity": "sha512-/6pt4+C+T+wZUieKR620OpzN/LlnNKuWjy1iFLQ/UG35JqHlR/89MP1d96dUfkf6Dne3TuLQzOYEYshJ+Hx8mw==", "dev": true }, - "public-encrypt": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", - "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", - "dev": true, - "requires": { - "bn.js": "^4.1.0", - "browserify-rsa": "^4.0.0", - "create-hash": "^1.1.0", - "parse-asn1": "^5.0.0", - "randombytes": "^2.0.1", - "safe-buffer": "^5.1.2" - }, - "dependencies": { - "bn.js": { - "version": "4.11.9", - "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.11.9.tgz", - "integrity": "sha512-E6QoYqCKZfgatHTdHzs1RRKP7ip4vvm+EyRUeE2RF0NblwVvb0p6jSVeNTOFxPn26QXN2o6SMfNxKp6kU8zQaw==", - "dev": true - } - } - }, - "pump": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/pump/-/pump-3.0.0.tgz", - "integrity": "sha512-LwZy+p3SFs1Pytd/jYct4wpv49HiYCqd9Rlc5ZVdk0V+8Yzv6jR5Blk3TRmPL1ft69TxP0IMZGJ+WPFU2BFhww==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - }, - "pumpify": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/pumpify/-/pumpify-1.5.1.tgz", - "integrity": "sha512-oClZI37HvuUJJxSKKrC17bZ9Cu0ZYhEAGPsPUy9KlMUmv9dKX2o77RUmq7f3XjIxbwyGwYzbzQ1L2Ks8sIradQ==", - "dev": true, - "requires": { - "duplexify": "^3.6.0", - "inherits": "^2.0.3", - "pump": "^2.0.0" - }, - "dependencies": { - "pump": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/pump/-/pump-2.0.1.tgz", - "integrity": "sha512-ruPMNRkN3MHP1cWJc9OWr+T/xDP0jhXYCLfJcBuX54hhfIBnaQmAUMfDcG4DM5UMWByBbJY69QSphm3jtDKIkA==", - "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "once": "^1.3.1" - } - } - } - }, - "punycode": { + "node_modules/punycode": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", - "dev": true - }, - "q": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/q/-/q-1.5.1.tgz", - "integrity": "sha1-fjL3W0E4EpHQRhHxvxQQmsAGUdc=", - "dev": true + "dev": true, + "engines": { + "node": ">=6" + } }, - "qjobs": { + "node_modules/qjobs": { "version": "1.2.0", "resolved": "https://registry.npmjs.org/qjobs/-/qjobs-1.2.0.tgz", "integrity": "sha512-8YOJEHtxpySA3fFDyCRxA+UUV+fA+rTWnuWvylOK/NCjhY+b4ocCtmu8TtsWb+mYeU+GCHf/S66KZF/AsteKHg==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.9" + } }, - "qs": { + "node_modules/qs": { "version": "6.5.2", "resolved": "https://registry.npmjs.org/qs/-/qs-6.5.2.tgz", "integrity": "sha512-N5ZAX4/LxJmF+7wN74pUD6qAh9/wnvdQcjq9TZjevvXzSUo7bfmw91saqMjzGS2xq91/odN2dW/WOl7qQHNDGA==", - "dev": true - }, - "querystring": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", - "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", - "dev": true - }, - "querystring-es3": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", - "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "querystringify": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/querystringify/-/querystringify-2.2.0.tgz", - "integrity": "sha512-FIqgj2EUvTa7R50u0rGsyTftzjYmv/a3hO345bZNrqabNqjtgiDMgmo4mkUjd+nzU5oF3dClKqFIPUKybUyqoQ==", - "dev": true + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] }, - "randombytes": { + "node_modules/randombytes": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", "dev": true, - "requires": { - "safe-buffer": "^5.1.0" - } - }, - "randomfill": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", - "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", - "dev": true, - "requires": { - "randombytes": "^2.0.5", + "dependencies": { "safe-buffer": "^5.1.0" } }, - "range-parser": { + "node_modules/range-parser": { "version": "1.2.1", "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.6" + } }, - "raw-body": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.4.0.tgz", - "integrity": "sha512-4Oz8DUIwdvoa5qMJelxipzi/iJIi40O5cGV1wNYp5hvZP8ZN0T+jiNkL0QepXs+EsQ9XJ8ipEDoiH70ySUJP3Q==", + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", "dev": true, - "requires": { - "bytes": "3.1.0", - "http-errors": "1.7.2", + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", "iconv-lite": "0.4.24", "unpipe": "1.0.0" }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/read-package-json": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/read-package-json/-/read-package-json-6.0.3.tgz", + "integrity": "sha512-4QbpReW4kxFgeBQ0vPAqh2y8sXEB3D4t3jsXbJKIhBiF80KT6XRo45reqwtftju5J6ru1ax06A2Gb/wM1qCOEQ==", + "dev": true, "dependencies": { - "bytes": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.0.tgz", - "integrity": "sha512-zauLjrfCG+xvoyaqLoV8bLVXXNGC4JqlxFCutSDWA6fJrTo2ZuvLYTqZ7aHBLZSMOopbzwv8f+wZcVzfVTI2Dg==", - "dev": true - } + "glob": "^10.2.2", + "json-parse-even-better-errors": "^3.0.0", + "normalize-package-data": "^5.0.0", + "npm-normalize-package-bin": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "raw-loader": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/raw-loader/-/raw-loader-4.0.2.tgz", - "integrity": "sha512-ZnScIV3ag9A4wPX/ZayxL/jZH+euYb6FcUinPcgiQW0+UBtEv0O6Q3lGd3cqJ+GHH+rksEv3Pj99oxJ3u3VIKA==", + "node_modules/read-package-json-fast": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/read-package-json-fast/-/read-package-json-fast-3.0.2.tgz", + "integrity": "sha512-0J+Msgym3vrLOUB3hzQCuZHII0xkNGCtz/HJH9xZshwv9DbDwkw1KaE3gx/e2J5rpEY5rtOy6cyhKOPrkP7FZw==", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" + "dependencies": { + "json-parse-even-better-errors": "^3.0.0", + "npm-normalize-package-bin": "^3.0.0" }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json-fast/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", + "dev": true, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/read-package-json/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "balanced-match": "^1.0.0" } }, - "read-cache": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/read-cache/-/read-cache-1.0.0.tgz", - "integrity": "sha1-5mTvMRYRZsl1HNvo28+GtftY93Q=", + "node_modules/read-package-json/node_modules/glob": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.3.tgz", + "integrity": "sha512-Kb4rfmBVE3eQTAimgmeqc2LwSnN0wIOkkUL6HmxEFxNJ4fHghYHVbFba/HcGcRjE6s9KoMNK3rSOwkL4PioZjg==", "dev": true, - "requires": { - "pify": "^2.3.0" - }, "dependencies": { - "pify": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/pify/-/pify-2.3.0.tgz", - "integrity": "sha1-7RQaasBDqEnqWISY59yosVMw6Qw=", - "dev": true - } + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.0", + "minipass": "^5.0.0", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "read-pkg": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/read-pkg/-/read-pkg-5.2.0.tgz", - "integrity": "sha512-Ug69mNOpfvKDAc2Q8DRpMjjzdtrnv9HcSMX+4VsZxD1aZ6ZzrIE7rlzXBtWTyhULSMKg076AW6WR5iZpD0JiOg==", + "node_modules/read-package-json/node_modules/json-parse-even-better-errors": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-3.0.0.tgz", + "integrity": "sha512-iZbGHafX/59r39gPwVPRBGw0QQKnA7tte5pSMrhWOW7swGsVvVTjmfyAV9pNqk8YGT7tRCdxRu8uzcgZwoDooA==", "dev": true, - "requires": { - "@types/normalize-package-data": "^2.4.0", - "normalize-package-data": "^2.5.0", - "parse-json": "^5.0.0", - "type-fest": "^0.6.0" - }, - "dependencies": { - "parse-json": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.1.0.tgz", - "integrity": "sha512-+mi/lmVVNKFNVyLXV31ERiy2CY5E1/F6QtJFEzoChPRwwngMNXRDQ9GJ5WdE2Z2P4AujsOi0/+2qHID68KwfIQ==", - "dev": true, - "requires": { - "@babel/code-frame": "^7.0.0", - "error-ex": "^1.3.1", - "json-parse-even-better-errors": "^2.3.0", - "lines-and-columns": "^1.1.6" - } - }, - "type-fest": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.6.0.tgz", - "integrity": "sha512-q+MB8nYR1KDLrgr4G5yemftpMC7/QLqVndBmEEdqzmNj5dcFOO4Oo8qlwZE3ULT3+Zim1F8Kq4cBnikNhlCMlg==", - "dev": true - } + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "read-pkg-up": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/read-pkg-up/-/read-pkg-up-5.0.0.tgz", - "integrity": "sha512-XBQjqOBtTzyol2CpsQOw8LHV0XbDZVG7xMMjmXAJomlVY03WOBRmYgDJETlvcg0H63AJvPRwT7GFi5rvOzUOKg==", + "node_modules/read-package-json/node_modules/minimatch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", "dev": true, - "requires": { - "find-up": "^3.0.0", - "read-pkg": "^5.0.0" + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "readable-stream": { + "node_modules/readable-stream": { "version": "2.3.6", "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.6.tgz", "integrity": "sha512-tQtKA9WIAhBF3+VLAseyMqZeBjW0AHJoxOtYqSUZNJxauErmLbVm2FW1y+J/YA9dUrAC39ITejlZWhVIwawkKw==", "dev": true, - "requires": { + "dependencies": { "core-util-is": "~1.0.0", "inherits": "~2.0.3", "isarray": "~1.0.0", @@ -12180,138 +12390,108 @@ "util-deprecate": "~1.0.1" } }, - "readdirp": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.5.0.tgz", - "integrity": "sha512-cMhu7c/8rdhkHXWsY+osBhfSy0JikwpHK/5+imo+LpeasTF8ouErHrlYkwT0++njiyuDvc7OFY5T3ukvZ8qmFQ==", + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", "dev": true, - "requires": { + "dependencies": { "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" } }, - "reflect-metadata": { + "node_modules/reflect-metadata": { "version": "0.1.13", "resolved": "https://registry.npmjs.org/reflect-metadata/-/reflect-metadata-0.1.13.tgz", "integrity": "sha512-Ts1Y/anZELhSsjMcU605fU9RE4Oi3p5ORujwbIKXfWa+0Zxs510Qrmrce5/Jowq3cHSZSJqBjypxmHarc+vEWg==", "dev": true }, - "regenerate": { + "node_modules/regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", "dev": true }, - "regenerate-unicode-properties": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-8.2.0.tgz", - "integrity": "sha512-F9DjY1vKLo/tPePDycuH3dn9H1OTPIkVD9Kz4LODu+F2C75mgjAJ7x/gwy6ZcSNRAAkhNlJSOHRe8k3p+K9WhA==", + "node_modules/regenerate-unicode-properties": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.1.0.tgz", + "integrity": "sha512-d1VudCLoIGitcU/hEg2QqvyGZQmdC0Lf8BqdOMXGFSvJP4bNV1+XqbPQeHHLD51Jh4QJJ225dlIFvY4Ly6MXmQ==", "dev": true, - "requires": { - "regenerate": "^1.4.0" + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" } }, - "regenerator-runtime": { - "version": "0.13.7", - "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.7.tgz", - "integrity": "sha512-a54FxoJDIr27pgf7IgeQGxmqUNYrcV338lf/6gH456HZ/PhX+5BcwHXG9ajESmwe6WRO0tAzRUrRmNONWgkrew==", + "node_modules/regenerator-runtime": { + "version": "0.13.11", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.11.tgz", + "integrity": "sha512-kY1AZVr2Ra+t+piVaJ4gxaFaReZVH40AKNo7UCX6W+dEwBo/2oZJzqfuN1qLq1oL45o56cPaTXELwrTh8Fpggg==", "dev": true }, - "regenerator-transform": { - "version": "0.14.5", - "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.14.5.tgz", - "integrity": "sha512-eOf6vka5IO151Jfsw2NO9WpGX58W6wWmefK3I1zEGr0lOD0u8rwPaNqQL1aRxUaxLeKO3ArNh3VYg1KbaD+FFw==", + "node_modules/regenerator-transform": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.1.tgz", + "integrity": "sha512-knzmNAcuyxV+gQCufkYcvOqX/qIIfHLv0u5x79kRxuGojfYVky1f15TzZEu2Avte8QGepvUNTnLskf8E6X6Vyg==", "dev": true, - "requires": { + "dependencies": { "@babel/runtime": "^7.8.4" } }, - "regex-not": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/regex-not/-/regex-not-1.0.2.tgz", - "integrity": "sha512-J6SDjUgDxQj5NusnOtdFxDwN/+HWykR8GELwctJ7mdqhcyy1xEc4SRFHUXvxTp661YaVKAjfRLZ9cCqS6tn32A==", - "dev": true, - "requires": { - "extend-shallow": "^3.0.2", - "safe-regex": "^1.1.0" - } - }, - "regex-parser": { + "node_modules/regex-parser": { "version": "2.2.11", "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", "dev": true }, - "regexp.prototype.flags": { - "version": "1.3.0", - "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.3.0.tgz", - "integrity": "sha512-2+Q0C5g951OlYlJz6yu5/M33IcsESLlLfsyIaLJaG4FA2r4yP8MvVMJUUP/fVBkSpbbbZlS5gynbEWLipiiXiQ==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.0-next.1" - } - }, - "regexpu-core": { - "version": "4.7.1", - "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-4.7.1.tgz", - "integrity": "sha512-ywH2VUraA44DZQuRKzARmw6S66mr48pQVva4LBeRhcOltJ6hExvWly5ZjFLYo67xbIxb6W1q4bAGtgfEl20zfQ==", + "node_modules/regexpu-core": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", + "integrity": "sha512-RAM5FlZz+Lhmo7db9L298p2vHP5ZywrVXmVXpmAD9GuL5MPH6t9ROw1iA/wfHkQ76Qe7AaPF0nGuim96/IrQMQ==", "dev": true, - "requires": { - "regenerate": "^1.4.0", - "regenerate-unicode-properties": "^8.2.0", - "regjsgen": "^0.5.1", - "regjsparser": "^0.6.4", - "unicode-match-property-ecmascript": "^1.0.4", - "unicode-match-property-value-ecmascript": "^1.2.0" + "dependencies": { + "@babel/regjsgen": "^0.8.0", + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.1.0", + "regjsparser": "^0.9.1", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.1.0" + }, + "engines": { + "node": ">=4" } }, - "regjsgen": { - "version": "0.5.2", - "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.5.2.tgz", - "integrity": "sha512-OFFT3MfrH90xIW8OOSyUrk6QHD5E9JOTeGodiJeBS3J6IwlgzJMNE/1bZklWz5oTg+9dCMyEetclvCVXOPoN3A==", - "dev": true - }, - "regjsparser": { - "version": "0.6.4", - "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.6.4.tgz", - "integrity": "sha512-64O87/dPDgfk8/RQqC4gkZoGyyWFIEUTTh80CU6CWuK5vkCGyekIx+oKcEIYtP/RAxSQltCZHCNu/mdd7fqlJw==", + "node_modules/regjsparser": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.9.1.tgz", + "integrity": "sha512-dQUtn90WanSNl+7mQKcXAgZxvUe7Z0SqXlgzv0za4LwiUhyzBC58yQO3liFoUgu8GiJVInAhJjkj1N0EtQ5nkQ==", "dev": true, - "requires": { + "dependencies": { "jsesc": "~0.5.0" }, - "dependencies": { - "jsesc": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", - "integrity": "sha1-597mbjXW/Bb3EP6R1c9p9w8IkR0=", - "dev": true - } + "bin": { + "regjsparser": "bin/parser" } }, - "remove-trailing-separator": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/remove-trailing-separator/-/remove-trailing-separator-1.1.0.tgz", - "integrity": "sha1-wkvOKig62tW8P1jg1IJJuSN52O8=", - "dev": true - }, - "repeat-element": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/repeat-element/-/repeat-element-1.1.3.tgz", - "integrity": "sha512-ahGq0ZnV5m5XtZLMb+vP76kcAM5nkLqk0lpqAuojSKGgQtn4eRi4ZZGm2olo2zKFH+sMsWaqOCW1dqAnOru72g==", - "dev": true - }, - "repeat-string": { - "version": "1.6.1", - "resolved": "https://registry.npmjs.org/repeat-string/-/repeat-string-1.6.1.tgz", - "integrity": "sha1-jcrkcOHIirwtYA//Sndihtp15jc=", - "dev": true + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } }, - "request": { + "node_modules/request": { "version": "2.88.0", "resolved": "https://registry.npmjs.org/request/-/request-2.88.0.tgz", "integrity": "sha512-NAqBSrijGLZdM0WZNsInLJpkJokL72XYjUpnB0iwsRgxh7dB6COrHnTBNwN0E+lHDAJzu7kLAkDeY08z2/A0hg==", + "deprecated": "request has been deprecated, see https://github.com/request/request/issues/3142", "dev": true, - "requires": { + "dependencies": { "aws-sign2": "~0.7.0", "aws4": "^1.8.0", "caseless": "~0.12.0", @@ -12332,549 +12512,511 @@ "tough-cookie": "~2.4.3", "tunnel-agent": "^0.6.0", "uuid": "^3.3.2" + }, + "engines": { + "node": ">= 4" } }, - "require-directory": { + "node_modules/require-directory": { "version": "2.1.1", "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "require-main-filename": { + "node_modules/require-main-filename": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/require-main-filename/-/require-main-filename-2.0.0.tgz", "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, - "requires-port": { + "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", "dev": true }, - "resolve": { - "version": "1.19.0", - "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.19.0.tgz", - "integrity": "sha512-rArEXAgsBG4UgRGcynxWIWKFvh/XZCcS8UJdHhwy91zwAvCZIbcs+vAbflgBnNjYMs/i/i+/Ux6IZhML1yPvxg==", + "node_modules/resolve": { + "version": "1.22.2", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.2.tgz", + "integrity": "sha512-Sb+mjNHOULsBv818T40qSPeRiuWLyaGMa5ewydRLFimneixmVy2zdivRl+AF6jaYPC8ERxGDmFSiqui6SfPd+g==", "dev": true, - "requires": { - "is-core-module": "^2.1.0", - "path-parse": "^1.0.6" + "dependencies": { + "is-core-module": "^2.11.0", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "resolve-cwd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-2.0.0.tgz", - "integrity": "sha1-AKn3OHVW4nA46uIyyqNypqWbZlo=", + "node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", "dev": true, - "requires": { - "resolve-from": "^3.0.0" + "engines": { + "node": ">=8" } }, - "resolve-from": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-3.0.0.tgz", - "integrity": "sha1-six699nWiBvItuZTM17rywoYh0g=", - "dev": true - }, - "resolve-url": { - "version": "0.2.1", - "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", - "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", - "dev": true - }, - "resolve-url-loader": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.2.tgz", - "integrity": "sha512-QEb4A76c8Mi7I3xNKXlRKQSlLBwjUV/ULFMP+G7n3/7tJZ8MG5wsZ3ucxP1Jz8Vevn6fnJsxDx9cIls+utGzPQ==", - "dev": true, - "requires": { - "adjust-sourcemap-loader": "3.0.0", - "camelcase": "5.3.1", - "compose-function": "3.0.3", - "convert-source-map": "1.7.0", - "es6-iterator": "2.0.3", - "loader-utils": "1.2.3", - "postcss": "7.0.21", - "rework": "1.0.1", - "rework-visit": "1.0.0", + "node_modules/resolve-url-loader": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-5.0.0.tgz", + "integrity": "sha512-uZtduh8/8srhBoMx//5bwqjQ+rfYOUq8zC9NrMUGtjBiGTtFJM42s58/36+hTqeqINcnYe08Nj3LkK9lW4N8Xg==", + "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "^4.0.0", + "convert-source-map": "^1.7.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.14", "source-map": "0.6.1" }, + "engines": { + "node": ">=12" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "dev": true, "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - }, - "emojis-list": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", - "integrity": "sha1-TapNnbAPmBmIDHn6RXrlsJof04k=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", - "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^2.0.0", - "json5": "^1.0.1" - } - }, - "postcss": { - "version": "7.0.21", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.21.tgz", - "integrity": "sha512-uIFtJElxJo29QC753JzhidoAhvp/e/Exezkdhfmt8AymWT6/5B7W1WmponYWkHk2eg6sONyTch0A3nkMPun3SQ==", - "dev": true, - "requires": { - "chalk": "^2.4.2", - "source-map": "^0.6.1", - "supports-color": "^6.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } - } + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/resolve-url-loader/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "restore-cursor": { + "node_modules/restore-cursor": { "version": "3.1.0", "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", "dev": true, - "requires": { + "dependencies": { "onetime": "^5.1.0", "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" } }, - "ret": { - "version": "0.1.15", - "resolved": "https://registry.npmjs.org/ret/-/ret-0.1.15.tgz", - "integrity": "sha512-TTlYpa+OL+vMMNG24xSlQGEJ3B/RzEfUlLct7b5G/ytav+wPrplCpVMFuwzXbkecJrb6IYo1iFb0S9v37754mg==", - "dev": true - }, - "retry": { + "node_modules/retry": { "version": "0.12.0", "resolved": "https://registry.npmjs.org/retry/-/retry-0.12.0.tgz", - "integrity": "sha1-G0KmJmoh8HQh0bC1S33BZ7AcATs=", - "dev": true + "integrity": "sha512-9LkiTwjUh6rT555DtE9rTX+BKByPfrMzEAtnlEtdEwr3Nkffwiihqe2bWADg+OQRjt9gl6ICdmB/ZFDCGAtSow==", + "dev": true, + "engines": { + "node": ">= 4" + } }, - "reusify": { + "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", - "dev": true - }, - "rework": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", - "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", "dev": true, - "requires": { - "convert-source-map": "^0.3.3", - "css": "^2.0.0" - }, - "dependencies": { - "convert-source-map": { - "version": "0.3.5", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", - "integrity": "sha1-8dgClQr33SYxof6+BZZVDIarMZA=", - "dev": true - } + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" } }, - "rework-visit": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", - "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", - "dev": true - }, - "rfdc": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.1.4.tgz", - "integrity": "sha512-5C9HXdzK8EAqN7JDif30jqsBzavB7wLpaubisuQIGHWf2gUXSpzy6ArX/+Da8RjFpagWsCn+pIgxTMAmKw9Zug==", - "dev": true - }, - "rgb-regex": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/rgb-regex/-/rgb-regex-1.0.1.tgz", - "integrity": "sha1-wODWiC3w4jviVKR16O3UGRX+rrE=", - "dev": true - }, - "rgba-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/rgba-regex/-/rgba-regex-1.0.0.tgz", - "integrity": "sha1-QzdOLiyglosO8VI0YLfXMP8i7rM=", + "node_modules/rfdc": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/rfdc/-/rfdc-1.3.0.tgz", + "integrity": "sha512-V2hovdzFbOi77/WajaSMXk2OLm+xNIeQdMMuB7icj7bk6zi2F8GGAxigcnDFpJHbNyNcgyJDiP+8nOrY5cZGrA==", "dev": true }, - "rimraf": { + "node_modules/rimraf": { "version": "2.6.3", "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-2.6.3.tgz", "integrity": "sha512-mwqeW5XsA2qAejG46gYdENaxXjx9onRNCfn7L0duuP4hCuTIi/QO7PDK07KJfp1d+izWPrzEJDcSqBa0OZQriA==", "dev": true, - "requires": { + "dependencies": { "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" } }, - "ripemd160": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", - "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", - "dev": true, - "requires": { - "hash-base": "^3.0.0", - "inherits": "^2.0.1" - } - }, - "rollup": { - "version": "2.32.1", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-2.32.1.tgz", - "integrity": "sha512-Op2vWTpvK7t6/Qnm1TTh7VjEZZkN8RWgf0DHbkKzQBwNf748YhXbozHVefqpPp/Fuyk/PQPAnYsBxAEtlMvpUw==", + "node_modules/rollup": { + "version": "3.21.6", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-3.21.6.tgz", + "integrity": "sha512-SXIICxvxQxR3D4dp/3LDHZIJPC8a4anKMHd4E3Jiz2/JnY+2bEjqrOokAauc5ShGVNFHlEFjBXAXlaxkJqIqSg==", "dev": true, - "requires": { - "fsevents": "~2.1.2" - } - }, - "rollup-plugin-sourcemaps": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/rollup-plugin-sourcemaps/-/rollup-plugin-sourcemaps-0.6.3.tgz", - "integrity": "sha512-paFu+nT1xvuO1tPFYXGe+XnQvg4Hjqv/eIhG8i5EspfYYPBKL57X7iVbfv55aNVASg3dzWvES9dmWsL2KhfByw==", - "dev": true, - "requires": { - "@rollup/pluginutils": "^3.0.9", - "source-map-resolve": "^0.6.0" - }, - "dependencies": { - "source-map-resolve": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.6.0.tgz", - "integrity": "sha512-KXBr9d/fO/bWo97NXsPIAW1bFSBOuCnjbNTBMO7N59hsv5i9yzRDfcYwwt0l04+VqnKC+EwzvJZIP/qkuMgR/w==", - "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0" - } - } + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=14.18.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" } }, - "run-async": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.0.tgz", - "integrity": "sha512-xJTbh/d7Lm7SBhc1tNvTpeCHaEzoyxPrqNlvSdMfBTYwaY++UJFyXUOxAtsRUXjlqOfj8luNaR9vjCh4KeV+pg==", + "node_modules/run-async": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/run-async/-/run-async-2.4.1.tgz", + "integrity": "sha512-tvVnVv01b8c1RrA6Ep7JkStj85Guv/YrMcwqYQnwjsAS2cTmmPGBBjAjpCW7RrSodNSoE2/qg9O4bceNvUuDgQ==", "dev": true, - "requires": { - "is-promise": "^2.1.0" + "engines": { + "node": ">=0.12.0" } }, - "run-parallel": { - "version": "1.1.10", - "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.1.10.tgz", - "integrity": "sha512-zb/1OuZ6flOlH6tQyMPUrE3x3Ulxjlo9WIVXR4yVYi4H9UXQaeIsPbLn2R3O3vQCnDKkAl2qHiuocKKX4Tz/Sw==", - "dev": true - }, - "run-queue": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/run-queue/-/run-queue-1.0.3.tgz", - "integrity": "sha1-6Eg5bwV9Ij8kOGkkYY4laUFh7Ec=", + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", "dev": true, - "requires": { - "aproba": "^1.1.1" + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" } }, - "rxjs": { - "version": "6.6.3", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.3.tgz", - "integrity": "sha512-trsQc+xYYXZ3urjOiJOuCOa5N3jAZ3eiSpQB5hIT8zGlL2QfnHLJ2r7GMkBGuIausdJN1OneaI6gQlsqNHHmZQ==", - "requires": { - "tslib": "^1.9.0" - }, + "node_modules/rxjs": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.1.tgz", + "integrity": "sha512-AA3TVj+0A2iuIoQkWEK/tqFjBq2j+6PO6Y0zJcvzLAFhEFIO3HL0vls9hWLncZbAAbK0mar7oZ4V079I/qPMxg==", "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" - } + "tslib": "^2.1.0" } }, - "safe-buffer": { + "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==", "dev": true }, - "safe-regex": { - "version": "1.1.0", - "resolved": "http://registry.npmjs.org/safe-regex/-/safe-regex-1.1.0.tgz", - "integrity": "sha1-QKNmnzsHfR6UPURinhV91IAjvy4=", - "dev": true, - "requires": { - "ret": "~0.1.10" - } - }, - "safer-buffer": { + "node_modules/safer-buffer": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", "dev": true }, - "sass": { - "version": "1.27.0", - "resolved": "https://registry.npmjs.org/sass/-/sass-1.27.0.tgz", - "integrity": "sha512-0gcrER56OkzotK/GGwgg4fPrKuiFlPNitO7eUJ18Bs+/NBlofJfMxmxqpqJxjae9vu0Wq8TZzrSyxZal00WDig==", + "node_modules/safevalues": { + "version": "0.3.4", + "resolved": "https://registry.npmjs.org/safevalues/-/safevalues-0.3.4.tgz", + "integrity": "sha512-LRneZZRXNgjzwG4bDQdOTSbze3fHm1EAKN/8bePxnlEZiBmkYEDggaHbuvHI9/hoqHbGfsEA7tWS9GhYHZBBsw==" + }, + "node_modules/sass": { + "version": "1.62.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.62.1.tgz", + "integrity": "sha512-NHpxIzN29MXvWiuswfc1W3I0N8SXBd8UR26WntmDlRYf0bSADnwnOjsyMZ3lMezSlArD33Vs3YFhp7dWvL770A==", "dev": true, - "requires": { - "chokidar": ">=2.0.0 <4.0.0" + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=14.0.0" } }, - "sass-loader": { - "version": "10.0.5", - "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-10.0.5.tgz", - "integrity": "sha512-2LqoNPtKkZq/XbXNQ4C64GFEleSEHKv6NPSI+bMC/l+jpEXGJhiRYkAQToO24MR7NU4JRY2RpLpJ/gjo2Uf13w==", + "node_modules/sass-loader": { + "version": "13.2.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-13.2.2.tgz", + "integrity": "sha512-nrIdVAAte3B9icfBiGWvmMhT/D+eCDwnk+yA7VE/76dp/WkHX+i44Q/pfo71NYbwj0Ap+PGsn0ekOuU1WFJ2AA==", "dev": true, - "requires": { - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "neo-async": "^2.6.2", - "schema-utils": "^3.0.0", - "semver": "^7.3.2" - }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true + "klona": "^2.0.6", + "neo-async": "^2.6.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0", + "sass": "^1.3.0", + "sass-embedded": "*", + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true }, - "neo-async": { - "version": "2.6.2", - "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", - "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", - "dev": true + "node-sass": { + "optional": true }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } + "sass": { + "optional": true }, - "semver": { - "version": "7.3.2", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.2.tgz", - "integrity": "sha512-OrOb32TeeambH6UrhtShmF7CRDqhL6/5XpPNp2DuRH6+9QLw/orhp72j87v8Qa1ScDkvrrBNpZcDejAirJmfXQ==", - "dev": true + "sass-embedded": { + "optional": true } } }, - "saucelabs": { + "node_modules/saucelabs": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/saucelabs/-/saucelabs-1.5.0.tgz", "integrity": "sha512-jlX3FGdWvYf4Q3LFfFWS1QvPg3IGCGWxIc8QBFdPTbpTJnt/v17FHXYVAn7C8sHf1yUXo2c7yIM0isDryfYtHQ==", "dev": true, - "requires": { + "dependencies": { "https-proxy-agent": "^2.2.1" + }, + "engines": { + "node": "*" } }, - "sax": { + "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", "dev": true }, - "schema-utils": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", - "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "node_modules/schema-utils": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.1.tgz", + "integrity": "sha512-lELhBAAly9NowEsX0yZBlw9ahZG+sK/1RJ21EpzdYHKEs13Vku3LJ+MIPhh4sMs0oCCeufZQEQbMekiA4vuVIQ==", "dev": true, - "requires": { - "@types/json-schema": "^7.0.5", - "ajv": "^6.12.4", - "ajv-keywords": "^3.5.2" + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.9.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.1.0" }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/schema-utils/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - } + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/schema-utils/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" } }, - "select-hose": { + "node_modules/schema-utils/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/select-hose": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", - "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "integrity": "sha512-mEugaLK+YfkijB4fx0e6kImuJdCIt2LxCRcbEYPqRGCs4F2ogyfZU5IAZRdjCP8JPq2AtdNoC/Dux63d9Kiryg==", "dev": true }, - "selenium-webdriver": { + "node_modules/selenium-webdriver": { "version": "3.6.0", "resolved": "https://registry.npmjs.org/selenium-webdriver/-/selenium-webdriver-3.6.0.tgz", "integrity": "sha512-WH7Aldse+2P5bbFBO4Gle/nuQOdVwpHMTL6raL3uuBj/vPG07k6uzt3aiahu352ONBr5xXh0hDlM3LhtXPOC4Q==", "dev": true, - "requires": { + "dependencies": { "jszip": "^3.1.3", "rimraf": "^2.5.4", "tmp": "0.0.30", "xml2js": "^0.4.17" }, + "engines": { + "node": ">= 6.9.0" + } + }, + "node_modules/selenium-webdriver/node_modules/tmp": { + "version": "0.0.30", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", + "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", + "dev": true, "dependencies": { - "tmp": { - "version": "0.0.30", - "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.30.tgz", - "integrity": "sha1-ckGdSovn1s51FI/YsyTlk6cRwu0=", - "dev": true, - "requires": { - "os-tmpdir": "~1.0.1" - } - } + "os-tmpdir": "~1.0.1" + }, + "engines": { + "node": ">=0.4.0" } }, - "selfsigned": { - "version": "1.10.8", - "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-1.10.8.tgz", - "integrity": "sha512-2P4PtieJeEwVgTU9QEcwIRDQ/mXJLX8/+I3ur+Pg16nS8oNbrGxEso9NyYWy8NAmXiNl4dlAp5MwoNeCWzON4w==", + "node_modules/selfsigned": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.1.1.tgz", + "integrity": "sha512-GSL3aowiF7wa/WtSFwnUrludWFoNhftq8bUkH9pkzjpN2XSPOAYEgg6e0sS9s0rZwgJzJiQRPU18A6clnoW5wQ==", "dev": true, - "requires": { - "node-forge": "^0.10.0" + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" } }, - "semver": { + "node_modules/semver": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/semver/-/semver-5.6.0.tgz", "integrity": "sha512-RS9R6R35NYgQn++fkDWaOmqGoj4Ek9gGs+DPxNUZKuwE183xjJroKvyo1IzVFeXvUrvmALy6FWD5xrdJT25gMg==", - "dev": true + "dev": true, + "bin": { + "semver": "bin/semver" + } }, - "semver-dsl": { + "node_modules/semver-dsl": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/semver-dsl/-/semver-dsl-1.0.1.tgz", "integrity": "sha1-02eN5VVeimH2Ke7QJTZq5fJzQKA=", "dev": true, - "requires": { + "dependencies": { "semver": "^5.3.0" } }, - "semver-intersect": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/semver-intersect/-/semver-intersect-1.4.0.tgz", - "integrity": "sha512-d8fvGg5ycKAq0+I6nfWeCx6ffaWJCsBYU0H2Rq56+/zFePYfT8mXkB3tWBSjR5BerkHNZ5eTPIk1/LBYas35xQ==", - "dev": true, - "requires": { - "semver": "^5.0.0" - } - }, - "send": { - "version": "0.17.1", - "resolved": "https://registry.npmjs.org/send/-/send-0.17.1.tgz", - "integrity": "sha512-BsVKsiGcQMFwT8UxypobUKyv7irCNRHk1T0G680vk88yf6LBByGcZJOTJCrTP2xVN6yI+XjPJcNuE3V4fT9sAg==", + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", "dev": true, - "requires": { + "dependencies": { "debug": "2.6.9", - "depd": "~1.1.2", - "destroy": "~1.0.4", + "depd": "2.0.0", + "destroy": "1.2.0", "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "etag": "~1.8.1", "fresh": "0.5.2", - "http-errors": "~1.7.2", + "http-errors": "2.0.0", "mime": "1.6.0", - "ms": "2.1.1", - "on-finished": "~2.3.0", + "ms": "2.1.3", + "on-finished": "2.4.1", "range-parser": "~1.2.1", - "statuses": "~1.5.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - }, - "dependencies": { - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "ms": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.1.tgz", - "integrity": "sha512-tgp+dl5cGk28utYktBsrFqA7HKgrhgPsg6Z/EfhWI4gl1Hwq8B/GmY/0oXZ6nF8hDVesS/FpnYaD/kOWhYQvyg==", - "dev": true - } + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" } }, - "serialize-javascript": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-5.0.1.tgz", - "integrity": "sha512-SaaNal9imEO737H2c05Og0/8LUXG7EnsZyMa8MzkmuHoELfT6txuj0cMqRj6zfPKnmQ1yasR4PCJc8x+M4JSPA==", + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha512-Tpp60P6IUJDTuOq/5Z8cdskzJujfwqfOTkrwIwj7IRISpnkJnT6SyJ4PCPnGMoFjC9ddhal5KVIYtAt97ix05A==", + "dev": true + }, + "node_modules/send/node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", "dev": true, - "requires": { + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/send/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/send/node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/serialize-javascript": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.1.tgz", + "integrity": "sha512-owoXEFjWRllis8/M1Q+Cw5k8ZH40e3zhp/ovX+Xr/vi1qj6QesbyXXViFbpNvWvPNAD62SutwEXavefrLJWj7w==", + "dev": true, + "dependencies": { "randombytes": "^2.1.0" } }, - "serve-index": { + "node_modules/serve-index": { "version": "1.9.1", "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", - "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "integrity": "sha512-pXHfKNP4qujrtteMrSBb0rc8HJ9Ms/GrXwcUtUtD5s4ewDJI8bT3Cz2zTVRMKtri49pLx2e0Ya8ziP5Ya2pZZw==", "dev": true, - "requires": { + "dependencies": { "accepts": "~1.3.4", "batch": "0.6.1", "debug": "2.6.9", @@ -12883,797 +13025,502 @@ "mime-types": "~2.1.17", "parseurl": "~1.3.2" }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "http-errors": { - "version": "1.6.3", - "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", - "integrity": "sha1-i1VoC7S+KDoLW/TqLjhYC+HZMg0=", - "dev": true, - "requires": { - "depd": "~1.1.2", - "inherits": "2.0.3", - "setprototypeof": "1.1.0", - "statuses": ">= 1.4.0 < 2" - } - }, - "setprototypeof": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", - "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", - "dev": true - } + "ms": "2.0.0" } }, - "serve-static": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.14.1.tgz", - "integrity": "sha512-JMrvUwE54emCYWlTI+hGrGv5I8dEwmco/00EvkzIIsR7MqrHonbD9pO2MOfFnpFntl7ecpZs+3mW+XbQZu9QCg==", + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", "dev": true, - "requires": { + "dependencies": { "encodeurl": "~1.0.2", "escape-html": "~1.0.3", "parseurl": "~1.3.3", - "send": "0.17.1" + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" } }, - "set-blocking": { + "node_modules/set-blocking": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/set-blocking/-/set-blocking-2.0.0.tgz", "integrity": "sha1-BF+XgtARrppoA93TgrJDkrPYkPc=", "dev": true }, - "set-immediate-shim": { + "node_modules/set-immediate-shim": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/set-immediate-shim/-/set-immediate-shim-1.0.1.tgz", "integrity": "sha1-SysbJ+uAip+NzEgaWOXlb1mfP2E=", - "dev": true - }, - "set-value": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/set-value/-/set-value-2.0.1.tgz", - "integrity": "sha512-JxHc1weCN68wRY0fhCoXpyK55m/XPHafOmK4UWD7m2CI14GMcFypt4w/0+NV5f/ZMby2F6S2wwA7fgynh9gWSw==", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-extendable": "^0.1.1", - "is-plain-object": "^2.0.3", - "split-string": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "setimmediate": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", - "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", - "dev": true - }, - "setprototypeof": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.1.tgz", - "integrity": "sha512-JvdAWfbXeIGaZ9cILp38HntZSFSo3mWg6xGcJJsd+d4aRMOqauag1C63dJfDw7OaMYwEbHMOxEZ1lqVRYP2OAw==", + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", "dev": true }, - "sha.js": { - "version": "2.4.11", - "resolved": "http://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", - "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", - "dev": true, - "requires": { - "inherits": "^2.0.1", - "safe-buffer": "^5.0.1" - } - }, - "shallow-clone": { + "node_modules/shallow-clone": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", "dev": true, - "requires": { + "dependencies": { "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" } }, - "shebang-command": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-1.2.0.tgz", - "integrity": "sha1-RKrGW2lbAzmJaMOfNj/uXer98eo=", + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", "dev": true, - "requires": { - "shebang-regex": "^1.0.0" + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" } }, - "shebang-regex": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-1.0.0.tgz", - "integrity": "sha1-2kL0l0DAtC2yypcoVxyxkMmO/qM=", - "dev": true + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==", - "dev": true + "node_modules/shell-quote": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/shell-quote/-/shell-quote-1.8.1.tgz", + "integrity": "sha512-6j1W9l1iAs/4xYBI1SYOVZyFcCis9b4KCLQ8fgAGG07QvzaRLVVRQvAy85yNmmZSjYjg4MWh4gNvlPujU/5LpA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } }, - "simple-swizzle": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/simple-swizzle/-/simple-swizzle-0.2.2.tgz", - "integrity": "sha1-pNprY1/8zMoz9w0Xy5JZLeleVXo=", + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", "dev": true, - "requires": { - "is-arrayish": "^0.3.1" - }, "dependencies": { - "is-arrayish": { - "version": "0.3.2", - "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.3.2.tgz", - "integrity": "sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==", - "dev": true - } + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "slash": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", - "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", "dev": true }, - "smart-buffer": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.1.0.tgz", - "integrity": "sha512-iVICrxOzCynf/SNaBQCw34eM9jROU/s5rzIhpOvzhzuYHfJR/DhZfDkXiZSgKXfgv26HT3Yni3AV/DGw0cGnnw==", - "dev": true - }, - "snapdragon": { - "version": "0.8.2", - "resolved": "https://registry.npmjs.org/snapdragon/-/snapdragon-0.8.2.tgz", - "integrity": "sha512-FtyOnWN/wCHTVXOMwvSv26d+ko5vWlIDD6zoUJ7LW8vh+ZBC8QdljveRP+crNrtBwioEUWy/4dMtbBjA4ioNlg==", - "dev": true, - "requires": { - "base": "^0.11.1", - "debug": "^2.2.0", - "define-property": "^0.2.5", - "extend-shallow": "^2.0.1", - "map-cache": "^0.2.2", - "source-map": "^0.5.6", - "source-map-resolve": "^0.5.0", - "use": "^3.1.0" - }, - "dependencies": { - "debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - }, - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } + "node_modules/sigstore": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/sigstore/-/sigstore-1.4.0.tgz", + "integrity": "sha512-N7TRpSbFjY/TrFDg6yGAQSYBrQ5s6qmPiq4pD6fkv1LoyfMsLG0NwZWG2s5q+uttLHgyVyTa0Rogx2P78rN8kQ==", + "dev": true, + "dependencies": { + "@sigstore/protobuf-specs": "^0.1.0", + "make-fetch-happen": "^11.0.1", + "tuf-js": "^1.1.3" + }, + "bin": { + "sigstore": "bin/sigstore.js" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "snapdragon-node": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/snapdragon-node/-/snapdragon-node-2.1.1.tgz", - "integrity": "sha512-O27l4xaMYt/RSQ5TR3vpWCAB5Kb/czIcqUFOM/C4fYcLnbZUc1PkjTAMjof2pBWaSTwOUd6qUHcFGVGj7aIwnw==", - "dev": true, - "requires": { - "define-property": "^1.0.0", - "isobject": "^3.0.0", - "snapdragon-util": "^3.0.1" - }, - "dependencies": { - "define-property": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-1.0.0.tgz", - "integrity": "sha1-dp66rz9KY6rTr56NMEybvnm/sOY=", - "dev": true, - "requires": { - "is-descriptor": "^1.0.0" - } - }, - "is-accessor-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-accessor-descriptor/-/is-accessor-descriptor-1.0.0.tgz", - "integrity": "sha512-m5hnHTkcVsPfqx3AKlyttIPb7J+XykHvJP2B9bZDjlhLIoEq4XoK64Vg7boZlVWYK6LUY94dYPEE7Lh0ZkZKcQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-data-descriptor": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/is-data-descriptor/-/is-data-descriptor-1.0.0.tgz", - "integrity": "sha512-jbRXy1FmtAoCjQkVmIVYwuuqDFUbaOeDjmed1tOGPrsMhtJA4rD9tkgA0F1qJ3gRFRXcHYVkdeaP50Q5rE/jLQ==", - "dev": true, - "requires": { - "kind-of": "^6.0.0" - } - }, - "is-descriptor": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/is-descriptor/-/is-descriptor-1.0.2.tgz", - "integrity": "sha512-2eis5WqQGV7peooDyLmNEPUrps9+SXX5c9pL3xEB+4e9HnGuDa7mB7kHxHw4CbqS9k1T2hOH3miL8n8WtiYVtg==", - "dev": true, - "requires": { - "is-accessor-descriptor": "^1.0.0", - "is-data-descriptor": "^1.0.0", - "kind-of": "^6.0.2" - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - } + "node_modules/sigstore/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" } }, - "snapdragon-util": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/snapdragon-util/-/snapdragon-util-3.0.1.tgz", - "integrity": "sha512-mbKkMdQKsjX4BAL4bRYTj21edOf8cN7XHdYUJEe+Zn99hVEYcMvKPct1IqNe7+AZPirn8BCDOQBHQZknqmKlZQ==", + "node_modules/sigstore/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/sigstore/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", "dev": true, - "requires": { - "kind-of": "^3.2.0" + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/sigstore/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" } }, - "socket.io": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-2.4.1.tgz", - "integrity": "sha512-Si18v0mMXGAqLqCVpTxBa8MGqriHGQh8ccEOhmsmNS3thNCGBwO8WGrwMibANsWtQQ5NStdZwHqZR3naJVFc3w==", - "dev": true, - "requires": { - "debug": "~4.1.0", - "engine.io": "~3.5.0", - "has-binary2": "~1.0.2", - "socket.io-adapter": "~1.1.0", - "socket.io-client": "2.4.0", - "socket.io-parser": "~3.4.0" - }, - "dependencies": { - "cookie": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.1.tgz", - "integrity": "sha512-ZwrFkGJxUR3EIoXtO+yVE69Eb7KlixbaeAWfBQB9vVsNn/o+Yw69gBWSSDK825hQNdN+wF8zELf3dFNl/kxkUA==", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "engine.io": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-3.5.0.tgz", - "integrity": "sha512-21HlvPUKaitDGE4GXNtQ7PLP0Sz4aWLddMPw2VTyFz1FVZqu/kZsJUO8WNpKuE/OCL7nkfRaOui2ZCJloGznGA==", - "dev": true, - "requires": { - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "debug": "~4.1.0", - "engine.io-parser": "~2.2.0", - "ws": "~7.4.2" - } - }, - "engine.io-client": { - "version": "3.5.0", - "resolved": "https://registry.npmjs.org/engine.io-client/-/engine.io-client-3.5.0.tgz", - "integrity": "sha512-12wPRfMrugVw/DNyJk34GQ5vIVArEcVMXWugQGGuw2XxUSztFNmJggZmv8IZlLyEdnpO1QB9LkcjeWewO2vxtA==", - "dev": true, - "requires": { - "component-emitter": "~1.3.0", - "component-inherit": "0.0.3", - "debug": "~3.1.0", - "engine.io-parser": "~2.2.0", - "has-cors": "1.1.0", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "ws": "~7.4.2", - "xmlhttprequest-ssl": "~1.5.4", - "yeast": "0.1.2" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - } - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true - }, - "parseqs": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseqs/-/parseqs-0.0.6.tgz", - "integrity": "sha512-jeAGzMDbfSHHA091hr0r31eYfTig+29g3GKKE/PPbEQ65X0lmMwlEoqmhzu0iztID5uJpZsFlUPDP8ThPL7M8w==", - "dev": true - }, - "parseuri": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/parseuri/-/parseuri-0.0.6.tgz", - "integrity": "sha512-AUjen8sAkGgao7UyCX6Ahv0gIK2fABKmYjvP4xmy5JaKvcbTRueIqIPHLAfq30xJddqSE033IOMUSOMCcK3Sow==", - "dev": true - }, - "socket.io-client": { - "version": "2.4.0", - "resolved": "https://registry.npmjs.org/socket.io-client/-/socket.io-client-2.4.0.tgz", - "integrity": "sha512-M6xhnKQHuuZd4Ba9vltCLT9oa+YvTsP8j9NcEiLElfIg8KeYPyhWOes6x4t+LTAC8enQbE/995AdTem2uNyKKQ==", - "dev": true, - "requires": { - "backo2": "1.0.2", - "component-bind": "1.0.0", - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "engine.io-client": "~3.5.0", - "has-binary2": "~1.0.2", - "indexof": "0.0.1", - "parseqs": "0.0.6", - "parseuri": "0.0.6", - "socket.io-parser": "~3.3.0", - "to-array": "0.1.4" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "ms": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", - "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", - "dev": true - }, - "socket.io-parser": { - "version": "3.3.2", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.3.2.tgz", - "integrity": "sha512-FJvDBuOALxdCI9qwRrO/Rfp9yfndRtc1jSgVgV8FDraihmSP/MLGD5PEuJrNfjALvcQ+vMDM/33AWOYP/JSjDg==", - "dev": true, - "requires": { - "component-emitter": "~1.3.0", - "debug": "~3.1.0", - "isarray": "2.0.1" - } - } - } - }, - "ws": { - "version": "7.4.2", - "resolved": "https://registry.npmjs.org/ws/-/ws-7.4.2.tgz", - "integrity": "sha512-T4tewALS3+qsrpGI/8dqNMLIVdq/g/85U98HPMa6F0m6xTbvhXU6RCQLqPH3+SlomNV/LdY6RXEbBpMH6EOJnA==", - "dev": true - } + "node_modules/slash": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", + "integrity": "sha512-3dOsAHXXUkQTpOYcoAxLIorMTp4gIQr5IW3iVb7A7lFIp0VHhnynm9izx6TssdrIcVIESAlVjtnO2K8bg+Coew==", + "dev": true, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "socket.io-adapter": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-1.1.2.tgz", - "integrity": "sha512-WzZRUj1kUjrTIrUKpZLEzFZ1OLj5FwLlAFQs9kuZJzJi5DKdU7FsWc36SNmA8iDOtwBQyT8FkrriRM8vXLYz8g==", - "dev": true + "node_modules/smart-buffer": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/smart-buffer/-/smart-buffer-4.2.0.tgz", + "integrity": "sha512-94hK0Hh8rPqQl2xXc3HsaBoOXKV20MToPkcXvwbISWLEs+64sBq5kFgn2kJDHb1Pry9yrP0dxrCI9RRci7RXKg==", + "dev": true, + "engines": { + "node": ">= 6.0.0", + "npm": ">= 3.0.0" + } }, - "socket.io-parser": { - "version": "3.4.1", - "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-3.4.1.tgz", - "integrity": "sha512-11hMgzL+WCLWf1uFtHSNvliI++tcRUWdoeYuwIl+Axvwy9z2gQM+7nJyN3STj1tLj5JyIUH8/gpDGxzAlDdi0A==", + "node_modules/socket.io": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/socket.io/-/socket.io-4.6.1.tgz", + "integrity": "sha512-KMcaAi4l/8+xEjkRICl6ak8ySoxsYG+gG6/XfRCPJPQ/haCRIJBTL4wIl8YCsmtaBovcAXGLOShyVWQ/FG8GZA==", "dev": true, - "requires": { - "component-emitter": "1.2.1", - "debug": "~4.1.0", - "isarray": "2.0.1" + "dependencies": { + "accepts": "~1.3.4", + "base64id": "~2.0.0", + "debug": "~4.3.2", + "engine.io": "~6.4.1", + "socket.io-adapter": "~2.5.2", + "socket.io-parser": "~4.2.1" }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/socket.io-adapter": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/socket.io-adapter/-/socket.io-adapter-2.5.2.tgz", + "integrity": "sha512-87C3LO/NOMc+eMcpcxUBebGjkpMDkNBS9tf7KJqcDsmL936EChtVva71Dw2q4tQcuVC+hAUy4an2NO/sYXmwRA==", + "dev": true, "dependencies": { - "component-emitter": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/component-emitter/-/component-emitter-1.2.1.tgz", - "integrity": "sha1-E3kY1teCg/ffemt8WmPhQOaUJeY=", - "dev": true - }, - "debug": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.1.1.tgz", - "integrity": "sha512-pYAIzeRo8J6KPEaJ0VWOh5Pzkbw/RetuzehGM7QRRX5he4fPHx2rdKMB256ehJCkX+XRQm16eZLqLNS8RSZXZw==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "isarray": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.1.tgz", - "integrity": "sha1-o32U7ZzaLVmGXJ92/llu4fM4dB4=", - "dev": true - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "ws": "~8.11.0" } }, - "sockjs": { - "version": "0.3.20", - "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.20.tgz", - "integrity": "sha512-SpmVOVpdq0DJc0qArhF3E5xsxvaiqGNb73XfgBpK1y3UD5gs8DSo8aCTsuT5pX8rssdc2NDIzANwP9eCAiSdTA==", + "node_modules/socket.io-parser": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/socket.io-parser/-/socket.io-parser-4.2.2.tgz", + "integrity": "sha512-DJtziuKypFkMMHCm2uIshOYC7QaylbtzQwiMYDuCKy3OPkjLzu4B2vAhTlqipRHHzrI0NJeBAizTK7X+6m1jVw==", "dev": true, - "requires": { - "faye-websocket": "^0.10.0", - "uuid": "^3.4.0", - "websocket-driver": "0.6.5" + "dependencies": { + "@socket.io/component-emitter": "~3.1.0", + "debug": "~4.3.1" }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, "dependencies": { - "uuid": { - "version": "3.4.0", - "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.4.0.tgz", - "integrity": "sha512-HjSDRw6gZE5JMggctHBcjVak08+KEVhSIiDzFnT9S9aegmp85S/bReBVTb4QTFaRNptJ9kuYaNhnbNEOkbKb/A==", - "dev": true - } + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" } }, - "sockjs-client": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/sockjs-client/-/sockjs-client-1.4.0.tgz", - "integrity": "sha512-5zaLyO8/nri5cua0VtOrFXBPK1jbL4+1cebT/mmKA1E1ZXOvJrII75bPu0l0k843G/+iAbhEqzyKr0w/eCCj7g==", + "node_modules/sockjs/node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", "dev": true, - "requires": { - "debug": "^3.2.5", - "eventsource": "^1.0.7", - "faye-websocket": "~0.11.1", - "inherits": "^2.0.3", - "json3": "^3.3.2", - "url-parse": "^1.4.3" - }, - "dependencies": { - "debug": { - "version": "3.2.6", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.2.6.tgz", - "integrity": "sha512-mel+jf7nrtEl5Pn1Qx46zARXKDpBbvzezse7p7LqINmdoIk8PYP5SySaxEmYv6TZ0JyEKA1hsCId6DIhgITtWQ==", - "dev": true, - "requires": { - "ms": "^2.1.1" - } - }, - "faye-websocket": { - "version": "0.11.3", - "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", - "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", - "dev": true, - "requires": { - "websocket-driver": ">=0.5.1" - } - }, - "ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", - "dev": true - } + "bin": { + "uuid": "dist/bin/uuid" } }, - "socks": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/socks/-/socks-2.3.3.tgz", - "integrity": "sha512-o5t52PCNtVdiOvzMry7wU4aOqYWL0PeCXRWBEiJow4/i/wr+wpsJQ9awEu1EonLIqsfGd5qSgDdxEOvCdmBEpA==", + "node_modules/socks": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/socks/-/socks-2.7.1.tgz", + "integrity": "sha512-7maUZy1N7uo6+WVEX6psASxtNlKaNVMlGQKkG/63nEDdLOWNbiUMoLK7X4uYoLhQstau72mLgfEWcXcwsaHbYQ==", "dev": true, - "requires": { - "ip": "1.1.5", - "smart-buffer": "^4.1.0" + "dependencies": { + "ip": "^2.0.0", + "smart-buffer": "^4.2.0" + }, + "engines": { + "node": ">= 10.13.0", + "npm": ">= 3.0.0" } }, - "socks-proxy-agent": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-4.0.2.tgz", - "integrity": "sha512-NT6syHhI9LmuEMSK6Kd2V7gNv5KFZoLE7V5udWmn0de+3Mkj3UMA/AJPLyeNUVmElCurSHtUdM3ETpR3z770Wg==", - "dev": true, - "requires": { - "agent-base": "~4.2.1", - "socks": "~2.3.2" - }, - "dependencies": { - "agent-base": { - "version": "4.2.1", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-4.2.1.tgz", - "integrity": "sha512-JVwXMr9nHYTUXsBFKUqhJwvlcYU/blreOEUkhNR2eXZIvwd+c+o5V4MgDPKWnMS/56awN3TRzIP+KoPn+roQtg==", - "dev": true, - "requires": { - "es6-promisify": "^5.0.0" - } - } + "node_modules/socks-proxy-agent": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/socks-proxy-agent/-/socks-proxy-agent-7.0.0.tgz", + "integrity": "sha512-Fgl0YPZ902wEsAyiQ+idGd1A7rSFx/ayC1CQVMw5P+EQx2V0SgpGtf6OKFhVjPflPUl9YMmEOnmfjCdMUsygww==", + "dev": true, + "dependencies": { + "agent-base": "^6.0.2", + "debug": "^4.3.3", + "socks": "^2.6.2" + }, + "engines": { + "node": ">= 10" } }, - "source-list-map": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", - "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", - "dev": true - }, - "source-map": { + "node_modules/source-map": { "version": "0.5.7", "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.5.7.tgz", "integrity": "sha1-igOdLRAh0i0eoUyA2OpGi6LvP8w=", - "dev": true + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "source-map-loader": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-1.1.2.tgz", - "integrity": "sha512-bjf6eSENOYBX4JZDfl9vVLNsGAQ6Uz90fLmOazcmMcyDYOBFsGxPNn83jXezWLY9bJsVAo1ObztxPcV8HAbjVA==", + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-loader": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/source-map-loader/-/source-map-loader-4.0.1.tgz", + "integrity": "sha512-oqXpzDIByKONVY8g1NUPOTQhe0UTU5bWUl32GSkqK2LjJj0HmwTMVKxcUip0RgAYhY1mqgOxjbQM48a0mmeNfA==", "dev": true, - "requires": { - "abab": "^2.0.5", - "iconv-lite": "^0.6.2", - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0", - "source-map": "^0.6.1", - "whatwg-mimetype": "^2.3.0" - }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "iconv-lite": { - "version": "0.6.2", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.2.tgz", - "integrity": "sha512-2y91h5OpQlolefMPmUlivelittSWy0rP+oYVpn6A7GwVHNE8AWzoYOBNmlwks3LobaJxgHCYZAnyNo2GgpNRNQ==", - "dev": true, - "requires": { - "safer-buffer": ">= 2.1.2 < 3.0.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } + "abab": "^2.0.6", + "iconv-lite": "^0.6.3", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.72.1" } }, - "source-map-resolve": { - "version": "0.5.3", - "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", - "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "node_modules/source-map-loader/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, - "requires": { - "atob": "^2.1.2", - "decode-uri-component": "^0.2.0", - "resolve-url": "^0.2.1", - "source-map-url": "^0.4.0", - "urix": "^0.1.0" + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" } }, - "source-map-support": { - "version": "0.5.10", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.10.tgz", - "integrity": "sha512-YfQ3tQFTK/yzlGJuX8pTwa4tifQj4QS2Mj7UegOu8jAz59MqIiMGPXxQhVQiIMNzayuUSF/jEuVnfFF5JqybmQ==", + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", "dev": true, - "requires": { + "dependencies": { "buffer-from": "^1.0.0", "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } } }, - "source-map-url": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.0.tgz", - "integrity": "sha1-PpNdfd1zYxuXZZlW1VEo6HtQhKM=", - "dev": true - }, - "sourcemap-codec": { - "version": "1.4.8", - "resolved": "https://registry.npmjs.org/sourcemap-codec/-/sourcemap-codec-1.4.8.tgz", - "integrity": "sha512-9NykojV5Uih4lgo5So5dtw+f0JgJX30KCNI8gwhz2J9A15wD0Ml6tjHKwf6fTSa6fAdVBdZeNOs9eJ71qCk8vA==", - "dev": true + "node_modules/source-map-support/node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } }, - "spdx-correct": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.1.0.tgz", - "integrity": "sha512-lr2EZCctC2BNR7j7WzJ2FpDznxky1sjfxvvYEyzxNyb6lZXHODmEoJeFu4JupYlkfha1KZpJyoqiJ7pgA1qq8Q==", + "node_modules/spdx-correct": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/spdx-correct/-/spdx-correct-3.2.0.tgz", + "integrity": "sha512-kN9dJbvnySHULIluDHy32WHRUu3Og7B9sbY7tsFLctQkIqnMh3hErYgdMjTYuqmcXX+lK5T1lnUt3G7zNswmZA==", "dev": true, - "requires": { + "dependencies": { "spdx-expression-parse": "^3.0.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-exceptions": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.2.0.tgz", - "integrity": "sha512-2XQACfElKi9SlVb1CYadKDXvoajPgBVPn/gOQLrTvHdElaVhr7ZEbqJaRnJLVNeaI4cMEAgVCeBMKF6MWRDCRA==", + "node_modules/spdx-exceptions": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/spdx-exceptions/-/spdx-exceptions-2.3.0.tgz", + "integrity": "sha512-/tTrYOC7PPI1nUAgx34hUpqXuyJG+DTHJTnIULG4rDygi4xu/tfgmq1e1cIRwRzwZgo4NLySi+ricLkZkw4i5A==", "dev": true }, - "spdx-expression-parse": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.0.tgz", - "integrity": "sha512-Yg6D3XpRD4kkOmTpdgbUiEJFKghJH03fiC1OPll5h/0sO6neh2jqRDVHOQ4o/LMea0tgCkbMgea5ip/e+MkWyg==", + "node_modules/spdx-expression-parse": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/spdx-expression-parse/-/spdx-expression-parse-3.0.1.tgz", + "integrity": "sha512-cbqHunsQWnJNE6KhVSMsMeH5H/L9EpymbzqTQ3uLwNCLZ1Q481oWaofqH7nO6V07xlXwY6PhQdQ2IedWx/ZK4Q==", "dev": true, - "requires": { + "dependencies": { "spdx-exceptions": "^2.1.0", "spdx-license-ids": "^3.0.0" } }, - "spdx-license-ids": { - "version": "3.0.5", - "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.5.tgz", - "integrity": "sha512-J+FWzZoynJEXGphVIS+XEh3kFSjZX/1i9gFBaWQcB+/tmpe2qUsSBABpcxqxnAxFdiUFEgAX1bjYGQvIZmoz9Q==", + "node_modules/spdx-license-ids": { + "version": "3.0.13", + "resolved": "https://registry.npmjs.org/spdx-license-ids/-/spdx-license-ids-3.0.13.tgz", + "integrity": "sha512-XkD+zwiqXHikFZm4AX/7JSCXA98U5Db4AFd5XUg/+9UNtnH75+Z9KxtpYiJZx36mUDVOwH83pl7yvCer6ewM3w==", "dev": true }, - "spdy": { + "node_modules/spdy": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", "dev": true, - "requires": { + "dependencies": { "debug": "^4.1.0", "handle-thing": "^2.0.0", "http-deceiver": "^1.2.7", "select-hose": "^2.0.0", "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" } }, - "spdy-transport": { + "node_modules/spdy-transport": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", "dev": true, - "requires": { + "dependencies": { "debug": "^4.1.0", "detect-node": "^2.0.4", "hpack.js": "^2.1.6", "obuf": "^1.1.2", "readable-stream": "^3.0.6", "wbuf": "^1.7.3" - }, - "dependencies": { - "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", - "dev": true, - "requires": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - } - } - } - }, - "speed-measure-webpack-plugin": { - "version": "1.3.3", - "resolved": "https://registry.npmjs.org/speed-measure-webpack-plugin/-/speed-measure-webpack-plugin-1.3.3.tgz", - "integrity": "sha512-2ljD4Ch/rz2zG3HsLsnPfp23osuPBS0qPuz9sGpkNXTN1Ic4M+W9xB8l8rS8ob2cO4b1L+WTJw/0AJwWYVgcxQ==", - "dev": true, - "requires": { - "chalk": "^2.0.1" } }, - "split-string": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/split-string/-/split-string-3.1.0.tgz", - "integrity": "sha512-NzNVhJDYpwceVVii8/Hu6DKfD2G+NrQHlS/V/qgv763EYudVwEcMQNxd2lh+0VrUByXN/oJkl5grOhYWvQUYiw==", + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dev": true, - "requires": { - "extend-shallow": "^3.0.0" + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" } }, - "sprintf-js": { + "node_modules/sprintf-js": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.0.3.tgz", "integrity": "sha1-BOaSb2YolTVPPdAVIDYzuFcpfiw=", "dev": true }, - "sshpk": { + "node_modules/sshpk": { "version": "1.16.1", "resolved": "https://registry.npmjs.org/sshpk/-/sshpk-1.16.1.tgz", "integrity": "sha512-HXXqVUq7+pcKeLqqZj6mHFUMvXtOJt1uoUx09pFW6011inTMxqI8BA8PM95myrIyyKwdnzjdFjLiE6KBPVtJIg==", "dev": true, - "requires": { + "dependencies": { "asn1": "~0.2.3", "assert-plus": "^1.0.0", "bcrypt-pbkdf": "^1.0.0", @@ -13683,723 +13530,451 @@ "jsbn": "~0.1.0", "safer-buffer": "^2.0.2", "tweetnacl": "~0.14.0" + }, + "bin": { + "sshpk-conv": "bin/sshpk-conv", + "sshpk-sign": "bin/sshpk-sign", + "sshpk-verify": "bin/sshpk-verify" + }, + "engines": { + "node": ">=0.10.0" } }, - "ssri": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-8.0.0.tgz", - "integrity": "sha512-aq/pz989nxVYwn16Tsbj1TqFpD5LLrQxHf5zaHuieFV+R0Bbr4y8qUsOA45hXT/N4/9UNXTarBjnjVmjSOVaAA==", + "node_modules/ssri": { + "version": "10.0.4", + "resolved": "https://registry.npmjs.org/ssri/-/ssri-10.0.4.tgz", + "integrity": "sha512-12+IR2CB2C28MMAw0Ncqwj5QbTcs0nGIhgJzYWzDkb21vWmfNI83KS4f3Ci6GI98WreIfG7o9UXp3C0qbpA8nQ==", "dev": true, - "requires": { - "minipass": "^3.1.1" - } - }, - "stable": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", - "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", - "dev": true - }, - "static-extend": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/static-extend/-/static-extend-0.1.2.tgz", - "integrity": "sha1-YICcOcv/VTNyJv1eC1IPNB8ftcY=", - "dev": true, - "requires": { - "define-property": "^0.2.5", - "object-copy": "^0.1.0" - }, - "dependencies": { - "define-property": { - "version": "0.2.5", - "resolved": "https://registry.npmjs.org/define-property/-/define-property-0.2.5.tgz", - "integrity": "sha1-w1se+RjsPJkPmlvFe+BKrOxcgRY=", - "dev": true, - "requires": { - "is-descriptor": "^0.1.0" - } - } + "dependencies": { + "minipass": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "statuses": { + "node_modules/statuses": { "version": "1.5.0", "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", - "dev": true - }, - "stream-browserify": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", - "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", "dev": true, - "requires": { - "inherits": "~2.0.1", - "readable-stream": "^2.0.2" + "engines": { + "node": ">= 0.6" } }, - "stream-each": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/stream-each/-/stream-each-1.2.3.tgz", - "integrity": "sha512-vlMC2f8I2u/bZGqkdfLQW/13Zihpej/7PmSiMQsbYddxuTsJp8vRe2x2FvVExZg7FaOds43ROAuFJwPR4MTZLw==", + "node_modules/streamroller": { + "version": "3.1.5", + "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", + "integrity": "sha512-KFxaM7XT+irxvdqSP1LGLgNWbYN7ay5owZ3r/8t77p+EtSUAfUgtl7be3xtqtOmGUl9K9YPO2ca8133RlTjvKw==", "dev": true, - "requires": { - "end-of-stream": "^1.1.0", - "stream-shift": "^1.0.0" + "dependencies": { + "date-format": "^4.0.14", + "debug": "^4.3.4", + "fs-extra": "^8.1.0" + }, + "engines": { + "node": ">=8.0" } }, - "stream-http": { - "version": "2.8.3", - "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", - "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", "dev": true, - "requires": { - "builtin-status-codes": "^3.0.0", - "inherits": "^2.0.1", - "readable-stream": "^2.3.6", - "to-arraybuffer": "^1.0.0", - "xtend": "^4.0.0" + "dependencies": { + "safe-buffer": "~5.1.0" } }, - "stream-shift": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/stream-shift/-/stream-shift-1.0.1.tgz", - "integrity": "sha512-AiisoFqQ0vbGcZgQPY1cdP2I76glaVA/RauYR4G4thNFgkTqr90yXTo4LYX60Jl+sIlPNHHdGSwo01AvbKUSVQ==", - "dev": true - }, - "streamroller": { - "version": "2.2.4", - "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-2.2.4.tgz", - "integrity": "sha512-OG79qm3AujAM9ImoqgWEY1xG4HX+Lw+yY6qZj9R1K2mhF5bEmQ849wvrb+4vt4jLMLzwXttJlQbOdPOQVRv7DQ==", + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { - "date-format": "^2.1.0", - "debug": "^4.1.1", - "fs-extra": "^8.1.0" - }, "dependencies": { - "date-format": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-2.1.0.tgz", - "integrity": "sha512-bYQuGLeFxhkxNOF3rcMtiZxvCBAquGzZm6oWA1oZ0g2THUzivaRhv8uOhdr19LmoobSOLoIAxeUK2RdbM8IFTA==", - "dev": true - }, - "fs-extra": { - "version": "8.1.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", - "integrity": "sha512-yhlQgA6mnOJUKOsRUFsgJdQCvkKhcz8tlZG5HBQfReYZy46OwLcY+Zia0mtdHsOo9y/hP+CxMN0TU9QxoOtG4g==", - "dev": true, - "requires": { - "graceful-fs": "^4.2.0", - "jsonfile": "^4.0.0", - "universalify": "^0.1.0" - } - } + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "string-width": { - "version": "4.2.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.0.tgz", - "integrity": "sha512-zUz5JD+tgqtuDjMhwIg5uFVV3dtqZ9yQJlZVfq4I01/K5Paj5UHj7VyrQOJvzawSVlKpObApbfD0Ed6yJc+1eg==", + "node_modules/string-width-cjs": { + "name": "string-width", + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", "dev": true, - "requires": { + "dependencies": { "emoji-regex": "^8.0.0", "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.0" + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" } }, - "string.prototype.trimend": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.1.tgz", - "integrity": "sha512-LRPxFUaTtpqYsTeNKaFOw3R4bxIzWOnbQ837QfBylo8jIxtcbK/A/sMV7Q+OAV/vWo+7s25pOE10KYSjaSO06g==", + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "string.prototype.trimleft": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimleft/-/string.prototype.trimleft-2.1.2.tgz", - "integrity": "sha512-gCA0tza1JBvqr3bfAIFJGqfdRTyPae82+KTnm3coDXkZN9wnuW3HjGgN386D7hfv5CHQYCI022/rJPVlqXyHSw==", + "node_modules/strip-ansi-cjs": { + "name": "strip-ansi", + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimstart": "^1.0.0" + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" } }, - "string.prototype.trimright": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/string.prototype.trimright/-/string.prototype.trimright-2.1.2.tgz", - "integrity": "sha512-ZNRQ7sY3KroTaYjRS6EbNiiHrOkjihL9aQE/8gfQ4DtAC/aEBRHFJa44OmoWxGGqXuJlfKkZW4WcXErGr+9ZFg==", + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5", - "string.prototype.trimend": "^1.0.0" + "engines": { + "node": ">=6" } }, - "string.prototype.trimstart": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.1.tgz", - "integrity": "sha512-XxZn+QpvrBI1FOcg6dIpxUPgWCPuNXvMD72aaRaUQv1eD4e/Qy8i/hFTe0BUmD60p/QA6bh1avmuPTfNjqVWRw==", + "node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.5" + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" } }, - "string_decoder": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", - "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", "dev": true, - "requires": { - "safe-buffer": "~5.1.0" + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "strip-ansi": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.0.tgz", - "integrity": "sha512-AuvKTrTfQNYNIctbR1K/YGTR1756GycPsg7b9bdV9Duqur4gv6aKqHXah67Z8ImS7WEz5QVcOtlfW2rZEugt6w==", + "node_modules/symbol-observable": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-4.0.0.tgz", + "integrity": "sha512-b19dMThMV4HVFynSAM1++gBHAbk2Tc/osgLIBZMKsyqh34jb2e8Os7T6ZW/Bt3pJFdBTd2JwAnAAEQV7rSNvcQ==", "dev": true, - "requires": { - "ansi-regex": "^5.0.0" + "engines": { + "node": ">=0.10" } }, - "strip-eof": { - "version": "1.0.0", - "resolved": "http://registry.npmjs.org/strip-eof/-/strip-eof-1.0.0.tgz", - "integrity": "sha1-u0P/VZim6wXYm1n80SnJgzE2Br8=", - "dev": true - }, - "style-loader": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", - "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", "dev": true, - "requires": { - "loader-utils": "^2.0.0", - "schema-utils": "^3.0.0" - }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } - } - }, - "stylehacks": { - "version": "4.0.3", - "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-4.0.3.tgz", - "integrity": "sha512-7GlLk9JwlElY4Y6a/rmbH2MhVlTyVmiJd1PfTCqFaIBEGMYNsrO/v3SeGTdhBThLg4Z+NbOk/qFMwCa+J+3p/g==", - "dev": true, - "requires": { - "browserslist": "^4.0.0", - "postcss": "^7.0.0", - "postcss-selector-parser": "^3.0.0" - }, - "dependencies": { - "postcss-selector-parser": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-3.1.2.tgz", - "integrity": "sha512-h7fJ/5uWuRVyOtkO45pnt1Ih40CEleeyCHzipqAZO2e5H20g25Y48uYnFUiShvY4rZWNJ/Bib/KVPmanaCtOhA==", - "dev": true, - "requires": { - "dot-prop": "^5.2.0", - "indexes-of": "^1.0.1", - "uniq": "^1.0.1" - } - } + "engines": { + "node": ">=6" } }, - "stylus": { - "version": "0.54.8", - "resolved": "https://registry.npmjs.org/stylus/-/stylus-0.54.8.tgz", - "integrity": "sha512-vr54Or4BZ7pJafo2mpf0ZcwA74rpuYCZbxrHBsH8kbcXOwSfvBFwsRfpGO5OD5fhG5HDCFW737PKaawI7OqEAg==", - "dev": true, - "requires": { - "css-parse": "~2.0.0", - "debug": "~3.1.0", - "glob": "^7.1.6", - "mkdirp": "~1.0.4", - "safer-buffer": "^2.1.2", - "sax": "~1.2.4", - "semver": "^6.3.0", - "source-map": "^0.7.3" - }, - "dependencies": { - "debug": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/debug/-/debug-3.1.0.tgz", - "integrity": "sha512-OX8XqP7/1a9cqkxYw2yXss15f26NKWBpDXQd0/uK/KPqdQhxbPa994hnzjcE2VqQpDslf55723cKPUOGSmMY3g==", - "dev": true, - "requires": { - "ms": "2.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true - } + "node_modules/tar": { + "version": "6.1.14", + "resolved": "https://registry.npmjs.org/tar/-/tar-6.1.14.tgz", + "integrity": "sha512-piERznXu0U7/pW7cdSn7hjqySIVTYT6F76icmFk7ptU7dDYlXTm5r9A6K04R2vU3olYgoKeo1Cg3eeu5nhftAw==", + "dev": true, + "dependencies": { + "chownr": "^2.0.0", + "fs-minipass": "^2.0.0", + "minipass": "^5.0.0", + "minizlib": "^2.1.1", + "mkdirp": "^1.0.3", + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "stylus-loader": { - "version": "4.1.1", - "resolved": "https://registry.npmjs.org/stylus-loader/-/stylus-loader-4.1.1.tgz", - "integrity": "sha512-Vnm7J/nIs/P6swIrdwJW/dflhsCOiFmb1U3PeQ6phRtg1soPLN4uKnnL7AtGIJDe173elbtYIXVzmCyF493CfA==", + "node_modules/tar/node_modules/fs-minipass": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", + "integrity": "sha512-V/JgOLFCS+R6Vcq0slCuaeWEdNC3ouDlJMNIsacH2VtALiu9mV4LPrHc5cDl8k5aw6J8jwgWWpiTo5RYhmIzvg==", "dev": true, - "requires": { - "fast-glob": "^3.2.4", - "klona": "^2.0.4", - "loader-utils": "^2.0.0", - "normalize-path": "^3.0.0", - "schema-utils": "^3.0.0" - }, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - } + "minipass": "^3.0.0" + }, + "engines": { + "node": ">= 8" } }, - "supports-color": { - "version": "5.5.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", - "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "node_modules/tar/node_modules/fs-minipass/node_modules/minipass": { + "version": "3.3.6", + "resolved": "https://registry.npmjs.org/minipass/-/minipass-3.3.6.tgz", + "integrity": "sha512-DxiNidxSEK+tHG6zOIklvNOwm3hvCrbUrdtzY74U6HKTJxvIDfOUL5W5P2Ghd3DTkhhKPYGqeNUIh5qcM4YBfw==", "dev": true, - "requires": { - "has-flag": "^3.0.0" + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=8" } }, - "svgo": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/svgo/-/svgo-1.3.2.tgz", - "integrity": "sha512-yhy/sQYxR5BkC98CY7o31VGsg014AKLEPxdfhora76l36hD9Rdy5NZA/Ocn6yayNPgSamYdtX2rFJdcv07AYVw==", - "dev": true, - "requires": { - "chalk": "^2.4.1", - "coa": "^2.0.2", - "css-select": "^2.0.0", - "css-select-base-adapter": "^0.1.1", - "css-tree": "1.0.0-alpha.37", - "csso": "^4.0.2", - "js-yaml": "^3.13.1", - "mkdirp": "~0.5.1", - "object.values": "^1.1.0", - "sax": "~1.2.4", - "stable": "^0.1.8", - "unquote": "~1.1.1", - "util.promisify": "~1.0.0" + "node_modules/tar/node_modules/mkdirp": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", + "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", + "dev": true, + "bin": { + "mkdirp": "bin/cmd.js" + }, + "engines": { + "node": ">=10" } }, - "symbol-observable": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/symbol-observable/-/symbol-observable-2.0.3.tgz", - "integrity": "sha512-sQV7phh2WCYAn81oAkakC5qjq2Ml0g8ozqz03wOGnx9dDlG1de6yrF+0RAzSJD8fPUow3PTSMf2SAbOGxb93BA==", - "dev": true - }, - "tapable": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.1.1.tgz", - "integrity": "sha512-Wib1S8m2wdpLbmQz0RBEVosIyvb/ykfKXf3ZIDqvWoMg/zTNm6G/tDSuUM61J1kNCDXWJrLHGSFeMhAG+gAGpQ==", + "node_modules/tar/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "tar": { - "version": "6.0.5", - "resolved": "https://registry.npmjs.org/tar/-/tar-6.0.5.tgz", - "integrity": "sha512-0b4HOimQHj9nXNEAA7zWwMM91Zhhba3pspja6sQbgTpynOJf+bkjBnfybNYzbpLbnwXnbyB4LOREvlyXLkCHSg==", + "node_modules/terser": { + "version": "5.17.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.17.1.tgz", + "integrity": "sha512-hVl35zClmpisy6oaoKALOpS0rDYLxRFLHhRuDlEGTKey9qHjS1w9GMORjuwIMt70Wan4lwsLYyWDVnWgF+KUEw==", "dev": true, - "requires": { - "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" - }, "dependencies": { - "chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", - "dev": true - }, - "mkdirp": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-1.0.4.tgz", - "integrity": "sha512-vVqVZQyf3WLx2Shd0qJ9xuvqgAyKPLAiqITEtqW0oIUjzo3PePDd6fW9iFz30ef7Ysp/oiWqbhszeGWW2T6Gzw==", - "dev": true - } + "@jridgewell/source-map": "^0.3.2", + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" } }, - "terser": { - "version": "5.3.7", - "resolved": "https://registry.npmjs.org/terser/-/terser-5.3.7.tgz", - "integrity": "sha512-lJbKdfxWvjpV330U4PBZStCT9h3N9A4zZVA5Y4k9sCWXknrpdyxi1oMsRKLmQ/YDMDxSBKIh88v0SkdhdqX06w==", + "node_modules/terser-webpack-plugin": { + "version": "5.3.8", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.8.tgz", + "integrity": "sha512-WiHL3ElchZMsK27P8uIUh4604IgJyAW47LVXGbEoB21DbQcZ+OuMpGjVYnEUaqcWM6dO8uS2qUbA7LSCWqvsbg==", "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.7.2", - "source-map-support": "~0.5.19" - }, "dependencies": { - "source-map": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.7.3.tgz", - "integrity": "sha512-CkCj6giN3S+n9qrYiBTX5gystlENnRW5jZeNLHpe6aue+SrHcG5VYwujhW9s4dY31mEGsxBDrHR6oI69fTXsaQ==", - "dev": true + "@jridgewell/trace-mapping": "^0.3.17", + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.1", + "terser": "^5.16.8" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - }, - "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - } - } + "uglify-js": { + "optional": true } } }, - "terser-webpack-plugin": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-4.2.3.tgz", - "integrity": "sha512-jTgXh40RnvOrLQNgIkwEKnQ8rmHjHK4u+6UBEi+W+FPmvb+uo+chJXntKe7/3lW5mNysgSWD60KyesnhW8D6MQ==", - "dev": true, - "requires": { - "cacache": "^15.0.5", - "find-cache-dir": "^3.3.1", - "jest-worker": "^26.5.0", - "p-limit": "^3.0.2", - "schema-utils": "^3.0.0", - "serialize-javascript": "^5.0.1", - "source-map": "^0.6.1", - "terser": "^5.3.4", - "webpack-sources": "^1.4.3" + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/test-exclude": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/test-exclude/-/test-exclude-6.0.0.tgz", + "integrity": "sha512-cAGWPIyOHU6zlmg88jwm7VRyXnMN7iV68OGAbYDk/Mh/xC/pzVPlQtY6ngoIH/5/tciuhGfvESU8GrHrcxD56w==", + "dev": true, "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "p-limit": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.0.2.tgz", - "integrity": "sha512-iwqZSOoWIW+Ew4kAGUlN16J4M7OB3ysMLSZtnhmqx7njIHFPlxWBX8xo3lVTyFVq6mI/lL9qt2IsN1sHwaxJkg==", - "dev": true, - "requires": { - "p-try": "^2.0.0" - } - }, - "schema-utils": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.0.0.tgz", - "integrity": "sha512-6D82/xSzO094ajanoOSbe4YvXWMfn2A//8Y1+MUqFAJul5Bs+yn36xbK9OtNDcRVSBJ9jjeoXftM6CfztsjOAA==", - "dev": true, - "requires": { - "@types/json-schema": "^7.0.6", - "ajv": "^6.12.5", - "ajv-keywords": "^3.5.2" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } + "@istanbuljs/schema": "^0.1.2", + "glob": "^7.1.4", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=8" } }, - "text-table": { + "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", "integrity": "sha1-f17oI66AUgfACvLfSoTsP8+lcLQ=", "dev": true }, - "through": { + "node_modules/through": { "version": "2.3.8", - "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", - "dev": true - }, - "through2": { - "version": "2.0.5", - "resolved": "https://registry.npmjs.org/through2/-/through2-2.0.5.tgz", - "integrity": "sha512-/mrRod8xqpA+IHSLyGCQ2s8SPHiCDEeQJSep1jqLYeEUClOFG2Qsh+4FU6G9VeqpZnGW/Su8LQGc4YKni5rYSQ==", - "dev": true, - "requires": { - "readable-stream": "~2.3.6", - "xtend": "~4.0.1" - } + "resolved": "http://registry.npmjs.org/through/-/through-2.3.8.tgz", + "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=", + "dev": true }, - "thunky": { + "node_modules/thunky": { "version": "1.1.0", "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", "dev": true }, - "timers-browserify": { - "version": "2.0.12", - "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", - "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", - "dev": true, - "requires": { - "setimmediate": "^1.0.4" - } - }, - "timsort": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/timsort/-/timsort-0.3.0.tgz", - "integrity": "sha1-QFQRqOfmM5/mTbmiNN4R3DHgK9Q=", - "dev": true - }, - "tmp": { + "node_modules/tmp": { "version": "0.0.33", "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.0.33.tgz", "integrity": "sha512-jRCJlojKnZ3addtTOjdIqoRuPEKBvNXcGYqzO6zWZX8KfKEpnGY5jfggJQ3EjKuu8D4bJRr0y+cYJFmYbImXGw==", "dev": true, - "requires": { + "dependencies": { "os-tmpdir": "~1.0.2" + }, + "engines": { + "node": ">=0.6.0" } }, - "to-array": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/to-array/-/to-array-0.1.4.tgz", - "integrity": "sha1-F+bBH3PdTz10zaek/zI46a2b+JA=", - "dev": true - }, - "to-arraybuffer": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", - "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", - "dev": true - }, - "to-fast-properties": { + "node_modules/to-fast-properties": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", - "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", - "dev": true - }, - "to-object-path": { - "version": "0.3.0", - "resolved": "https://registry.npmjs.org/to-object-path/-/to-object-path-0.3.0.tgz", - "integrity": "sha1-KXWIt7Dn4KwI4E5nL4XB9JmeF68=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "to-regex": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/to-regex/-/to-regex-3.0.2.tgz", - "integrity": "sha512-FWtleNAtZ/Ki2qtqej2CXTOayOH9bHDQF+Q48VpWyDXjbYxA4Yz8iDB31zXOBUlOHHKidDbqGVrTUvQMPmBGBw==", + "integrity": "sha512-/OaKK0xYrs3DmxRYqL/yDc+FxFUVYhDlXMhRmv3z915w2HF1tnN1omB354j8VUGO/hbRzyD6Y3sA7v7GS/ceog==", "dev": true, - "requires": { - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "regex-not": "^1.0.2", - "safe-regex": "^1.1.0" + "engines": { + "node": ">=4" } }, - "to-regex-range": { + "node_modules/to-regex-range": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", "dev": true, - "requires": { + "dependencies": { "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" } }, - "toidentifier": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.0.tgz", - "integrity": "sha512-yaOH/Pk/VEhBWWTlhI+qXxDFXlejDGcQipMlyxda9nthulaxLZUNcUqFxokp0vcYnvteJln5FNQDRrxj3YcbVw==", - "dev": true + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } }, - "tough-cookie": { + "node_modules/tough-cookie": { "version": "2.4.3", "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.4.3.tgz", "integrity": "sha512-Q5srk/4vDM54WJsJio3XNn6K2sCG+CQ8G5Wz6bZhRZoAe/+TxjWB/GlFAnYEbkYVlON9FMk/fE3h2RLpPXo4lQ==", "dev": true, - "requires": { + "dependencies": { "psl": "^1.1.24", "punycode": "^1.4.1" }, - "dependencies": { - "punycode": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", - "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", - "dev": true - } + "engines": { + "node": ">=0.8" } }, - "tree-kill": { + "node_modules/tough-cookie/node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/tree-kill": { "version": "1.2.2", "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==", - "dev": true + "dev": true, + "bin": { + "tree-kill": "cli.js" + } }, - "ts-node": { - "version": "8.3.0", - "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-8.3.0.tgz", - "integrity": "sha512-dyNS/RqyVTDcmNM4NIBAeDMpsAdaQ+ojdf0GOLqE6nwJOgzEkdRNzJywhDfwnuvB10oa6NLVG1rUJQCpRN7qoQ==", + "node_modules/ts-node": { + "version": "10.9.1", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", + "integrity": "sha512-NtVysVPkxxrwFGUUxGYhfux8k78pQB3JqYBXlLRZgdGUqTO5wU/UyHop5p70iEbGhB7q5KmiZiU0Y3KlJrScEw==", "dev": true, - "requires": { + "dependencies": { + "@cspotcode/source-map-support": "^0.8.0", + "@tsconfig/node10": "^1.0.7", + "@tsconfig/node12": "^1.0.7", + "@tsconfig/node14": "^1.0.0", + "@tsconfig/node16": "^1.0.2", + "acorn": "^8.4.1", + "acorn-walk": "^8.1.1", "arg": "^4.1.0", + "create-require": "^1.1.0", "diff": "^4.0.1", "make-error": "^1.1.1", - "source-map-support": "^0.5.6", - "yn": "^3.0.0" + "v8-compile-cache-lib": "^3.0.1", + "yn": "3.1.1" + }, + "bin": { + "ts-node": "dist/bin.js", + "ts-node-cwd": "dist/bin-cwd.js", + "ts-node-esm": "dist/bin-esm.js", + "ts-node-script": "dist/bin-script.js", + "ts-node-transpile-only": "dist/bin-transpile.js", + "ts-script": "dist/bin-script-deprecated.js" + }, + "peerDependencies": { + "@swc/core": ">=1.2.50", + "@swc/wasm": ">=1.2.50", + "@types/node": "*", + "typescript": ">=2.7" }, - "dependencies": { - "diff": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.1.tgz", - "integrity": "sha512-s2+XdvhPCOF01LRQBC8hf4vhbVmI2CGS5aZnxLJlT5FtdhPCDFq80q++zK2KlrVorVDdL5BOGZ/VfLrVtYNF+Q==", - "dev": true + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "@swc/wasm": { + "optional": true } } }, - "ts-pnp": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/ts-pnp/-/ts-pnp-1.2.0.tgz", - "integrity": "sha512-csd+vJOb/gkzvcCHgTGSChYpy5f1/XKNsmvBGO4JXS+z1v2HobugDz4s1IeFXM3wZB44uczs+eazB5Q/ccdhQw==", - "dev": true - }, - "tslib": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.0.3.tgz", - "integrity": "sha512-uZtkfKblCEQtZKBF6EBXVZeQNl82yqtDQdv+eck8u7tdPxjLu2/lp5/uPW+um2tpuxINHWy3GhiccY7QgEaVHQ==" + "node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" }, - "tslint": { + "node_modules/tslint": { "version": "6.1.3", "resolved": "https://registry.npmjs.org/tslint/-/tslint-6.1.3.tgz", "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", + "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", "dev": true, - "requires": { + "dependencies": { "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", "chalk": "^2.3.0", @@ -14414,1792 +13989,1040 @@ "tslib": "^1.13.0", "tsutils": "^2.29.0" }, - "dependencies": { - "builtin-modules": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", - "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", - "dev": true - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "bin": { + "tslint": "bin/tslint" + }, + "engines": { + "node": ">=4.8.0" + }, + "peerDependencies": { + "typescript": ">=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >=3.0.0-dev || >= 3.1.0-dev || >= 3.2.0-dev || >= 4.0.0-dev" + } + }, + "node_modules/tslint/node_modules/builtin-modules": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", + "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", + "dev": true, + "engines": { + "node": ">=0.10.0" } }, - "tsutils": { + "node_modules/tslint/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/tsutils": { "version": "2.29.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, - "requires": { + "dependencies": { "tslib": "^1.8.1" }, - "dependencies": { - "tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true - } + "peerDependencies": { + "typescript": ">=2.1.0 || >=2.1.0-dev || >=2.2.0-dev || >=2.3.0-dev || >=2.4.0-dev || >=2.5.0-dev || >=2.6.0-dev || >=2.7.0-dev || >=2.8.0-dev || >=2.9.0-dev || >= 3.0.0-dev || >= 3.1.0-dev" } }, - "tty-browserify": { - "version": "0.0.0", - "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", - "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "tunnel-agent": { + "node_modules/tuf-js": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/tuf-js/-/tuf-js-1.1.6.tgz", + "integrity": "sha512-CXwFVIsXGbVY4vFiWF7TJKWmlKJAT8TWkH4RmiohJRcDJInix++F0dznDmoVbtJNzZ8yLprKUG4YrDIhv3nBMg==", + "dev": true, + "dependencies": { + "@tufjs/models": "1.0.4", + "debug": "^4.3.4", + "make-fetch-happen": "^11.1.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/tuf-js/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/tuf-js/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/tuf-js/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/tunnel-agent": { "version": "0.6.0", "resolved": "https://registry.npmjs.org/tunnel-agent/-/tunnel-agent-0.6.0.tgz", "integrity": "sha1-J6XeoGs2sEoKmWZ3SykIaPD8QP0=", "dev": true, - "requires": { + "dependencies": { "safe-buffer": "^5.0.1" + }, + "engines": { + "node": "*" } }, - "tweetnacl": { + "node_modules/tweetnacl": { "version": "0.14.5", "resolved": "https://registry.npmjs.org/tweetnacl/-/tweetnacl-0.14.5.tgz", "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, - "type": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", - "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", - "dev": true - }, - "type-fest": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.11.0.tgz", - "integrity": "sha512-OdjXJxnCN1AvyLSzeKIgXTXxV+99ZuXl3Hpo9XpJAv9MBcHrrJOQ5kV7ypXOuQie+AmWG25hLbiKdwYTifzcfQ==", - "dev": true + "node_modules/type-fest": { + "version": "0.21.3", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", + "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } }, - "type-is": { + "node_modules/type-is": { "version": "1.6.18", "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", "dev": true, - "requires": { + "dependencies": { "media-typer": "0.3.0", "mime-types": "~2.1.24" }, - "dependencies": { - "mime-db": { - "version": "1.44.0", - "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.44.0.tgz", - "integrity": "sha512-/NOTfLrsPBVeH7YtFPgsVWveuL+4SjjYxaQ1xtM1KMFj7HdxlBlxeyNLzhyJVx7r4rZGJAZ/6lkKCitSc/Nmpg==", - "dev": true - }, - "mime-types": { - "version": "2.1.27", - "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.27.tgz", - "integrity": "sha512-JIhqnCasI9yD+SsmkquHBxTSEuZdQX5BuQnS2Vc7puQQQ+8yiP5AY5uWhpdv4YL4VM5c6iliiYWPgJ/nJQLp7w==", - "dev": true, - "requires": { - "mime-db": "1.44.0" - } - } + "engines": { + "node": ">= 0.6" } }, - "typedarray": { - "version": "0.0.6", - "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", - "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=", - "dev": true - }, - "typescript": { - "version": "4.0.5", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.0.5.tgz", - "integrity": "sha512-ywmr/VrTVCmNTJ6iV2LwIrfG1P+lv6luD8sUJs+2eI9NLGigaN+nUQc13iHqisq7bra9lnmUSYqbJvegraBOPQ==", - "dev": true - }, - "ua-parser-js": { - "version": "0.7.21", - "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.21.tgz", - "integrity": "sha512-+O8/qh/Qj8CgC6eYBVBykMrNtp5Gebn4dlGD/kKXVkJNDwyrAwSIqwz8CDf+tsAIWVycKcku6gIXJ0qwx/ZXaQ==", - "dev": true - }, - "unicode-canonical-property-names-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-1.0.4.tgz", - "integrity": "sha512-jDrNnXWHd4oHiTZnx/ZG7gtUTVp+gCcTTKr8L0HjlwphROEW3+Him+IpvC+xcJEFegapiMZyZe02CyuOnRmbnQ==", + "node_modules/typed-assert": { + "version": "1.0.9", + "resolved": "https://registry.npmjs.org/typed-assert/-/typed-assert-1.0.9.tgz", + "integrity": "sha512-KNNZtayBCtmnNmbo5mG47p1XsCyrx6iVqomjcZnec/1Y5GGARaxPs6r49RnSPeUP3YjNYiU9sQHAtY4BBvnZwg==", "dev": true }, - "unicode-match-property-ecmascript": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-1.0.4.tgz", - "integrity": "sha512-L4Qoh15vTfntsn4P1zqnHulG0LdXgjSO035fEpdtp6YxXhMT51Q6vgM5lYdG/5X3MjS+k/Y9Xw4SFCY9IkR0rg==", + "node_modules/typescript": { + "version": "5.0.4", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.0.4.tgz", + "integrity": "sha512-cW9T5W9xY37cc+jfEnaUvX91foxtHkza3Nw3wkoF4sSlKn0MONdkdEndig/qPBWXNkmplh3NzayQzCiHM4/hqw==", "dev": true, - "requires": { - "unicode-canonical-property-names-ecmascript": "^1.0.4", - "unicode-property-aliases-ecmascript": "^1.0.4" + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=12.20" } }, - "unicode-match-property-value-ecmascript": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-1.2.0.tgz", - "integrity": "sha512-wjuQHGQVofmSJv1uVISKLE5zO2rNGzM/KCYZch/QQvez7C1hUhBIuZ701fYXExuufJFMPhv2SyL8CyoIfMLbIQ==", - "dev": true - }, - "unicode-property-aliases-ecmascript": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-1.1.0.tgz", - "integrity": "sha512-PqSoPh/pWetQ2phoj5RLiaqIk4kCNwoV3CI+LfGmWLKI3rE3kl1h59XpX2BjgDrmbxD9ARtQobPGU1SguCYuQg==", - "dev": true - }, - "union-value": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/union-value/-/union-value-1.0.1.tgz", - "integrity": "sha512-tJfXmxMeWYnczCVs7XAEvIV7ieppALdyepWMkHkwciRpZraG/xwT+s2JN8+pr1+8jCRf80FFzvr+MpQeeoF4Xg==", + "node_modules/ua-parser-js": { + "version": "0.7.35", + "resolved": "https://registry.npmjs.org/ua-parser-js/-/ua-parser-js-0.7.35.tgz", + "integrity": "sha512-veRf7dawaj9xaWEu9HoTVn5Pggtc/qj+kqTOFvNiN1l0YdxwC1kvel57UCjThjGa3BHBihE8/UJAHI+uQHmd/g==", "dev": true, - "requires": { - "arr-union": "^3.1.0", - "get-value": "^2.0.6", - "is-extendable": "^0.1.1", - "set-value": "^2.0.1" + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/ua-parser-js" + }, + { + "type": "paypal", + "url": "https://paypal.me/faisalman" + } + ], + "engines": { + "node": "*" } }, - "uniq": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/uniq/-/uniq-1.0.1.tgz", - "integrity": "sha1-sxxa6CVIRKOoKBVBzisEuGWnNP8=", - "dev": true + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } }, - "uniqs": { + "node_modules/unicode-match-property-ecmascript": { "version": "2.0.0", - "resolved": "https://registry.npmjs.org/uniqs/-/uniqs-2.0.0.tgz", - "integrity": "sha1-/+3ks2slKQaW5uFl1KWe25mOawI=", - "dev": true + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } }, - "unique-filename": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-1.1.1.tgz", - "integrity": "sha512-Vmp0jIp2ln35UTXuryvjzkjGdRyf9b2lTXuSYUiPmzRcl3FDtYqAwOnTJkAngD9SWhnoJzDbTKwaOrZ+STtxNQ==", + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.1.0.tgz", + "integrity": "sha512-qxkjQt6qjg/mYscYMC0XKRn3Rh0wFPlfxB0xkt9CfyTvpX1Ra0+rAmdX2QyAobptSEvuy4RtpPRui6XkV+8wjA==", "dev": true, - "requires": { - "unique-slug": "^2.0.0" + "engines": { + "node": ">=4" } }, - "unique-slug": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-2.0.2.tgz", - "integrity": "sha512-zoWr9ObaxALD3DOPfjPSqxt4fnZiWblxHIgeWqW8x7UqDzEtHEQLzji2cuJYQFCU6KmoJikOYAZlrTHHebjx2w==", + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.1.0.tgz", + "integrity": "sha512-6t3foTQI9qne+OZoVQB/8x8rk2k1eVy1gRXhV3oFQ5T6R1dqQ1xtin3XqSlx3+ATBkliTaR/hHyJBm+LVPNM8w==", "dev": true, - "requires": { - "imurmurhash": "^0.1.4" + "engines": { + "node": ">=4" } }, - "universal-analytics": { - "version": "0.4.23", - "resolved": "https://registry.npmjs.org/universal-analytics/-/universal-analytics-0.4.23.tgz", - "integrity": "sha512-lgMIH7XBI6OgYn1woDEmxhGdj8yDefMKg7GkWdeATAlQZFrMrNyxSkpDzY57iY0/6fdlzTbBV03OawvvzG+q7A==", + "node_modules/unique-filename": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/unique-filename/-/unique-filename-3.0.0.tgz", + "integrity": "sha512-afXhuC55wkAmZ0P18QsVE6kp8JaxrEokN2HGIoIVv2ijHQd419H0+6EigAFcIzXeMIkcIkNBpB3L/DXB3cTS/g==", "dev": true, - "requires": { - "debug": "^4.1.1", - "request": "^2.88.2", - "uuid": "^3.0.0" - }, - "dependencies": { - "request": { - "version": "2.88.2", - "resolved": "https://registry.npmjs.org/request/-/request-2.88.2.tgz", - "integrity": "sha512-MsvtOrfG9ZcrOwAW+Qi+F6HbD0CWXEh9ou77uOb7FM2WPhwT7smM833PzanhJLsgXjN89Ir6V2PczXNnMpwKhw==", - "dev": true, - "requires": { - "aws-sign2": "~0.7.0", - "aws4": "^1.8.0", - "caseless": "~0.12.0", - "combined-stream": "~1.0.6", - "extend": "~3.0.2", - "forever-agent": "~0.6.1", - "form-data": "~2.3.2", - "har-validator": "~5.1.3", - "http-signature": "~1.2.0", - "is-typedarray": "~1.0.0", - "isstream": "~0.1.2", - "json-stringify-safe": "~5.0.1", - "mime-types": "~2.1.19", - "oauth-sign": "~0.9.0", - "performance-now": "^2.1.0", - "qs": "~6.5.2", - "safe-buffer": "^5.1.2", - "tough-cookie": "~2.5.0", - "tunnel-agent": "^0.6.0", - "uuid": "^3.3.2" - } - }, - "tough-cookie": { - "version": "2.5.0", - "resolved": "https://registry.npmjs.org/tough-cookie/-/tough-cookie-2.5.0.tgz", - "integrity": "sha512-nlLsUzgm1kfLXSXfRZMc1KLAugd4hqJHDTvc2hDIwS3mZAfMEuMbc03SujMF+GEcpaX/qboeycw6iO8JwVv2+g==", - "dev": true, - "requires": { - "psl": "^1.1.28", - "punycode": "^2.1.1" - } - } + "dependencies": { + "unique-slug": "^4.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/unique-slug": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/unique-slug/-/unique-slug-4.0.0.tgz", + "integrity": "sha512-WrcA6AyEfqDX5bWige/4NQfPZMtASNVxdmWR76WESYQVAACSgWcR6e9i0mofqqBxYFtL4oAxPIptY73/0YE1DQ==", + "dev": true, + "dependencies": { + "imurmurhash": "^0.1.4" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "universalify": { + "node_modules/universalify": { "version": "0.1.2", "resolved": "https://registry.npmjs.org/universalify/-/universalify-0.1.2.tgz", "integrity": "sha512-rBJeI5CXAlmy1pV+617WB9J63U6XcazHHF2f2dbJix4XzpUF0RS3Zbj0FGIOCAva5P/d/GBOYaACQ1w+0azUkg==", - "dev": true + "dev": true, + "engines": { + "node": ">= 4.0.0" + } }, - "unpipe": { + "node_modules/unpipe": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", - "dev": true - }, - "unquote": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/unquote/-/unquote-1.1.1.tgz", - "integrity": "sha1-j97XMk7G6IoP+LkF58CYzcCG1UQ=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "unset-value": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/unset-value/-/unset-value-1.0.0.tgz", - "integrity": "sha1-g3aHP30jNRef+x5vw6jtDfyKtVk=", - "dev": true, - "requires": { - "has-value": "^0.3.1", - "isobject": "^3.0.0" - }, - "dependencies": { - "has-value": { - "version": "0.3.1", - "resolved": "https://registry.npmjs.org/has-value/-/has-value-0.3.1.tgz", - "integrity": "sha1-ex9YutpiyoJ+wKIHgCVlSEWZXh8=", - "dev": true, - "requires": { - "get-value": "^2.0.3", - "has-values": "^0.1.4", - "isobject": "^2.0.0" - }, - "dependencies": { - "isobject": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-2.1.0.tgz", - "integrity": "sha1-8GVWEJaj8dou9GJy+BXIQNh+DIk=", - "dev": true, - "requires": { - "isarray": "1.0.0" - } - } - } + "node_modules/update-browserslist-db": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.0.11.tgz", + "integrity": "sha512-dCwEFf0/oT85M1fHBg4F0jtLwJrutGoHSQXCh7u4o2t1drG+c0a9Flnqww6XUKSfQMPpJBRjU8d4RXB09qtvaA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" }, - "has-values": { - "version": "0.1.4", - "resolved": "https://registry.npmjs.org/has-values/-/has-values-0.1.4.tgz", - "integrity": "sha1-bWHeldkd/Km5oCCJrThL/49it3E=", - "dev": true + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true + { + "type": "github", + "url": "https://github.com/sponsors/ai" } + ], + "dependencies": { + "escalade": "^3.1.1", + "picocolors": "^1.0.0" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" } }, - "upath": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/upath/-/upath-1.2.0.tgz", - "integrity": "sha512-aZwGpamFO61g3OlfT7OQCHqhGnW43ieH9WZeP7QxN/G/jS4jfqUkZxoryvJgVPEcrl5NL/ggHsSmLMHuH64Lhg==", - "dev": true - }, - "uri-js": { + "node_modules/uri-js": { "version": "4.2.2", "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.2.2.tgz", "integrity": "sha512-KY9Frmirql91X2Qgjry0Wd4Y+YTdrdZheS8TFwvkbLWf/G5KNJDCh6pKL5OZctEW4+0Baa5idK2ZQuELRwPznQ==", "dev": true, - "requires": { - "punycode": "^2.1.0" - } - }, - "urix": { - "version": "0.1.0", - "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", - "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", - "dev": true - }, - "url": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", - "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", - "dev": true, - "requires": { - "punycode": "1.3.2", - "querystring": "0.2.0" - }, "dependencies": { - "punycode": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", - "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", - "dev": true - } - } - }, - "url-parse": { - "version": "1.4.7", - "resolved": "https://registry.npmjs.org/url-parse/-/url-parse-1.4.7.tgz", - "integrity": "sha512-d3uaVyzDB9tQoSXFvuSUNFibTd9zxd2bkVrDRvF5TmvWWQwqE4lgYJ5m+x1DbecWkw+LK4RNl2CU1hHuOKPVlg==", - "dev": true, - "requires": { - "querystringify": "^2.1.1", - "requires-port": "^1.0.0" - } - }, - "use": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/use/-/use-3.1.1.tgz", - "integrity": "sha512-cwESVXlO3url9YWlFW/TA9cshCEhtu7IKJ/p5soJ/gGpj7vbvFrAY/eIioQ6Dw23KjZhYgiIo8HOs1nQ2vr/oQ==", - "dev": true - }, - "util": { - "version": "0.11.1", - "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", - "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", - "dev": true, - "requires": { - "inherits": "2.0.3" + "punycode": "^2.1.0" } }, - "util-deprecate": { + "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=", "dev": true }, - "util.promisify": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/util.promisify/-/util.promisify-1.0.1.tgz", - "integrity": "sha512-g9JpC/3He3bm38zsLupWryXHoEcS22YHthuPQSJdMy6KNrzIRzWqcsHzD/WUnqe45whVou4VIsPew37DoXWNrA==", - "dev": true, - "requires": { - "define-properties": "^1.1.3", - "es-abstract": "^1.17.2", - "has-symbols": "^1.0.1", - "object.getownpropertydescriptors": "^2.1.0" - } - }, - "utils-merge": { + "node_modules/utils-merge": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", - "dev": true + "dev": true, + "engines": { + "node": ">= 0.4.0" + } }, - "uuid": { + "node_modules/uuid": { "version": "3.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-3.3.2.tgz", "integrity": "sha512-yXJmeNaw3DnnKAOKJE51sL/ZaYfWJRl1pK9dr19YFCu0ObS231AB1/LbqTKRAQ5kw8A90rA6fr4riOUpTZvQZA==", + "deprecated": "Please upgrade to version 7 or higher. Older versions may use Math.random() in certain circumstances, which is known to be problematic. See https://v8.dev/blog/math-random for details.", + "dev": true, + "bin": { + "uuid": "bin/uuid" + } + }, + "node_modules/v8-compile-cache-lib": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", + "integrity": "sha512-wa7YjyUGfNZngI/vtK0UHAN+lgDCxBPCylVXGp0zu59Fz5aiGtNXaq3DhIov063MorB+VfufLh3JlF2KdTK3xg==", "dev": true }, - "validate-npm-package-license": { + "node_modules/validate-npm-package-license": { "version": "3.0.4", "resolved": "https://registry.npmjs.org/validate-npm-package-license/-/validate-npm-package-license-3.0.4.tgz", "integrity": "sha512-DpKm2Ui/xN7/HQKCtpZxoRWBhZ9Z0kqtygG8XCgNQ8ZlDnxuQmWhj566j8fN4Cu3/JmbhsDo7fcAJq4s9h27Ew==", "dev": true, - "requires": { + "dependencies": { "spdx-correct": "^3.0.0", "spdx-expression-parse": "^3.0.0" } }, - "validate-npm-package-name": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-3.0.0.tgz", - "integrity": "sha1-X6kS2B630MdK/BQN5zF/DKffQ34=", + "node_modules/validate-npm-package-name": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/validate-npm-package-name/-/validate-npm-package-name-5.0.0.tgz", + "integrity": "sha512-YuKoXDAhBYxY7SfOKxHBDoSyENFeW5VvIIQp2TGQuit8gpK6MnWaQelBKxso72DoxTZfZdcP3W90LqpSkgPzLQ==", "dev": true, - "requires": { - "builtins": "^1.0.3" + "dependencies": { + "builtins": "^5.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "vary": { + "node_modules/vary": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", - "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", - "dev": true - }, - "vendors": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/vendors/-/vendors-1.0.4.tgz", - "integrity": "sha512-/juG65kTL4Cy2su4P8HjtkTxk6VmJDiOPBufWniqQ6wknac6jNiXS9vU+hO3wgusiyqWlzTbVHi0dyJqRONg3w==", - "dev": true + "integrity": "sha512-BNGbWLfd0eUPabhkXUVm0j8uuvREyTh5ovRa/dyow/BqAbZJyC+5fU+IzQOzmAKzYqYRAISoRhdQr3eIZ/PXqg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } }, - "verror": { + "node_modules/verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "dev": true, - "requires": { + "engines": [ + "node >=0.6.0" + ], + "dependencies": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, - "vm-browserify": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", - "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", - "dev": true - }, - "void-elements": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", - "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", - "dev": true - }, - "watchpack": { - "version": "1.7.5", - "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-1.7.5.tgz", - "integrity": "sha512-9P3MWk6SrKjHsGkLT2KHXdQ/9SNkyoJbabxnKOoJepsvJjJG8uYTR3yTPxPQvNDI3w4Nz1xnE0TLHK4RIVe/MQ==", - "dev": true, - "requires": { - "chokidar": "^3.4.1", - "graceful-fs": "^4.1.2", - "neo-async": "^2.5.0", - "watchpack-chokidar2": "^2.0.1" - } - }, - "watchpack-chokidar2": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/watchpack-chokidar2/-/watchpack-chokidar2-2.0.1.tgz", - "integrity": "sha512-nCFfBIPKr5Sh61s4LPpy1Wtfi0HE8isJ3d2Yb5/Ppw2P2B/3eVSEBjKfN0fmHJSK14+31KwMKmcrzs2GM4P0Ww==", + "node_modules/vite": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/vite/-/vite-4.3.1.tgz", + "integrity": "sha512-EPmfPLAI79Z/RofuMvkIS0Yr091T2ReUoXQqc5ppBX/sjFRhHKiPPF/R46cTdoci/XgeQpB23diiJxq5w30vdg==", "dev": true, - "optional": true, - "requires": { - "chokidar": "^2.1.8" - }, - "dependencies": { - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "optional": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "optional": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true, + "dependencies": { + "esbuild": "^0.17.5", + "postcss": "^8.4.21", + "rollup": "^3.20.2" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + }, + "peerDependencies": { + "@types/node": ">= 14", + "less": "*", + "sass": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.4.0" + }, + "peerDependenciesMeta": { + "@types/node": { "optional": true }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "optional": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "optional": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "optional": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "optional": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "optional": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "optional": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "optional": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "optional": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "optional": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } + "less": { + "optional": true }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true, + "sass": { "optional": true }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "optional": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } + "stylus": { + "optional": true }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "optional": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } + "sugarss": { + "optional": true }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "optional": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } + "terser": { + "optional": true } } }, - "wbuf": { + "node_modules/void-elements": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/void-elements/-/void-elements-2.0.1.tgz", + "integrity": "sha1-wGavtYK7HLQSjWDqkjkulNXp2+w=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/watchpack": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", + "integrity": "sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { "version": "1.7.3", "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", "dev": true, - "requires": { + "dependencies": { "minimalistic-assert": "^1.0.0" } }, - "wcwidth": { + "node_modules/wcwidth": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/wcwidth/-/wcwidth-1.0.1.tgz", - "integrity": "sha1-8LDc+RW8X/FSivrbLA4XtTLaL+g=", + "integrity": "sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==", "dev": true, - "requires": { + "dependencies": { "defaults": "^1.0.3" } }, - "webdriver-js-extender": { + "node_modules/webdriver-js-extender": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/webdriver-js-extender/-/webdriver-js-extender-2.1.0.tgz", "integrity": "sha512-lcUKrjbBfCK6MNsh7xaY2UAUmZwe+/ib03AjVOpFobX4O7+83BUveSrLfU0Qsyb1DaKJdQRbuU+kM9aZ6QUhiQ==", "dev": true, - "requires": { + "dependencies": { "@types/selenium-webdriver": "^3.0.0", "selenium-webdriver": "^3.0.1" + }, + "engines": { + "node": ">=6.9.x" } }, - "webpack": { - "version": "4.44.2", - "resolved": "https://registry.npmjs.org/webpack/-/webpack-4.44.2.tgz", - "integrity": "sha512-6KJVGlCxYdISyurpQ0IPTklv+DULv05rs2hseIXer6D7KrUicRDLFb4IUM1S6LUAKypPM/nSiVSuv8jHu1m3/Q==", + "node_modules/webpack": { + "version": "5.80.0", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.80.0.tgz", + "integrity": "sha512-OIMiq37XK1rWO8mH9ssfFKZsXg4n6klTEDL7S8/HqbAOBBaiy8ABvXvz0dDCXeEF9gqwxSvVk611zFPjS8hJxA==", "dev": true, - "requires": { - "@webassemblyjs/ast": "1.9.0", - "@webassemblyjs/helper-module-context": "1.9.0", - "@webassemblyjs/wasm-edit": "1.9.0", - "@webassemblyjs/wasm-parser": "1.9.0", - "acorn": "^6.4.1", - "ajv": "^6.10.2", - "ajv-keywords": "^3.4.1", + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^1.0.0", + "@webassemblyjs/ast": "^1.11.5", + "@webassemblyjs/wasm-edit": "^1.11.5", + "@webassemblyjs/wasm-parser": "^1.11.5", + "acorn": "^8.7.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", "chrome-trace-event": "^1.0.2", - "enhanced-resolve": "^4.3.0", - "eslint-scope": "^4.0.3", - "json-parse-better-errors": "^1.0.2", - "loader-runner": "^2.4.0", - "loader-utils": "^1.2.3", - "memory-fs": "^0.4.1", - "micromatch": "^3.1.10", - "mkdirp": "^0.5.3", - "neo-async": "^2.6.1", - "node-libs-browser": "^2.2.1", - "schema-utils": "^1.0.0", - "tapable": "^1.1.3", - "terser-webpack-plugin": "^1.4.3", - "watchpack": "^1.7.4", - "webpack-sources": "^1.4.1" + "enhanced-resolve": "^5.13.0", + "es-module-lexer": "^1.2.1", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.2", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.3.7", + "watchpack": "^2.4.0", + "webpack-sources": "^3.2.3" }, - "dependencies": { - "ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "requires": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" - } - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "cacache": { - "version": "12.0.4", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-12.0.4.tgz", - "integrity": "sha512-a0tMB40oefvuInr4Cwb3GerbL9xTj1D5yg0T5xrjGCGyfvbxseIXX7BAO/u/hIXdafzOI5JC3wDwHyf24buOAQ==", - "dev": true, - "requires": { - "bluebird": "^3.5.5", - "chownr": "^1.1.1", - "figgy-pudding": "^3.5.1", - "glob": "^7.1.4", - "graceful-fs": "^4.1.15", - "infer-owner": "^1.0.3", - "lru-cache": "^5.1.1", - "mississippi": "^3.0.0", - "mkdirp": "^0.5.1", - "move-concurrently": "^1.0.1", - "promise-inflight": "^1.0.1", - "rimraf": "^2.6.3", - "ssri": "^6.0.1", - "unique-filename": "^1.1.1", - "y18n": "^4.0.0" - } - }, - "enhanced-resolve": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-4.3.0.tgz", - "integrity": "sha512-3e87LvavsdxyoCfGusJnrZ5G8SLPOFeHSNpZI/ATL9a5leXo2k0w6MKnbqhdBad9qTobSfB20Ld7UmgoNbAZkQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.2", - "memory-fs": "^0.5.0", - "tapable": "^1.0.0" - }, - "dependencies": { - "memory-fs": { - "version": "0.5.0", - "resolved": "https://registry.npmjs.org/memory-fs/-/memory-fs-0.5.0.tgz", - "integrity": "sha512-jA0rdU5KoQMC0e6ppoNRtpp6vjFq6+NY7r8hywnC7V+1Xj/MtHwGIbB1QaK/dunyjWteJzmkpd7ooeWg10T7GA==", - "dev": true, - "requires": { - "errno": "^0.1.3", - "readable-stream": "^2.0.1" - } - } - } - }, - "fast-deep-equal": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", - "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", - "dev": true - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "find-cache-dir": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-2.1.0.tgz", - "integrity": "sha512-Tq6PixE0w/VMFfCgbONnkiQIVol/JJL7nRMi20fqzA4NRs9AfeqMGeRdPi3wIhYkxjeBaWh2rxwapn5Tu3IqOQ==", - "dev": true, - "requires": { - "commondir": "^1.0.1", - "make-dir": "^2.0.0", - "pkg-dir": "^3.0.0" - } - }, - "glob": { - "version": "7.1.6", - "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.6.tgz", - "integrity": "sha512-LwaxwyZ72Lk7vZINtNNrywX0ZuLyStrdDtabefZKAY5ZGJhVtgdznluResxNmPitE0SAO+O26sWTHeKSI2wMBA==", - "dev": true, - "requires": { - "fs.realpath": "^1.0.0", - "inflight": "^1.0.4", - "inherits": "2", - "minimatch": "^3.0.4", - "once": "^1.3.0", - "path-is-absolute": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "is-wsl": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-1.1.0.tgz", - "integrity": "sha1-HxbkqiKwTRM2tmGIpmrzxgDDpm0=", - "dev": true - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - }, - "lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "requires": { - "yallist": "^3.0.2" - } - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "mkdirp": { - "version": "0.5.5", - "resolved": "https://registry.npmjs.org/mkdirp/-/mkdirp-0.5.5.tgz", - "integrity": "sha512-NKmAlESf6jMGym1++R0Ra7wvhV+wFW63FaSOFPwRahvea0gMUcGUhVeAg/0BC0wiv9ih5NYPB1Wn1UEI1/L+xQ==", - "dev": true, - "requires": { - "minimist": "^1.2.5" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "serialize-javascript": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-4.0.0.tgz", - "integrity": "sha512-GaNA54380uFefWghODBWEGisLZFj00nS5ACs6yHa9nLqlLpVLO8ChDGeKRjZnV4Nh4n0Qi7nhYZD/9fCPzEqkw==", - "dev": true, - "requires": { - "randombytes": "^2.1.0" - } - }, - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "source-map-support": { - "version": "0.5.19", - "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.19.tgz", - "integrity": "sha512-Wonm7zOCIJzBGQdB+thsPar0kYuCIzYvxZwlBa87yi/Mdjv7Tip2cyVbLj5o0cFPN4EVkuTwb3GDDyUx2DGnGw==", - "dev": true, - "requires": { - "buffer-from": "^1.0.0", - "source-map": "^0.6.0" - } - }, - "ssri": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/ssri/-/ssri-6.0.1.tgz", - "integrity": "sha512-3Wge10hNcT1Kur4PDFwEieXSCMCJs/7WvSACcrMYrNp+b8kDL1/0wJch5Ni2WrtwEa2IO8OsVfeKIciKCDx/QA==", - "dev": true, - "requires": { - "figgy-pudding": "^3.5.1" - } - }, - "tapable": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-1.1.3.tgz", - "integrity": "sha512-4WK/bYZmj8xLr+HUCODHGF1ZFzsYffasLUgEiMBY4fgtltdO6B4WJtlSbPaDTLpYTcGVwM2qLnFTICEcNxs3kA==", - "dev": true - }, - "terser": { - "version": "4.8.0", - "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", - "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", - "dev": true, - "requires": { - "commander": "^2.20.0", - "source-map": "~0.6.1", - "source-map-support": "~0.5.12" - } - }, - "terser-webpack-plugin": { - "version": "1.4.5", - "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-1.4.5.tgz", - "integrity": "sha512-04Rfe496lN8EYruwi6oPQkG0vo8C+HT49X687FZnpPF0qMAIHONI6HEXYPKDOE8e5HjXTyKfqRd/agHtH0kOtw==", - "dev": true, - "requires": { - "cacache": "^12.0.2", - "find-cache-dir": "^2.1.0", - "is-wsl": "^1.1.0", - "schema-utils": "^1.0.0", - "serialize-javascript": "^4.0.0", - "source-map": "^0.6.1", - "terser": "^4.1.2", - "webpack-sources": "^1.4.0", - "worker-farm": "^1.7.0" - } - }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - }, - "yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true } } }, - "webpack-dev-middleware": { - "version": "3.7.2", - "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-3.7.2.tgz", - "integrity": "sha512-1xC42LxbYoqLNAhV6YzTYacicgMZQTqRd27Sim9wn5hJrX3I5nxYy1SxSd4+gjUFsz1dQFj+yEe6zEVmSkeJjw==", + "node_modules/webpack-dev-middleware": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-6.0.2.tgz", + "integrity": "sha512-iOddiJzPcQC6lwOIu60vscbGWth8PCRcWRCwoQcTQf9RMoOWBHg5EyzpGdtSmGMrSPd5vHEfFXmVErQEmkRngQ==", "dev": true, - "requires": { - "memory-fs": "^0.4.1", - "mime": "^2.4.4", - "mkdirp": "^0.5.1", + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.12", + "mime-types": "^2.1.31", "range-parser": "^1.2.1", - "webpack-log": "^2.0.0" + "schema-utils": "^4.0.0" }, - "dependencies": { - "mime": { - "version": "2.4.6", - "resolved": "https://registry.npmjs.org/mime/-/mime-2.4.6.tgz", - "integrity": "sha512-RZKhC3EmpBchfTGBVb8fb+RL2cWyw/32lshnsETttkBAyAUXSGHxbEJWWRXc751DrIxG1q04b8QwMbAwkRPpUA==", - "dev": true + "engines": { + "node": ">= 14.15.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true } } }, - "webpack-dev-server": { - "version": "3.11.0", - "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-3.11.0.tgz", - "integrity": "sha512-PUxZ+oSTxogFQgkTtFndEtJIPNmml7ExwufBZ9L2/Xyyd5PnOL5UreWe5ZT7IU25DSdykL9p1MLQzmLh2ljSeg==", + "node_modules/webpack-dev-server": { + "version": "4.13.2", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.13.2.tgz", + "integrity": "sha512-5i6TrGBRxG4vnfDpB6qSQGfnB6skGBXNL5/542w2uRGLimX6qeE5BQMLrzIC3JYV/xlGOv+s+hTleI9AZKUQNw==", "dev": true, - "requires": { - "ansi-html": "0.0.7", - "bonjour": "^3.5.0", - "chokidar": "^2.1.8", + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/serve-static": "^1.13.10", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", "compression": "^1.7.4", - "connect-history-api-fallback": "^1.6.0", - "debug": "^4.1.1", - "del": "^4.1.1", - "express": "^4.17.1", - "html-entities": "^1.3.1", - "http-proxy-middleware": "0.19.1", - "import-local": "^2.0.0", - "internal-ip": "^4.3.0", - "ip": "^1.1.5", - "is-absolute-url": "^3.0.3", - "killable": "^1.0.1", - "loglevel": "^1.6.8", - "opn": "^5.5.0", - "p-retry": "^3.0.1", - "portfinder": "^1.0.26", - "schema-utils": "^1.0.0", - "selfsigned": "^1.10.7", - "semver": "^6.3.0", + "connect-history-api-fallback": "^2.0.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "launch-editor": "^2.6.0", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.1.1", "serve-index": "^1.9.1", - "sockjs": "0.3.20", - "sockjs-client": "1.4.0", + "sockjs": "^0.3.24", "spdy": "^4.0.2", - "strip-ansi": "^3.0.1", - "supports-color": "^6.1.0", - "url": "^0.11.0", - "webpack-dev-middleware": "^3.7.2", - "webpack-log": "^2.0.0", - "ws": "^6.2.1", - "yargs": "^13.3.2" - }, - "dependencies": { - "ansi-regex": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", - "integrity": "sha1-w7M6te42DYbg5ijwRorn7yfWVN8=", - "dev": true - }, - "anymatch": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-2.0.0.tgz", - "integrity": "sha512-5teOsQWABXHHBFP9y3skS5P3d/WfWXpv3FUpy+LorMrNYaT9pI4oLMQX7jzQ2KklNpGpWHzdCXTDT2Y3XGlZBw==", - "dev": true, - "requires": { - "micromatch": "^3.1.4", - "normalize-path": "^2.1.1" - }, - "dependencies": { - "normalize-path": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-2.1.1.tgz", - "integrity": "sha1-GrKLVW4Zg2Oowab35vogE3/mrtk=", - "dev": true, - "requires": { - "remove-trailing-separator": "^1.0.1" - } - } - } - }, - "binary-extensions": { - "version": "1.13.1", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-1.13.1.tgz", - "integrity": "sha512-Un7MIEDdUC5gNpcGDV97op1Ywk748MpHcFTHoYs6qnj1Z3j7I53VG3nwZhKzoBZmbdRNnb6WRdFlwl7tSDuZGw==", - "dev": true - }, - "braces": { - "version": "2.3.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-2.3.2.tgz", - "integrity": "sha512-aNdbnj9P8PjdXU4ybaWLK2IF3jc/EoDYbC7AazW6to3TRsfXxscC9UXOB5iDiEQrkyIbWp2SLQda4+QAa7nc3w==", - "dev": true, - "requires": { - "arr-flatten": "^1.1.0", - "array-unique": "^0.3.2", - "extend-shallow": "^2.0.1", - "fill-range": "^4.0.0", - "isobject": "^3.0.1", - "repeat-element": "^1.1.2", - "snapdragon": "^0.8.1", - "snapdragon-node": "^2.0.1", - "split-string": "^3.0.2", - "to-regex": "^3.0.1" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "chokidar": { - "version": "2.1.8", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-2.1.8.tgz", - "integrity": "sha512-ZmZUazfOzf0Nve7duiCKD23PFSCs4JPoYyccjUFF3aQkQadqBhfzhjkwBH2mNOG9cTBwhamM37EIsIkZw3nRgg==", - "dev": true, - "requires": { - "anymatch": "^2.0.0", - "async-each": "^1.0.1", - "braces": "^2.3.2", - "fsevents": "^1.2.7", - "glob-parent": "^3.1.0", - "inherits": "^2.0.3", - "is-binary-path": "^1.0.0", - "is-glob": "^4.0.0", - "normalize-path": "^3.0.0", - "path-is-absolute": "^1.0.0", - "readdirp": "^2.2.1", - "upath": "^1.1.1" - } - }, - "fill-range": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-4.0.0.tgz", - "integrity": "sha1-1USBHUKPmOsGpj3EAtJAPDKMOPc=", - "dev": true, - "requires": { - "extend-shallow": "^2.0.1", - "is-number": "^3.0.0", - "repeat-string": "^1.6.1", - "to-regex-range": "^2.1.0" - }, - "dependencies": { - "extend-shallow": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/extend-shallow/-/extend-shallow-2.0.1.tgz", - "integrity": "sha1-Ua99YUrZqfYQ6huvu5idaxxWiQ8=", - "dev": true, - "requires": { - "is-extendable": "^0.1.0" - } - } - } - }, - "fsevents": { - "version": "1.2.13", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-1.2.13.tgz", - "integrity": "sha512-oWb1Z6mkHIskLzEJ/XWX0srkpkTQ7vaopMQkyaEIoq0fmtFVxOthb8cCxeT+p3ynTdkk/RZwbgG4brR5BeWECw==", - "dev": true, - "optional": true, - "requires": { - "bindings": "^1.5.0", - "nan": "^2.12.1" - } - }, - "glob-parent": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-3.1.0.tgz", - "integrity": "sha1-nmr2KZ2NO9K9QEMIMr0RPfkGxa4=", - "dev": true, - "requires": { - "is-glob": "^3.1.0", - "path-dirname": "^1.0.0" - }, - "dependencies": { - "is-glob": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-3.1.0.tgz", - "integrity": "sha1-e6WuJCF4BKxwcHuWkiVnSGzD6Eo=", - "dev": true, - "requires": { - "is-extglob": "^2.1.0" - } - } - } - }, - "is-absolute-url": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/is-absolute-url/-/is-absolute-url-3.0.3.tgz", - "integrity": "sha512-opmNIX7uFnS96NtPmhWQgQx6/NYFgsUXYMllcfzwWKUMwfo8kku1TvE6hkNcH+Q1ts5cMVrsY7j0bxXQDciu9Q==", - "dev": true - }, - "is-binary-path": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-1.0.1.tgz", - "integrity": "sha1-dfFmQrSA8YenEcgUFh/TpKdlWJg=", - "dev": true, - "requires": { - "binary-extensions": "^1.0.0" - } - }, - "is-number": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-number/-/is-number-3.0.0.tgz", - "integrity": "sha1-JP1iAaR4LPUFYcgQJ2r8fRLXEZU=", - "dev": true, - "requires": { - "kind-of": "^3.0.2" - }, - "dependencies": { - "kind-of": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-3.2.2.tgz", - "integrity": "sha1-MeohpzS6ubuw8yRm2JOupR5KPGQ=", - "dev": true, - "requires": { - "is-buffer": "^1.1.5" - } - } - } - }, - "isobject": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", - "integrity": "sha1-TkMekrEalzFjaqH5yNHMvP2reN8=", - "dev": true - }, - "micromatch": { - "version": "3.1.10", - "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-3.1.10.tgz", - "integrity": "sha512-MWikgl9n9M3w+bpsY3He8L+w9eF9338xRl8IAO5viDizwSzziFEyUzo2xrrloB64ADbTf8uA8vRqqttDTOmccg==", - "dev": true, - "requires": { - "arr-diff": "^4.0.0", - "array-unique": "^0.3.2", - "braces": "^2.3.1", - "define-property": "^2.0.2", - "extend-shallow": "^3.0.2", - "extglob": "^2.0.4", - "fragment-cache": "^0.2.1", - "kind-of": "^6.0.2", - "nanomatch": "^1.2.9", - "object.pick": "^1.3.0", - "regex-not": "^1.0.0", - "snapdragon": "^0.8.1", - "to-regex": "^3.0.2" - } - }, - "readdirp": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-2.2.1.tgz", - "integrity": "sha512-1JU/8q+VgFZyxwrJ+SVIOsh+KywWGpds3NTqikiKpDMZWScmAYyKIgqkO+ARvNWJfXeXR1zxz7aHF4u4CyH6vQ==", - "dev": true, - "requires": { - "graceful-fs": "^4.1.11", - "micromatch": "^3.1.10", - "readable-stream": "^2.0.2" - } - }, - "schema-utils": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-1.0.0.tgz", - "integrity": "sha512-i27Mic4KovM/lnGsy8whRCHhc7VicJajAjTrYg11K9zfZXnYIt4k5F+kZkwjnrhKzLic/HLU4j11mjsz2G/75g==", - "dev": true, - "requires": { - "ajv": "^6.1.0", - "ajv-errors": "^1.0.0", - "ajv-keywords": "^3.1.0" - } - }, - "semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", - "dev": true - }, - "strip-ansi": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", - "integrity": "sha1-ajhfuIU9lS1f8F0Oiq+UJ43GPc8=", - "dev": true, - "requires": { - "ansi-regex": "^2.0.0" - } - }, - "supports-color": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", - "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", - "dev": true, - "requires": { - "has-flag": "^3.0.0" - } + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.13.0" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack": { + "optional": true }, - "to-regex-range": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-2.1.1.tgz", - "integrity": "sha1-fIDBe53+vlmeJzZ+DU3VWQFB2zg=", - "dev": true, - "requires": { - "is-number": "^3.0.0", - "repeat-string": "^1.6.1" - } + "webpack-cli": { + "optional": true } } }, - "webpack-log": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/webpack-log/-/webpack-log-2.0.0.tgz", - "integrity": "sha512-cX8G2vR/85UYG59FgkoMamwHUIkSSlV3bBMRsbxVXVUk2j6NleCKjQ/WE9eYg9WY4w25O9w8wKP4rzNZFmUcUg==", + "node_modules/webpack-dev-server/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, - "requires": { - "ansi-colors": "^3.0.0", - "uuid": "^3.3.2" + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/webpack-dev-server/node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, "dependencies": { - "ansi-colors": { - "version": "3.2.4", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-3.2.4.tgz", - "integrity": "sha512-hHUXGagefjN2iRrID63xckIvotOXOojhQKWIPUZ4mNUZ9nLZW+7FMNoE1lOkEhNWYsx/7ysGIuJYCiMAA9FnrA==", - "dev": true + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-server/node_modules/ws": { + "version": "8.13.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.13.0.tgz", + "integrity": "sha512-x9vcZYTrFPC7aSIbj7sRCYo7L/Xb8Iy+pW0ng0wt2vCJv7M9HOMy0UoN3rr+IFC7hb7vXoqS+P9ktyLLLhO+LA==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": ">=5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true } } }, - "webpack-merge": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.2.0.tgz", - "integrity": "sha512-QBglJBg5+lItm3/Lopv8KDDK01+hjdg2azEwi/4vKJ8ZmGPdtJsTpjtNNOW3a4WiqzXdCATtTudOZJngE7RKkA==", + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", "dev": true, - "requires": { + "dependencies": { "clone-deep": "^4.0.1", "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" } }, - "webpack-sources": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-2.0.1.tgz", - "integrity": "sha512-A9oYz7ANQBK5EN19rUXbvNgfdfZf5U2gP0769OXsj9CvYkCR6OHOsd6OKyEy4H38GGxpsQPKIL83NC64QY6Xmw==", + "node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpack-subresource-integrity": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-5.1.0.tgz", + "integrity": "sha512-sacXoX+xd8r4WKsy9MvH/q/vBtEHr86cpImXwyg74pFIpERKt6FmB8cXpeuh0ZLgclOlHI4Wcll7+R5L02xk9Q==", "dev": true, - "requires": { - "source-list-map": "^2.0.1", - "source-map": "^0.6.1" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true + "typed-assert": "^1.0.8" + }, + "engines": { + "node": ">= 12" + }, + "peerDependencies": { + "html-webpack-plugin": ">= 5.0.0-beta.1 < 6", + "webpack": "^5.12.0" + }, + "peerDependenciesMeta": { + "html-webpack-plugin": { + "optional": true } } }, - "webpack-subresource-integrity": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/webpack-subresource-integrity/-/webpack-subresource-integrity-1.5.1.tgz", - "integrity": "sha512-uekbQ93PZ9e7BFB8Hl9cFIVYQyQqiXp2ExKk9Zv+qZfH/zHXHrCFAfw1VW0+NqWbTWrs/HnuDrto3+tiPXh//Q==", + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.2.tgz", + "integrity": "sha512-pvjEHOgWc9OWA/f/DE3ohBWTD6EleVLf7iFUkoSwAxttdBhB9QUebQgxER2kWueOvRJXPHNnyrvvh9eZINB8Eg==", "dev": true, - "requires": { - "webpack-sources": "^1.3.0" - }, "dependencies": { - "source-map": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", - "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", - "dev": true - }, - "webpack-sources": { - "version": "1.4.3", - "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", - "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", - "dev": true, - "requires": { - "source-list-map": "^2.0.0", - "source-map": "~0.6.1" - } - } + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" } }, - "websocket-driver": { - "version": "0.6.5", - "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.6.5.tgz", - "integrity": "sha1-XLJVbOuF9Dc8bYI4qmkchFThOjY=", + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", "dev": true, - "requires": { + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" } }, - "websocket-extensions": { + "node_modules/websocket-extensions": { "version": "0.1.4", "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", - "dev": true - }, - "whatwg-mimetype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/whatwg-mimetype/-/whatwg-mimetype-2.3.0.tgz", - "integrity": "sha512-M4yMwr6mAnQz76TbJm914+gPpB/nCwvZbJU28cUD6dR004SAxDLOOSUaB1JDRqLtaOV/vi0IC5lEAGFgrjGv/g==", - "dev": true + "dev": true, + "engines": { + "node": ">=0.8.0" + } }, - "which": { + "node_modules/which": { "version": "1.3.1", "resolved": "https://registry.npmjs.org/which/-/which-1.3.1.tgz", "integrity": "sha512-HxJdYWq1MTIQbJ3nw0cqssHoTNU267KlrDuGZ1WYlxDStUtKUhOaJmh112/TZmHxxUfuJqPXSOm7tDyas0OSIQ==", "dev": true, - "requires": { + "dependencies": { "isexe": "^2.0.0" + }, + "bin": { + "which": "bin/which" } }, - "which-module": { + "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, - "wildcard": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", - "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "node_modules/wide-align": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", + "integrity": "sha512-eDMORYaPNZ4sQIuuYPDHdQvf4gyCF9rEEV/yPxGfwPkRodwEgiMUUXTx/dex+Me0wxx53S+NgUHaP7y3MGlDmg==", + "dev": true, + "dependencies": { + "string-width": "^1.0.2 || 2 || 3 || 4" + } + }, + "node_modules/wildcard": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.1.tgz", + "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, - "worker-farm": { - "version": "1.7.0", - "resolved": "https://registry.npmjs.org/worker-farm/-/worker-farm-1.7.0.tgz", - "integrity": "sha512-rvw3QTZc8lAxyVrqcSGVm5yP/IJ2UcB3U0graE3LCFoZ0Yn2x4EoVSqJKdB/T5M+FLcRPjz4TDacRf3OCfNUzw==", + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "errno": "~0.1.7" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "worker-plugin": { - "version": "5.0.0", - "resolved": "https://registry.npmjs.org/worker-plugin/-/worker-plugin-5.0.0.tgz", - "integrity": "sha512-AXMUstURCxDD6yGam2r4E34aJg6kW85IiaeX72hi+I1cxyaMUtrvVY6sbfpGKAj5e7f68Acl62BjQF5aOOx2IQ==", + "node_modules/wrap-ansi-cjs": { + "name": "wrap-ansi", + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", "dev": true, - "requires": { - "loader-utils": "^1.1.0" + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "json5": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", - "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", - "dev": true, - "requires": { - "minimist": "^1.2.0" - } - }, - "loader-utils": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", - "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", - "dev": true, - "requires": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^1.0.1" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "wrap-ansi": { - "version": "5.1.0", - "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-5.1.0.tgz", - "integrity": "sha512-QC1/iN/2/RPVJ5jYK8BGttj5z83LmSKmvbvrXPNCLZSEb32KKVDJDl/MOt2N01qU2H/FkzEa9PKto1BqDjtd7Q==", + "node_modules/wrap-ansi-cjs/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, - "requires": { - "ansi-styles": "^3.2.0", - "string-width": "^3.0.0", - "strip-ansi": "^5.0.0" + "dependencies": { + "color-name": "~1.1.4" }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/wrap-ansi-cjs/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrap-ansi/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/wrap-ansi/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" } }, - "wrappy": { + "node_modules/wrap-ansi/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, - "ws": { - "version": "6.2.1", - "resolved": "https://registry.npmjs.org/ws/-/ws-6.2.1.tgz", - "integrity": "sha512-GIyAXC2cB7LjvpgMt9EKS2ldqr0MTrORaleiOno6TweZ6r3TKtoFQWay/2PceJ3RuBasOHzXNn5Lrw1X0bEjqA==", + "node_modules/ws": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.11.0.tgz", + "integrity": "sha512-HPG3wQd9sNQoT9xHyNCXoDUa+Xw/VevmY9FoHyQ+g+rrMn4j6FB4np7Z0OhdTgjx6MgQLK7jwSy1YecU1+4Asg==", "dev": true, - "requires": { - "async-limiter": "~1.0.0" + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } } }, - "xml2js": { + "node_modules/xml2js": { "version": "0.4.23", "resolved": "https://registry.npmjs.org/xml2js/-/xml2js-0.4.23.tgz", "integrity": "sha512-ySPiMjM0+pLDftHgXY4By0uswI3SPKLDw/i3UXbnO8M/p28zqexCUoPmQFrYD+/1BzhGJSs2i1ERWKJAtiLrug==", "dev": true, - "requires": { + "dependencies": { "sax": ">=0.6.0", "xmlbuilder": "~11.0.0" + }, + "engines": { + "node": ">=4.0.0" } }, - "xmlbuilder": { + "node_modules/xmlbuilder": { "version": "11.0.1", "resolved": "https://registry.npmjs.org/xmlbuilder/-/xmlbuilder-11.0.1.tgz", "integrity": "sha512-fDlsI/kFEx7gLvbecc0/ohLG50fugQp8ryHzMTuW9vSa1GJ0XYWKnhsUx7oie3G98+r56aTQIUB4kht42R3JvA==", - "dev": true - }, - "xmlhttprequest-ssl": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/xmlhttprequest-ssl/-/xmlhttprequest-ssl-1.5.5.tgz", - "integrity": "sha1-wodrBhaKrcQOV9l+gRkayPQ5iz4=", - "dev": true - }, - "xtend": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", - "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", - "dev": true + "dev": true, + "engines": { + "node": ">=4.0" + } }, - "xxhashjs": { + "node_modules/xxhashjs": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/xxhashjs/-/xxhashjs-0.2.2.tgz", "integrity": "sha512-AkTuIuVTET12tpsVIQo+ZU6f/qDmKuRUcjaqR+OIvm+aCBsZ95i7UVY5WJ9TMsSaZ0DA2WxoZ4acu0sPH+OKAw==", "dev": true, - "requires": { + "dependencies": { "cuint": "^0.2.2" } }, - "y18n": { + "node_modules/y18n": { "version": "4.0.1", "resolved": "https://registry.npmjs.org/y18n/-/y18n-4.0.1.tgz", "integrity": "sha512-wNcy4NvjMYL8gogWWYAO7ZFWFfHcbdbE57tZO8e4cbpj8tfUcwrwqSl3ad8HxpYWCdXcJUCeKKZS62Av1affwQ==", "dev": true }, - "yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true - }, - "yaml": { - "version": "1.10.0", - "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.0.tgz", - "integrity": "sha512-yr2icI4glYaNG+KWONODapy2/jDdMSDnrONSjblABjD9B4Z5LgiircSt8m8sRZFNi08kG9Sm0uSHtEmP3zaEGg==", + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", "dev": true }, - "yargs": { - "version": "13.3.2", - "resolved": "https://registry.npmjs.org/yargs/-/yargs-13.3.2.tgz", - "integrity": "sha512-AX3Zw5iPruN5ie6xGRIDgqkT+ZhnRlZMLMHAs8tg7nRruy2Nb+i5o9bwghAogtM08q1dpr2LVoS8KSTMYpWXUw==", + "node_modules/yargs": { + "version": "17.7.2", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.7.2.tgz", + "integrity": "sha512-7dSzzRQ++CKnNI/krKnYRV7JKKPUXMEh61soaHKg9mrWEhzFWhFnxPxGl+69cD1Ou63C13NUPCnmIcrvqCuM6w==", "dev": true, - "requires": { - "cliui": "^5.0.0", - "find-up": "^3.0.0", - "get-caller-file": "^2.0.1", + "dependencies": { + "cliui": "^8.0.1", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", "require-directory": "^2.1.1", - "require-main-filename": "^2.0.0", - "set-blocking": "^2.0.0", - "string-width": "^3.0.0", - "which-module": "^2.0.0", - "y18n": "^4.0.0", - "yargs-parser": "^13.1.2" + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.1.1" }, - "dependencies": { - "ansi-regex": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-4.1.0.tgz", - "integrity": "sha512-1apePfXM1UOSqw0o9IiFAovVz9M5S1Dg+4TrDwfMewQ6p/rmMueb7tWZjQ1rx4Loy1ArBggoqGpfqqdI4rondg==", - "dev": true - }, - "emoji-regex": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-7.0.3.tgz", - "integrity": "sha512-CwBLREIQ7LvYFB0WyRvwhq5N5qPhc6PMjD6bYggFlI5YyDgl+0vxq5VHbMOFqLg7hfWzmu8T5Z1QofhmTIhItA==", - "dev": true - }, - "is-fullwidth-code-point": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-2.0.0.tgz", - "integrity": "sha1-o7MKXE8ZkYMWeqq5O+764937ZU8=", - "dev": true - }, - "string-width": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-3.1.0.tgz", - "integrity": "sha512-vafcv6KjVZKSgz06oM/H6GDBrAtz8vdhQakGjFIvNrHA6y3HCF1CInLy+QLq8dTJPQ1b+KDUqDFctkdRW44e1w==", - "dev": true, - "requires": { - "emoji-regex": "^7.0.1", - "is-fullwidth-code-point": "^2.0.0", - "strip-ansi": "^5.1.0" - } - }, - "strip-ansi": { - "version": "5.2.0", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-5.2.0.tgz", - "integrity": "sha512-DuRs1gKbBqsMKIZlrffwlug8MHkcnpjs5VPmL1PAh+mA30U0DTotfDZ0d2UUsXpPmPmMMJ6W773MaA3J+lbiWA==", - "dev": true, - "requires": { - "ansi-regex": "^4.1.0" - } - } + "engines": { + "node": ">=12" } }, - "yargs-parser": { - "version": "13.1.2", - "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-13.1.2.tgz", - "integrity": "sha512-3lbsNRf/j+A4QuSZfDRA7HRSfWrzO0YjqTJd5kjAq37Zep1CEgaYmrH9Q3GwPiB9cHyd1Y1UwggGhJGoxipbzg==", + "node_modules/yargs-parser": { + "version": "21.1.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.1.1.tgz", + "integrity": "sha512-tVpsJW7DdjecAiFpbIB1e3qxIQsE6NoPc5/eTdrbbIC4h0LVsWhnoa3g+m2HclBIujHzsxZ4VJVA+GUuc2/LBw==", "dev": true, - "requires": { - "camelcase": "^5.0.0", - "decamelize": "^1.2.0" - }, - "dependencies": { - "camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", - "dev": true - } + "engines": { + "node": ">=12" } }, - "yeast": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/yeast/-/yeast-0.1.2.tgz", - "integrity": "sha1-AI4G2AlDIMNy28L47XagymyKxBk=", - "dev": true + "node_modules/yargs/node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } }, - "yn": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.0.tgz", - "integrity": "sha512-kKfnnYkbTfrAdd0xICNFw7Atm8nKpLcLv9AZGEt+kczL/WQVai4e2V6ZN8U/O+iI6WrNuJjNNOyu4zfhl9D3Hg==", - "dev": true + "node_modules/yn": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yn/-/yn-3.1.1.tgz", + "integrity": "sha512-Ux4ygGWsu2c7isFWe8Yu1YluJmqVhxqK2cLXNQA5AcC3QfbGNpM7fu0Y8b/z16pXLnFxZYvWhd3fhBY9DLmC6Q==", + "dev": true, + "engines": { + "node": ">=6" + } }, - "zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==" + "node_modules/zone.js": { + "version": "0.13.0", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.0.tgz", + "integrity": "sha512-7m3hNNyswsdoDobCkYNAy5WiUulkMd3+fWaGT9ij6iq3Zr/IwJo4RMCYPSDjT+r7tnPErmY9sZpKhWQ8S5k6XQ==", + "dependencies": { + "tslib": "^2.3.0" + } } } } diff --git a/package.json b/package.json index 72001da..4aa1951 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-material-multilevel-menu-angular-project", - "version": "5.5.3", + "version": "6.0.0", "scripts": { "ng": "ng", "start": "ng serve", @@ -13,41 +13,41 @@ "homepage": "https://multilevel-menu-demo.web.app/", "private": false, "dependencies": { - "@angular/animations": "^11.0.0", - "@angular/cdk": "^11.0.0", - "@angular/common": "^11.0.0", - "@angular/compiler": "^11.0.0", - "@angular/core": "^11.0.0", - "@angular/forms": "^11.0.0", - "@angular/material": "^11.0.0", - "@angular/platform-browser": "^11.0.0", - "@angular/platform-browser-dynamic": "^11.0.0", - "@angular/router": "^11.0.0", - "core-js": "^3.1.4", - "rxjs": "^6.6.3", - "tslib": "^2.0.0", - "zone.js": "~0.10.2" + "@angular/animations": "^16.0.0", + "@angular/cdk": "^16.0.0", + "@angular/common": "^16.0.0", + "@angular/compiler": "^16.0.0", + "@angular/core": "^16.0.0", + "@angular/forms": "^16.0.0", + "@angular/material": "^16.0.0", + "@angular/platform-browser": "^16.0.0", + "@angular/platform-browser-dynamic": "^16.0.0", + "@angular/router": "^16.0.0", + "core-js": "^3.30.2", + "rxjs": "^7.8.1", + "tslib": "^2.5.0", + "zone.js": "~0.13.0" }, "devDependencies": { - "@angular-devkit/build-angular": "~0.1100.1", - "@angular/cli": "^11.0.1", - "@angular/compiler-cli": "^11.0.0", - "@angular/language-service": "^11.0.0", - "@types/jasmine": "~3.6.0", - "@types/jasminewd2": "~2.0.6", - "@types/node": "^12.11.1", - "codelyzer": "^6.0.0", - "jasmine-core": "~3.6.0", - "jasmine-spec-reporter": "~5.0.0", - "karma": "~5.0.0", - "karma-chrome-launcher": "~3.1.0", - "karma-coverage-istanbul-reporter": "~3.0.2", - "karma-jasmine": "~4.0.0", - "karma-jasmine-html-reporter": "^1.5.0", - "ng-packagr": "^11.0.0", + "@angular-devkit/build-angular": "~16.0.0", + "@angular/cli": "^16.0.0", + "@angular/compiler-cli": "^16.0.0", + "@angular/language-service": "^16.0.0", + "@types/jasmine": "~4.3.1", + "@types/jasminewd2": "~2.0.10", + "@types/node": "^20.1.1", + "codelyzer": "^6.0.2", + "jasmine-core": "~4.6.0", + "jasmine-spec-reporter": "~7.0.0", + "karma": "~6.4.2", + "karma-chrome-launcher": "~3.2.0", + "karma-coverage-istanbul-reporter": "~3.0.3", + "karma-jasmine": "~5.1.0", + "karma-jasmine-html-reporter": "^2.0.0", + "ng-packagr": "^16.0.0", "protractor": "~7.0.0", - "ts-node": "^8.3.0", + "ts-node": "^10.9.1", "tslint": "~6.1.0", - "typescript": "^4.0.5" + "typescript": "^5.0.4" } } diff --git a/projects/ng-material-multilevel-menu/package.json b/projects/ng-material-multilevel-menu/package.json index 91ee648..4ddf83a 100644 --- a/projects/ng-material-multilevel-menu/package.json +++ b/projects/ng-material-multilevel-menu/package.json @@ -1,6 +1,6 @@ { "name": "ng-material-multilevel-menu", - "version": "4.12.0", + "version": "6.0.0", "repository": { "type": "git", "url": "git+https://github.com/ShankyTiwari/ng-material-multilevel-menu.git" @@ -19,10 +19,10 @@ "url": "https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues" }, "dependencies": { - "tslib": "^2.0.0" + "tslib": "^2.5.0" }, "peerDependencies": { - "@angular/common": ">= 6.0.0-rc.0 || >= 6.0.0", - "@angular/core": ">= 6.0.0-rc.0 || >= 6.0.0" + "@angular/common": ">= 16.0.0-rc.0 || >= 16.0.0", + "@angular/core": ">= 16.0.0-rc.0 || >= 16.0.0" } } diff --git a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.css b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.css index aa9b972..3020ebc 100644 --- a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.css +++ b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.css @@ -1,5 +1,5 @@ -.amml-container .mat-list-base { - padding-top: unset; +.amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list { + padding: unset; } .amml-item { diff --git a/projects/ng-material-multilevel-menu/src/test.ts b/projects/ng-material-multilevel-menu/src/test.ts index e11ff1c..70c534a 100644 --- a/projects/ng-material-multilevel-menu/src/test.ts +++ b/projects/ng-material-multilevel-menu/src/test.ts @@ -1,13 +1,13 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files -import 'core-js/es7/reflect'; -import 'zone.js/dist/zone'; -import 'zone.js/dist/zone-testing'; -import { getTestBed } from '@angular/core/testing'; +import "core-js/es7/reflect"; +import "zone.js/dist/zone"; +import "zone.js/dist/zone-testing"; +import { getTestBed } from "@angular/core/testing"; import { BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; + platformBrowserDynamicTesting, +} from "@angular/platform-browser-dynamic/testing"; declare const require: any; @@ -16,7 +16,3 @@ getTestBed().initTestEnvironment( BrowserDynamicTestingModule, platformBrowserDynamicTesting() ); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/projects/ng-material-multilevel-menu/tsconfig.lib.json b/projects/ng-material-multilevel-menu/tsconfig.lib.json index 51a7f11..28897c3 100644 --- a/projects/ng-material-multilevel-menu/tsconfig.lib.json +++ b/projects/ng-material-multilevel-menu/tsconfig.lib.json @@ -3,7 +3,7 @@ "compilerOptions": { "outDir": "../../out-tsc/lib", "declarationMap": true, - "target": "es2015", + "target": "ES2022", "module": "es2015", "moduleResolution": "node", "declaration": true, diff --git a/projects/ng-material-multilevel-menu/tsconfig.lib.prod.json b/projects/ng-material-multilevel-menu/tsconfig.lib.prod.json index 2617a83..a05c793 100644 --- a/projects/ng-material-multilevel-menu/tsconfig.lib.prod.json +++ b/projects/ng-material-multilevel-menu/tsconfig.lib.prod.json @@ -4,6 +4,6 @@ "declarationMap": false }, "angularCompilerOptions": { - "enableIvy": false + "enableIvy": true } -} \ No newline at end of file +} diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index 0abad1c..bb754cd 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,20 +1,25 @@ -import { NgModule } from '@angular/core'; -import { Routes, RouterModule } from '@angular/router'; +import { NgModule } from "@angular/core"; +import { Routes, RouterModule } from "@angular/router"; -const routes: Routes = [{ - path: '', - redirectTo: '/pages/home', - pathMatch: 'full', -}, { - path: 'pages', - loadChildren: () => import('./pages/pages.module').then((m) => m.PagesModule), -}, { - path: '**', - redirectTo: '/pages/home', -}]; +const routes: Routes = [ + { + path: "", + redirectTo: "/pages/home", + pathMatch: "full", + }, + { + path: "pages", + loadChildren: () => + import("./pages/pages.module").then((m) => m.PagesModule), + }, + { + path: "**", + redirectTo: "/pages/home", + }, +]; @NgModule({ - imports: [RouterModule.forRoot(routes, { relativeLinkResolution: 'legacy' })], - exports: [RouterModule] + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule], }) -export class AppRoutingModule { } +export class AppRoutingModule {} diff --git a/src/styles.css b/src/styles.css index eb13875..74be4e4 100644 --- a/src/styles.css +++ b/src/styles.css @@ -38,4 +38,4 @@ body { .my-custom-list .level-4 .amml-item { background: rgb(76, 82, 226, 1) !important; -} \ No newline at end of file +} diff --git a/src/test.ts b/src/test.ts index 1631789..be7f2ed 100644 --- a/src/test.ts +++ b/src/test.ts @@ -1,11 +1,11 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files -import 'zone.js/dist/zone-testing'; -import { getTestBed } from '@angular/core/testing'; +import "zone.js/dist/zone-testing"; +import { getTestBed } from "@angular/core/testing"; import { BrowserDynamicTestingModule, - platformBrowserDynamicTesting -} from '@angular/platform-browser-dynamic/testing'; + platformBrowserDynamicTesting, +} from "@angular/platform-browser-dynamic/testing"; declare const require: any; @@ -14,7 +14,3 @@ getTestBed().initTestEnvironment( BrowserDynamicTestingModule, platformBrowserDynamicTesting() ); -// Then we find all the tests. -const context = require.context('./', true, /\.spec\.ts$/); -// And load the modules. -context.keys().map(context); diff --git a/tsconfig.json b/tsconfig.json index cd55948..0c78958 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -10,7 +10,7 @@ "moduleResolution": "node", "emitDecoratorMetadata": true, "experimentalDecorators": true, - "target": "es5", + "target": "ES2022", "typeRoots": [ "node_modules/@types" ], @@ -27,4 +27,4 @@ ] } } -} \ No newline at end of file +} From 06556e283bf8de1cc521311993fe4e978f312f87 Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Thu, 11 May 2023 09:56:05 +0200 Subject: [PATCH 02/13] module ES2022 --- projects/ng-material-multilevel-menu/tsconfig.lib.json | 4 ++-- tsconfig.json | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/projects/ng-material-multilevel-menu/tsconfig.lib.json b/projects/ng-material-multilevel-menu/tsconfig.lib.json index 28897c3..c399e29 100644 --- a/projects/ng-material-multilevel-menu/tsconfig.lib.json +++ b/projects/ng-material-multilevel-menu/tsconfig.lib.json @@ -4,7 +4,7 @@ "outDir": "../../out-tsc/lib", "declarationMap": true, "target": "ES2022", - "module": "es2015", + "module": "ES2022", "moduleResolution": "node", "declaration": true, "sourceMap": true, @@ -15,7 +15,7 @@ "types": [], "lib": [ "dom", - "es2015" + "ES2022" ] }, "angularCompilerOptions": { diff --git a/tsconfig.json b/tsconfig.json index 0c78958..2ded6a0 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -3,7 +3,7 @@ "compilerOptions": { "baseUrl": "./", "downlevelIteration": true, - "module": "es2020", + "module": "ES2022", "outDir": "./dist/out-tsc", "sourceMap": true, "declaration": false, @@ -15,7 +15,7 @@ "node_modules/@types" ], "lib": [ - "es2017", + "ES2022", "dom" ], "paths": { From 4ed97967cac95012fc54336aa9124c4f52c9adb0 Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Thu, 11 May 2023 10:05:55 +0200 Subject: [PATCH 03/13] readme fork --- README.md | 405 +++++++++++++++++++++++++++--------------------------- 1 file changed, 204 insertions(+), 201 deletions(-) diff --git a/README.md b/README.md index 97a5855..fcf1e41 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,16 @@ +# temporary fork from ng-material-multilevel-menu + +Angular 16 compatible (ivy) + # ng-material-multilevel-menu Material Multi-Level Menu for Angular Projects. # Breaking Change -> From version 5.0.0, the `@Input` called `expandCollapseStatus` have been removed in favor [major bug](https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues/131), please use the -`MultilevelMenuService`. You can find out the implementation of the same [here](https://github.com/ShankyTiwari/ng-material-multilevel-menu-demo/blob/master/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.ts#L73). ->Thanks, +> From version 5.0.0, the `@Input` called `expandCollapseStatus` have been removed in favor [major bug](https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues/131), please use the +> `MultilevelMenuService`. You can find out the implementation of the same [here](https://github.com/ShankyTiwari/ng-material-multilevel-menu-demo/blob/master/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.ts#L73). +> Thanks, ## Why ng-material-multilevel-menu? @@ -17,238 +21,238 @@ The main goal of this package is to deliver a slim and Skinny Material Multi-Lev Check the Material Multi-Level Menu in action, [click here](http://plugins.codershood.info/#/plugins/ngmm-plugin). ## Features + 1. [Material Icons](https://material.io/tools/icons/?style=baseline) are supported. 2. [FontAwesome Icons](https://fontawesome.com/v4.7.0/icons/) are supported. 3. Use images as icons in the list. 4. Seamlessly work with Angular routing, if provided. 5. RTL supported ([thanks to StavM](https://github.com/StavM)). 6. Supports Custom List Templates - 1. [Demos](https://multilevel-menu-demo.web.app/pages/layout-variations/demo-six/version-one) - 2. [Documentation](#3-building-custom-templates) + 1. [Demos](https://multilevel-menu-demo.web.app/pages/layout-variations/demo-six/version-one) + 2. [Documentation](#3-building-custom-templates) ## Installation + You can use either the npm or yarn command-line tool to install packages. Use whichever is appropriate for your project in the examples below. #### NPM -``` + +``` npm install --save ng-material-multilevel-menu ``` - + #### YARN -``` + +``` yarn add --save ng-material-multilevel-menu ``` - + ## Usage + Follow below steps to add multi level list in your project #### 1. Import NgMaterialMultilevelMenuModule -You need to import the ```NgMaterialMultilevelMenuModule``` in the module of your app where you want to use it. +You need to import the `NgMaterialMultilevelMenuModule` in the module of your app where you want to use it. -```typescript -import { BrowserModule } from '@angular/platform-browser'; -import { NgModule } from '@angular/core'; +```typescript +import { BrowserModule } from "@angular/platform-browser"; +import { NgModule } from "@angular/core"; /* Import the module*/ -import { NgMaterialMultilevelMenuModule } from 'ng-material-multilevel-menu'; +import { NgMaterialMultilevelMenuModule } from "ng-material-multilevel-menu"; -import { AppComponent } from './app.component'; +import { AppComponent } from "./app.component"; @NgModule({ - declarations: [ - AppComponent - ], - imports: [ + declarations: [AppComponent], + imports: [ BrowserModule, - NgMaterialMultilevelMenuModule // Import here - ], - providers: [], - bootstrap: [AppComponent] + NgMaterialMultilevelMenuModule, // Import here + ], + providers: [], + bootstrap: [AppComponent], }) -export class AppModule { } -``` +export class AppModule {} +``` - #### 2. Use in your HTML -In your HTML: Use the `````` wherever you like in your project. +In your HTML: Use the `` wherever you like in your project. -```html - - +```html + ``` - + #### 3. Structure of array to display the list -Make sure you structure of array should look like array shown below, +Make sure you structure of array should look like array shown below, + ```typescript appitems = [ - { - label: 'NPM', - imageIcon: '/assets/batman.jpg', - link: 'https://www.npmjs.com/package/ng-material-multilevel-menu', - externalRedirect: true, - hrefTargetType: '_blank' // _blank|_self|_parent|_top|framename - }, - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ - { - label: 'Item 1.1', - link: '/item-1-1', - faIcon: 'fab fa-accusoft' - }, - { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - disabled: true, - items: [ - { - label: 'Item 1.2.1', - link: '/item-1-2-1', - faIcon: 'fa-allergies' // Font awesome default prefix is fas - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ - { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor', // Still you can specify if you want to - onSelected: function() { - console.log('Item 1.2.2.1'); - } - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', + { + label: "NPM", + imageIcon: "/assets/batman.jpg", + link: "https://www.npmjs.com/package/ng-material-multilevel-menu", + externalRedirect: true, + hrefTargetType: "_blank", // _blank|_self|_parent|_top|framename + }, + { + label: "Item 1 (with Font awesome icon)", + faIcon: "fab fa-500px", + items: [ + { + label: "Item 1.1", + link: "/item-1-1", + faIcon: "fab fa-accusoft", + }, + { + label: "Item 1.2", + faIcon: "fab fa-accessible-icon", + disabled: true, items: [ - { - label: 'Item 2.1', - link: '/item-2-1', - icon: 'favorite_border', - activeIcon: 'favorite', - disabled: true, + { + label: "Item 1.2.1", + link: "/item-1-2-1", + faIcon: "fa-allergies", // Font awesome default prefix is fas + }, + { + label: "Item 1.2.2", + faIcon: "fas fa-ambulance", + items: [ + { + label: "Item 1.2.2.1", + faIcon: "fas fa-anchor", // Still you can specify if you want to + onSelected: function () { + console.log("Item 1.2.2.1"); + }, + }, + ], + }, + ], + }, + ], + }, + { + label: "Item 2", + icon: "alarm", + items: [ + { + label: "Item 2.1", + link: "/item-2-1", + icon: "favorite_border", + activeIcon: "favorite", + disabled: true, + }, + { + label: "Item 2.2", + link: "/item-2-2", + icon: "favorite_border", + activeIcon: "favorite", + navigationExtras: { + queryParams: { order: "popular", filter: "new" }, }, - { - label: 'Item 2.2', - link: '/item-2-2', - icon: 'favorite_border', - activeIcon: 'favorite', - navigationExtras: { - queryParams: { order: 'popular', filter: 'new' }, - } - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin', - onSelected: function() { - console.log('Item 3'); - } + }, + ], + }, + { + label: "Item 3", + icon: "offline_pin", + onSelected: function () { + console.log("Item 3"); }, - { - label: 'Item 4', - link: '/item-4', - icon: 'star_rate', - hidden: true - } + }, + { + label: "Item 4", + link: "/item-4", + icon: "star_rate", + hidden: true, + }, ]; ``` ## API -- Using ```configuration```, You can customise the appearance of the list. - * ```paddingAtStart: boolean``` => *[optional]* If you don't want padding at the start of the list item, then you can give ```false```. The default value will be ```true```. - * ```interfaceWithRoute: boolean``` => *[required]* only if you want to use Angular Routing with this menu. - * ```highlightOnSelect: boolean``` => *[optional]* If you want to highlight the clicked item in the list, then you can do that by making it ```true```. The default value will be ```false```. - * ```useDividers: boolean``` => *[optional]* If you want to the list to have dividers. The default value will be ```true```. - * ```collapseOnSelect: boolean;``` => *[optional]* You have the option to collapse another parent when clicked on the current parent. The default value will be ```false```. - * ```rtlLayout: boolean;``` => *[optional]* whether display is Right To Left. The default value will be ```false```. - * ```classname: string;``` => *[optional]* You can give your own custom class name in order to modify the list appearance. - * ```listBackgroundColor: string;``` => *[optional]* You can apply custom color to the background of the list. - * ```fontColor: string;``` => *[optional]* Changes the color of Text and icons inside the list. - * ```backgroundColor: string;``` => *[optional]* This will change the background color list container. - * ```selectedListFontColor: string;``` => *[optional]* This will change the font color of selected list item. + +- Using `configuration`, You can customise the appearance of the list. + - `paddingAtStart: boolean` => _[optional]_ If you don't want padding at the start of the list item, then you can give `false`. The default value will be `true`. + - `interfaceWithRoute: boolean` => _[required]_ only if you want to use Angular Routing with this menu. + - `highlightOnSelect: boolean` => _[optional]_ If you want to highlight the clicked item in the list, then you can do that by making it `true`. The default value will be `false`. + - `useDividers: boolean` => _[optional]_ If you want to the list to have dividers. The default value will be `true`. + - `collapseOnSelect: boolean;` => _[optional]_ You have the option to collapse another parent when clicked on the current parent. The default value will be `false`. + - `rtlLayout: boolean;` => _[optional]_ whether display is Right To Left. The default value will be `false`. + - `classname: string;` => _[optional]_ You can give your own custom class name in order to modify the list appearance. + - `listBackgroundColor: string;` => _[optional]_ You can apply custom color to the background of the list. + - `fontColor: string;` => _[optional]_ Changes the color of Text and icons inside the list. + - `backgroundColor: string;` => _[optional]_ This will change the background color list container. + - `selectedListFontColor: string;` => _[optional]_ This will change the font color of selected list item. Below is example how you can apply different background and Font colors, + ```typescript config = { - paddingAtStart: true, - interfaceWithRoute: true, - classname: 'my-custom-class', - listBackgroundColor: `rgb(208, 241, 239)`, - fontColor: `rgb(8, 54, 71)`, - backgroundColor: `rgb(208, 241, 239)`, - selectedListFontColor: `red`, - highlightOnSelect: true, - collapseOnSelect: true, - useDividers: false, - rtlLayout: false + paddingAtStart: true, + interfaceWithRoute: true, + classname: "my-custom-class", + listBackgroundColor: `rgb(208, 241, 239)`, + fontColor: `rgb(8, 54, 71)`, + backgroundColor: `rgb(208, 241, 239)`, + selectedListFontColor: `red`, + highlightOnSelect: true, + collapseOnSelect: true, + useDividers: false, + rtlLayout: false, }; - ``` ## Misc ### 1. Exapand/ Collapse all Menu + You can expand all the menu and Collapse all the menus. Below is example how you can do that, + ```typescript -import { MultilevelMenuService, ExpandCollapseStatusEnum } from 'ng-material-multilevel-menu'; +import { MultilevelMenuService, ExpandCollapseStatusEnum } from "ng-material-multilevel-menu"; export class AppComponent { - constructor( - private multilevelMenuService: MultilevelMenuService - ) {} + constructor(private multilevelMenuService: MultilevelMenuService) {} - setExpandCollapseStatus(type: ExpandCollapseStatusEnum) { - this.multilevelMenuService.setMenuExapandCollpaseStatus(type); - } + setExpandCollapseStatus(type: ExpandCollapseStatusEnum) { + this.multilevelMenuService.setMenuExapandCollpaseStatus(type); + } } ``` + ### 2. Select Menu By ID + You can expand all the menu and Collapse all the menus. Below is example how you can do that, + ```typescript -import { MultilevelMenuService, MultilevelNodes } from 'ng-material-multilevel-menu'; +import { MultilevelMenuService, MultilevelNodes } from "ng-material-multilevel-menu"; export class AppComponent { - menuWithID: MultilevelNodes[] = null + menuWithID: MultilevelNodes[] = null; - constructor( - private multilevelMenuService: MultilevelMenuService - ) {} + constructor(private multilevelMenuService: MultilevelMenuService) {} - menuIsReady(menus: MultilevelNodes[]) { - this.menuWithID = menus; - } - - selectMenuID(MenuID){ - this.multilevelMenuService.selectMenuByID(MenuID); - } + menuIsReady(menus: MultilevelNodes[]) { + this.menuWithID = menus; + } + selectMenuID(MenuID) { + this.multilevelMenuService.selectMenuByID(MenuID); + } } ``` ### 3. Building Custom Templates + In this section, you will find useful information if you are planning to write your own templates. 1. First and very important is `MultilevelNodes` interface, every menu item implements this interface. Make sure you look into each property of this interface when building custom menu templates. For example properties like `isSelected`, `hasChilden`, `expanded`, `disabled`, `items`, `label`, and so on are extremely helpful, have look into some demos [here](https://multilevel-menu-demo.web.app/pages/layout-variations/demo-six/version-one). -2. You actually don't have to write *Slide-In*/ *Slide-Out*, *Arrow Rotation* animation. The module exports these animations out of the box, so you can import them and use it as shown below. +2. You actually don't have to write _Slide-In_/ _Slide-Out_, _Arrow Rotation_ animation. The module exports these animations out of the box, so you can import them and use it as shown below. **demo.component.ts:** + ```typescript import {SlideInOut, ExpandedRTL, ExpandedLTR } from 'ng-material-multilevel-menu'; @@ -263,36 +267,35 @@ import {SlideInOut, ExpandedRTL, ExpandedLTR } from 'ng-material-multilevel-menu ] }) ``` + 3. You have decided to write a custom template, then you have to write the corresponding CSS for the same. 4. Below is a very simple example of the custom menu templates, **demo.component.html:** + ```html - - -
-
-
- -
-
- {{item.label}} -
-
-
- - keyboard_arrow_down - - - keyboard_arrow_down - -
+ + +
+
+
+
- +
+ {{item.label}} +
+
+
+ keyboard_arrow_down + keyboard_arrow_down +
+
+
``` **demo.component.ts:** + ```typescript import { Component } from '@angular/core'; @@ -334,55 +337,55 @@ export class DemoComponent { ``` **demo.component.css:** -```css +```css .my-cool-menu-item { - display: flex; - padding-left: 10px; - padding-right: 10px; - border-bottom: solid 1px rgba(0,0,0,.12); - height: 48px; + display: flex; + padding-left: 10px; + padding-right: 10px; + border-bottom: solid 1px rgba(0, 0, 0, 0.12); + height: 48px; } .my-cool-menu-item .title-and-image { - width: 100%; - display: flex; - justify-content: flex-start; + width: 100%; + display: flex; + justify-content: flex-start; } .my-cool-menu-item .title-and-image .icon-container { - display: flex; - flex-direction: column; - justify-content: center; + display: flex; + flex-direction: column; + justify-content: center; } -div[dir=rtl] .icon-container { - padding-left: 5px; +div[dir="rtl"] .icon-container { + padding-left: 5px; } -div[dir=ltr] .icon-container { - padding-right: 5px; +div[dir="ltr"] .icon-container { + padding-right: 5px; } .my-cool-menu-item .title-and-image .label-container { - display: flex; - flex-direction: column; - justify-content: center; + display: flex; + flex-direction: column; + justify-content: center; } .my-cool-menu-item .icon-arrow-container { - display: flex; - align-items: center; + display: flex; + align-items: center; } ``` - - ## Default classes -* ```selected-amml-item```: This class will be applied to currently selected link and it's father links. -* ```active-amml-item```: This class will be applied to currently selected link. + +- `selected-amml-item`: This class will be applied to currently selected link and it's father links. +- `active-amml-item`: This class will be applied to currently selected link. ## Dependencies + 1. [Angular Material](https://material.angular.io) ## Contribution From a8e6f10df3ce191af803ee0c6089a2d2ae02a57a Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Thu, 11 May 2023 10:10:13 +0200 Subject: [PATCH 04/13] gitignore --- .gitignore | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.gitignore b/.gitignore index 51d9904..25965fa 100644 --- a/.gitignore +++ b/.gitignore @@ -37,3 +37,5 @@ testem.log .DS_Store Thumbs.db projects/ng-material-multilevel-menu/node_modules/.cache +.angular/cache/* + From ef1d3f7ea3b969814efc3b2c0ed061e8a967303e Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Thu, 11 May 2023 10:39:27 +0200 Subject: [PATCH 05/13] package info --- README.md | 23 ++++--------------- .../ng-material-multilevel-menu/package.json | 10 ++++---- 2 files changed, 10 insertions(+), 23 deletions(-) diff --git a/README.md b/README.md index fcf1e41..ace85c0 100644 --- a/README.md +++ b/README.md @@ -2,34 +2,21 @@ Angular 16 compatible (ivy) +fork from https://www.npmjs.com/package/ng-material-multilevel-menu v5.5.3 + # ng-material-multilevel-menu Material Multi-Level Menu for Angular Projects. -# Breaking Change - -> From version 5.0.0, the `@Input` called `expandCollapseStatus` have been removed in favor [major bug](https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues/131), please use the -> `MultilevelMenuService`. You can find out the implementation of the same [here](https://github.com/ShankyTiwari/ng-material-multilevel-menu-demo/blob/master/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.ts#L73). -> Thanks, - -## Why ng-material-multilevel-menu? - -The main goal of this package is to deliver a slim and Skinny Material Multi-Level Menu for Angular Projects. That can fit into any kind of projects with no muss, no fuss. Within few lines, you will get an animation ready multilevel list that just works. - ## Demo Check the Material Multi-Level Menu in action, [click here](http://plugins.codershood.info/#/plugins/ngmm-plugin). ## Features -1. [Material Icons](https://material.io/tools/icons/?style=baseline) are supported. -2. [FontAwesome Icons](https://fontawesome.com/v4.7.0/icons/) are supported. -3. Use images as icons in the list. -4. Seamlessly work with Angular routing, if provided. -5. RTL supported ([thanks to StavM](https://github.com/StavM)). -6. Supports Custom List Templates - 1. [Demos](https://multilevel-menu-demo.web.app/pages/layout-variations/demo-six/version-one) - 2. [Documentation](#3-building-custom-templates) +check the documentation on the original page + +https://github.com/ShankyTiwari/ng-material-multilevel-menu ## Installation diff --git a/projects/ng-material-multilevel-menu/package.json b/projects/ng-material-multilevel-menu/package.json index 4ddf83a..75c7650 100644 --- a/projects/ng-material-multilevel-menu/package.json +++ b/projects/ng-material-multilevel-menu/package.json @@ -1,22 +1,22 @@ { - "name": "ng-material-multilevel-menu", + "name": "@eddie666/ng-material-multilevel-menu", "version": "6.0.0", "repository": { "type": "git", - "url": "git+https://github.com/ShankyTiwari/ng-material-multilevel-menu.git" + "url": "git+https://github.com/eddiefrank/ng-material-multilevel-menu.git" }, "keywords": [ "Angular2", - "Angular4", + "Angular16", "Angular", "multilevel-list", "material-list", "angular-multilevel-list" ], - "author": "Shashank Tiwari ", + "author": "Eduard Frank ", "license": "MIT", "bugs": { - "url": "https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues" + "url": "https://github.com/eddiefrank/ng-material-multilevel-menu/issues" }, "dependencies": { "tslib": "^2.5.0" From a2e5f8c71f3daba91bcb0db3a07ae32bdfa96a32 Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Thu, 11 May 2023 12:34:17 +0200 Subject: [PATCH 06/13] ivy partial mode --- ...ie666-ng-material-multilevel-menu.d.ts.map | 1 + .../eddie666-ng-material-multilevel-menu.mjs | 5 + .../list-item-content.component.mjs | 199 +--- .../lib/list-item/list-item.component.mjs | 128 +-- .../esm2022/lib/materials.module.mjs | 49 +- .../ng-material-multilevel-menu.component.mjs | 71 +- .../ng-material-multilevel-menu.module.mjs | 49 +- .../esm2022/ng-material-multilevel-menu.mjs | 5 - .../eddie666-ng-material-multilevel-menu.mjs | 650 ++++++++++++ ...die666-ng-material-multilevel-menu.mjs.map | 1 + .../fesm2022/ng-material-multilevel-menu.mjs | 942 ------------------ .../ng-material-multilevel-menu.mjs.map | 1 - dist/ng-material-multilevel-menu/index.d.ts | 4 +- .../ng-material-multilevel-menu.d.ts.map | 1 - dist/ng-material-multilevel-menu/package.json | 23 +- package-lock.json | 195 ++-- package.json | 26 +- .../tsconfig.lib.prod.json | 3 +- tsconfig.json | 4 + 19 files changed, 888 insertions(+), 1469 deletions(-) create mode 100644 dist/ng-material-multilevel-menu/eddie666-ng-material-multilevel-menu.d.ts.map create mode 100644 dist/ng-material-multilevel-menu/esm2022/eddie666-ng-material-multilevel-menu.mjs delete mode 100644 dist/ng-material-multilevel-menu/esm2022/ng-material-multilevel-menu.mjs create mode 100644 dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs create mode 100644 dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map delete mode 100644 dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs delete mode 100644 dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs.map delete mode 100644 dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts.map diff --git a/dist/ng-material-multilevel-menu/eddie666-ng-material-multilevel-menu.d.ts.map b/dist/ng-material-multilevel-menu/eddie666-ng-material-multilevel-menu.d.ts.map new file mode 100644 index 0000000..0658d4a --- /dev/null +++ b/dist/ng-material-multilevel-menu/eddie666-ng-material-multilevel-menu.d.ts.map @@ -0,0 +1 @@ +{"version":3,"file":"eddie666-ng-material-multilevel-menu.d.ts","sourceRoot":"","sources":["../../projects/ng-material-multilevel-menu/src/eddie666-ng-material-multilevel-menu.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/eddie666-ng-material-multilevel-menu.mjs b/dist/ng-material-multilevel-menu/esm2022/eddie666-ng-material-multilevel-menu.mjs new file mode 100644 index 0000000..1bcb62f --- /dev/null +++ b/dist/ng-material-multilevel-menu/esm2022/eddie666-ng-material-multilevel-menu.mjs @@ -0,0 +1,5 @@ +/** + * Generated bundle index. Do not edit. + */ +export * from './public_api'; +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZWRkaWU2NjYtbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9lZGRpZTY2Ni1uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs index 9bfa785..63e388e 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs @@ -7,172 +7,6 @@ import * as i1 from "@angular/common"; import * as i2 from "@angular/material/icon"; import * as i3 from "@angular/cdk/bidi"; import * as i4 from "@angular/router"; -function ListItemContentComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "a", 6); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_1_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r2 = i0.ɵɵnextContext(); - const _r7 = i0.ɵɵreference(8); - const _r5 = i0.ɵɵreference(6); - i0.ɵɵproperty("href", ctx_r2.node.link, i0.ɵɵsanitizeUrl)("target", ctx_r2.getHrefTargetType()); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.isRtlLayout ? _r7 : _r5); -} } -function ListItemContentComponent_ng_template_3_a_0_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_3_a_0_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "a", 9); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_0_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r12 = i0.ɵɵnextContext(2); - const _r7 = i0.ɵɵreference(8); - const _r5 = i0.ɵɵreference(6); - i0.ɵɵproperty("routerLink", ctx_r12.node.link); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", ctx_r12.isRtlLayout ? _r7 : _r5); -} } -function ListItemContentComponent_ng_template_3_a_1_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_3_a_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "a", 10); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_1_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r13 = i0.ɵɵnextContext(2); - const _r7 = i0.ɵɵreference(8); - const _r5 = i0.ɵɵreference(6); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", ctx_r13.isRtlLayout ? _r7 : _r5); -} } -function ListItemContentComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵtemplate(0, ListItemContentComponent_ng_template_3_a_0_Template, 2, 2, "a", 7); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_1_Template, 2, 1, "a", 8); -} if (rf & 2) { - const ctx_r4 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngIf", !ctx_r4.node.externalRedirect && ctx_r4.node.link); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", !ctx_r4.node.link); -} } -function ListItemContentComponent_ng_template_5_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_5_div_4_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 14)(1, "mat-icon"); - i0.ɵɵtext(2, " keyboard_arrow_down "); - i0.ɵɵelementEnd()(); -} if (rf & 2) { - const ctx_r17 = i0.ɵɵnextContext(2); - i0.ɵɵadvance(1); - i0.ɵɵproperty("@ExpandedLTR", ctx_r17.nodeExpandStatus()); -} } -function ListItemContentComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 11); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_5_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementStart(2, "span", 12); - i0.ɵɵtext(3); - i0.ɵɵelementEnd()(); - i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_5_div_4_Template, 3, 1, "div", 13); -} if (rf & 2) { - const ctx_r6 = i0.ɵɵnextContext(); - const _r9 = i0.ɵɵreference(10); - i0.ɵɵproperty("dir", "ltr"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", _r9); - i0.ɵɵadvance(2); - i0.ɵɵtextInterpolate(ctx_r6.node.label); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx_r6.node.hasChildren); -} } -function ListItemContentComponent_ng_template_7_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_7_div_4_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 14)(1, "mat-icon"); - i0.ɵɵtext(2, " keyboard_arrow_down "); - i0.ɵɵelementEnd()(); -} if (rf & 2) { - const ctx_r19 = i0.ɵɵnextContext(2); - i0.ɵɵadvance(1); - i0.ɵɵproperty("@ExpandedRTL", ctx_r19.nodeExpandStatus()); -} } -function ListItemContentComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 11); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_7_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementStart(2, "span", 12); - i0.ɵɵtext(3); - i0.ɵɵelementEnd()(); - i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_7_div_4_Template, 3, 1, "div", 13); -} if (rf & 2) { - const ctx_r8 = i0.ɵɵnextContext(); - const _r9 = i0.ɵɵreference(10); - i0.ɵɵproperty("dir", "rtl"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", _r9); - i0.ɵɵadvance(2); - i0.ɵɵtextInterpolate(ctx_r8.node.label); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx_r8.node.hasChildren); -} } -function ListItemContentComponent_ng_template_9_span_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "span", 20); - i0.ɵɵelement(1, "i", 21); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r20 = i0.ɵɵnextContext(2); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngClass", ctx_r20.getSelectedFaIcon()); -} } -function ListItemContentComponent_ng_template_9_mat_icon_2_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "mat-icon", 22); - i0.ɵɵtext(1); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r21 = i0.ɵɵnextContext(2); - i0.ɵɵadvance(1); - i0.ɵɵtextInterpolate1(" ", ctx_r21.getSelectedIcon(), " "); -} } -function ListItemContentComponent_ng_template_9_mat_icon_3_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelement(0, "mat-icon", 23); -} if (rf & 2) { - const ctx_r22 = i0.ɵɵnextContext(2); - i0.ɵɵpropertyInterpolate("svgIcon", ctx_r22.getSelectedSvgIcon()); -} } -function ListItemContentComponent_ng_template_9_img_4_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelement(0, "img", 24); -} if (rf & 2) { - const ctx_r23 = i0.ɵɵnextContext(2); - i0.ɵɵpropertyInterpolate("src", ctx_r23.getSelectedImageIcon(), i0.ɵɵsanitizeUrl); - i0.ɵɵpropertyInterpolate("alt", ctx_r23.node.label); -} } -function ListItemContentComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 15); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_9_span_1_Template, 2, 1, "span", 16); - i0.ɵɵtemplate(2, ListItemContentComponent_ng_template_9_mat_icon_2_Template, 2, 1, "mat-icon", 17); - i0.ɵɵtemplate(3, ListItemContentComponent_ng_template_9_mat_icon_3_Template, 1, 1, "mat-icon", 18); - i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_9_img_4_Template, 1, 2, "img", 19); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r10 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngSwitch", ctx_r10.getListIcon(ctx_r10.node)); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngSwitchCase", "faIcon"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngSwitchCase", "icon"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngSwitchCase", "svgIcon"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngSwitchCase", "imageIcon"); -} } class ListItemContentComponent { node; isRtlLayout; @@ -217,27 +51,16 @@ class ListItemContentComponent { nodeExpandStatus() { return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; } - static ɵfac = function ListItemContentComponent_Factory(t) { return new (t || ListItemContentComponent)(); }; - static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListItemContentComponent, selectors: [["ng-list-item-content"]], inputs: { node: "node", isRtlLayout: "isRtlLayout" }, decls: 11, vars: 1, consts: [[4, "ngTemplateOutlet"], ["redirectLinkTemplate", ""], ["routerLinkTemplate", ""], ["linkLabelLtrOutlet", ""], ["linkLabelRtlOutlet", ""], ["iconContainer", ""], [1, "anml-link", 3, "href", "target"], ["class", "anml-link", 3, "routerLink", 4, "ngIf"], ["class", "anml-link", 4, "ngIf"], [1, "anml-link", 3, "routerLink"], [1, "anml-link"], [1, "anml-data", 3, "dir"], [1, "label"], ["class", "amml-icon-arrow-container", 4, "ngIf"], [1, "amml-icon-arrow-container"], [1, "icon-container", 3, "ngSwitch"], ["class", "amml-icon amml-icon-fa", 4, "ngSwitchCase"], ["class", "amml-icon", 4, "ngSwitchCase"], ["class", "amml-icon amml-svg-icon", 3, "svgIcon", 4, "ngSwitchCase"], ["matListAvatar", "", "class", "amml-icon", 3, "src", "alt", 4, "ngSwitchCase"], [1, "amml-icon", "amml-icon-fa"], [3, "ngClass"], [1, "amml-icon"], [1, "amml-icon", "amml-svg-icon", 3, "svgIcon"], ["matListAvatar", "", 1, "amml-icon", 3, "src", "alt"]], template: function ListItemContentComponent_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵtemplate(0, ListItemContentComponent_ng_container_0_Template, 1, 0, "ng-container", 0); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_1_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(3, ListItemContentComponent_ng_template_3_Template, 2, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(5, ListItemContentComponent_ng_template_5_Template, 5, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(7, ListItemContentComponent_ng_template_7_Template, 5, 4, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(9, ListItemContentComponent_ng_template_9_Template, 5, 5, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor); - } if (rf & 2) { - const _r1 = i0.ɵɵreference(2); - const _r3 = i0.ɵɵreference(4); - i0.ɵɵproperty("ngTemplateOutlet", ctx.node.externalRedirect ? _r1 : _r3); - } }, dependencies: [i1.NgClass, i1.NgIf, i1.NgTemplateOutlet, i1.NgSwitch, i1.NgSwitchCase, i2.MatIcon, i3.Dir, i4.RouterLink], styles: [".amml-item[_ngcontent-%COMP%]{position:relative;cursor:pointer}.anml-link[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data[_ngcontent-%COMP%]{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item[_ngcontent-%COMP%]{opacity:.5;text-decoration:none;pointer-events:none}.icon-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa[_ngcontent-%COMP%]{font-size:20px}.label[_ngcontent-%COMP%]{line-height:48px;font-weight:400}.amml-svg-icon[_ngcontent-%COMP%]{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container[_ngcontent-%COMP%]{direction:ltr;display:flex;align-items:center}div[dir=ltr][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-right:16px}div[dir=rtl][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-left:16px}"], data: { animation: [ExpandedLTR, ExpandedRTL] } }); + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: { node: "node", isRtlLayout: "isRtlLayout" }, ngImport: i0, template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], animations: [ExpandedLTR, ExpandedRTL] }); } export { ListItemContentComponent }; -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListItemContentComponent, [{ - type: Component, - args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] - }], function () { return []; }, { node: [{ - type: Input - }], isRtlLayout: [{ - type: Input - }] }); })(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0tY29udGVudC9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7Ozs7SUNKekMsd0JBQW1IOzs7SUFJL0csd0JBQXVHOzs7SUFEekcsNEJBQXVFO0lBQ3JFLHlHQUF1RztJQUN6RyxpQkFBSTs7Ozs7SUFGaUIseURBQWtCLHNDQUFBO0lBQ3RCLGVBQXVFO0lBQXZFLGlFQUF1RTs7O0lBTXRGLHdCQUF1Rzs7O0lBRHpHLDRCQUEwRjtJQUN4Riw2R0FBdUc7SUFDekcsaUJBQUk7Ozs7O0lBRjZELDhDQUF3QjtJQUN4RSxlQUF1RTtJQUF2RSxrRUFBdUU7OztJQUd0Rix3QkFBdUc7OztJQUR6Ryw2QkFBd0M7SUFDdEMsNkdBQXVHO0lBQ3pHLGlCQUFJOzs7OztJQURhLGVBQXVFO0lBQXZFLGtFQUF1RTs7O0lBSnhGLG1GQUVJO0lBQ0osbUZBRUk7OztJQUxrQix3RUFBeUM7SUFHekMsZUFBZ0I7SUFB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bml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNdWx0aWxldmVsTm9kZX0gZnJvbSAnLi4vLi4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHtFeHBhbmRlZExUUiwgRXhwYW5kZWRSVEx9IGZyb20gJy4uLy4uL2FuaW1hdGlvbic7XHJcbmltcG9ydCB7Q29tbW9uVXRpbHN9IGZyb20gJy4uLy4uL2NvbW1vbi11dGlscyc7XHJcbmltcG9ydCB7Q09OU1RBTlR9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25nLWxpc3QtaXRlbS1jb250ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC5jc3MnXSxcclxuICBhbmltYXRpb25zOiBbRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBpc1J0bExheW91dDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyBOT09QXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIE5PT1BcclxuICB9XHJcblxyXG4gIGdldExpc3RJY29uKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogc3RyaW5nIHtcclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBpY29uYDtcclxuICAgIH0gZWxzZSBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmZhSWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBmYUljb25gO1xyXG4gICAgfSBlbHNlIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaW1hZ2VJY29uKSkge1xyXG4gICAgICByZXR1cm4gYGltYWdlSWNvbmA7XHJcbiAgICB9IGVsc2UgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkobm9kZS5zdmdJY29uKSkge1xyXG4gICAgICByZXR1cm4gYHN2Z0ljb25gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGBgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SHJlZlRhcmdldFR5cGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaHJlZlRhcmdldFR5cGUgPyB0aGlzLm5vZGUuaHJlZlRhcmdldFR5cGUgOiBDT05TVEFOVC5ERUZBVUxUX0hSRUZfVEFSR0VUX1RZUEU7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFN2Z0ljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlU3ZnSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVTdmdJY29uIDogdGhpcy5ub2RlLnN2Z0ljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJY29uIDogdGhpcy5ub2RlLmljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEZhSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5pc1NlbGVjdGVkICYmIHRoaXMubm9kZS5hY3RpdmVGYUljb24gPyB0aGlzLm5vZGUuYWN0aXZlRmFJY29uIDogdGhpcy5ub2RlLmZhSWNvbjtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkSW1hZ2VJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZUltYWdlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJbWFnZUljb24gOiB0aGlzLm5vZGUuaW1hZ2VJY29uO1xyXG4gIH1cclxuXHJcbiAgbm9kZUV4cGFuZFN0YXR1cygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5leHBhbmRlZCA/IENPTlNUQU5ULllFUyA6IENPTlNUQU5ULk5PO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZS5leHRlcm5hbFJlZGlyZWN0ID8gcmVkaXJlY3RMaW5rVGVtcGxhdGUgOiByb3V0ZXJMaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVkaXJlY3RMaW5rVGVtcGxhdGU+XHJcbiAgPGEgY2xhc3M9XCJhbm1sLWxpbmtcIiBbaHJlZl09XCJub2RlLmxpbmtcIiBbdGFyZ2V0XT1cImdldEhyZWZUYXJnZXRUeXBlKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc1J0bExheW91dCA/IGxpbmtMYWJlbFJ0bE91dGxldCA6IGxpbmtMYWJlbEx0ck91dGxldFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm91dGVyTGlua1RlbXBsYXRlPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgKm5nSWY9XCIhbm9kZS5leHRlcm5hbFJlZGlyZWN0ICYmIG5vZGUubGlua1wiIFtyb3V0ZXJMaW5rXT1cIm5vZGUubGlua1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlzUnRsTGF5b3V0ID8gbGlua0xhYmVsUnRsT3V0bGV0IDogbGlua0xhYmVsTHRyT3V0bGV0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9hPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgKm5nSWY9XCIhbm9kZS5saW5rXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXNSdGxMYXlvdXQgPyBsaW5rTGFiZWxSdGxPdXRsZXQgOiBsaW5rTGFiZWxMdHJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2E+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xpbmtMYWJlbEx0ck91dGxldD5cclxuICA8ZGl2IGNsYXNzPVwiYW5tbC1kYXRhXCIgW2Rpcl09XCInbHRyJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25Db250YWluZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57e25vZGUubGFiZWx9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYW1tbC1pY29uLWFycm93LWNvbnRhaW5lclwiICpuZ0lmPSdub2RlLmhhc0NoaWxkcmVuJz5cclxuICAgIDxtYXQtaWNvbiBbQEV4cGFuZGVkTFRSXT1cIm5vZGVFeHBhbmRTdGF0dXMoKVwiPlxyXG4gICAgICBrZXlib2FyZF9hcnJvd19kb3duXHJcbiAgICA8L21hdC1pY29uPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5rTGFiZWxSdGxPdXRsZXQ+XHJcbiAgPGRpdiBjbGFzcz1cImFubWwtZGF0YVwiIFtkaXJdPVwiJ3J0bCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tub2RlLmxhYmVsfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFtbWwtaWNvbi1hcnJvdy1jb250YWluZXJcIiAqbmdJZj0nbm9kZS5oYXNDaGlsZHJlbic+XHJcbiAgICA8bWF0LWljb24gW0BFeHBhbmRlZFJUTF09XCJub2RlRXhwYW5kU3RhdHVzKClcIj5cclxuICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxyXG4gICAgPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBbbmdTd2l0Y2hdPVwiZ2V0TGlzdEljb24obm9kZSlcIj5cclxuICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmYUljb24nXCIgY2xhc3M9XCJhbW1sLWljb24gYW1tbC1pY29uLWZhXCI+XHJcbiAgICAgICAgPGkgW25nQ2xhc3NdPVwiZ2V0U2VsZWN0ZWRGYUljb24oKVwiPjwvaT5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInaWNvbidcIiBjbGFzcz1cImFtbWwtaWNvblwiPlxyXG4gICAgICB7e2dldFNlbGVjdGVkSWNvbigpfX1cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8bWF0LWljb24gKm5nU3dpdGNoQ2FzZT1cIidzdmdJY29uJ1wiIGNsYXNzPVwiYW1tbC1pY29uIGFtbWwtc3ZnLWljb25cIlxyXG4gICAgICAgICAgICAgIHN2Z0ljb249XCJ7e2dldFNlbGVjdGVkU3ZnSWNvbigpfX1cIj5cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8aW1nICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VJY29uJ1wiIG1hdExpc3RBdmF0YXIgY2xhc3M9XCJhbW1sLWljb25cIlxyXG4gICAgICAgICBzcmM9XCJ7e2dldFNlbGVjdGVkSW1hZ2VJY29uKCl9fVwiIGFsdD1cInt7bm9kZS5sYWJlbH19XCIvPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuIl19 \ No newline at end of file +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, decorators: [{ + type: Component, + args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] + }], ctorParameters: function () { return []; }, propDecorators: { node: [{ + type: Input + }], isRtlLayout: [{ + type: Input + }] } }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0tY29udGVudC9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUV6QyxNQU1hLHdCQUF3QjtJQUMxQixJQUFJLENBQWlCO0lBQ3JCLFdBQVcsQ0FBVTtJQUU5QjtRQUNFLE9BQU87SUFDVCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3RCxPQUFPLFFBQVEsQ0FBQztTQUNqQjthQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDOUQsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztJQUNqRyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN2RyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUM5RixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BHLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzdHLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3pELENBQUM7dUdBaERVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLGtIQ1pyQyxzMkVBeURBLGd1REQvQ2MsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDOztTQUUzQix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDOzBFQUc3QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNdWx0aWxldmVsTm9kZX0gZnJvbSAnLi4vLi4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHtFeHBhbmRlZExUUiwgRXhwYW5kZWRSVEx9IGZyb20gJy4uLy4uL2FuaW1hdGlvbic7XHJcbmltcG9ydCB7Q29tbW9uVXRpbHN9IGZyb20gJy4uLy4uL2NvbW1vbi11dGlscyc7XHJcbmltcG9ydCB7Q09OU1RBTlR9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25nLWxpc3QtaXRlbS1jb250ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC5jc3MnXSxcclxuICBhbmltYXRpb25zOiBbRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBpc1J0bExheW91dDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyBOT09QXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIE5PT1BcclxuICB9XHJcblxyXG4gIGdldExpc3RJY29uKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogc3RyaW5nIHtcclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBpY29uYDtcclxuICAgIH0gZWxzZSBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmZhSWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBmYUljb25gO1xyXG4gICAgfSBlbHNlIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaW1hZ2VJY29uKSkge1xyXG4gICAgICByZXR1cm4gYGltYWdlSWNvbmA7XHJcbiAgICB9IGVsc2UgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkobm9kZS5zdmdJY29uKSkge1xyXG4gICAgICByZXR1cm4gYHN2Z0ljb25gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGBgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SHJlZlRhcmdldFR5cGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaHJlZlRhcmdldFR5cGUgPyB0aGlzLm5vZGUuaHJlZlRhcmdldFR5cGUgOiBDT05TVEFOVC5ERUZBVUxUX0hSRUZfVEFSR0VUX1RZUEU7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFN2Z0ljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlU3ZnSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVTdmdJY29uIDogdGhpcy5ub2RlLnN2Z0ljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJY29uIDogdGhpcy5ub2RlLmljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEZhSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5pc1NlbGVjdGVkICYmIHRoaXMubm9kZS5hY3RpdmVGYUljb24gPyB0aGlzLm5vZGUuYWN0aXZlRmFJY29uIDogdGhpcy5ub2RlLmZhSWNvbjtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkSW1hZ2VJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZUltYWdlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJbWFnZUljb24gOiB0aGlzLm5vZGUuaW1hZ2VJY29uO1xyXG4gIH1cclxuXHJcbiAgbm9kZUV4cGFuZFN0YXR1cygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5leHBhbmRlZCA/IENPTlNUQU5ULllFUyA6IENPTlNUQU5ULk5PO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZS5leHRlcm5hbFJlZGlyZWN0ID8gcmVkaXJlY3RMaW5rVGVtcGxhdGUgOiByb3V0ZXJMaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVkaXJlY3RMaW5rVGVtcGxhdGU+XHJcbiAgPGEgY2xhc3M9XCJhbm1sLWxpbmtcIiBbaHJlZl09XCJub2RlLmxpbmtcIiBbdGFyZ2V0XT1cImdldEhyZWZUYXJnZXRUeXBlKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc1J0bExheW91dCA/IGxpbmtMYWJlbFJ0bE91dGxldCA6IGxpbmtMYWJlbEx0ck91dGxldFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm91dGVyTGlua1RlbXBsYXRlPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgKm5nSWY9XCIhbm9kZS5leHRlcm5hbFJlZGlyZWN0ICYmIG5vZGUubGlua1wiIFtyb3V0ZXJMaW5rXT1cIm5vZGUubGlua1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlzUnRsTGF5b3V0ID8gbGlua0xhYmVsUnRsT3V0bGV0IDogbGlua0xhYmVsTHRyT3V0bGV0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9hPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgKm5nSWY9XCIhbm9kZS5saW5rXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXNSdGxMYXlvdXQgPyBsaW5rTGFiZWxSdGxPdXRsZXQgOiBsaW5rTGFiZWxMdHJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2E+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xpbmtMYWJlbEx0ck91dGxldD5cclxuICA8ZGl2IGNsYXNzPVwiYW5tbC1kYXRhXCIgW2Rpcl09XCInbHRyJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25Db250YWluZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57e25vZGUubGFiZWx9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYW1tbC1pY29uLWFycm93LWNvbnRhaW5lclwiICpuZ0lmPSdub2RlLmhhc0NoaWxkcmVuJz5cclxuICAgIDxtYXQtaWNvbiBbQEV4cGFuZGVkTFRSXT1cIm5vZGVFeHBhbmRTdGF0dXMoKVwiPlxyXG4gICAgICBrZXlib2FyZF9hcnJvd19kb3duXHJcbiAgICA8L21hdC1pY29uPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5rTGFiZWxSdGxPdXRsZXQ+XHJcbiAgPGRpdiBjbGFzcz1cImFubWwtZGF0YVwiIFtkaXJdPVwiJ3J0bCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tub2RlLmxhYmVsfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFtbWwtaWNvbi1hcnJvdy1jb250YWluZXJcIiAqbmdJZj0nbm9kZS5oYXNDaGlsZHJlbic+XHJcbiAgICA8bWF0LWljb24gW0BFeHBhbmRlZFJUTF09XCJub2RlRXhwYW5kU3RhdHVzKClcIj5cclxuICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxyXG4gICAgPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBbbmdTd2l0Y2hdPVwiZ2V0TGlzdEljb24obm9kZSlcIj5cclxuICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmYUljb24nXCIgY2xhc3M9XCJhbW1sLWljb24gYW1tbC1pY29uLWZhXCI+XHJcbiAgICAgICAgPGkgW25nQ2xhc3NdPVwiZ2V0U2VsZWN0ZWRGYUljb24oKVwiPjwvaT5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInaWNvbidcIiBjbGFzcz1cImFtbWwtaWNvblwiPlxyXG4gICAgICB7e2dldFNlbGVjdGVkSWNvbigpfX1cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8bWF0LWljb24gKm5nU3dpdGNoQ2FzZT1cIidzdmdJY29uJ1wiIGNsYXNzPVwiYW1tbC1pY29uIGFtbWwtc3ZnLWljb25cIlxyXG4gICAgICAgICAgICAgIHN2Z0ljb249XCJ7e2dldFNlbGVjdGVkU3ZnSWNvbigpfX1cIj5cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8aW1nICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VJY29uJ1wiIG1hdExpc3RBdmF0YXIgY2xhc3M9XCJhbW1sLWljb25cIlxyXG4gICAgICAgICBzcmM9XCJ7e2dldFNlbGVjdGVkSW1hZ2VJY29uKCl9fVwiIGFsdD1cInt7bm9kZS5sYWJlbH19XCIvPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs index 0154a87..5e5399b 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs @@ -14,75 +14,6 @@ import * as i5 from "@angular/material/list"; import * as i6 from "@angular/material/divider"; import * as i7 from "@angular/material/core"; import * as i8 from "./list-item-content/list-item-content.component"; -const _c0 = function (a0, a1) { return { item: a0, configuration: a1 }; }; -function ListItemComponent_div_1_Template(rf, ctx) { if (rf & 1) { - const _r7 = i0.ɵɵgetCurrentView(); - i0.ɵɵelementStart(0, "div", 5); - i0.ɵɵlistener("click", function ListItemComponent_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.expand(ctx_r6.node)); }); - i0.ɵɵelementContainer(1, 6); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r0 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngClass", ctx_r0.selectedListClasses)("ngStyle", ctx_r0.getListStyle()); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.listTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(4, _c0, ctx_r0.node, ctx_r0.nodeConfiguration)); -} } -function ListItemComponent_div_2_ng_list_item_1_Template(rf, ctx) { if (rf & 1) { - const _r11 = i0.ɵɵgetCurrentView(); - i0.ɵɵelementStart(0, "ng-list-item", 9); - i0.ɵɵlistener("selectedItem", function ListItemComponent_div_2_ng_list_item_1_Template_ng_list_item_selectedItem_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.selectedListItem($event)); }); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const singleNode_r9 = ctx.$implicit; - const ctx_r8 = i0.ɵɵnextContext(2); - i0.ɵɵproperty("nodeConfiguration", ctx_r8.nodeConfiguration)("node", singleNode_r9.value)("level", ctx_r8.level + 1)("submenuLevel", singleNode_r9.key)("selectedNode", ctx_r8.selectedNode)("nodeExpandCollapseStatus", ctx_r8.nodeExpandCollapseStatus)("listTemplate", ctx_r8.listTemplate); -} } -function ListItemComponent_div_2_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 7); - i0.ɵɵtemplate(1, ListItemComponent_div_2_ng_list_item_1_Template, 1, 7, "ng-list-item", 8); - i0.ɵɵpipe(2, "keyvalue"); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r1 = i0.ɵɵnextContext(); - i0.ɵɵproperty("@SlideInOut", undefined)("dir", ctx_r1.isRtlLayout() ? "rtl" : "ltr")("ngClass", ctx_r1.classes); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 4, ctx_r1.nodeChildren, ctx_r1.multilevelMenuService.kvDummyComparerFn)); -} } -function ListItemComponent_ng_template_3_mat_list_item_0_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemComponent_ng_template_3_mat_list_item_0_Template(rf, ctx) { if (rf & 1) { - const _r16 = i0.ɵɵgetCurrentView(); - i0.ɵɵelementStart(0, "mat-list-item", 12); - i0.ɵɵlistener("click", function ListItemComponent_ng_template_3_mat_list_item_0_Template_mat_list_item_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.expand(ctx_r15.node)); }); - i0.ɵɵtemplate(1, ListItemComponent_ng_template_3_mat_list_item_0_ng_container_1_Template, 1, 0, "ng-container", 13); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r12 = i0.ɵɵnextContext(2); - const _r4 = i0.ɵɵreference(6); - i0.ɵɵpropertyInterpolate("title", ctx_r12.node.label); - i0.ɵɵproperty("matRippleDisabled", ctx_r12.node.disabled)("ngClass", ctx_r12.selectedListClasses)("ngStyle", ctx_r12.getListStyle()); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", _r4); -} } -function ListItemComponent_ng_template_3_mat_divider_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelement(0, "mat-divider"); -} } -function ListItemComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵtemplate(0, ListItemComponent_ng_template_3_mat_list_item_0_Template, 2, 5, "mat-list-item", 10); - i0.ɵɵtemplate(1, ListItemComponent_ng_template_3_mat_divider_1_Template, 1, 0, "mat-divider", 11); -} if (rf & 2) { - const ctx_r3 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngIf", !ctx_r3.node.hidden); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx_r3.nodeConfiguration.useDividers); -} } -function ListItemComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelement(0, "ng-list-item-content", 14); -} if (rf & 2) { - const ctx_r5 = i0.ɵɵnextContext(); - i0.ɵɵproperty("node", ctx_r5.node)("isRtlLayout", ctx_r5.isRtlLayout()); -} } class ListItemComponent { router; multilevelMenuService; @@ -228,41 +159,28 @@ class ListItemComponent { selectedListItem(node) { this.selectedItem.emit(node); } - static ɵfac = function ListItemComponent_Factory(t) { return new (t || ListItemComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.MultilevelMenuService)); }; - static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListItemComponent, selectors: [["ng-list-item"]], inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 3, consts: [[1, "amml-menu-container"], [3, "ngClass", "ngStyle", "click", 4, "ngIf", "ngIfElse"], [3, "dir", "ngClass", 4, "ngIf"], ["baseTemplate", ""], ["linkTemplate", ""], [3, "ngClass", "ngStyle", "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "dir", "ngClass"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem", 4, "ngFor", "ngForOf"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem"], ["matRipple", "", 3, "title", "matRippleDisabled", "ngClass", "ngStyle", "click", 4, "ngIf"], [4, "ngIf"], ["matRipple", "", 3, "title", "matRippleDisabled", "ngClass", "ngStyle", "click"], [4, "ngTemplateOutlet"], [1, "filled", 3, "node", "isRtlLayout"]], template: function ListItemComponent_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 0); - i0.ɵɵtemplate(1, ListItemComponent_div_1_Template, 2, 7, "div", 1); - i0.ɵɵtemplate(2, ListItemComponent_div_2_Template, 3, 7, "div", 2); - i0.ɵɵelementEnd(); - i0.ɵɵtemplate(3, ListItemComponent_ng_template_3_Template, 2, 2, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(5, ListItemComponent_ng_template_5_Template, 1, 2, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); - } if (rf & 2) { - const _r2 = i0.ɵɵreference(4); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx.nodeConfiguration.customTemplate && !ctx.node.hidden)("ngIfElse", _r2); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx.hasItems() && ctx.expanded); - } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i3.NgStyle, i4.Dir, i5.MatListItem, i6.MatDivider, i7.MatRipple, ListItemComponent, i8.ListItemContentComponent, i3.KeyValuePipe], styles: [".filled[_ngcontent-%COMP%]{width:100%}div[dir=rtl].amml-submenu[_ngcontent-%COMP%]{margin-right:16px}div[dir=ltr].amml-submenu[_ngcontent-%COMP%]{margin-left:16px}"], data: { animation: [SlideInOut] } }); + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, deps: [{ token: i1.Router }, { token: i2.MultilevelMenuService }], target: i0.ɵɵFactoryTarget.Component }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemComponent, selector: "ng-list-item", inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "component", type: i8.ListItemContentComponent, selector: "ng-list-item-content", inputs: ["node", "isRtlLayout"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }], animations: [SlideInOut] }); } export { ListItemComponent }; -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListItemComponent, [{ - type: Component, - args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] - }], function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, { node: [{ - type: Input - }], level: [{ - type: Input - }], submenuLevel: [{ - type: Input - }], selectedNode: [{ - type: Input - }], nodeConfiguration: [{ - type: Input - }], nodeExpandCollapseStatus: [{ - type: Input - }], listTemplate: [{ - type: Input - }], selectedItem: [{ - type: Output - }] }); })(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBNEMsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7Ozs7OztJQ0wxQyw4QkFHNEI7SUFBdkIsMkpBQVMsZUFBQSwwQkFBWSxDQUFBLElBQUM7SUFDekIsMkJBRWU7SUFDakIsaUJBQU07OztJQU5ELG9EQUErQixrQ0FBQTtJQUdwQixlQUFpQztJQUFqQyxzREFBaUMsOEZBQUE7Ozs7SUFRL0MsdUNBUTRDO0lBRDlCLDBNQUFnQixlQUFBLGdDQUF3QixDQUFBLElBQUM7SUFFdkQsaUJBQWU7Ozs7SUFSRCw0REFBdUMsNkJBQUEsMkJBQUEsbUNBQUEscUNBQUEsNkRBQUEscUNBQUE7OztJQUZ2RCw4QkFBNEc7SUFDMUcsMEZBU2U7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QUlOLGtFQVdNO1lBQ1IsaUJBQU07WUFJTixtSEFXYztZQUVkLG1IQUVjOzs7WUExQ04sZUFBdUQ7WUFBdkQsK0VBQXVELGlCQUFBO1lBV3ZELGVBQTRCO1lBQTVCLHFEQUE0QjttSkRFdkIsaUJBQWlCLHFQQUZoQixDQUFDLFVBQVUsQ0FBQzs7U0FFYixpQkFBaUI7dUZBQWpCLGlCQUFpQjtjQU43QixTQUFTOzJCQUNFLGNBQWMsY0FHWixDQUFDLFVBQVUsQ0FBQzs2RkFHZixJQUFJO2tCQUFaLEtBQUs7WUFDRyxLQUFLO2tCQUFiLEtBQUs7WUFDRyxZQUFZO2tCQUFwQixLQUFLO1lBQ0csWUFBWTtrQkFBcEIsS0FBSztZQUNHLGlCQUFpQjtrQkFBekIsS0FBSztZQUNHLHdCQUF3QjtrQkFBaEMsS0FBSztZQUNHLFlBQVk7a0JBQXBCLEtBQUs7WUFFSSxZQUFZO2tCQUFyQixNQUFNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25DaGFuZ2VzLCBPbkluaXQsIE91dHB1dCwgRXZlbnRFbWl0dGVyLCBUZW1wbGF0ZVJlZiwgRWxlbWVudFJlZiB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiwgTGlzdFN0eWxlLCBNdWx0aWxldmVsTm9kZSwgRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtIH0gZnJvbSAnLi4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tICcuLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTWVudVNlcnZpY2UgfSBmcm9tICcuLi9tdWx0aWxldmVsLW1lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7IFNsaWRlSW5PdXQgfSBmcm9tICcuLi9hbmltYXRpb24nO1xyXG5pbXBvcnQge0NvbW1vblV0aWxzfSBmcm9tICcuLi9jb21tb24tdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZy1saXN0LWl0ZW0nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaXRlbS5jb21wb25lbnQuY3NzJ10sXHJcbiAgYW5pbWF0aW9uczogW1NsaWRlSW5PdXRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcclxuICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBsZXZlbCA9IDE7XHJcbiAgQElucHV0KCkgc3VibWVudUxldmVsID0gMDtcclxuICBASW5wdXQoKSBzZWxlY3RlZE5vZGU6IE11bHRpbGV2ZWxOb2RlO1xyXG4gIEBJbnB1dCgpIG5vZGVDb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uID0gbnVsbDtcclxuICBASW5wdXQoKSBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IG51bGw7XHJcbiAgQElucHV0KCkgbGlzdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50UmVmPiA9IG51bGw7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2RlPigpO1xyXG5cclxuICBpc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgZXhwYW5kZWQgPSBmYWxzZTtcclxuICBmaXJzdEluaXRpYWxpemVyID0gZmFsc2U7XHJcblxyXG4gIG5vZGVDaGlsZHJlbjogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBjbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHNlbGVjdGVkTGlzdENsYXNzZXM6IHsgW2luZGV4OiBzdHJpbmddOiBib29sZWFuIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgcHVibGljIG11bHRpbGV2ZWxNZW51U2VydmljZTogTXVsdGlsZXZlbE1lbnVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXMgPSB7XHJcbiAgICAgIFtDT05TVEFOVC5ERUZBVUxUX0xJU1RfQ0xBU1NfTkFNRV06IHRydWUsXHJcbiAgICAgIFtDT05TVEFOVC5TRUxFQ1RFRF9MSVNUX0NMQVNTX05BTUVdOiBmYWxzZSxcclxuICAgICAgW0NPTlNUQU5ULkFDVElWRV9JVEVNX0NMQVNTX05BTUVdOiBmYWxzZSxcclxuICAgIH07XHJcbiAgfVxyXG5cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMubm9kZUNoaWxkcmVuID0gdGhpcy5ub2RlICYmIHRoaXMubm9kZS5pdGVtcyA/IHRoaXMubm9kZS5pdGVtcy5maWx0ZXIobiA9PiAhbi5oaWRkZW4pIDogW107XHJcbiAgICB0aGlzLm5vZGUuaGFzQ2hpbGRyZW4gPSB0aGlzLmhhc0l0ZW1zKCk7XHJcblxyXG4gICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZCh0aGlzLnNlbGVjdGVkTm9kZSkpIHtcclxuICAgICAgdGhpcy5zZXRTZWxlY3RlZENsYXNzKHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLnJlY3Vyc2l2ZUNoZWNrSWQodGhpcy5ub2RlLCB0aGlzLnNlbGVjdGVkTm9kZS5pZCkpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRFeHBhbmRDb2xsYXBzZVN0YXR1cygpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXNbQ09OU1RBTlQuRElTQUJMRURfSVRFTV9DTEFTU19OQU1FXSA9IHRoaXMubm9kZS5kaXNhYmxlZDtcclxuXHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZS5mYUljb24pICYmXHJcbiAgICAgIHRoaXMubm9kZS5mYUljb24ubWF0Y2goL1xcYmZhXFx3KD8hLSkvKSA9PT0gbnVsbCkge1xyXG4gICAgICB0aGlzLm5vZGUuZmFJY29uID0gYGZhcyAke3RoaXMubm9kZS5mYUljb259YDtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXNbYGxldmVsLSR7dGhpcy5sZXZlbH0tc3VibWVudWxldmVsLSR7dGhpcy5zdWJtZW51TGV2ZWx9YF0gPSB0cnVlO1xyXG4gICAgaWYgKHR5cGVvZiB0aGlzLm5vZGUuZXhwYW5kZWQgPT09ICdib29sZWFuJykge1xyXG4gICAgICB0aGlzLmV4cGFuZGVkID0gdGhpcy5ub2RlLmV4cGFuZGVkO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XHJcbiAgfVxyXG5cclxuICBzZXRTZWxlY3RlZENsYXNzKGlzRm91bmQ6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgIGlmIChpc0ZvdW5kKSB7XHJcbiAgICAgIGlmICghdGhpcy5maXJzdEluaXRpYWxpemVyKSB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5pc1NlbGVjdGVkID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5oaWdobGlnaHRPblNlbGVjdCB8fCB0aGlzLnNlbGVjdGVkTm9kZS5pdGVtcyA9PT0gdW5kZWZpbmVkO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmNvbGxhcHNlT25TZWxlY3QpIHtcclxuICAgICAgICB0aGlzLm5vZGUuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3NlcyA9IHtcclxuICAgICAgW0NPTlNUQU5ULkRFRkFVTFRfTElTVF9DTEFTU19OQU1FXTogdHJ1ZSxcclxuICAgICAgW0NPTlNUQU5ULlNFTEVDVEVEX0xJU1RfQ0xBU1NfTkFNRV06IHRoaXMuaXNTZWxlY3RlZCxcclxuICAgICAgW0NPTlNUQU5ULkFDVElWRV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLnNlbGVjdGVkTm9kZS5pZCA9PT0gdGhpcy5ub2RlLmlkLFxyXG4gICAgICBbQ09OU1RBTlQuRElTQUJMRURfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5ub2RlLmRpc2FibGVkLFxyXG4gICAgICBbYGxldmVsLSR7dGhpcy5sZXZlbH0tc3VibWVudWxldmVsLSR7dGhpcy5zdWJtZW51TGV2ZWx9YF06IHRydWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5ub2RlLmlzU2VsZWN0ZWQgPSB0aGlzLmlzU2VsZWN0ZWQ7XHJcbiAgICB0aGlzLnNldENsYXNzZXMoKTtcclxuICB9XHJcblxyXG4gIGdldFBhZGRpbmdBdFN0YXJ0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ucGFkZGluZ0F0U3RhcnQ7XHJcbiAgfVxyXG5cclxuICBnZXRMaXN0U3R5bGUoKTogTGlzdFN0eWxlIHtcclxuICAgIGNvbnN0IHN0eWxlcyA9IHtcclxuICAgICAgYmFja2dyb3VuZDogQ09OU1RBTlQuREVGQVVMVF9MSVNUX0JBQ0tHUk9VTkRfQ09MT1IsXHJcbiAgICAgIGNvbG9yOiBDT05TVEFOVC5ERUZBVUxUX0xJU1RfRk9OVF9DT0xPUlxyXG4gICAgfTtcclxuICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmxpc3RCYWNrZ3JvdW5kQ29sb3IgIT09IG51bGwpIHtcclxuICAgICAgc3R5bGVzLmJhY2tncm91bmQgPSB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmxpc3RCYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICB9XHJcbiAgICBpZiAodGhpcy5pc1NlbGVjdGVkKSB7XHJcbiAgICAgIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uc2VsZWN0ZWRMaXN0Rm9udENvbG9yICE9PSBudWxsID9cclxuICAgICAgICBzdHlsZXMuY29sb3IgPSB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnNlbGVjdGVkTGlzdEZvbnRDb2xvciA6IHN0eWxlcy5jb2xvciA9IENPTlNUQU5ULkRFRkFVTFRfU0VMRUNURURfRk9OVF9DT0xPUjtcclxuICAgIH0gZWxzZSBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5mb250Q29sb3IgIT09IG51bGwpIHtcclxuICAgICAgc3R5bGVzLmNvbG9yID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5mb250Q29sb3I7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gc3R5bGVzO1xyXG4gIH1cclxuXHJcbiAgaGFzSXRlbXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ2hpbGRyZW4ubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGlzUnRsTGF5b3V0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ucnRsTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xhc3NlcyA9IHtcclxuICAgICAgW2BsZXZlbC0ke3RoaXMubGV2ZWwgKyAxfWBdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU1VCTUVOVV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLmhhc0l0ZW1zKCkgJiYgdGhpcy5nZXRQYWRkaW5nQXRTdGFydCgpLFxyXG4gICAgICBbQ09OU1RBTlQuSEFTX1NVQk1FTlVfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5oYXNJdGVtcygpXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzKSkge1xyXG4gICAgICBpZiAodGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPT09IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5leHBhbmQpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSkge1xyXG4gICAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID09PSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0uY29sbGFwc2UpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY3VzdG9tVGVtcGxhdGUpIHtcclxuICAgICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwYW5kKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogdm9pZCB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gIHRoaXMuZXhwYW5kZWQ7XHJcbiAgICB0aGlzLmZpcnN0SW5pdGlhbGl6ZXIgPSB0cnVlO1xyXG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XHJcbiAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUgIT09IG51bGxcclxuICAgICAgJiYgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGVcclxuICAgICAgJiYgbm9kZS5saW5rICE9PSB1bmRlZmluZWRcclxuICAgICAgJiYgbm9kZS5saW5rXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW25vZGUubGlua10sIG5vZGUubmF2aWdhdGlvbkV4dHJhcykudGhlbigpO1xyXG4gICAgfSBlbHNlIGlmIChub2RlLm9uU2VsZWN0ZWQgJiYgdHlwZW9mIG5vZGUub25TZWxlY3RlZCA9PT0gJ2Z1bmN0aW9uJykge1xyXG4gICAgICBub2RlLm9uU2VsZWN0ZWQobm9kZSk7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShub2RlKTtcclxuICAgIH0gZWxzZSBpZiAobm9kZS5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY29sbGFwc2VPblNlbGVjdCkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0obm9kZSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWxlY3RlZExpc3RJdGVtKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogdm9pZCB7XHJcbiAgICB0aGlzLnNlbGVjdGVkSXRlbS5lbWl0KG5vZGUpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cImFtbWwtbWVudS1jb250YWluZXJcIj5cclxuICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBzdGFydHMgLS0+XHJcbiAgPGRpdiAqbmdJZj1cIm5vZGVDb25maWd1cmF0aW9uLmN1c3RvbVRlbXBsYXRlICYmICFub2RlLmhpZGRlbjtlbHNlIGJhc2VUZW1wbGF0ZVwiXHJcbiAgICAgICBbbmdDbGFzc109XCJzZWxlY3RlZExpc3RDbGFzc2VzXCJcclxuICAgICAgIFtuZ1N0eWxlXT1cImdldExpc3RTdHlsZSgpXCJcclxuICAgICAgIChjbGljayk9XCJleHBhbmQobm9kZSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgW25nVGVtcGxhdGVPdXRsZXRdPVwibGlzdFRlbXBsYXRlXCJcclxuICAgICAgICAgICAgICAgICAgW25nVGVtcGxhdGVPdXRsZXRDb250ZXh0XT1cIntpdGVtOiBub2RlLCBjb25maWd1cmF0aW9uOiBub2RlQ29uZmlndXJhdGlvbn1cIj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvZGl2PlxyXG4gIDwhLS0gQmFzZSBUZW1wbGF0ZSByZW5kZXJpbmcgY29uZGl0aW9uIGVuZHMgLS0+XHJcblxyXG4gIDwhLS0gUmVjdXJzaXZlIFRlbXBsYXRlIGNhbGxzIGJlZ2lucyAtLT5cclxuICA8ZGl2ICpuZ0lmPVwiaGFzSXRlbXMoKSAmJiBleHBhbmRlZFwiIFtAU2xpZGVJbk91dF0gW2Rpcl09XCJpc1J0bExheW91dCgpID8gJ3J0bCcgOiAnbHRyJ1wiIFtuZ0NsYXNzXT1cImNsYXNzZXNcIj5cclxuICAgIDxuZy1saXN0LWl0ZW0gKm5nRm9yPVwibGV0IHNpbmdsZU5vZGUgb2Ygbm9kZUNoaWxkcmVuIHwga2V5dmFsdWUgOiBtdWx0aWxldmVsTWVudVNlcnZpY2Uua3ZEdW1teUNvbXBhcmVyRm5cIlxyXG4gICAgICAgICAgICAgICAgICBbbm9kZUNvbmZpZ3VyYXRpb25dPSdub2RlQ29uZmlndXJhdGlvbidcclxuICAgICAgICAgICAgICAgICAgW25vZGVdPVwic2luZ2xlTm9kZS52YWx1ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtsZXZlbF09XCJsZXZlbCArIDFcIlxyXG4gICAgICAgICAgICAgICAgICBbc3VibWVudUxldmVsXT1cInNpbmdsZU5vZGUua2V5XCJcclxuICAgICAgICAgICAgICAgICAgW3NlbGVjdGVkTm9kZV09J3NlbGVjdGVkTm9kZSdcclxuICAgICAgICAgICAgICAgICAgW25vZGVFeHBhbmRDb2xsYXBzZVN0YXR1c109J25vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cydcclxuICAgICAgICAgICAgICAgICAgKHNlbGVjdGVkSXRlbSk9XCJzZWxlY3RlZExpc3RJdGVtKCRldmVudClcIlxyXG4gICAgICAgICAgICAgICAgICBbbGlzdFRlbXBsYXRlXT1cImxpc3RUZW1wbGF0ZVwiPlxyXG4gICAgPC9uZy1saXN0LWl0ZW0+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48IS0tIFJlY3Vyc2l2ZSBUZW1wbGF0ZSBjYWxscyBlbmRzIC0tPlxyXG5cclxuPCEtLSBCYXNlIFRlbXBsYXRlIHN0YXJ0cyBmcm9tIGhlcmUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gIDxtYXQtbGlzdC1pdGVtIG1hdFJpcHBsZVxyXG4gICAgICAgICAgICAgICAgICpuZ0lmPVwiIW5vZGUuaGlkZGVuXCJcclxuICAgICAgICAgICAgICAgICB0aXRsZT1cInt7bm9kZS5sYWJlbH19XCJcclxuICAgICAgICAgICAgICAgICBbbWF0UmlwcGxlRGlzYWJsZWRdPVwibm9kZS5kaXNhYmxlZFwiXHJcbiAgICAgICAgICAgICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRMaXN0Q2xhc3Nlc1wiXHJcbiAgICAgICAgICAgICAgICAgW25nU3R5bGVdPVwiZ2V0TGlzdFN0eWxlKClcIlxyXG4gICAgICAgICAgICAgICAgIChjbGljayk9XCJleHBhbmQobm9kZSlcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJsaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L21hdC1saXN0LWl0ZW0+XHJcbiAgPG1hdC1kaXZpZGVyICpuZ0lmPVwibm9kZUNvbmZpZ3VyYXRpb24udXNlRGl2aWRlcnNcIj48L21hdC1kaXZpZGVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5rVGVtcGxhdGU+XHJcbiAgPG5nLWxpc3QtaXRlbS1jb250ZW50IGNsYXNzPVwiZmlsbGVkXCIgW25vZGVdPVwibm9kZVwiIFtpc1J0bExheW91dF09XCJpc1J0bExheW91dCgpXCI+PC9uZy1saXN0LWl0ZW0tY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19 \ No newline at end of file +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, decorators: [{ + type: Component, + args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] + }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, propDecorators: { node: [{ + type: Input + }], level: [{ + type: Input + }], submenuLevel: [{ + type: Input + }], selectedNode: [{ + type: Input + }], nodeConfiguration: [{ + type: Input + }], nodeExpandCollapseStatus: [{ + type: Input + }], listTemplate: [{ + type: Input + }], selectedItem: [{ + type: Output + }] } }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBNEMsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQUU1QyxNQU1hLGlCQUFpQjtJQW1CUjtJQUNEO0lBbkJWLElBQUksQ0FBaUI7SUFDckIsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsWUFBWSxDQUFpQjtJQUM3QixpQkFBaUIsR0FBa0IsSUFBSSxDQUFDO0lBQ3hDLHdCQUF3QixHQUE2QixJQUFJLENBQUM7SUFDMUQsWUFBWSxHQUE0QixJQUFJLENBQUM7SUFFNUMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRTVELFVBQVUsR0FBRyxLQUFLLENBQUM7SUFD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QUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRTtZQUM5RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBb0I7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0E1SlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsc1ZDZjlCLGlsRUE2Q0EsZzJDRDlCYSxpQkFBaUIsMFhBRmhCLENBQUMsVUFBVSxDQUFDOztTQUViLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGNBQWMsY0FHWixDQUFDLFVBQVUsQ0FBQztpSUFHZixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24sIExpc3RTdHlsZSwgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4uL2FwcC5tb2RlbCc7XHJcbmltcG9ydCB7IENPTlNUQU5UIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbGlkZUluT3V0IH0gZnJvbSAnLi4vYW5pbWF0aW9uJztcclxuaW1wb3J0IHtDb21tb25VdGlsc30gZnJvbSAnLi4vY29tbW9uLXV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmctbGlzdC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LWl0ZW0uY29tcG9uZW50LmNzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtTbGlkZUluT3V0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbm9kZTogTXVsdGlsZXZlbE5vZGU7XHJcbiAgQElucHV0KCkgbGV2ZWwgPSAxO1xyXG4gIEBJbnB1dCgpIHN1Ym1lbnVMZXZlbCA9IDA7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWROb2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBub2RlQ29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbiA9IG51bGw7XHJcbiAgQElucHV0KCkgbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0gPSBudWxsO1xyXG4gIEBJbnB1dCgpIGxpc3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj4gPSBudWxsO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuXHJcbiAgaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIGV4cGFuZGVkID0gZmFsc2U7XHJcbiAgZmlyc3RJbml0aWFsaXplciA9IGZhbHNlO1xyXG5cclxuICBub2RlQ2hpbGRyZW46IE11bHRpbGV2ZWxOb2RlW107XHJcbiAgY2xhc3NlczogeyBbaW5kZXg6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICBzZWxlY3RlZExpc3RDbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzID0ge1xyXG4gICAgICBbQ09OU1RBTlQuREVGQVVMVF9MSVNUX0NMQVNTX05BTUVdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU0VMRUNURURfTElTVF9DTEFTU19OQU1FXTogZmFsc2UsXHJcbiAgICAgIFtDT05TVEFOVC5BQ1RJVkVfSVRFTV9DTEFTU19OQU1FXTogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5vZGVDaGlsZHJlbiA9IHRoaXMubm9kZSAmJiB0aGlzLm5vZGUuaXRlbXMgPyB0aGlzLm5vZGUuaXRlbXMuZmlsdGVyKG4gPT4gIW4uaGlkZGVuKSA6IFtdO1xyXG4gICAgdGhpcy5ub2RlLmhhc0NoaWxkcmVuID0gdGhpcy5oYXNJdGVtcygpO1xyXG5cclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5zZWxlY3RlZE5vZGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRDbGFzcyh0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5yZWN1cnNpdmVDaGVja0lkKHRoaXMubm9kZSwgdGhpcy5zZWxlY3RlZE5vZGUuaWQpKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzW0NPTlNUQU5ULkRJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRV0gPSB0aGlzLm5vZGUuZGlzYWJsZWQ7XHJcblxyXG4gICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZCh0aGlzLm5vZGUuZmFJY29uKSAmJlxyXG4gICAgICB0aGlzLm5vZGUuZmFJY29uLm1hdGNoKC9cXGJmYVxcdyg/IS0pLykgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5ub2RlLmZhSWNvbiA9IGBmYXMgJHt0aGlzLm5vZGUuZmFJY29ufWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzW2BsZXZlbC0ke3RoaXMubGV2ZWx9LXN1Ym1lbnVsZXZlbC0ke3RoaXMuc3VibWVudUxldmVsfWBdID0gdHJ1ZTtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5ub2RlLmV4cGFuZGVkID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgdGhpcy5leHBhbmRlZCA9IHRoaXMubm9kZS5leHBhbmRlZDtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRDbGFzcyhpc0ZvdW5kOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoaXNGb3VuZCkge1xyXG4gICAgICBpZiAoIXRoaXMuZmlyc3RJbml0aWFsaXplcikge1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uaGlnaGxpZ2h0T25TZWxlY3QgfHwgdGhpcy5zZWxlY3RlZE5vZGUuaXRlbXMgPT09IHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5jb2xsYXBzZU9uU2VsZWN0KSB7XHJcbiAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXMgPSB7XHJcbiAgICAgIFtDT05TVEFOVC5ERUZBVUxUX0xJU1RfQ0xBU1NfTkFNRV06IHRydWUsXHJcbiAgICAgIFtDT05TVEFOVC5TRUxFQ1RFRF9MSVNUX0NMQVNTX05BTUVdOiB0aGlzLmlzU2VsZWN0ZWQsXHJcbiAgICAgIFtDT05TVEFOVC5BQ1RJVkVfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5zZWxlY3RlZE5vZGUuaWQgPT09IHRoaXMubm9kZS5pZCxcclxuICAgICAgW0NPTlNUQU5ULkRJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRV06IHRoaXMubm9kZS5kaXNhYmxlZCxcclxuICAgICAgW2BsZXZlbC0ke3RoaXMubGV2ZWx9LXN1Ym1lbnVsZXZlbC0ke3RoaXMuc3VibWVudUxldmVsfWBdOiB0cnVlLFxyXG4gICAgfTtcclxuICAgIHRoaXMubm9kZS5pc1NlbGVjdGVkID0gdGhpcy5pc1NlbGVjdGVkO1xyXG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRQYWRkaW5nQXRTdGFydCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnBhZGRpbmdBdFN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgZ2V0TGlzdFN0eWxlKCk6IExpc3RTdHlsZSB7XHJcbiAgICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IENPTlNUQU5ULkRFRkFVTFRfTElTVF9CQUNLR1JPVU5EX0NPTE9SLFxyXG4gICAgICBjb2xvcjogQ09OU1RBTlQuREVGQVVMVF9MSVNUX0ZPTlRfQ09MT1JcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5saXN0QmFja2dyb3VuZENvbG9yICE9PSBudWxsKSB7XHJcbiAgICAgIHN0eWxlcy5iYWNrZ3JvdW5kID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5saXN0QmFja2dyb3VuZENvbG9yO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnNlbGVjdGVkTGlzdEZvbnRDb2xvciAhPT0gbnVsbCA/XHJcbiAgICAgICAgc3R5bGVzLmNvbG9yID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5zZWxlY3RlZExpc3RGb250Q29sb3IgOiBzdHlsZXMuY29sb3IgPSBDT05TVEFOVC5ERUZBVUxUX1NFTEVDVEVEX0ZPTlRfQ09MT1I7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uZm9udENvbG9yICE9PSBudWxsKSB7XHJcbiAgICAgIHN0eWxlcy5jb2xvciA9IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uZm9udENvbG9yO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlcztcclxuICB9XHJcblxyXG4gIGhhc0l0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNoaWxkcmVuLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBpc1J0bExheW91dCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnJ0bExheW91dDtcclxuICB9XHJcblxyXG4gIHNldENsYXNzZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsYXNzZXMgPSB7XHJcbiAgICAgIFtgbGV2ZWwtJHt0aGlzLmxldmVsICsgMX1gXTogdHJ1ZSxcclxuICAgICAgW0NPTlNUQU5ULlNVQk1FTlVfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5oYXNJdGVtcygpICYmIHRoaXMuZ2V0UGFkZGluZ0F0U3RhcnQoKSxcclxuICAgICAgW0NPTlNUQU5ULkhBU19TVUJNRU5VX0lURU1fQ0xBU1NfTkFNRV06IHRoaXMuaGFzSXRlbXMoKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldEV4cGFuZENvbGxhcHNlU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZCh0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cykpIHtcclxuICAgICAgaWYgKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID09PSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0uZXhwYW5kKSB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY3VzdG9tVGVtcGxhdGUpIHtcclxuICAgICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9PT0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLmNvbGxhcHNlKSB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmN1c3RvbVRlbXBsYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLm5vZGUuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cGFuZChub2RlOiBNdWx0aWxldmVsTm9kZSk6IHZvaWQge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuICAgIHRoaXMubm9kZS5leHBhbmRlZCA9ICB0aGlzLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5maXJzdEluaXRpYWxpemVyID0gdHJ1ZTtcclxuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlICE9PSBudWxsXHJcbiAgICAgICYmIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlXHJcbiAgICAgICYmIG5vZGUubGluayAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICYmIG5vZGUubGlua1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtub2RlLmxpbmtdLCBub2RlLm5hdmlnYXRpb25FeHRyYXMpLnRoZW4oKTtcclxuICAgIH0gZWxzZSBpZiAobm9kZS5vblNlbGVjdGVkICYmIHR5cGVvZiBub2RlLm9uU2VsZWN0ZWQgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgbm9kZS5vblNlbGVjdGVkKG5vZGUpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0obm9kZSk7XHJcbiAgICB9IGVsc2UgaWYgKG5vZGUuaXRlbXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmNvbGxhcHNlT25TZWxlY3QpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKG5vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRMaXN0SXRlbShub2RlOiBNdWx0aWxldmVsTm9kZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChub2RlKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhbW1sLW1lbnUtY29udGFpbmVyXCI+XHJcbiAgPCEtLSBCYXNlIFRlbXBsYXRlIHJlbmRlcmluZyBjb25kaXRpb24gc3RhcnRzIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCJub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSAmJiAhbm9kZS5oaWRkZW47ZWxzZSBiYXNlVGVtcGxhdGVcIlxyXG4gICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRMaXN0Q2xhc3Nlc1wiXHJcbiAgICAgICBbbmdTdHlsZV09XCJnZXRMaXN0U3R5bGUoKVwiXHJcbiAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogbm9kZSwgY29uZmlndXJhdGlvbjogbm9kZUNvbmZpZ3VyYXRpb259XCI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBlbmRzIC0tPlxyXG5cclxuICA8IS0tIFJlY3Vyc2l2ZSBUZW1wbGF0ZSBjYWxscyBiZWdpbnMgLS0+XHJcbiAgPGRpdiAqbmdJZj1cImhhc0l0ZW1zKCkgJiYgZXhwYW5kZWRcIiBbQFNsaWRlSW5PdXRdIFtkaXJdPVwiaXNSdGxMYXlvdXQoKSA/ICdydGwnIDogJ2x0cidcIiBbbmdDbGFzc109XCJjbGFzc2VzXCI+XHJcbiAgICA8bmctbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBzaW5nbGVOb2RlIG9mIG5vZGVDaGlsZHJlbiB8IGtleXZhbHVlIDogbXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmt2RHVtbXlDb21wYXJlckZuXCJcclxuICAgICAgICAgICAgICAgICAgW25vZGVDb25maWd1cmF0aW9uXT0nbm9kZUNvbmZpZ3VyYXRpb24nXHJcbiAgICAgICAgICAgICAgICAgIFtub2RlXT1cInNpbmdsZU5vZGUudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgICAgICAgW3N1Ym1lbnVMZXZlbF09XCJzaW5nbGVOb2RlLmtleVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPSdzZWxlY3RlZE5vZGUnXHJcbiAgICAgICAgICAgICAgICAgIFtub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXNdPSdub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMnXHJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pPVwic2VsZWN0ZWRMaXN0SXRlbSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW2xpc3RUZW1wbGF0ZV09XCJsaXN0VGVtcGxhdGVcIj5cclxuICAgIDwvbmctbGlzdC1pdGVtPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBSZWN1cnNpdmUgVGVtcGxhdGUgY2FsbHMgZW5kcyAtLT5cclxuXHJcbjwhLS0gQmFzZSBUZW1wbGF0ZSBzdGFydHMgZnJvbSBoZXJlIC0tPlxyXG48bmctdGVtcGxhdGUgI2Jhc2VUZW1wbGF0ZT5cclxuICA8bWF0LWxpc3QtaXRlbSBtYXRSaXBwbGVcclxuICAgICAgICAgICAgICAgICAqbmdJZj1cIiFub2RlLmhpZGRlblwiXHJcbiAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7e25vZGUubGFiZWx9fVwiXHJcbiAgICAgICAgICAgICAgICAgW21hdFJpcHBsZURpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTGlzdENsYXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldExpc3RTdHlsZSgpXCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gIDxtYXQtZGl2aWRlciAqbmdJZj1cIm5vZGVDb25maWd1cmF0aW9uLnVzZURpdmlkZXJzXCI+PC9tYXQtZGl2aWRlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbGlua1RlbXBsYXRlPlxyXG4gIDxuZy1saXN0LWl0ZW0tY29udGVudCBjbGFzcz1cImZpbGxlZFwiIFtub2RlXT1cIm5vZGVcIiBbaXNSdGxMYXlvdXRdPVwiaXNSdGxMYXlvdXQoKVwiPjwvbmctbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs index a1b9307..d2df08d 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs @@ -4,34 +4,33 @@ import { MatIconModule } from '@angular/material/icon'; import { MatListModule } from '@angular/material/list'; import * as i0 from "@angular/core"; class MaterialsModule { - static ɵfac = function MaterialsModule_Factory(t) { return new (t || MaterialsModule)(); }; - static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MaterialsModule }); - static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatIconModule, + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); + static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, + MatListModule, + MatRippleModule], exports: [MatIconModule, + MatListModule, + MatRippleModule] }); + static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, MatListModule, MatRippleModule, MatIconModule, MatListModule, MatRippleModule] }); } export { MaterialsModule }; -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MaterialsModule, [{ - type: NgModule, - args: [{ - imports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ], - declarations: [], - exports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ] - }] - }], null, null); })(); -(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MaterialsModule, { imports: [MatIconModule, - MatListModule, - MatRippleModule], exports: [MatIconModule, - MatListModule, - MatRippleModule] }); })(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL21hdGVyaWFscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkQsTUFhYSxlQUFlO3lFQUFmLGVBQWU7NERBQWYsZUFBZTtnRUFYeEIsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlLEVBSWYsYUFBYTtZQUNiLGFBQWE7WUFDYixlQUFlOztTQUdOLGVBQWU7dUZBQWYsZUFBZTtjQWIzQixRQUFRO2VBQUM7Z0JBQ1IsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixlQUFlO2lCQUNoQjtnQkFDRCxZQUFZLEVBQUUsRUFBRTtnQkFDaEIsT0FBTyxFQUFFO29CQUNQLGFBQWE7b0JBQ2IsYUFBYTtvQkFDYixlQUFlO2lCQUNoQjthQUNGOzt3RkFDWSxlQUFlLGNBWHhCLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZSxhQUlmLGFBQWE7UUFDYixhQUFhO1FBQ2IsZUFBZSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcblxyXG5pbXBvcnQgeyBNYXRSaXBwbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jb3JlJztcclxuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xyXG5pbXBvcnQgeyBNYXRMaXN0TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvbGlzdCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEljb25Nb2R1bGUsXHJcbiAgICBNYXRMaXN0TW9kdWxlLFxyXG4gICAgTWF0UmlwcGxlTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXSxcclxuICBleHBvcnRzOiBbXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFJpcHBsZU1vZHVsZSxcclxuICBdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNYXRlcmlhbHNNb2R1bGUgeyB9XHJcbiJdfQ== \ No newline at end of file +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, decorators: [{ + type: NgModule, + args: [{ + imports: [ + MatIconModule, + MatListModule, + MatRippleModule, + ], + declarations: [], + exports: [ + MatIconModule, + MatListModule, + MatRippleModule, + ] + }] + }] }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL21hdGVyaWFscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkQsTUFhYSxlQUFlO3VHQUFmLGVBQWU7d0dBQWYsZUFBZSxZQVh4QixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWUsYUFJZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7d0dBR04sZUFBZSxZQVh4QixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWUsRUFJZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7O1NBR04sZUFBZTsyRkFBZixlQUFlO2tCQWIzQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFJpcHBsZU1vZHVsZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRSaXBwbGVNb2R1bGUsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxzTW9kdWxlIHsgfVxyXG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs index 00fbc03..2aa218a 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs @@ -11,28 +11,6 @@ import * as i3 from "@angular/common"; import * as i4 from "@angular/cdk/bidi"; import * as i5 from "@angular/material/list"; import * as i6 from "./list-item/list-item.component"; -const _c0 = ["listTemplate"]; -function NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template(rf, ctx) { if (rf & 1) { - const _r4 = i0.ɵɵgetCurrentView(); - i0.ɵɵelementStart(0, "ng-list-item", 3); - i0.ɵɵlistener("selectedItem", function NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template_ng_list_item_selectedItem_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.selectedListItem($event)); }); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const node_r2 = ctx.$implicit; - const ctx_r1 = i0.ɵɵnextContext(2); - i0.ɵɵproperty("nodeConfiguration", ctx_r1.nodeConfig)("node", node_r2.value)("level", 1)("submenuLevel", node_r2.key)("selectedNode", ctx_r1.currentNode)("nodeExpandCollapseStatus", ctx_r1.nodeExpandCollapseStatus)("listTemplate", ctx_r1.listTemplate); -} } -function NgMaterialMultilevelMenuComponent_div_0_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 1)(1, "mat-list"); - i0.ɵɵtemplate(2, NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template, 1, 7, "ng-list-item", 2); - i0.ɵɵpipe(3, "keyvalue"); - i0.ɵɵelementEnd()(); -} if (rf & 2) { - const ctx_r0 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngClass", ctx_r0.getClassName())("ngStyle", ctx_r0.getGlobalStyle())("dir", ctx_r0.isRtlLayout() ? "rtl" : "ltr"); - i0.ɵɵadvance(2); - i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(3, 4, ctx_r0.items, ctx_r0.multilevelMenuService.kvDummyComparerFn)); -} } class NgMaterialMultilevelMenuComponent { router; multilevelMenuService; @@ -208,34 +186,25 @@ class NgMaterialMultilevelMenuComponent { this.expandCollapseStatusSubscription.unsubscribe(); this.selectMenuByIDSubscription.unsubscribe(); } - static ɵfac = function NgMaterialMultilevelMenuComponent_Factory(t) { return new (t || NgMaterialMultilevelMenuComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(i2.MultilevelMenuService)); }; - static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NgMaterialMultilevelMenuComponent, selectors: [["ng-material-multilevel-menu"]], contentQueries: function NgMaterialMultilevelMenuComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) { - i0.ɵɵcontentQuery(dirIndex, _c0, 7); - } if (rf & 2) { - let _t; - i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listTemplate = _t.first); - } }, inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "ngClass", "ngStyle", "dir", 4, "ngIf"], [3, "ngClass", "ngStyle", "dir"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem", 4, "ngFor", "ngForOf"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem"]], template: function NgMaterialMultilevelMenuComponent_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵtemplate(0, NgMaterialMultilevelMenuComponent_div_0_Template, 4, 7, "div", 0); - } if (rf & 2) { - i0.ɵɵproperty("ngIf", !ctx.isInvalidData && ctx.items.length !== 0); - } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgStyle, i4.Dir, i5.MatList, i6.ListItemComponent, i3.KeyValuePipe], styles: [".amml-container[_ngcontent-%COMP%] .mat-mdc-list.mat-mdc-list-base.mdc-list[_ngcontent-%COMP%]{padding:unset}.amml-item[_ngcontent-%COMP%]{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data[_ngcontent-%COMP%]{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa[_ngcontent-%COMP%]{font-size:20px}.amml-icon[_ngcontent-%COMP%]{line-height:48px}.active[_ngcontent-%COMP%]{color:#1976d2}div[dir=ltr][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-right:15px}div[dir=ltr][_ngcontent-%COMP%] .amml-submenu[_ngcontent-%COMP%]{margin-left:16px}div[dir=rtl][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-left:15px}div[dir=rtl][_ngcontent-%COMP%] .amml-submenu[_ngcontent-%COMP%]{margin-right:16px}"] }); + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, deps: [{ token: i1.Router }, { token: i2.MultilevelMenuService }], target: i0.ɵɵFactoryTarget.Component }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NgMaterialMultilevelMenuComponent, selector: "ng-material-multilevel-menu", inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, queries: [{ propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i6.ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }] }); } export { NgMaterialMultilevelMenuComponent }; -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgMaterialMultilevelMenuComponent, [{ - type: Component, - args: [{ selector: 'ng-material-multilevel-menu', template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] - }], function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, { items: [{ - type: Input - }], configuration: [{ - type: Input - }], selectedItem: [{ - type: Output - }], selectedLabel: [{ - type: Output - }], menuIsReady: [{ - type: Output - }], listTemplate: [{ - type: ContentChild, - args: ['listTemplate', { static: true }] - }] }); })(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBa0Qsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7Ozs7O0lDSnZDLHVDQVVDO0lBRkMsd05BQWdCLGVBQUEsK0JBQXdCLENBQUEsSUFBQztJQUczQyxpQkFBZTs7OztJQVRiLHFEQUFnQyx1QkFBQSxZQUFBLDZCQUFBLG9DQUFBLDZEQUFBLHFDQUFBOzs7SUFKdEMsOEJBQWdKLGVBQUE7SUFFNUksMEdBV2U7O0lBQ2pCLGlCQUFXLEVBQUE7OztJQWRSLCtDQUEwQixvQ0FBQSw2Q0FBQTtJQUdSLGVBQTREO0lBQTVELDRHQUE0RDs7QURLbkYsTUFLYSxpQ0FBaUM7SUE0QnhCO0lBQ0Q7SUE1QlYsS0FBSyxDQUFtQjtJ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QUMsQ0FBQyxLQUFLLENBQUMsVUFBVSxJQUFJLE9BQU8sS0FBSyxDQUFDLFVBQVUsS0FBSyxVQUFVLENBQUMsRUFBRztZQUMvRixJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQztTQUMvQjthQUFNO1lBQ0wsSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDaEM7SUFDSCxDQUFDO0lBQ0QsV0FBVztRQUNULElBQUksQ0FBQyxnQ0FBZ0MsQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUNwRCxJQUFJLENBQUMsMEJBQTBCLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDaEQsQ0FBQzsyRkE1S1UsaUNBQWlDOzZEQUFqQyxpQ0FBaUM7Ozs7OztZQ2I5QyxrRkFlTTs7WUFmd0QsbUVBQTBDOzs7U0RhM0YsaUNBQWlDO3VGQUFqQyxpQ0FBaUM7Y0FMN0MsU0FBUzsyQkFDRSw2QkFBNkI7NkZBSzlCLEtBQUs7a0JBQWIsS0FBSztZQUNHLGFBQWE7a0JBQXJCLEtBQUs7WUFDSSxZQUFZO2tCQUFyQixNQUFNO1lBQ0csYUFBYTtrQkFBdEIsTUFBTTtZQUNHLFdBQVc7a0JBQXBCLE1BQU07WUFDdUMsWUFBWTtrQkFBekQsWUFBWTttQkFBQyxjQUFjLEVBQUUsRUFBQyxNQUFNLEVBQUUsSUFBSSxFQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkNoYW5nZXMsIE9uSW5pdCwgT25EZXN0cm95LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgSW5wdXQsIENvbnRlbnRDaGlsZCwgVGVtcGxhdGVSZWYsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3Vic2NyaXB0aW9uIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IEJhY2tncm91bmRTdHlsZSwgQ29uZmlndXJhdGlvbiwgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XHJcbmltcG9ydCB7IE11bHRpbGV2ZWxNZW51U2VydmljZSB9IGZyb20gJy4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQge0NvbW1vblV0aWxzfSBmcm9tICcuL2NvbW1vbi11dGlscyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudScsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5jc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5nTWF0ZXJpYWxNdWx0aWxldmVsTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCwgT25DaGFuZ2VzLCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGl0ZW1zOiBNdWx0aWxldmVsTm9kZVtdO1xyXG4gIEBJbnB1dCgpIGNvbmZpZ3VyYXRpb246IENvbmZpZ3VyYXRpb24gPSBudWxsO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2RlPigpO1xyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZExhYmVsID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgbWVudUlzUmVhZHkgPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2RlW10+KCk7XHJcbiAgQENvbnRlbnRDaGlsZCgnbGlzdFRlbXBsYXRlJywge3N0YXRpYzogdHJ1ZX0pIGxpc3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XHJcblxyXG4gIGV4cGFuZENvbGxhcHNlU3RhdHVzU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gIHNlbGVjdE1lbnVCeUlEU3Vic2NyaXB0aW9uOiBTdWJzY3JpcHRpb24gPSBudWxsO1xyXG4gIGN1cnJlbnROb2RlOiBNdWx0aWxldmVsTm9kZSA9IG51bGw7XHJcblxyXG4gIG5vZGVDb25maWc6IENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICBwYWRkaW5nQXRTdGFydDogdHJ1ZSxcclxuICAgIGxpc3RCYWNrZ3JvdW5kQ29sb3I6IG51bGwsXHJcbiAgICBmb250Q29sb3I6IG51bGwsXHJcbiAgICBzZWxlY3RlZExpc3RGb250Q29sb3I6IG51bGwsXHJcbiAgICBpbnRlcmZhY2VXaXRoUm91dGU6IG51bGwsXHJcbiAgICBjb2xsYXBzZU9uU2VsZWN0OiBudWxsLFxyXG4gICAgaGlnaGxpZ2h0T25TZWxlY3Q6IGZhbHNlLFxyXG4gICAgdXNlRGl2aWRlcnM6IHRydWUsXHJcbiAgICBydGxMYXlvdXQ6IGZhbHNlLFxyXG4gICAgY3VzdG9tVGVtcGxhdGU6IGZhbHNlXHJcbiAgfTtcclxuICBpc0ludmFsaWRDb25maWcgPSB0cnVlO1xyXG4gIGlzSW52YWxpZERhdGEgPSB0cnVlO1xyXG4gIG5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1czogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtID0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICAgICAgICAgICAgcHVibGljIG11bHRpbGV2ZWxNZW51U2VydmljZTogTXVsdGlsZXZlbE1lbnVTZXJ2aWNlKSB7XHJcbiAgICAvLyBOT09QXHJcbiAgfVxyXG4gIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgdGhpcy5kZXRlY3RJbnZhbGlkQ29uZmlnKCk7XHJcbiAgICB0aGlzLmluaXRFeHBhbmRDb2xsYXBzZVN0YXR1cygpO1xyXG4gICAgdGhpcy5pbml0U2VsZWN0ZWRNZW51SUQoKTtcclxuICAgIGlmICghdGhpcy5pc0ludmFsaWREYXRhKSB7XHJcbiAgICAgIHRoaXMubWVudUlzUmVhZHkuZW1pdCh0aGlzLml0ZW1zKTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0aGlzLmNvbmZpZ3VyYXRpb24pICYmXHJcbiAgICAgIHRoaXMuY29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUgIT09IG51bGwgJiYgdGhpcy5jb25maWd1cmF0aW9uLmludGVyZmFjZVdpdGhSb3V0ZSkge1xyXG4gICAgICB0aGlzLnJvdXRlci5ldmVudHNcclxuICAgICAgICAuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCkge1xyXG4gICAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTChldmVudC51cmxBZnRlclJlZGlyZWN0cyk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIHRoaXMudXBkYXRlTm9kZUJ5VVJMKHRoaXMucm91dGVyLnVybCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIHVwZGF0ZU5vZGVCeVVSTCh1cmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZm91bmROb2RlID0gdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuZ2V0TWF0Y2hlZE9iamVjdEJ5VXJsKHRoaXMuaXRlbXMsIHVybCk7XHJcbiAgICBpZiAoZm91bmROb2RlICE9PSB1bmRlZmluZWQgJiYgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3VuZE5vZGUubGluaylcclxuICAgICAgLy8gJiYgIWZvdW5kTm9kZS5kaXNhYmxlZCAvLyBQcmV2ZW50IHJvdXRlIHJlZGlyZWN0aW9uIGZvciBkaXNhYmxlZCBtZW51XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jdXJyZW50Tm9kZSA9IGZvdW5kTm9kZTtcclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChmb3VuZE5vZGUuZG9udEVtaXQpICYmICFmb3VuZE5vZGUuZG9udEVtaXQpIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0oZm91bmROb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjaGVja1ZhbGlkRGF0YSgpOiB2b2lkIHtcclxuICAgIGlmICh0aGlzLml0ZW1zID09PSB1bmRlZmluZWQgfHwgKEFycmF5LmlzQXJyYXkodGhpcy5pdGVtcykgJiYgdGhpcy5pdGVtcy5sZW5ndGggPT09IDApKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihDT05TVEFOVC5FUlJPUl9NRVNTQUdFKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKG4gPT4gIW4uaGlkZGVuKTtcclxuICAgIHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmFkZFJhbmRvbUlkKHRoaXMuaXRlbXMpO1xyXG4gICAgdGhpcy5pc0ludmFsaWREYXRhID0gZmFsc2U7XHJcbiAgfVxyXG4gIGRldGVjdEludmFsaWRDb25maWcoKTogdm9pZCB7XHJcbiAgICBpZiAoQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KHRoaXMuY29uZmlndXJhdGlvbikpIHtcclxuICAgICAgdGhpcy5pc0ludmFsaWRDb25maWcgPSB0cnVlO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5pc0ludmFsaWRDb25maWcgPSBmYWxzZTtcclxuICAgICAgY29uc3QgY29uZmlnID0gdGhpcy5jb25maWd1cmF0aW9uO1xyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5wYWRkaW5nQXRTdGFydCkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLnBhZGRpbmdBdFN0YXJ0ID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcucGFkZGluZ0F0U3RhcnQgPSBjb25maWcucGFkZGluZ0F0U3RhcnQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoY29uZmlnLmxpc3RCYWNrZ3JvdW5kQ29sb3IpKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmxpc3RCYWNrZ3JvdW5kQ29sb3IgPSBjb25maWcubGlzdEJhY2tncm91bmRDb2xvcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShjb25maWcuZm9udENvbG9yKSkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5mb250Q29sb3IgPSBjb25maWcuZm9udENvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGNvbmZpZy5zZWxlY3RlZExpc3RGb250Q29sb3IpKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvciA9IGNvbmZpZy5zZWxlY3RlZExpc3RGb250Q29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlKSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlID0gY29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZTtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0KSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcuY29sbGFwc2VPblNlbGVjdCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmNvbGxhcHNlT25TZWxlY3QgPSBjb25maWcuY29sbGFwc2VPblNlbGVjdDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5oaWdobGlnaHRPblNlbGVjdCkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0ID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuaGlnaGxpZ2h0T25TZWxlY3QgPSBjb25maWcuaGlnaGxpZ2h0T25TZWxlY3Q7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcudXNlRGl2aWRlcnMpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy51c2VEaXZpZGVycyA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnVzZURpdmlkZXJzID0gY29uZmlnLnVzZURpdmlkZXJzO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLnJ0bExheW91dCkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLnJ0bExheW91dCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnJ0bExheW91dCA9IGNvbmZpZy5ydGxMYXlvdXQ7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcuY3VzdG9tVGVtcGxhdGUpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5jdXN0b21UZW1wbGF0ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmN1c3RvbVRlbXBsYXRlID0gY29uZmlnLmN1c3RvbVRlbXBsYXRlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLmNoZWNrVmFsaWREYXRhKCk7XHJcbiAgfVxyXG4gIGluaXRFeHBhbmRDb2xsYXBzZVN0YXR1cygpOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VTdGF0dXNTdWJzY3JpcHRpb24gPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5leHBhbmRDb2xsYXBzZVN0YXR1cyRcclxuICAgICAgLnN1YnNjcmliZSggKGV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0pID0+IHtcclxuICAgICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBleHBhbmRDb2xsYXBzZVN0YXR1cyA/IGV4cGFuZENvbGxhcHNlU3RhdHVzIDogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICB9LCAoKSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgaW5pdFNlbGVjdGVkTWVudUlEKCk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RNZW51QnlJRFN1YnNjcmlwdGlvbiA9IHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLnNlbGVjdGVkTWVudUlEJC5zdWJzY3JpYmUoIChzZWxlY3RlZE1lbnVJRDogc3RyaW5nKSA9PiB7XHJcbiAgICAgIGlmIChzZWxlY3RlZE1lbnVJRCkge1xyXG4gICAgICAgIGNvbnN0IGZvdW5kTm9kZSA9IHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmdldE1hdGNoZWRPYmplY3RCeUlkKHRoaXMuaXRlbXMsIHNlbGVjdGVkTWVudUlEKTtcclxuICAgICAgICBpZiAoZm91bmROb2RlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBmb3VuZE5vZGU7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0oZm91bmROb2RlKTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICBnZXRDbGFzc05hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmICghdGhpcy5pc0ludmFsaWRDb25maWcgJiYgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0aGlzLmNvbmZpZ3VyYXRpb24uY2xhc3NuYW1lKSkge1xyXG4gICAgICByZXR1cm4gYCR7Q09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FfSAke3RoaXMuY29uZmlndXJhdGlvbi5jbGFzc25hbWV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBDT05TVEFOVC5ERUZBVUxUX0NMQVNTX05BTUU7XHJcbiAgfVxyXG4gIGdldEdsb2JhbFN0eWxlKCk6IEJhY2tncm91bmRTdHlsZSB7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkQ29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IHN0eWxlcyA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kIDogbnVsbFxyXG4gICAgICB9O1xyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0aGlzLmNvbmZpZ3VyYXRpb24uYmFja2dyb3VuZENvbG9yKSkge1xyXG4gICAgICAgIHN0eWxlcy5iYWNrZ3JvdW5kID0gdGhpcy5jb25maWd1cmF0aW9uLmJhY2tncm91bmRDb2xvcjtcclxuICAgICAgfVxyXG4gICAgICByZXR1cm4gc3R5bGVzO1xyXG4gICAgfVxyXG4gIH1cclxuICBpc1J0bExheW91dCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGVDb25maWcucnRsTGF5b3V0O1xyXG4gIH1cclxuICBzZWxlY3RlZExpc3RJdGVtKGV2ZW50OiBNdWx0aWxldmVsTm9kZSk6IHZvaWQge1xyXG4gICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuICAgIHRoaXMuY3VycmVudE5vZGUgPSBldmVudDtcclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoZXZlbnQuZG9udEVtaXQpICYmIGV2ZW50LmRvbnRFbWl0KSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIGlmIChldmVudC5pdGVtcyA9PT0gdW5kZWZpbmVkICYmICghZXZlbnQub25TZWxlY3RlZCB8fCB0eXBlb2YgZXZlbnQub25TZWxlY3RlZCAhPT0gJ2Z1bmN0aW9uJykgKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmVtaXQoZXZlbnQpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExhYmVsLmVtaXQoZXZlbnQpO1xyXG4gICAgfVxyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpIHtcclxuICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VTdGF0dXNTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICAgIHRoaXMuc2VsZWN0TWVudUJ5SURTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBbbmdDbGFzc109XCJnZXRDbGFzc05hbWUoKVwiIFtuZ1N0eWxlXT1cImdldEdsb2JhbFN0eWxlKClcIiAqbmdJZj0nIWlzSW52YWxpZERhdGEgJiYgaXRlbXMubGVuZ3RoICE9PSAwJyBbZGlyXT1cImlzUnRsTGF5b3V0KCkgPyAncnRsJyA6ICdsdHInXCI+XHJcbiAgPG1hdC1saXN0PlxyXG4gICAgPG5nLWxpc3QtaXRlbVxyXG4gICAgICAqbmdGb3I9XCJsZXQgbm9kZSBvZiBpdGVtcyB8IGtleXZhbHVlOiBtdWx0aWxldmVsTWVudVNlcnZpY2Uua3ZEdW1teUNvbXBhcmVyRm5cIlxyXG4gICAgICBbbm9kZUNvbmZpZ3VyYXRpb25dPSdub2RlQ29uZmlnJ1xyXG4gICAgICBbbm9kZV09J25vZGUudmFsdWUnXHJcbiAgICAgIFtsZXZlbF09XCIxXCJcclxuICAgICAgW3N1Ym1lbnVMZXZlbF09XCJub2RlLmtleVwiXHJcbiAgICAgIFtzZWxlY3RlZE5vZGVdPSdjdXJyZW50Tm9kZSdcclxuICAgICAgW25vZGVFeHBhbmRDb2xsYXBzZVN0YXR1c109J25vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cydcclxuICAgICAgKHNlbGVjdGVkSXRlbSk9XCJzZWxlY3RlZExpc3RJdGVtKCRldmVudClcIlxyXG4gICAgICBbbGlzdFRlbXBsYXRlXSA9IFwibGlzdFRlbXBsYXRlXCJcclxuICAgID5cclxuICAgIDwvbmctbGlzdC1pdGVtPlxyXG4gIDwvbWF0LWxpc3Q+XHJcbjwvZGl2PlxyXG4iXX0= \ No newline at end of file +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, decorators: [{ + type: Component, + args: [{ selector: 'ng-material-multilevel-menu', template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] + }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, propDecorators: { items: [{ + type: Input + }], configuration: [{ + type: Input + }], selectedItem: [{ + type: Output + }], selectedLabel: [{ + type: Output + }], menuIsReady: [{ + type: Output + }], listTemplate: [{ + type: ContentChild, + args: ['listTemplate', { static: true }] + }] } }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBa0Qsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBRTNDLE1BS2EsaUNBQWlDO0lBNEJ4QjtJQUNEO0lBNUJWLEtBQUssQ0FBbUI7SUFDeEIsYUFBYSxHQUFrQixJQUFJLENBQUM7SUFDbkMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBQ2xELGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUNuRCxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7SUFDZixZQUFZLENBQTBCO0lBRXBGLGdDQUFnQyxHQUFpQixJQUFJLENBQUM7SUFDdEQsMEJBQTBCLEdBQWlCLElBQUksQ0FBQztJ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QUFJLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7dUdBNUtVLGlDQUFpQzsyRkFBakMsaUNBQWlDLG1YQ2I5Qyw4cEJBZ0JBOztTREhhLGlDQUFpQzsyRkFBakMsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLDZCQUE2QjtpSUFLOUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ3VDLFlBQVk7c0JBQXpELFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kU3R5bGUsIENvbmZpZ3VyYXRpb24sIE11bHRpbGV2ZWxOb2RlLCBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0gfSBmcm9tICcuL2FwcC5tb2RlbCc7XHJcbmltcG9ydCB7IENPTlNUQU5UIH0gZnJvbSAnLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTWVudVNlcnZpY2UgfSBmcm9tICcuL211bHRpbGV2ZWwtbWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb21tb25VdGlsc30gZnJvbSAnLi9jb21tb24tdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBpdGVtczogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBASW5wdXQoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uID0gbnVsbDtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRMYWJlbCA9IG5ldyBFdmVudEVtaXR0ZXI8TXVsdGlsZXZlbE5vZGU+KCk7XHJcbiAgQE91dHB1dCgpIG1lbnVJc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZVtdPigpO1xyXG4gIEBDb250ZW50Q2hpbGQoJ2xpc3RUZW1wbGF0ZScsIHtzdGF0aWM6IHRydWV9KSBsaXN0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xyXG5cclxuICBleHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBzZWxlY3RNZW51QnlJRFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBjdXJyZW50Tm9kZTogTXVsdGlsZXZlbE5vZGUgPSBudWxsO1xyXG5cclxuICBub2RlQ29uZmlnOiBDb25maWd1cmF0aW9uID0ge1xyXG4gICAgcGFkZGluZ0F0U3RhcnQ6IHRydWUsXHJcbiAgICBsaXN0QmFja2dyb3VuZENvbG9yOiBudWxsLFxyXG4gICAgZm9udENvbG9yOiBudWxsLFxyXG4gICAgc2VsZWN0ZWRMaXN0Rm9udENvbG9yOiBudWxsLFxyXG4gICAgaW50ZXJmYWNlV2l0aFJvdXRlOiBudWxsLFxyXG4gICAgY29sbGFwc2VPblNlbGVjdDogbnVsbCxcclxuICAgIGhpZ2hsaWdodE9uU2VsZWN0OiBmYWxzZSxcclxuICAgIHVzZURpdmlkZXJzOiB0cnVlLFxyXG4gICAgcnRsTGF5b3V0OiBmYWxzZSxcclxuICAgIGN1c3RvbVRlbXBsYXRlOiBmYWxzZVxyXG4gIH07XHJcbiAgaXNJbnZhbGlkQ29uZmlnID0gdHJ1ZTtcclxuICBpc0ludmFsaWREYXRhID0gdHJ1ZTtcclxuICBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZSkge1xyXG4gICAgLy8gTk9PUFxyXG4gIH1cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuZGV0ZWN0SW52YWxpZENvbmZpZygpO1xyXG4gICAgdGhpcy5pbml0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTtcclxuICAgIHRoaXMuaW5pdFNlbGVjdGVkTWVudUlEKCk7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkRGF0YSkge1xyXG4gICAgICB0aGlzLm1lbnVJc1JlYWR5LmVtaXQodGhpcy5pdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uKSAmJlxyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlICE9PSBudWxsICYmIHRoaXMuY29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVOb2RlQnlVUkwoZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTCh0aGlzLnJvdXRlci51cmwpO1xyXG4gICAgfVxyXG4gIH1cclxuICB1cGRhdGVOb2RlQnlVUkwodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvdW5kTm9kZSA9IHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmdldE1hdGNoZWRPYmplY3RCeVVybCh0aGlzLml0ZW1zLCB1cmwpO1xyXG4gICAgaWYgKGZvdW5kTm9kZSAhPT0gdW5kZWZpbmVkICYmICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoZm91bmROb2RlLmxpbmspXHJcbiAgICAgIC8vICYmICFmb3VuZE5vZGUuZGlzYWJsZWQgLy8gUHJldmVudCByb3V0ZSByZWRpcmVjdGlvbiBmb3IgZGlzYWJsZWQgbWVudVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBmb3VuZE5vZGU7XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoZm91bmROb2RlLmRvbnRFbWl0KSAmJiAhZm91bmROb2RlLmRvbnRFbWl0KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKGZvdW5kTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY2hlY2tWYWxpZERhdGEoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8IChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpICYmIHRoaXMuaXRlbXMubGVuZ3RoID09PSAwKSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oQ09OU1RBTlQuRVJST1JfTUVTU0FHRSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihuID0+ICFuLmhpZGRlbik7XHJcbiAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5hZGRSYW5kb21JZCh0aGlzLml0ZW1zKTtcclxuICAgIHRoaXMuaXNJbnZhbGlkRGF0YSA9IGZhbHNlO1xyXG4gIH1cclxuICBkZXRlY3RJbnZhbGlkQ29uZmlnKCk6IHZvaWQge1xyXG4gICAgaWYgKENvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0aGlzLmNvbmZpZ3VyYXRpb24pKSB7XHJcbiAgICAgIHRoaXMuaXNJbnZhbGlkQ29uZmlnID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNJbnZhbGlkQ29uZmlnID0gZmFsc2U7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcucGFkZGluZ0F0U3RhcnQpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5wYWRkaW5nQXRTdGFydCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnBhZGRpbmdBdFN0YXJ0ID0gY29uZmlnLnBhZGRpbmdBdFN0YXJ0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGNvbmZpZy5saXN0QmFja2dyb3VuZENvbG9yKSkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5saXN0QmFja2dyb3VuZENvbG9yID0gY29uZmlnLmxpc3RCYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoY29uZmlnLmZvbnRDb2xvcikpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuZm9udENvbG9yID0gY29uZmlnLmZvbnRDb2xvcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShjb25maWcuc2VsZWN0ZWRMaXN0Rm9udENvbG9yKSkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5zZWxlY3RlZExpc3RGb250Q29sb3IgPSBjb25maWcuc2VsZWN0ZWRMaXN0Rm9udENvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZSkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZSA9IGNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcuY29sbGFwc2VPblNlbGVjdCkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLmNvbGxhcHNlT25TZWxlY3QgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0ID0gY29uZmlnLmNvbGxhcHNlT25TZWxlY3Q7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcuaGlnaGxpZ2h0T25TZWxlY3QpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5oaWdobGlnaHRPblNlbGVjdCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0ID0gY29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLnVzZURpdmlkZXJzKSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcudXNlRGl2aWRlcnMgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy51c2VEaXZpZGVycyA9IGNvbmZpZy51c2VEaXZpZGVycztcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5ydGxMYXlvdXQpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5ydGxMYXlvdXQgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5ydGxMYXlvdXQgPSBjb25maWcucnRsTGF5b3V0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLmN1c3RvbVRlbXBsYXRlKSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcuY3VzdG9tVGVtcGxhdGUgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5jdXN0b21UZW1wbGF0ZSA9IGNvbmZpZy5jdXN0b21UZW1wbGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jaGVja1ZhbGlkRGF0YSgpO1xyXG4gIH1cclxuICBpbml0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4cGFuZENvbGxhcHNlU3RhdHVzU3Vic2NyaXB0aW9uID0gdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuZXhwYW5kQ29sbGFwc2VTdGF0dXMkXHJcbiAgICAgIC5zdWJzY3JpYmUoIChleHBhbmRDb2xsYXBzZVN0YXR1czogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtKSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gZXhwYW5kQ29sbGFwc2VTdGF0dXMgPyBleHBhbmRDb2xsYXBzZVN0YXR1cyA6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGluaXRTZWxlY3RlZE1lbnVJRCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0TWVudUJ5SURTdWJzY3JpcHRpb24gPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5zZWxlY3RlZE1lbnVJRCQuc3Vic2NyaWJlKCAoc2VsZWN0ZWRNZW51SUQ6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRNZW51SUQpIHtcclxuICAgICAgICBjb25zdCBmb3VuZE5vZGUgPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5nZXRNYXRjaGVkT2JqZWN0QnlJZCh0aGlzLml0ZW1zLCBzZWxlY3RlZE1lbnVJRCk7XHJcbiAgICAgICAgaWYgKGZvdW5kTm9kZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gZm91bmROb2RlO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKGZvdW5kTm9kZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0Q2xhc3NOYW1lKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkQ29uZmlnICYmICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uLmNsYXNzbmFtZSkpIHtcclxuICAgICAgcmV0dXJuIGAke0NPTlNUQU5ULkRFRkFVTFRfQ0xBU1NfTkFNRX0gJHt0aGlzLmNvbmZpZ3VyYXRpb24uY2xhc3NuYW1lfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gQ09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FO1xyXG4gIH1cclxuICBnZXRHbG9iYWxTdHlsZSgpOiBCYWNrZ3JvdW5kU3R5bGUge1xyXG4gICAgaWYgKCF0aGlzLmlzSW52YWxpZENvbmZpZykge1xyXG4gICAgICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICAgICAgYmFja2dyb3VuZCA6IG51bGxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uLmJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICBzdHlsZXMuYmFja2dyb3VuZCA9IHRoaXMuY29uZmlndXJhdGlvbi5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgIH1cclxuICB9XHJcbiAgaXNSdGxMYXlvdXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlnLnJ0bExheW91dDtcclxuICB9XHJcbiAgc2VsZWN0ZWRMaXN0SXRlbShldmVudDogTXVsdGlsZXZlbE5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gZXZlbnQ7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGV2ZW50LmRvbnRFbWl0KSAmJiBldmVudC5kb250RW1pdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuaXRlbXMgPT09IHVuZGVmaW5lZCAmJiAoIWV2ZW50Lm9uU2VsZWN0ZWQgfHwgdHlwZW9mIGV2ZW50Lm9uU2VsZWN0ZWQgIT09ICdmdW5jdGlvbicpICkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbS5lbWl0KGV2ZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMYWJlbC5lbWl0KGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmV4cGFuZENvbGxhcHNlU3RhdHVzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnNlbGVjdE1lbnVCeUlEU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwiZ2V0Q2xhc3NOYW1lKClcIiBbbmdTdHlsZV09XCJnZXRHbG9iYWxTdHlsZSgpXCIgKm5nSWY9JyFpc0ludmFsaWREYXRhICYmIGl0ZW1zLmxlbmd0aCAhPT0gMCcgW2Rpcl09XCJpc1J0bExheW91dCgpID8gJ3J0bCcgOiAnbHRyJ1wiPlxyXG4gIDxtYXQtbGlzdD5cclxuICAgIDxuZy1saXN0LWl0ZW1cclxuICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2YgaXRlbXMgfCBrZXl2YWx1ZTogbXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmt2RHVtbXlDb21wYXJlckZuXCJcclxuICAgICAgW25vZGVDb25maWd1cmF0aW9uXT0nbm9kZUNvbmZpZydcclxuICAgICAgW25vZGVdPSdub2RlLnZhbHVlJ1xyXG4gICAgICBbbGV2ZWxdPVwiMVwiXHJcbiAgICAgIFtzdWJtZW51TGV2ZWxdPVwibm9kZS5rZXlcIlxyXG4gICAgICBbc2VsZWN0ZWROb2RlXT0nY3VycmVudE5vZGUnXHJcbiAgICAgIFtub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXNdPSdub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMnXHJcbiAgICAgIChzZWxlY3RlZEl0ZW0pPVwic2VsZWN0ZWRMaXN0SXRlbSgkZXZlbnQpXCJcclxuICAgICAgW2xpc3RUZW1wbGF0ZV0gPSBcImxpc3RUZW1wbGF0ZVwiXHJcbiAgICA+XHJcbiAgICA8L25nLWxpc3QtaXRlbT5cclxuICA8L21hdC1saXN0PlxyXG48L2Rpdj5cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs index aaa2046..e83bd9c 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs @@ -7,32 +7,31 @@ import { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu import { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component'; import * as i0 from "@angular/core"; class NgMaterialMultilevelMenuModule { - static ɵfac = function NgMaterialMultilevelMenuModule_Factory(t) { return new (t || NgMaterialMultilevelMenuModule)(); }; - static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgMaterialMultilevelMenuModule }); - static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); + static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, declarations: [NgMaterialMultilevelMenuComponent, + ListItemComponent, + ListItemContentComponent], imports: [CommonModule, + MaterialsModule, + RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); + static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, imports: [CommonModule, MaterialsModule, RouterModule] }); } export { NgMaterialMultilevelMenuModule }; -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgMaterialMultilevelMenuModule, [{ - type: NgModule, - args: [{ - imports: [ - CommonModule, - MaterialsModule, - RouterModule, - ], - declarations: [ - NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent, - ], - exports: [NgMaterialMultilevelMenuComponent] - }] - }], null, null); })(); -(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgMaterialMultilevelMenuModule, { declarations: [NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent], imports: [CommonModule, - MaterialsModule, - RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); })(); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckcsTUFhYSw4QkFBOEI7d0ZBQTlCLDhCQUE4Qjs0REFBOUIsOEJBQThCO2dFQVh2QyxZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVk7O1NBU0gsOEJBQThCO3VGQUE5Qiw4QkFBOEI7Y0FiMUMsUUFBUTtlQUFDO2dCQUNSLE9BQU8sRUFBRTtvQkFDUCxZQUFZO29CQUNaLGVBQWU7b0JBQ2YsWUFBWTtpQkFDYjtnQkFDRCxZQUFZLEVBQUU7b0JBQ1osaUNBQWlDO29CQUNqQyxpQkFBaUI7b0JBQ2pCLHdCQUF3QjtpQkFDekI7Z0JBQ0QsT0FBTyxFQUFFLENBQUMsaUNBQWlDLENBQUM7YUFDN0M7O3dGQUNZLDhCQUE4QixtQkFOdkMsaUNBQWlDO1FBQ2pDLGlCQUFpQjtRQUNqQix3QkFBd0IsYUFQeEIsWUFBWTtRQUNaLGVBQWU7UUFDZixZQUFZLGFBT0osaUNBQWlDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcclxuaW1wb3J0IHsgTmdNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IExpc3RJdGVtQ29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IE1hdGVyaWFsc01vZHVsZSB9IGZyb20gJy4vbWF0ZXJpYWxzLm1vZHVsZSc7XHJcbmltcG9ydCB7IE5nTWF0ZXJpYWxNdWx0aWxldmVsTWVudUNvbXBvbmVudCB9IGZyb20gJy4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudCc7XHJcbmltcG9ydCB7IExpc3RJdGVtQ29udGVudENvbXBvbmVudCB9IGZyb20gJy4vbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudCc7XHJcblxyXG5ATmdNb2R1bGUoe1xyXG4gIGltcG9ydHM6IFtcclxuICAgIENvbW1vbk1vZHVsZSxcclxuICAgIE1hdGVyaWFsc01vZHVsZSxcclxuICAgIFJvdXRlck1vZHVsZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW1xyXG4gICAgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50LFxyXG4gICAgTGlzdEl0ZW1Db21wb25lbnQsXHJcbiAgICBMaXN0SXRlbUNvbnRlbnRDb21wb25lbnQsXHJcbiAgXSxcclxuICBleHBvcnRzOiBbTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51TW9kdWxlIHt9XHJcbiJdfQ== \ No newline at end of file +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, decorators: [{ + type: NgModule, + args: [{ + imports: [ + CommonModule, + MaterialsModule, + RouterModule, + ], + declarations: [ + NgMaterialMultilevelMenuComponent, + ListItemComponent, + ListItemContentComponent, + ], + exports: [NgMaterialMultilevelMenuComponent] + }] + }] }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckcsTUFhYSw4QkFBOEI7dUdBQTlCLDhCQUE4Qjt3R0FBOUIsOEJBQThCLGlCQU52QyxpQ0FBaUM7WUFDakMsaUJBQWlCO1lBQ2pCLHdCQUF3QixhQVB4QixZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVksYUFPSixpQ0FBaUM7d0dBRWhDLDhCQUE4QixZQVh2QyxZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVk7O1NBU0gsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBYjFDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFDWixpQ0FBaUM7d0JBQ2pDLGlCQUFpQjt3QkFDakIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztpQkFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0ZXJpYWxzTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbHMubW9kdWxlJztcclxuaW1wb3J0IHsgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlzdEl0ZW1Db250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLWNvbnRlbnQvbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0ZXJpYWxzTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVDb21wb25lbnQsXHJcbiAgICBMaXN0SXRlbUNvbXBvbmVudCxcclxuICAgIExpc3RJdGVtQ29udGVudENvbXBvbmVudCxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVNb2R1bGUge31cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/ng-material-multilevel-menu.mjs b/dist/ng-material-multilevel-menu/esm2022/ng-material-multilevel-menu.mjs deleted file mode 100644 index 3bfbe4c..0000000 --- a/dist/ng-material-multilevel-menu/esm2022/ng-material-multilevel-menu.mjs +++ /dev/null @@ -1,5 +0,0 @@ -/** - * Generated bundle index. Do not edit. - */ -export * from './public_api'; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFFSCxjQUFjLGNBQWMsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogR2VuZXJhdGVkIGJ1bmRsZSBpbmRleC4gRG8gbm90IGVkaXQuXG4gKi9cblxuZXhwb3J0ICogZnJvbSAnLi9wdWJsaWNfYXBpJztcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs new file mode 100644 index 0000000..0b37251 --- /dev/null +++ b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs @@ -0,0 +1,650 @@ +import * as i3 from '@angular/common'; +import { CommonModule } from '@angular/common'; +import * as i0 from '@angular/core'; +import { Component, Input, EventEmitter, Output, NgModule, ContentChild } from '@angular/core'; +import * as i1 from '@angular/router'; +import { NavigationEnd, RouterModule } from '@angular/router'; +import { Subject } from 'rxjs'; +import { trigger, state, style, transition, group, animate } from '@angular/animations'; +import * as i4 from '@angular/cdk/bidi'; +import * as i5 from '@angular/material/list'; +import { MatListModule } from '@angular/material/list'; +import * as i6 from '@angular/material/divider'; +import * as i7 from '@angular/material/core'; +import { MatRippleModule } from '@angular/material/core'; +import * as i2 from '@angular/material/icon'; +import { MatIconModule } from '@angular/material/icon'; + +var ExpandCollapseStatusEnum; +(function (ExpandCollapseStatusEnum) { + ExpandCollapseStatusEnum["expand"] = "expand"; + ExpandCollapseStatusEnum["collapse"] = "collapse"; + ExpandCollapseStatusEnum["neutral"] = "neutral"; +})(ExpandCollapseStatusEnum || (ExpandCollapseStatusEnum = {})); + +const CONSTANT = { + PADDING_AT_START: true, + DEFAULT_CLASS_NAME: `amml-container`, + DEFAULT_LIST_CLASS_NAME: `amml-item`, + SELECTED_LIST_CLASS_NAME: `selected-amml-item`, + ACTIVE_ITEM_CLASS_NAME: `active-amml-item`, + DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`, + SUBMENU_ITEM_CLASS_NAME: `amml-submenu`, + HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`, + DEFAULT_SELECTED_FONT_COLOR: `#1976d2`, + DEFAULT_LIST_BACKGROUND_COLOR: `transparent`, + DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`, + DEFAULT_HREF_TARGET_TYPE: '_self', + ERROR_MESSAGE: `Invalid data for material Multilevel List Component`, + POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', + YES: 'yes', + NO: 'no' +}; + +class MultilevelMenuService { + foundLinkObject; + expandCollapseStatus = new Subject(); + expandCollapseStatus$ = this.expandCollapseStatus.asObservable(); + selectedMenuID = new Subject(); + selectedMenuID$ = this.selectedMenuID.asObservable(); + generateId() { + let text = ''; + for (let i = 0; i < 20; i++) { + text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length)); + } + return text; + } + addRandomId(nodes) { + nodes.forEach((node) => { + node.id = this.generateId(); + if (node.items !== undefined) { + this.addRandomId(node.items); + } + }); + } + recursiveCheckId(node, nodeId) { + if (node.id === nodeId) { + return true; + } + else { + if (node.items !== undefined) { + return node.items.some((nestedNode) => { + return this.recursiveCheckId(nestedNode, nodeId); + }); + } + } + } + findNodeRecursively({ nodes, link, id }) { + for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { + const node = nodes[nodeIndex]; + for (const key in node) { + if (node.hasOwnProperty(key)) { + if (encodeURI(node.link) === link) { + this.foundLinkObject = node; + } + else if (node.id === id) { + this.foundLinkObject = node; + } + else { + if (node.items !== undefined) { + this.findNodeRecursively({ + nodes: node.items, + link: link ? link : null, + id: id ? id : null + }); + } + } + } + } + } + } + getMatchedObjectByUrl(nodes, link) { + this.findNodeRecursively({ nodes, link }); + return this.foundLinkObject; + } + getMatchedObjectById(nodes, id) { + this.findNodeRecursively({ nodes, id }); + return this.foundLinkObject; + } + // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function + // https://angular.io/api/common/KeyValuePipe#description + kvDummyComparerFn() { + return 0; + } + setMenuExpandCollapseStatus(status) { + this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral); + } + selectMenuByID(menuID) { + this.selectedMenuID.next(menuID); + return this.foundLinkObject; + } +} + +const SlideInOut = trigger('SlideInOut', [ + state('in', style({ height: '*', opacity: 0 })), + transition(':leave', [ + style({ height: '*', opacity: 0.2 }), + group([ + animate(200, style({ height: 0 })), + animate('200ms ease-out', style({ opacity: 0 })) + ]) + ]), + transition(':enter', [ + style({ height: '0', opacity: 0 }), + group([ + animate(200, style({ height: '*' })), + animate('400ms ease-out', style({ opacity: 1 })) + ]) + ]) +]); +const ExpandedLTR = trigger('ExpandedLTR', [ + state('no', style({ transform: 'rotate(-90deg)' })), + state('yes', style({ transform: 'rotate(0deg)', })), + transition('no => yes', animate(200)), + transition('yes => no', animate(200)) +]); +const ExpandedRTL = trigger('ExpandedRTL', [ + state('no', style({ transform: 'rotate(90deg)' })), + state('yes', style({ transform: 'rotate(0deg)', })), + transition('no => yes', animate(200)), + transition('yes => no', animate(200)) +]); + +class CommonUtils { + static isNullOrUndefinedOrEmpty = function (object) { + return CommonUtils.isNullOrUndefined(object) || object === ''; + }; + static isNullOrUndefined = function (object) { + return object === null || object === undefined; + }; +} + +class ListItemContentComponent { + node; + isRtlLayout; + constructor() { + // NOOP + } + ngOnInit() { + // NOOP + } + getListIcon(node) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) { + return `icon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { + return `faIcon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { + return `imageIcon`; + } + else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { + return `svgIcon`; + } + else { + return ``; + } + } + getHrefTargetType() { + return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + } + getSelectedSvgIcon() { + return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; + } + getSelectedIcon() { + return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; + } + getSelectedFaIcon() { + return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; + } + getSelectedImageIcon() { + return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; + } + nodeExpandStatus() { + return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; + } + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: { node: "node", isRtlLayout: "isRtlLayout" }, ngImport: i0, template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], animations: [ExpandedLTR, ExpandedRTL] }); +} +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, decorators: [{ + type: Component, + args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] + }], ctorParameters: function () { return []; }, propDecorators: { node: [{ + type: Input + }], isRtlLayout: [{ + type: Input + }] } }); + +class ListItemComponent { + router; + multilevelMenuService; + node; + level = 1; + submenuLevel = 0; + selectedNode; + nodeConfiguration = null; + nodeExpandCollapseStatus = null; + listTemplate = null; + selectedItem = new EventEmitter(); + isSelected = false; + expanded = false; + firstInitializer = false; + nodeChildren; + classes; + selectedListClasses; + constructor(router, multilevelMenuService) { + this.router = router; + this.multilevelMenuService = multilevelMenuService; + this.selectedListClasses = { + [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, + [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, + [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, + }; + } + ngOnChanges() { + this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; + this.node.hasChildren = this.hasItems(); + if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { + this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); + } + this.setExpandCollapseStatus(); + } + ngOnInit() { + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && + this.node.faIcon.match(/\bfa\w(?!-)/) === null) { + this.node.faIcon = `fas ${this.node.faIcon}`; + } + this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; + if (typeof this.node.expanded === 'boolean') { + this.expanded = this.node.expanded; + } + this.setClasses(); + } + setSelectedClass(isFound) { + if (isFound) { + if (!this.firstInitializer) { + this.expanded = true; + } + this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; + } + else { + this.isSelected = false; + if (this.nodeConfiguration.collapseOnSelect) { + this.node.expanded = false; + this.expanded = false; + } + } + this.selectedListClasses = { + [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, + [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected, + [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id, + [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled, + [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true, + }; + this.node.isSelected = this.isSelected; + this.setClasses(); + } + getPaddingAtStart() { + return this.nodeConfiguration.paddingAtStart; + } + getListStyle() { + const styles = { + background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, + color: CONSTANT.DEFAULT_LIST_FONT_COLOR + }; + if (this.nodeConfiguration.listBackgroundColor !== null) { + styles.background = this.nodeConfiguration.listBackgroundColor; + } + if (this.isSelected) { + this.nodeConfiguration.selectedListFontColor !== null ? + styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; + } + else if (this.nodeConfiguration.fontColor !== null) { + styles.color = this.nodeConfiguration.fontColor; + } + return styles; + } + hasItems() { + return this.nodeChildren.length > 0; + } + isRtlLayout() { + return this.nodeConfiguration.rtlLayout; + } + setClasses() { + this.classes = { + [`level-${this.level + 1}`]: true, + [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), + [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() + }; + } + setExpandCollapseStatus() { + if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { + this.expanded = true; + if (this.nodeConfiguration.customTemplate) { + this.node.expanded = true; + } + } + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { + this.expanded = false; + if (this.nodeConfiguration.customTemplate) { + this.node.expanded = false; + } + } + } + } + expand(node) { + if (node.disabled) { + return; + } + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + this.expanded = !this.expanded; + this.node.expanded = this.expanded; + this.firstInitializer = true; + this.setClasses(); + if (this.nodeConfiguration.interfaceWithRoute !== null + && this.nodeConfiguration.interfaceWithRoute + && node.link !== undefined + && node.link) { + this.router.navigate([node.link], node.navigationExtras).then(); + } + else if (node.onSelected && typeof node.onSelected === 'function') { + node.onSelected(node); + this.selectedListItem(node); + } + else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { + this.selectedListItem(node); + } + } + selectedListItem(node) { + this.selectedItem.emit(node); + } + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, deps: [{ token: i1.Router }, { token: MultilevelMenuService }], target: i0.ɵɵFactoryTarget.Component }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemComponent, selector: "ng-list-item", inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "component", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: ["node", "isRtlLayout"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }], animations: [SlideInOut] }); +} +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, decorators: [{ + type: Component, + args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] + }], ctorParameters: function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, propDecorators: { node: [{ + type: Input + }], level: [{ + type: Input + }], submenuLevel: [{ + type: Input + }], selectedNode: [{ + type: Input + }], nodeConfiguration: [{ + type: Input + }], nodeExpandCollapseStatus: [{ + type: Input + }], listTemplate: [{ + type: Input + }], selectedItem: [{ + type: Output + }] } }); + +class MaterialsModule { + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); + static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, + MatListModule, + MatRippleModule], exports: [MatIconModule, + MatListModule, + MatRippleModule] }); + static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, + MatListModule, + MatRippleModule, MatIconModule, + MatListModule, + MatRippleModule] }); +} +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, decorators: [{ + type: NgModule, + args: [{ + imports: [ + MatIconModule, + MatListModule, + MatRippleModule, + ], + declarations: [], + exports: [ + MatIconModule, + MatListModule, + MatRippleModule, + ] + }] + }] }); + +class NgMaterialMultilevelMenuComponent { + router; + multilevelMenuService; + items; + configuration = null; + selectedItem = new EventEmitter(); + selectedLabel = new EventEmitter(); + menuIsReady = new EventEmitter(); + listTemplate; + expandCollapseStatusSubscription = null; + selectMenuByIDSubscription = null; + currentNode = null; + nodeConfig = { + paddingAtStart: true, + listBackgroundColor: null, + fontColor: null, + selectedListFontColor: null, + interfaceWithRoute: null, + collapseOnSelect: null, + highlightOnSelect: false, + useDividers: true, + rtlLayout: false, + customTemplate: false + }; + isInvalidConfig = true; + isInvalidData = true; + nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + constructor(router, multilevelMenuService) { + this.router = router; + this.multilevelMenuService = multilevelMenuService; + // NOOP + } + ngOnChanges() { + this.detectInvalidConfig(); + this.initExpandCollapseStatus(); + this.initSelectedMenuID(); + if (!this.isInvalidData) { + this.menuIsReady.emit(this.items); + } + } + ngOnInit() { + if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && + this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { + this.router.events + .subscribe((event) => { + if (event instanceof NavigationEnd) { + this.updateNodeByURL(event.urlAfterRedirects); + } + }); + this.updateNodeByURL(this.router.url); + } + } + updateNodeByURL(url) { + const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); + if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) + // && !foundNode.disabled // Prevent route redirection for disabled menu + ) { + this.currentNode = foundNode; + if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) { + this.selectedListItem(foundNode); + } + } + } + checkValidData() { + if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { + console.warn(CONSTANT.ERROR_MESSAGE); + return; + } + this.items = this.items.filter(n => !n.hidden); + this.multilevelMenuService.addRandomId(this.items); + this.isInvalidData = false; + } + detectInvalidConfig() { + if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) { + this.isInvalidConfig = true; + } + else { + this.isInvalidConfig = false; + const config = this.configuration; + if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && + typeof config.paddingAtStart === 'boolean') { + this.nodeConfig.paddingAtStart = config.paddingAtStart; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { + this.nodeConfig.listBackgroundColor = config.listBackgroundColor; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) { + this.nodeConfig.fontColor = config.fontColor; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) { + this.nodeConfig.selectedListFontColor = config.selectedListFontColor; + } + if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && + typeof config.interfaceWithRoute === 'boolean') { + this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; + } + if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && + typeof config.collapseOnSelect === 'boolean') { + this.nodeConfig.collapseOnSelect = config.collapseOnSelect; + } + if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && + typeof config.highlightOnSelect === 'boolean') { + this.nodeConfig.highlightOnSelect = config.highlightOnSelect; + } + if (!CommonUtils.isNullOrUndefined(config.useDividers) && + typeof config.useDividers === 'boolean') { + this.nodeConfig.useDividers = config.useDividers; + } + if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && + typeof config.rtlLayout === 'boolean') { + this.nodeConfig.rtlLayout = config.rtlLayout; + } + if (!CommonUtils.isNullOrUndefined(config.customTemplate) && + typeof config.customTemplate === 'boolean') { + this.nodeConfig.customTemplate = config.customTemplate; + } + } + this.checkValidData(); + } + initExpandCollapseStatus() { + this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ + .subscribe((expandCollapseStatus) => { + this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; + }, () => { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + }); + } + initSelectedMenuID() { + this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); + if (foundNode !== undefined) { + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } + } + }); + } + getClassName() { + if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { + return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; + } + return CONSTANT.DEFAULT_CLASS_NAME; + } + getGlobalStyle() { + if (!this.isInvalidConfig) { + const styles = { + background: null + }; + if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { + styles.background = this.configuration.backgroundColor; + } + return styles; + } + } + isRtlLayout() { + return this.nodeConfig.rtlLayout; + } + selectedListItem(event) { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + this.currentNode = event; + if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { + return; + } + if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { + this.selectedItem.emit(event); + } + else { + this.selectedLabel.emit(event); + } + } + ngOnDestroy() { + this.expandCollapseStatusSubscription.unsubscribe(); + this.selectMenuByIDSubscription.unsubscribe(); + } + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, deps: [{ token: i1.Router }, { token: MultilevelMenuService }], target: i0.ɵɵFactoryTarget.Component }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NgMaterialMultilevelMenuComponent, selector: "ng-material-multilevel-menu", inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, queries: [{ propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }] }); +} +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, decorators: [{ + type: Component, + args: [{ selector: 'ng-material-multilevel-menu', template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] + }], ctorParameters: function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, propDecorators: { items: [{ + type: Input + }], configuration: [{ + type: Input + }], selectedItem: [{ + type: Output + }], selectedLabel: [{ + type: Output + }], menuIsReady: [{ + type: Output + }], listTemplate: [{ + type: ContentChild, + args: ['listTemplate', { static: true }] + }] } }); + +class NgMaterialMultilevelMenuModule { + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); + static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, declarations: [NgMaterialMultilevelMenuComponent, + ListItemComponent, + ListItemContentComponent], imports: [CommonModule, + MaterialsModule, + RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); + static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, imports: [CommonModule, + MaterialsModule, + RouterModule] }); +} +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, decorators: [{ + type: NgModule, + args: [{ + imports: [ + CommonModule, + MaterialsModule, + RouterModule, + ], + declarations: [ + NgMaterialMultilevelMenuComponent, + ListItemComponent, + ListItemContentComponent, + ], + exports: [NgMaterialMultilevelMenuComponent] + }] + }] }); + +/* + * Public API Surface of ng-material-multilevel-menu + */ + +/** + * Generated bundle index. Do not edit. + */ + +export { ExpandCollapseStatusEnum, ExpandedLTR, ExpandedRTL, MultilevelMenuService, NgMaterialMultilevelMenuComponent, NgMaterialMultilevelMenuModule, SlideInOut }; +//# sourceMappingURL=eddie666-ng-material-multilevel-menu.mjs.map diff --git a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map new file mode 100644 index 0000000..2e3f274 --- /dev/null +++ b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map @@ -0,0 +1 @@ +{"version":3,"file":"eddie666-ng-material-multilevel-menu.mjs","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../projects/ng-material-multilevel-menu/src/eddie666-ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from '@angular/router';\r\n\r\nexport interface MultilevelNode {\r\n id?: string;\r\n label: string;\r\n faIcon?: string;\r\n icon?: string;\r\n imageIcon?: string;\r\n svgIcon?: string;\r\n activeFaIcon?: string;\r\n activeIcon?: string;\r\n activeImageIcon?: string;\r\n activeSvgIcon?: string;\r\n hidden?: boolean;\r\n link?: string;\r\n externalRedirect?: boolean;\r\n hrefTargetType?: string;\r\n data?: any;\r\n items?: MultilevelNode[];\r\n onSelected?: Function;\r\n disabled?: boolean;\r\n expanded?: boolean;\r\n navigationExtras?: NavigationExtras;\r\n dontEmit?: boolean;\r\n hasChildren?: boolean;\r\n isSelected?: boolean;\r\n}\r\n\r\nexport interface Configuration {\r\n classname?: string;\r\n paddingAtStart?: boolean;\r\n backgroundColor?: string;\r\n listBackgroundColor?: string;\r\n fontColor?: string;\r\n selectedListFontColor?: string;\r\n interfaceWithRoute?: boolean;\r\n collapseOnSelect?: boolean;\r\n highlightOnSelect?: boolean;\r\n useDividers?: boolean;\r\n rtlLayout?: boolean;\r\n customTemplate?: boolean;\r\n}\r\n\r\nexport interface BackgroundStyle {\r\n background: string;\r\n}\r\n\r\nexport interface ListStyle {\r\n background: string;\r\n color: string;\r\n}\r\n\r\nexport enum ExpandCollapseStatusEnum {\r\n expand = 'expand',\r\n collapse = 'collapse',\r\n neutral = 'neutral',\r\n}\r\n","export const CONSTANT = {\r\n PADDING_AT_START: true,\r\n DEFAULT_CLASS_NAME: `amml-container`,\r\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\r\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\r\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\r\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\r\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\r\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\r\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\r\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\r\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\r\n DEFAULT_HREF_TARGET_TYPE: '_self',\r\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`,\r\n POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',\r\n YES: 'yes',\r\n NO: 'no'\r\n};\r\n"," import {BehaviorSubject, Observable, Subject} from 'rxjs';\r\nimport { MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport {CONSTANT} from './constants';\r\n\r\nexport class MultilevelMenuService {\r\n foundLinkObject: MultilevelNode;\r\n private expandCollapseStatus: Subject = new Subject();\r\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\r\n\r\n private selectedMenuID: Subject = new Subject();\r\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\r\n\r\n private generateId(): string {\r\n let text = '';\r\n for (let i = 0; i < 20; i++) {\r\n text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length));\r\n }\r\n return text;\r\n }\r\n addRandomId(nodes: MultilevelNode[]): void {\r\n nodes.forEach((node: MultilevelNode) => {\r\n node.id = this.generateId();\r\n if (node.items !== undefined) {\r\n this.addRandomId(node.items);\r\n }\r\n });\r\n }\r\n recursiveCheckId(node: MultilevelNode, nodeId: string): boolean {\r\n if (node.id === nodeId) {\r\n return true;\r\n } else {\r\n if (node.items !== undefined) {\r\n return node.items.some((nestedNode: MultilevelNode) => {\r\n return this.recursiveCheckId(nestedNode, nodeId);\r\n });\r\n }\r\n }\r\n }\r\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNode[], link?: string, id?: string}): void {\r\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\r\n const node = nodes[nodeIndex];\r\n for (const key in node) {\r\n if (node.hasOwnProperty(key)) {\r\n if (encodeURI(node.link) === link) {\r\n this.foundLinkObject = node;\r\n } else if (node.id === id) {\r\n this.foundLinkObject = node;\r\n } else {\r\n if (node.items !== undefined) {\r\n this.findNodeRecursively({\r\n nodes: node.items,\r\n link: link ? link : null,\r\n id: id ? id : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, link});\r\n return this.foundLinkObject;\r\n }\r\n getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, id});\r\n return this.foundLinkObject;\r\n }\r\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\r\n // https://angular.io/api/common/KeyValuePipe#description\r\n kvDummyComparerFn() {\r\n return 0;\r\n }\r\n setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void {\r\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\r\n }\r\n selectMenuByID(menuID: string) {\r\n this.selectedMenuID.next(menuID);\r\n return this.foundLinkObject;\r\n }\r\n}\r\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport const SlideInOut = trigger('SlideInOut', [\r\n state(\r\n 'in',\r\n style({ height: '*', opacity: 0 })),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 0.2 }),\r\n group([\r\n animate(200, style({ height: 0 })),\r\n animate('200ms ease-out', style({ opacity: 0 }))\r\n ])\r\n ]),\r\n transition(':enter', [\r\n style({ height: '0', opacity: 0 }),\r\n group([\r\n animate(200, style({ height: '*' })),\r\n animate('400ms ease-out', style({ opacity: 1 }))\r\n ])\r\n ])\r\n ]\r\n);\r\n\r\nexport const ExpandedLTR = trigger('ExpandedLTR', [\r\n state('no', style({ transform: 'rotate(-90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n\r\nexport const ExpandedRTL = trigger('ExpandedRTL', [\r\n state('no', style({ transform: 'rotate(90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n","export class CommonUtils {\r\n\r\n static isNullOrUndefinedOrEmpty = function (object: any): boolean {\r\n return CommonUtils.isNullOrUndefined(object) || object === '';\r\n };\r\n\r\n static isNullOrUndefined = function (object: any): boolean {\r\n return object === null || object === undefined;\r\n };\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {MultilevelNode} from '../../app.model';\r\nimport {ExpandedLTR, ExpandedRTL} from '../../animation';\r\nimport {CommonUtils} from '../../common-utils';\r\nimport {CONSTANT} from '../../constants';\r\n\r\n@Component({\r\n selector: 'ng-list-item-content',\r\n templateUrl: './list-item-content.component.html',\r\n styleUrls: ['./list-item-content.component.css'],\r\n animations: [ExpandedLTR, ExpandedRTL]\r\n})\r\nexport class ListItemContentComponent implements OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() isRtlLayout: boolean;\r\n\r\n constructor() {\r\n // NOOP\r\n }\r\n\r\n ngOnInit(): void {\r\n // NOOP\r\n }\r\n\r\n getListIcon(node: MultilevelNode): string {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) {\r\n return `icon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) {\r\n return `faIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) {\r\n return `imageIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) {\r\n return `svgIcon`;\r\n } else {\r\n return ``;\r\n }\r\n }\r\n\r\n getHrefTargetType(): string {\r\n return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE;\r\n }\r\n\r\n getSelectedSvgIcon(): string {\r\n return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon;\r\n }\r\n\r\n getSelectedIcon(): string {\r\n return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon;\r\n }\r\n\r\n getSelectedFaIcon(): string {\r\n return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon;\r\n }\r\n\r\n getSelectedImageIcon(): string {\r\n return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon;\r\n }\r\n\r\n nodeExpandStatus(): string {\r\n return this.node.expanded ? CONSTANT.YES : CONSTANT.NO;\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n","import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model';\r\nimport { CONSTANT } from '../constants';\r\nimport { MultilevelMenuService } from '../multilevel-menu.service';\r\nimport { SlideInOut } from '../animation';\r\nimport {CommonUtils} from '../common-utils';\r\n\r\n@Component({\r\n selector: 'ng-list-item',\r\n templateUrl: './list-item.component.html',\r\n styleUrls: ['./list-item.component.css'],\r\n animations: [SlideInOut]\r\n})\r\nexport class ListItemComponent implements OnChanges, OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() level = 1;\r\n @Input() submenuLevel = 0;\r\n @Input() selectedNode: MultilevelNode;\r\n @Input() nodeConfiguration: Configuration = null;\r\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\r\n @Input() listTemplate: TemplateRef = null;\r\n\r\n @Output() selectedItem = new EventEmitter();\r\n\r\n isSelected = false;\r\n expanded = false;\r\n firstInitializer = false;\r\n\r\n nodeChildren: MultilevelNode[];\r\n classes: { [index: string]: boolean };\r\n selectedListClasses: { [index: string]: boolean };\r\n\r\n constructor(private router: Router,\r\n public multilevelMenuService: MultilevelMenuService) {\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\r\n };\r\n }\r\n\r\n ngOnChanges() {\r\n this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : [];\r\n this.node.hasChildren = this.hasItems();\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.selectedNode)) {\r\n this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id));\r\n }\r\n this.setExpandCollapseStatus();\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled;\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.node.faIcon) &&\r\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null) {\r\n this.node.faIcon = `fas ${this.node.faIcon}`;\r\n }\r\n\r\n this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true;\r\n if (typeof this.node.expanded === 'boolean') {\r\n this.expanded = this.node.expanded;\r\n }\r\n this.setClasses();\r\n }\r\n\r\n setSelectedClass(isFound: boolean): void {\r\n if (isFound) {\r\n if (!this.firstInitializer) {\r\n this.expanded = true;\r\n }\r\n this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined;\r\n } else {\r\n this.isSelected = false;\r\n if (this.nodeConfiguration.collapseOnSelect) {\r\n this.node.expanded = false;\r\n this.expanded = false;\r\n }\r\n }\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\r\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\r\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\r\n };\r\n this.node.isSelected = this.isSelected;\r\n this.setClasses();\r\n }\r\n\r\n getPaddingAtStart(): boolean {\r\n return this.nodeConfiguration.paddingAtStart;\r\n }\r\n\r\n getListStyle(): ListStyle {\r\n const styles = {\r\n background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR,\r\n color: CONSTANT.DEFAULT_LIST_FONT_COLOR\r\n };\r\n if (this.nodeConfiguration.listBackgroundColor !== null) {\r\n styles.background = this.nodeConfiguration.listBackgroundColor;\r\n }\r\n if (this.isSelected) {\r\n this.nodeConfiguration.selectedListFontColor !== null ?\r\n styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR;\r\n } else if (this.nodeConfiguration.fontColor !== null) {\r\n styles.color = this.nodeConfiguration.fontColor;\r\n }\r\n return styles;\r\n }\r\n\r\n hasItems(): boolean {\r\n return this.nodeChildren.length > 0;\r\n }\r\n\r\n isRtlLayout(): boolean {\r\n return this.nodeConfiguration.rtlLayout;\r\n }\r\n\r\n setClasses(): void {\r\n this.classes = {\r\n [`level-${this.level + 1}`]: true,\r\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(),\r\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems()\r\n };\r\n }\r\n\r\n setExpandCollapseStatus(): void {\r\n if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) {\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\r\n this.expanded = true;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = true;\r\n }\r\n }\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\r\n this.expanded = false;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n expand(node: MultilevelNode): void {\r\n if (node.disabled) {\r\n return;\r\n }\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.expanded = !this.expanded;\r\n this.node.expanded = this.expanded;\r\n this.firstInitializer = true;\r\n this.setClasses();\r\n if (this.nodeConfiguration.interfaceWithRoute !== null\r\n && this.nodeConfiguration.interfaceWithRoute\r\n && node.link !== undefined\r\n && node.link\r\n ) {\r\n this.router.navigate([node.link], node.navigationExtras).then();\r\n } else if (node.onSelected && typeof node.onSelected === 'function') {\r\n node.onSelected(node);\r\n this.selectedListItem(node);\r\n } else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) {\r\n this.selectedListItem(node);\r\n }\r\n }\r\n\r\n selectedListItem(node: MultilevelNode): void {\r\n this.selectedItem.emit(node);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\n\r\n@NgModule({\r\n imports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ],\r\n declarations: [],\r\n exports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ]\r\n})\r\nexport class MaterialsModule { }\r\n","import { Component, OnChanges, OnInit, OnDestroy, Output, EventEmitter, Input, ContentChild, TemplateRef, ElementRef } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport { CONSTANT } from './constants';\r\nimport { MultilevelMenuService } from './multilevel-menu.service';\r\nimport {CommonUtils} from './common-utils';\r\n\r\n@Component({\r\n selector: 'ng-material-multilevel-menu',\r\n templateUrl: './ng-material-multilevel-menu.component.html',\r\n styleUrls: ['./ng-material-multilevel-menu.component.css'],\r\n})\r\nexport class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() items: MultilevelNode[];\r\n @Input() configuration: Configuration = null;\r\n @Output() selectedItem = new EventEmitter();\r\n @Output() selectedLabel = new EventEmitter();\r\n @Output() menuIsReady = new EventEmitter();\r\n @ContentChild('listTemplate', {static: true}) listTemplate: TemplateRef;\r\n\r\n expandCollapseStatusSubscription: Subscription = null;\r\n selectMenuByIDSubscription: Subscription = null;\r\n currentNode: MultilevelNode = null;\r\n\r\n nodeConfig: Configuration = {\r\n paddingAtStart: true,\r\n listBackgroundColor: null,\r\n fontColor: null,\r\n selectedListFontColor: null,\r\n interfaceWithRoute: null,\r\n collapseOnSelect: null,\r\n highlightOnSelect: false,\r\n useDividers: true,\r\n rtlLayout: false,\r\n customTemplate: false\r\n };\r\n isInvalidConfig = true;\r\n isInvalidData = true;\r\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral;\r\n\r\n constructor(private router: Router,\r\n public multilevelMenuService: MultilevelMenuService) {\r\n // NOOP\r\n }\r\n ngOnChanges() {\r\n this.detectInvalidConfig();\r\n this.initExpandCollapseStatus();\r\n this.initSelectedMenuID();\r\n if (!this.isInvalidData) {\r\n this.menuIsReady.emit(this.items);\r\n }\r\n }\r\n ngOnInit() {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) &&\r\n this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) {\r\n this.router.events\r\n .subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.updateNodeByURL(event.urlAfterRedirects);\r\n }\r\n });\r\n this.updateNodeByURL(this.router.url);\r\n }\r\n }\r\n updateNodeByURL(url: string): void {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url);\r\n if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)\r\n // && !foundNode.disabled // Prevent route redirection for disabled menu\r\n ) {\r\n this.currentNode = foundNode;\r\n if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) {\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n }\r\n checkValidData(): void {\r\n if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) {\r\n console.warn(CONSTANT.ERROR_MESSAGE);\r\n return;\r\n }\r\n this.items = this.items.filter(n => !n.hidden);\r\n this.multilevelMenuService.addRandomId(this.items);\r\n this.isInvalidData = false;\r\n }\r\n detectInvalidConfig(): void {\r\n if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) {\r\n this.isInvalidConfig = true;\r\n } else {\r\n this.isInvalidConfig = false;\r\n const config = this.configuration;\r\n if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) &&\r\n typeof config.paddingAtStart === 'boolean') {\r\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) {\r\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) {\r\n this.nodeConfig.fontColor = config.fontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) {\r\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) &&\r\n typeof config.interfaceWithRoute === 'boolean') {\r\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) &&\r\n typeof config.collapseOnSelect === 'boolean') {\r\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) &&\r\n typeof config.highlightOnSelect === 'boolean') {\r\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.useDividers) &&\r\n typeof config.useDividers === 'boolean') {\r\n this.nodeConfig.useDividers = config.useDividers;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.rtlLayout) &&\r\n typeof config.rtlLayout === 'boolean') {\r\n this.nodeConfig.rtlLayout = config.rtlLayout;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.customTemplate) &&\r\n typeof config.customTemplate === 'boolean') {\r\n this.nodeConfig.customTemplate = config.customTemplate;\r\n }\r\n }\r\n this.checkValidData();\r\n }\r\n initExpandCollapseStatus(): void {\r\n this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$\r\n .subscribe( (expandCollapseStatus: ExpandCollapseStatusEnum) => {\r\n this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral;\r\n }, () => {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n });\r\n }\r\n initSelectedMenuID(): void {\r\n this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe( (selectedMenuID: string) => {\r\n if (selectedMenuID) {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID);\r\n if (foundNode !== undefined) {\r\n this.currentNode = foundNode;\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n });\r\n }\r\n getClassName(): string {\r\n if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) {\r\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\r\n }\r\n return CONSTANT.DEFAULT_CLASS_NAME;\r\n }\r\n getGlobalStyle(): BackgroundStyle {\r\n if (!this.isInvalidConfig) {\r\n const styles = {\r\n background : null\r\n };\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) {\r\n styles.background = this.configuration.backgroundColor;\r\n }\r\n return styles;\r\n }\r\n }\r\n isRtlLayout(): boolean {\r\n return this.nodeConfig.rtlLayout;\r\n }\r\n selectedListItem(event: MultilevelNode): void {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.currentNode = event;\r\n if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) {\r\n return;\r\n }\r\n if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') ) {\r\n this.selectedItem.emit(event);\r\n } else {\r\n this.selectedLabel.emit(event);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.expandCollapseStatusSubscription.unsubscribe();\r\n this.selectMenuByIDSubscription.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ListItemComponent } from './list-item/list-item.component';\r\nimport { MaterialsModule } from './materials.module';\r\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\r\nimport { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialsModule,\r\n RouterModule,\r\n ],\r\n declarations: [\r\n NgMaterialMultilevelMenuComponent,\r\n ListItemComponent,\r\n ListItemContentComponent,\r\n ],\r\n exports: [NgMaterialMultilevelMenuComponent]\r\n})\r\nexport class NgMaterialMultilevelMenuModule {}\r\n","/*\r\n * Public API Surface of ng-material-multilevel-menu\r\n */\r\n\r\nexport * from './lib/ng-material-multilevel-menu.module';\r\nexport * from './lib/ng-material-multilevel-menu.component';\r\nexport * from './lib/multilevel-menu.service';\r\nexport * from './lib/animation';\r\nexport { MultilevelNode, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i4","i2.MultilevelMenuService","i8.ListItemContentComponent","i6.ListItemComponent"],"mappings":"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"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs b/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs deleted file mode 100644 index 235dde3..0000000 --- a/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs +++ /dev/null @@ -1,942 +0,0 @@ -import * as i3 from '@angular/common'; -import { CommonModule } from '@angular/common'; -import * as i0 from '@angular/core'; -import { Component, Input, EventEmitter, Output, NgModule, ContentChild } from '@angular/core'; -import * as i1 from '@angular/router'; -import { NavigationEnd, RouterModule } from '@angular/router'; -import { Subject } from 'rxjs'; -import { trigger, state, style, transition, group, animate } from '@angular/animations'; -import * as i4 from '@angular/cdk/bidi'; -import * as i5 from '@angular/material/list'; -import { MatListModule } from '@angular/material/list'; -import * as i6 from '@angular/material/divider'; -import * as i7 from '@angular/material/core'; -import { MatRippleModule } from '@angular/material/core'; -import * as i2 from '@angular/material/icon'; -import { MatIconModule } from '@angular/material/icon'; - -var ExpandCollapseStatusEnum; -(function (ExpandCollapseStatusEnum) { - ExpandCollapseStatusEnum["expand"] = "expand"; - ExpandCollapseStatusEnum["collapse"] = "collapse"; - ExpandCollapseStatusEnum["neutral"] = "neutral"; -})(ExpandCollapseStatusEnum || (ExpandCollapseStatusEnum = {})); - -const CONSTANT = { - PADDING_AT_START: true, - DEFAULT_CLASS_NAME: `amml-container`, - DEFAULT_LIST_CLASS_NAME: `amml-item`, - SELECTED_LIST_CLASS_NAME: `selected-amml-item`, - ACTIVE_ITEM_CLASS_NAME: `active-amml-item`, - DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`, - SUBMENU_ITEM_CLASS_NAME: `amml-submenu`, - HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`, - DEFAULT_SELECTED_FONT_COLOR: `#1976d2`, - DEFAULT_LIST_BACKGROUND_COLOR: `transparent`, - DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`, - DEFAULT_HREF_TARGET_TYPE: '_self', - ERROR_MESSAGE: `Invalid data for material Multilevel List Component`, - POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', - YES: 'yes', - NO: 'no' -}; - -class MultilevelMenuService { - foundLinkObject; - expandCollapseStatus = new Subject(); - expandCollapseStatus$ = this.expandCollapseStatus.asObservable(); - selectedMenuID = new Subject(); - selectedMenuID$ = this.selectedMenuID.asObservable(); - generateId() { - let text = ''; - for (let i = 0; i < 20; i++) { - text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length)); - } - return text; - } - addRandomId(nodes) { - nodes.forEach((node) => { - node.id = this.generateId(); - if (node.items !== undefined) { - this.addRandomId(node.items); - } - }); - } - recursiveCheckId(node, nodeId) { - if (node.id === nodeId) { - return true; - } - else { - if (node.items !== undefined) { - return node.items.some((nestedNode) => { - return this.recursiveCheckId(nestedNode, nodeId); - }); - } - } - } - findNodeRecursively({ nodes, link, id }) { - for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { - const node = nodes[nodeIndex]; - for (const key in node) { - if (node.hasOwnProperty(key)) { - if (encodeURI(node.link) === link) { - this.foundLinkObject = node; - } - else if (node.id === id) { - this.foundLinkObject = node; - } - else { - if (node.items !== undefined) { - this.findNodeRecursively({ - nodes: node.items, - link: link ? link : null, - id: id ? id : null - }); - } - } - } - } - } - } - getMatchedObjectByUrl(nodes, link) { - this.findNodeRecursively({ nodes, link }); - return this.foundLinkObject; - } - getMatchedObjectById(nodes, id) { - this.findNodeRecursively({ nodes, id }); - return this.foundLinkObject; - } - // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function - // https://angular.io/api/common/KeyValuePipe#description - kvDummyComparerFn() { - return 0; - } - setMenuExpandCollapseStatus(status) { - this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral); - } - selectMenuByID(menuID) { - this.selectedMenuID.next(menuID); - return this.foundLinkObject; - } -} - -const SlideInOut = trigger('SlideInOut', [ - state('in', style({ height: '*', opacity: 0 })), - transition(':leave', [ - style({ height: '*', opacity: 0.2 }), - group([ - animate(200, style({ height: 0 })), - animate('200ms ease-out', style({ opacity: 0 })) - ]) - ]), - transition(':enter', [ - style({ height: '0', opacity: 0 }), - group([ - animate(200, style({ height: '*' })), - animate('400ms ease-out', style({ opacity: 1 })) - ]) - ]) -]); -const ExpandedLTR = trigger('ExpandedLTR', [ - state('no', style({ transform: 'rotate(-90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), - transition('no => yes', animate(200)), - transition('yes => no', animate(200)) -]); -const ExpandedRTL = trigger('ExpandedRTL', [ - state('no', style({ transform: 'rotate(90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), - transition('no => yes', animate(200)), - transition('yes => no', animate(200)) -]); - -class CommonUtils { - static isNullOrUndefinedOrEmpty = function (object) { - return CommonUtils.isNullOrUndefined(object) || object === ''; - }; - static isNullOrUndefined = function (object) { - return object === null || object === undefined; - }; -} - -function ListItemContentComponent_ng_container_0_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_1_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "a", 6); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_1_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r2 = i0.ɵɵnextContext(); - const _r7 = i0.ɵɵreference(8); - const _r5 = i0.ɵɵreference(6); - i0.ɵɵproperty("href", ctx_r2.node.link, i0.ɵɵsanitizeUrl)("target", ctx_r2.getHrefTargetType()); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", ctx_r2.isRtlLayout ? _r7 : _r5); -} } -function ListItemContentComponent_ng_template_3_a_0_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_3_a_0_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "a", 9); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_0_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r12 = i0.ɵɵnextContext(2); - const _r7 = i0.ɵɵreference(8); - const _r5 = i0.ɵɵreference(6); - i0.ɵɵproperty("routerLink", ctx_r12.node.link); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", ctx_r12.isRtlLayout ? _r7 : _r5); -} } -function ListItemContentComponent_ng_template_3_a_1_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_3_a_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "a", 10); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_1_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r13 = i0.ɵɵnextContext(2); - const _r7 = i0.ɵɵreference(8); - const _r5 = i0.ɵɵreference(6); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", ctx_r13.isRtlLayout ? _r7 : _r5); -} } -function ListItemContentComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵtemplate(0, ListItemContentComponent_ng_template_3_a_0_Template, 2, 2, "a", 7); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_3_a_1_Template, 2, 1, "a", 8); -} if (rf & 2) { - const ctx_r4 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngIf", !ctx_r4.node.externalRedirect && ctx_r4.node.link); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", !ctx_r4.node.link); -} } -function ListItemContentComponent_ng_template_5_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_5_div_4_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 14)(1, "mat-icon"); - i0.ɵɵtext(2, " keyboard_arrow_down "); - i0.ɵɵelementEnd()(); -} if (rf & 2) { - const ctx_r17 = i0.ɵɵnextContext(2); - i0.ɵɵadvance(1); - i0.ɵɵproperty("@ExpandedLTR", ctx_r17.nodeExpandStatus()); -} } -function ListItemContentComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 11); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_5_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementStart(2, "span", 12); - i0.ɵɵtext(3); - i0.ɵɵelementEnd()(); - i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_5_div_4_Template, 3, 1, "div", 13); -} if (rf & 2) { - const ctx_r6 = i0.ɵɵnextContext(); - const _r9 = i0.ɵɵreference(10); - i0.ɵɵproperty("dir", "ltr"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", _r9); - i0.ɵɵadvance(2); - i0.ɵɵtextInterpolate(ctx_r6.node.label); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx_r6.node.hasChildren); -} } -function ListItemContentComponent_ng_template_7_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemContentComponent_ng_template_7_div_4_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 14)(1, "mat-icon"); - i0.ɵɵtext(2, " keyboard_arrow_down "); - i0.ɵɵelementEnd()(); -} if (rf & 2) { - const ctx_r19 = i0.ɵɵnextContext(2); - i0.ɵɵadvance(1); - i0.ɵɵproperty("@ExpandedRTL", ctx_r19.nodeExpandStatus()); -} } -function ListItemContentComponent_ng_template_7_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 11); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_7_ng_container_1_Template, 1, 0, "ng-container", 0); - i0.ɵɵelementStart(2, "span", 12); - i0.ɵɵtext(3); - i0.ɵɵelementEnd()(); - i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_7_div_4_Template, 3, 1, "div", 13); -} if (rf & 2) { - const ctx_r8 = i0.ɵɵnextContext(); - const _r9 = i0.ɵɵreference(10); - i0.ɵɵproperty("dir", "rtl"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", _r9); - i0.ɵɵadvance(2); - i0.ɵɵtextInterpolate(ctx_r8.node.label); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx_r8.node.hasChildren); -} } -function ListItemContentComponent_ng_template_9_span_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "span", 20); - i0.ɵɵelement(1, "i", 21); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r20 = i0.ɵɵnextContext(2); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngClass", ctx_r20.getSelectedFaIcon()); -} } -function ListItemContentComponent_ng_template_9_mat_icon_2_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "mat-icon", 22); - i0.ɵɵtext(1); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r21 = i0.ɵɵnextContext(2); - i0.ɵɵadvance(1); - i0.ɵɵtextInterpolate1(" ", ctx_r21.getSelectedIcon(), " "); -} } -function ListItemContentComponent_ng_template_9_mat_icon_3_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelement(0, "mat-icon", 23); -} if (rf & 2) { - const ctx_r22 = i0.ɵɵnextContext(2); - i0.ɵɵpropertyInterpolate("svgIcon", ctx_r22.getSelectedSvgIcon()); -} } -function ListItemContentComponent_ng_template_9_img_4_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelement(0, "img", 24); -} if (rf & 2) { - const ctx_r23 = i0.ɵɵnextContext(2); - i0.ɵɵpropertyInterpolate("src", ctx_r23.getSelectedImageIcon(), i0.ɵɵsanitizeUrl); - i0.ɵɵpropertyInterpolate("alt", ctx_r23.node.label); -} } -function ListItemContentComponent_ng_template_9_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 15); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_9_span_1_Template, 2, 1, "span", 16); - i0.ɵɵtemplate(2, ListItemContentComponent_ng_template_9_mat_icon_2_Template, 2, 1, "mat-icon", 17); - i0.ɵɵtemplate(3, ListItemContentComponent_ng_template_9_mat_icon_3_Template, 1, 1, "mat-icon", 18); - i0.ɵɵtemplate(4, ListItemContentComponent_ng_template_9_img_4_Template, 1, 2, "img", 19); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r10 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngSwitch", ctx_r10.getListIcon(ctx_r10.node)); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngSwitchCase", "faIcon"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngSwitchCase", "icon"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngSwitchCase", "svgIcon"); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngSwitchCase", "imageIcon"); -} } -class ListItemContentComponent { - node; - isRtlLayout; - constructor() { - // NOOP - } - ngOnInit() { - // NOOP - } - getListIcon(node) { - if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) { - return `icon`; - } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { - return `faIcon`; - } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { - return `imageIcon`; - } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { - return `svgIcon`; - } - else { - return ``; - } - } - getHrefTargetType() { - return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; - } - getSelectedSvgIcon() { - return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; - } - getSelectedIcon() { - return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; - } - getSelectedFaIcon() { - return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; - } - getSelectedImageIcon() { - return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; - } - nodeExpandStatus() { - return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; - } - static ɵfac = function ListItemContentComponent_Factory(t) { return new (t || ListItemContentComponent)(); }; - static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListItemContentComponent, selectors: [["ng-list-item-content"]], inputs: { node: "node", isRtlLayout: "isRtlLayout" }, decls: 11, vars: 1, consts: [[4, "ngTemplateOutlet"], ["redirectLinkTemplate", ""], ["routerLinkTemplate", ""], ["linkLabelLtrOutlet", ""], ["linkLabelRtlOutlet", ""], ["iconContainer", ""], [1, "anml-link", 3, "href", "target"], ["class", "anml-link", 3, "routerLink", 4, "ngIf"], ["class", "anml-link", 4, "ngIf"], [1, "anml-link", 3, "routerLink"], [1, "anml-link"], [1, "anml-data", 3, "dir"], [1, "label"], ["class", "amml-icon-arrow-container", 4, "ngIf"], [1, "amml-icon-arrow-container"], [1, "icon-container", 3, "ngSwitch"], ["class", "amml-icon amml-icon-fa", 4, "ngSwitchCase"], ["class", "amml-icon", 4, "ngSwitchCase"], ["class", "amml-icon amml-svg-icon", 3, "svgIcon", 4, "ngSwitchCase"], ["matListAvatar", "", "class", "amml-icon", 3, "src", "alt", 4, "ngSwitchCase"], [1, "amml-icon", "amml-icon-fa"], [3, "ngClass"], [1, "amml-icon"], [1, "amml-icon", "amml-svg-icon", 3, "svgIcon"], ["matListAvatar", "", 1, "amml-icon", 3, "src", "alt"]], template: function ListItemContentComponent_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵtemplate(0, ListItemContentComponent_ng_container_0_Template, 1, 0, "ng-container", 0); - i0.ɵɵtemplate(1, ListItemContentComponent_ng_template_1_Template, 2, 3, "ng-template", null, 1, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(3, ListItemContentComponent_ng_template_3_Template, 2, 2, "ng-template", null, 2, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(5, ListItemContentComponent_ng_template_5_Template, 5, 4, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(7, ListItemContentComponent_ng_template_7_Template, 5, 4, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(9, ListItemContentComponent_ng_template_9_Template, 5, 5, "ng-template", null, 5, i0.ɵɵtemplateRefExtractor); - } if (rf & 2) { - const _r1 = i0.ɵɵreference(2); - const _r3 = i0.ɵɵreference(4); - i0.ɵɵproperty("ngTemplateOutlet", ctx.node.externalRedirect ? _r1 : _r3); - } }, dependencies: [i3.NgClass, i3.NgIf, i3.NgTemplateOutlet, i3.NgSwitch, i3.NgSwitchCase, i2.MatIcon, i4.Dir, i1.RouterLink], styles: [".amml-item[_ngcontent-%COMP%]{position:relative;cursor:pointer}.anml-link[_ngcontent-%COMP%]{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data[_ngcontent-%COMP%]{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item[_ngcontent-%COMP%]{opacity:.5;text-decoration:none;pointer-events:none}.icon-container[_ngcontent-%COMP%]{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa[_ngcontent-%COMP%]{font-size:20px}.label[_ngcontent-%COMP%]{line-height:48px;font-weight:400}.amml-svg-icon[_ngcontent-%COMP%]{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container[_ngcontent-%COMP%]{direction:ltr;display:flex;align-items:center}div[dir=ltr][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-right:16px}div[dir=rtl][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-left:16px}"], data: { animation: [ExpandedLTR, ExpandedRTL] } }); -} -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListItemContentComponent, [{ - type: Component, - args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] - }], function () { return []; }, { node: [{ - type: Input - }], isRtlLayout: [{ - type: Input - }] }); })(); - -const _c0$1 = function (a0, a1) { return { item: a0, configuration: a1 }; }; -function ListItemComponent_div_1_Template(rf, ctx) { if (rf & 1) { - const _r7 = i0.ɵɵgetCurrentView(); - i0.ɵɵelementStart(0, "div", 5); - i0.ɵɵlistener("click", function ListItemComponent_div_1_Template_div_click_0_listener() { i0.ɵɵrestoreView(_r7); const ctx_r6 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r6.expand(ctx_r6.node)); }); - i0.ɵɵelementContainer(1, 6); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r0 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngClass", ctx_r0.selectedListClasses)("ngStyle", ctx_r0.getListStyle()); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", ctx_r0.listTemplate)("ngTemplateOutletContext", i0.ɵɵpureFunction2(4, _c0$1, ctx_r0.node, ctx_r0.nodeConfiguration)); -} } -function ListItemComponent_div_2_ng_list_item_1_Template(rf, ctx) { if (rf & 1) { - const _r11 = i0.ɵɵgetCurrentView(); - i0.ɵɵelementStart(0, "ng-list-item", 9); - i0.ɵɵlistener("selectedItem", function ListItemComponent_div_2_ng_list_item_1_Template_ng_list_item_selectedItem_0_listener($event) { i0.ɵɵrestoreView(_r11); const ctx_r10 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r10.selectedListItem($event)); }); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const singleNode_r9 = ctx.$implicit; - const ctx_r8 = i0.ɵɵnextContext(2); - i0.ɵɵproperty("nodeConfiguration", ctx_r8.nodeConfiguration)("node", singleNode_r9.value)("level", ctx_r8.level + 1)("submenuLevel", singleNode_r9.key)("selectedNode", ctx_r8.selectedNode)("nodeExpandCollapseStatus", ctx_r8.nodeExpandCollapseStatus)("listTemplate", ctx_r8.listTemplate); -} } -function ListItemComponent_div_2_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 7); - i0.ɵɵtemplate(1, ListItemComponent_div_2_ng_list_item_1_Template, 1, 7, "ng-list-item", 8); - i0.ɵɵpipe(2, "keyvalue"); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r1 = i0.ɵɵnextContext(); - i0.ɵɵproperty("@SlideInOut", undefined)("dir", ctx_r1.isRtlLayout() ? "rtl" : "ltr")("ngClass", ctx_r1.classes); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(2, 4, ctx_r1.nodeChildren, ctx_r1.multilevelMenuService.kvDummyComparerFn)); -} } -function ListItemComponent_ng_template_3_mat_list_item_0_ng_container_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementContainer(0); -} } -function ListItemComponent_ng_template_3_mat_list_item_0_Template(rf, ctx) { if (rf & 1) { - const _r16 = i0.ɵɵgetCurrentView(); - i0.ɵɵelementStart(0, "mat-list-item", 12); - i0.ɵɵlistener("click", function ListItemComponent_ng_template_3_mat_list_item_0_Template_mat_list_item_click_0_listener() { i0.ɵɵrestoreView(_r16); const ctx_r15 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r15.expand(ctx_r15.node)); }); - i0.ɵɵtemplate(1, ListItemComponent_ng_template_3_mat_list_item_0_ng_container_1_Template, 1, 0, "ng-container", 13); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const ctx_r12 = i0.ɵɵnextContext(2); - const _r4 = i0.ɵɵreference(6); - i0.ɵɵpropertyInterpolate("title", ctx_r12.node.label); - i0.ɵɵproperty("matRippleDisabled", ctx_r12.node.disabled)("ngClass", ctx_r12.selectedListClasses)("ngStyle", ctx_r12.getListStyle()); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngTemplateOutlet", _r4); -} } -function ListItemComponent_ng_template_3_mat_divider_1_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelement(0, "mat-divider"); -} } -function ListItemComponent_ng_template_3_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵtemplate(0, ListItemComponent_ng_template_3_mat_list_item_0_Template, 2, 5, "mat-list-item", 10); - i0.ɵɵtemplate(1, ListItemComponent_ng_template_3_mat_divider_1_Template, 1, 0, "mat-divider", 11); -} if (rf & 2) { - const ctx_r3 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngIf", !ctx_r3.node.hidden); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx_r3.nodeConfiguration.useDividers); -} } -function ListItemComponent_ng_template_5_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelement(0, "ng-list-item-content", 14); -} if (rf & 2) { - const ctx_r5 = i0.ɵɵnextContext(); - i0.ɵɵproperty("node", ctx_r5.node)("isRtlLayout", ctx_r5.isRtlLayout()); -} } -class ListItemComponent { - router; - multilevelMenuService; - node; - level = 1; - submenuLevel = 0; - selectedNode; - nodeConfiguration = null; - nodeExpandCollapseStatus = null; - listTemplate = null; - selectedItem = new EventEmitter(); - isSelected = false; - expanded = false; - firstInitializer = false; - nodeChildren; - classes; - selectedListClasses; - constructor(router, multilevelMenuService) { - this.router = router; - this.multilevelMenuService = multilevelMenuService; - this.selectedListClasses = { - [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, - [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, - [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, - }; - } - ngOnChanges() { - this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; - this.node.hasChildren = this.hasItems(); - if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { - this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); - } - this.setExpandCollapseStatus(); - } - ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; - if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && - this.node.faIcon.match(/\bfa\w(?!-)/) === null) { - this.node.faIcon = `fas ${this.node.faIcon}`; - } - this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; - if (typeof this.node.expanded === 'boolean') { - this.expanded = this.node.expanded; - } - this.setClasses(); - } - setSelectedClass(isFound) { - if (isFound) { - if (!this.firstInitializer) { - this.expanded = true; - } - this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; - } - else { - this.isSelected = false; - if (this.nodeConfiguration.collapseOnSelect) { - this.node.expanded = false; - this.expanded = false; - } - } - this.selectedListClasses = { - [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, - [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected, - [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id, - [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled, - [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true, - }; - this.node.isSelected = this.isSelected; - this.setClasses(); - } - getPaddingAtStart() { - return this.nodeConfiguration.paddingAtStart; - } - getListStyle() { - const styles = { - background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, - color: CONSTANT.DEFAULT_LIST_FONT_COLOR - }; - if (this.nodeConfiguration.listBackgroundColor !== null) { - styles.background = this.nodeConfiguration.listBackgroundColor; - } - if (this.isSelected) { - this.nodeConfiguration.selectedListFontColor !== null ? - styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; - } - else if (this.nodeConfiguration.fontColor !== null) { - styles.color = this.nodeConfiguration.fontColor; - } - return styles; - } - hasItems() { - return this.nodeChildren.length > 0; - } - isRtlLayout() { - return this.nodeConfiguration.rtlLayout; - } - setClasses() { - this.classes = { - [`level-${this.level + 1}`]: true, - [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), - [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() - }; - } - setExpandCollapseStatus() { - if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { - this.expanded = true; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = true; - } - } - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { - this.expanded = false; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = false; - } - } - } - } - expand(node) { - if (node.disabled) { - return; - } - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - this.expanded = !this.expanded; - this.node.expanded = this.expanded; - this.firstInitializer = true; - this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null - && this.nodeConfiguration.interfaceWithRoute - && node.link !== undefined - && node.link) { - this.router.navigate([node.link], node.navigationExtras).then(); - } - else if (node.onSelected && typeof node.onSelected === 'function') { - node.onSelected(node); - this.selectedListItem(node); - } - else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { - this.selectedListItem(node); - } - } - selectedListItem(node) { - this.selectedItem.emit(node); - } - static ɵfac = function ListItemComponent_Factory(t) { return new (t || ListItemComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(MultilevelMenuService)); }; - static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: ListItemComponent, selectors: [["ng-list-item"]], inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, features: [i0.ɵɵNgOnChangesFeature], decls: 7, vars: 3, consts: [[1, "amml-menu-container"], [3, "ngClass", "ngStyle", "click", 4, "ngIf", "ngIfElse"], [3, "dir", "ngClass", 4, "ngIf"], ["baseTemplate", ""], ["linkTemplate", ""], [3, "ngClass", "ngStyle", "click"], [3, "ngTemplateOutlet", "ngTemplateOutletContext"], [3, "dir", "ngClass"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem", 4, "ngFor", "ngForOf"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem"], ["matRipple", "", 3, "title", "matRippleDisabled", "ngClass", "ngStyle", "click", 4, "ngIf"], [4, "ngIf"], ["matRipple", "", 3, "title", "matRippleDisabled", "ngClass", "ngStyle", "click"], [4, "ngTemplateOutlet"], [1, "filled", 3, "node", "isRtlLayout"]], template: function ListItemComponent_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 0); - i0.ɵɵtemplate(1, ListItemComponent_div_1_Template, 2, 7, "div", 1); - i0.ɵɵtemplate(2, ListItemComponent_div_2_Template, 3, 7, "div", 2); - i0.ɵɵelementEnd(); - i0.ɵɵtemplate(3, ListItemComponent_ng_template_3_Template, 2, 2, "ng-template", null, 3, i0.ɵɵtemplateRefExtractor); - i0.ɵɵtemplate(5, ListItemComponent_ng_template_5_Template, 1, 2, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor); - } if (rf & 2) { - const _r2 = i0.ɵɵreference(4); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx.nodeConfiguration.customTemplate && !ctx.node.hidden)("ngIfElse", _r2); - i0.ɵɵadvance(1); - i0.ɵɵproperty("ngIf", ctx.hasItems() && ctx.expanded); - } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgTemplateOutlet, i3.NgStyle, i4.Dir, i5.MatListItem, i6.MatDivider, i7.MatRipple, ListItemComponent, ListItemContentComponent, i3.KeyValuePipe], styles: [".filled[_ngcontent-%COMP%]{width:100%}div[dir=rtl].amml-submenu[_ngcontent-%COMP%]{margin-right:16px}div[dir=ltr].amml-submenu[_ngcontent-%COMP%]{margin-left:16px}"], data: { animation: [SlideInOut] } }); -} -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(ListItemComponent, [{ - type: Component, - args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] - }], function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, { node: [{ - type: Input - }], level: [{ - type: Input - }], submenuLevel: [{ - type: Input - }], selectedNode: [{ - type: Input - }], nodeConfiguration: [{ - type: Input - }], nodeExpandCollapseStatus: [{ - type: Input - }], listTemplate: [{ - type: Input - }], selectedItem: [{ - type: Output - }] }); })(); - -class MaterialsModule { - static ɵfac = function MaterialsModule_Factory(t) { return new (t || MaterialsModule)(); }; - static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: MaterialsModule }); - static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [MatIconModule, - MatListModule, - MatRippleModule, MatIconModule, - MatListModule, - MatRippleModule] }); -} -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MaterialsModule, [{ - type: NgModule, - args: [{ - imports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ], - declarations: [], - exports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ] - }] - }], null, null); })(); -(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(MaterialsModule, { imports: [MatIconModule, - MatListModule, - MatRippleModule], exports: [MatIconModule, - MatListModule, - MatRippleModule] }); })(); - -const _c0 = ["listTemplate"]; -function NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template(rf, ctx) { if (rf & 1) { - const _r4 = i0.ɵɵgetCurrentView(); - i0.ɵɵelementStart(0, "ng-list-item", 3); - i0.ɵɵlistener("selectedItem", function NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template_ng_list_item_selectedItem_0_listener($event) { i0.ɵɵrestoreView(_r4); const ctx_r3 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r3.selectedListItem($event)); }); - i0.ɵɵelementEnd(); -} if (rf & 2) { - const node_r2 = ctx.$implicit; - const ctx_r1 = i0.ɵɵnextContext(2); - i0.ɵɵproperty("nodeConfiguration", ctx_r1.nodeConfig)("node", node_r2.value)("level", 1)("submenuLevel", node_r2.key)("selectedNode", ctx_r1.currentNode)("nodeExpandCollapseStatus", ctx_r1.nodeExpandCollapseStatus)("listTemplate", ctx_r1.listTemplate); -} } -function NgMaterialMultilevelMenuComponent_div_0_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵelementStart(0, "div", 1)(1, "mat-list"); - i0.ɵɵtemplate(2, NgMaterialMultilevelMenuComponent_div_0_ng_list_item_2_Template, 1, 7, "ng-list-item", 2); - i0.ɵɵpipe(3, "keyvalue"); - i0.ɵɵelementEnd()(); -} if (rf & 2) { - const ctx_r0 = i0.ɵɵnextContext(); - i0.ɵɵproperty("ngClass", ctx_r0.getClassName())("ngStyle", ctx_r0.getGlobalStyle())("dir", ctx_r0.isRtlLayout() ? "rtl" : "ltr"); - i0.ɵɵadvance(2); - i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind2(3, 4, ctx_r0.items, ctx_r0.multilevelMenuService.kvDummyComparerFn)); -} } -class NgMaterialMultilevelMenuComponent { - router; - multilevelMenuService; - items; - configuration = null; - selectedItem = new EventEmitter(); - selectedLabel = new EventEmitter(); - menuIsReady = new EventEmitter(); - listTemplate; - expandCollapseStatusSubscription = null; - selectMenuByIDSubscription = null; - currentNode = null; - nodeConfig = { - paddingAtStart: true, - listBackgroundColor: null, - fontColor: null, - selectedListFontColor: null, - interfaceWithRoute: null, - collapseOnSelect: null, - highlightOnSelect: false, - useDividers: true, - rtlLayout: false, - customTemplate: false - }; - isInvalidConfig = true; - isInvalidData = true; - nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - constructor(router, multilevelMenuService) { - this.router = router; - this.multilevelMenuService = multilevelMenuService; - // NOOP - } - ngOnChanges() { - this.detectInvalidConfig(); - this.initExpandCollapseStatus(); - this.initSelectedMenuID(); - if (!this.isInvalidData) { - this.menuIsReady.emit(this.items); - } - } - ngOnInit() { - if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && - this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { - this.router.events - .subscribe((event) => { - if (event instanceof NavigationEnd) { - this.updateNodeByURL(event.urlAfterRedirects); - } - }); - this.updateNodeByURL(this.router.url); - } - } - updateNodeByURL(url) { - const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) - // && !foundNode.disabled // Prevent route redirection for disabled menu - ) { - this.currentNode = foundNode; - if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) { - this.selectedListItem(foundNode); - } - } - } - checkValidData() { - if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { - console.warn(CONSTANT.ERROR_MESSAGE); - return; - } - this.items = this.items.filter(n => !n.hidden); - this.multilevelMenuService.addRandomId(this.items); - this.isInvalidData = false; - } - detectInvalidConfig() { - if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) { - this.isInvalidConfig = true; - } - else { - this.isInvalidConfig = false; - const config = this.configuration; - if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && - typeof config.paddingAtStart === 'boolean') { - this.nodeConfig.paddingAtStart = config.paddingAtStart; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { - this.nodeConfig.listBackgroundColor = config.listBackgroundColor; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) { - this.nodeConfig.fontColor = config.fontColor; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) { - this.nodeConfig.selectedListFontColor = config.selectedListFontColor; - } - if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && - typeof config.interfaceWithRoute === 'boolean') { - this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; - } - if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && - typeof config.collapseOnSelect === 'boolean') { - this.nodeConfig.collapseOnSelect = config.collapseOnSelect; - } - if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && - typeof config.highlightOnSelect === 'boolean') { - this.nodeConfig.highlightOnSelect = config.highlightOnSelect; - } - if (!CommonUtils.isNullOrUndefined(config.useDividers) && - typeof config.useDividers === 'boolean') { - this.nodeConfig.useDividers = config.useDividers; - } - if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && - typeof config.rtlLayout === 'boolean') { - this.nodeConfig.rtlLayout = config.rtlLayout; - } - if (!CommonUtils.isNullOrUndefined(config.customTemplate) && - typeof config.customTemplate === 'boolean') { - this.nodeConfig.customTemplate = config.customTemplate; - } - } - this.checkValidData(); - } - initExpandCollapseStatus() { - this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ - .subscribe((expandCollapseStatus) => { - this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; - }, () => { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - }); - } - initSelectedMenuID() { - this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); - } - } - }); - } - getClassName() { - if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { - return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; - } - return CONSTANT.DEFAULT_CLASS_NAME; - } - getGlobalStyle() { - if (!this.isInvalidConfig) { - const styles = { - background: null - }; - if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { - styles.background = this.configuration.backgroundColor; - } - return styles; - } - } - isRtlLayout() { - return this.nodeConfig.rtlLayout; - } - selectedListItem(event) { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - this.currentNode = event; - if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { - return; - } - if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { - this.selectedItem.emit(event); - } - else { - this.selectedLabel.emit(event); - } - } - ngOnDestroy() { - this.expandCollapseStatusSubscription.unsubscribe(); - this.selectMenuByIDSubscription.unsubscribe(); - } - static ɵfac = function NgMaterialMultilevelMenuComponent_Factory(t) { return new (t || NgMaterialMultilevelMenuComponent)(i0.ɵɵdirectiveInject(i1.Router), i0.ɵɵdirectiveInject(MultilevelMenuService)); }; - static ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: NgMaterialMultilevelMenuComponent, selectors: [["ng-material-multilevel-menu"]], contentQueries: function NgMaterialMultilevelMenuComponent_ContentQueries(rf, ctx, dirIndex) { if (rf & 1) { - i0.ɵɵcontentQuery(dirIndex, _c0, 7); - } if (rf & 2) { - let _t; - i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.listTemplate = _t.first); - } }, inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, features: [i0.ɵɵNgOnChangesFeature], decls: 1, vars: 1, consts: [[3, "ngClass", "ngStyle", "dir", 4, "ngIf"], [3, "ngClass", "ngStyle", "dir"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem", 4, "ngFor", "ngForOf"], [3, "nodeConfiguration", "node", "level", "submenuLevel", "selectedNode", "nodeExpandCollapseStatus", "listTemplate", "selectedItem"]], template: function NgMaterialMultilevelMenuComponent_Template(rf, ctx) { if (rf & 1) { - i0.ɵɵtemplate(0, NgMaterialMultilevelMenuComponent_div_0_Template, 4, 7, "div", 0); - } if (rf & 2) { - i0.ɵɵproperty("ngIf", !ctx.isInvalidData && ctx.items.length !== 0); - } }, dependencies: [i3.NgClass, i3.NgForOf, i3.NgIf, i3.NgStyle, i4.Dir, i5.MatList, ListItemComponent, i3.KeyValuePipe], styles: [".amml-container[_ngcontent-%COMP%] .mat-mdc-list.mat-mdc-list-base.mdc-list[_ngcontent-%COMP%]{padding:unset}.amml-item[_ngcontent-%COMP%]{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data[_ngcontent-%COMP%]{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa[_ngcontent-%COMP%]{font-size:20px}.amml-icon[_ngcontent-%COMP%]{line-height:48px}.active[_ngcontent-%COMP%]{color:#1976d2}div[dir=ltr][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-right:15px}div[dir=ltr][_ngcontent-%COMP%] .amml-submenu[_ngcontent-%COMP%]{margin-left:16px}div[dir=rtl][_ngcontent-%COMP%] .amml-icon[_ngcontent-%COMP%]{margin-left:15px}div[dir=rtl][_ngcontent-%COMP%] .amml-submenu[_ngcontent-%COMP%]{margin-right:16px}"] }); -} -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgMaterialMultilevelMenuComponent, [{ - type: Component, - args: [{ selector: 'ng-material-multilevel-menu', template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] - }], function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, { items: [{ - type: Input - }], configuration: [{ - type: Input - }], selectedItem: [{ - type: Output - }], selectedLabel: [{ - type: Output - }], menuIsReady: [{ - type: Output - }], listTemplate: [{ - type: ContentChild, - args: ['listTemplate', { static: true }] - }] }); })(); - -class NgMaterialMultilevelMenuModule { - static ɵfac = function NgMaterialMultilevelMenuModule_Factory(t) { return new (t || NgMaterialMultilevelMenuModule)(); }; - static ɵmod = /*@__PURE__*/ i0.ɵɵdefineNgModule({ type: NgMaterialMultilevelMenuModule }); - static ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ imports: [CommonModule, - MaterialsModule, - RouterModule] }); -} -(function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(NgMaterialMultilevelMenuModule, [{ - type: NgModule, - args: [{ - imports: [ - CommonModule, - MaterialsModule, - RouterModule, - ], - declarations: [ - NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent, - ], - exports: [NgMaterialMultilevelMenuComponent] - }] - }], null, null); })(); -(function () { (typeof ngJitMode === "undefined" || ngJitMode) && i0.ɵɵsetNgModuleScope(NgMaterialMultilevelMenuModule, { declarations: [NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent], imports: [CommonModule, - MaterialsModule, - RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); })(); - -/* - * Public API Surface of ng-material-multilevel-menu - */ - -/** - * Generated bundle index. Do not edit. - */ - -export { ExpandCollapseStatusEnum, ExpandedLTR, ExpandedRTL, MultilevelMenuService, NgMaterialMultilevelMenuComponent, NgMaterialMultilevelMenuModule, SlideInOut }; -//# sourceMappingURL=ng-material-multilevel-menu.mjs.map diff --git a/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs.map b/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs.map deleted file mode 100644 index 679d25e..0000000 --- a/dist/ng-material-multilevel-menu/fesm2022/ng-material-multilevel-menu.mjs.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ng-material-multilevel-menu.mjs","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../projects/ng-material-multilevel-menu/src/ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from '@angular/router';\r\n\r\nexport interface MultilevelNode {\r\n id?: string;\r\n label: string;\r\n faIcon?: string;\r\n icon?: string;\r\n imageIcon?: string;\r\n svgIcon?: string;\r\n activeFaIcon?: string;\r\n activeIcon?: string;\r\n activeImageIcon?: string;\r\n activeSvgIcon?: string;\r\n hidden?: boolean;\r\n link?: string;\r\n externalRedirect?: boolean;\r\n hrefTargetType?: string;\r\n data?: any;\r\n items?: MultilevelNode[];\r\n onSelected?: Function;\r\n disabled?: boolean;\r\n expanded?: boolean;\r\n navigationExtras?: NavigationExtras;\r\n dontEmit?: boolean;\r\n hasChildren?: boolean;\r\n isSelected?: boolean;\r\n}\r\n\r\nexport interface Configuration {\r\n classname?: string;\r\n paddingAtStart?: boolean;\r\n backgroundColor?: string;\r\n listBackgroundColor?: string;\r\n fontColor?: string;\r\n selectedListFontColor?: string;\r\n interfaceWithRoute?: boolean;\r\n collapseOnSelect?: boolean;\r\n highlightOnSelect?: boolean;\r\n useDividers?: boolean;\r\n rtlLayout?: boolean;\r\n customTemplate?: boolean;\r\n}\r\n\r\nexport interface BackgroundStyle {\r\n background: string;\r\n}\r\n\r\nexport interface ListStyle {\r\n background: string;\r\n color: string;\r\n}\r\n\r\nexport enum ExpandCollapseStatusEnum {\r\n expand = 'expand',\r\n collapse = 'collapse',\r\n neutral = 'neutral',\r\n}\r\n","export const CONSTANT = {\r\n PADDING_AT_START: true,\r\n DEFAULT_CLASS_NAME: `amml-container`,\r\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\r\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\r\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\r\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\r\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\r\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\r\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\r\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\r\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\r\n DEFAULT_HREF_TARGET_TYPE: '_self',\r\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`,\r\n POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',\r\n YES: 'yes',\r\n NO: 'no'\r\n};\r\n"," import {BehaviorSubject, Observable, Subject} from 'rxjs';\r\nimport { MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport {CONSTANT} from './constants';\r\n\r\nexport class MultilevelMenuService {\r\n foundLinkObject: MultilevelNode;\r\n private expandCollapseStatus: Subject = new Subject();\r\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\r\n\r\n private selectedMenuID: Subject = new Subject();\r\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\r\n\r\n private generateId(): string {\r\n let text = '';\r\n for (let i = 0; i < 20; i++) {\r\n text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length));\r\n }\r\n return text;\r\n }\r\n addRandomId(nodes: MultilevelNode[]): void {\r\n nodes.forEach((node: MultilevelNode) => {\r\n node.id = this.generateId();\r\n if (node.items !== undefined) {\r\n this.addRandomId(node.items);\r\n }\r\n });\r\n }\r\n recursiveCheckId(node: MultilevelNode, nodeId: string): boolean {\r\n if (node.id === nodeId) {\r\n return true;\r\n } else {\r\n if (node.items !== undefined) {\r\n return node.items.some((nestedNode: MultilevelNode) => {\r\n return this.recursiveCheckId(nestedNode, nodeId);\r\n });\r\n }\r\n }\r\n }\r\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNode[], link?: string, id?: string}): void {\r\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\r\n const node = nodes[nodeIndex];\r\n for (const key in node) {\r\n if (node.hasOwnProperty(key)) {\r\n if (encodeURI(node.link) === link) {\r\n this.foundLinkObject = node;\r\n } else if (node.id === id) {\r\n this.foundLinkObject = node;\r\n } else {\r\n if (node.items !== undefined) {\r\n this.findNodeRecursively({\r\n nodes: node.items,\r\n link: link ? link : null,\r\n id: id ? id : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, link});\r\n return this.foundLinkObject;\r\n }\r\n getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, id});\r\n return this.foundLinkObject;\r\n }\r\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\r\n // https://angular.io/api/common/KeyValuePipe#description\r\n kvDummyComparerFn() {\r\n return 0;\r\n }\r\n setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void {\r\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\r\n }\r\n selectMenuByID(menuID: string) {\r\n this.selectedMenuID.next(menuID);\r\n return this.foundLinkObject;\r\n }\r\n}\r\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport const SlideInOut = trigger('SlideInOut', [\r\n state(\r\n 'in',\r\n style({ height: '*', opacity: 0 })),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 0.2 }),\r\n group([\r\n animate(200, style({ height: 0 })),\r\n animate('200ms ease-out', style({ opacity: 0 }))\r\n ])\r\n ]),\r\n transition(':enter', [\r\n style({ height: '0', opacity: 0 }),\r\n group([\r\n animate(200, style({ height: '*' })),\r\n animate('400ms ease-out', style({ opacity: 1 }))\r\n ])\r\n ])\r\n ]\r\n);\r\n\r\nexport const ExpandedLTR = trigger('ExpandedLTR', [\r\n state('no', style({ transform: 'rotate(-90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n\r\nexport const ExpandedRTL = trigger('ExpandedRTL', [\r\n state('no', style({ transform: 'rotate(90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n","export class CommonUtils {\r\n\r\n static isNullOrUndefinedOrEmpty = function (object: any): boolean {\r\n return CommonUtils.isNullOrUndefined(object) || object === '';\r\n };\r\n\r\n static isNullOrUndefined = function (object: any): boolean {\r\n return object === null || object === undefined;\r\n };\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {MultilevelNode} from '../../app.model';\r\nimport {ExpandedLTR, ExpandedRTL} from '../../animation';\r\nimport {CommonUtils} from '../../common-utils';\r\nimport {CONSTANT} from '../../constants';\r\n\r\n@Component({\r\n selector: 'ng-list-item-content',\r\n templateUrl: './list-item-content.component.html',\r\n styleUrls: ['./list-item-content.component.css'],\r\n animations: [ExpandedLTR, ExpandedRTL]\r\n})\r\nexport class ListItemContentComponent implements OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() isRtlLayout: boolean;\r\n\r\n constructor() {\r\n // NOOP\r\n }\r\n\r\n ngOnInit(): void {\r\n // NOOP\r\n }\r\n\r\n getListIcon(node: MultilevelNode): string {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) {\r\n return `icon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) {\r\n return `faIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) {\r\n return `imageIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) {\r\n return `svgIcon`;\r\n } else {\r\n return ``;\r\n }\r\n }\r\n\r\n getHrefTargetType(): string {\r\n return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE;\r\n }\r\n\r\n getSelectedSvgIcon(): string {\r\n return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon;\r\n }\r\n\r\n getSelectedIcon(): string {\r\n return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon;\r\n }\r\n\r\n getSelectedFaIcon(): string {\r\n return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon;\r\n }\r\n\r\n getSelectedImageIcon(): string {\r\n return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon;\r\n }\r\n\r\n nodeExpandStatus(): string {\r\n return this.node.expanded ? CONSTANT.YES : CONSTANT.NO;\r\n }\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n","import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model';\r\nimport { CONSTANT } from '../constants';\r\nimport { MultilevelMenuService } from '../multilevel-menu.service';\r\nimport { SlideInOut } from '../animation';\r\nimport {CommonUtils} from '../common-utils';\r\n\r\n@Component({\r\n selector: 'ng-list-item',\r\n templateUrl: './list-item.component.html',\r\n styleUrls: ['./list-item.component.css'],\r\n animations: [SlideInOut]\r\n})\r\nexport class ListItemComponent implements OnChanges, OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() level = 1;\r\n @Input() submenuLevel = 0;\r\n @Input() selectedNode: MultilevelNode;\r\n @Input() nodeConfiguration: Configuration = null;\r\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\r\n @Input() listTemplate: TemplateRef = null;\r\n\r\n @Output() selectedItem = new EventEmitter();\r\n\r\n isSelected = false;\r\n expanded = false;\r\n firstInitializer = false;\r\n\r\n nodeChildren: MultilevelNode[];\r\n classes: { [index: string]: boolean };\r\n selectedListClasses: { [index: string]: boolean };\r\n\r\n constructor(private router: Router,\r\n public multilevelMenuService: MultilevelMenuService) {\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\r\n };\r\n }\r\n\r\n ngOnChanges() {\r\n this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : [];\r\n this.node.hasChildren = this.hasItems();\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.selectedNode)) {\r\n this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id));\r\n }\r\n this.setExpandCollapseStatus();\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled;\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.node.faIcon) &&\r\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null) {\r\n this.node.faIcon = `fas ${this.node.faIcon}`;\r\n }\r\n\r\n this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true;\r\n if (typeof this.node.expanded === 'boolean') {\r\n this.expanded = this.node.expanded;\r\n }\r\n this.setClasses();\r\n }\r\n\r\n setSelectedClass(isFound: boolean): void {\r\n if (isFound) {\r\n if (!this.firstInitializer) {\r\n this.expanded = true;\r\n }\r\n this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined;\r\n } else {\r\n this.isSelected = false;\r\n if (this.nodeConfiguration.collapseOnSelect) {\r\n this.node.expanded = false;\r\n this.expanded = false;\r\n }\r\n }\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\r\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\r\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\r\n };\r\n this.node.isSelected = this.isSelected;\r\n this.setClasses();\r\n }\r\n\r\n getPaddingAtStart(): boolean {\r\n return this.nodeConfiguration.paddingAtStart;\r\n }\r\n\r\n getListStyle(): ListStyle {\r\n const styles = {\r\n background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR,\r\n color: CONSTANT.DEFAULT_LIST_FONT_COLOR\r\n };\r\n if (this.nodeConfiguration.listBackgroundColor !== null) {\r\n styles.background = this.nodeConfiguration.listBackgroundColor;\r\n }\r\n if (this.isSelected) {\r\n this.nodeConfiguration.selectedListFontColor !== null ?\r\n styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR;\r\n } else if (this.nodeConfiguration.fontColor !== null) {\r\n styles.color = this.nodeConfiguration.fontColor;\r\n }\r\n return styles;\r\n }\r\n\r\n hasItems(): boolean {\r\n return this.nodeChildren.length > 0;\r\n }\r\n\r\n isRtlLayout(): boolean {\r\n return this.nodeConfiguration.rtlLayout;\r\n }\r\n\r\n setClasses(): void {\r\n this.classes = {\r\n [`level-${this.level + 1}`]: true,\r\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(),\r\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems()\r\n };\r\n }\r\n\r\n setExpandCollapseStatus(): void {\r\n if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) {\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\r\n this.expanded = true;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = true;\r\n }\r\n }\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\r\n this.expanded = false;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n expand(node: MultilevelNode): void {\r\n if (node.disabled) {\r\n return;\r\n }\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.expanded = !this.expanded;\r\n this.node.expanded = this.expanded;\r\n this.firstInitializer = true;\r\n this.setClasses();\r\n if (this.nodeConfiguration.interfaceWithRoute !== null\r\n && this.nodeConfiguration.interfaceWithRoute\r\n && node.link !== undefined\r\n && node.link\r\n ) {\r\n this.router.navigate([node.link], node.navigationExtras).then();\r\n } else if (node.onSelected && typeof node.onSelected === 'function') {\r\n node.onSelected(node);\r\n this.selectedListItem(node);\r\n } else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) {\r\n this.selectedListItem(node);\r\n }\r\n }\r\n\r\n selectedListItem(node: MultilevelNode): void {\r\n this.selectedItem.emit(node);\r\n }\r\n\r\n}\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\n\r\n@NgModule({\r\n imports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ],\r\n declarations: [],\r\n exports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ]\r\n})\r\nexport class MaterialsModule { }\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n","import { Component, OnChanges, OnInit, OnDestroy, Output, EventEmitter, Input, ContentChild, TemplateRef, ElementRef } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport { CONSTANT } from './constants';\r\nimport { MultilevelMenuService } from './multilevel-menu.service';\r\nimport {CommonUtils} from './common-utils';\r\n\r\n@Component({\r\n selector: 'ng-material-multilevel-menu',\r\n templateUrl: './ng-material-multilevel-menu.component.html',\r\n styleUrls: ['./ng-material-multilevel-menu.component.css'],\r\n})\r\nexport class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() items: MultilevelNode[];\r\n @Input() configuration: Configuration = null;\r\n @Output() selectedItem = new EventEmitter();\r\n @Output() selectedLabel = new EventEmitter();\r\n @Output() menuIsReady = new EventEmitter();\r\n @ContentChild('listTemplate', {static: true}) listTemplate: TemplateRef;\r\n\r\n expandCollapseStatusSubscription: Subscription = null;\r\n selectMenuByIDSubscription: Subscription = null;\r\n currentNode: MultilevelNode = null;\r\n\r\n nodeConfig: Configuration = {\r\n paddingAtStart: true,\r\n listBackgroundColor: null,\r\n fontColor: null,\r\n selectedListFontColor: null,\r\n interfaceWithRoute: null,\r\n collapseOnSelect: null,\r\n highlightOnSelect: false,\r\n useDividers: true,\r\n rtlLayout: false,\r\n customTemplate: false\r\n };\r\n isInvalidConfig = true;\r\n isInvalidData = true;\r\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral;\r\n\r\n constructor(private router: Router,\r\n public multilevelMenuService: MultilevelMenuService) {\r\n // NOOP\r\n }\r\n ngOnChanges() {\r\n this.detectInvalidConfig();\r\n this.initExpandCollapseStatus();\r\n this.initSelectedMenuID();\r\n if (!this.isInvalidData) {\r\n this.menuIsReady.emit(this.items);\r\n }\r\n }\r\n ngOnInit() {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) &&\r\n this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) {\r\n this.router.events\r\n .subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.updateNodeByURL(event.urlAfterRedirects);\r\n }\r\n });\r\n this.updateNodeByURL(this.router.url);\r\n }\r\n }\r\n updateNodeByURL(url: string): void {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url);\r\n if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)\r\n // && !foundNode.disabled // Prevent route redirection for disabled menu\r\n ) {\r\n this.currentNode = foundNode;\r\n if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) {\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n }\r\n checkValidData(): void {\r\n if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) {\r\n console.warn(CONSTANT.ERROR_MESSAGE);\r\n return;\r\n }\r\n this.items = this.items.filter(n => !n.hidden);\r\n this.multilevelMenuService.addRandomId(this.items);\r\n this.isInvalidData = false;\r\n }\r\n detectInvalidConfig(): void {\r\n if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) {\r\n this.isInvalidConfig = true;\r\n } else {\r\n this.isInvalidConfig = false;\r\n const config = this.configuration;\r\n if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) &&\r\n typeof config.paddingAtStart === 'boolean') {\r\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) {\r\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) {\r\n this.nodeConfig.fontColor = config.fontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) {\r\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) &&\r\n typeof config.interfaceWithRoute === 'boolean') {\r\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) &&\r\n typeof config.collapseOnSelect === 'boolean') {\r\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) &&\r\n typeof config.highlightOnSelect === 'boolean') {\r\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.useDividers) &&\r\n typeof config.useDividers === 'boolean') {\r\n this.nodeConfig.useDividers = config.useDividers;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.rtlLayout) &&\r\n typeof config.rtlLayout === 'boolean') {\r\n this.nodeConfig.rtlLayout = config.rtlLayout;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.customTemplate) &&\r\n typeof config.customTemplate === 'boolean') {\r\n this.nodeConfig.customTemplate = config.customTemplate;\r\n }\r\n }\r\n this.checkValidData();\r\n }\r\n initExpandCollapseStatus(): void {\r\n this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$\r\n .subscribe( (expandCollapseStatus: ExpandCollapseStatusEnum) => {\r\n this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral;\r\n }, () => {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n });\r\n }\r\n initSelectedMenuID(): void {\r\n this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe( (selectedMenuID: string) => {\r\n if (selectedMenuID) {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID);\r\n if (foundNode !== undefined) {\r\n this.currentNode = foundNode;\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n });\r\n }\r\n getClassName(): string {\r\n if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) {\r\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\r\n }\r\n return CONSTANT.DEFAULT_CLASS_NAME;\r\n }\r\n getGlobalStyle(): BackgroundStyle {\r\n if (!this.isInvalidConfig) {\r\n const styles = {\r\n background : null\r\n };\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) {\r\n styles.background = this.configuration.backgroundColor;\r\n }\r\n return styles;\r\n }\r\n }\r\n isRtlLayout(): boolean {\r\n return this.nodeConfig.rtlLayout;\r\n }\r\n selectedListItem(event: MultilevelNode): void {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.currentNode = event;\r\n if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) {\r\n return;\r\n }\r\n if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') ) {\r\n this.selectedItem.emit(event);\r\n } else {\r\n this.selectedLabel.emit(event);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.expandCollapseStatusSubscription.unsubscribe();\r\n this.selectMenuByIDSubscription.unsubscribe();\r\n }\r\n}\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ListItemComponent } from './list-item/list-item.component';\r\nimport { MaterialsModule } from './materials.module';\r\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\r\nimport { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialsModule,\r\n RouterModule,\r\n ],\r\n declarations: [\r\n NgMaterialMultilevelMenuComponent,\r\n ListItemComponent,\r\n ListItemContentComponent,\r\n ],\r\n exports: [NgMaterialMultilevelMenuComponent]\r\n})\r\nexport class NgMaterialMultilevelMenuModule {}\r\n","/*\r\n * Public API Surface of ng-material-multilevel-menu\r\n */\r\n\r\nexport * from './lib/ng-material-multilevel-menu.module';\r\nexport * from './lib/ng-material-multilevel-menu.component';\r\nexport * from './lib/multilevel-menu.service';\r\nexport * from './lib/animation';\r\nexport { MultilevelNode, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["_c0","i2.MultilevelMenuService","i8.ListItemContentComponent"],"mappings":"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"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/index.d.ts b/dist/ng-material-multilevel-menu/index.d.ts index 62cb9c3..181bcf9 100644 --- a/dist/ng-material-multilevel-menu/index.d.ts +++ b/dist/ng-material-multilevel-menu/index.d.ts @@ -1,6 +1,6 @@ /** * Generated bundle index. Do not edit. */ -/// +/// export * from './public_api'; -//# sourceMappingURL=ng-material-multilevel-menu.d.ts.map \ No newline at end of file +//# sourceMappingURL=eddie666-ng-material-multilevel-menu.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts.map b/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts.map deleted file mode 100644 index f4bbfdb..0000000 --- a/dist/ng-material-multilevel-menu/ng-material-multilevel-menu.d.ts.map +++ /dev/null @@ -1 +0,0 @@ -{"version":3,"file":"ng-material-multilevel-menu.d.ts","sourceRoot":"","sources":["../../projects/ng-material-multilevel-menu/src/ng-material-multilevel-menu.ts"],"names":[],"mappings":"AAAA;;GAEG;;AAEH,cAAc,cAAc,CAAC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/package.json b/dist/ng-material-multilevel-menu/package.json index 93a9a5e..71b6890 100644 --- a/dist/ng-material-multilevel-menu/package.json +++ b/dist/ng-material-multilevel-menu/package.json @@ -1,22 +1,22 @@ { - "name": "ng-material-multilevel-menu", + "name": "@eddie666/ng-material-multilevel-menu", "version": "6.0.0", "repository": { "type": "git", - "url": "git+https://github.com/ShankyTiwari/ng-material-multilevel-menu.git" + "url": "git+https://github.com/eddiefrank/ng-material-multilevel-menu.git" }, "keywords": [ "Angular2", - "Angular4", + "Angular16", "Angular", "multilevel-list", "material-list", "angular-multilevel-list" ], - "author": "Shashank Tiwari ", + "author": "Eduard Frank ", "license": "MIT", "bugs": { - "url": "https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues" + "url": "https://github.com/eddiefrank/ng-material-multilevel-menu/issues" }, "dependencies": { "tslib": "^2.5.0" @@ -25,7 +25,7 @@ "@angular/common": ">= 16.0.0-rc.0 || >= 16.0.0", "@angular/core": ">= 16.0.0-rc.0 || >= 16.0.0" }, - "module": "fesm2022/ng-material-multilevel-menu.mjs", + "module": "fesm2022/eddie666-ng-material-multilevel-menu.mjs", "typings": "index.d.ts", "exports": { "./package.json": { @@ -33,13 +33,10 @@ }, ".": { "types": "./index.d.ts", - "esm2022": "./esm2022/ng-material-multilevel-menu.mjs", - "esm": "./esm2022/ng-material-multilevel-menu.mjs", - "default": "./fesm2022/ng-material-multilevel-menu.mjs" + "esm2022": "./esm2022/eddie666-ng-material-multilevel-menu.mjs", + "esm": "./esm2022/eddie666-ng-material-multilevel-menu.mjs", + "default": "./fesm2022/eddie666-ng-material-multilevel-menu.mjs" } }, - "sideEffects": false, - "scripts": { - "prepublishOnly": "node --eval \"console.error('ERROR: Trying to publish a package that has been compiled by Ivy in full compilation mode. This is not allowed.\\nPlease delete and rebuild the package with Ivy partial compilation mode, before attempting to publish.\\n')\" && exit 1" - } + "sideEffects": false } \ No newline at end of file diff --git a/package-lock.json b/package-lock.json index a57203b..6554d3c 100644 --- a/package-lock.json +++ b/package-lock.json @@ -8,26 +8,26 @@ "name": "ng-material-multilevel-menu-angular-project", "version": "6.0.0", "dependencies": { - "@angular/animations": "^16.0.0", + "@angular/animations": "^16.0.1", "@angular/cdk": "^16.0.0", - "@angular/common": "^16.0.0", - "@angular/compiler": "^16.0.0", - "@angular/core": "^16.0.0", - "@angular/forms": "^16.0.0", + "@angular/common": "^16.0.1", + "@angular/compiler": "^16.0.1", + "@angular/core": "^16.0.1", + "@angular/forms": "^16.0.1", "@angular/material": "^16.0.0", - "@angular/platform-browser": "^16.0.0", - "@angular/platform-browser-dynamic": "^16.0.0", - "@angular/router": "^16.0.0", + "@angular/platform-browser": "^16.0.1", + "@angular/platform-browser-dynamic": "^16.0.1", + "@angular/router": "^16.0.1", "core-js": "^3.30.2", "rxjs": "^7.8.1", "tslib": "^2.5.0", "zone.js": "~0.13.0" }, "devDependencies": { - "@angular-devkit/build-angular": "~16.0.0", - "@angular/cli": "^16.0.0", - "@angular/compiler-cli": "^16.0.0", - "@angular/language-service": "^16.0.0", + "@angular-devkit/build-angular": "~16.0.1", + "@angular/cli": "^16.0.1", + "@angular/compiler-cli": "^16.0.1", + "@angular/language-service": "^16.0.1", "@types/jasmine": "~4.3.1", "@types/jasminewd2": "~2.0.10", "@types/node": "^20.1.1", @@ -39,7 +39,7 @@ "karma-coverage-istanbul-reporter": "~3.0.3", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "^2.0.0", - "ng-packagr": "^16.0.0", + "ng-packagr": "^16.0.1", "protractor": "~7.0.0", "ts-node": "^10.9.1", "tslint": "~6.1.0", @@ -60,12 +60,12 @@ } }, "node_modules/@angular-devkit/architect": { - "version": "0.1600.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.0.tgz", - "integrity": "sha512-nYRcqAxZnndhAEpSpJ1U2TScs2huu674OKrsEyJTqLEANEyCPBnusAmS9HcGzMBgePAwNElqOKrr5/f1DbYq1A==", + "version": "0.1600.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/architect/-/architect-0.1600.1.tgz", + "integrity": "sha512-7N3Dugrp3Fyyn3Q6RsxFNJJ2m1QuqcF3GHJcX7siINL37Hp6xI/q5gKffcd9rf20H1DYZE0VIbR1Sk31G6hMWg==", "dev": true, "dependencies": { - "@angular-devkit/core": "16.0.0", + "@angular-devkit/core": "16.0.1", "rxjs": "7.8.1" }, "engines": { @@ -75,15 +75,15 @@ } }, "node_modules/@angular-devkit/build-angular": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.0.tgz", - "integrity": "sha512-OvDQAbrV3cUMfHws30MnDURsXselZ0GWhSxZjOdcD3cF64Nsq5ywftHOT+QC3YdDghwI8gMADN9et+aVDscBzQ==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-angular/-/build-angular-16.0.1.tgz", + "integrity": "sha512-VFhUViBfONOf6Ji4Lfkxlk+GN5l8Owm4Z0McqUIegrXsq3aSSStBBFdaDESpzhS6GIGqEBjjHMUQK8IlWT+EIQ==", "dev": true, "dependencies": { "@ampproject/remapping": "2.2.1", - "@angular-devkit/architect": "0.1600.0", - "@angular-devkit/build-webpack": "0.1600.0", - "@angular-devkit/core": "16.0.0", + "@angular-devkit/architect": "0.1600.1", + "@angular-devkit/build-webpack": "0.1600.1", + "@angular-devkit/core": "16.0.1", "@babel/core": "7.21.4", "@babel/generator": "7.21.4", "@babel/helper-annotate-as-pure": "7.18.6", @@ -95,7 +95,7 @@ "@babel/runtime": "7.21.0", "@babel/template": "7.20.7", "@discoveryjs/json-ext": "0.5.7", - "@ngtools/webpack": "16.0.0", + "@ngtools/webpack": "16.0.1", "@vitejs/plugin-basic-ssl": "1.0.1", "ansi-colors": "4.1.3", "autoprefixer": "10.4.14", @@ -123,6 +123,7 @@ "open": "8.4.2", "ora": "5.4.1", "parse5-html-rewriting-stream": "7.0.0", + "picomatch": "2.3.1", "piscina": "3.2.0", "postcss": "8.4.23", "postcss-loader": "7.2.4", @@ -282,12 +283,12 @@ "dev": true }, "node_modules/@angular-devkit/build-webpack": { - "version": "0.1600.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.0.tgz", - "integrity": "sha512-ZlNNMtAzgMCsaN5crkqtgeYxWEyZ78/ePfrJTB3+Hb6LS+hsRf4WAYubHWRWReSx87ppluRrgNZLy0K9ooWy1w==", + "version": "0.1600.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/build-webpack/-/build-webpack-0.1600.1.tgz", + "integrity": "sha512-yCy5A1UwGzpst3QJ/CRo2Y8HWRqTPOfwAPAVl91Lbch7gBFViRvq6E7N1XfQunPu/eXvKxbuq2mFSDqtyZ1mWw==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1600.0", + "@angular-devkit/architect": "0.1600.1", "rxjs": "7.8.1" }, "engines": { @@ -301,9 +302,9 @@ } }, "node_modules/@angular-devkit/core": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.0.tgz", - "integrity": "sha512-YJKvAJlg4/lfP93pQNawlOTQalynWGpoatZU+1aXBgRh5YCTKu2S/A3gtQ71DBuhac76gJe1RpxDoq41kB2KlQ==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-16.0.1.tgz", + "integrity": "sha512-2uz98IqkKJlgnHbWQ7VeL4pb+snGAZXIama2KXi+k9GsRntdcw+udX8rL3G9SdUGUF+m6+147Y1oRBMHsO/v4w==", "dev": true, "dependencies": { "ajv": "8.12.0", @@ -358,12 +359,12 @@ } }, "node_modules/@angular-devkit/schematics": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.0.tgz", - "integrity": "sha512-9uFOqjOQdhnpxU5mku2LvBkV5Ave2ihHBFaQCH7vQ7DD+p4NpLHu93bMSh+f7k9W7F0lY18g9qrihRgK/7wfuA==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-16.0.1.tgz", + "integrity": "sha512-A9D0LTYmiqiBa90GKcSuWb7hUouGIbm/AHbJbjL85WLLRbQA2PwKl7P5Mpd6nS/ZC0kfG4VQY3VOaDvb3qpI9g==", "dev": true, "dependencies": { - "@angular-devkit/core": "16.0.0", + "@angular-devkit/core": "16.0.1", "jsonc-parser": "3.2.0", "magic-string": "0.30.0", "ora": "5.4.1", @@ -376,9 +377,9 @@ } }, "node_modules/@angular/animations": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.0.tgz", - "integrity": "sha512-Xx4Ffdo3sweg24MDVAXbDfxqkNPEuRgqOC1+f9171kf+w7cBEr4Bmy37DP7YkJceaU0xJH9imcx4708KeIjqkQ==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.1.tgz", + "integrity": "sha512-ziRq1hGJJuQqQUHqNpEMp9uy1pVutvL8oNvawblh32u4bnLsVQU5gMd6sTonn0x4sphEwMNnuEmp/q6QRIx+pA==", "dependencies": { "tslib": "^2.3.0" }, @@ -386,7 +387,7 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "16.0.0" + "@angular/core": "16.0.1" } }, "node_modules/@angular/cdk": { @@ -406,15 +407,15 @@ } }, "node_modules/@angular/cli": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.0.tgz", - "integrity": "sha512-vsveaSJ5kj0MeJCg1nir5iJJEsdrRRnyNeL1awMcyrEjAhBPX3d0gfOP2fe0HR5KJtntX8zvihGus3i48Quo7A==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/cli/-/cli-16.0.1.tgz", + "integrity": "sha512-0vIAcq/S+3NXXN4/gBQFVGaxLUQ0zhRxxHQQuiT7GGII73UySuhwvaFB1BEhYG5HVJjRrP1F0ZYbvsvrmFzfXQ==", "dev": true, "dependencies": { - "@angular-devkit/architect": "0.1600.0", - "@angular-devkit/core": "16.0.0", - "@angular-devkit/schematics": "16.0.0", - "@schematics/angular": "16.0.0", + "@angular-devkit/architect": "0.1600.1", + "@angular-devkit/core": "16.0.1", + "@angular-devkit/schematics": "16.0.1", + "@schematics/angular": "16.0.1", "@yarnpkg/lockfile": "1.1.0", "ansi-colors": "4.1.3", "ini": "4.0.0", @@ -482,9 +483,9 @@ "dev": true }, "node_modules/@angular/common": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.0.tgz", - "integrity": "sha512-at3/xCevf2t9swX2P7K7gaSBuQPy7ZJsf37qQkYIuczzfij69r7s9NjYeA74/q3EWG9Yl2DCrhYoCW7ViXQINQ==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/common/-/common-16.0.1.tgz", + "integrity": "sha512-ic9Ri4Mepf4c0BTff7o4Oyl/a1vACNXXUzuoTwIjWnIqrH89dtwg7ncTD9Rv0N1lon7r4gXokTbn9A/Yk/0jbw==", "dependencies": { "tslib": "^2.3.0" }, @@ -492,14 +493,14 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "16.0.0", + "@angular/core": "16.0.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/compiler": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.0.tgz", - "integrity": "sha512-xtg+KRvSeB9DUzMDtvlaRGKv+Y0MERsz+JOoqV9H4606ThNz5h8ih6fEhVKYqG100o7GhdJaVFO+vlr2/edUHA==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-16.0.1.tgz", + "integrity": "sha512-7zNo6H1qVQow3T4EUul76SaIDSMRSl0hmtyWUzPjtWkxMjrCPSduqjA4/NHaG0KX1BsUvUtQEoDJ5jv/7EHWTQ==", "dependencies": { "tslib": "^2.3.0" }, @@ -507,7 +508,7 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/core": "16.0.0" + "@angular/core": "16.0.1" }, "peerDependenciesMeta": { "@angular/core": { @@ -516,9 +517,9 @@ } }, "node_modules/@angular/compiler-cli": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.0.tgz", - "integrity": "sha512-oyJzxiTHxziv7mD0QuA7K6tpDoL6YNGPkquKjeJjNVZvUrodGsvJ8xHO4ydmjK3nMu2ET1YarsdI8bRp4vp/7w==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/compiler-cli/-/compiler-cli-16.0.1.tgz", + "integrity": "sha512-EW7Oxp8EuTz3vCNd4RAncZGB7dCUYviUkBA4PzuyPmL2copZPt12j9qx0pXXF3T6ydjoZ+99ZEgfkKOV6FeU3g==", "dev": true, "dependencies": { "@babel/core": "7.19.3", @@ -539,7 +540,7 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/compiler": "16.0.0", + "@angular/compiler": "16.0.1", "typescript": ">=4.9.3 <5.1" } }, @@ -616,9 +617,9 @@ "dev": true }, "node_modules/@angular/core": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.0.tgz", - "integrity": "sha512-scppDxtXubum6ZiGu3ogmReBtMuA5XXk5FL3YKLb3c9O7q9Z5PC8KNQ6SsaOwEb6oW+0BWXMV698p/zmd0J4tA==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-16.0.1.tgz", + "integrity": "sha512-3s4XBbzWgyWcjI0WFlNDKRxsbm4J+OKIL4mJCM9r8gWwno9y0K/giziAm9YMIJ4VOBIvrcMbOh85o44FCk8cRA==", "dependencies": { "tslib": "^2.3.0" }, @@ -631,9 +632,9 @@ } }, "node_modules/@angular/forms": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.0.tgz", - "integrity": "sha512-avpreXyDYWf44RNM5hfi5cTXXiNwcajBURP5rLap8RPMSUi2ePlJsmi0O+3+GduNZFbtnRXIpKTj3W+GeNa0PA==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/forms/-/forms-16.0.1.tgz", + "integrity": "sha512-VbH/YnEBau0q97zI7BjSk0pu/i2S0Y/zmhvA2wgI2CCvtbqT6hCNdE/3rW6ZFBcnuCe+dFhuchXe6dX28epsvg==", "dependencies": { "tslib": "^2.3.0" }, @@ -641,16 +642,16 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.0.0", - "@angular/core": "16.0.0", - "@angular/platform-browser": "16.0.0", + "@angular/common": "16.0.1", + "@angular/core": "16.0.1", + "@angular/platform-browser": "16.0.1", "rxjs": "^6.5.3 || ^7.4.0" } }, "node_modules/@angular/language-service": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-16.0.0.tgz", - "integrity": "sha512-jySin8NdZIfcvwyemh2kRVveOvL1SPvywmIrv/6+MbKebG9Oc+casxruoRai8gh8bhahdpUAOG0t8wbedUWcxw==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/language-service/-/language-service-16.0.1.tgz", + "integrity": "sha512-m5+B0vi92le8EIxrlOruijNSjYG2Nny8hrAwt4yhoMr9HIym9nGeMXgYKYurMnqigI7zq/ZwJfnpmZ7QwjYkgA==", "dev": true, "engines": { "node": "^16.14.0 || >=18.10.0" @@ -721,9 +722,9 @@ } }, "node_modules/@angular/platform-browser": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.0.tgz", - "integrity": "sha512-6LpgLfEnumKMKM/S9joWrVSm4MdFuIjddFmlSG7zGcRqwM0N8doH/YkuwTK8/t9q8wI/yztp6qM2pg25Pgv1XA==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser/-/platform-browser-16.0.1.tgz", + "integrity": "sha512-7XLIOnTnGDJLE4Q0zBz6eI9q5V3NnsTAJqIICJHc4gk6jNgVz90gtejAQ4EFbo0d83XGzwFL22hxID5Dj1WRIA==", "dependencies": { "tslib": "^2.3.0" }, @@ -731,9 +732,9 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/animations": "16.0.0", - "@angular/common": "16.0.0", - "@angular/core": "16.0.0" + "@angular/animations": "16.0.1", + "@angular/common": "16.0.1", + "@angular/core": "16.0.1" }, "peerDependenciesMeta": { "@angular/animations": { @@ -742,9 +743,9 @@ } }, "node_modules/@angular/platform-browser-dynamic": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.0.tgz", - "integrity": "sha512-xUR36r+7hFQjAb0RA0VFfWrCLj2VnWg0xJgPe4FQmwaEWjKMc011tkJXs0PApaiTxvE0W08nadSDTu5jfsBrFw==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/platform-browser-dynamic/-/platform-browser-dynamic-16.0.1.tgz", + "integrity": "sha512-qrGlRPqJM42WZcHCbzwTA8SiK90xrhM/VrOL/8/1okuHn82gSWbbynpqycdZnsI9XMbW+HNhpKR2n8HKV38Jug==", "dependencies": { "tslib": "^2.3.0" }, @@ -752,16 +753,16 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.0.0", - "@angular/compiler": "16.0.0", - "@angular/core": "16.0.0", - "@angular/platform-browser": "16.0.0" + "@angular/common": "16.0.1", + "@angular/compiler": "16.0.1", + "@angular/core": "16.0.1", + "@angular/platform-browser": "16.0.1" } }, "node_modules/@angular/router": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.0.tgz", - "integrity": "sha512-+5gjJwFx3AFGv7OnY53pfUzaPbWe5gOVQWXAnlUuk6tsQmWJBMehuCQ5ZO5cxViQDZkyvNALzoUeU6aKWmNqmg==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/router/-/router-16.0.1.tgz", + "integrity": "sha512-4GH0SxPbuY08B/M0f3NEHf9yIFH+D3wlzWJHI75chfdqQ8gGAMG6B6PSmo3haicDxHcSnZTYNJXDLOQvaBAHcA==", "dependencies": { "tslib": "^2.3.0" }, @@ -769,9 +770,9 @@ "node": "^16.14.0 || >=18.10.0" }, "peerDependencies": { - "@angular/common": "16.0.0", - "@angular/core": "16.0.0", - "@angular/platform-browser": "16.0.0", + "@angular/common": "16.0.1", + "@angular/core": "16.0.1", + "@angular/platform-browser": "16.0.1", "rxjs": "^6.5.3 || ^7.4.0" } }, @@ -3790,9 +3791,9 @@ } }, "node_modules/@ngtools/webpack": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.0.tgz", - "integrity": "sha512-I5zjGtJu2wwIdM+OFUHXezmwTJ0wpParVJgCxR0cLd0CIbpRYSjOSZQN/nR9ZnTKAI5uFZ3MM2p/VRQGUUHUcw==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-16.0.1.tgz", + "integrity": "sha512-CZHFPMiJuOe241kO1VSSPOQ5Z9hWWkY7eSs3hnS50Ntgd4YzlHAydqexmEFpXD2YLOFjdbNETCyJ2BQTM4Kwtw==", "dev": true, "engines": { "node": "^16.14.0 || >=18.10.0", @@ -4163,13 +4164,13 @@ } }, "node_modules/@schematics/angular": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.0.tgz", - "integrity": "sha512-Ao1Y0hEDa30JjWDLnUfOsD+9nnfdBFclfKFzR+7pvvFYCpSUhH1u+8e+7noruIxlP26+SpqPn3AF5+IRTGza8w==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@schematics/angular/-/angular-16.0.1.tgz", + "integrity": "sha512-MNgH/iB3WWxMLFVHJjtXCHZ8YHtfx2e3mX2Ds5P43OTgSnTk6tHabqvwxJ4wzjoyoPUyXWLhHt0diCmVtDTNeQ==", "dev": true, "dependencies": { - "@angular-devkit/core": "16.0.0", - "@angular-devkit/schematics": "16.0.0", + "@angular-devkit/core": "16.0.1", + "@angular-devkit/schematics": "16.0.1", "jsonc-parser": "3.2.0" }, "engines": { diff --git a/package.json b/package.json index 4aa1951..cf3d202 100644 --- a/package.json +++ b/package.json @@ -13,26 +13,26 @@ "homepage": "https://multilevel-menu-demo.web.app/", "private": false, "dependencies": { - "@angular/animations": "^16.0.0", + "@angular/animations": "^16.0.1", "@angular/cdk": "^16.0.0", - "@angular/common": "^16.0.0", - "@angular/compiler": "^16.0.0", - "@angular/core": "^16.0.0", - "@angular/forms": "^16.0.0", + "@angular/common": "^16.0.1", + "@angular/compiler": "^16.0.1", + "@angular/core": "^16.0.1", + "@angular/forms": "^16.0.1", "@angular/material": "^16.0.0", - "@angular/platform-browser": "^16.0.0", - "@angular/platform-browser-dynamic": "^16.0.0", - "@angular/router": "^16.0.0", + "@angular/platform-browser": "^16.0.1", + "@angular/platform-browser-dynamic": "^16.0.1", + "@angular/router": "^16.0.1", "core-js": "^3.30.2", "rxjs": "^7.8.1", "tslib": "^2.5.0", "zone.js": "~0.13.0" }, "devDependencies": { - "@angular-devkit/build-angular": "~16.0.0", - "@angular/cli": "^16.0.0", - "@angular/compiler-cli": "^16.0.0", - "@angular/language-service": "^16.0.0", + "@angular-devkit/build-angular": "~16.0.1", + "@angular/cli": "^16.0.1", + "@angular/compiler-cli": "^16.0.1", + "@angular/language-service": "^16.0.1", "@types/jasmine": "~4.3.1", "@types/jasminewd2": "~2.0.10", "@types/node": "^20.1.1", @@ -44,7 +44,7 @@ "karma-coverage-istanbul-reporter": "~3.0.3", "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "^2.0.0", - "ng-packagr": "^16.0.0", + "ng-packagr": "^16.0.1", "protractor": "~7.0.0", "ts-node": "^10.9.1", "tslint": "~6.1.0", diff --git a/projects/ng-material-multilevel-menu/tsconfig.lib.prod.json b/projects/ng-material-multilevel-menu/tsconfig.lib.prod.json index a05c793..7827f93 100644 --- a/projects/ng-material-multilevel-menu/tsconfig.lib.prod.json +++ b/projects/ng-material-multilevel-menu/tsconfig.lib.prod.json @@ -4,6 +4,7 @@ "declarationMap": false }, "angularCompilerOptions": { - "enableIvy": true + "enableIvy": true, + "compilationMode": "partial" } } diff --git a/tsconfig.json b/tsconfig.json index 2ded6a0..f5ceb22 100644 --- a/tsconfig.json +++ b/tsconfig.json @@ -26,5 +26,9 @@ "dist/ng-material-multilevel-menu/*" ] } + }, + "angularCompilerOptions": { + "enableIvy": true, + "compilationMode": "partial" } } From 551628a32058be214dc1987757e7f8ff66af6cab Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Thu, 11 May 2023 14:54:15 +0200 Subject: [PATCH 07/13] readme --- README.md | 4 +- dist/ng-material-multilevel-menu/README.md | 384 +++++++++++++++++++++ 2 files changed, 386 insertions(+), 2 deletions(-) create mode 100644 dist/ng-material-multilevel-menu/README.md diff --git a/README.md b/README.md index ace85c0..594c800 100644 --- a/README.md +++ b/README.md @@ -25,13 +25,13 @@ You can use either the npm or yarn command-line tool to install packages. Use wh #### NPM ``` -npm install --save ng-material-multilevel-menu +npm install --save @eddie666/ng-material-multilevel-menu ``` #### YARN ``` -yarn add --save ng-material-multilevel-menu +yarn add --save @eddie666/ng-material-multilevel-menu ``` ## Usage diff --git a/dist/ng-material-multilevel-menu/README.md b/dist/ng-material-multilevel-menu/README.md new file mode 100644 index 0000000..594c800 --- /dev/null +++ b/dist/ng-material-multilevel-menu/README.md @@ -0,0 +1,384 @@ +# temporary fork from ng-material-multilevel-menu + +Angular 16 compatible (ivy) + +fork from https://www.npmjs.com/package/ng-material-multilevel-menu v5.5.3 + +# ng-material-multilevel-menu + +Material Multi-Level Menu for Angular Projects. + +## Demo + +Check the Material Multi-Level Menu in action, [click here](http://plugins.codershood.info/#/plugins/ngmm-plugin). + +## Features + +check the documentation on the original page + +https://github.com/ShankyTiwari/ng-material-multilevel-menu + +## Installation + +You can use either the npm or yarn command-line tool to install packages. Use whichever is appropriate for your project in the examples below. + +#### NPM + +``` +npm install --save @eddie666/ng-material-multilevel-menu +``` + +#### YARN + +``` +yarn add --save @eddie666/ng-material-multilevel-menu +``` + +## Usage + +Follow below steps to add multi level list in your project + +#### 1. Import NgMaterialMultilevelMenuModule + +You need to import the `NgMaterialMultilevelMenuModule` in the module of your app where you want to use it. + +```typescript +import { BrowserModule } from "@angular/platform-browser"; +import { NgModule } from "@angular/core"; + +/* Import the module*/ +import { NgMaterialMultilevelMenuModule } from "ng-material-multilevel-menu"; + +import { AppComponent } from "./app.component"; + +@NgModule({ + declarations: [AppComponent], + imports: [ + BrowserModule, + NgMaterialMultilevelMenuModule, // Import here + ], + providers: [], + bootstrap: [AppComponent], +}) +export class AppModule {} +``` + +#### 2. Use in your HTML + +In your HTML: Use the `` wherever you like in your project. + +```html + +``` + +#### 3. Structure of array to display the list + +Make sure you structure of array should look like array shown below, + +```typescript +appitems = [ + { + label: "NPM", + imageIcon: "/assets/batman.jpg", + link: "https://www.npmjs.com/package/ng-material-multilevel-menu", + externalRedirect: true, + hrefTargetType: "_blank", // _blank|_self|_parent|_top|framename + }, + { + label: "Item 1 (with Font awesome icon)", + faIcon: "fab fa-500px", + items: [ + { + label: "Item 1.1", + link: "/item-1-1", + faIcon: "fab fa-accusoft", + }, + { + label: "Item 1.2", + faIcon: "fab fa-accessible-icon", + disabled: true, + items: [ + { + label: "Item 1.2.1", + link: "/item-1-2-1", + faIcon: "fa-allergies", // Font awesome default prefix is fas + }, + { + label: "Item 1.2.2", + faIcon: "fas fa-ambulance", + items: [ + { + label: "Item 1.2.2.1", + faIcon: "fas fa-anchor", // Still you can specify if you want to + onSelected: function () { + console.log("Item 1.2.2.1"); + }, + }, + ], + }, + ], + }, + ], + }, + { + label: "Item 2", + icon: "alarm", + items: [ + { + label: "Item 2.1", + link: "/item-2-1", + icon: "favorite_border", + activeIcon: "favorite", + disabled: true, + }, + { + label: "Item 2.2", + link: "/item-2-2", + icon: "favorite_border", + activeIcon: "favorite", + navigationExtras: { + queryParams: { order: "popular", filter: "new" }, + }, + }, + ], + }, + { + label: "Item 3", + icon: "offline_pin", + onSelected: function () { + console.log("Item 3"); + }, + }, + { + label: "Item 4", + link: "/item-4", + icon: "star_rate", + hidden: true, + }, +]; +``` + +## API + +- Using `configuration`, You can customise the appearance of the list. + - `paddingAtStart: boolean` => _[optional]_ If you don't want padding at the start of the list item, then you can give `false`. The default value will be `true`. + - `interfaceWithRoute: boolean` => _[required]_ only if you want to use Angular Routing with this menu. + - `highlightOnSelect: boolean` => _[optional]_ If you want to highlight the clicked item in the list, then you can do that by making it `true`. The default value will be `false`. + - `useDividers: boolean` => _[optional]_ If you want to the list to have dividers. The default value will be `true`. + - `collapseOnSelect: boolean;` => _[optional]_ You have the option to collapse another parent when clicked on the current parent. The default value will be `false`. + - `rtlLayout: boolean;` => _[optional]_ whether display is Right To Left. The default value will be `false`. + - `classname: string;` => _[optional]_ You can give your own custom class name in order to modify the list appearance. + - `listBackgroundColor: string;` => _[optional]_ You can apply custom color to the background of the list. + - `fontColor: string;` => _[optional]_ Changes the color of Text and icons inside the list. + - `backgroundColor: string;` => _[optional]_ This will change the background color list container. + - `selectedListFontColor: string;` => _[optional]_ This will change the font color of selected list item. + +Below is example how you can apply different background and Font colors, + +```typescript +config = { + paddingAtStart: true, + interfaceWithRoute: true, + classname: "my-custom-class", + listBackgroundColor: `rgb(208, 241, 239)`, + fontColor: `rgb(8, 54, 71)`, + backgroundColor: `rgb(208, 241, 239)`, + selectedListFontColor: `red`, + highlightOnSelect: true, + collapseOnSelect: true, + useDividers: false, + rtlLayout: false, +}; +``` + +## Misc + +### 1. Exapand/ Collapse all Menu + +You can expand all the menu and Collapse all the menus. Below is example how you can do that, + +```typescript +import { MultilevelMenuService, ExpandCollapseStatusEnum } from "ng-material-multilevel-menu"; + +export class AppComponent { + constructor(private multilevelMenuService: MultilevelMenuService) {} + + setExpandCollapseStatus(type: ExpandCollapseStatusEnum) { + this.multilevelMenuService.setMenuExapandCollpaseStatus(type); + } +} +``` + +### 2. Select Menu By ID + +You can expand all the menu and Collapse all the menus. Below is example how you can do that, + +```typescript +import { MultilevelMenuService, MultilevelNodes } from "ng-material-multilevel-menu"; + +export class AppComponent { + menuWithID: MultilevelNodes[] = null; + + constructor(private multilevelMenuService: MultilevelMenuService) {} + + menuIsReady(menus: MultilevelNodes[]) { + this.menuWithID = menus; + } + + selectMenuID(MenuID) { + this.multilevelMenuService.selectMenuByID(MenuID); + } +} +``` + +### 3. Building Custom Templates + +In this section, you will find useful information if you are planning to write your own templates. + +1. First and very important is `MultilevelNodes` interface, every menu item implements this interface. Make sure you look into each property of this interface when building custom menu templates. For example properties like `isSelected`, `hasChilden`, `expanded`, `disabled`, `items`, `label`, and so on are extremely helpful, have look into some demos [here](https://multilevel-menu-demo.web.app/pages/layout-variations/demo-six/version-one). +2. You actually don't have to write _Slide-In_/ _Slide-Out_, _Arrow Rotation_ animation. The module exports these animations out of the box, so you can import them and use it as shown below. + +**demo.component.ts:** + +```typescript +import {SlideInOut, ExpandedRTL, ExpandedLTR } from 'ng-material-multilevel-menu'; + +@Component({ + selector: 'app-demo', + templateUrl: './demo.component.html', + styleUrls: ['./demo.component.css'], + animations: [ + SlideInOut, + ExpandedLTR, + ExpandedRTL, + ] +}) +``` + +3. You have decided to write a custom template, then you have to write the corresponding CSS for the same. +4. Below is a very simple example of the custom menu templates, + +**demo.component.html:** + +```html + + +
+
+
+ +
+
+ {{item.label}} +
+
+
+ keyboard_arrow_down + keyboard_arrow_down +
+
+
+
+``` + +**demo.component.ts:** + +```typescript +import { Component } from '@angular/core'; + +import { MultilevelNodes, Configuration, ExpandedRTL, ExpandedLTR } from 'ng-material-multilevel-menu'; + +@Component({ + selector: 'app-demo', + templateUrl: './demo.component.html', + styleUrls: ['./demo.component.css'], + animations: [ExpandedRTL, ExpandedLTR] +}) +export class DemoComponent { + appitems: MultilevelNodes[] = [ + ... + { + label: 'Item 3', + faIcon: 'fas fa-anchor', + } + ... + ]; + + config: Configuration = { + rtlLayout: true, + customTemplate: true, + } + + constructor() { } + + getClass(item) { + return { + [item.faIcon]: true + } + } + + selectedItem($event) { + console.log($event); + } +} +``` + +**demo.component.css:** + +```css +.my-cool-menu-item { + display: flex; + padding-left: 10px; + padding-right: 10px; + border-bottom: solid 1px rgba(0, 0, 0, 0.12); + height: 48px; +} + +.my-cool-menu-item .title-and-image { + width: 100%; + display: flex; + justify-content: flex-start; +} + +.my-cool-menu-item .title-and-image .icon-container { + display: flex; + flex-direction: column; + justify-content: center; +} + +div[dir="rtl"] .icon-container { + padding-left: 5px; +} + +div[dir="ltr"] .icon-container { + padding-right: 5px; +} + +.my-cool-menu-item .title-and-image .label-container { + display: flex; + flex-direction: column; + justify-content: center; +} + +.my-cool-menu-item .icon-arrow-container { + display: flex; + align-items: center; +} +``` + +## Default classes + +- `selected-amml-item`: This class will be applied to currently selected link and it's father links. +- `active-amml-item`: This class will be applied to currently selected link. + +## Dependencies + +1. [Angular Material](https://material.angular.io) + +## Contribution + +I welcome you to fork and add more features into it. If you have any bugs or feature request, please create an issue at [github repository](https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues). + +## License + +MIT From aa12c68a0a786888c9f51ce41d95e061018e4a4b Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Thu, 11 May 2023 16:37:08 +0200 Subject: [PATCH 08/13] v 6.0.1 for publishing --- dist/ng-material-multilevel-menu/package.json | 2 +- package.json | 2 +- projects/ng-material-multilevel-menu/package.json | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/dist/ng-material-multilevel-menu/package.json b/dist/ng-material-multilevel-menu/package.json index 71b6890..c3c4fdc 100644 --- a/dist/ng-material-multilevel-menu/package.json +++ b/dist/ng-material-multilevel-menu/package.json @@ -1,6 +1,6 @@ { "name": "@eddie666/ng-material-multilevel-menu", - "version": "6.0.0", + "version": "6.0.1", "repository": { "type": "git", "url": "git+https://github.com/eddiefrank/ng-material-multilevel-menu.git" diff --git a/package.json b/package.json index cf3d202..92147f6 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-material-multilevel-menu-angular-project", - "version": "6.0.0", + "version": "6.0.1", "scripts": { "ng": "ng", "start": "ng serve", diff --git a/projects/ng-material-multilevel-menu/package.json b/projects/ng-material-multilevel-menu/package.json index 75c7650..6cbc837 100644 --- a/projects/ng-material-multilevel-menu/package.json +++ b/projects/ng-material-multilevel-menu/package.json @@ -1,6 +1,6 @@ { "name": "@eddie666/ng-material-multilevel-menu", - "version": "6.0.0", + "version": "6.0.1", "repository": { "type": "git", "url": "git+https://github.com/eddiefrank/ng-material-multilevel-menu.git" From 9803629688d921a210afb607fab4d9022e0da4db Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Fri, 12 May 2023 13:53:47 +0200 Subject: [PATCH 09/13] v 6.0.5 -fixed selected color --- .../esm2022/lib/app.model.mjs | 2 +- .../list-item-content.component.mjs | 32 +- .../lib/list-item/list-item.component.mjs | 86 +- .../ng-material-multilevel-menu.component.mjs | 92 +- .../eddie666-ng-material-multilevel-menu.mjs | 170 ++- ...die666-ng-material-multilevel-menu.mjs.map | 2 +- .../lib/app.model.d.ts | 9 +- .../lib/app.model.d.ts.map | 2 +- .../list-item-content.component.d.ts | 4 +- .../list-item-content.component.d.ts.map | 2 +- .../lib/list-item/list-item.component.d.ts | 12 +- .../list-item/list-item.component.d.ts.map | 2 +- ...ng-material-multilevel-menu.component.d.ts | 10 +- ...aterial-multilevel-menu.component.d.ts.map | 2 +- dist/ng-material-multilevel-menu/package.json | 2 +- package-lock.json | 1192 ++++++++--------- package.json | 6 +- .../ng-material-multilevel-menu/package.json | 2 +- .../src/lib/app.model.ts | 41 +- .../list-item-content.component.ts | 38 +- .../lib/list-item/list-item.component.html | 83 +- .../src/lib/list-item/list-item.component.ts | 141 +- .../ng-material-multilevel-menu.component.ts | 194 ++- src/styles.css | 2 +- 24 files changed, 1173 insertions(+), 955 deletions(-) diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs index 479aaa2..94fb8e9 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs @@ -4,4 +4,4 @@ export var ExpandCollapseStatusEnum; ExpandCollapseStatusEnum["collapse"] = "collapse"; ExpandCollapseStatusEnum["neutral"] = "neutral"; })(ExpandCollapseStatusEnum || (ExpandCollapseStatusEnum = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvYXBwLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQW9EQSxNQUFNLENBQU4sSUFBWSx3QkFJWDtBQUpELFdBQVksd0JBQXdCO0lBQ2hDLDZDQUFpQixDQUFBO0lBQ2pCLGlEQUFxQixDQUFBO0lBQ3JCLCtDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBSW5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkV4dHJhcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpbGV2ZWxOb2RlIHtcclxuICBpZD86IHN0cmluZztcclxuICBsYWJlbDogc3RyaW5nO1xyXG4gIGZhSWNvbj86IHN0cmluZztcclxuICBpY29uPzogc3RyaW5nO1xyXG4gIGltYWdlSWNvbj86IHN0cmluZztcclxuICBzdmdJY29uPzogc3RyaW5nO1xyXG4gIGFjdGl2ZUZhSWNvbj86IHN0cmluZztcclxuICBhY3RpdmVJY29uPzogc3RyaW5nO1xyXG4gIGFjdGl2ZUltYWdlSWNvbj86IHN0cmluZztcclxuICBhY3RpdmVTdmdJY29uPzogc3RyaW5nO1xyXG4gIGhpZGRlbj86IGJvb2xlYW47XHJcbiAgbGluaz86IHN0cmluZztcclxuICBleHRlcm5hbFJlZGlyZWN0PzogYm9vbGVhbjtcclxuICBocmVmVGFyZ2V0VHlwZT86IHN0cmluZztcclxuICBkYXRhPzogYW55O1xyXG4gIGl0ZW1zPzogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBvblNlbGVjdGVkPzogRnVuY3Rpb247XHJcbiAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcclxuICBuYXZpZ2F0aW9uRXh0cmFzPzogTmF2aWdhdGlvbkV4dHJhcztcclxuICBkb250RW1pdD86IGJvb2xlYW47XHJcbiAgaGFzQ2hpbGRyZW4/OiBib29sZWFuO1xyXG4gIGlzU2VsZWN0ZWQ/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIENvbmZpZ3VyYXRpb24ge1xyXG4gICAgY2xhc3NuYW1lPzogc3RyaW5nO1xyXG4gICAgcGFkZGluZ0F0U3RhcnQ/OiBib29sZWFuO1xyXG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xyXG4gICAgbGlzdEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICAgIGZvbnRDb2xvcj86IHN0cmluZztcclxuICAgIHNlbGVjdGVkTGlzdEZvbnRDb2xvcj86IHN0cmluZztcclxuICAgIGludGVyZmFjZVdpdGhSb3V0ZT86IGJvb2xlYW47XHJcbiAgICBjb2xsYXBzZU9uU2VsZWN0PzogYm9vbGVhbjtcclxuICAgIGhpZ2hsaWdodE9uU2VsZWN0PzogYm9vbGVhbjtcclxuICAgIHVzZURpdmlkZXJzPzogYm9vbGVhbjtcclxuICAgIHJ0bExheW91dD86IGJvb2xlYW47XHJcbiAgICBjdXN0b21UZW1wbGF0ZT86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQmFja2dyb3VuZFN0eWxlIHtcclxuICAgIGJhY2tncm91bmQ6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaXN0U3R5bGUge1xyXG4gICAgYmFja2dyb3VuZDogc3RyaW5nO1xyXG4gICAgY29sb3I6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtIHtcclxuICAgIGV4cGFuZCA9ICdleHBhbmQnLFxyXG4gICAgY29sbGFwc2UgPSAnY29sbGFwc2UnLFxyXG4gICAgbmV1dHJhbCA9ICduZXV0cmFsJyxcclxufVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvYXBwLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVEQSxNQUFNLENBQU4sSUFBWSx3QkFJWDtBQUpELFdBQVksd0JBQXdCO0lBQ2xDLDZDQUFpQixDQUFBO0lBQ2pCLGlEQUFxQixDQUFBO0lBQ3JCLCtDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBSW5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkV4dHJhcyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlsZXZlbE5vZGUge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgZmFJY29uPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaW1hZ2VJY29uPzogc3RyaW5nO1xyXG4gIHN2Z0ljb24/OiBzdHJpbmc7XHJcbiAgYWN0aXZlRmFJY29uPzogc3RyaW5nO1xyXG4gIGFjdGl2ZUljb24/OiBzdHJpbmc7XHJcbiAgYWN0aXZlSW1hZ2VJY29uPzogc3RyaW5nO1xyXG4gIGFjdGl2ZVN2Z0ljb24/OiBzdHJpbmc7XHJcbiAgaGlkZGVuPzogYm9vbGVhbjtcclxuICBsaW5rPzogc3RyaW5nO1xyXG4gIGV4dGVybmFsUmVkaXJlY3Q/OiBib29sZWFuO1xyXG4gIGhyZWZUYXJnZXRUeXBlPzogc3RyaW5nO1xyXG4gIGRhdGE/OiBhbnk7XHJcbiAgaXRlbXM/OiBNdWx0aWxldmVsTm9kZVtdO1xyXG4gIG9uU2VsZWN0ZWQ/OiBGdW5jdGlvbjtcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xyXG4gIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzO1xyXG4gIGRvbnRFbWl0PzogYm9vbGVhbjtcclxuICBoYXNDaGlsZHJlbj86IGJvb2xlYW47XHJcbiAgaXNTZWxlY3RlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbiB7XHJcbiAgY2xhc3NuYW1lPzogc3RyaW5nO1xyXG4gIHBhZGRpbmdBdFN0YXJ0PzogYm9vbGVhbjtcclxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgbGlzdEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICBmb250Q29sb3I/OiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRMaXN0Rm9udENvbG9yPzogc3RyaW5nO1xyXG4gIGludGVyZmFjZVdpdGhSb3V0ZT86IGJvb2xlYW47XHJcbiAgY29sbGFwc2VPblNlbGVjdD86IGJvb2xlYW47XHJcbiAgaGlnaGxpZ2h0T25TZWxlY3Q/OiBib29sZWFuO1xyXG4gIHVzZURpdmlkZXJzPzogYm9vbGVhbjtcclxuICBydGxMYXlvdXQ/OiBib29sZWFuO1xyXG4gIGN1c3RvbVRlbXBsYXRlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCYWNrZ3JvdW5kU3R5bGUge1xyXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JTdHlsZSB7XHJcbiAgY29sb3I6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaXN0U3R5bGUge1xyXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xyXG4gIGNvbG9yOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB7XHJcbiAgZXhwYW5kID0gXCJleHBhbmRcIixcclxuICBjb2xsYXBzZSA9IFwiY29sbGFwc2VcIixcclxuICBuZXV0cmFsID0gXCJuZXV0cmFsXCIsXHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs index 63e388e..c84e83a 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs @@ -1,7 +1,7 @@ -import { Component, Input } from '@angular/core'; -import { ExpandedLTR, ExpandedRTL } from '../../animation'; -import { CommonUtils } from '../../common-utils'; -import { CONSTANT } from '../../constants'; +import { Component, Input } from "@angular/core"; +import { ExpandedLTR, ExpandedRTL } from "../../animation"; +import { CommonUtils } from "../../common-utils"; +import { CONSTANT } from "../../constants"; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@angular/material/icon"; @@ -34,19 +34,29 @@ class ListItemContentComponent { } } getHrefTargetType() { - return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + return this.node.hrefTargetType + ? this.node.hrefTargetType + : CONSTANT.DEFAULT_HREF_TARGET_TYPE; } getSelectedSvgIcon() { - return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; + return this.node.isSelected && this.node.activeSvgIcon + ? this.node.activeSvgIcon + : this.node.svgIcon; } getSelectedIcon() { - return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; + return this.node.isSelected && this.node.activeIcon + ? this.node.activeIcon + : this.node.icon; } getSelectedFaIcon() { - return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; + return this.node.isSelected && this.node.activeFaIcon + ? this.node.activeFaIcon + : this.node.faIcon; } getSelectedImageIcon() { - return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; + return this.node.isSelected && this.node.activeImageIcon + ? this.node.activeImageIcon + : this.node.imageIcon; } nodeExpandStatus() { return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; @@ -57,10 +67,10 @@ class ListItemContentComponent { export { ListItemContentComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, decorators: [{ type: Component, - args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] + args: [{ selector: "ng-list-item-content", animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] }], ctorParameters: function () { return []; }, propDecorators: { node: [{ type: Input }], isRtlLayout: [{ type: Input }] } }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0tY29udGVudC9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUMsV0FBVyxFQUFFLFdBQVcsRUFBQyxNQUFNLGlCQUFpQixDQUFDO0FBQ3pELE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxvQkFBb0IsQ0FBQztBQUMvQyxPQUFPLEVBQUMsUUFBUSxFQUFDLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUV6QyxNQU1hLHdCQUF3QjtJQUMxQixJQUFJLENBQWlCO0lBQ3JCLFdBQVcsQ0FBVTtJQUU5QjtRQUNFLE9BQU87SUFDVCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3RCxPQUFPLFFBQVEsQ0FBQztTQUNqQjthQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDOUQsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLFFBQVEsQ0FBQyx3QkFBd0IsQ0FBQztJQUNqRyxDQUFDO0lBRUQsa0JBQWtCO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQztJQUN2RyxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUM5RixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO0lBQ3BHLENBQUM7SUFFRCxvQkFBb0I7UUFDbEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDO0lBQzdHLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO0lBQ3pELENBQUM7dUdBaERVLHdCQUF3QjsyRkFBeEIsd0JBQXdCLGtIQ1pyQyxzMkVBeURBLGd1REQvQ2MsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDOztTQUUzQix3QkFBd0I7MkZBQXhCLHdCQUF3QjtrQkFOcEMsU0FBUzsrQkFDRSxzQkFBc0IsY0FHcEIsQ0FBQyxXQUFXLEVBQUUsV0FBVyxDQUFDOzBFQUc3QixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csV0FBVztzQkFBbkIsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBJbnB1dCwgT25Jbml0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtNdWx0aWxldmVsTm9kZX0gZnJvbSAnLi4vLi4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHtFeHBhbmRlZExUUiwgRXhwYW5kZWRSVEx9IGZyb20gJy4uLy4uL2FuaW1hdGlvbic7XHJcbmltcG9ydCB7Q29tbW9uVXRpbHN9IGZyb20gJy4uLy4uL2NvbW1vbi11dGlscyc7XHJcbmltcG9ydCB7Q09OU1RBTlR9IGZyb20gJy4uLy4uL2NvbnN0YW50cyc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ25nLWxpc3QtaXRlbS1jb250ZW50JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC5jc3MnXSxcclxuICBhbmltYXRpb25zOiBbRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBpc1J0bExheW91dDogYm9vbGVhbjtcclxuXHJcbiAgY29uc3RydWN0b3IoKSB7XHJcbiAgICAvLyBOT09QXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIC8vIE5PT1BcclxuICB9XHJcblxyXG4gIGdldExpc3RJY29uKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogc3RyaW5nIHtcclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBpY29uYDtcclxuICAgIH0gZWxzZSBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmZhSWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBmYUljb25gO1xyXG4gICAgfSBlbHNlIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaW1hZ2VJY29uKSkge1xyXG4gICAgICByZXR1cm4gYGltYWdlSWNvbmA7XHJcbiAgICB9IGVsc2UgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkobm9kZS5zdmdJY29uKSkge1xyXG4gICAgICByZXR1cm4gYHN2Z0ljb25gO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgcmV0dXJuIGBgO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZ2V0SHJlZlRhcmdldFR5cGUoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaHJlZlRhcmdldFR5cGUgPyB0aGlzLm5vZGUuaHJlZlRhcmdldFR5cGUgOiBDT05TVEFOVC5ERUZBVUxUX0hSRUZfVEFSR0VUX1RZUEU7XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZFN2Z0ljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlU3ZnSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVTdmdJY29uIDogdGhpcy5ub2RlLnN2Z0ljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJY29uIDogdGhpcy5ub2RlLmljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEZhSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5pc1NlbGVjdGVkICYmIHRoaXMubm9kZS5hY3RpdmVGYUljb24gPyB0aGlzLm5vZGUuYWN0aXZlRmFJY29uIDogdGhpcy5ub2RlLmZhSWNvbjtcclxuICB9XHJcblxyXG4gIGdldFNlbGVjdGVkSW1hZ2VJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZUltYWdlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJbWFnZUljb24gOiB0aGlzLm5vZGUuaW1hZ2VJY29uO1xyXG4gIH1cclxuXHJcbiAgbm9kZUV4cGFuZFN0YXR1cygpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5leHBhbmRlZCA/IENPTlNUQU5ULllFUyA6IENPTlNUQU5ULk5PO1xyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZS5leHRlcm5hbFJlZGlyZWN0ID8gcmVkaXJlY3RMaW5rVGVtcGxhdGUgOiByb3V0ZXJMaW5rVGVtcGxhdGVcIj48L25nLWNvbnRhaW5lcj5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcmVkaXJlY3RMaW5rVGVtcGxhdGU+XHJcbiAgPGEgY2xhc3M9XCJhbm1sLWxpbmtcIiBbaHJlZl09XCJub2RlLmxpbmtcIiBbdGFyZ2V0XT1cImdldEhyZWZUYXJnZXRUeXBlKClcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc1J0bExheW91dCA/IGxpbmtMYWJlbFJ0bE91dGxldCA6IGxpbmtMYWJlbEx0ck91dGxldFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjcm91dGVyTGlua1RlbXBsYXRlPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgKm5nSWY9XCIhbm9kZS5leHRlcm5hbFJlZGlyZWN0ICYmIG5vZGUubGlua1wiIFtyb3V0ZXJMaW5rXT1cIm5vZGUubGlua1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlzUnRsTGF5b3V0ID8gbGlua0xhYmVsUnRsT3V0bGV0IDogbGlua0xhYmVsTHRyT3V0bGV0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9hPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgKm5nSWY9XCIhbm9kZS5saW5rXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXNSdGxMYXlvdXQgPyBsaW5rTGFiZWxSdGxPdXRsZXQgOiBsaW5rTGFiZWxMdHJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2E+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2xpbmtMYWJlbEx0ck91dGxldD5cclxuICA8ZGl2IGNsYXNzPVwiYW5tbC1kYXRhXCIgW2Rpcl09XCInbHRyJ1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImljb25Db250YWluZXJcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57e25vZGUubGFiZWx9fTwvc3Bhbj5cclxuICA8L2Rpdj5cclxuICA8ZGl2IGNsYXNzPVwiYW1tbC1pY29uLWFycm93LWNvbnRhaW5lclwiICpuZ0lmPSdub2RlLmhhc0NoaWxkcmVuJz5cclxuICAgIDxtYXQtaWNvbiBbQEV4cGFuZGVkTFRSXT1cIm5vZGVFeHBhbmRTdGF0dXMoKVwiPlxyXG4gICAgICBrZXlib2FyZF9hcnJvd19kb3duXHJcbiAgICA8L21hdC1pY29uPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5rTGFiZWxSdGxPdXRsZXQ+XHJcbiAgPGRpdiBjbGFzcz1cImFubWwtZGF0YVwiIFtkaXJdPVwiJ3J0bCdcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tub2RlLmxhYmVsfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFtbWwtaWNvbi1hcnJvdy1jb250YWluZXJcIiAqbmdJZj0nbm9kZS5oYXNDaGlsZHJlbic+XHJcbiAgICA8bWF0LWljb24gW0BFeHBhbmRlZFJUTF09XCJub2RlRXhwYW5kU3RhdHVzKClcIj5cclxuICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxyXG4gICAgPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRhaW5lcj5cclxuICA8ZGl2IGNsYXNzPVwiaWNvbi1jb250YWluZXJcIiBbbmdTd2l0Y2hdPVwiZ2V0TGlzdEljb24obm9kZSlcIj5cclxuICAgICAgPHNwYW4gKm5nU3dpdGNoQ2FzZT1cIidmYUljb24nXCIgY2xhc3M9XCJhbW1sLWljb24gYW1tbC1pY29uLWZhXCI+XHJcbiAgICAgICAgPGkgW25nQ2xhc3NdPVwiZ2V0U2VsZWN0ZWRGYUljb24oKVwiPjwvaT5cclxuICAgICAgPC9zcGFuPlxyXG4gICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInaWNvbidcIiBjbGFzcz1cImFtbWwtaWNvblwiPlxyXG4gICAgICB7e2dldFNlbGVjdGVkSWNvbigpfX1cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8bWF0LWljb24gKm5nU3dpdGNoQ2FzZT1cIidzdmdJY29uJ1wiIGNsYXNzPVwiYW1tbC1pY29uIGFtbWwtc3ZnLWljb25cIlxyXG4gICAgICAgICAgICAgIHN2Z0ljb249XCJ7e2dldFNlbGVjdGVkU3ZnSWNvbigpfX1cIj5cclxuICAgIDwvbWF0LWljb24+XHJcbiAgICA8aW1nICpuZ1N3aXRjaENhc2U9XCInaW1hZ2VJY29uJ1wiIG1hdExpc3RBdmF0YXIgY2xhc3M9XCJhbW1sLWljb25cIlxyXG4gICAgICAgICBzcmM9XCJ7e2dldFNlbGVjdGVkSW1hZ2VJY29uKCl9fVwiIGFsdD1cInt7bm9kZS5sYWJlbH19XCIvPlxyXG4gIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0tY29udGVudC9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUUzQyxNQU1hLHdCQUF3QjtJQUMxQixJQUFJLENBQWlCO0lBQ3JCLFdBQVcsQ0FBVTtJQUU5QjtRQUNFLE9BQU87SUFDVCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3RCxPQUFPLFFBQVEsQ0FBQztTQUNqQjthQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDOUQsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUMxQixDQUFDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNqRCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUN0RCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUN6RCxDQUFDO3VHQTFEVSx3QkFBd0I7MkZBQXhCLHdCQUF3QixrSENackMsczJFQXlEQSxndUREL0NjLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQzs7U0FFM0Isd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQzswRUFHN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTm9kZSB9IGZyb20gXCIuLi8uLi9hcHAubW9kZWxcIjtcclxuaW1wb3J0IHsgRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMIH0gZnJvbSBcIi4uLy4uL2FuaW1hdGlvblwiO1xyXG5pbXBvcnQgeyBDb21tb25VdGlscyB9IGZyb20gXCIuLi8uLi9jb21tb24tdXRpbHNcIjtcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJuZy1saXN0LWl0ZW0tY29udGVudFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmNzc1wiXSxcclxuICBhbmltYXRpb25zOiBbRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RJdGVtQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbm9kZTogTXVsdGlsZXZlbE5vZGU7XHJcbiAgQElucHV0KCkgaXNSdGxMYXlvdXQ6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgLy8gTk9PUFxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBOT09QXHJcbiAgfVxyXG5cclxuICBnZXRMaXN0SWNvbihub2RlOiBNdWx0aWxldmVsTm9kZSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmljb24pKSB7XHJcbiAgICAgIHJldHVybiBgaWNvbmA7XHJcbiAgICB9IGVsc2UgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkobm9kZS5mYUljb24pKSB7XHJcbiAgICAgIHJldHVybiBgZmFJY29uYDtcclxuICAgIH0gZWxzZSBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmltYWdlSWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBpbWFnZUljb25gO1xyXG4gICAgfSBlbHNlIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuc3ZnSWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBzdmdJY29uYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBgYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEhyZWZUYXJnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmhyZWZUYXJnZXRUeXBlXHJcbiAgICAgID8gdGhpcy5ub2RlLmhyZWZUYXJnZXRUeXBlXHJcbiAgICAgIDogQ09OU1RBTlQuREVGQVVMVF9IUkVGX1RBUkdFVF9UWVBFO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRTdmdJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZVN2Z0ljb25cclxuICAgICAgPyB0aGlzLm5vZGUuYWN0aXZlU3ZnSWNvblxyXG4gICAgICA6IHRoaXMubm9kZS5zdmdJY29uO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZUljb25cclxuICAgICAgPyB0aGlzLm5vZGUuYWN0aXZlSWNvblxyXG4gICAgICA6IHRoaXMubm9kZS5pY29uO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRGYUljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlRmFJY29uXHJcbiAgICAgID8gdGhpcy5ub2RlLmFjdGl2ZUZhSWNvblxyXG4gICAgICA6IHRoaXMubm9kZS5mYUljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEltYWdlSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5pc1NlbGVjdGVkICYmIHRoaXMubm9kZS5hY3RpdmVJbWFnZUljb25cclxuICAgICAgPyB0aGlzLm5vZGUuYWN0aXZlSW1hZ2VJY29uXHJcbiAgICAgIDogdGhpcy5ub2RlLmltYWdlSWNvbjtcclxuICB9XHJcblxyXG4gIG5vZGVFeHBhbmRTdGF0dXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuZXhwYW5kZWQgPyBDT05TVEFOVC5ZRVMgOiBDT05TVEFOVC5OTztcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGUuZXh0ZXJuYWxSZWRpcmVjdCA/IHJlZGlyZWN0TGlua1RlbXBsYXRlIDogcm91dGVyTGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI3JlZGlyZWN0TGlua1RlbXBsYXRlPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgW2hyZWZdPVwibm9kZS5saW5rXCIgW3RhcmdldF09XCJnZXRIcmVmVGFyZ2V0VHlwZSgpXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXNSdGxMYXlvdXQgPyBsaW5rTGFiZWxSdGxPdXRsZXQgOiBsaW5rTGFiZWxMdHJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2E+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3JvdXRlckxpbmtUZW1wbGF0ZT5cclxuICA8YSBjbGFzcz1cImFubWwtbGlua1wiICpuZ0lmPVwiIW5vZGUuZXh0ZXJuYWxSZWRpcmVjdCAmJiBub2RlLmxpbmtcIiBbcm91dGVyTGlua109XCJub2RlLmxpbmtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc1J0bExheW91dCA/IGxpbmtMYWJlbFJ0bE91dGxldCA6IGxpbmtMYWJlbEx0ck91dGxldFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvYT5cclxuICA8YSBjbGFzcz1cImFubWwtbGlua1wiICpuZ0lmPVwiIW5vZGUubGlua1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlzUnRsTGF5b3V0ID8gbGlua0xhYmVsUnRsT3V0bGV0IDogbGlua0xhYmVsTHRyT3V0bGV0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9hPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5rTGFiZWxMdHJPdXRsZXQ+XHJcbiAgPGRpdiBjbGFzcz1cImFubWwtZGF0YVwiIFtkaXJdPVwiJ2x0cidcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tub2RlLmxhYmVsfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFtbWwtaWNvbi1hcnJvdy1jb250YWluZXJcIiAqbmdJZj0nbm9kZS5oYXNDaGlsZHJlbic+XHJcbiAgICA8bWF0LWljb24gW0BFeHBhbmRlZExUUl09XCJub2RlRXhwYW5kU3RhdHVzKClcIj5cclxuICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxyXG4gICAgPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbGlua0xhYmVsUnRsT3V0bGV0PlxyXG4gIDxkaXYgY2xhc3M9XCJhbm1sLWRhdGFcIiBbZGlyXT1cIidydGwnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvbkNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7bm9kZS5sYWJlbH19PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhbW1sLWljb24tYXJyb3ctY29udGFpbmVyXCIgKm5nSWY9J25vZGUuaGFzQ2hpbGRyZW4nPlxyXG4gICAgPG1hdC1pY29uIFtARXhwYW5kZWRSVExdPVwibm9kZUV4cGFuZFN0YXR1cygpXCI+XHJcbiAgICAgIGtleWJvYXJkX2Fycm93X2Rvd25cclxuICAgIDwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2ljb25Db250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgW25nU3dpdGNoXT1cImdldExpc3RJY29uKG5vZGUpXCI+XHJcbiAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZmFJY29uJ1wiIGNsYXNzPVwiYW1tbC1pY29uIGFtbWwtaWNvbi1mYVwiPlxyXG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cImdldFNlbGVjdGVkRmFJY29uKClcIj48L2k+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDxtYXQtaWNvbiAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCIgY2xhc3M9XCJhbW1sLWljb25cIj5cclxuICAgICAge3tnZXRTZWxlY3RlZEljb24oKX19XHJcbiAgICA8L21hdC1pY29uPlxyXG4gICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInc3ZnSWNvbidcIiBjbGFzcz1cImFtbWwtaWNvbiBhbW1sLXN2Zy1pY29uXCJcclxuICAgICAgICAgICAgICBzdmdJY29uPVwie3tnZXRTZWxlY3RlZFN2Z0ljb24oKX19XCI+XHJcbiAgICA8L21hdC1pY29uPlxyXG4gICAgPGltZyAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlSWNvbidcIiBtYXRMaXN0QXZhdGFyIGNsYXNzPVwiYW1tbC1pY29uXCJcclxuICAgICAgICAgc3JjPVwie3tnZXRTZWxlY3RlZEltYWdlSWNvbigpfX1cIiBhbHQ9XCJ7e25vZGUubGFiZWx9fVwiLz5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs index 5e5399b..041f25c 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs @@ -1,10 +1,10 @@ -import { Component, Input, Output, EventEmitter, TemplateRef } from '@angular/core'; -import { Router } from '@angular/router'; -import { ExpandCollapseStatusEnum } from '../app.model'; -import { CONSTANT } from '../constants'; -import { MultilevelMenuService } from '../multilevel-menu.service'; -import { SlideInOut } from '../animation'; -import { CommonUtils } from '../common-utils'; +import { Component, Input, Output, EventEmitter, TemplateRef, } from "@angular/core"; +import { Router } from "@angular/router"; +import { ExpandCollapseStatusEnum, } from "../app.model"; +import { CONSTANT } from "../constants"; +import { MultilevelMenuService } from "../multilevel-menu.service"; +import { SlideInOut } from "../animation"; +import { CommonUtils } from "../common-utils"; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "../multilevel-menu.service"; @@ -41,7 +41,10 @@ class ListItemComponent { }; } ngOnChanges() { - this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; + this.nodeChildren = + this.node && this.node.items + ? this.node.items.filter((n) => !n.hidden) + : []; this.node.hasChildren = this.hasItems(); if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); @@ -49,13 +52,14 @@ class ListItemComponent { this.setExpandCollapseStatus(); } ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = + this.node.disabled; if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && this.node.faIcon.match(/\bfa\w(?!-)/) === null) { this.node.faIcon = `fas ${this.node.faIcon}`; } this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; - if (typeof this.node.expanded === 'boolean') { + if (typeof this.node.expanded === "boolean") { this.expanded = this.node.expanded; } this.setClasses(); @@ -65,7 +69,9 @@ class ListItemComponent { if (!this.firstInitializer) { this.expanded = true; } - this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; + this.isSelected = + this.nodeConfiguration.highlightOnSelect || + this.selectedNode.items === undefined; } else { this.isSelected = false; @@ -88,21 +94,30 @@ class ListItemComponent { return this.nodeConfiguration.paddingAtStart; } getListStyle() { - const styles = { - background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, - color: CONSTANT.DEFAULT_LIST_FONT_COLOR + return { + color: this.getColor(), + backgroundColor: this.getBackgroundColor(), }; - if (this.nodeConfiguration.listBackgroundColor !== null) { - styles.background = this.nodeConfiguration.listBackgroundColor; - } - if (this.isSelected) { - this.nodeConfiguration.selectedListFontColor !== null ? - styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; - } - else if (this.nodeConfiguration.fontColor !== null) { - styles.color = this.nodeConfiguration.fontColor; - } - return styles; + } + getColorStyle() { + return { color: this.getColor() }; + } + getBackgroundStyle() { + return { backgroundColor: this.getBackgroundColor() }; + } + getColor() { + return this.isSelected + ? this.nodeConfiguration.selectedListFontColor !== null + ? this.nodeConfiguration.selectedListFontColor + : CONSTANT.DEFAULT_SELECTED_FONT_COLOR + : this.nodeConfiguration.fontColor !== null + ? this.nodeConfiguration.fontColor + : CONSTANT.DEFAULT_LIST_FONT_COLOR; + } + getBackgroundColor() { + return this.nodeConfiguration.listBackgroundColor !== null + ? this.nodeConfiguration.listBackgroundColor + : CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR; } hasItems() { return this.nodeChildren.length > 0; @@ -114,7 +129,7 @@ class ListItemComponent { this.classes = { [`level-${this.level + 1}`]: true, [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), - [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() + [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems(), }; } setExpandCollapseStatus() { @@ -142,17 +157,18 @@ class ListItemComponent { this.node.expanded = this.expanded; this.firstInitializer = true; this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null - && this.nodeConfiguration.interfaceWithRoute - && node.link !== undefined - && node.link) { + if (this.nodeConfiguration.interfaceWithRoute !== null && + this.nodeConfiguration.interfaceWithRoute && + node.link !== undefined && + node.link) { this.router.navigate([node.link], node.navigationExtras).then(); } - else if (node.onSelected && typeof node.onSelected === 'function') { + else if (node.onSelected && typeof node.onSelected === "function") { node.onSelected(node); this.selectedListItem(node); } - else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { + else if (node.items === undefined || + this.nodeConfiguration.collapseOnSelect) { this.selectedListItem(node); } } @@ -160,12 +176,12 @@ class ListItemComponent { this.selectedItem.emit(node); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, deps: [{ token: i1.Router }, { token: i2.MultilevelMenuService }], target: i0.ɵɵFactoryTarget.Component }); - static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemComponent, selector: "ng-list-item", inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "component", type: i8.ListItemContentComponent, selector: "ng-list-item-content", inputs: ["node", "isRtlLayout"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }], animations: [SlideInOut] }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemComponent, selector: "ng-list-item", inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "component", type: i8.ListItemContentComponent, selector: "ng-list-item-content", inputs: ["node", "isRtlLayout"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }], animations: [SlideInOut] }); } export { ListItemComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, decorators: [{ type: Component, - args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] + args: [{ selector: "ng-list-item", animations: [SlideInOut], template: "
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, propDecorators: { node: [{ type: Input }], level: [{ @@ -183,4 +199,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor }], selectedItem: [{ type: Output }] } }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBNEMsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBQyxXQUFXLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQUU1QyxNQU1hLGlCQUFpQjtJQW1CUjtJQUNEO0lBbkJWLElBQUksQ0FBaUI7SUFDckIsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsWUFBWSxDQUFpQjtJQUM3QixpQkFBaUIsR0FBa0IsSUFBSSxDQUFDO0lBQ3hDLHdCQUF3QixHQUE2QixJQUFJLENBQUM7SUFDMUQsWUFBWSxHQUE0QixJQUFJLENBQUM7SUFFNUMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRTVELFVBQVUsR0FBRyxLQUFLLENBQUM7SUFD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QUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7YUFBTSxJQUFJLElBQUksQ0FBQyxLQUFLLEtBQUssU0FBUyxJQUFJLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFBRTtZQUM5RSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBb0I7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0E1SlUsaUJBQWlCOzJGQUFqQixpQkFBaUIsc1ZDZjlCLGlsRUE2Q0EsZzJDRDlCYSxpQkFBaUIsMFhBRmhCLENBQUMsVUFBVSxDQUFDOztTQUViLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQU43QixTQUFTOytCQUNFLGNBQWMsY0FHWixDQUFDLFVBQVUsQ0FBQztpSUFHZixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24sIExpc3RTdHlsZSwgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4uL2FwcC5tb2RlbCc7XHJcbmltcG9ydCB7IENPTlNUQU5UIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbGlkZUluT3V0IH0gZnJvbSAnLi4vYW5pbWF0aW9uJztcclxuaW1wb3J0IHtDb21tb25VdGlsc30gZnJvbSAnLi4vY29tbW9uLXV0aWxzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbmctbGlzdC1pdGVtJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9saXN0LWl0ZW0uY29tcG9uZW50LmNzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtTbGlkZUluT3V0XVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTGlzdEl0ZW1Db21wb25lbnQgaW1wbGVtZW50cyBPbkNoYW5nZXMsIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbm9kZTogTXVsdGlsZXZlbE5vZGU7XHJcbiAgQElucHV0KCkgbGV2ZWwgPSAxO1xyXG4gIEBJbnB1dCgpIHN1Ym1lbnVMZXZlbCA9IDA7XHJcbiAgQElucHV0KCkgc2VsZWN0ZWROb2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBub2RlQ29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbiA9IG51bGw7XHJcbiAgQElucHV0KCkgbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0gPSBudWxsO1xyXG4gIEBJbnB1dCgpIGxpc3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj4gPSBudWxsO1xyXG5cclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuXHJcbiAgaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gIGV4cGFuZGVkID0gZmFsc2U7XHJcbiAgZmlyc3RJbml0aWFsaXplciA9IGZhbHNlO1xyXG5cclxuICBub2RlQ2hpbGRyZW46IE11bHRpbGV2ZWxOb2RlW107XHJcbiAgY2xhc3NlczogeyBbaW5kZXg6IHN0cmluZ106IGJvb2xlYW4gfTtcclxuICBzZWxlY3RlZExpc3RDbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZSkge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzID0ge1xyXG4gICAgICBbQ09OU1RBTlQuREVGQVVMVF9MSVNUX0NMQVNTX05BTUVdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU0VMRUNURURfTElTVF9DTEFTU19OQU1FXTogZmFsc2UsXHJcbiAgICAgIFtDT05TVEFOVC5BQ1RJVkVfSVRFTV9DTEFTU19OQU1FXTogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5vZGVDaGlsZHJlbiA9IHRoaXMubm9kZSAmJiB0aGlzLm5vZGUuaXRlbXMgPyB0aGlzLm5vZGUuaXRlbXMuZmlsdGVyKG4gPT4gIW4uaGlkZGVuKSA6IFtdO1xyXG4gICAgdGhpcy5ub2RlLmhhc0NoaWxkcmVuID0gdGhpcy5oYXNJdGVtcygpO1xyXG5cclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5zZWxlY3RlZE5vZGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRDbGFzcyh0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5yZWN1cnNpdmVDaGVja0lkKHRoaXMubm9kZSwgdGhpcy5zZWxlY3RlZE5vZGUuaWQpKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzW0NPTlNUQU5ULkRJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRV0gPSB0aGlzLm5vZGUuZGlzYWJsZWQ7XHJcblxyXG4gICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZCh0aGlzLm5vZGUuZmFJY29uKSAmJlxyXG4gICAgICB0aGlzLm5vZGUuZmFJY29uLm1hdGNoKC9cXGJmYVxcdyg/IS0pLykgPT09IG51bGwpIHtcclxuICAgICAgdGhpcy5ub2RlLmZhSWNvbiA9IGBmYXMgJHt0aGlzLm5vZGUuZmFJY29ufWA7XHJcbiAgICB9XHJcblxyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzW2BsZXZlbC0ke3RoaXMubGV2ZWx9LXN1Ym1lbnVsZXZlbC0ke3RoaXMuc3VibWVudUxldmVsfWBdID0gdHJ1ZTtcclxuICAgIGlmICh0eXBlb2YgdGhpcy5ub2RlLmV4cGFuZGVkID09PSAnYm9vbGVhbicpIHtcclxuICAgICAgdGhpcy5leHBhbmRlZCA9IHRoaXMubm9kZS5leHBhbmRlZDtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRDbGFzcyhpc0ZvdW5kOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoaXNGb3VuZCkge1xyXG4gICAgICBpZiAoIXRoaXMuZmlyc3RJbml0aWFsaXplcikge1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uaGlnaGxpZ2h0T25TZWxlY3QgfHwgdGhpcy5zZWxlY3RlZE5vZGUuaXRlbXMgPT09IHVuZGVmaW5lZDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9IGZhbHNlO1xyXG4gICAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5jb2xsYXBzZU9uU2VsZWN0KSB7XHJcbiAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgICB0aGlzLnNlbGVjdGVkTGlzdENsYXNzZXMgPSB7XHJcbiAgICAgIFtDT05TVEFOVC5ERUZBVUxUX0xJU1RfQ0xBU1NfTkFNRV06IHRydWUsXHJcbiAgICAgIFtDT05TVEFOVC5TRUxFQ1RFRF9MSVNUX0NMQVNTX05BTUVdOiB0aGlzLmlzU2VsZWN0ZWQsXHJcbiAgICAgIFtDT05TVEFOVC5BQ1RJVkVfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5zZWxlY3RlZE5vZGUuaWQgPT09IHRoaXMubm9kZS5pZCxcclxuICAgICAgW0NPTlNUQU5ULkRJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRV06IHRoaXMubm9kZS5kaXNhYmxlZCxcclxuICAgICAgW2BsZXZlbC0ke3RoaXMubGV2ZWx9LXN1Ym1lbnVsZXZlbC0ke3RoaXMuc3VibWVudUxldmVsfWBdOiB0cnVlLFxyXG4gICAgfTtcclxuICAgIHRoaXMubm9kZS5pc1NlbGVjdGVkID0gdGhpcy5pc1NlbGVjdGVkO1xyXG4gICAgdGhpcy5zZXRDbGFzc2VzKCk7XHJcbiAgfVxyXG5cclxuICBnZXRQYWRkaW5nQXRTdGFydCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnBhZGRpbmdBdFN0YXJ0O1xyXG4gIH1cclxuXHJcbiAgZ2V0TGlzdFN0eWxlKCk6IExpc3RTdHlsZSB7XHJcbiAgICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICAgIGJhY2tncm91bmQ6IENPTlNUQU5ULkRFRkFVTFRfTElTVF9CQUNLR1JPVU5EX0NPTE9SLFxyXG4gICAgICBjb2xvcjogQ09OU1RBTlQuREVGQVVMVF9MSVNUX0ZPTlRfQ09MT1JcclxuICAgIH07XHJcbiAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5saXN0QmFja2dyb3VuZENvbG9yICE9PSBudWxsKSB7XHJcbiAgICAgIHN0eWxlcy5iYWNrZ3JvdW5kID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5saXN0QmFja2dyb3VuZENvbG9yO1xyXG4gICAgfVxyXG4gICAgaWYgKHRoaXMuaXNTZWxlY3RlZCkge1xyXG4gICAgICB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnNlbGVjdGVkTGlzdEZvbnRDb2xvciAhPT0gbnVsbCA/XHJcbiAgICAgICAgc3R5bGVzLmNvbG9yID0gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5zZWxlY3RlZExpc3RGb250Q29sb3IgOiBzdHlsZXMuY29sb3IgPSBDT05TVEFOVC5ERUZBVUxUX1NFTEVDVEVEX0ZPTlRfQ09MT1I7XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uZm9udENvbG9yICE9PSBudWxsKSB7XHJcbiAgICAgIHN0eWxlcy5jb2xvciA9IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uZm9udENvbG9yO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHN0eWxlcztcclxuICB9XHJcblxyXG4gIGhhc0l0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNoaWxkcmVuLmxlbmd0aCA+IDA7XHJcbiAgfVxyXG5cclxuICBpc1J0bExheW91dCgpOiBib29sZWFuIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnJ0bExheW91dDtcclxuICB9XHJcblxyXG4gIHNldENsYXNzZXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmNsYXNzZXMgPSB7XHJcbiAgICAgIFtgbGV2ZWwtJHt0aGlzLmxldmVsICsgMX1gXTogdHJ1ZSxcclxuICAgICAgW0NPTlNUQU5ULlNVQk1FTlVfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5oYXNJdGVtcygpICYmIHRoaXMuZ2V0UGFkZGluZ0F0U3RhcnQoKSxcclxuICAgICAgW0NPTlNUQU5ULkhBU19TVUJNRU5VX0lURU1fQ0xBU1NfTkFNRV06IHRoaXMuaGFzSXRlbXMoKVxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIHNldEV4cGFuZENvbGxhcHNlU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZCh0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cykpIHtcclxuICAgICAgaWYgKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID09PSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0uZXhwYW5kKSB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY3VzdG9tVGVtcGxhdGUpIHtcclxuICAgICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICAgIGlmICh0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9PT0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLmNvbGxhcHNlKSB7XHJcbiAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmN1c3RvbVRlbXBsYXRlKSB7XHJcbiAgICAgICAgICB0aGlzLm5vZGUuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGV4cGFuZChub2RlOiBNdWx0aWxldmVsTm9kZSk6IHZvaWQge1xyXG4gICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuICAgIHRoaXMuZXhwYW5kZWQgPSAhdGhpcy5leHBhbmRlZDtcclxuICAgIHRoaXMubm9kZS5leHBhbmRlZCA9ICB0aGlzLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5maXJzdEluaXRpYWxpemVyID0gdHJ1ZTtcclxuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlICE9PSBudWxsXHJcbiAgICAgICYmIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlXHJcbiAgICAgICYmIG5vZGUubGluayAhPT0gdW5kZWZpbmVkXHJcbiAgICAgICYmIG5vZGUubGlua1xyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtub2RlLmxpbmtdLCBub2RlLm5hdmlnYXRpb25FeHRyYXMpLnRoZW4oKTtcclxuICAgIH0gZWxzZSBpZiAobm9kZS5vblNlbGVjdGVkICYmIHR5cGVvZiBub2RlLm9uU2VsZWN0ZWQgPT09ICdmdW5jdGlvbicpIHtcclxuICAgICAgbm9kZS5vblNlbGVjdGVkKG5vZGUpO1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0obm9kZSk7XHJcbiAgICB9IGVsc2UgaWYgKG5vZGUuaXRlbXMgPT09IHVuZGVmaW5lZCB8fCB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmNvbGxhcHNlT25TZWxlY3QpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKG5vZGUpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VsZWN0ZWRMaXN0SXRlbShub2RlOiBNdWx0aWxldmVsTm9kZSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChub2RlKTtcclxuICB9XHJcblxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhbW1sLW1lbnUtY29udGFpbmVyXCI+XHJcbiAgPCEtLSBCYXNlIFRlbXBsYXRlIHJlbmRlcmluZyBjb25kaXRpb24gc3RhcnRzIC0tPlxyXG4gIDxkaXYgKm5nSWY9XCJub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSAmJiAhbm9kZS5oaWRkZW47ZWxzZSBiYXNlVGVtcGxhdGVcIlxyXG4gICAgICAgW25nQ2xhc3NdPVwic2VsZWN0ZWRMaXN0Q2xhc3Nlc1wiXHJcbiAgICAgICBbbmdTdHlsZV09XCJnZXRMaXN0U3R5bGUoKVwiXHJcbiAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICA8bmctY29udGFpbmVyIFtuZ1RlbXBsYXRlT3V0bGV0XT1cImxpc3RUZW1wbGF0ZVwiXHJcbiAgICAgICAgICAgICAgICAgIFtuZ1RlbXBsYXRlT3V0bGV0Q29udGV4dF09XCJ7aXRlbTogbm9kZSwgY29uZmlndXJhdGlvbjogbm9kZUNvbmZpZ3VyYXRpb259XCI+XHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBlbmRzIC0tPlxyXG5cclxuICA8IS0tIFJlY3Vyc2l2ZSBUZW1wbGF0ZSBjYWxscyBiZWdpbnMgLS0+XHJcbiAgPGRpdiAqbmdJZj1cImhhc0l0ZW1zKCkgJiYgZXhwYW5kZWRcIiBbQFNsaWRlSW5PdXRdIFtkaXJdPVwiaXNSdGxMYXlvdXQoKSA/ICdydGwnIDogJ2x0cidcIiBbbmdDbGFzc109XCJjbGFzc2VzXCI+XHJcbiAgICA8bmctbGlzdC1pdGVtICpuZ0Zvcj1cImxldCBzaW5nbGVOb2RlIG9mIG5vZGVDaGlsZHJlbiB8IGtleXZhbHVlIDogbXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmt2RHVtbXlDb21wYXJlckZuXCJcclxuICAgICAgICAgICAgICAgICAgW25vZGVDb25maWd1cmF0aW9uXT0nbm9kZUNvbmZpZ3VyYXRpb24nXHJcbiAgICAgICAgICAgICAgICAgIFtub2RlXT1cInNpbmdsZU5vZGUudmFsdWVcIlxyXG4gICAgICAgICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgICAgICAgW3N1Ym1lbnVMZXZlbF09XCJzaW5nbGVOb2RlLmtleVwiXHJcbiAgICAgICAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPSdzZWxlY3RlZE5vZGUnXHJcbiAgICAgICAgICAgICAgICAgIFtub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXNdPSdub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMnXHJcbiAgICAgICAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pPVwic2VsZWN0ZWRMaXN0SXRlbSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgW2xpc3RUZW1wbGF0ZV09XCJsaXN0VGVtcGxhdGVcIj5cclxuICAgIDwvbmctbGlzdC1pdGVtPlxyXG4gIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBSZWN1cnNpdmUgVGVtcGxhdGUgY2FsbHMgZW5kcyAtLT5cclxuXHJcbjwhLS0gQmFzZSBUZW1wbGF0ZSBzdGFydHMgZnJvbSBoZXJlIC0tPlxyXG48bmctdGVtcGxhdGUgI2Jhc2VUZW1wbGF0ZT5cclxuICA8bWF0LWxpc3QtaXRlbSBtYXRSaXBwbGVcclxuICAgICAgICAgICAgICAgICAqbmdJZj1cIiFub2RlLmhpZGRlblwiXHJcbiAgICAgICAgICAgICAgICAgdGl0bGU9XCJ7e25vZGUubGFiZWx9fVwiXHJcbiAgICAgICAgICAgICAgICAgW21hdFJpcHBsZURpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxyXG4gICAgICAgICAgICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTGlzdENsYXNzZXNcIlxyXG4gICAgICAgICAgICAgICAgIFtuZ1N0eWxlXT1cImdldExpc3RTdHlsZSgpXCJcclxuICAgICAgICAgICAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gIDxtYXQtZGl2aWRlciAqbmdJZj1cIm5vZGVDb25maWd1cmF0aW9uLnVzZURpdmlkZXJzXCI+PC9tYXQtZGl2aWRlcj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbGlua1RlbXBsYXRlPlxyXG4gIDxuZy1saXN0LWl0ZW0tY29udGVudCBjbGFzcz1cImZpbGxlZFwiIFtub2RlXT1cIm5vZGVcIiBbaXNSdGxMYXlvdXRdPVwiaXNSdGxMYXlvdXQoKVwiPjwvbmctbGlzdC1pdGVtLWNvbnRlbnQ+XHJcbjwvbmctdGVtcGxhdGU+XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFdBQVcsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUlMLHdCQUF3QixHQUd6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBRTlDLE1BTWEsaUJBQWlCO0lBb0JsQjtJQUNEO0lBcEJBLElBQUksQ0FBaUI7SUFDckIsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsWUFBWSxDQUFpQjtJQUM3QixpQkFBaUIsR0FBa0IsSUFBSSxDQUFDO0lBQ3hDLHdCQUF3QixHQUE2QixJQUFJLENBQUM7SUFDMUQsWUFBWSxHQUE0QixJQUFJLENBQUM7SUFFNUMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRTVELFVBQVUsR0FBRyxLQUFLLENBQUM7SUFD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QUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakU7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjthQUFNLElBQ0wsSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFDdkM7WUFDQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBb0I7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0FoTVUsaUJBQWlCOzJGQUFqQixpQkFBaUIsc1ZDL0I5QixzckVBc0RBLGcyQ0R2QmEsaUJBQWlCLDBYQUZoQixDQUFDLFVBQVUsQ0FBQzs7U0FFYixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLGNBR1osQ0FBQyxVQUFVLENBQUM7aUlBR2YsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgRWxlbWVudFJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbmZpZ3VyYXRpb24sXHJcbiAgTGlzdFN0eWxlLFxyXG4gIE11bHRpbGV2ZWxOb2RlLFxyXG4gIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSxcclxuICBDb2xvclN0eWxlLFxyXG4gIEJhY2tncm91bmRTdHlsZSxcclxufSBmcm9tIFwiLi4vYXBwLm1vZGVsXCI7XHJcbmltcG9ydCB7IENPTlNUQU5UIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTWVudVNlcnZpY2UgfSBmcm9tIFwiLi4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpZGVJbk91dCB9IGZyb20gXCIuLi9hbmltYXRpb25cIjtcclxuaW1wb3J0IHsgQ29tbW9uVXRpbHMgfSBmcm9tIFwiLi4vY29tbW9uLXV0aWxzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJuZy1saXN0LWl0ZW1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9saXN0LWl0ZW0uY29tcG9uZW50LmNzc1wiXSxcclxuICBhbmltYXRpb25zOiBbU2xpZGVJbk91dF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcclxuICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBsZXZlbCA9IDE7XHJcbiAgQElucHV0KCkgc3VibWVudUxldmVsID0gMDtcclxuICBASW5wdXQoKSBzZWxlY3RlZE5vZGU6IE11bHRpbGV2ZWxOb2RlO1xyXG4gIEBJbnB1dCgpIG5vZGVDb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uID0gbnVsbDtcclxuICBASW5wdXQoKSBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IG51bGw7XHJcbiAgQElucHV0KCkgbGlzdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50UmVmPiA9IG51bGw7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2RlPigpO1xyXG5cclxuICBpc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgZXhwYW5kZWQgPSBmYWxzZTtcclxuICBmaXJzdEluaXRpYWxpemVyID0gZmFsc2U7XHJcblxyXG4gIG5vZGVDaGlsZHJlbjogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBjbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHNlbGVjdGVkTGlzdENsYXNzZXM6IHsgW2luZGV4OiBzdHJpbmddOiBib29sZWFuIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzID0ge1xyXG4gICAgICBbQ09OU1RBTlQuREVGQVVMVF9MSVNUX0NMQVNTX05BTUVdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU0VMRUNURURfTElTVF9DTEFTU19OQU1FXTogZmFsc2UsXHJcbiAgICAgIFtDT05TVEFOVC5BQ1RJVkVfSVRFTV9DTEFTU19OQU1FXTogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5vZGVDaGlsZHJlbiA9XHJcbiAgICAgIHRoaXMubm9kZSAmJiB0aGlzLm5vZGUuaXRlbXNcclxuICAgICAgICA/IHRoaXMubm9kZS5pdGVtcy5maWx0ZXIoKG4pID0+ICFuLmhpZGRlbilcclxuICAgICAgICA6IFtdO1xyXG4gICAgdGhpcy5ub2RlLmhhc0NoaWxkcmVuID0gdGhpcy5oYXNJdGVtcygpO1xyXG5cclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5zZWxlY3RlZE5vZGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRDbGFzcyhcclxuICAgICAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5yZWN1cnNpdmVDaGVja0lkKFxyXG4gICAgICAgICAgdGhpcy5ub2RlLFxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuaWRcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEV4cGFuZENvbGxhcHNlU3RhdHVzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3Nlc1tDT05TVEFOVC5ESVNBQkxFRF9JVEVNX0NMQVNTX05BTUVdID1cclxuICAgICAgdGhpcy5ub2RlLmRpc2FibGVkO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZS5mYUljb24pICYmXHJcbiAgICAgIHRoaXMubm9kZS5mYUljb24ubWF0Y2goL1xcYmZhXFx3KD8hLSkvKSA9PT0gbnVsbFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubm9kZS5mYUljb24gPSBgZmFzICR7dGhpcy5ub2RlLmZhSWNvbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3Nlc1tcclxuICAgICAgYGxldmVsLSR7dGhpcy5sZXZlbH0tc3VibWVudWxldmVsLSR7dGhpcy5zdWJtZW51TGV2ZWx9YFxyXG4gICAgXSA9IHRydWU7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMubm9kZS5leHBhbmRlZCA9PT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgdGhpcy5leHBhbmRlZCA9IHRoaXMubm9kZS5leHBhbmRlZDtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRDbGFzcyhpc0ZvdW5kOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoaXNGb3VuZCkge1xyXG4gICAgICBpZiAoIXRoaXMuZmlyc3RJbml0aWFsaXplcikge1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5oaWdobGlnaHRPblNlbGVjdCB8fFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLml0ZW1zID09PSB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY29sbGFwc2VPblNlbGVjdCkge1xyXG4gICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzID0ge1xyXG4gICAgICBbQ09OU1RBTlQuREVGQVVMVF9MSVNUX0NMQVNTX05BTUVdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU0VMRUNURURfTElTVF9DTEFTU19OQU1FXTogdGhpcy5pc1NlbGVjdGVkLFxyXG4gICAgICBbQ09OU1RBTlQuQUNUSVZFX0lURU1fQ0xBU1NfTkFNRV06IHRoaXMuc2VsZWN0ZWROb2RlLmlkID09PSB0aGlzLm5vZGUuaWQsXHJcbiAgICAgIFtDT05TVEFOVC5ESVNBQkxFRF9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLm5vZGUuZGlzYWJsZWQsXHJcbiAgICAgIFtgbGV2ZWwtJHt0aGlzLmxldmVsfS1zdWJtZW51bGV2ZWwtJHt0aGlzLnN1Ym1lbnVMZXZlbH1gXTogdHJ1ZSxcclxuICAgIH07XHJcbiAgICB0aGlzLm5vZGUuaXNTZWxlY3RlZCA9IHRoaXMuaXNTZWxlY3RlZDtcclxuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFkZGluZ0F0U3RhcnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5wYWRkaW5nQXRTdGFydDtcclxuICB9XHJcblxyXG4gIGdldExpc3RTdHlsZSgpOiBMaXN0U3R5bGUge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY29sb3I6IHRoaXMuZ2V0Q29sb3IoKSxcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLmdldEJhY2tncm91bmRDb2xvcigpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldENvbG9yU3R5bGUoKTogQ29sb3JTdHlsZSB7XHJcbiAgICByZXR1cm4geyBjb2xvcjogdGhpcy5nZXRDb2xvcigpIH07XHJcbiAgfVxyXG5cclxuICBnZXRCYWNrZ3JvdW5kU3R5bGUoKTogQmFja2dyb3VuZFN0eWxlIHtcclxuICAgIHJldHVybiB7IGJhY2tncm91bmRDb2xvcjogdGhpcy5nZXRCYWNrZ3JvdW5kQ29sb3IoKSB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWRcclxuICAgICAgPyB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnNlbGVjdGVkTGlzdEZvbnRDb2xvciAhPT0gbnVsbFxyXG4gICAgICAgID8gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5zZWxlY3RlZExpc3RGb250Q29sb3JcclxuICAgICAgICA6IENPTlNUQU5ULkRFRkFVTFRfU0VMRUNURURfRk9OVF9DT0xPUlxyXG4gICAgICA6IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uZm9udENvbG9yICE9PSBudWxsXHJcbiAgICAgID8gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5mb250Q29sb3JcclxuICAgICAgOiBDT05TVEFOVC5ERUZBVUxUX0xJU1RfRk9OVF9DT0xPUjtcclxuICB9XHJcblxyXG4gIGdldEJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ubGlzdEJhY2tncm91bmRDb2xvciAhPT0gbnVsbFxyXG4gICAgICA/IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ubGlzdEJhY2tncm91bmRDb2xvclxyXG4gICAgICA6IENPTlNUQU5ULkRFRkFVTFRfTElTVF9CQUNLR1JPVU5EX0NPTE9SO1xyXG4gIH1cclxuXHJcbiAgaGFzSXRlbXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ2hpbGRyZW4ubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGlzUnRsTGF5b3V0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ucnRsTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xhc3NlcyA9IHtcclxuICAgICAgW2BsZXZlbC0ke3RoaXMubGV2ZWwgKyAxfWBdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU1VCTUVOVV9JVEVNX0NMQVNTX05BTUVdOlxyXG4gICAgICAgIHRoaXMuaGFzSXRlbXMoKSAmJiB0aGlzLmdldFBhZGRpbmdBdFN0YXJ0KCksXHJcbiAgICAgIFtDT05TVEFOVC5IQVNfU1VCTUVOVV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLmhhc0l0ZW1zKCksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzKSkge1xyXG4gICAgICBpZiAodGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPT09IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5leHBhbmQpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSkge1xyXG4gICAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID09PSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0uY29sbGFwc2UpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY3VzdG9tVGVtcGxhdGUpIHtcclxuICAgICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwYW5kKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogdm9pZCB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdGhpcy5leHBhbmRlZDtcclxuICAgIHRoaXMuZmlyc3RJbml0aWFsaXplciA9IHRydWU7XHJcbiAgICB0aGlzLnNldENsYXNzZXMoKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUgIT09IG51bGwgJiZcclxuICAgICAgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUgJiZcclxuICAgICAgbm9kZS5saW5rICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgbm9kZS5saW5rXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW25vZGUubGlua10sIG5vZGUubmF2aWdhdGlvbkV4dHJhcykudGhlbigpO1xyXG4gICAgfSBlbHNlIGlmIChub2RlLm9uU2VsZWN0ZWQgJiYgdHlwZW9mIG5vZGUub25TZWxlY3RlZCA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgIG5vZGUub25TZWxlY3RlZChub2RlKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKG5vZGUpO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgbm9kZS5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY29sbGFwc2VPblNlbGVjdFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShub2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdGVkTGlzdEl0ZW0obm9kZTogTXVsdGlsZXZlbE5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmVtaXQobm9kZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhbW1sLW1lbnUtY29udGFpbmVyXCI+XHJcbiAgICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBzdGFydHMgLS0+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSAmJiAhbm9kZS5oaWRkZW47ZWxzZSBiYXNlVGVtcGxhdGVcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTGlzdENsYXNzZXNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldExpc3RTdHlsZSgpXCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IG5vZGUsIGNvbmZpZ3VyYXRpb246IG5vZGVDb25maWd1cmF0aW9ufVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBlbmRzIC0tPlxyXG4gICAgPCEtLSBSZWN1cnNpdmUgVGVtcGxhdGUgY2FsbHMgYmVnaW5zIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwiaGFzSXRlbXMoKSAmJiBleHBhbmRlZFwiXHJcbiAgICAgICAgW0BTbGlkZUluT3V0XVxyXG4gICAgICAgIFtkaXJdPVwiaXNSdGxMYXlvdXQoKSA/ICdydGwnIDogJ2x0cidcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImNsYXNzZXNcIj5cclxuICAgICAgICA8bmctbGlzdC1pdGVtXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzaW5nbGVOb2RlIG9mIG5vZGVDaGlsZHJlbiB8IGtleXZhbHVlIDogbXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmt2RHVtbXlDb21wYXJlckZuXCJcclxuICAgICAgICAgICAgW25vZGVDb25maWd1cmF0aW9uXT0nbm9kZUNvbmZpZ3VyYXRpb24nXHJcbiAgICAgICAgICAgIFtub2RlXT1cInNpbmdsZU5vZGUudmFsdWVcIlxyXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgW3N1Ym1lbnVMZXZlbF09XCJzaW5nbGVOb2RlLmtleVwiXHJcbiAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPSdzZWxlY3RlZE5vZGUnXHJcbiAgICAgICAgICAgIFtub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXNdPSdub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMnXHJcbiAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pPVwic2VsZWN0ZWRMaXN0SXRlbSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2xpc3RUZW1wbGF0ZV09XCJsaXN0VGVtcGxhdGVcIj5cclxuICAgICAgICA8L25nLWxpc3QtaXRlbT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBSZWN1cnNpdmUgVGVtcGxhdGUgY2FsbHMgZW5kcyAtLT5cclxuPCEtLSBCYXNlIFRlbXBsYXRlIHN0YXJ0cyBmcm9tIGhlcmUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gICAgPG1hdC1saXN0LWl0ZW1cclxuICAgICAgICBtYXRSaXBwbGVcclxuICAgICAgICAqbmdJZj1cIiFub2RlLmhpZGRlblwiXHJcbiAgICAgICAgdGl0bGU9XCJ7e25vZGUubGFiZWx9fVwiXHJcbiAgICAgICAgW21hdFJpcHBsZURpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTGlzdENsYXNzZXNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldEJhY2tncm91bmRTdHlsZSgpXCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwibm9kZUNvbmZpZ3VyYXRpb24udXNlRGl2aWRlcnNcIj48L21hdC1kaXZpZGVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2xpbmtUZW1wbGF0ZT5cclxuICAgIDxuZy1saXN0LWl0ZW0tY29udGVudFxyXG4gICAgICAgIGNsYXNzPVwiZmlsbGVkXCJcclxuICAgICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgICBbaXNSdGxMYXlvdXRdPVwiaXNSdGxMYXlvdXQoKVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0Q29sb3JTdHlsZSgpXCI+PC9uZy1saXN0LWl0ZW0tY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs index 2aa218a..3ec3a4f 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs @@ -1,9 +1,9 @@ -import { Component, Output, EventEmitter, Input, ContentChild, TemplateRef } from '@angular/core'; -import { NavigationEnd, Router } from '@angular/router'; -import { ExpandCollapseStatusEnum } from './app.model'; -import { CONSTANT } from './constants'; -import { MultilevelMenuService } from './multilevel-menu.service'; -import { CommonUtils } from './common-utils'; +import { Component, Output, EventEmitter, Input, ContentChild, TemplateRef, } from "@angular/core"; +import { NavigationEnd, Router } from "@angular/router"; +import { ExpandCollapseStatusEnum, } from "./app.model"; +import { CONSTANT } from "./constants"; +import { MultilevelMenuService } from "./multilevel-menu.service"; +import { CommonUtils } from "./common-utils"; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "./multilevel-menu.service"; @@ -33,7 +33,7 @@ class NgMaterialMultilevelMenuComponent { highlightOnSelect: false, useDividers: true, rtlLayout: false, - customTemplate: false + customTemplate: false, }; isInvalidConfig = true; isInvalidData = true; @@ -53,9 +53,9 @@ class NgMaterialMultilevelMenuComponent { } ngOnInit() { if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && - this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { - this.router.events - .subscribe((event) => { + this.configuration.interfaceWithRoute !== null && + this.configuration.interfaceWithRoute) { + this.router.events.subscribe((event) => { if (event instanceof NavigationEnd) { this.updateNodeByURL(event.urlAfterRedirects); } @@ -65,21 +65,24 @@ class NgMaterialMultilevelMenuComponent { } updateNodeByURL(url) { const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) + if (foundNode !== undefined && + !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) // && !foundNode.disabled // Prevent route redirection for disabled menu ) { this.currentNode = foundNode; - if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) { + if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && + !foundNode.dontEmit) { this.selectedListItem(foundNode); } } } checkValidData() { - if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { + if (this.items === undefined || + (Array.isArray(this.items) && this.items.length === 0)) { console.warn(CONSTANT.ERROR_MESSAGE); return; } - this.items = this.items.filter(n => !n.hidden); + this.items = this.items.filter((n) => !n.hidden); this.multilevelMenuService.addRandomId(this.items); this.isInvalidData = false; } @@ -91,7 +94,7 @@ class NgMaterialMultilevelMenuComponent { this.isInvalidConfig = false; const config = this.configuration; if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && - typeof config.paddingAtStart === 'boolean') { + typeof config.paddingAtStart === "boolean") { this.nodeConfig.paddingAtStart = config.paddingAtStart; } if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { @@ -104,53 +107,57 @@ class NgMaterialMultilevelMenuComponent { this.nodeConfig.selectedListFontColor = config.selectedListFontColor; } if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && - typeof config.interfaceWithRoute === 'boolean') { + typeof config.interfaceWithRoute === "boolean") { this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; } if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && - typeof config.collapseOnSelect === 'boolean') { + typeof config.collapseOnSelect === "boolean") { this.nodeConfig.collapseOnSelect = config.collapseOnSelect; } if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && - typeof config.highlightOnSelect === 'boolean') { + typeof config.highlightOnSelect === "boolean") { this.nodeConfig.highlightOnSelect = config.highlightOnSelect; } if (!CommonUtils.isNullOrUndefined(config.useDividers) && - typeof config.useDividers === 'boolean') { + typeof config.useDividers === "boolean") { this.nodeConfig.useDividers = config.useDividers; } if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && - typeof config.rtlLayout === 'boolean') { + typeof config.rtlLayout === "boolean") { this.nodeConfig.rtlLayout = config.rtlLayout; } if (!CommonUtils.isNullOrUndefined(config.customTemplate) && - typeof config.customTemplate === 'boolean') { + typeof config.customTemplate === "boolean") { this.nodeConfig.customTemplate = config.customTemplate; } } this.checkValidData(); } initExpandCollapseStatus() { - this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ - .subscribe((expandCollapseStatus) => { - this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; - }, () => { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - }); + this.expandCollapseStatusSubscription = + this.multilevelMenuService.expandCollapseStatus$.subscribe((expandCollapseStatus) => { + this.nodeExpandCollapseStatus = expandCollapseStatus + ? expandCollapseStatus + : ExpandCollapseStatusEnum.neutral; + }, () => { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + }); } initSelectedMenuID() { - this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); + this.selectMenuByIDSubscription = + this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); + if (foundNode !== undefined) { + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } } - } - }); + }); } getClassName() { - if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { + if (!this.isInvalidConfig && + !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; } return CONSTANT.DEFAULT_CLASS_NAME; @@ -158,10 +165,10 @@ class NgMaterialMultilevelMenuComponent { getGlobalStyle() { if (!this.isInvalidConfig) { const styles = { - background: null + backgroundColor: null, }; if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { - styles.background = this.configuration.backgroundColor; + styles.backgroundColor = this.configuration.backgroundColor; } return styles; } @@ -175,7 +182,8 @@ class NgMaterialMultilevelMenuComponent { if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { return; } - if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { + if (event.items === undefined && + (!event.onSelected || typeof event.onSelected !== "function")) { this.selectedItem.emit(event); } else { @@ -192,7 +200,7 @@ class NgMaterialMultilevelMenuComponent { export { NgMaterialMultilevelMenuComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, decorators: [{ type: Component, - args: [{ selector: 'ng-material-multilevel-menu', template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] + args: [{ selector: "ng-material-multilevel-menu", template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, propDecorators: { items: [{ type: Input }], configuration: [{ @@ -205,6 +213,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor type: Output }], listTemplate: [{ type: ContentChild, - args: ['listTemplate', { static: true }] + args: ["listTemplate", { static: true }] }] } }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBZ0MsTUFBTSxFQUFFLFlBQVksRUFBRSxLQUFLLEVBQUUsWUFBWSxFQUFFLFdBQVcsRUFBYyxNQUFNLGVBQWUsQ0FBQztBQUM1SSxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXhELE9BQU8sRUFBa0Qsd0JBQXdCLEVBQUUsTUFBTSxhQUFhLENBQUM7QUFDdkcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUNsRSxPQUFPLEVBQUMsV0FBVyxFQUFDLE1BQU0sZ0JBQWdCLENBQUM7Ozs7Ozs7O0FBRTNDLE1BS2EsaUNBQWlDO0lBNEJ4QjtJQUNEO0lBNUJWLEtBQUssQ0FBbUI7SUFDeEIsYUFBYSxHQUFrQixJQUFJLENBQUM7SUFDbkMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBQ2xELGFBQWEsR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUNuRCxXQUFXLEdBQUcsSUFBSSxZQUFZLEVBQW9CLENBQUM7SUFDZixZQUFZLENBQTBCO0lBRXBGLGdDQUFnQyxHQUFpQixJQUFJLENBQUM7SUFDdEQsMEJBQTBCLEdBQWlCLElBQUksQ0FBQztJ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QUFJLENBQUMsZ0NBQWdDLENBQUMsV0FBVyxFQUFFLENBQUM7UUFDcEQsSUFBSSxDQUFDLDBCQUEwQixDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ2hELENBQUM7dUdBNUtVLGlDQUFpQzsyRkFBakMsaUNBQWlDLG1YQ2I5Qyw4cEJBZ0JBOztTREhhLGlDQUFpQzsyRkFBakMsaUNBQWlDO2tCQUw3QyxTQUFTOytCQUNFLDZCQUE2QjtpSUFLOUIsS0FBSztzQkFBYixLQUFLO2dCQUNHLGFBQWE7c0JBQXJCLEtBQUs7Z0JBQ0ksWUFBWTtzQkFBckIsTUFBTTtnQkFDRyxhQUFhO3NCQUF0QixNQUFNO2dCQUNHLFdBQVc7c0JBQXBCLE1BQU07Z0JBQ3VDLFlBQVk7c0JBQXpELFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUMsTUFBTSxFQUFFLElBQUksRUFBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgT25DaGFuZ2VzLCBPbkluaXQsIE9uRGVzdHJveSwgT3V0cHV0LCBFdmVudEVtaXR0ZXIsIElucHV0LCBDb250ZW50Q2hpbGQsIFRlbXBsYXRlUmVmLCBFbGVtZW50UmVmIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBCYWNrZ3JvdW5kU3R5bGUsIENvbmZpZ3VyYXRpb24sIE11bHRpbGV2ZWxOb2RlLCBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0gfSBmcm9tICcuL2FwcC5tb2RlbCc7XHJcbmltcG9ydCB7IENPTlNUQU5UIH0gZnJvbSAnLi9jb25zdGFudHMnO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTWVudVNlcnZpY2UgfSBmcm9tICcuL211bHRpbGV2ZWwtbWVudS5zZXJ2aWNlJztcclxuaW1wb3J0IHtDb21tb25VdGlsc30gZnJvbSAnLi9jb21tb24tdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICduZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICBASW5wdXQoKSBpdGVtczogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBASW5wdXQoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uID0gbnVsbDtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRMYWJlbCA9IG5ldyBFdmVudEVtaXR0ZXI8TXVsdGlsZXZlbE5vZGU+KCk7XHJcbiAgQE91dHB1dCgpIG1lbnVJc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZVtdPigpO1xyXG4gIEBDb250ZW50Q2hpbGQoJ2xpc3RUZW1wbGF0ZScsIHtzdGF0aWM6IHRydWV9KSBsaXN0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xyXG5cclxuICBleHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBzZWxlY3RNZW51QnlJRFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBjdXJyZW50Tm9kZTogTXVsdGlsZXZlbE5vZGUgPSBudWxsO1xyXG5cclxuICBub2RlQ29uZmlnOiBDb25maWd1cmF0aW9uID0ge1xyXG4gICAgcGFkZGluZ0F0U3RhcnQ6IHRydWUsXHJcbiAgICBsaXN0QmFja2dyb3VuZENvbG9yOiBudWxsLFxyXG4gICAgZm9udENvbG9yOiBudWxsLFxyXG4gICAgc2VsZWN0ZWRMaXN0Rm9udENvbG9yOiBudWxsLFxyXG4gICAgaW50ZXJmYWNlV2l0aFJvdXRlOiBudWxsLFxyXG4gICAgY29sbGFwc2VPblNlbGVjdDogbnVsbCxcclxuICAgIGhpZ2hsaWdodE9uU2VsZWN0OiBmYWxzZSxcclxuICAgIHVzZURpdmlkZXJzOiB0cnVlLFxyXG4gICAgcnRsTGF5b3V0OiBmYWxzZSxcclxuICAgIGN1c3RvbVRlbXBsYXRlOiBmYWxzZVxyXG4gIH07XHJcbiAgaXNJbnZhbGlkQ29uZmlnID0gdHJ1ZTtcclxuICBpc0ludmFsaWREYXRhID0gdHJ1ZTtcclxuICBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZSkge1xyXG4gICAgLy8gTk9PUFxyXG4gIH1cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuZGV0ZWN0SW52YWxpZENvbmZpZygpO1xyXG4gICAgdGhpcy5pbml0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTtcclxuICAgIHRoaXMuaW5pdFNlbGVjdGVkTWVudUlEKCk7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkRGF0YSkge1xyXG4gICAgICB0aGlzLm1lbnVJc1JlYWR5LmVtaXQodGhpcy5pdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uKSAmJlxyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlICE9PSBudWxsICYmIHRoaXMuY29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzXHJcbiAgICAgICAgLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQpIHtcclxuICAgICAgICAgICAgdGhpcy51cGRhdGVOb2RlQnlVUkwoZXZlbnQudXJsQWZ0ZXJSZWRpcmVjdHMpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTCh0aGlzLnJvdXRlci51cmwpO1xyXG4gICAgfVxyXG4gIH1cclxuICB1cGRhdGVOb2RlQnlVUkwodXJsOiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIGNvbnN0IGZvdW5kTm9kZSA9IHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmdldE1hdGNoZWRPYmplY3RCeVVybCh0aGlzLml0ZW1zLCB1cmwpO1xyXG4gICAgaWYgKGZvdW5kTm9kZSAhPT0gdW5kZWZpbmVkICYmICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoZm91bmROb2RlLmxpbmspXHJcbiAgICAgIC8vICYmICFmb3VuZE5vZGUuZGlzYWJsZWQgLy8gUHJldmVudCByb3V0ZSByZWRpcmVjdGlvbiBmb3IgZGlzYWJsZWQgbWVudVxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBmb3VuZE5vZGU7XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoZm91bmROb2RlLmRvbnRFbWl0KSAmJiAhZm91bmROb2RlLmRvbnRFbWl0KSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKGZvdW5kTm9kZSk7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgY2hlY2tWYWxpZERhdGEoKTogdm9pZCB7XHJcbiAgICBpZiAodGhpcy5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8IChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpICYmIHRoaXMuaXRlbXMubGVuZ3RoID09PSAwKSkge1xyXG4gICAgICBjb25zb2xlLndhcm4oQ09OU1RBTlQuRVJST1JfTUVTU0FHRSk7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcihuID0+ICFuLmhpZGRlbik7XHJcbiAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5hZGRSYW5kb21JZCh0aGlzLml0ZW1zKTtcclxuICAgIHRoaXMuaXNJbnZhbGlkRGF0YSA9IGZhbHNlO1xyXG4gIH1cclxuICBkZXRlY3RJbnZhbGlkQ29uZmlnKCk6IHZvaWQge1xyXG4gICAgaWYgKENvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eSh0aGlzLmNvbmZpZ3VyYXRpb24pKSB7XHJcbiAgICAgIHRoaXMuaXNJbnZhbGlkQ29uZmlnID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNJbnZhbGlkQ29uZmlnID0gZmFsc2U7XHJcbiAgICAgIGNvbnN0IGNvbmZpZyA9IHRoaXMuY29uZmlndXJhdGlvbjtcclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcucGFkZGluZ0F0U3RhcnQpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5wYWRkaW5nQXRTdGFydCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLnBhZGRpbmdBdFN0YXJ0ID0gY29uZmlnLnBhZGRpbmdBdFN0YXJ0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGNvbmZpZy5saXN0QmFja2dyb3VuZENvbG9yKSkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5saXN0QmFja2dyb3VuZENvbG9yID0gY29uZmlnLmxpc3RCYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoY29uZmlnLmZvbnRDb2xvcikpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuZm9udENvbG9yID0gY29uZmlnLmZvbnRDb2xvcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShjb25maWcuc2VsZWN0ZWRMaXN0Rm9udENvbG9yKSkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5zZWxlY3RlZExpc3RGb250Q29sb3IgPSBjb25maWcuc2VsZWN0ZWRMaXN0Rm9udENvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZSkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZSA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmludGVyZmFjZVdpdGhSb3V0ZSA9IGNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGU7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcuY29sbGFwc2VPblNlbGVjdCkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLmNvbGxhcHNlT25TZWxlY3QgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0ID0gY29uZmlnLmNvbGxhcHNlT25TZWxlY3Q7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcuaGlnaGxpZ2h0T25TZWxlY3QpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5oaWdobGlnaHRPblNlbGVjdCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0ID0gY29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLnVzZURpdmlkZXJzKSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcudXNlRGl2aWRlcnMgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy51c2VEaXZpZGVycyA9IGNvbmZpZy51c2VEaXZpZGVycztcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5ydGxMYXlvdXQpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5ydGxMYXlvdXQgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5ydGxMYXlvdXQgPSBjb25maWcucnRsTGF5b3V0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLmN1c3RvbVRlbXBsYXRlKSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcuY3VzdG9tVGVtcGxhdGUgPT09ICdib29sZWFuJykge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5jdXN0b21UZW1wbGF0ZSA9IGNvbmZpZy5jdXN0b21UZW1wbGF0ZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5jaGVja1ZhbGlkRGF0YSgpO1xyXG4gIH1cclxuICBpbml0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTogdm9pZCB7XHJcbiAgICB0aGlzLmV4cGFuZENvbGxhcHNlU3RhdHVzU3Vic2NyaXB0aW9uID0gdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuZXhwYW5kQ29sbGFwc2VTdGF0dXMkXHJcbiAgICAgIC5zdWJzY3JpYmUoIChleHBhbmRDb2xsYXBzZVN0YXR1czogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtKSA9PiB7XHJcbiAgICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gZXhwYW5kQ29sbGFwc2VTdGF0dXMgPyBleHBhbmRDb2xsYXBzZVN0YXR1cyA6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgfSwgKCkgPT4ge1xyXG4gICAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGluaXRTZWxlY3RlZE1lbnVJRCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0TWVudUJ5SURTdWJzY3JpcHRpb24gPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5zZWxlY3RlZE1lbnVJRCQuc3Vic2NyaWJlKCAoc2VsZWN0ZWRNZW51SUQ6IHN0cmluZykgPT4ge1xyXG4gICAgICBpZiAoc2VsZWN0ZWRNZW51SUQpIHtcclxuICAgICAgICBjb25zdCBmb3VuZE5vZGUgPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5nZXRNYXRjaGVkT2JqZWN0QnlJZCh0aGlzLml0ZW1zLCBzZWxlY3RlZE1lbnVJRCk7XHJcbiAgICAgICAgaWYgKGZvdW5kTm9kZSAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gZm91bmROb2RlO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKGZvdW5kTm9kZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICB9XHJcbiAgZ2V0Q2xhc3NOYW1lKCk6IHN0cmluZyB7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkQ29uZmlnICYmICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uLmNsYXNzbmFtZSkpIHtcclxuICAgICAgcmV0dXJuIGAke0NPTlNUQU5ULkRFRkFVTFRfQ0xBU1NfTkFNRX0gJHt0aGlzLmNvbmZpZ3VyYXRpb24uY2xhc3NuYW1lfWA7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gQ09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FO1xyXG4gIH1cclxuICBnZXRHbG9iYWxTdHlsZSgpOiBCYWNrZ3JvdW5kU3R5bGUge1xyXG4gICAgaWYgKCF0aGlzLmlzSW52YWxpZENvbmZpZykge1xyXG4gICAgICBjb25zdCBzdHlsZXMgPSB7XHJcbiAgICAgICAgYmFja2dyb3VuZCA6IG51bGxcclxuICAgICAgfTtcclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uLmJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICBzdHlsZXMuYmFja2dyb3VuZCA9IHRoaXMuY29uZmlndXJhdGlvbi5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgIH1cclxuICB9XHJcbiAgaXNSdGxMYXlvdXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlnLnJ0bExheW91dDtcclxuICB9XHJcbiAgc2VsZWN0ZWRMaXN0SXRlbShldmVudDogTXVsdGlsZXZlbE5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gZXZlbnQ7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGV2ZW50LmRvbnRFbWl0KSAmJiBldmVudC5kb250RW1pdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoZXZlbnQuaXRlbXMgPT09IHVuZGVmaW5lZCAmJiAoIWV2ZW50Lm9uU2VsZWN0ZWQgfHwgdHlwZW9mIGV2ZW50Lm9uU2VsZWN0ZWQgIT09ICdmdW5jdGlvbicpICkge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXRlbS5lbWl0KGV2ZW50KTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMYWJlbC5lbWl0KGV2ZW50KTtcclxuICAgIH1cclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLmV4cGFuZENvbGxhcHNlU3RhdHVzU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgICB0aGlzLnNlbGVjdE1lbnVCeUlEU3Vic2NyaXB0aW9uLnVuc3Vic2NyaWJlKCk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgW25nQ2xhc3NdPVwiZ2V0Q2xhc3NOYW1lKClcIiBbbmdTdHlsZV09XCJnZXRHbG9iYWxTdHlsZSgpXCIgKm5nSWY9JyFpc0ludmFsaWREYXRhICYmIGl0ZW1zLmxlbmd0aCAhPT0gMCcgW2Rpcl09XCJpc1J0bExheW91dCgpID8gJ3J0bCcgOiAnbHRyJ1wiPlxyXG4gIDxtYXQtbGlzdD5cclxuICAgIDxuZy1saXN0LWl0ZW1cclxuICAgICAgKm5nRm9yPVwibGV0IG5vZGUgb2YgaXRlbXMgfCBrZXl2YWx1ZTogbXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmt2RHVtbXlDb21wYXJlckZuXCJcclxuICAgICAgW25vZGVDb25maWd1cmF0aW9uXT0nbm9kZUNvbmZpZydcclxuICAgICAgW25vZGVdPSdub2RlLnZhbHVlJ1xyXG4gICAgICBbbGV2ZWxdPVwiMVwiXHJcbiAgICAgIFtzdWJtZW51TGV2ZWxdPVwibm9kZS5rZXlcIlxyXG4gICAgICBbc2VsZWN0ZWROb2RlXT0nY3VycmVudE5vZGUnXHJcbiAgICAgIFtub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXNdPSdub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMnXHJcbiAgICAgIChzZWxlY3RlZEl0ZW0pPVwic2VsZWN0ZWRMaXN0SXRlbSgkZXZlbnQpXCJcclxuICAgICAgW2xpc3RUZW1wbGF0ZV0gPSBcImxpc3RUZW1wbGF0ZVwiXHJcbiAgICA+XHJcbiAgICA8L25nLWxpc3QtaXRlbT5cclxuICA8L21hdC1saXN0PlxyXG48L2Rpdj5cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCxZQUFZLEVBQ1osV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUlMLHdCQUF3QixHQUN6QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFFN0MsTUFLYSxpQ0FBaUM7SUFpQ2xDO0lBQ0Q7SUEvQkEsS0FBSyxDQUFtQjtJQUN4QixhQUFhLEdBQWtCLElBQUksQ0FBQztJQUNuQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFDbEQsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBQ25ELFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUU3RCxZQUFZLENBQTBCO0lBRXRDLGdDQUFnQyxHQUFpQixJQUFJLENBQUM7SUFDdEQsMEJBQTBCLEdBQWlCLElBQUksQ0FBQztJ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LENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoRCxDQUFDO3VHQWxPVSxpQ0FBaUM7MkZBQWpDLGlDQUFpQyxtWEM3QjlDLDhwQkFnQkE7O1NEYWEsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsNkJBQTZCO2lJQU85QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFUCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gIEJhY2tncm91bmRTdHlsZSxcclxuICBDb25maWd1cmF0aW9uLFxyXG4gIE11bHRpbGV2ZWxOb2RlLFxyXG4gIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSxcclxufSBmcm9tIFwiLi9hcHAubW9kZWxcIjtcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE1lbnVTZXJ2aWNlIH0gZnJvbSBcIi4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29tbW9uVXRpbHMgfSBmcm9tIFwiLi9jb21tb24tdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcIm5nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudVwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95XHJcbntcclxuICBASW5wdXQoKSBpdGVtczogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBASW5wdXQoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uID0gbnVsbDtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRMYWJlbCA9IG5ldyBFdmVudEVtaXR0ZXI8TXVsdGlsZXZlbE5vZGU+KCk7XHJcbiAgQE91dHB1dCgpIG1lbnVJc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZVtdPigpO1xyXG4gIEBDb250ZW50Q2hpbGQoXCJsaXN0VGVtcGxhdGVcIiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBsaXN0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xyXG5cclxuICBleHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBzZWxlY3RNZW51QnlJRFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBjdXJyZW50Tm9kZTogTXVsdGlsZXZlbE5vZGUgPSBudWxsO1xyXG5cclxuICBub2RlQ29uZmlnOiBDb25maWd1cmF0aW9uID0ge1xyXG4gICAgcGFkZGluZ0F0U3RhcnQ6IHRydWUsXHJcbiAgICBsaXN0QmFja2dyb3VuZENvbG9yOiBudWxsLFxyXG4gICAgZm9udENvbG9yOiBudWxsLFxyXG4gICAgc2VsZWN0ZWRMaXN0Rm9udENvbG9yOiBudWxsLFxyXG4gICAgaW50ZXJmYWNlV2l0aFJvdXRlOiBudWxsLFxyXG4gICAgY29sbGFwc2VPblNlbGVjdDogbnVsbCxcclxuICAgIGhpZ2hsaWdodE9uU2VsZWN0OiBmYWxzZSxcclxuICAgIHVzZURpdmlkZXJzOiB0cnVlLFxyXG4gICAgcnRsTGF5b3V0OiBmYWxzZSxcclxuICAgIGN1c3RvbVRlbXBsYXRlOiBmYWxzZSxcclxuICB9O1xyXG4gIGlzSW52YWxpZENvbmZpZyA9IHRydWU7XHJcbiAgaXNJbnZhbGlkRGF0YSA9IHRydWU7XHJcbiAgbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0gPVxyXG4gICAgRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZVxyXG4gICkge1xyXG4gICAgLy8gTk9PUFxyXG4gIH1cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuZGV0ZWN0SW52YWxpZENvbmZpZygpO1xyXG4gICAgdGhpcy5pbml0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTtcclxuICAgIHRoaXMuaW5pdFNlbGVjdGVkTWVudUlEKCk7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkRGF0YSkge1xyXG4gICAgICB0aGlzLm1lbnVJc1JlYWR5LmVtaXQodGhpcy5pdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KHRoaXMuY29uZmlndXJhdGlvbikgJiZcclxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmludGVyZmFjZVdpdGhSb3V0ZSAhPT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTChldmVudC51cmxBZnRlclJlZGlyZWN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy51cGRhdGVOb2RlQnlVUkwodGhpcy5yb3V0ZXIudXJsKTtcclxuICAgIH1cclxuICB9XHJcbiAgdXBkYXRlTm9kZUJ5VVJMKHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3VuZE5vZGUgPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5nZXRNYXRjaGVkT2JqZWN0QnlVcmwoXHJcbiAgICAgIHRoaXMuaXRlbXMsXHJcbiAgICAgIHVybFxyXG4gICAgKTtcclxuICAgIGlmIChcclxuICAgICAgZm91bmROb2RlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3VuZE5vZGUubGluaylcclxuICAgICAgLy8gJiYgIWZvdW5kTm9kZS5kaXNhYmxlZCAvLyBQcmV2ZW50IHJvdXRlIHJlZGlyZWN0aW9uIGZvciBkaXNhYmxlZCBtZW51XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jdXJyZW50Tm9kZSA9IGZvdW5kTm9kZTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChmb3VuZE5vZGUuZG9udEVtaXQpICYmXHJcbiAgICAgICAgIWZvdW5kTm9kZS5kb250RW1pdFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0oZm91bmROb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjaGVja1ZhbGlkRGF0YSgpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpICYmIHRoaXMuaXRlbXMubGVuZ3RoID09PSAwKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihDT05TVEFOVC5FUlJPUl9NRVNTQUdFKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChuKSA9PiAhbi5oaWRkZW4pO1xyXG4gICAgdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuYWRkUmFuZG9tSWQodGhpcy5pdGVtcyk7XHJcbiAgICB0aGlzLmlzSW52YWxpZERhdGEgPSBmYWxzZTtcclxuICB9XHJcbiAgZGV0ZWN0SW52YWxpZENvbmZpZygpOiB2b2lkIHtcclxuICAgIGlmIChDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uKSkge1xyXG4gICAgICB0aGlzLmlzSW52YWxpZENvbmZpZyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzSW52YWxpZENvbmZpZyA9IGZhbHNlO1xyXG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLnBhZGRpbmdBdFN0YXJ0KSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcucGFkZGluZ0F0U3RhcnQgPT09IFwiYm9vbGVhblwiXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5wYWRkaW5nQXRTdGFydCA9IGNvbmZpZy5wYWRkaW5nQXRTdGFydDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShjb25maWcubGlzdEJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcubGlzdEJhY2tncm91bmRDb2xvciA9IGNvbmZpZy5saXN0QmFja2dyb3VuZENvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGNvbmZpZy5mb250Q29sb3IpKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmZvbnRDb2xvciA9IGNvbmZpZy5mb250Q29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoY29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvcikpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuc2VsZWN0ZWRMaXN0Rm9udENvbG9yID0gY29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGUpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGUgPT09IFwiYm9vbGVhblwiXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGUgPSBjb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLmNvbGxhcHNlT25TZWxlY3QpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0ID09PSBcImJvb2xlYW5cIlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuY29sbGFwc2VPblNlbGVjdCA9IGNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0KSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcuaGlnaGxpZ2h0T25TZWxlY3QgPT09IFwiYm9vbGVhblwiXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5oaWdobGlnaHRPblNlbGVjdCA9IGNvbmZpZy5oaWdobGlnaHRPblNlbGVjdDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy51c2VEaXZpZGVycykgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLnVzZURpdmlkZXJzID09PSBcImJvb2xlYW5cIlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcudXNlRGl2aWRlcnMgPSBjb25maWcudXNlRGl2aWRlcnM7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcucnRsTGF5b3V0KSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcucnRsTGF5b3V0ID09PSBcImJvb2xlYW5cIlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcucnRsTGF5b3V0ID0gY29uZmlnLnJ0bExheW91dDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5jdXN0b21UZW1wbGF0ZSkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLmN1c3RvbVRlbXBsYXRlID09PSBcImJvb2xlYW5cIlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuY3VzdG9tVGVtcGxhdGUgPSBjb25maWcuY3VzdG9tVGVtcGxhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tWYWxpZERhdGEoKTtcclxuICB9XHJcbiAgaW5pdEV4cGFuZENvbGxhcHNlU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5leHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbiA9XHJcbiAgICAgIHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmV4cGFuZENvbGxhcHNlU3RhdHVzJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0pID0+IHtcclxuICAgICAgICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gZXhwYW5kQ29sbGFwc2VTdGF0dXNcclxuICAgICAgICAgICAgPyBleHBhbmRDb2xsYXBzZVN0YXR1c1xyXG4gICAgICAgICAgICA6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIGluaXRTZWxlY3RlZE1lbnVJRCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0TWVudUJ5SURTdWJzY3JpcHRpb24gPVxyXG4gICAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5zZWxlY3RlZE1lbnVJRCQuc3Vic2NyaWJlKFxyXG4gICAgICAgIChzZWxlY3RlZE1lbnVJRDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRNZW51SUQpIHtcclxuICAgICAgICAgICAgY29uc3QgZm91bmROb2RlID0gdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuZ2V0TWF0Y2hlZE9iamVjdEJ5SWQoXHJcbiAgICAgICAgICAgICAgdGhpcy5pdGVtcyxcclxuICAgICAgICAgICAgICBzZWxlY3RlZE1lbnVJRFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBpZiAoZm91bmROb2RlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gZm91bmROb2RlO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShmb3VuZE5vZGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuICBnZXRDbGFzc05hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmIChcclxuICAgICAgIXRoaXMuaXNJbnZhbGlkQ29uZmlnICYmXHJcbiAgICAgICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uLmNsYXNzbmFtZSlcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gYCR7Q09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FfSAke3RoaXMuY29uZmlndXJhdGlvbi5jbGFzc25hbWV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBDT05TVEFOVC5ERUZBVUxUX0NMQVNTX05BTUU7XHJcbiAgfVxyXG4gIGdldEdsb2JhbFN0eWxlKCk6IEJhY2tncm91bmRTdHlsZSB7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkQ29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IHN0eWxlcyA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IG51bGwsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KFxyXG4gICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhY2tncm91bmRDb2xvclxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgc3R5bGVzLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29uZmlndXJhdGlvbi5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgIH1cclxuICB9XHJcbiAgaXNSdGxMYXlvdXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlnLnJ0bExheW91dDtcclxuICB9XHJcbiAgc2VsZWN0ZWRMaXN0SXRlbShldmVudDogTXVsdGlsZXZlbE5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gZXZlbnQ7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGV2ZW50LmRvbnRFbWl0KSAmJiBldmVudC5kb250RW1pdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGV2ZW50Lml0ZW1zID09PSB1bmRlZmluZWQgJiZcclxuICAgICAgKCFldmVudC5vblNlbGVjdGVkIHx8IHR5cGVvZiBldmVudC5vblNlbGVjdGVkICE9PSBcImZ1bmN0aW9uXCIpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChldmVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGFiZWwuZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5leHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RNZW51QnlJRFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImdldENsYXNzTmFtZSgpXCIgW25nU3R5bGVdPVwiZ2V0R2xvYmFsU3R5bGUoKVwiICpuZ0lmPSchaXNJbnZhbGlkRGF0YSAmJiBpdGVtcy5sZW5ndGggIT09IDAnIFtkaXJdPVwiaXNSdGxMYXlvdXQoKSA/ICdydGwnIDogJ2x0cidcIj5cclxuICA8bWF0LWxpc3Q+XHJcbiAgICA8bmctbGlzdC1pdGVtXHJcbiAgICAgICpuZ0Zvcj1cImxldCBub2RlIG9mIGl0ZW1zIHwga2V5dmFsdWU6IG11bHRpbGV2ZWxNZW51U2VydmljZS5rdkR1bW15Q29tcGFyZXJGblwiXHJcbiAgICAgIFtub2RlQ29uZmlndXJhdGlvbl09J25vZGVDb25maWcnXHJcbiAgICAgIFtub2RlXT0nbm9kZS52YWx1ZSdcclxuICAgICAgW2xldmVsXT1cIjFcIlxyXG4gICAgICBbc3VibWVudUxldmVsXT1cIm5vZGUua2V5XCJcclxuICAgICAgW3NlbGVjdGVkTm9kZV09J2N1cnJlbnROb2RlJ1xyXG4gICAgICBbbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzXT0nbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzJ1xyXG4gICAgICAoc2VsZWN0ZWRJdGVtKT1cInNlbGVjdGVkTGlzdEl0ZW0oJGV2ZW50KVwiXHJcbiAgICAgIFtsaXN0VGVtcGxhdGVdID0gXCJsaXN0VGVtcGxhdGVcIlxyXG4gICAgPlxyXG4gICAgPC9uZy1saXN0LWl0ZW0+XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9kaXY+XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs index 0b37251..17f14c2 100644 --- a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs +++ b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs @@ -186,19 +186,29 @@ class ListItemContentComponent { } } getHrefTargetType() { - return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + return this.node.hrefTargetType + ? this.node.hrefTargetType + : CONSTANT.DEFAULT_HREF_TARGET_TYPE; } getSelectedSvgIcon() { - return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; + return this.node.isSelected && this.node.activeSvgIcon + ? this.node.activeSvgIcon + : this.node.svgIcon; } getSelectedIcon() { - return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; + return this.node.isSelected && this.node.activeIcon + ? this.node.activeIcon + : this.node.icon; } getSelectedFaIcon() { - return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; + return this.node.isSelected && this.node.activeFaIcon + ? this.node.activeFaIcon + : this.node.faIcon; } getSelectedImageIcon() { - return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; + return this.node.isSelected && this.node.activeImageIcon + ? this.node.activeImageIcon + : this.node.imageIcon; } nodeExpandStatus() { return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; @@ -208,7 +218,7 @@ class ListItemContentComponent { } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, decorators: [{ type: Component, - args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] + args: [{ selector: "ng-list-item-content", animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] }], ctorParameters: function () { return []; }, propDecorators: { node: [{ type: Input }], isRtlLayout: [{ @@ -242,7 +252,10 @@ class ListItemComponent { }; } ngOnChanges() { - this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; + this.nodeChildren = + this.node && this.node.items + ? this.node.items.filter((n) => !n.hidden) + : []; this.node.hasChildren = this.hasItems(); if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); @@ -250,13 +263,14 @@ class ListItemComponent { this.setExpandCollapseStatus(); } ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = + this.node.disabled; if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && this.node.faIcon.match(/\bfa\w(?!-)/) === null) { this.node.faIcon = `fas ${this.node.faIcon}`; } this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; - if (typeof this.node.expanded === 'boolean') { + if (typeof this.node.expanded === "boolean") { this.expanded = this.node.expanded; } this.setClasses(); @@ -266,7 +280,9 @@ class ListItemComponent { if (!this.firstInitializer) { this.expanded = true; } - this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; + this.isSelected = + this.nodeConfiguration.highlightOnSelect || + this.selectedNode.items === undefined; } else { this.isSelected = false; @@ -289,21 +305,30 @@ class ListItemComponent { return this.nodeConfiguration.paddingAtStart; } getListStyle() { - const styles = { - background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, - color: CONSTANT.DEFAULT_LIST_FONT_COLOR + return { + color: this.getColor(), + backgroundColor: this.getBackgroundColor(), }; - if (this.nodeConfiguration.listBackgroundColor !== null) { - styles.background = this.nodeConfiguration.listBackgroundColor; - } - if (this.isSelected) { - this.nodeConfiguration.selectedListFontColor !== null ? - styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; - } - else if (this.nodeConfiguration.fontColor !== null) { - styles.color = this.nodeConfiguration.fontColor; - } - return styles; + } + getColorStyle() { + return { color: this.getColor() }; + } + getBackgroundStyle() { + return { backgroundColor: this.getBackgroundColor() }; + } + getColor() { + return this.isSelected + ? this.nodeConfiguration.selectedListFontColor !== null + ? this.nodeConfiguration.selectedListFontColor + : CONSTANT.DEFAULT_SELECTED_FONT_COLOR + : this.nodeConfiguration.fontColor !== null + ? this.nodeConfiguration.fontColor + : CONSTANT.DEFAULT_LIST_FONT_COLOR; + } + getBackgroundColor() { + return this.nodeConfiguration.listBackgroundColor !== null + ? this.nodeConfiguration.listBackgroundColor + : CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR; } hasItems() { return this.nodeChildren.length > 0; @@ -315,7 +340,7 @@ class ListItemComponent { this.classes = { [`level-${this.level + 1}`]: true, [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), - [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() + [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems(), }; } setExpandCollapseStatus() { @@ -343,17 +368,18 @@ class ListItemComponent { this.node.expanded = this.expanded; this.firstInitializer = true; this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null - && this.nodeConfiguration.interfaceWithRoute - && node.link !== undefined - && node.link) { + if (this.nodeConfiguration.interfaceWithRoute !== null && + this.nodeConfiguration.interfaceWithRoute && + node.link !== undefined && + node.link) { this.router.navigate([node.link], node.navigationExtras).then(); } - else if (node.onSelected && typeof node.onSelected === 'function') { + else if (node.onSelected && typeof node.onSelected === "function") { node.onSelected(node); this.selectedListItem(node); } - else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { + else if (node.items === undefined || + this.nodeConfiguration.collapseOnSelect) { this.selectedListItem(node); } } @@ -361,11 +387,11 @@ class ListItemComponent { this.selectedItem.emit(node); } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, deps: [{ token: i1.Router }, { token: MultilevelMenuService }], target: i0.ɵɵFactoryTarget.Component }); - static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemComponent, selector: "ng-list-item", inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "component", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: ["node", "isRtlLayout"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }], animations: [SlideInOut] }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemComponent, selector: "ng-list-item", inputs: { node: "node", level: "level", submenuLevel: "submenuLevel", selectedNode: "selectedNode", nodeConfiguration: "nodeConfiguration", nodeExpandCollapseStatus: "nodeExpandCollapseStatus", listTemplate: "listTemplate" }, outputs: { selectedItem: "selectedItem" }, usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatListItem, selector: "mat-list-item, a[mat-list-item], button[mat-list-item]", inputs: ["activated"], exportAs: ["matListItem"] }, { kind: "component", type: i6.MatDivider, selector: "mat-divider", inputs: ["vertical", "inset"] }, { kind: "directive", type: i7.MatRipple, selector: "[mat-ripple], [matRipple]", inputs: ["matRippleColor", "matRippleUnbounded", "matRippleCentered", "matRippleRadius", "matRippleAnimation", "matRippleDisabled", "matRippleTrigger"], exportAs: ["matRipple"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "component", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: ["node", "isRtlLayout"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }], animations: [SlideInOut] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, decorators: [{ type: Component, - args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] + args: [{ selector: "ng-list-item", animations: [SlideInOut], template: "
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, propDecorators: { node: [{ type: Input }], level: [{ @@ -436,7 +462,7 @@ class NgMaterialMultilevelMenuComponent { highlightOnSelect: false, useDividers: true, rtlLayout: false, - customTemplate: false + customTemplate: false, }; isInvalidConfig = true; isInvalidData = true; @@ -456,9 +482,9 @@ class NgMaterialMultilevelMenuComponent { } ngOnInit() { if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && - this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { - this.router.events - .subscribe((event) => { + this.configuration.interfaceWithRoute !== null && + this.configuration.interfaceWithRoute) { + this.router.events.subscribe((event) => { if (event instanceof NavigationEnd) { this.updateNodeByURL(event.urlAfterRedirects); } @@ -468,21 +494,24 @@ class NgMaterialMultilevelMenuComponent { } updateNodeByURL(url) { const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) + if (foundNode !== undefined && + !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) // && !foundNode.disabled // Prevent route redirection for disabled menu ) { this.currentNode = foundNode; - if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) { + if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && + !foundNode.dontEmit) { this.selectedListItem(foundNode); } } } checkValidData() { - if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { + if (this.items === undefined || + (Array.isArray(this.items) && this.items.length === 0)) { console.warn(CONSTANT.ERROR_MESSAGE); return; } - this.items = this.items.filter(n => !n.hidden); + this.items = this.items.filter((n) => !n.hidden); this.multilevelMenuService.addRandomId(this.items); this.isInvalidData = false; } @@ -494,7 +523,7 @@ class NgMaterialMultilevelMenuComponent { this.isInvalidConfig = false; const config = this.configuration; if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && - typeof config.paddingAtStart === 'boolean') { + typeof config.paddingAtStart === "boolean") { this.nodeConfig.paddingAtStart = config.paddingAtStart; } if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { @@ -507,53 +536,57 @@ class NgMaterialMultilevelMenuComponent { this.nodeConfig.selectedListFontColor = config.selectedListFontColor; } if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && - typeof config.interfaceWithRoute === 'boolean') { + typeof config.interfaceWithRoute === "boolean") { this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; } if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && - typeof config.collapseOnSelect === 'boolean') { + typeof config.collapseOnSelect === "boolean") { this.nodeConfig.collapseOnSelect = config.collapseOnSelect; } if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && - typeof config.highlightOnSelect === 'boolean') { + typeof config.highlightOnSelect === "boolean") { this.nodeConfig.highlightOnSelect = config.highlightOnSelect; } if (!CommonUtils.isNullOrUndefined(config.useDividers) && - typeof config.useDividers === 'boolean') { + typeof config.useDividers === "boolean") { this.nodeConfig.useDividers = config.useDividers; } if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && - typeof config.rtlLayout === 'boolean') { + typeof config.rtlLayout === "boolean") { this.nodeConfig.rtlLayout = config.rtlLayout; } if (!CommonUtils.isNullOrUndefined(config.customTemplate) && - typeof config.customTemplate === 'boolean') { + typeof config.customTemplate === "boolean") { this.nodeConfig.customTemplate = config.customTemplate; } } this.checkValidData(); } initExpandCollapseStatus() { - this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ - .subscribe((expandCollapseStatus) => { - this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; - }, () => { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - }); + this.expandCollapseStatusSubscription = + this.multilevelMenuService.expandCollapseStatus$.subscribe((expandCollapseStatus) => { + this.nodeExpandCollapseStatus = expandCollapseStatus + ? expandCollapseStatus + : ExpandCollapseStatusEnum.neutral; + }, () => { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + }); } initSelectedMenuID() { - this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); + this.selectMenuByIDSubscription = + this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); + if (foundNode !== undefined) { + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } } - } - }); + }); } getClassName() { - if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { + if (!this.isInvalidConfig && + !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; } return CONSTANT.DEFAULT_CLASS_NAME; @@ -561,10 +594,10 @@ class NgMaterialMultilevelMenuComponent { getGlobalStyle() { if (!this.isInvalidConfig) { const styles = { - background: null + backgroundColor: null, }; if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { - styles.background = this.configuration.backgroundColor; + styles.backgroundColor = this.configuration.backgroundColor; } return styles; } @@ -578,7 +611,8 @@ class NgMaterialMultilevelMenuComponent { if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { return; } - if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')) { + if (event.items === undefined && + (!event.onSelected || typeof event.onSelected !== "function")) { this.selectedItem.emit(event); } else { @@ -594,7 +628,7 @@ class NgMaterialMultilevelMenuComponent { } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, decorators: [{ type: Component, - args: [{ selector: 'ng-material-multilevel-menu', template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] + args: [{ selector: "ng-material-multilevel-menu", template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, propDecorators: { items: [{ type: Input }], configuration: [{ @@ -607,7 +641,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor type: Output }], listTemplate: [{ type: ContentChild, - args: ['listTemplate', { static: true }] + args: ["listTemplate", { static: true }] }] } }); class NgMaterialMultilevelMenuModule { diff --git a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map index 2e3f274..aa367f0 100644 --- a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map +++ b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map @@ -1 +1 @@ -{"version":3,"file":"eddie666-ng-material-multilevel-menu.mjs","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../projects/ng-material-multilevel-menu/src/eddie666-ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from '@angular/router';\r\n\r\nexport interface MultilevelNode {\r\n id?: string;\r\n label: string;\r\n faIcon?: string;\r\n icon?: string;\r\n imageIcon?: string;\r\n svgIcon?: string;\r\n activeFaIcon?: string;\r\n activeIcon?: string;\r\n activeImageIcon?: string;\r\n activeSvgIcon?: string;\r\n hidden?: boolean;\r\n link?: string;\r\n externalRedirect?: boolean;\r\n hrefTargetType?: string;\r\n data?: any;\r\n items?: MultilevelNode[];\r\n onSelected?: Function;\r\n disabled?: boolean;\r\n expanded?: boolean;\r\n navigationExtras?: NavigationExtras;\r\n dontEmit?: boolean;\r\n hasChildren?: boolean;\r\n isSelected?: boolean;\r\n}\r\n\r\nexport interface Configuration {\r\n classname?: string;\r\n paddingAtStart?: boolean;\r\n backgroundColor?: string;\r\n listBackgroundColor?: string;\r\n fontColor?: string;\r\n selectedListFontColor?: string;\r\n interfaceWithRoute?: boolean;\r\n collapseOnSelect?: boolean;\r\n highlightOnSelect?: boolean;\r\n useDividers?: boolean;\r\n rtlLayout?: boolean;\r\n customTemplate?: boolean;\r\n}\r\n\r\nexport interface BackgroundStyle {\r\n background: string;\r\n}\r\n\r\nexport interface ListStyle {\r\n background: string;\r\n color: string;\r\n}\r\n\r\nexport enum ExpandCollapseStatusEnum {\r\n expand = 'expand',\r\n collapse = 'collapse',\r\n neutral = 'neutral',\r\n}\r\n","export const CONSTANT = {\r\n PADDING_AT_START: true,\r\n DEFAULT_CLASS_NAME: `amml-container`,\r\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\r\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\r\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\r\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\r\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\r\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\r\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\r\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\r\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\r\n DEFAULT_HREF_TARGET_TYPE: '_self',\r\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`,\r\n POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',\r\n YES: 'yes',\r\n NO: 'no'\r\n};\r\n"," import {BehaviorSubject, Observable, Subject} from 'rxjs';\r\nimport { MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport {CONSTANT} from './constants';\r\n\r\nexport class MultilevelMenuService {\r\n foundLinkObject: MultilevelNode;\r\n private expandCollapseStatus: Subject = new Subject();\r\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\r\n\r\n private selectedMenuID: Subject = new Subject();\r\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\r\n\r\n private generateId(): string {\r\n let text = '';\r\n for (let i = 0; i < 20; i++) {\r\n text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length));\r\n }\r\n return text;\r\n }\r\n addRandomId(nodes: MultilevelNode[]): void {\r\n nodes.forEach((node: MultilevelNode) => {\r\n node.id = this.generateId();\r\n if (node.items !== undefined) {\r\n this.addRandomId(node.items);\r\n }\r\n });\r\n }\r\n recursiveCheckId(node: MultilevelNode, nodeId: string): boolean {\r\n if (node.id === nodeId) {\r\n return true;\r\n } else {\r\n if (node.items !== undefined) {\r\n return node.items.some((nestedNode: MultilevelNode) => {\r\n return this.recursiveCheckId(nestedNode, nodeId);\r\n });\r\n }\r\n }\r\n }\r\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNode[], link?: string, id?: string}): void {\r\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\r\n const node = nodes[nodeIndex];\r\n for (const key in node) {\r\n if (node.hasOwnProperty(key)) {\r\n if (encodeURI(node.link) === link) {\r\n this.foundLinkObject = node;\r\n } else if (node.id === id) {\r\n this.foundLinkObject = node;\r\n } else {\r\n if (node.items !== undefined) {\r\n this.findNodeRecursively({\r\n nodes: node.items,\r\n link: link ? link : null,\r\n id: id ? id : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, link});\r\n return this.foundLinkObject;\r\n }\r\n getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, id});\r\n return this.foundLinkObject;\r\n }\r\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\r\n // https://angular.io/api/common/KeyValuePipe#description\r\n kvDummyComparerFn() {\r\n return 0;\r\n }\r\n setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void {\r\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\r\n }\r\n selectMenuByID(menuID: string) {\r\n this.selectedMenuID.next(menuID);\r\n return this.foundLinkObject;\r\n }\r\n}\r\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport const SlideInOut = trigger('SlideInOut', [\r\n state(\r\n 'in',\r\n style({ height: '*', opacity: 0 })),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 0.2 }),\r\n group([\r\n animate(200, style({ height: 0 })),\r\n animate('200ms ease-out', style({ opacity: 0 }))\r\n ])\r\n ]),\r\n transition(':enter', [\r\n style({ height: '0', opacity: 0 }),\r\n group([\r\n animate(200, style({ height: '*' })),\r\n animate('400ms ease-out', style({ opacity: 1 }))\r\n ])\r\n ])\r\n ]\r\n);\r\n\r\nexport const ExpandedLTR = trigger('ExpandedLTR', [\r\n state('no', style({ transform: 'rotate(-90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n\r\nexport const ExpandedRTL = trigger('ExpandedRTL', [\r\n state('no', style({ transform: 'rotate(90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n","export class CommonUtils {\r\n\r\n static isNullOrUndefinedOrEmpty = function (object: any): boolean {\r\n return CommonUtils.isNullOrUndefined(object) || object === '';\r\n };\r\n\r\n static isNullOrUndefined = function (object: any): boolean {\r\n return object === null || object === undefined;\r\n };\r\n}\r\n","import {Component, Input, OnInit} from '@angular/core';\r\nimport {MultilevelNode} from '../../app.model';\r\nimport {ExpandedLTR, ExpandedRTL} from '../../animation';\r\nimport {CommonUtils} from '../../common-utils';\r\nimport {CONSTANT} from '../../constants';\r\n\r\n@Component({\r\n selector: 'ng-list-item-content',\r\n templateUrl: './list-item-content.component.html',\r\n styleUrls: ['./list-item-content.component.css'],\r\n animations: [ExpandedLTR, ExpandedRTL]\r\n})\r\nexport class ListItemContentComponent implements OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() isRtlLayout: boolean;\r\n\r\n constructor() {\r\n // NOOP\r\n }\r\n\r\n ngOnInit(): void {\r\n // NOOP\r\n }\r\n\r\n getListIcon(node: MultilevelNode): string {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) {\r\n return `icon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) {\r\n return `faIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) {\r\n return `imageIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) {\r\n return `svgIcon`;\r\n } else {\r\n return ``;\r\n }\r\n }\r\n\r\n getHrefTargetType(): string {\r\n return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE;\r\n }\r\n\r\n getSelectedSvgIcon(): string {\r\n return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon;\r\n }\r\n\r\n getSelectedIcon(): string {\r\n return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon;\r\n }\r\n\r\n getSelectedFaIcon(): string {\r\n return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon;\r\n }\r\n\r\n getSelectedImageIcon(): string {\r\n return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon;\r\n }\r\n\r\n nodeExpandStatus(): string {\r\n return this.node.expanded ? CONSTANT.YES : CONSTANT.NO;\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n","import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model';\r\nimport { CONSTANT } from '../constants';\r\nimport { MultilevelMenuService } from '../multilevel-menu.service';\r\nimport { SlideInOut } from '../animation';\r\nimport {CommonUtils} from '../common-utils';\r\n\r\n@Component({\r\n selector: 'ng-list-item',\r\n templateUrl: './list-item.component.html',\r\n styleUrls: ['./list-item.component.css'],\r\n animations: [SlideInOut]\r\n})\r\nexport class ListItemComponent implements OnChanges, OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() level = 1;\r\n @Input() submenuLevel = 0;\r\n @Input() selectedNode: MultilevelNode;\r\n @Input() nodeConfiguration: Configuration = null;\r\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\r\n @Input() listTemplate: TemplateRef = null;\r\n\r\n @Output() selectedItem = new EventEmitter();\r\n\r\n isSelected = false;\r\n expanded = false;\r\n firstInitializer = false;\r\n\r\n nodeChildren: MultilevelNode[];\r\n classes: { [index: string]: boolean };\r\n selectedListClasses: { [index: string]: boolean };\r\n\r\n constructor(private router: Router,\r\n public multilevelMenuService: MultilevelMenuService) {\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\r\n };\r\n }\r\n\r\n ngOnChanges() {\r\n this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : [];\r\n this.node.hasChildren = this.hasItems();\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.selectedNode)) {\r\n this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id));\r\n }\r\n this.setExpandCollapseStatus();\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled;\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.node.faIcon) &&\r\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null) {\r\n this.node.faIcon = `fas ${this.node.faIcon}`;\r\n }\r\n\r\n this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true;\r\n if (typeof this.node.expanded === 'boolean') {\r\n this.expanded = this.node.expanded;\r\n }\r\n this.setClasses();\r\n }\r\n\r\n setSelectedClass(isFound: boolean): void {\r\n if (isFound) {\r\n if (!this.firstInitializer) {\r\n this.expanded = true;\r\n }\r\n this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined;\r\n } else {\r\n this.isSelected = false;\r\n if (this.nodeConfiguration.collapseOnSelect) {\r\n this.node.expanded = false;\r\n this.expanded = false;\r\n }\r\n }\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\r\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\r\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\r\n };\r\n this.node.isSelected = this.isSelected;\r\n this.setClasses();\r\n }\r\n\r\n getPaddingAtStart(): boolean {\r\n return this.nodeConfiguration.paddingAtStart;\r\n }\r\n\r\n getListStyle(): ListStyle {\r\n const styles = {\r\n background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR,\r\n color: CONSTANT.DEFAULT_LIST_FONT_COLOR\r\n };\r\n if (this.nodeConfiguration.listBackgroundColor !== null) {\r\n styles.background = this.nodeConfiguration.listBackgroundColor;\r\n }\r\n if (this.isSelected) {\r\n this.nodeConfiguration.selectedListFontColor !== null ?\r\n styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR;\r\n } else if (this.nodeConfiguration.fontColor !== null) {\r\n styles.color = this.nodeConfiguration.fontColor;\r\n }\r\n return styles;\r\n }\r\n\r\n hasItems(): boolean {\r\n return this.nodeChildren.length > 0;\r\n }\r\n\r\n isRtlLayout(): boolean {\r\n return this.nodeConfiguration.rtlLayout;\r\n }\r\n\r\n setClasses(): void {\r\n this.classes = {\r\n [`level-${this.level + 1}`]: true,\r\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(),\r\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems()\r\n };\r\n }\r\n\r\n setExpandCollapseStatus(): void {\r\n if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) {\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\r\n this.expanded = true;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = true;\r\n }\r\n }\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\r\n this.expanded = false;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n expand(node: MultilevelNode): void {\r\n if (node.disabled) {\r\n return;\r\n }\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.expanded = !this.expanded;\r\n this.node.expanded = this.expanded;\r\n this.firstInitializer = true;\r\n this.setClasses();\r\n if (this.nodeConfiguration.interfaceWithRoute !== null\r\n && this.nodeConfiguration.interfaceWithRoute\r\n && node.link !== undefined\r\n && node.link\r\n ) {\r\n this.router.navigate([node.link], node.navigationExtras).then();\r\n } else if (node.onSelected && typeof node.onSelected === 'function') {\r\n node.onSelected(node);\r\n this.selectedListItem(node);\r\n } else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) {\r\n this.selectedListItem(node);\r\n }\r\n }\r\n\r\n selectedListItem(node: MultilevelNode): void {\r\n this.selectedItem.emit(node);\r\n }\r\n\r\n}\r\n","
\r\n \r\n
\r\n \r\n \r\n
\r\n \r\n\r\n \r\n
\r\n \r\n \r\n
\r\n
\r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\n\r\n@NgModule({\r\n imports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ],\r\n declarations: [],\r\n exports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ]\r\n})\r\nexport class MaterialsModule { }\r\n","import { Component, OnChanges, OnInit, OnDestroy, Output, EventEmitter, Input, ContentChild, TemplateRef, ElementRef } from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Subscription } from 'rxjs';\r\nimport { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport { CONSTANT } from './constants';\r\nimport { MultilevelMenuService } from './multilevel-menu.service';\r\nimport {CommonUtils} from './common-utils';\r\n\r\n@Component({\r\n selector: 'ng-material-multilevel-menu',\r\n templateUrl: './ng-material-multilevel-menu.component.html',\r\n styleUrls: ['./ng-material-multilevel-menu.component.css'],\r\n})\r\nexport class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() items: MultilevelNode[];\r\n @Input() configuration: Configuration = null;\r\n @Output() selectedItem = new EventEmitter();\r\n @Output() selectedLabel = new EventEmitter();\r\n @Output() menuIsReady = new EventEmitter();\r\n @ContentChild('listTemplate', {static: true}) listTemplate: TemplateRef;\r\n\r\n expandCollapseStatusSubscription: Subscription = null;\r\n selectMenuByIDSubscription: Subscription = null;\r\n currentNode: MultilevelNode = null;\r\n\r\n nodeConfig: Configuration = {\r\n paddingAtStart: true,\r\n listBackgroundColor: null,\r\n fontColor: null,\r\n selectedListFontColor: null,\r\n interfaceWithRoute: null,\r\n collapseOnSelect: null,\r\n highlightOnSelect: false,\r\n useDividers: true,\r\n rtlLayout: false,\r\n customTemplate: false\r\n };\r\n isInvalidConfig = true;\r\n isInvalidData = true;\r\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral;\r\n\r\n constructor(private router: Router,\r\n public multilevelMenuService: MultilevelMenuService) {\r\n // NOOP\r\n }\r\n ngOnChanges() {\r\n this.detectInvalidConfig();\r\n this.initExpandCollapseStatus();\r\n this.initSelectedMenuID();\r\n if (!this.isInvalidData) {\r\n this.menuIsReady.emit(this.items);\r\n }\r\n }\r\n ngOnInit() {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) &&\r\n this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) {\r\n this.router.events\r\n .subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.updateNodeByURL(event.urlAfterRedirects);\r\n }\r\n });\r\n this.updateNodeByURL(this.router.url);\r\n }\r\n }\r\n updateNodeByURL(url: string): void {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url);\r\n if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)\r\n // && !foundNode.disabled // Prevent route redirection for disabled menu\r\n ) {\r\n this.currentNode = foundNode;\r\n if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) {\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n }\r\n checkValidData(): void {\r\n if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) {\r\n console.warn(CONSTANT.ERROR_MESSAGE);\r\n return;\r\n }\r\n this.items = this.items.filter(n => !n.hidden);\r\n this.multilevelMenuService.addRandomId(this.items);\r\n this.isInvalidData = false;\r\n }\r\n detectInvalidConfig(): void {\r\n if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) {\r\n this.isInvalidConfig = true;\r\n } else {\r\n this.isInvalidConfig = false;\r\n const config = this.configuration;\r\n if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) &&\r\n typeof config.paddingAtStart === 'boolean') {\r\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) {\r\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) {\r\n this.nodeConfig.fontColor = config.fontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) {\r\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) &&\r\n typeof config.interfaceWithRoute === 'boolean') {\r\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) &&\r\n typeof config.collapseOnSelect === 'boolean') {\r\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) &&\r\n typeof config.highlightOnSelect === 'boolean') {\r\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.useDividers) &&\r\n typeof config.useDividers === 'boolean') {\r\n this.nodeConfig.useDividers = config.useDividers;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.rtlLayout) &&\r\n typeof config.rtlLayout === 'boolean') {\r\n this.nodeConfig.rtlLayout = config.rtlLayout;\r\n }\r\n if (!CommonUtils.isNullOrUndefined(config.customTemplate) &&\r\n typeof config.customTemplate === 'boolean') {\r\n this.nodeConfig.customTemplate = config.customTemplate;\r\n }\r\n }\r\n this.checkValidData();\r\n }\r\n initExpandCollapseStatus(): void {\r\n this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$\r\n .subscribe( (expandCollapseStatus: ExpandCollapseStatusEnum) => {\r\n this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral;\r\n }, () => {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n });\r\n }\r\n initSelectedMenuID(): void {\r\n this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe( (selectedMenuID: string) => {\r\n if (selectedMenuID) {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID);\r\n if (foundNode !== undefined) {\r\n this.currentNode = foundNode;\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n });\r\n }\r\n getClassName(): string {\r\n if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) {\r\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\r\n }\r\n return CONSTANT.DEFAULT_CLASS_NAME;\r\n }\r\n getGlobalStyle(): BackgroundStyle {\r\n if (!this.isInvalidConfig) {\r\n const styles = {\r\n background : null\r\n };\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) {\r\n styles.background = this.configuration.backgroundColor;\r\n }\r\n return styles;\r\n }\r\n }\r\n isRtlLayout(): boolean {\r\n return this.nodeConfig.rtlLayout;\r\n }\r\n selectedListItem(event: MultilevelNode): void {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.currentNode = event;\r\n if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) {\r\n return;\r\n }\r\n if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') ) {\r\n this.selectedItem.emit(event);\r\n } else {\r\n this.selectedLabel.emit(event);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.expandCollapseStatusSubscription.unsubscribe();\r\n this.selectMenuByIDSubscription.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ListItemComponent } from './list-item/list-item.component';\r\nimport { MaterialsModule } from './materials.module';\r\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\r\nimport { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialsModule,\r\n RouterModule,\r\n ],\r\n declarations: [\r\n NgMaterialMultilevelMenuComponent,\r\n ListItemComponent,\r\n ListItemContentComponent,\r\n ],\r\n exports: [NgMaterialMultilevelMenuComponent]\r\n})\r\nexport class NgMaterialMultilevelMenuModule {}\r\n","/*\r\n * Public API Surface of ng-material-multilevel-menu\r\n */\r\n\r\nexport * from './lib/ng-material-multilevel-menu.module';\r\nexport * from './lib/ng-material-multilevel-menu.component';\r\nexport * from './lib/multilevel-menu.service';\r\nexport * from './lib/animation';\r\nexport { MultilevelNode, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i4","i2.MultilevelMenuService","i8.ListItemContentComponent","i6.ListItemComponent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"eddie666-ng-material-multilevel-menu.mjs","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../projects/ng-material-multilevel-menu/src/eddie666-ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from \"@angular/router\";\r\n\r\nexport interface MultilevelNode {\r\n id?: string;\r\n label: string;\r\n faIcon?: string;\r\n icon?: string;\r\n imageIcon?: string;\r\n svgIcon?: string;\r\n activeFaIcon?: string;\r\n activeIcon?: string;\r\n activeImageIcon?: string;\r\n activeSvgIcon?: string;\r\n hidden?: boolean;\r\n link?: string;\r\n externalRedirect?: boolean;\r\n hrefTargetType?: string;\r\n data?: any;\r\n items?: MultilevelNode[];\r\n onSelected?: Function;\r\n disabled?: boolean;\r\n expanded?: boolean;\r\n navigationExtras?: NavigationExtras;\r\n dontEmit?: boolean;\r\n hasChildren?: boolean;\r\n isSelected?: boolean;\r\n}\r\n\r\nexport interface Configuration {\r\n classname?: string;\r\n paddingAtStart?: boolean;\r\n backgroundColor?: string;\r\n listBackgroundColor?: string;\r\n fontColor?: string;\r\n selectedListFontColor?: string;\r\n interfaceWithRoute?: boolean;\r\n collapseOnSelect?: boolean;\r\n highlightOnSelect?: boolean;\r\n useDividers?: boolean;\r\n rtlLayout?: boolean;\r\n customTemplate?: boolean;\r\n}\r\n\r\nexport interface BackgroundStyle {\r\n backgroundColor: string;\r\n}\r\nexport interface ColorStyle {\r\n color: string;\r\n}\r\n\r\nexport interface ListStyle {\r\n backgroundColor: string;\r\n color: string;\r\n}\r\n\r\nexport enum ExpandCollapseStatusEnum {\r\n expand = \"expand\",\r\n collapse = \"collapse\",\r\n neutral = \"neutral\",\r\n}\r\n","export const CONSTANT = {\r\n PADDING_AT_START: true,\r\n DEFAULT_CLASS_NAME: `amml-container`,\r\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\r\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\r\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\r\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\r\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\r\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\r\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\r\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\r\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\r\n DEFAULT_HREF_TARGET_TYPE: '_self',\r\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`,\r\n POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',\r\n YES: 'yes',\r\n NO: 'no'\r\n};\r\n"," import {BehaviorSubject, Observable, Subject} from 'rxjs';\r\nimport { MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport {CONSTANT} from './constants';\r\n\r\nexport class MultilevelMenuService {\r\n foundLinkObject: MultilevelNode;\r\n private expandCollapseStatus: Subject = new Subject();\r\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\r\n\r\n private selectedMenuID: Subject = new Subject();\r\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\r\n\r\n private generateId(): string {\r\n let text = '';\r\n for (let i = 0; i < 20; i++) {\r\n text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length));\r\n }\r\n return text;\r\n }\r\n addRandomId(nodes: MultilevelNode[]): void {\r\n nodes.forEach((node: MultilevelNode) => {\r\n node.id = this.generateId();\r\n if (node.items !== undefined) {\r\n this.addRandomId(node.items);\r\n }\r\n });\r\n }\r\n recursiveCheckId(node: MultilevelNode, nodeId: string): boolean {\r\n if (node.id === nodeId) {\r\n return true;\r\n } else {\r\n if (node.items !== undefined) {\r\n return node.items.some((nestedNode: MultilevelNode) => {\r\n return this.recursiveCheckId(nestedNode, nodeId);\r\n });\r\n }\r\n }\r\n }\r\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNode[], link?: string, id?: string}): void {\r\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\r\n const node = nodes[nodeIndex];\r\n for (const key in node) {\r\n if (node.hasOwnProperty(key)) {\r\n if (encodeURI(node.link) === link) {\r\n this.foundLinkObject = node;\r\n } else if (node.id === id) {\r\n this.foundLinkObject = node;\r\n } else {\r\n if (node.items !== undefined) {\r\n this.findNodeRecursively({\r\n nodes: node.items,\r\n link: link ? link : null,\r\n id: id ? id : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, link});\r\n return this.foundLinkObject;\r\n }\r\n getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, id});\r\n return this.foundLinkObject;\r\n }\r\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\r\n // https://angular.io/api/common/KeyValuePipe#description\r\n kvDummyComparerFn() {\r\n return 0;\r\n }\r\n setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void {\r\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\r\n }\r\n selectMenuByID(menuID: string) {\r\n this.selectedMenuID.next(menuID);\r\n return this.foundLinkObject;\r\n }\r\n}\r\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport const SlideInOut = trigger('SlideInOut', [\r\n state(\r\n 'in',\r\n style({ height: '*', opacity: 0 })),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 0.2 }),\r\n group([\r\n animate(200, style({ height: 0 })),\r\n animate('200ms ease-out', style({ opacity: 0 }))\r\n ])\r\n ]),\r\n transition(':enter', [\r\n style({ height: '0', opacity: 0 }),\r\n group([\r\n animate(200, style({ height: '*' })),\r\n animate('400ms ease-out', style({ opacity: 1 }))\r\n ])\r\n ])\r\n ]\r\n);\r\n\r\nexport const ExpandedLTR = trigger('ExpandedLTR', [\r\n state('no', style({ transform: 'rotate(-90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n\r\nexport const ExpandedRTL = trigger('ExpandedRTL', [\r\n state('no', style({ transform: 'rotate(90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n","export class CommonUtils {\r\n\r\n static isNullOrUndefinedOrEmpty = function (object: any): boolean {\r\n return CommonUtils.isNullOrUndefined(object) || object === '';\r\n };\r\n\r\n static isNullOrUndefined = function (object: any): boolean {\r\n return object === null || object === undefined;\r\n };\r\n}\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { MultilevelNode } from \"../../app.model\";\r\nimport { ExpandedLTR, ExpandedRTL } from \"../../animation\";\r\nimport { CommonUtils } from \"../../common-utils\";\r\nimport { CONSTANT } from \"../../constants\";\r\n\r\n@Component({\r\n selector: \"ng-list-item-content\",\r\n templateUrl: \"./list-item-content.component.html\",\r\n styleUrls: [\"./list-item-content.component.css\"],\r\n animations: [ExpandedLTR, ExpandedRTL],\r\n})\r\nexport class ListItemContentComponent implements OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() isRtlLayout: boolean;\r\n\r\n constructor() {\r\n // NOOP\r\n }\r\n\r\n ngOnInit(): void {\r\n // NOOP\r\n }\r\n\r\n getListIcon(node: MultilevelNode): string {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) {\r\n return `icon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) {\r\n return `faIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) {\r\n return `imageIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) {\r\n return `svgIcon`;\r\n } else {\r\n return ``;\r\n }\r\n }\r\n\r\n getHrefTargetType(): string {\r\n return this.node.hrefTargetType\r\n ? this.node.hrefTargetType\r\n : CONSTANT.DEFAULT_HREF_TARGET_TYPE;\r\n }\r\n\r\n getSelectedSvgIcon(): string {\r\n return this.node.isSelected && this.node.activeSvgIcon\r\n ? this.node.activeSvgIcon\r\n : this.node.svgIcon;\r\n }\r\n\r\n getSelectedIcon(): string {\r\n return this.node.isSelected && this.node.activeIcon\r\n ? this.node.activeIcon\r\n : this.node.icon;\r\n }\r\n\r\n getSelectedFaIcon(): string {\r\n return this.node.isSelected && this.node.activeFaIcon\r\n ? this.node.activeFaIcon\r\n : this.node.faIcon;\r\n }\r\n\r\n getSelectedImageIcon(): string {\r\n return this.node.isSelected && this.node.activeImageIcon\r\n ? this.node.activeImageIcon\r\n : this.node.imageIcon;\r\n }\r\n\r\n nodeExpandStatus(): string {\r\n return this.node.expanded ? CONSTANT.YES : CONSTANT.NO;\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n TemplateRef,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport {\r\n Configuration,\r\n ListStyle,\r\n MultilevelNode,\r\n ExpandCollapseStatusEnum,\r\n ColorStyle,\r\n BackgroundStyle,\r\n} from \"../app.model\";\r\nimport { CONSTANT } from \"../constants\";\r\nimport { MultilevelMenuService } from \"../multilevel-menu.service\";\r\nimport { SlideInOut } from \"../animation\";\r\nimport { CommonUtils } from \"../common-utils\";\r\n\r\n@Component({\r\n selector: \"ng-list-item\",\r\n templateUrl: \"./list-item.component.html\",\r\n styleUrls: [\"./list-item.component.css\"],\r\n animations: [SlideInOut],\r\n})\r\nexport class ListItemComponent implements OnChanges, OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() level = 1;\r\n @Input() submenuLevel = 0;\r\n @Input() selectedNode: MultilevelNode;\r\n @Input() nodeConfiguration: Configuration = null;\r\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\r\n @Input() listTemplate: TemplateRef = null;\r\n\r\n @Output() selectedItem = new EventEmitter();\r\n\r\n isSelected = false;\r\n expanded = false;\r\n firstInitializer = false;\r\n\r\n nodeChildren: MultilevelNode[];\r\n classes: { [index: string]: boolean };\r\n selectedListClasses: { [index: string]: boolean };\r\n\r\n constructor(\r\n private router: Router,\r\n public multilevelMenuService: MultilevelMenuService\r\n ) {\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\r\n };\r\n }\r\n\r\n ngOnChanges() {\r\n this.nodeChildren =\r\n this.node && this.node.items\r\n ? this.node.items.filter((n) => !n.hidden)\r\n : [];\r\n this.node.hasChildren = this.hasItems();\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.selectedNode)) {\r\n this.setSelectedClass(\r\n this.multilevelMenuService.recursiveCheckId(\r\n this.node,\r\n this.selectedNode.id\r\n )\r\n );\r\n }\r\n this.setExpandCollapseStatus();\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] =\r\n this.node.disabled;\r\n\r\n if (\r\n !CommonUtils.isNullOrUndefined(this.node.faIcon) &&\r\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null\r\n ) {\r\n this.node.faIcon = `fas ${this.node.faIcon}`;\r\n }\r\n\r\n this.selectedListClasses[\r\n `level-${this.level}-submenulevel-${this.submenuLevel}`\r\n ] = true;\r\n if (typeof this.node.expanded === \"boolean\") {\r\n this.expanded = this.node.expanded;\r\n }\r\n this.setClasses();\r\n }\r\n\r\n setSelectedClass(isFound: boolean): void {\r\n if (isFound) {\r\n if (!this.firstInitializer) {\r\n this.expanded = true;\r\n }\r\n this.isSelected =\r\n this.nodeConfiguration.highlightOnSelect ||\r\n this.selectedNode.items === undefined;\r\n } else {\r\n this.isSelected = false;\r\n if (this.nodeConfiguration.collapseOnSelect) {\r\n this.node.expanded = false;\r\n this.expanded = false;\r\n }\r\n }\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\r\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\r\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\r\n };\r\n this.node.isSelected = this.isSelected;\r\n this.setClasses();\r\n }\r\n\r\n getPaddingAtStart(): boolean {\r\n return this.nodeConfiguration.paddingAtStart;\r\n }\r\n\r\n getListStyle(): ListStyle {\r\n return {\r\n color: this.getColor(),\r\n backgroundColor: this.getBackgroundColor(),\r\n };\r\n }\r\n\r\n getColorStyle(): ColorStyle {\r\n return { color: this.getColor() };\r\n }\r\n\r\n getBackgroundStyle(): BackgroundStyle {\r\n return { backgroundColor: this.getBackgroundColor() };\r\n }\r\n\r\n getColor(): string {\r\n return this.isSelected\r\n ? this.nodeConfiguration.selectedListFontColor !== null\r\n ? this.nodeConfiguration.selectedListFontColor\r\n : CONSTANT.DEFAULT_SELECTED_FONT_COLOR\r\n : this.nodeConfiguration.fontColor !== null\r\n ? this.nodeConfiguration.fontColor\r\n : CONSTANT.DEFAULT_LIST_FONT_COLOR;\r\n }\r\n\r\n getBackgroundColor(): string {\r\n return this.nodeConfiguration.listBackgroundColor !== null\r\n ? this.nodeConfiguration.listBackgroundColor\r\n : CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR;\r\n }\r\n\r\n hasItems(): boolean {\r\n return this.nodeChildren.length > 0;\r\n }\r\n\r\n isRtlLayout(): boolean {\r\n return this.nodeConfiguration.rtlLayout;\r\n }\r\n\r\n setClasses(): void {\r\n this.classes = {\r\n [`level-${this.level + 1}`]: true,\r\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]:\r\n this.hasItems() && this.getPaddingAtStart(),\r\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems(),\r\n };\r\n }\r\n\r\n setExpandCollapseStatus(): void {\r\n if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) {\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\r\n this.expanded = true;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = true;\r\n }\r\n }\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\r\n this.expanded = false;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n expand(node: MultilevelNode): void {\r\n if (node.disabled) {\r\n return;\r\n }\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.expanded = !this.expanded;\r\n this.node.expanded = this.expanded;\r\n this.firstInitializer = true;\r\n this.setClasses();\r\n if (\r\n this.nodeConfiguration.interfaceWithRoute !== null &&\r\n this.nodeConfiguration.interfaceWithRoute &&\r\n node.link !== undefined &&\r\n node.link\r\n ) {\r\n this.router.navigate([node.link], node.navigationExtras).then();\r\n } else if (node.onSelected && typeof node.onSelected === \"function\") {\r\n node.onSelected(node);\r\n this.selectedListItem(node);\r\n } else if (\r\n node.items === undefined ||\r\n this.nodeConfiguration.collapseOnSelect\r\n ) {\r\n this.selectedListItem(node);\r\n }\r\n }\r\n\r\n selectedListItem(node: MultilevelNode): void {\r\n this.selectedItem.emit(node);\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\n\r\n@NgModule({\r\n imports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ],\r\n declarations: [],\r\n exports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ]\r\n})\r\nexport class MaterialsModule { }\r\n","import {\r\n Component,\r\n OnChanges,\r\n OnInit,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n ContentChild,\r\n TemplateRef,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport {\r\n BackgroundStyle,\r\n Configuration,\r\n MultilevelNode,\r\n ExpandCollapseStatusEnum,\r\n} from \"./app.model\";\r\nimport { CONSTANT } from \"./constants\";\r\nimport { MultilevelMenuService } from \"./multilevel-menu.service\";\r\nimport { CommonUtils } from \"./common-utils\";\r\n\r\n@Component({\r\n selector: \"ng-material-multilevel-menu\",\r\n templateUrl: \"./ng-material-multilevel-menu.component.html\",\r\n styleUrls: [\"./ng-material-multilevel-menu.component.css\"],\r\n})\r\nexport class NgMaterialMultilevelMenuComponent\r\n implements OnInit, OnChanges, OnDestroy\r\n{\r\n @Input() items: MultilevelNode[];\r\n @Input() configuration: Configuration = null;\r\n @Output() selectedItem = new EventEmitter();\r\n @Output() selectedLabel = new EventEmitter();\r\n @Output() menuIsReady = new EventEmitter();\r\n @ContentChild(\"listTemplate\", { static: true })\r\n listTemplate: TemplateRef;\r\n\r\n expandCollapseStatusSubscription: Subscription = null;\r\n selectMenuByIDSubscription: Subscription = null;\r\n currentNode: MultilevelNode = null;\r\n\r\n nodeConfig: Configuration = {\r\n paddingAtStart: true,\r\n listBackgroundColor: null,\r\n fontColor: null,\r\n selectedListFontColor: null,\r\n interfaceWithRoute: null,\r\n collapseOnSelect: null,\r\n highlightOnSelect: false,\r\n useDividers: true,\r\n rtlLayout: false,\r\n customTemplate: false,\r\n };\r\n isInvalidConfig = true;\r\n isInvalidData = true;\r\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum =\r\n ExpandCollapseStatusEnum.neutral;\r\n\r\n constructor(\r\n private router: Router,\r\n public multilevelMenuService: MultilevelMenuService\r\n ) {\r\n // NOOP\r\n }\r\n ngOnChanges() {\r\n this.detectInvalidConfig();\r\n this.initExpandCollapseStatus();\r\n this.initSelectedMenuID();\r\n if (!this.isInvalidData) {\r\n this.menuIsReady.emit(this.items);\r\n }\r\n }\r\n ngOnInit() {\r\n if (\r\n !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) &&\r\n this.configuration.interfaceWithRoute !== null &&\r\n this.configuration.interfaceWithRoute\r\n ) {\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.updateNodeByURL(event.urlAfterRedirects);\r\n }\r\n });\r\n this.updateNodeByURL(this.router.url);\r\n }\r\n }\r\n updateNodeByURL(url: string): void {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(\r\n this.items,\r\n url\r\n );\r\n if (\r\n foundNode !== undefined &&\r\n !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)\r\n // && !foundNode.disabled // Prevent route redirection for disabled menu\r\n ) {\r\n this.currentNode = foundNode;\r\n if (\r\n !CommonUtils.isNullOrUndefined(foundNode.dontEmit) &&\r\n !foundNode.dontEmit\r\n ) {\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n }\r\n checkValidData(): void {\r\n if (\r\n this.items === undefined ||\r\n (Array.isArray(this.items) && this.items.length === 0)\r\n ) {\r\n console.warn(CONSTANT.ERROR_MESSAGE);\r\n return;\r\n }\r\n this.items = this.items.filter((n) => !n.hidden);\r\n this.multilevelMenuService.addRandomId(this.items);\r\n this.isInvalidData = false;\r\n }\r\n detectInvalidConfig(): void {\r\n if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) {\r\n this.isInvalidConfig = true;\r\n } else {\r\n this.isInvalidConfig = false;\r\n const config = this.configuration;\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.paddingAtStart) &&\r\n typeof config.paddingAtStart === \"boolean\"\r\n ) {\r\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) {\r\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) {\r\n this.nodeConfig.fontColor = config.fontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) {\r\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.interfaceWithRoute) &&\r\n typeof config.interfaceWithRoute === \"boolean\"\r\n ) {\r\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.collapseOnSelect) &&\r\n typeof config.collapseOnSelect === \"boolean\"\r\n ) {\r\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.highlightOnSelect) &&\r\n typeof config.highlightOnSelect === \"boolean\"\r\n ) {\r\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.useDividers) &&\r\n typeof config.useDividers === \"boolean\"\r\n ) {\r\n this.nodeConfig.useDividers = config.useDividers;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.rtlLayout) &&\r\n typeof config.rtlLayout === \"boolean\"\r\n ) {\r\n this.nodeConfig.rtlLayout = config.rtlLayout;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.customTemplate) &&\r\n typeof config.customTemplate === \"boolean\"\r\n ) {\r\n this.nodeConfig.customTemplate = config.customTemplate;\r\n }\r\n }\r\n this.checkValidData();\r\n }\r\n initExpandCollapseStatus(): void {\r\n this.expandCollapseStatusSubscription =\r\n this.multilevelMenuService.expandCollapseStatus$.subscribe(\r\n (expandCollapseStatus: ExpandCollapseStatusEnum) => {\r\n this.nodeExpandCollapseStatus = expandCollapseStatus\r\n ? expandCollapseStatus\r\n : ExpandCollapseStatusEnum.neutral;\r\n },\r\n () => {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n }\r\n );\r\n }\r\n initSelectedMenuID(): void {\r\n this.selectMenuByIDSubscription =\r\n this.multilevelMenuService.selectedMenuID$.subscribe(\r\n (selectedMenuID: string) => {\r\n if (selectedMenuID) {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectById(\r\n this.items,\r\n selectedMenuID\r\n );\r\n if (foundNode !== undefined) {\r\n this.currentNode = foundNode;\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n getClassName(): string {\r\n if (\r\n !this.isInvalidConfig &&\r\n !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)\r\n ) {\r\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\r\n }\r\n return CONSTANT.DEFAULT_CLASS_NAME;\r\n }\r\n getGlobalStyle(): BackgroundStyle {\r\n if (!this.isInvalidConfig) {\r\n const styles = {\r\n backgroundColor: null,\r\n };\r\n if (\r\n !CommonUtils.isNullOrUndefinedOrEmpty(\r\n this.configuration.backgroundColor\r\n )\r\n ) {\r\n styles.backgroundColor = this.configuration.backgroundColor;\r\n }\r\n return styles;\r\n }\r\n }\r\n isRtlLayout(): boolean {\r\n return this.nodeConfig.rtlLayout;\r\n }\r\n selectedListItem(event: MultilevelNode): void {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.currentNode = event;\r\n if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) {\r\n return;\r\n }\r\n if (\r\n event.items === undefined &&\r\n (!event.onSelected || typeof event.onSelected !== \"function\")\r\n ) {\r\n this.selectedItem.emit(event);\r\n } else {\r\n this.selectedLabel.emit(event);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.expandCollapseStatusSubscription.unsubscribe();\r\n this.selectMenuByIDSubscription.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ListItemComponent } from './list-item/list-item.component';\r\nimport { MaterialsModule } from './materials.module';\r\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\r\nimport { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialsModule,\r\n RouterModule,\r\n ],\r\n declarations: [\r\n NgMaterialMultilevelMenuComponent,\r\n ListItemComponent,\r\n ListItemContentComponent,\r\n ],\r\n exports: [NgMaterialMultilevelMenuComponent]\r\n})\r\nexport class NgMaterialMultilevelMenuModule {}\r\n","/*\r\n * Public API Surface of ng-material-multilevel-menu\r\n */\r\n\r\nexport * from './lib/ng-material-multilevel-menu.module';\r\nexport * from './lib/ng-material-multilevel-menu.component';\r\nexport * from './lib/multilevel-menu.service';\r\nexport * from './lib/animation';\r\nexport { MultilevelNode, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i4","i2.MultilevelMenuService","i8.ListItemContentComponent","i6.ListItemComponent"],"mappings":"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"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/app.model.d.ts b/dist/ng-material-multilevel-menu/lib/app.model.d.ts index 257b26f..7adceb7 100644 --- a/dist/ng-material-multilevel-menu/lib/app.model.d.ts +++ b/dist/ng-material-multilevel-menu/lib/app.model.d.ts @@ -1,4 +1,4 @@ -import { NavigationExtras } from '@angular/router'; +import { NavigationExtras } from "@angular/router"; export interface MultilevelNode { id?: string; label: string; @@ -39,10 +39,13 @@ export interface Configuration { customTemplate?: boolean; } export interface BackgroundStyle { - background: string; + backgroundColor: string; +} +export interface ColorStyle { + color: string; } export interface ListStyle { - background: string; + backgroundColor: string; color: string; } export declare enum ExpandCollapseStatusEnum { diff --git a/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map b/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map index 6be5a7d..8e7a820 100644 --- a/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"app.model.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,eAAe;IAC5B,UAAU,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,SAAS;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;CACjB;AAED,oBAAY,wBAAwB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB"} \ No newline at end of file +{"version":3,"file":"app.model.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,wBAAwB;IAClC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts index 001f9e4..bfa3d08 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts @@ -1,5 +1,5 @@ -import { OnInit } from '@angular/core'; -import { MultilevelNode } from '../../app.model'; +import { OnInit } from "@angular/core"; +import { MultilevelNode } from "../../app.model"; import * as i0 from "@angular/core"; export declare class ListItemContentComponent implements OnInit { node: MultilevelNode; diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map index 9433588..512bb90 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"list-item-content.component.d.ts","sourceRoot":"","sources":["../../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAmB,MAAM,EAAC,MAAM,eAAe,CAAC;AACvD,OAAO,EAAC,cAAc,EAAC,MAAM,iBAAiB,CAAC;;AAK/C,qBAMa,wBAAyB,YAAW,MAAM;IAC5C,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;;IAM9B,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IAczC,iBAAiB,IAAI,MAAM;IAI3B,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAIzB,iBAAiB,IAAI,MAAM;IAI3B,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,IAAI,MAAM;yCA9Cf,wBAAwB;2CAAxB,wBAAwB;CAiDpC"} \ No newline at end of file +{"version":3,"file":"list-item-content.component.d.ts","sourceRoot":"","sources":["../../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;;AAKjD,qBAMa,wBAAyB,YAAW,MAAM;IAC5C,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;;IAM9B,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IAczC,iBAAiB,IAAI,MAAM;IAM3B,kBAAkB,IAAI,MAAM;IAM5B,eAAe,IAAI,MAAM;IAMzB,iBAAiB,IAAI,MAAM;IAM3B,oBAAoB,IAAI,MAAM;IAM9B,gBAAgB,IAAI,MAAM;yCAxDf,wBAAwB;2CAAxB,wBAAwB;CA2DpC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts index 10be7b1..600bf8e 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts @@ -1,7 +1,7 @@ -import { OnChanges, OnInit, EventEmitter, TemplateRef, ElementRef } from '@angular/core'; -import { Router } from '@angular/router'; -import { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model'; -import { MultilevelMenuService } from '../multilevel-menu.service'; +import { OnChanges, OnInit, EventEmitter, TemplateRef, ElementRef } from "@angular/core"; +import { Router } from "@angular/router"; +import { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum, ColorStyle, BackgroundStyle } from "../app.model"; +import { MultilevelMenuService } from "../multilevel-menu.service"; import * as i0 from "@angular/core"; export declare class ListItemComponent implements OnChanges, OnInit { private router; @@ -30,6 +30,10 @@ export declare class ListItemComponent implements OnChanges, OnInit { setSelectedClass(isFound: boolean): void; getPaddingAtStart(): boolean; getListStyle(): ListStyle; + getColorStyle(): ColorStyle; + getBackgroundStyle(): BackgroundStyle; + getColor(): string; + getBackgroundColor(): string; hasItems(): boolean; isRtlLayout(): boolean; setClasses(): void; diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map index d742930..2dfe87a 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"list-item.component.d.ts","sourceRoot":"","sources":["../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAU,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAElG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;AAInE,qBAMa,iBAAkB,YAAW,SAAS,EAAE,MAAM;IAmB7C,OAAO,CAAC,MAAM;IACP,qBAAqB,EAAE,qBAAqB;IAnBtD,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,SAAK;IACV,YAAY,SAAK;IACjB,YAAY,EAAE,cAAc,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAQ;IACxC,wBAAwB,EAAE,wBAAwB,CAAQ;IAC1D,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAQ;IAE5C,YAAY,+BAAsC;IAE5D,UAAU,UAAS;IACnB,QAAQ,UAAS;IACjB,gBAAgB,UAAS;IAEzB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,mBAAmB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;gBAE9B,MAAM,EAAE,MAAM,EACf,qBAAqB,EAAE,qBAAqB;IAQ/D,WAAW;IAUX,QAAQ;IAeR,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAwBxC,iBAAiB,IAAI,OAAO;IAI5B,YAAY,IAAI,SAAS;IAiBzB,QAAQ,IAAI,OAAO;IAInB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,IAAI;IAQlB,uBAAuB,IAAI,IAAI;IAiB/B,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IAuBlC,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;yCA1JjC,iBAAiB;2CAAjB,iBAAiB;CA8J7B"} \ No newline at end of file +{"version":3,"file":"list-item.component.d.ts","sourceRoot":"","sources":["../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,MAAM,EAEN,YAAY,EACZ,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,wBAAwB,EACxB,UAAU,EACV,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;AAInE,qBAMa,iBAAkB,YAAW,SAAS,EAAE,MAAM;IAoBvD,OAAO,CAAC,MAAM;IACP,qBAAqB,EAAE,qBAAqB;IApB5C,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,SAAK;IACV,YAAY,SAAK;IACjB,YAAY,EAAE,cAAc,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAQ;IACxC,wBAAwB,EAAE,wBAAwB,CAAQ;IAC1D,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAQ;IAE5C,YAAY,+BAAsC;IAE5D,UAAU,UAAS;IACnB,QAAQ,UAAS;IACjB,gBAAgB,UAAS;IAEzB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,mBAAmB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;gBAGxC,MAAM,EAAE,MAAM,EACf,qBAAqB,EAAE,qBAAqB;IASrD,WAAW;IAkBX,QAAQ;IAoBR,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA0BxC,iBAAiB,IAAI,OAAO;IAI5B,YAAY,IAAI,SAAS;IAOzB,aAAa,IAAI,UAAU;IAI3B,kBAAkB,IAAI,eAAe;IAIrC,QAAQ,IAAI,MAAM;IAUlB,kBAAkB,IAAI,MAAM;IAM5B,QAAQ,IAAI,OAAO;IAInB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,IAAI;IASlB,uBAAuB,IAAI,IAAI;IAiB/B,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IA2BlC,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;yCA9LjC,iBAAiB;2CAAjB,iBAAiB;CAiM7B"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts index 3d2bada..9f4e6e7 100644 --- a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts @@ -1,8 +1,8 @@ -import { OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, ElementRef } from '@angular/core'; -import { Router } from '@angular/router'; -import { Subscription } from 'rxjs'; -import { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from './app.model'; -import { MultilevelMenuService } from './multilevel-menu.service'; +import { OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, ElementRef } from "@angular/core"; +import { Router } from "@angular/router"; +import { Subscription } from "rxjs"; +import { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from "./app.model"; +import { MultilevelMenuService } from "./multilevel-menu.service"; import * as i0 from "@angular/core"; export declare class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy { private router; diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map index edca85e..2acd474 100644 --- a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ng-material-multilevel-menu.component.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAa,SAAS,EAAE,MAAM,EAAE,SAAS,EAAU,YAAY,EAAuB,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AAC5I,OAAO,EAAiB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAEvG,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAGlE,qBAKa,iCAAkC,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IA4BxE,OAAO,CAAC,MAAM;IACP,qBAAqB,EAAE,qBAAqB;IA5BtD,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,EAAE,aAAa,CAAQ;IACnC,YAAY,+BAAsC;IAClD,aAAa,+BAAsC;IACnD,WAAW,iCAAwC;IACf,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAEpF,gCAAgC,EAAE,YAAY,CAAQ;IACtD,0BAA0B,EAAE,YAAY,CAAQ;IAChD,WAAW,EAAE,cAAc,CAAQ;IAEnC,UAAU,EAAE,aAAa,CAWvB;IACF,eAAe,UAAQ;IACvB,aAAa,UAAQ;IACrB,wBAAwB,EAAE,wBAAwB,CAAoC;gBAElE,MAAM,EAAE,MAAM,EACf,qBAAqB,EAAE,qBAAqB;IAG/D,WAAW;IAQX,QAAQ;IAYR,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAWlC,cAAc,IAAI,IAAI;IAStB,mBAAmB,IAAI,IAAI;IA8C3B,wBAAwB,IAAI,IAAI;IAQhC,kBAAkB,IAAI,IAAI;IAW1B,YAAY,IAAI,MAAM;IAMtB,cAAc,IAAI,eAAe;IAWjC,WAAW,IAAI,OAAO;IAGtB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAY7C,WAAW;yCAzKA,iCAAiC;2CAAjC,iCAAiC;CA6K7C"} \ No newline at end of file +{"version":3,"file":"ng-material-multilevel-menu.component.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,MAAM,EACN,SAAS,EAET,YAAY,EAGZ,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAiB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EACL,eAAe,EACf,aAAa,EACb,cAAc,EACd,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAGlE,qBAKa,iCACX,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IAgCrC,OAAO,CAAC,MAAM;IACP,qBAAqB,EAAE,qBAAqB;IA/B5C,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,EAAE,aAAa,CAAQ;IACnC,YAAY,+BAAsC;IAClD,aAAa,+BAAsC;IACnD,WAAW,iCAAwC;IAE7D,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAEtC,gCAAgC,EAAE,YAAY,CAAQ;IACtD,0BAA0B,EAAE,YAAY,CAAQ;IAChD,WAAW,EAAE,cAAc,CAAQ;IAEnC,UAAU,EAAE,aAAa,CAWvB;IACF,eAAe,UAAQ;IACvB,aAAa,UAAQ;IACrB,wBAAwB,EAAE,wBAAwB,CACf;gBAGzB,MAAM,EAAE,MAAM,EACf,qBAAqB,EAAE,qBAAqB;IAIrD,WAAW;IAQX,QAAQ;IAcR,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAmBlC,cAAc,IAAI,IAAI;IAYtB,mBAAmB,IAAI,IAAI;IA4D3B,wBAAwB,IAAI,IAAI;IAahC,kBAAkB,IAAI,IAAI;IAiB1B,YAAY,IAAI,MAAM;IAStB,cAAc,IAAI,eAAe;IAejC,WAAW,IAAI,OAAO;IAGtB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAe7C,WAAW;yCA/NA,iCAAiC;2CAAjC,iCAAiC;CAmO7C"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/package.json b/dist/ng-material-multilevel-menu/package.json index c3c4fdc..5f2300e 100644 --- a/dist/ng-material-multilevel-menu/package.json +++ b/dist/ng-material-multilevel-menu/package.json @@ -1,6 +1,6 @@ { "name": "@eddie666/ng-material-multilevel-menu", - "version": "6.0.1", + "version": "6.0.5", "repository": { "type": "git", "url": "git+https://github.com/eddiefrank/ng-material-multilevel-menu.git" diff --git a/package-lock.json b/package-lock.json index 6554d3c..4098a08 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,20 +1,20 @@ { "name": "ng-material-multilevel-menu-angular-project", - "version": "6.0.0", + "version": "6.0.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ng-material-multilevel-menu-angular-project", - "version": "6.0.0", + "version": "6.0.1", "dependencies": { "@angular/animations": "^16.0.1", - "@angular/cdk": "^16.0.0", + "@angular/cdk": "^16.0.1", "@angular/common": "^16.0.1", "@angular/compiler": "^16.0.1", "@angular/core": "^16.0.1", "@angular/forms": "^16.0.1", - "@angular/material": "^16.0.0", + "@angular/material": "^16.0.1", "@angular/platform-browser": "^16.0.1", "@angular/platform-browser-dynamic": "^16.0.1", "@angular/router": "^16.0.1", @@ -391,9 +391,9 @@ } }, "node_modules/@angular/cdk": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.0.0.tgz", - "integrity": "sha512-3hiNRB5kBOYv+MJRlpLX++KzY96mTivE7BXM/pNoR4Hiq7aBnoCtp0zbTc9J7gPn8POX6t/4WfAogslbkvQXSg==", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/cdk/-/cdk-16.0.1.tgz", + "integrity": "sha512-GupYss6x84RWEoy3JTYu4Igr2SxHuV6whVKMScQG2/Gm+winOsOn7YWm0IZQuFnjSWIF2Va5B0Tp0IjFHWxTvA==", "dependencies": { "tslib": "^2.3.0" }, @@ -658,62 +658,62 @@ } }, "node_modules/@angular/material": { - "version": "16.0.0", - "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.0.0.tgz", - "integrity": "sha512-FIkBjcygdgN0vDnO+e3dWrjw/+U805zGC9dh7lwSkpbgQp89ZYVk4Wygk5+I6oSKn1oR9GJpIe/j8+kP6CMA4w==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/auto-init": "15.0.0-canary.51f9c0c28.0", - "@material/banner": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/button": "15.0.0-canary.51f9c0c28.0", - "@material/card": "15.0.0-canary.51f9c0c28.0", - "@material/checkbox": "15.0.0-canary.51f9c0c28.0", - "@material/chips": "15.0.0-canary.51f9c0c28.0", - "@material/circular-progress": "15.0.0-canary.51f9c0c28.0", - "@material/data-table": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dialog": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/drawer": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/fab": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/floating-label": "15.0.0-canary.51f9c0c28.0", - "@material/form-field": "15.0.0-canary.51f9c0c28.0", - "@material/icon-button": "15.0.0-canary.51f9c0c28.0", - "@material/image-list": "15.0.0-canary.51f9c0c28.0", - "@material/layout-grid": "15.0.0-canary.51f9c0c28.0", - "@material/line-ripple": "15.0.0-canary.51f9c0c28.0", - "@material/linear-progress": "15.0.0-canary.51f9c0c28.0", - "@material/list": "15.0.0-canary.51f9c0c28.0", - "@material/menu": "15.0.0-canary.51f9c0c28.0", - "@material/menu-surface": "15.0.0-canary.51f9c0c28.0", - "@material/notched-outline": "15.0.0-canary.51f9c0c28.0", - "@material/radio": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/segmented-button": "15.0.0-canary.51f9c0c28.0", - "@material/select": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/slider": "15.0.0-canary.51f9c0c28.0", - "@material/snackbar": "15.0.0-canary.51f9c0c28.0", - "@material/switch": "15.0.0-canary.51f9c0c28.0", - "@material/tab": "15.0.0-canary.51f9c0c28.0", - "@material/tab-bar": "15.0.0-canary.51f9c0c28.0", - "@material/tab-indicator": "15.0.0-canary.51f9c0c28.0", - "@material/tab-scroller": "15.0.0-canary.51f9c0c28.0", - "@material/textfield": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tooltip": "15.0.0-canary.51f9c0c28.0", - "@material/top-app-bar": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular/material/-/material-16.0.1.tgz", + "integrity": "sha512-J7qI60CXgixSLtepxzKzSkid9pxgruUfQDfZeTXSzg7WFb7/OgFeggUx0p/BlbC2NIdTaIFBBh71GNve/c1O9Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/auto-init": "15.0.0-canary.3b5b55e31.0", + "@material/banner": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/button": "15.0.0-canary.3b5b55e31.0", + "@material/card": "15.0.0-canary.3b5b55e31.0", + "@material/checkbox": "15.0.0-canary.3b5b55e31.0", + "@material/chips": "15.0.0-canary.3b5b55e31.0", + "@material/circular-progress": "15.0.0-canary.3b5b55e31.0", + "@material/data-table": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dialog": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/drawer": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/fab": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/floating-label": "15.0.0-canary.3b5b55e31.0", + "@material/form-field": "15.0.0-canary.3b5b55e31.0", + "@material/icon-button": "15.0.0-canary.3b5b55e31.0", + "@material/image-list": "15.0.0-canary.3b5b55e31.0", + "@material/layout-grid": "15.0.0-canary.3b5b55e31.0", + "@material/line-ripple": "15.0.0-canary.3b5b55e31.0", + "@material/linear-progress": "15.0.0-canary.3b5b55e31.0", + "@material/list": "15.0.0-canary.3b5b55e31.0", + "@material/menu": "15.0.0-canary.3b5b55e31.0", + "@material/menu-surface": "15.0.0-canary.3b5b55e31.0", + "@material/notched-outline": "15.0.0-canary.3b5b55e31.0", + "@material/radio": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/segmented-button": "15.0.0-canary.3b5b55e31.0", + "@material/select": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/slider": "15.0.0-canary.3b5b55e31.0", + "@material/snackbar": "15.0.0-canary.3b5b55e31.0", + "@material/switch": "15.0.0-canary.3b5b55e31.0", + "@material/tab": "15.0.0-canary.3b5b55e31.0", + "@material/tab-bar": "15.0.0-canary.3b5b55e31.0", + "@material/tab-indicator": "15.0.0-canary.3b5b55e31.0", + "@material/tab-scroller": "15.0.0-canary.3b5b55e31.0", + "@material/textfield": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tooltip": "15.0.0-canary.3b5b55e31.0", + "@material/top-app-bar": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.3.0" }, "peerDependencies": { "@angular/animations": "^16.0.0 || ^17.0.0", - "@angular/cdk": "16.0.0", + "@angular/cdk": "16.0.1", "@angular/common": "^16.0.0 || ^17.0.0", "@angular/core": "^16.0.0 || ^17.0.0", "@angular/forms": "^16.0.0 || ^17.0.0", @@ -3039,754 +3039,754 @@ "dev": true }, "node_modules/@material/animation": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-YNCPsf7yoRmduOd+7H+PlQNci7gdvjkae92XQTY8cnYFy9XTbgFCmwCbJQn5AgxHtVuMssKl2sroszgUmF9aoQ==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/animation/-/animation-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-4OlCKqydjF3JtdioZ5TlpAkSxQyJUjL7jIXzf/xIU6MRVOD9kTyqgUkUKNAq+m0I7rtA834NbF7MVam9lMsdkQ==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/auto-init": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-U75Y3Pm0OfKi2b8UUsWn+X7s+LGutqisOtgFytPJ1Su4UcB8Mh3nr/4+MOdb3DT0Z1bNdq+43JhEjTi9oijibg==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/auto-init/-/auto-init-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-s/04P52RsebfLmm0ivlvbW3XcVobZGs2vZM+/HHTX312f9lR9m2gNo3oxWnJKfpLrvzY6zo4NvC9Xb6ZBqvnag==", "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/banner": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-y5Q0MpuiGpIIN9UldCEv2eliYq0pHLTHkqHnjAsImzHRT8vnCqIQeeROwOlrLwBl3u/kpeLhSZzJ1w9OPkZeRQ==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/button": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/banner/-/banner-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-m9zvT8heoKc0sTTJLzx6oWGnEfDkEaQW3UounjmEDwVc/PtiqmZ5qIzdXIseI+sIcFw7poJiyvTHjNrbLbPeiw==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/button": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/base": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-nqFSLpkBRlTNS0Z2ydJQtghRH8Hz3gUexQG/mP+pBv8afqOc0teHwug3M5btdteoXmCHiRpDkP/CHbbZclClHg==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/base/-/base-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-8DmOJMxY0srjMHPDWdpayEYgVlmpR0zNorpJwJCp/IVESNBo3/BpeZCaulb4goP58/O10yWCqDYewGs4LXfNUA==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/button": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-eLiLRm8uKERgpnnoUKaG98O5Kh5lQljaAWz/RBiKiwia+przJSikMtsBrBMV8BrwKg5wOIFUrUsJOP0q2YcYyw==", - "dependencies": { - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/button/-/button-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-O9EIe5xpGHM8NCb2FySv7jP0hXWckk6crxii1c2Y/BD9jhfac971kS6iAsWE2veXPE9b5S19g/n64iaaI6KxHg==", + "dependencies": { + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/focus-ring": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/card": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-scGd0XzNNarVk8S0InGbpX04ApYYoRND5udDx1vRtU2jzu97j39dd+cwusLWtrtR+FGrS7C4A7yA08NI9BoTEQ==", - "dependencies": { - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/card/-/card-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-i0CED1wF9mUlbE0Ck57uiwKtXaSSWaHAJ45djdT0HjlLHXay3aEvyKQTjjN4+clgHjL14UiMkrSEM3/cmPs/Wg==", + "dependencies": { + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/checkbox": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-GEqx+GQcgslxRLsLpbj/ddd4rSgCQxtikkvnKUBd8nw2bvNm/6HUXGl8IaTU2nj36SS5zNLdiDJLRI+k+G4C6g==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/checkbox/-/checkbox-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-D9fod/+GYQVjryoWR4pSlXsLrUsosGOdCzlMwxmoJiwla1dUPPfEsgy4h6+ipPQ7hd8KsJ5fn7e1GArd3zzbPw==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/focus-ring": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/chips": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-a3lGEXw/Y1+KqMuvakzcb9rCis5R+eLQ7uHSrC0WjGgX1oU9gWpM0/p05/rTknHbIji5sOHr4SxC48cRCBCSSA==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/checkbox": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/chips/-/chips-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-1s4sK9iunD7lFDCd4jxQiDoY8mOlMywY3AeymsbRrzG6rObLv0AGsX5moyxhpsh/IwSSQFdW4xrtCESu+dRZbg==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/checkbox": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/focus-ring": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "safevalues": "^0.3.4", "tslib": "^2.1.0" } }, "node_modules/@material/circular-progress": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-ApIq1SK5B0aYqsyKc7byzWVYg0zk9uFziryBOAKfyd96caG7BfzEfheOWK2PPEQGo9cA/m08ZZJzz6JDmJNMLA==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/progress-indicator": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/circular-progress/-/circular-progress-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-qDOtGRIkA1FGaPXqHVrckOUFWneoWqd1eosRarzNSENmpluIjfFY6DNzrJr6a1Grb82Iaui2Q2XcCVNN8pL9kA==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/progress-indicator": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/data-table": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-5TajNrJqVqr49PeyHSXf3YzPpAF2xPz4/r2TaPbLd/gvw9/z7dN7QiiQkSQ15oYzjueRwh+JHMwLfY5gakWC2Q==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/checkbox": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/icon-button": "15.0.0-canary.51f9c0c28.0", - "@material/linear-progress": "15.0.0-canary.51f9c0c28.0", - "@material/list": "15.0.0-canary.51f9c0c28.0", - "@material/menu": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/select": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/data-table/-/data-table-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-xlxN6U7wspzzaN7zuxYhmFxpMyL5onBJfaL2LfMiCa8BwaBcDOxXj4nXIQ8CIsZYBpvCFaCRrLx5iS/eIqhQNQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/checkbox": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/icon-button": "15.0.0-canary.3b5b55e31.0", + "@material/linear-progress": "15.0.0-canary.3b5b55e31.0", + "@material/list": "15.0.0-canary.3b5b55e31.0", + "@material/menu": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/select": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/density": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-7hc7vuh4RajlgNTtHYWZzUeMC6A7w4ePJGavslqAawPb84bo0M/3Idm6OmoW1c6dyDcQo59KOiHMsmnlgDWdjg==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/density/-/density-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-9qVFbTPiZzysa4lkPDhhcq+gOhvNBi4J5Agw7+vBzumgO8o3Msd2/fuIfv0JUv1aMyJPzWN7tsorow8pB9Ft1A==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/dialog": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-60o18+BmPLoGLLZeJVEwexYr89dsZGVCRC0N3zASQTNVz3XWtyjgeragAoly4NTUIICJ4PMRjMEH7YhJ/Qg/BA==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/button": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/icon-button": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/dialog/-/dialog-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-cSFbYOwOHoz+U9oX7hU8L0CiLHjF0Kalu5Hd66hf2m3K6CJMcbPW8da0nubHckJwRp/POzlCCnc0zDzkHPYx8w==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/button": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/icon-button": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/dom": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-SiJRfAgfBBffWVuc5yvaYiRqjli7+4Mx2BYZ69AT8J5k6Uj0Lt8ppd3T3a0zhfF0EXwTlHdeunP+X0keQFcRdw==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/dom/-/dom-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-3bZN0pJUatMNIRULlMqHOdS/Ewh9Skbe1CUojKlk0voge2n1BRgZAdW1rbArEQs4mLN5RW1oABUHhFn6nCP+xg==", "dependencies": { - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/drawer": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-GXq6jHZHMX/6A0z1YEYkI9809sxC/r7g/uJxF3CWC9/8/d2TRYRATAccnllgsyK06XhrnFPf6DtXhyPr1icOzQ==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/list": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/drawer/-/drawer-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-ZwrihhH5M+ioEmnc84st5u2E9x+9bMGPw+yyxglcchtTMA+H87VlcngQgX8qf2fwgEGp2nv6SVXnh9lQya811Q==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/list": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/elevation": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-bBsfYZBi/k380Cdxob+xnNhrmy6OZ/7k3q3xfT9gjWqE7TveAkOukLfMkRMyIltdl40jI7G9ewoW4oN8F0qOmg==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/elevation/-/elevation-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-DPmxmCc9nUMhKw4il6pSL00oYyiti3QopfHeq6Fr8qT4hevfzV7tjm0vFbUaQtr4X0/y7WV6SrRDMMWanQkHUg==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/fab": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-QRanDJSZDMxMXcIyXWfspSXb31iusve9fB6D4SgeJ1/bZsvy/I3t9wXyl06sJBYJhRzIXOiORyoVUjal/OPCpg==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/fab/-/fab-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-i4p05wgkgUj7isE3Hvlq2Q9knG75AR4GG4259qQNgmcUYJBdmV0vro7RVQL4/majo99rQbhdi0fMzgacJllZgw==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/focus-ring": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/feature-targeting": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-ebWpsBhpOU3uwu46OsT4Gv7OUjPP9eQV17b5Ze5y8yYn3FcdKyZI3nBQH7gjlOpH0xhz6DNq/Dx1z7DVL5/3NQ==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/feature-targeting/-/feature-targeting-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-ZOlpc4s/myUYb+3qP1t+XFFZP5oPYe7R4kXU8N0roG3XXk0RkxiTI8nje2a8Z1HbLIcHHbCtwiPj+STHIYt8tA==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/floating-label": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-4T1uKFXIUAg6lP2+kY6QcHdIl6exqsgDkOUlkPnAvXUZmGWnL9NlTSv3c6hdTcattM8XfcdPrjHozS1ltiIiFA==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/floating-label/-/floating-label-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-YJhfh19zXDKzj0z7RrbZOOnlF5ZIpqIikNEq81VKn78TiiQOe+5x+D2lGfep+tqYf8lJk/zxhtOv55L9755QWQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/focus-ring": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-QGGMoJf38IHwHSWUxvcsiB3AOfZ7RtqF1NNwQOy7dTycXwzpf7gA+tYlbr4KFHg5rz0PBd6C7yAdPRK+RAO+Eg==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/focus-ring/-/focus-ring-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-psrOK7/VN0DtwzJP5a976pqCzqjqwFNFCPuTJxyfrEfhjblAXJhgOVWx8Mm9w7cEB4RuNxNLyhVPKp3kPuIHFw==", "dependencies": { - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0" + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0" } }, "node_modules/@material/form-field": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-sHn97Z9f9YUioeGve/EANIAqddH4YslybHbFTMFx9AA4CyFITEXuNI7GC7J7BzkI10rcjmatWUGx0JRal1kVGw==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/form-field/-/form-field-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-/ad0Q8udNtEiPhIMVT1XCf886McDxo3KscH6/v9OJrqrgfVYf052/VjJG4ltTl1DyblT9CVH+syXWh++Y1d6Dg==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/icon-button": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-/qJscrbn45yZN+yno0NHBdHGttJ/0kgOIY34OIb9LeGDnVe+snsWrA8DkiaPeYJTLge+ACtgfDdk/iN+6vvckg==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/icon-button/-/icon-button-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-MHn/R18YjXH4UIOnZPIcDa1VKTuU/KbXIHaMoLDXDo4QfISoQLs6AbxgK77l6rmFACRi8MHKhRJ8LAdKKUF38w==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/focus-ring": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/image-list": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-4IhKYtrF7qA2e7qKt1B1XXg9mEJy7eyoWO0iQrqK8jtYyAaDMmsi24fAvlubczO+Qj02RFCqPCO2j23RCojYnA==", - "dependencies": { - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/image-list/-/image-list-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-tqvCXRfX5d5y9lK7MgP0tbtGvKlTyS1i5BAhYl4PyFY8dFTrTkEU8b2FjcTLby+AJGKSY/EkeWZw8g4YJb0eig==", + "dependencies": { + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/layout-grid": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-ihb7N9hLB4CSbrGC2b70zaFMiJo8DJTZAy99AmAdtpo9CdGlkXDxlyEDYI+NkFHMeyoL85m9dEqGgLgiEGlO5Q==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/layout-grid/-/layout-grid-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-m1LxCfPYBkCzBVO35/lMRqvi25HLPi8m7rYpWKRvihz8vIMRRlmBsHkvdWahtN1dbQ7eOUOCjgaqM21XFeOzIA==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/line-ripple": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-4LNf92KjQ+RnPv3qb9R4gwO0zWMbMfCYnuvA7mXysRChL8f/3uuvTLySRuobMeE8HndErAMylHdWdtgTQ+6GSw==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/line-ripple/-/line-ripple-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-p92jxhnw7bw9Sxx7P4uTy/mTxQ3+q7uZlRoRy+JtN6y9yEmZ2eqexEjf7IDQEvotHsLam7PKstg2h0X9CtujmA==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/linear-progress": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-Aoi03JbUspj+08fLx2Y72jguD3uYkXHE9RNk9R2cqcjtahzGDdL7tDCZEqzmepSvdnDezHsWIBvkiLHuJP7WGA==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/progress-indicator": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/linear-progress/-/linear-progress-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-Ws3h1iHyHHefHFkFm6t8ORzRs3UdgjjhslLNVB1oHYLWZj2vRizDUuB4aIGbjfTG9UTil8wn6ub9MsyFuH1XQg==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/progress-indicator": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/list": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-hMxDwAgs3NMi5z6XZvBjiopmdkApWZlKt1EOurPyuMDAKu/f0Dpu4lttNXmC1Qhg/Z82inMxUgYVWv4eMok4cQ==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/list/-/list-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-xy3PY6RQRCjnO5SuhSaLn2YO4rAU+JZDyDx9Uyx4bfZ+Pgzpst3ji/rbTOtM9sqNoixGWF6SH/e+GlqmVSm9zg==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/menu": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-Ua2KDrT+VW6a270QNXqHwC/WU0oO88THXV8XV50kZtFHipe70ZB8sBcqKYM3zntbhI0q05Dl+R+z1icJhpw2hA==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/list": "15.0.0-canary.51f9c0c28.0", - "@material/menu-surface": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/menu/-/menu-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-SfA67F7rmUzOWqzpywcbQlZtaZ/UVdXkalS98z3+xWkd+f/KBWZx3HBZLHSjLeablERayZCRCl8U6cwbjtq9Ig==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/list": "15.0.0-canary.3b5b55e31.0", + "@material/menu-surface": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/menu-surface": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-aDGmwcZ2nI5E+gJ7jn7QrihJ2p33nU5EuKs9cpBZSmYZKm1wcfFcb2CR07ui1WBT/zaZ9CNaXnIdcJsKY76mSg==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/menu-surface/-/menu-surface-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-GPJeWN0dbB8kDyRpD3kAeYU7DbJPVK0B4zR35K5snKRZZ1V6uTYQfdeCjzZgSU5ivfH4/jxGS9NK/7SnVykOxg==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/notched-outline": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-5fXgCxrEjoV9WKN2+4ru1mA8OIbnrrK/Zq5RT6QJgAbW/YRyMjtMZKIIbGhlL62/q4pZQCbYZaMmDskTkhiylg==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/floating-label": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/notched-outline/-/notched-outline-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-rEzFUqaJJ1hX4k7TlWjGONqTeUP+IuIGiGSXnHlYdQRQQiuHTOrwI6b+l8FXgNFMmKMzg6Xzh8sr9jiV+cO5Xg==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/floating-label": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/progress-indicator": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-teQwuo+45CKDRT17Ly9DOYJBHfoIJhGYbRsTCjgm6yGfWER3htP77NseTD8w1iaVHM09D9hjhvji3BQGD5s6Pg==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/progress-indicator/-/progress-indicator-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-WY1y0qzVv3DMNNEuQMF/EPbHIrwKbnlpOu/RRDo86D/oa9qmZP8mHe00quopWf9ZduTna2BjTWsQBid1680jAg==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/@material/radio": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-8zYl1iQz4E8l+iI9m2rnf1pO7wZJZdvXjxjk6Wx608Rac5ntPFn8ky8eBVRa3AnCLFJlLMPRfGPwCO8TJQutKg==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/radio/-/radio-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-JUvJHfAMjTdcsWF5XFnRlvRKTfWmANfU86QouOH9rxY9NYqP9AROR9X/y/A6cE4TMhOdskt4+/ewl9wriSHUUw==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/focus-ring": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/ripple": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-q5Qk3a5kxlC3zvVRfDfpJBXMjPReey/xCFgov9NskbYyAWvGDUkizHxQqdBpZtaczMgFLG4locaM7lHCD6sGgw==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/ripple/-/ripple-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-nrce9Qhinq64U2Ld8htuiCtBgSOxeDu+BIi0Red4oicmhTskSaOzC7NS8wjy5Q155YrnaBTsxPJZDjiTsG9e+g==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/rtl": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-osFXl265Tg0tMiLts31UBeV+hRogXdDclsMRDrIsfs1faSXkBANFf8pPBk9Iyo70zx3X4fhFDY0PnsIkex3kug==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/rtl/-/rtl-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-lSp3UbhYXuW8p3qsqvft+eLxECpKH5xNL4oXc47sH9DsdSFrhFHTCeOtHwz261cMBetAXCaXsz/0BsBOslWoBg==", "dependencies": { - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/segmented-button": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-rYIyfIzf/Ev2d1/4OwkmzGvZ/jlQZDwR6i1FJA7pYbpYyVAI+8CxBL0ea02iUZfvTG8KQcx0fBW5HOlYSHayYQ==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/touch-target": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/segmented-button/-/segmented-button-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-62vr5OhWvf4MzVGx3L8D+wK7IzI+a5wAvW/wkcPOvm4FldTyPiey74zC84Wj8CK82UQqzYJj5jTV5KfOk/2t0w==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/touch-target": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/select": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-DpfJ3ZgMEGfgRLDniGmkNlG/Wwrmd6wYI1bQiq2GhlkA3vsDCuCa/EyNkCDTCqhPDUzvWVJOH3kqUm4piSyDrA==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/floating-label": "15.0.0-canary.51f9c0c28.0", - "@material/line-ripple": "15.0.0-canary.51f9c0c28.0", - "@material/list": "15.0.0-canary.51f9c0c28.0", - "@material/menu": "15.0.0-canary.51f9c0c28.0", - "@material/menu-surface": "15.0.0-canary.51f9c0c28.0", - "@material/notched-outline": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/select/-/select-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-2vDCOszy5Len3XQizbEPfoaQZWSFXydc06Tbw6cNzISeHfwAU4LA3aQ9lP7vaukRBthAdy7+o7WHnrnbfVIvZQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/floating-label": "15.0.0-canary.3b5b55e31.0", + "@material/line-ripple": "15.0.0-canary.3b5b55e31.0", + "@material/list": "15.0.0-canary.3b5b55e31.0", + "@material/menu": "15.0.0-canary.3b5b55e31.0", + "@material/menu-surface": "15.0.0-canary.3b5b55e31.0", + "@material/notched-outline": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/shape": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-SdJEmNYyhvlITE2sZJuX3yygl/3l6N1Md4mKT2tclkY/eYf+HnHZRJvUpE2KnWMnIAvVdAljhU+eYZfalAvH7A==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/shape/-/shape-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-7OMwJr/iWt8secMFtgtzIcMoZo8N/axgGD6yXhAc2wWbdnh0N2h6cqB+aInQeG2oPuOqO7ofEEghSC0TIh7siA==", "dependencies": { - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/slider": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-LxZRzXMRjc9mmMz3PYY6QOl85WHH9AoBox3+kNaB5J7Q9J/LaCRdqHHpOvh05n+MVZcecaV+UdADxQ8dJbR0Fg==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/slider/-/slider-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-Eu/h6pWfhVxm2t/oyQlUXyzh4x0nynvZZl2XanZ4v84Bt4eEGSwjaECQdaU+Wf6pAkwZRx5Acl3LiyV6cu8vRA==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/snackbar": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-51MLSplWiVjzVoEEkvRFEqFu/q4ra6ai03/rG/em9kmr8VI0hpvyxLEZ4yIRue+7SSjt5Bsou3hUdL0Q8Q20iw==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/button": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/icon-button": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/snackbar/-/snackbar-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-gcrCpwYz+QaXqENzVYZhGKxu3i/oM/ZamumLiUORYzt/c5vtGJfSd8l7GoJOPpIyUtBCOSOjc+QRye4KrIbLuw==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/button": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/icon-button": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/switch": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-kRTmekNkKkiHgKuLb/GcnPvZ2WVvoS5U66NxGsRhs2ixKbWwa6qsBtXc5V7kNEsUDVgetUG5xDLye+ofQoyxEg==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/switch/-/switch-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-G83nixwYZQ0YuV4ejH2Ef097sjyHO7r5053lzTaUMJB7wpTz9eyRbtI5TIIpDl9vQ6UA55PeYMvGJWOsL/8yxw==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/focus-ring": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", "safevalues": "^0.3.4", "tslib": "^2.1.0" } }, "node_modules/@material/tab": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-Z8tepFaE46qTjKi+NLb/tY6EXxFNxhx3VS4vGbC/ZktuQpPJx3POU1HHs7pQzhRIh6fDTreWAoXZo5WTj8miZg==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/focus-ring": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/tab-indicator": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/tab/-/tab-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-z7R/6yD53P46LnuieANSBL04JuVSS/8P9FEDuZVqkDkEZzCPdOumTYuj6VE/c9PC5SKM6+4kAbR5deCOhzKmNA==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/focus-ring": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/tab-indicator": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/tab-bar": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-C0lE3ye6QycNNTbzhgCe5lUj01Z5tZpm/BF/aw2z9N49cXVB0Ka59cn4jktOs7wTzoW0OQOilhs72/xf0PR7Cw==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/tab": "15.0.0-canary.51f9c0c28.0", - "@material/tab-indicator": "15.0.0-canary.51f9c0c28.0", - "@material/tab-scroller": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/tab-bar/-/tab-bar-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-hUOHNzH64hAhZ6WQ+HCDradmLGVZkb06/4sPC2dh6C1aMLIhgGoa+MQ+rPXrUZiKk1zupWe2Etgtq3mpCodIyA==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/tab": "15.0.0-canary.3b5b55e31.0", + "@material/tab-indicator": "15.0.0-canary.3b5b55e31.0", + "@material/tab-scroller": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/tab-indicator": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-C5DBeiVgR75+Du4MdSdfPmBJ/AYhMyvM2nG+2PBqR5h1recM5+ocypeEtmZI9foJaPRHypc3fNTW/mdxV7c3dA==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/tab-indicator/-/tab-indicator-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-EEx6trwtWHaD9RE1xBskmy2hSAGe3id+PhXeMRj7TNPZ3g9aFZ/G60y0n8oGs6zg0T8KyHVZ/37fMH/QqoEttg==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/tab-scroller": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-00JZXIbnVvrRPoY6N4MNlS/L2sHZOCj8tzCLEszJZCg722onlN8YDyCh51t0mdcfzw5N1ULvGnsa5BpeWeW3vw==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/tab": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/tab-scroller/-/tab-scroller-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-5F56pIMk43c2kjcvuP3Qs98SORH+Na/q7zr/XM1rip8y/46d1231elqj4uem6TiYD5l89qjbyD+Zq6y+i2KI5g==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/tab": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/textfield": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-e8HjmBiRFI7/4Sg6c8XsshYLZsLn7qwKrJZWR7gA9LcYCJZDN1zaOVC5/Cx6lwS+R/hShtJh85ob3HJhdKmKRw==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/density": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/floating-label": "15.0.0-canary.51f9c0c28.0", - "@material/line-ripple": "15.0.0-canary.51f9c0c28.0", - "@material/notched-outline": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/textfield/-/textfield-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-1nYbaHeesVmSnym6owKC1CDAmoAuhCUKVQ2JKGtnr6gFarmtT5s3ZoJaO4bISgbgN3KP291uFNl4mCqaTGcyBQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/density": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/floating-label": "15.0.0-canary.3b5b55e31.0", + "@material/line-ripple": "15.0.0-canary.3b5b55e31.0", + "@material/notched-outline": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/theme": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-E9W/SM3YAsz4qfYuNZby9bq4TvrgPEjsDitj842FmlTmHXZIoQqizvnX6mtzGq+aPmlSF+nDG+uSJTg37kVQWA==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/theme/-/theme-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-0v0gtYG7i3JaleFbkP2SOzzD1x4y4IOcbgJanZzi9SkWf/gsVXwbxLID1eUSFIj3+jjqRBl1h2REQ5JL1FEmPg==", "dependencies": { - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/tokens": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-rXjIFqfos9M60J9oYgbRA784I2JtTL7WvFHH6c4i3vIFnGwJiC57ovju5jF2OaAyrB5GuUNRVRaJw1CSn5bzvA==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/tokens/-/tokens-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-Taj1tlo6yUjDfMXQRYKgDf9lWwDpq8/0y2qxetCddyZxilZKyW2oc5lmbzkHbCpIzYG8in//JAL6pP+JaFn0MA==", "dependencies": { - "@material/elevation": "15.0.0-canary.51f9c0c28.0" + "@material/elevation": "15.0.0-canary.3b5b55e31.0" } }, "node_modules/@material/tooltip": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-Lvh/Yjmh2wLSFp6p/S6PWrbIQbWFNqAq9K7YAnjYaWLUfBznz/GmgJbWzIhwtTwLzA6eyCk84KY7Ldm4y6QXnA==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/button": "15.0.0-canary.51f9c0c28.0", - "@material/dom": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/tokens": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/tooltip/-/tooltip-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-WxAJ8LxMdvSKgD1tC6mX8VbhLiMxijQm+uGK5XJZIbnHHJ6GNvvj+/kY0UydsaFPpAEtkDr3X4L9v70OF+hBBg==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/button": "15.0.0-canary.3b5b55e31.0", + "@material/dom": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/tokens": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "safevalues": "^0.3.4", "tslib": "^2.1.0" } }, "node_modules/@material/top-app-bar": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-ApTalnQcMMuoZ9r2wace2A3SUIfwOfHryFX/rzR00SG8VlXA+Hj4SFNeEQ7qQVPx0RL5supT3Ixz9MWaujdb3Q==", - "dependencies": { - "@material/animation": "15.0.0-canary.51f9c0c28.0", - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/elevation": "15.0.0-canary.51f9c0c28.0", - "@material/ripple": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/shape": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", - "@material/typography": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/top-app-bar/-/top-app-bar-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-N8kJQtkZheUpDgtlr0GudAv5OnGiVhuWlk3IGgDAX06O1vvuV2negj7Il0NJ9YsKJ8t5ICKjlxsznskIbMSxmQ==", + "dependencies": { + "@material/animation": "15.0.0-canary.3b5b55e31.0", + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/elevation": "15.0.0-canary.3b5b55e31.0", + "@material/ripple": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/shape": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", + "@material/typography": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/touch-target": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-0O6TSukUJSscOQYlel1MTR63cEeX3XV6SQ/X1FIV+JkYxMof/stiIbWYF55FrWuiV8o4t0JCYHHwB7MPWvufVA==", - "dependencies": { - "@material/base": "15.0.0-canary.51f9c0c28.0", - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/rtl": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/touch-target/-/touch-target-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-fY9ikQKjIXLzMyAqo2Vuc8cGzEYri5jPIYXckjWjkArXTfzqyv8Va0Du10bHBLzqmbLBANre959IRRWULvLPIg==", + "dependencies": { + "@material/base": "15.0.0-canary.3b5b55e31.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/rtl": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, "node_modules/@material/typography": { - "version": "15.0.0-canary.51f9c0c28.0", - "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.51f9c0c28.0.tgz", - "integrity": "sha512-54B9LQe1ueFwcjrh58C8FII/O9bflTWNMv3eZSaLwAFz4csNPXHkoLryFmMGbO99p04SsQ/xCjqLJedJCrpN3A==", + "version": "15.0.0-canary.3b5b55e31.0", + "resolved": "https://registry.npmjs.org/@material/typography/-/typography-15.0.0-canary.3b5b55e31.0.tgz", + "integrity": "sha512-F52n/Mirtkj7kYOxwkP3rMs8WFsMo2qFuA+dFgcyMxvsqPoNU9oZ3AqR+0Lo3VKai3BSVrdukDm+JhvkHB/Smw==", "dependencies": { - "@material/feature-targeting": "15.0.0-canary.51f9c0c28.0", - "@material/theme": "15.0.0-canary.51f9c0c28.0", + "@material/feature-targeting": "15.0.0-canary.3b5b55e31.0", + "@material/theme": "15.0.0-canary.3b5b55e31.0", "tslib": "^2.1.0" } }, diff --git a/package.json b/package.json index 92147f6..6687846 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-material-multilevel-menu-angular-project", - "version": "6.0.1", + "version": "6.0.5", "scripts": { "ng": "ng", "start": "ng serve", @@ -14,12 +14,12 @@ "private": false, "dependencies": { "@angular/animations": "^16.0.1", - "@angular/cdk": "^16.0.0", + "@angular/cdk": "^16.0.1", "@angular/common": "^16.0.1", "@angular/compiler": "^16.0.1", "@angular/core": "^16.0.1", "@angular/forms": "^16.0.1", - "@angular/material": "^16.0.0", + "@angular/material": "^16.0.1", "@angular/platform-browser": "^16.0.1", "@angular/platform-browser-dynamic": "^16.0.1", "@angular/router": "^16.0.1", diff --git a/projects/ng-material-multilevel-menu/package.json b/projects/ng-material-multilevel-menu/package.json index 6cbc837..944fb3a 100644 --- a/projects/ng-material-multilevel-menu/package.json +++ b/projects/ng-material-multilevel-menu/package.json @@ -1,6 +1,6 @@ { "name": "@eddie666/ng-material-multilevel-menu", - "version": "6.0.1", + "version": "6.0.5", "repository": { "type": "git", "url": "git+https://github.com/eddiefrank/ng-material-multilevel-menu.git" diff --git a/projects/ng-material-multilevel-menu/src/lib/app.model.ts b/projects/ng-material-multilevel-menu/src/lib/app.model.ts index 2d72091..e769202 100644 --- a/projects/ng-material-multilevel-menu/src/lib/app.model.ts +++ b/projects/ng-material-multilevel-menu/src/lib/app.model.ts @@ -1,4 +1,4 @@ -import { NavigationExtras } from '@angular/router'; +import { NavigationExtras } from "@angular/router"; export interface MultilevelNode { id?: string; @@ -27,31 +27,34 @@ export interface MultilevelNode { } export interface Configuration { - classname?: string; - paddingAtStart?: boolean; - backgroundColor?: string; - listBackgroundColor?: string; - fontColor?: string; - selectedListFontColor?: string; - interfaceWithRoute?: boolean; - collapseOnSelect?: boolean; - highlightOnSelect?: boolean; - useDividers?: boolean; - rtlLayout?: boolean; - customTemplate?: boolean; + classname?: string; + paddingAtStart?: boolean; + backgroundColor?: string; + listBackgroundColor?: string; + fontColor?: string; + selectedListFontColor?: string; + interfaceWithRoute?: boolean; + collapseOnSelect?: boolean; + highlightOnSelect?: boolean; + useDividers?: boolean; + rtlLayout?: boolean; + customTemplate?: boolean; } export interface BackgroundStyle { - background: string; + backgroundColor: string; +} +export interface ColorStyle { + color: string; } export interface ListStyle { - background: string; - color: string; + backgroundColor: string; + color: string; } export enum ExpandCollapseStatusEnum { - expand = 'expand', - collapse = 'collapse', - neutral = 'neutral', + expand = "expand", + collapse = "collapse", + neutral = "neutral", } diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts index 6ff9a0f..8c6779b 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts @@ -1,14 +1,14 @@ -import {Component, Input, OnInit} from '@angular/core'; -import {MultilevelNode} from '../../app.model'; -import {ExpandedLTR, ExpandedRTL} from '../../animation'; -import {CommonUtils} from '../../common-utils'; -import {CONSTANT} from '../../constants'; +import { Component, Input, OnInit } from "@angular/core"; +import { MultilevelNode } from "../../app.model"; +import { ExpandedLTR, ExpandedRTL } from "../../animation"; +import { CommonUtils } from "../../common-utils"; +import { CONSTANT } from "../../constants"; @Component({ - selector: 'ng-list-item-content', - templateUrl: './list-item-content.component.html', - styleUrls: ['./list-item-content.component.css'], - animations: [ExpandedLTR, ExpandedRTL] + selector: "ng-list-item-content", + templateUrl: "./list-item-content.component.html", + styleUrls: ["./list-item-content.component.css"], + animations: [ExpandedLTR, ExpandedRTL], }) export class ListItemContentComponent implements OnInit { @Input() node: MultilevelNode; @@ -37,23 +37,33 @@ export class ListItemContentComponent implements OnInit { } getHrefTargetType(): string { - return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + return this.node.hrefTargetType + ? this.node.hrefTargetType + : CONSTANT.DEFAULT_HREF_TARGET_TYPE; } getSelectedSvgIcon(): string { - return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; + return this.node.isSelected && this.node.activeSvgIcon + ? this.node.activeSvgIcon + : this.node.svgIcon; } getSelectedIcon(): string { - return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; + return this.node.isSelected && this.node.activeIcon + ? this.node.activeIcon + : this.node.icon; } getSelectedFaIcon(): string { - return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; + return this.node.isSelected && this.node.activeFaIcon + ? this.node.activeFaIcon + : this.node.faIcon; } getSelectedImageIcon(): string { - return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; + return this.node.isSelected && this.node.activeImageIcon + ? this.node.activeImageIcon + : this.node.imageIcon; } nodeExpandStatus(): string { diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html index c9e9d06..483ff4d 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html @@ -1,45 +1,54 @@
- -
- - -
- - - -
- - -
+ +
+ + +
+ + +
+ + +
- - - - - + + + + - - + diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts index 57bb020..679f1b1 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts @@ -1,17 +1,33 @@ -import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core'; -import { Router } from '@angular/router'; - -import { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model'; -import { CONSTANT } from '../constants'; -import { MultilevelMenuService } from '../multilevel-menu.service'; -import { SlideInOut } from '../animation'; -import {CommonUtils} from '../common-utils'; +import { + Component, + Input, + OnChanges, + OnInit, + Output, + EventEmitter, + TemplateRef, + ElementRef, +} from "@angular/core"; +import { Router } from "@angular/router"; + +import { + Configuration, + ListStyle, + MultilevelNode, + ExpandCollapseStatusEnum, + ColorStyle, + BackgroundStyle, +} from "../app.model"; +import { CONSTANT } from "../constants"; +import { MultilevelMenuService } from "../multilevel-menu.service"; +import { SlideInOut } from "../animation"; +import { CommonUtils } from "../common-utils"; @Component({ - selector: 'ng-list-item', - templateUrl: './list-item.component.html', - styleUrls: ['./list-item.component.css'], - animations: [SlideInOut] + selector: "ng-list-item", + templateUrl: "./list-item.component.html", + styleUrls: ["./list-item.component.css"], + animations: [SlideInOut], }) export class ListItemComponent implements OnChanges, OnInit { @Input() node: MultilevelNode; @@ -32,8 +48,10 @@ export class ListItemComponent implements OnChanges, OnInit { classes: { [index: string]: boolean }; selectedListClasses: { [index: string]: boolean }; - constructor(private router: Router, - public multilevelMenuService: MultilevelMenuService) { + constructor( + private router: Router, + public multilevelMenuService: MultilevelMenuService + ) { this.selectedListClasses = { [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, @@ -42,25 +60,38 @@ export class ListItemComponent implements OnChanges, OnInit { } ngOnChanges() { - this.nodeChildren = this.node && this.node.items ? this.node.items.filter(n => !n.hidden) : []; + this.nodeChildren = + this.node && this.node.items + ? this.node.items.filter((n) => !n.hidden) + : []; this.node.hasChildren = this.hasItems(); if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { - this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); + this.setSelectedClass( + this.multilevelMenuService.recursiveCheckId( + this.node, + this.selectedNode.id + ) + ); } this.setExpandCollapseStatus(); } ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = + this.node.disabled; - if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && - this.node.faIcon.match(/\bfa\w(?!-)/) === null) { + if ( + !CommonUtils.isNullOrUndefined(this.node.faIcon) && + this.node.faIcon.match(/\bfa\w(?!-)/) === null + ) { this.node.faIcon = `fas ${this.node.faIcon}`; } - this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; - if (typeof this.node.expanded === 'boolean') { + this.selectedListClasses[ + `level-${this.level}-submenulevel-${this.submenuLevel}` + ] = true; + if (typeof this.node.expanded === "boolean") { this.expanded = this.node.expanded; } this.setClasses(); @@ -71,7 +102,9 @@ export class ListItemComponent implements OnChanges, OnInit { if (!this.firstInitializer) { this.expanded = true; } - this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; + this.isSelected = + this.nodeConfiguration.highlightOnSelect || + this.selectedNode.items === undefined; } else { this.isSelected = false; if (this.nodeConfiguration.collapseOnSelect) { @@ -95,20 +128,34 @@ export class ListItemComponent implements OnChanges, OnInit { } getListStyle(): ListStyle { - const styles = { - background: CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR, - color: CONSTANT.DEFAULT_LIST_FONT_COLOR + return { + color: this.getColor(), + backgroundColor: this.getBackgroundColor(), }; - if (this.nodeConfiguration.listBackgroundColor !== null) { - styles.background = this.nodeConfiguration.listBackgroundColor; - } - if (this.isSelected) { - this.nodeConfiguration.selectedListFontColor !== null ? - styles.color = this.nodeConfiguration.selectedListFontColor : styles.color = CONSTANT.DEFAULT_SELECTED_FONT_COLOR; - } else if (this.nodeConfiguration.fontColor !== null) { - styles.color = this.nodeConfiguration.fontColor; - } - return styles; + } + + getColorStyle(): ColorStyle { + return { color: this.getColor() }; + } + + getBackgroundStyle(): BackgroundStyle { + return { backgroundColor: this.getBackgroundColor() }; + } + + getColor(): string { + return this.isSelected + ? this.nodeConfiguration.selectedListFontColor !== null + ? this.nodeConfiguration.selectedListFontColor + : CONSTANT.DEFAULT_SELECTED_FONT_COLOR + : this.nodeConfiguration.fontColor !== null + ? this.nodeConfiguration.fontColor + : CONSTANT.DEFAULT_LIST_FONT_COLOR; + } + + getBackgroundColor(): string { + return this.nodeConfiguration.listBackgroundColor !== null + ? this.nodeConfiguration.listBackgroundColor + : CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR; } hasItems(): boolean { @@ -122,8 +169,9 @@ export class ListItemComponent implements OnChanges, OnInit { setClasses(): void { this.classes = { [`level-${this.level + 1}`]: true, - [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), - [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems() + [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: + this.hasItems() && this.getPaddingAtStart(), + [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems(), }; } @@ -150,19 +198,23 @@ export class ListItemComponent implements OnChanges, OnInit { } this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; this.expanded = !this.expanded; - this.node.expanded = this.expanded; + this.node.expanded = this.expanded; this.firstInitializer = true; this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null - && this.nodeConfiguration.interfaceWithRoute - && node.link !== undefined - && node.link + if ( + this.nodeConfiguration.interfaceWithRoute !== null && + this.nodeConfiguration.interfaceWithRoute && + node.link !== undefined && + node.link ) { this.router.navigate([node.link], node.navigationExtras).then(); - } else if (node.onSelected && typeof node.onSelected === 'function') { + } else if (node.onSelected && typeof node.onSelected === "function") { node.onSelected(node); this.selectedListItem(node); - } else if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { + } else if ( + node.items === undefined || + this.nodeConfiguration.collapseOnSelect + ) { this.selectedListItem(node); } } @@ -170,5 +222,4 @@ export class ListItemComponent implements OnChanges, OnInit { selectedListItem(node: MultilevelNode): void { this.selectedItem.emit(node); } - } diff --git a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts index 0989eca..9a363d3 100644 --- a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts +++ b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts @@ -1,23 +1,42 @@ -import { Component, OnChanges, OnInit, OnDestroy, Output, EventEmitter, Input, ContentChild, TemplateRef, ElementRef } from '@angular/core'; -import { NavigationEnd, Router } from '@angular/router'; -import { Subscription } from 'rxjs'; -import { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from './app.model'; -import { CONSTANT } from './constants'; -import { MultilevelMenuService } from './multilevel-menu.service'; -import {CommonUtils} from './common-utils'; +import { + Component, + OnChanges, + OnInit, + OnDestroy, + Output, + EventEmitter, + Input, + ContentChild, + TemplateRef, + ElementRef, +} from "@angular/core"; +import { NavigationEnd, Router } from "@angular/router"; +import { Subscription } from "rxjs"; +import { + BackgroundStyle, + Configuration, + MultilevelNode, + ExpandCollapseStatusEnum, +} from "./app.model"; +import { CONSTANT } from "./constants"; +import { MultilevelMenuService } from "./multilevel-menu.service"; +import { CommonUtils } from "./common-utils"; @Component({ - selector: 'ng-material-multilevel-menu', - templateUrl: './ng-material-multilevel-menu.component.html', - styleUrls: ['./ng-material-multilevel-menu.component.css'], + selector: "ng-material-multilevel-menu", + templateUrl: "./ng-material-multilevel-menu.component.html", + styleUrls: ["./ng-material-multilevel-menu.component.css"], }) -export class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy { +export class NgMaterialMultilevelMenuComponent + implements OnInit, OnChanges, OnDestroy +{ @Input() items: MultilevelNode[]; @Input() configuration: Configuration = null; @Output() selectedItem = new EventEmitter(); @Output() selectedLabel = new EventEmitter(); @Output() menuIsReady = new EventEmitter(); - @ContentChild('listTemplate', {static: true}) listTemplate: TemplateRef; + @ContentChild("listTemplate", { static: true }) + listTemplate: TemplateRef; expandCollapseStatusSubscription: Subscription = null; selectMenuByIDSubscription: Subscription = null; @@ -33,14 +52,17 @@ export class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnD highlightOnSelect: false, useDividers: true, rtlLayout: false, - customTemplate: false + customTemplate: false, }; isInvalidConfig = true; isInvalidData = true; - nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral; + nodeExpandCollapseStatus: ExpandCollapseStatusEnum = + ExpandCollapseStatusEnum.neutral; - constructor(private router: Router, - public multilevelMenuService: MultilevelMenuService) { + constructor( + private router: Router, + public multilevelMenuService: MultilevelMenuService + ) { // NOOP } ngOnChanges() { @@ -52,34 +74,47 @@ export class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnD } } ngOnInit() { - if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && - this.configuration.interfaceWithRoute !== null && this.configuration.interfaceWithRoute) { - this.router.events - .subscribe((event) => { - if (event instanceof NavigationEnd) { - this.updateNodeByURL(event.urlAfterRedirects); - } - }); + if ( + !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && + this.configuration.interfaceWithRoute !== null && + this.configuration.interfaceWithRoute + ) { + this.router.events.subscribe((event) => { + if (event instanceof NavigationEnd) { + this.updateNodeByURL(event.urlAfterRedirects); + } + }); this.updateNodeByURL(this.router.url); } } updateNodeByURL(url: string): void { - const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) + const foundNode = this.multilevelMenuService.getMatchedObjectByUrl( + this.items, + url + ); + if ( + foundNode !== undefined && + !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) // && !foundNode.disabled // Prevent route redirection for disabled menu ) { this.currentNode = foundNode; - if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && !foundNode.dontEmit) { + if ( + !CommonUtils.isNullOrUndefined(foundNode.dontEmit) && + !foundNode.dontEmit + ) { this.selectedListItem(foundNode); } } } checkValidData(): void { - if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { + if ( + this.items === undefined || + (Array.isArray(this.items) && this.items.length === 0) + ) { console.warn(CONSTANT.ERROR_MESSAGE); return; } - this.items = this.items.filter(n => !n.hidden); + this.items = this.items.filter((n) => !n.hidden); this.multilevelMenuService.addRandomId(this.items); this.isInvalidData = false; } @@ -89,8 +124,10 @@ export class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnD } else { this.isInvalidConfig = false; const config = this.configuration; - if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && - typeof config.paddingAtStart === 'boolean') { + if ( + !CommonUtils.isNullOrUndefined(config.paddingAtStart) && + typeof config.paddingAtStart === "boolean" + ) { this.nodeConfig.paddingAtStart = config.paddingAtStart; } if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { @@ -102,54 +139,80 @@ export class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnD if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) { this.nodeConfig.selectedListFontColor = config.selectedListFontColor; } - if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && - typeof config.interfaceWithRoute === 'boolean') { + if ( + !CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && + typeof config.interfaceWithRoute === "boolean" + ) { this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; } - if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && - typeof config.collapseOnSelect === 'boolean') { + if ( + !CommonUtils.isNullOrUndefined(config.collapseOnSelect) && + typeof config.collapseOnSelect === "boolean" + ) { this.nodeConfig.collapseOnSelect = config.collapseOnSelect; } - if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && - typeof config.highlightOnSelect === 'boolean') { + if ( + !CommonUtils.isNullOrUndefined(config.highlightOnSelect) && + typeof config.highlightOnSelect === "boolean" + ) { this.nodeConfig.highlightOnSelect = config.highlightOnSelect; } - if (!CommonUtils.isNullOrUndefined(config.useDividers) && - typeof config.useDividers === 'boolean') { + if ( + !CommonUtils.isNullOrUndefined(config.useDividers) && + typeof config.useDividers === "boolean" + ) { this.nodeConfig.useDividers = config.useDividers; } - if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && - typeof config.rtlLayout === 'boolean') { + if ( + !CommonUtils.isNullOrUndefined(config.rtlLayout) && + typeof config.rtlLayout === "boolean" + ) { this.nodeConfig.rtlLayout = config.rtlLayout; } - if (!CommonUtils.isNullOrUndefined(config.customTemplate) && - typeof config.customTemplate === 'boolean') { + if ( + !CommonUtils.isNullOrUndefined(config.customTemplate) && + typeof config.customTemplate === "boolean" + ) { this.nodeConfig.customTemplate = config.customTemplate; } } this.checkValidData(); } initExpandCollapseStatus(): void { - this.expandCollapseStatusSubscription = this.multilevelMenuService.expandCollapseStatus$ - .subscribe( (expandCollapseStatus: ExpandCollapseStatusEnum) => { - this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; - }, () => { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - }); + this.expandCollapseStatusSubscription = + this.multilevelMenuService.expandCollapseStatus$.subscribe( + (expandCollapseStatus: ExpandCollapseStatusEnum) => { + this.nodeExpandCollapseStatus = expandCollapseStatus + ? expandCollapseStatus + : ExpandCollapseStatusEnum.neutral; + }, + () => { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + } + ); } initSelectedMenuID(): void { - this.selectMenuByIDSubscription = this.multilevelMenuService.selectedMenuID$.subscribe( (selectedMenuID: string) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); + this.selectMenuByIDSubscription = + this.multilevelMenuService.selectedMenuID$.subscribe( + (selectedMenuID: string) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById( + this.items, + selectedMenuID + ); + if (foundNode !== undefined) { + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } + } } - } - }); + ); } getClassName(): string { - if (!this.isInvalidConfig && !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { + if ( + !this.isInvalidConfig && + !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname) + ) { return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; } return CONSTANT.DEFAULT_CLASS_NAME; @@ -157,10 +220,14 @@ export class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnD getGlobalStyle(): BackgroundStyle { if (!this.isInvalidConfig) { const styles = { - background : null + backgroundColor: null, }; - if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { - styles.background = this.configuration.backgroundColor; + if ( + !CommonUtils.isNullOrUndefinedOrEmpty( + this.configuration.backgroundColor + ) + ) { + styles.backgroundColor = this.configuration.backgroundColor; } return styles; } @@ -174,7 +241,10 @@ export class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnD if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { return; } - if (event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') ) { + if ( + event.items === undefined && + (!event.onSelected || typeof event.onSelected !== "function") + ) { this.selectedItem.emit(event); } else { this.selectedLabel.emit(event); diff --git a/src/styles.css b/src/styles.css index 74be4e4..b9cf787 100644 --- a/src/styles.css +++ b/src/styles.css @@ -3,7 +3,7 @@ @import 'https://rawgit.com/angular/material2-builds/master/prebuilt-themes/indigo-pink.css'; body { - font-family: 'Raleway', sans-serif; + font-family: 'Roboto','Helvetica Neue',sans-serif; margin: 0; } From 3bfe3ca82b47142fbc8795dca45e331dc2f3d306 Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Sat, 13 May 2023 15:20:35 +0200 Subject: [PATCH 10/13] -refactoring -eslint -prettier --- .eslintrc.json | 162 + .prettierignore | 15 + angular.json | 45 +- .../esm2022/lib/animation.mjs | 22 +- .../esm2022/lib/app.model.mjs | 2 +- .../esm2022/lib/common-utils.mjs | 2 +- .../esm2022/lib/constants.mjs | 4 +- .../list-item-content.component.mjs | 52 +- .../lib/list-item/list-item.component.mjs | 91 +- .../esm2022/lib/materials.module.mjs | 26 +- .../esm2022/lib/multilevel-menu.service.mjs | 17 +- .../ng-material-multilevel-menu.component.mjs | 208 +- .../ng-material-multilevel-menu.module.mjs | 26 +- .../eddie666-ng-material-multilevel-menu.mjs | 394 +- ...die666-ng-material-multilevel-menu.mjs.map | 2 +- .../lib/animation.d.ts.map | 2 +- .../lib/app.model.d.ts | 12 +- .../lib/app.model.d.ts.map | 2 +- .../lib/common-utils.d.ts.map | 2 +- .../list-item-content.component.d.ts | 7 +- .../list-item-content.component.d.ts.map | 2 +- .../lib/list-item/list-item.component.d.ts | 19 +- .../list-item/list-item.component.d.ts.map | 2 +- .../lib/materials.module.d.ts.map | 2 +- .../lib/multilevel-menu.service.d.ts | 3 + .../lib/multilevel-menu.service.d.ts.map | 2 +- ...ng-material-multilevel-menu.component.d.ts | 23 +- ...aterial-multilevel-menu.component.d.ts.map | 2 +- ...g-material-multilevel-menu.module.d.ts.map | 2 +- dist/ng-material-multilevel-menu/package.json | 2 +- e2e/.eslintrc.json | 37 + e2e/src/app.e2e-spec.ts | 16 +- e2e/src/app.po.ts | 12 +- package-lock.json | 7344 ++++++++++++----- package.json | 44 +- .../.eslintrc.json | 37 + .../ng-material-multilevel-menu/package.json | 2 +- .../src/lib/animation.ts | 37 +- .../src/lib/app.model.ts | 89 +- .../src/lib/common-utils.ts | 13 +- .../src/lib/constants.ts | 2 +- .../list-item-content.component.css | 2 +- .../list-item-content.component.html | 110 +- .../list-item-content.component.spec.ts | 31 +- .../list-item-content.component.ts | 106 +- .../lib/list-item/list-item.component.spec.ts | 31 +- .../src/lib/list-item/list-item.component.ts | 405 +- .../src/lib/materials.module.ts | 16 +- .../src/lib/multilevel-menu.service.spec.ts | 14 +- .../src/lib/multilevel-menu.service.ts | 140 +- ...ng-material-multilevel-menu.component.html | 33 +- ...material-multilevel-menu.component.spec.ts | 31 +- .../ng-material-multilevel-menu.component.ts | 435 +- .../lib/ng-material-multilevel-menu.module.ts | 14 +- .../ng-material-multilevel-menu/src/test.ts | 18 +- src/app/app-routing.module.ts | 35 +- src/app/app.component.spec.ts | 22 +- src/app/app.component.ts | 212 +- src/app/app.module.ts | 23 +- src/app/modules/materials.module.ts | 160 +- src/app/pages/home/home-routing.module.ts | 23 +- src/app/pages/home/home.component.css | 2 +- src/app/pages/home/home.component.html | 17 +- src/app/pages/home/home.component.spec.ts | 31 +- src/app/pages/home/home.component.ts | 17 +- src/app/pages/home/home.module.spec.ts | 14 +- src/app/pages/home/home.module.ts | 10 +- .../demo-five/demo-five-routing.module.ts | 25 +- .../demo-five/demo-five.component.css | 9 - .../demo-five/demo-five.component.html | 17 +- .../demo-five/demo-five.component.spec.ts | 31 +- .../demo-five/demo-five.component.ts | 124 +- .../demo-five/demo-five.module.spec.ts | 14 +- .../demo-five/demo-five.module.ts | 12 +- .../demo-four/demo-four-routing.module.ts | 26 +- .../demo-four/demo-four.component.css | 9 - .../demo-four/demo-four.component.html | 16 +- .../demo-four/demo-four.component.spec.ts | 31 +- .../demo-four/demo-four.component.ts | 122 +- .../demo-four/demo-four.module.spec.ts | 14 +- .../demo-four/demo-four.module.ts | 12 +- .../demo-one/demo-one-routing.module.ts | 25 +- .../demo-one/demo-one.component.css | 9 - .../demo-one/demo-one.component.html | 14 +- .../demo-one/demo-one.component.spec.ts | 31 +- .../demo-one/demo-one.component.ts | 115 +- .../demo-one/demo-one.module.spec.ts | 14 +- .../demo-one/demo-one.module.ts | 12 +- .../demo-six/demo-six-routing.module.ts | 54 +- .../demo-six/demo-six.component.html | 27 +- .../demo-six/demo-six.component.spec.ts | 39 +- .../demo-six/demo-six.component.ts | 65 +- .../demo-six/demo-six.module.ts | 12 +- .../version-one/version-one-routing.module.ts | 25 +- .../version-one/version-one.component.html | 63 +- .../version-one/version-one.component.spec.ts | 31 +- .../version-one/version-one.component.ts | 135 +- .../version-one/version-one.module.ts | 13 +- .../version-three-routing.module.ts | 25 +- .../version-three.component.html | 44 +- .../version-three.component.spec.ts | 31 +- .../version-three/version-three.component.ts | 79 +- .../version-three/version-three.module.ts | 13 +- .../version-two/version-two-routing.module.ts | 25 +- .../version-two/version-two.component.html | 47 +- .../version-two/version-two.component.spec.ts | 31 +- .../version-two/version-two.component.ts | 120 +- .../version-two/version-two.module.ts | 14 +- .../demo-three/demo-three-routing.module.ts | 25 +- .../demo-three/demo-three.component.html | 15 +- .../demo-three/demo-three.component.spec.ts | 31 +- .../demo-three/demo-three.component.ts | 130 +- .../demo-three/demo-three.module.spec.ts | 14 +- .../demo-three/demo-three.module.ts | 12 +- .../demo-two/demo-two-routing.module.ts | 25 +- .../demo-two/demo-two.component.css | 9 - .../demo-two/demo-two.component.html | 15 +- .../demo-two/demo-two.component.spec.ts | 31 +- .../demo-two/demo-two.component.ts | 130 +- .../demo-two/demo-two.module.spec.ts | 14 +- .../demo-two/demo-two.module.ts | 12 +- .../layout-variations-routing.module.ts | 67 +- .../layout-variations.component.spec.ts | 31 +- .../layout-variations.component.ts | 13 +- .../layout-variations.module.spec.ts | 14 +- .../layout-variations.module.ts | 11 +- .../switch-demo/switch-demo.component.css | 8 + .../switch-demo/switch-demo.component.html | 14 + .../switch-demo/switch-demo.component.spec.ts | 21 + .../switch-demo/switch-demo.component.ts | 13 + .../disable-padding-routing.module.ts | 25 +- .../disable-padding.component.css | 9 - .../disable-padding.component.html | 15 +- .../disable-padding.component.spec.ts | 31 +- .../disable-padding.component.ts | 120 +- .../disable-padding.module.spec.ts | 14 +- .../disable-padding/disable-padding.module.ts | 12 +- .../disable-routing-routing.module.ts | 25 +- .../disable-routing.component.css | 9 - .../disable-routing.component.html | 18 +- .../disable-routing.component.spec.ts | 31 +- .../disable-routing.component.ts | 13 +- .../disable-routing.module.spec.ts | 14 +- .../disable-routing/disable-routing.module.ts | 12 +- .../dont-emit/dont-emit-routing.module.ts | 25 +- .../dont-emit/dont-emit.component.css | 11 - .../dont-emit/dont-emit.component.html | 36 +- .../dont-emit/dont-emit.component.spec.ts | 31 +- .../dont-emit/dont-emit.component.ts | 15 +- .../dont-emit/dont-emit.module.ts | 12 +- .../expand-collapse-routing.module.ts | 25 +- .../expand-collapse.component.css | 9 - .../expand-collapse.component.html | 25 +- .../expand-collapse.component.spec.ts | 35 +- .../expand-collapse.component.ts | 114 +- .../expand-collapse/expand-collapse.module.ts | 19 +- .../more-configuration-routing.module.ts | 75 +- .../more-configuration.component.spec.ts | 31 +- .../more-configuration.component.ts | 13 +- .../more-configuration.module.spec.ts | 14 +- .../more-configuration.module.ts | 10 +- .../on-select/on-select-routing.module.ts | 25 +- .../on-select/on-select.component.css | 11 - .../on-select/on-select.component.html | 25 +- .../on-select/on-select.component.spec.ts | 31 +- .../on-select/on-select.component.ts | 17 +- .../on-select/on-select.module.ts | 11 +- .../select-by-id-routing.module.ts | 25 +- .../select-by-id/select-by-id.component.css | 9 - .../select-by-id/select-by-id.component.html | 26 +- .../select-by-id.component.spec.ts | 35 +- .../select-by-id/select-by-id.component.ts | 158 +- .../select-by-id/select-by-id.module.ts | 20 +- src/app/pages/pages-routing.module.ts | 57 +- src/app/pages/pages.component.spec.ts | 31 +- src/app/pages/pages.component.ts | 13 +- src/app/pages/pages.module.spec.ts | 14 +- src/app/pages/pages.module.ts | 9 +- src/environments/environment.prod.ts | 2 +- src/environments/environment.ts | 2 +- src/main.ts | 7 +- src/test.ts | 14 +- 182 files changed, 8941 insertions(+), 5416 deletions(-) create mode 100644 .eslintrc.json create mode 100644 .prettierignore create mode 100644 e2e/.eslintrc.json create mode 100644 projects/ng-material-multilevel-menu/.eslintrc.json create mode 100644 src/app/pages/layout-variations/switch-demo/switch-demo.component.css create mode 100644 src/app/pages/layout-variations/switch-demo/switch-demo.component.html create mode 100644 src/app/pages/layout-variations/switch-demo/switch-demo.component.spec.ts create mode 100644 src/app/pages/layout-variations/switch-demo/switch-demo.component.ts diff --git a/.eslintrc.json b/.eslintrc.json new file mode 100644 index 0000000..f28e735 --- /dev/null +++ b/.eslintrc.json @@ -0,0 +1,162 @@ +{ + "root": true, + "ignorePatterns": [ + "projects/**/*", + "src/polyfills.ts", + "src/app/generated/**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "parserOptions": { + "project": [ + "tsconfig.json" + ], + "createDefaultProgram": true + }, + "extends": [ + "plugin:@angular-eslint/recommended", + "plugin:@angular-eslint/template/process-inline-templates", + "eslint:recommended", + "plugin:@typescript-eslint/recommended", + "plugin:@typescript-eslint/recommended-requiring-type-checking", + "plugin:prettier/recommended" + ], + "plugins": [ + "eslint-plugin-rxjs", + "prettier" + ], + "rules": { + "no-prototype-builtins": "off", + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "pp", + "style": "kebab-case" + } + ], + "@angular-eslint/directive-class-suffix": "off", + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "pp", + "style": "camelCase" + } + ], + "@typescript-eslint/adjacent-overload-signatures": "off", + "@typescript-eslint/array-type": [ + "error", + { + "default": "array" + } + ], + "@typescript-eslint/consistent-type-definitions": "error", + "@typescript-eslint/dot-notation": "off", + "@typescript-eslint/explicit-member-accessibility": [ + "off", + { + "accessibility": "explicit" + } + ], + "@typescript-eslint/no-this-alias": "error", + "@typescript-eslint/no-var-requires": "error", + "@typescript-eslint/explicit-module-boundary-types": "off", + "@typescript-eslint/no-unsafe-member-access": "off", + "@typescript-eslint/no-explicit-any": "off", + "@typescript-eslint/no-unsafe-assignment": "off", + "@typescript-eslint/no-unsafe-return": "off", + "@typescript-eslint/no-unsafe-call": "off", + "@typescript-eslint/restrict-template-expressions": "off", + "@typescript-eslint/prefer-regexp-exec": "off", + "@typescript-eslint/unbound-method": "off", + "@typescript-eslint/no-empty-function": "off", + "arrow-parens": [ + "off", + "always" + ], + "brace-style": [ + "error", + "1tbs" + ], + "id-blacklist": "off", + "id-match": "off", + "import/no-extraneous-dependencies": "off", + "import/no-internal-modules": "off", + "linebreak-style": "off", + "max-classes-per-file": [ + "error", + 1 + ], + "max-len": [ + "error", + { + "code": 240 + } + ], + "new-parens": "off", + "newline-per-chained-call": "off", + "no-duplicate-case": "error", + "no-duplicate-imports": "error", + "no-extra-bind": "error", + "no-extra-semi": "off", + "no-irregular-whitespace": "off", + "no-new-func": "error", + "no-redeclare": "error", + "no-return-await": "error", + "no-sequences": "error", + "no-sparse-arrays": "error", + "no-template-curly-in-string": "error", + "no-underscore-dangle": "off", + "object-shorthand": "off", + "prefer-object-spread": "error", + "quote-props": "off", + "react/jsx-curly-spacing": "off", + "react/jsx-equals-spacing": "off", + "react/jsx-wrap-multilines": "off", + "rxjs/no-unsafe-takeuntil": "error", + "space-before-function-paren": "off", + "no-extra-boolean-cast": "off", + "no-empty": [ + "error", + { + "allowEmptyCatch": true + } + ], + "space-in-parens": [ + "off", + "never" + ], + "prettier/prettier": [ + "error", + { + "endOfLine": "auto" + } + ], + "curly": "warn", + "no-multiple-empty-lines": [ + "error", + { + "max": 2, + "maxEOF": 0 + } + ] + } + }, + { + "files": [ + "*.html" + ], + "extends": [ + "plugin:@angular-eslint/template/recommended" + ], + "rules": { + "@angular-eslint/template/banana-in-box": "off", + "@angular-eslint/template/no-negated-async": "off" + } + } + ] +} diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000..d83a25c --- /dev/null +++ b/.prettierignore @@ -0,0 +1,15 @@ +package.json +package-lock.json +dist +.angulardoc.json +.vscode/* +Dockerfile +Dockerfile-dev +tslint.json +tsconfig.json +README.md +proxy.conf.json +Jenkinsfile-stage +Jenkinsfile +*.html +*.mustache \ No newline at end of file diff --git a/angular.json b/angular.json index 25272c6..9c2d286 100644 --- a/angular.json +++ b/angular.json @@ -19,8 +19,13 @@ "main": "src/main.ts", "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.app.json", - "assets": ["src/favicon.ico", "src/assets"], - "styles": ["src/styles.css"], + "assets": [ + "src/favicon.ico", + "src/assets" + ], + "styles": [ + "src/styles.css" + ], "scripts": [] }, "configurations": { @@ -72,16 +77,23 @@ "polyfills": "src/polyfills.ts", "tsConfig": "src/tsconfig.spec.json", "karmaConfig": "src/karma.conf.js", - "styles": ["src/styles.css"], + "styles": [ + "src/styles.css" + ], "scripts": [], - "assets": ["src/favicon.ico", "src/assets"] + "assets": [ + "src/favicon.ico", + "src/assets" + ] } }, "lint": { - "builder": "@angular-devkit/build-angular:tslint", + "builder": "@angular-eslint/builder:lint", "options": { - "tsConfig": ["src/tsconfig.app.json", "src/tsconfig.spec.json"], - "exclude": ["**/node_modules/**"] + "lintFilePatterns": [ + "src/**/*.ts", + "src/**/*.html" + ] } } } @@ -98,10 +110,12 @@ } }, "lint": { - "builder": "@angular-devkit/build-angular:tslint", + "builder": "@angular-eslint/builder:lint", "options": { - "tsConfig": "e2e/tsconfig.e2e.json", - "exclude": ["**/node_modules/**"] + "lintFilePatterns": [ + "e2e//**/*.ts", + "e2e//**/*.html" + ] } } } @@ -134,13 +148,12 @@ } }, "lint": { - "builder": "@angular-devkit/build-angular:tslint", + "builder": "@angular-eslint/builder:lint", "options": { - "tsConfig": [ - "projects/ng-material-multilevel-menu/tsconfig.lib.json", - "projects/ng-material-multilevel-menu/tsconfig.spec.json" - ], - "exclude": ["**/node_modules/**"] + "lintFilePatterns": [ + "projects/ng-material-multilevel-menu/**/*.ts", + "projects/ng-material-multilevel-menu/**/*.html" + ] } } } diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/animation.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/animation.mjs index b83a965..da0bc24 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/animation.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/animation.mjs @@ -3,29 +3,23 @@ export const SlideInOut = trigger('SlideInOut', [ state('in', style({ height: '*', opacity: 0 })), transition(':leave', [ style({ height: '*', opacity: 0.2 }), - group([ - animate(200, style({ height: 0 })), - animate('200ms ease-out', style({ opacity: 0 })) - ]) + group([animate(200, style({ height: 0 })), animate('200ms ease-out', style({ opacity: 0 }))]), ]), transition(':enter', [ style({ height: '0', opacity: 0 }), - group([ - animate(200, style({ height: '*' })), - animate('400ms ease-out', style({ opacity: 1 })) - ]) - ]) + group([animate(200, style({ height: '*' })), animate('400ms ease-out', style({ opacity: 1 }))]), + ]), ]); export const ExpandedLTR = trigger('ExpandedLTR', [ state('no', style({ transform: 'rotate(-90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), + state('yes', style({ transform: 'rotate(0deg)' })), transition('no => yes', animate(200)), - transition('yes => no', animate(200)) + transition('yes => no', animate(200)), ]); export const ExpandedRTL = trigger('ExpandedRTL', [ state('no', style({ transform: 'rotate(90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), + state('yes', style({ transform: 'rotate(0deg)' })), transition('no => yes', animate(200)), - transition('yes => no', animate(200)) + transition('yes => no', animate(200)), ]); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFO0lBQzVDLEtBQUssQ0FDRCxJQUFJLEVBQ0osS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUNuQyxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLEtBQUssQ0FBQztZQUNOLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUM7WUFDbEMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLEtBQUssQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1NBQy9DLENBQUM7S0FDTCxDQUFDO0lBQ0YsVUFBVSxDQUFDLFFBQVEsRUFBRTtRQUNqQixLQUFLLENBQUMsRUFBRSxNQUFNLEVBQUUsR0FBRyxFQUFFLE9BQU8sRUFBRSxDQUFDLEVBQUUsQ0FBQztRQUNsQyxLQUFLLENBQUM7WUFDTixPQUFPLENBQUMsR0FBRyxFQUFFLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO1lBQ3BDLE9BQU8sQ0FBQyxnQkFBZ0IsRUFBRSxLQUFLLENBQUMsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztTQUMvQyxDQUFDO0tBQ0wsQ0FBQztDQUNMLENBQ0osQ0FBQztBQUVGLE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFO0lBQzlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGdCQUFnQixFQUFFLENBQUMsQ0FBQztJQUNuRCxLQUFLLENBQUMsS0FBSyxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxjQUFjLEdBQUcsQ0FBQyxDQUFDO0lBRW5ELFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3JDLFVBQVUsQ0FBQyxXQUFXLEVBQUUsT0FBTyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0NBQ3hDLENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLFdBQVcsR0FBRyxPQUFPLENBQUMsYUFBYSxFQUFFO0lBQzlDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGVBQWUsRUFBRSxDQUFDLENBQUM7SUFDbEQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxHQUFHLENBQUMsQ0FBQztJQUVuRCxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUN4QyxDQUFDLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBhbmltYXRlLCBncm91cCwgc3RhdGUsIHN0eWxlLCB0cmFuc2l0aW9uLCB0cmlnZ2VyIH0gZnJvbSAnQGFuZ3VsYXIvYW5pbWF0aW9ucyc7XHJcblxyXG5leHBvcnQgY29uc3QgU2xpZGVJbk91dCA9IHRyaWdnZXIoJ1NsaWRlSW5PdXQnLCBbXHJcbiAgICBzdGF0ZShcclxuICAgICAgICAnaW4nLFxyXG4gICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAnKicsIG9wYWNpdHk6IDAgfSkpLFxyXG4gICAgICAgIHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICAgICAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMC4yIH0pLFxyXG4gICAgICAgICAgICBncm91cChbXHJcbiAgICAgICAgICAgIGFuaW1hdGUoMjAwLCBzdHlsZSh7IGhlaWdodDogMCB9KSksXHJcbiAgICAgICAgICAgIGFuaW1hdGUoJzIwMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAwIH0pKVxyXG4gICAgICAgICAgICBdKVxyXG4gICAgICAgIF0pLFxyXG4gICAgICAgIHRyYW5zaXRpb24oJzplbnRlcicsIFtcclxuICAgICAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcwJywgb3BhY2l0eTogMCB9KSxcclxuICAgICAgICAgICAgZ3JvdXAoW1xyXG4gICAgICAgICAgICBhbmltYXRlKDIwMCwgc3R5bGUoeyBoZWlnaHQ6ICcqJyB9KSksXHJcbiAgICAgICAgICAgIGFuaW1hdGUoJzQwMG1zIGVhc2Utb3V0Jywgc3R5bGUoeyBvcGFjaXR5OiAxIH0pKVxyXG4gICAgICAgICAgICBdKVxyXG4gICAgICAgIF0pXHJcbiAgICBdXHJcbik7XHJcblxyXG5leHBvcnQgY29uc3QgRXhwYW5kZWRMVFIgPSB0cmlnZ2VyKCdFeHBhbmRlZExUUicsIFtcclxuICAgIHN0YXRlKCdubycsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKC05MGRlZyknIH0pKSxcclxuICAgIHN0YXRlKCd5ZXMnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKScsIH0pKSxcclxuXHJcbiAgICB0cmFuc2l0aW9uKCdubyA9PiB5ZXMnLCBhbmltYXRlKDIwMCkpLFxyXG4gICAgdHJhbnNpdGlvbigneWVzID0+IG5vJywgYW5pbWF0ZSgyMDApKVxyXG5dKTtcclxuXHJcbmV4cG9ydCBjb25zdCBFeHBhbmRlZFJUTCA9IHRyaWdnZXIoJ0V4cGFuZGVkUlRMJywgW1xyXG4gICAgc3RhdGUoJ25vJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJyB9KSksXHJcbiAgICBzdGF0ZSgneWVzJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknLCB9KSksXHJcblxyXG4gICAgdHJhbnNpdGlvbignbm8gPT4geWVzJywgYW5pbWF0ZSgyMDApKSxcclxuICAgIHRyYW5zaXRpb24oJ3llcyA9PiBubycsIGFuaW1hdGUoMjAwKSlcclxuXSk7XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5pbWF0aW9uLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvYW5pbWF0aW9uLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsS0FBSyxFQUFFLEtBQUssRUFBRSxLQUFLLEVBQUUsVUFBVSxFQUFFLE9BQU8sRUFBRSxNQUFNLHFCQUFxQixDQUFDO0FBRXhGLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxPQUFPLENBQUMsWUFBWSxFQUFFO0lBQzVDLEtBQUssQ0FBQyxJQUFJLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxPQUFPLEVBQUUsQ0FBQyxFQUFFLENBQUMsQ0FBQztJQUMvQyxVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLEdBQUcsRUFBRSxDQUFDO1FBQ3BDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2hHLENBQUM7SUFDRixVQUFVLENBQUMsUUFBUSxFQUFFO1FBQ2pCLEtBQUssQ0FBQyxFQUFFLE1BQU0sRUFBRSxHQUFHLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDO1FBQ2xDLEtBQUssQ0FBQyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsS0FBSyxDQUFDLEVBQUUsTUFBTSxFQUFFLEdBQUcsRUFBRSxDQUFDLENBQUMsRUFBRSxPQUFPLENBQUMsZ0JBQWdCLEVBQUUsS0FBSyxDQUFDLEVBQUUsT0FBTyxFQUFFLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFDO0tBQ2xHLENBQUM7Q0FDTCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRTtJQUM5QyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxnQkFBZ0IsRUFBRSxDQUFDLENBQUM7SUFDbkQsS0FBSyxDQUFDLEtBQUssRUFBRSxLQUFLLENBQUMsRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFLENBQUMsQ0FBQztJQUVsRCxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUNyQyxVQUFVLENBQUMsV0FBVyxFQUFFLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQztDQUN4QyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxXQUFXLEdBQUcsT0FBTyxDQUFDLGFBQWEsRUFBRTtJQUM5QyxLQUFLLENBQUMsSUFBSSxFQUFFLEtBQUssQ0FBQyxFQUFFLFNBQVMsRUFBRSxlQUFlLEVBQUUsQ0FBQyxDQUFDO0lBQ2xELEtBQUssQ0FBQyxLQUFLLEVBQUUsS0FBSyxDQUFDLEVBQUUsU0FBUyxFQUFFLGNBQWMsRUFBRSxDQUFDLENBQUM7SUFFbEQsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7SUFDckMsVUFBVSxDQUFDLFdBQVcsRUFBRSxPQUFPLENBQUMsR0FBRyxDQUFDLENBQUM7Q0FDeEMsQ0FBQyxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgYW5pbWF0ZSwgZ3JvdXAsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgdHJpZ2dlciB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5cclxuZXhwb3J0IGNvbnN0IFNsaWRlSW5PdXQgPSB0cmlnZ2VyKCdTbGlkZUluT3V0JywgW1xyXG4gICAgc3RhdGUoJ2luJywgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMCB9KSksXHJcbiAgICB0cmFuc2l0aW9uKCc6bGVhdmUnLCBbXHJcbiAgICAgICAgc3R5bGUoeyBoZWlnaHQ6ICcqJywgb3BhY2l0eTogMC4yIH0pLFxyXG4gICAgICAgIGdyb3VwKFthbmltYXRlKDIwMCwgc3R5bGUoeyBoZWlnaHQ6IDAgfSkpLCBhbmltYXRlKCcyMDBtcyBlYXNlLW91dCcsIHN0eWxlKHsgb3BhY2l0eTogMCB9KSldKSxcclxuICAgIF0pLFxyXG4gICAgdHJhbnNpdGlvbignOmVudGVyJywgW1xyXG4gICAgICAgIHN0eWxlKHsgaGVpZ2h0OiAnMCcsIG9wYWNpdHk6IDAgfSksXHJcbiAgICAgICAgZ3JvdXAoW2FuaW1hdGUoMjAwLCBzdHlsZSh7IGhlaWdodDogJyonIH0pKSwgYW5pbWF0ZSgnNDAwbXMgZWFzZS1vdXQnLCBzdHlsZSh7IG9wYWNpdHk6IDEgfSkpXSksXHJcbiAgICBdKSxcclxuXSk7XHJcblxyXG5leHBvcnQgY29uc3QgRXhwYW5kZWRMVFIgPSB0cmlnZ2VyKCdFeHBhbmRlZExUUicsIFtcclxuICAgIHN0YXRlKCdubycsIHN0eWxlKHsgdHJhbnNmb3JtOiAncm90YXRlKC05MGRlZyknIH0pKSxcclxuICAgIHN0YXRlKCd5ZXMnLCBzdHlsZSh7IHRyYW5zZm9ybTogJ3JvdGF0ZSgwZGVnKScgfSkpLFxyXG5cclxuICAgIHRyYW5zaXRpb24oJ25vID0+IHllcycsIGFuaW1hdGUoMjAwKSksXHJcbiAgICB0cmFuc2l0aW9uKCd5ZXMgPT4gbm8nLCBhbmltYXRlKDIwMCkpLFxyXG5dKTtcclxuXHJcbmV4cG9ydCBjb25zdCBFeHBhbmRlZFJUTCA9IHRyaWdnZXIoJ0V4cGFuZGVkUlRMJywgW1xyXG4gICAgc3RhdGUoJ25vJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoOTBkZWcpJyB9KSksXHJcbiAgICBzdGF0ZSgneWVzJywgc3R5bGUoeyB0cmFuc2Zvcm06ICdyb3RhdGUoMGRlZyknIH0pKSxcclxuXHJcbiAgICB0cmFuc2l0aW9uKCdubyA9PiB5ZXMnLCBhbmltYXRlKDIwMCkpLFxyXG4gICAgdHJhbnNpdGlvbigneWVzID0+IG5vJywgYW5pbWF0ZSgyMDApKSxcclxuXSk7XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs index 94fb8e9..846a02a 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/app.model.mjs @@ -4,4 +4,4 @@ export var ExpandCollapseStatusEnum; ExpandCollapseStatusEnum["collapse"] = "collapse"; ExpandCollapseStatusEnum["neutral"] = "neutral"; })(ExpandCollapseStatusEnum || (ExpandCollapseStatusEnum = {})); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvYXBwLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQXVEQSxNQUFNLENBQU4sSUFBWSx3QkFJWDtBQUpELFdBQVksd0JBQXdCO0lBQ2xDLDZDQUFpQixDQUFBO0lBQ2pCLGlEQUFxQixDQUFBO0lBQ3JCLCtDQUFtQixDQUFBO0FBQ3JCLENBQUMsRUFKVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBSW5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkV4dHJhcyB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgTXVsdGlsZXZlbE5vZGUge1xyXG4gIGlkPzogc3RyaW5nO1xyXG4gIGxhYmVsOiBzdHJpbmc7XHJcbiAgZmFJY29uPzogc3RyaW5nO1xyXG4gIGljb24/OiBzdHJpbmc7XHJcbiAgaW1hZ2VJY29uPzogc3RyaW5nO1xyXG4gIHN2Z0ljb24/OiBzdHJpbmc7XHJcbiAgYWN0aXZlRmFJY29uPzogc3RyaW5nO1xyXG4gIGFjdGl2ZUljb24/OiBzdHJpbmc7XHJcbiAgYWN0aXZlSW1hZ2VJY29uPzogc3RyaW5nO1xyXG4gIGFjdGl2ZVN2Z0ljb24/OiBzdHJpbmc7XHJcbiAgaGlkZGVuPzogYm9vbGVhbjtcclxuICBsaW5rPzogc3RyaW5nO1xyXG4gIGV4dGVybmFsUmVkaXJlY3Q/OiBib29sZWFuO1xyXG4gIGhyZWZUYXJnZXRUeXBlPzogc3RyaW5nO1xyXG4gIGRhdGE/OiBhbnk7XHJcbiAgaXRlbXM/OiBNdWx0aWxldmVsTm9kZVtdO1xyXG4gIG9uU2VsZWN0ZWQ/OiBGdW5jdGlvbjtcclxuICBkaXNhYmxlZD86IGJvb2xlYW47XHJcbiAgZXhwYW5kZWQ/OiBib29sZWFuO1xyXG4gIG5hdmlnYXRpb25FeHRyYXM/OiBOYXZpZ2F0aW9uRXh0cmFzO1xyXG4gIGRvbnRFbWl0PzogYm9vbGVhbjtcclxuICBoYXNDaGlsZHJlbj86IGJvb2xlYW47XHJcbiAgaXNTZWxlY3RlZD86IGJvb2xlYW47XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29uZmlndXJhdGlvbiB7XHJcbiAgY2xhc3NuYW1lPzogc3RyaW5nO1xyXG4gIHBhZGRpbmdBdFN0YXJ0PzogYm9vbGVhbjtcclxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgbGlzdEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICBmb250Q29sb3I/OiBzdHJpbmc7XHJcbiAgc2VsZWN0ZWRMaXN0Rm9udENvbG9yPzogc3RyaW5nO1xyXG4gIGludGVyZmFjZVdpdGhSb3V0ZT86IGJvb2xlYW47XHJcbiAgY29sbGFwc2VPblNlbGVjdD86IGJvb2xlYW47XHJcbiAgaGlnaGxpZ2h0T25TZWxlY3Q/OiBib29sZWFuO1xyXG4gIHVzZURpdmlkZXJzPzogYm9vbGVhbjtcclxuICBydGxMYXlvdXQ/OiBib29sZWFuO1xyXG4gIGN1c3RvbVRlbXBsYXRlPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBCYWNrZ3JvdW5kU3R5bGUge1xyXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xyXG59XHJcbmV4cG9ydCBpbnRlcmZhY2UgQ29sb3JTdHlsZSB7XHJcbiAgY29sb3I6IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBMaXN0U3R5bGUge1xyXG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xyXG4gIGNvbG9yOiBzdHJpbmc7XHJcbn1cclxuXHJcbmV4cG9ydCBlbnVtIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB7XHJcbiAgZXhwYW5kID0gXCJleHBhbmRcIixcclxuICBjb2xsYXBzZSA9IFwiY29sbGFwc2VcIixcclxuICBuZXV0cmFsID0gXCJuZXV0cmFsXCIsXHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLm1vZGVsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvYXBwLm1vZGVsLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQWdEQSxNQUFNLENBQU4sSUFBWSx3QkFJWDtBQUpELFdBQVksd0JBQXdCO0lBQ2hDLDZDQUFpQixDQUFBO0lBQ2pCLGlEQUFxQixDQUFBO0lBQ3JCLCtDQUFtQixDQUFBO0FBQ3ZCLENBQUMsRUFKVyx3QkFBd0IsS0FBeEIsd0JBQXdCLFFBSW5DIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTmF2aWdhdGlvbkV4dHJhcyB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIE11bHRpbGV2ZWxOb2RlIHtcclxuICAgIGlkPzogc3RyaW5nO1xyXG4gICAgbGFiZWw6IHN0cmluZztcclxuICAgIGZhSWNvbj86IHN0cmluZztcclxuICAgIGljb24/OiBzdHJpbmc7XHJcbiAgICBpbWFnZUljb24/OiBzdHJpbmc7XHJcbiAgICBzdmdJY29uPzogc3RyaW5nO1xyXG4gICAgYWN0aXZlRmFJY29uPzogc3RyaW5nO1xyXG4gICAgYWN0aXZlSWNvbj86IHN0cmluZztcclxuICAgIGFjdGl2ZUltYWdlSWNvbj86IHN0cmluZztcclxuICAgIGFjdGl2ZVN2Z0ljb24/OiBzdHJpbmc7XHJcbiAgICBoaWRkZW4/OiBib29sZWFuO1xyXG4gICAgbGluaz86IHN0cmluZztcclxuICAgIGV4dGVybmFsUmVkaXJlY3Q/OiBib29sZWFuO1xyXG4gICAgaHJlZlRhcmdldFR5cGU/OiBzdHJpbmc7XHJcbiAgICBkYXRhPzogYW55O1xyXG4gICAgaXRlbXM/OiBNdWx0aWxldmVsTm9kZVtdO1xyXG4gICAgb25TZWxlY3RlZD86IEZ1bmN0aW9uO1xyXG4gICAgZGlzYWJsZWQ/OiBib29sZWFuO1xyXG4gICAgZXhwYW5kZWQ/OiBib29sZWFuO1xyXG4gICAgbmF2aWdhdGlvbkV4dHJhcz86IE5hdmlnYXRpb25FeHRyYXM7XHJcbiAgICBkb250RW1pdD86IGJvb2xlYW47XHJcbiAgICBoYXNDaGlsZHJlbj86IGJvb2xlYW47XHJcbiAgICBpc1NlbGVjdGVkPzogYm9vbGVhbjtcclxufVxyXG5cclxuZXhwb3J0IGludGVyZmFjZSBDb25maWd1cmF0aW9uIHtcclxuICAgIGNsYXNzbmFtZT86IHN0cmluZztcclxuICAgIHBhZGRpbmdBdFN0YXJ0PzogYm9vbGVhbjtcclxuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcclxuICAgIGxpc3RCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgICBmb250Q29sb3I/OiBzdHJpbmc7XHJcbiAgICBzZWxlY3RlZExpc3RGb250Q29sb3I/OiBzdHJpbmc7XHJcbiAgICBpbnRlcmZhY2VXaXRoUm91dGU/OiBib29sZWFuO1xyXG4gICAgY29sbGFwc2VPblNlbGVjdD86IGJvb2xlYW47XHJcbiAgICBoaWdobGlnaHRPblNlbGVjdD86IGJvb2xlYW47XHJcbiAgICB1c2VEaXZpZGVycz86IGJvb2xlYW47XHJcbiAgICBydGxMYXlvdXQ/OiBib29sZWFuO1xyXG4gICAgY3VzdG9tVGVtcGxhdGU/OiBib29sZWFuO1xyXG59XHJcblxyXG5leHBvcnQgaW50ZXJmYWNlIExpc3RTdHlsZSB7XHJcbiAgICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XHJcbiAgICBjb2xvcj86IHN0cmluZztcclxufVxyXG5cclxuZXhwb3J0IGVudW0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtIHtcclxuICAgIGV4cGFuZCA9ICdleHBhbmQnLFxyXG4gICAgY29sbGFwc2UgPSAnY29sbGFwc2UnLFxyXG4gICAgbmV1dHJhbCA9ICduZXV0cmFsJyxcclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/common-utils.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/common-utils.mjs index 666265a..e0d39f7 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/common-utils.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/common-utils.mjs @@ -7,4 +7,4 @@ class CommonUtils { }; } export { CommonUtils }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvY29tbW9uLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQWEsV0FBVztJQUV0QixNQUFNLENBQUMsd0JBQXdCLEdBQUcsVUFBVSxNQUFXO1FBQ3JELE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sS0FBSyxFQUFFLENBQUM7SUFDaEUsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsTUFBVztRQUM5QyxPQUFPLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLFNBQVMsQ0FBQztJQUNqRCxDQUFDLENBQUM7O1NBUlMsV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb21tb25VdGlscyB7XHJcblxyXG4gIHN0YXRpYyBpc051bGxPclVuZGVmaW5lZE9yRW1wdHkgPSBmdW5jdGlvbiAob2JqZWN0OiBhbnkpOiBib29sZWFuIHtcclxuICAgIHJldHVybiBDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChvYmplY3QpIHx8IG9iamVjdCA9PT0gJyc7XHJcbiAgfTtcclxuXHJcbiAgc3RhdGljIGlzTnVsbE9yVW5kZWZpbmVkID0gZnVuY3Rpb24gKG9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gb2JqZWN0ID09PSBudWxsIHx8IG9iamVjdCA9PT0gdW5kZWZpbmVkO1xyXG4gIH07XHJcbn1cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tbW9uLXV0aWxzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvY29tbW9uLXV0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQWEsV0FBVztJQUNwQixNQUFNLENBQUMsd0JBQXdCLEdBQUcsVUFBVSxNQUFXO1FBQ25ELE9BQU8sV0FBVyxDQUFDLGlCQUFpQixDQUFDLE1BQU0sQ0FBQyxJQUFJLE1BQU0sS0FBSyxFQUFFLENBQUM7SUFDbEUsQ0FBQyxDQUFDO0lBRUYsTUFBTSxDQUFDLGlCQUFpQixHQUFHLFVBQVUsTUFBVztRQUM1QyxPQUFPLE1BQU0sS0FBSyxJQUFJLElBQUksTUFBTSxLQUFLLFNBQVMsQ0FBQztJQUNuRCxDQUFDLENBQUM7O1NBUE8sV0FBVyIsInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBjbGFzcyBDb21tb25VdGlscyB7XHJcbiAgICBzdGF0aWMgaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5ID0gZnVuY3Rpb24gKG9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIENvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKG9iamVjdCkgfHwgb2JqZWN0ID09PSAnJztcclxuICAgIH07XHJcblxyXG4gICAgc3RhdGljIGlzTnVsbE9yVW5kZWZpbmVkID0gZnVuY3Rpb24gKG9iamVjdDogYW55KTogYm9vbGVhbiB7XHJcbiAgICAgICAgcmV0dXJuIG9iamVjdCA9PT0gbnVsbCB8fCBvYmplY3QgPT09IHVuZGVmaW5lZDtcclxuICAgIH07XHJcbn1cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/constants.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/constants.mjs index 2301568..bfb73fb 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/constants.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/constants.mjs @@ -14,6 +14,6 @@ export const CONSTANT = { ERROR_MESSAGE: `Invalid data for material Multilevel List Component`, POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', YES: 'yes', - NO: 'no' + NO: 'no', }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyx1QkFBdUIsRUFBRSxXQUFXO0lBQ3BDLHdCQUF3QixFQUFFLG9CQUFvQjtJQUM5QyxzQkFBc0IsRUFBRSxrQkFBa0I7SUFDMUMsd0JBQXdCLEVBQUUsb0JBQW9CO0lBQzlDLHVCQUF1QixFQUFFLGNBQWM7SUFDdkMsMkJBQTJCLEVBQUUsa0JBQWtCO0lBQy9DLDJCQUEyQixFQUFFLFNBQVM7SUFDdEMsNkJBQTZCLEVBQUUsYUFBYTtJQUM1Qyx1QkFBdUIsRUFBRSxpQkFBaUI7SUFDMUMsd0JBQXdCLEVBQUUsT0FBTztJQUNqQyxhQUFhLEVBQUUscURBQXFEO0lBQ3BFLFFBQVEsRUFBRSxnRUFBZ0U7SUFDMUUsR0FBRyxFQUFFLEtBQUs7SUFDVixFQUFFLEVBQUUsSUFBSTtDQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09OU1RBTlQgPSB7XHJcbiAgICBQQURESU5HX0FUX1NUQVJUOiB0cnVlLFxyXG4gICAgREVGQVVMVF9DTEFTU19OQU1FOiBgYW1tbC1jb250YWluZXJgLFxyXG4gICAgREVGQVVMVF9MSVNUX0NMQVNTX05BTUU6IGBhbW1sLWl0ZW1gLFxyXG4gICAgU0VMRUNURURfTElTVF9DTEFTU19OQU1FOiBgc2VsZWN0ZWQtYW1tbC1pdGVtYCxcclxuICAgIEFDVElWRV9JVEVNX0NMQVNTX05BTUU6IGBhY3RpdmUtYW1tbC1pdGVtYCxcclxuICAgIERJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRTogYGRpc2FibGVkLWFtbWwtaXRlbWAsXHJcbiAgICBTVUJNRU5VX0lURU1fQ0xBU1NfTkFNRTogYGFtbWwtc3VibWVudWAsXHJcbiAgICBIQVNfU1VCTUVOVV9JVEVNX0NMQVNTX05BTUU6IGBoYXMtYW1tbC1zdWJtZW51YCxcclxuICAgIERFRkFVTFRfU0VMRUNURURfRk9OVF9DT0xPUjogYCMxOTc2ZDJgLFxyXG4gICAgREVGQVVMVF9MSVNUX0JBQ0tHUk9VTkRfQ09MT1I6IGB0cmFuc3BhcmVudGAsXHJcbiAgICBERUZBVUxUX0xJU1RfRk9OVF9DT0xPUjogYHJnYmEoMCwwLDAsLjg3KWAsXHJcbiAgICBERUZBVUxUX0hSRUZfVEFSR0VUX1RZUEU6ICdfc2VsZicsXHJcbiAgICBFUlJPUl9NRVNTQUdFOiBgSW52YWxpZCBkYXRhIGZvciBtYXRlcmlhbCBNdWx0aWxldmVsIExpc3QgQ29tcG9uZW50YCxcclxuICAgIFBPU1NJQkxFOiAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknLFxyXG4gICAgWUVTOiAneWVzJyxcclxuICAgIE5POiAnbm8nXHJcbn07XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uc3RhbnRzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvY29uc3RhbnRzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE1BQU0sQ0FBQyxNQUFNLFFBQVEsR0FBRztJQUNwQixnQkFBZ0IsRUFBRSxJQUFJO0lBQ3RCLGtCQUFrQixFQUFFLGdCQUFnQjtJQUNwQyx1QkFBdUIsRUFBRSxXQUFXO0lBQ3BDLHdCQUF3QixFQUFFLG9CQUFvQjtJQUM5QyxzQkFBc0IsRUFBRSxrQkFBa0I7SUFDMUMsd0JBQXdCLEVBQUUsb0JBQW9CO0lBQzlDLHVCQUF1QixFQUFFLGNBQWM7SUFDdkMsMkJBQTJCLEVBQUUsa0JBQWtCO0lBQy9DLDJCQUEyQixFQUFFLFNBQVM7SUFDdEMsNkJBQTZCLEVBQUUsYUFBYTtJQUM1Qyx1QkFBdUIsRUFBRSxpQkFBaUI7SUFDMUMsd0JBQXdCLEVBQUUsT0FBTztJQUNqQyxhQUFhLEVBQUUscURBQXFEO0lBQ3BFLFFBQVEsRUFBRSxnRUFBZ0U7SUFDMUUsR0FBRyxFQUFFLEtBQUs7SUFDVixFQUFFLEVBQUUsSUFBSTtDQUNYLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY29uc3QgQ09OU1RBTlQgPSB7XHJcbiAgICBQQURESU5HX0FUX1NUQVJUOiB0cnVlLFxyXG4gICAgREVGQVVMVF9DTEFTU19OQU1FOiBgYW1tbC1jb250YWluZXJgLFxyXG4gICAgREVGQVVMVF9MSVNUX0NMQVNTX05BTUU6IGBhbW1sLWl0ZW1gLFxyXG4gICAgU0VMRUNURURfTElTVF9DTEFTU19OQU1FOiBgc2VsZWN0ZWQtYW1tbC1pdGVtYCxcclxuICAgIEFDVElWRV9JVEVNX0NMQVNTX05BTUU6IGBhY3RpdmUtYW1tbC1pdGVtYCxcclxuICAgIERJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRTogYGRpc2FibGVkLWFtbWwtaXRlbWAsXHJcbiAgICBTVUJNRU5VX0lURU1fQ0xBU1NfTkFNRTogYGFtbWwtc3VibWVudWAsXHJcbiAgICBIQVNfU1VCTUVOVV9JVEVNX0NMQVNTX05BTUU6IGBoYXMtYW1tbC1zdWJtZW51YCxcclxuICAgIERFRkFVTFRfU0VMRUNURURfRk9OVF9DT0xPUjogYCMxOTc2ZDJgLFxyXG4gICAgREVGQVVMVF9MSVNUX0JBQ0tHUk9VTkRfQ09MT1I6IGB0cmFuc3BhcmVudGAsXHJcbiAgICBERUZBVUxUX0xJU1RfRk9OVF9DT0xPUjogYHJnYmEoMCwwLDAsLjg3KWAsXHJcbiAgICBERUZBVUxUX0hSRUZfVEFSR0VUX1RZUEU6ICdfc2VsZicsXHJcbiAgICBFUlJPUl9NRVNTQUdFOiBgSW52YWxpZCBkYXRhIGZvciBtYXRlcmlhbCBNdWx0aWxldmVsIExpc3QgQ29tcG9uZW50YCxcclxuICAgIFBPU1NJQkxFOiAnQUJDREVGR0hJSktMTU5PUFFSU1RVVldYWVphYmNkZWZnaGlqa2xtbm9wcXJzdHV2d3h5ejAxMjM0NTY3ODknLFxyXG4gICAgWUVTOiAneWVzJyxcclxuICAgIE5POiAnbm8nLFxyXG59O1xyXG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs index c84e83a..4a758ee 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item-content/list-item-content.component.mjs @@ -1,7 +1,7 @@ -import { Component, Input } from "@angular/core"; -import { ExpandedLTR, ExpandedRTL } from "../../animation"; -import { CommonUtils } from "../../common-utils"; -import { CONSTANT } from "../../constants"; +import { Component, Input } from '@angular/core'; +import { ExpandedLTR, ExpandedRTL } from '../../animation'; +import { CommonUtils } from '../../common-utils'; +import { CONSTANT } from '../../constants'; import * as i0 from "@angular/core"; import * as i1 from "@angular/common"; import * as i2 from "@angular/material/icon"; @@ -10,67 +10,49 @@ import * as i4 from "@angular/router"; class ListItemContentComponent { node; isRtlLayout; - constructor() { - // NOOP - } - ngOnInit() { - // NOOP - } getListIcon(node) { if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) { return `icon`; } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { return `faIcon`; } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { return `imageIcon`; } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { return `svgIcon`; } - else { - return ``; - } + return ``; } getHrefTargetType() { - return this.node.hrefTargetType - ? this.node.hrefTargetType - : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; } getSelectedSvgIcon() { - return this.node.isSelected && this.node.activeSvgIcon - ? this.node.activeSvgIcon - : this.node.svgIcon; + return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; } getSelectedIcon() { - return this.node.isSelected && this.node.activeIcon - ? this.node.activeIcon - : this.node.icon; + return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; } getSelectedFaIcon() { - return this.node.isSelected && this.node.activeFaIcon - ? this.node.activeFaIcon - : this.node.faIcon; + return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; } getSelectedImageIcon() { - return this.node.isSelected && this.node.activeImageIcon - ? this.node.activeImageIcon - : this.node.imageIcon; + return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; } nodeExpandStatus() { return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); - static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: { node: "node", isRtlLayout: "isRtlLayout" }, ngImport: i0, template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], animations: [ExpandedLTR, ExpandedRTL] }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: { node: "node", isRtlLayout: "isRtlLayout" }, ngImport: i0, template: "\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \r\n \r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i1.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i1.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i1.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i3.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i4.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], animations: [ExpandedLTR, ExpandedRTL] }); } export { ListItemContentComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, decorators: [{ type: Component, - args: [{ selector: "ng-list-item-content", animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] - }], ctorParameters: function () { return []; }, propDecorators: { node: [{ + args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \r\n \r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] + }], propDecorators: { node: [{ type: Input }], isRtlLayout: [{ type: Input }] } }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0tY29udGVudC9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUV6RCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUUzQyxNQU1hLHdCQUF3QjtJQUMxQixJQUFJLENBQWlCO0lBQ3JCLFdBQVcsQ0FBVTtJQUU5QjtRQUNFLE9BQU87SUFDVCxDQUFDO0lBRUQsUUFBUTtRQUNOLE9BQU87SUFDVCxDQUFDO0lBRUQsV0FBVyxDQUFDLElBQW9CO1FBQzlCLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQ3BELE9BQU8sTUFBTSxDQUFDO1NBQ2Y7YUFBTSxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUM3RCxPQUFPLFFBQVEsQ0FBQztTQUNqQjthQUFNLElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ2hFLE9BQU8sV0FBVyxDQUFDO1NBQ3BCO2FBQU0sSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDOUQsT0FBTyxTQUFTLENBQUM7U0FDbEI7YUFBTTtZQUNMLE9BQU8sRUFBRSxDQUFDO1NBQ1g7SUFDSCxDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWM7WUFDN0IsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYztZQUMxQixDQUFDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDO0lBQ3hDLENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWE7WUFDcEQsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYTtZQUN6QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDeEIsQ0FBQztJQUVELGVBQWU7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVTtZQUNqRCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVO1lBQ3RCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQztJQUNyQixDQUFDO0lBRUQsaUJBQWlCO1FBQ2YsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsSUFBSSxJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVk7WUFDbkQsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWTtZQUN4QixDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUM7SUFDdkIsQ0FBQztJQUVELG9CQUFvQjtRQUNsQixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZTtZQUN0RCxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlO1lBQzNCLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMxQixDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUN6RCxDQUFDO3VHQTFEVSx3QkFBd0I7MkZBQXhCLHdCQUF3QixrSENackMsczJFQXlEQSxndUREL0NjLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQzs7U0FFM0Isd0JBQXdCOzJGQUF4Qix3QkFBd0I7a0JBTnBDLFNBQVM7K0JBQ0Usc0JBQXNCLGNBR3BCLENBQUMsV0FBVyxFQUFFLFdBQVcsQ0FBQzswRUFHN0IsSUFBSTtzQkFBWixLQUFLO2dCQUNHLFdBQVc7c0JBQW5CLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIElucHV0LCBPbkluaXQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTm9kZSB9IGZyb20gXCIuLi8uLi9hcHAubW9kZWxcIjtcclxuaW1wb3J0IHsgRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMIH0gZnJvbSBcIi4uLy4uL2FuaW1hdGlvblwiO1xyXG5pbXBvcnQgeyBDb21tb25VdGlscyB9IGZyb20gXCIuLi8uLi9jb21tb24tdXRpbHNcIjtcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tIFwiLi4vLi4vY29uc3RhbnRzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJuZy1saXN0LWl0ZW0tY29udGVudFwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybHM6IFtcIi4vbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmNzc1wiXSxcclxuICBhbmltYXRpb25zOiBbRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RJdGVtQ29udGVudENvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgbm9kZTogTXVsdGlsZXZlbE5vZGU7XHJcbiAgQElucHV0KCkgaXNSdGxMYXlvdXQ6IGJvb2xlYW47XHJcblxyXG4gIGNvbnN0cnVjdG9yKCkge1xyXG4gICAgLy8gTk9PUFxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICAvLyBOT09QXHJcbiAgfVxyXG5cclxuICBnZXRMaXN0SWNvbihub2RlOiBNdWx0aWxldmVsTm9kZSk6IHN0cmluZyB7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmljb24pKSB7XHJcbiAgICAgIHJldHVybiBgaWNvbmA7XHJcbiAgICB9IGVsc2UgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkobm9kZS5mYUljb24pKSB7XHJcbiAgICAgIHJldHVybiBgZmFJY29uYDtcclxuICAgIH0gZWxzZSBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmltYWdlSWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBpbWFnZUljb25gO1xyXG4gICAgfSBlbHNlIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuc3ZnSWNvbikpIHtcclxuICAgICAgcmV0dXJuIGBzdmdJY29uYDtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHJldHVybiBgYDtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEhyZWZUYXJnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmhyZWZUYXJnZXRUeXBlXHJcbiAgICAgID8gdGhpcy5ub2RlLmhyZWZUYXJnZXRUeXBlXHJcbiAgICAgIDogQ09OU1RBTlQuREVGQVVMVF9IUkVGX1RBUkdFVF9UWVBFO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRTdmdJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZVN2Z0ljb25cclxuICAgICAgPyB0aGlzLm5vZGUuYWN0aXZlU3ZnSWNvblxyXG4gICAgICA6IHRoaXMubm9kZS5zdmdJY29uO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRJY29uKCk6IHN0cmluZyB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZUljb25cclxuICAgICAgPyB0aGlzLm5vZGUuYWN0aXZlSWNvblxyXG4gICAgICA6IHRoaXMubm9kZS5pY29uO1xyXG4gIH1cclxuXHJcbiAgZ2V0U2VsZWN0ZWRGYUljb24oKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlRmFJY29uXHJcbiAgICAgID8gdGhpcy5ub2RlLmFjdGl2ZUZhSWNvblxyXG4gICAgICA6IHRoaXMubm9kZS5mYUljb247XHJcbiAgfVxyXG5cclxuICBnZXRTZWxlY3RlZEltYWdlSWNvbigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZS5pc1NlbGVjdGVkICYmIHRoaXMubm9kZS5hY3RpdmVJbWFnZUljb25cclxuICAgICAgPyB0aGlzLm5vZGUuYWN0aXZlSW1hZ2VJY29uXHJcbiAgICAgIDogdGhpcy5ub2RlLmltYWdlSWNvbjtcclxuICB9XHJcblxyXG4gIG5vZGVFeHBhbmRTdGF0dXMoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLm5vZGUuZXhwYW5kZWQgPyBDT05TVEFOVC5ZRVMgOiBDT05TVEFOVC5OTztcclxuICB9XHJcbn1cclxuIiwiPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGUuZXh0ZXJuYWxSZWRpcmVjdCA/IHJlZGlyZWN0TGlua1RlbXBsYXRlIDogcm91dGVyTGlua1RlbXBsYXRlXCI+PC9uZy1jb250YWluZXI+XHJcblxyXG48bmctdGVtcGxhdGUgI3JlZGlyZWN0TGlua1RlbXBsYXRlPlxyXG4gIDxhIGNsYXNzPVwiYW5tbC1saW5rXCIgW2hyZWZdPVwibm9kZS5saW5rXCIgW3RhcmdldF09XCJnZXRIcmVmVGFyZ2V0VHlwZSgpXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXNSdGxMYXlvdXQgPyBsaW5rTGFiZWxSdGxPdXRsZXQgOiBsaW5rTGFiZWxMdHJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cclxuICA8L2E+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI3JvdXRlckxpbmtUZW1wbGF0ZT5cclxuICA8YSBjbGFzcz1cImFubWwtbGlua1wiICpuZ0lmPVwiIW5vZGUuZXh0ZXJuYWxSZWRpcmVjdCAmJiBub2RlLmxpbmtcIiBbcm91dGVyTGlua109XCJub2RlLmxpbmtcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc1J0bExheW91dCA/IGxpbmtMYWJlbFJ0bE91dGxldCA6IGxpbmtMYWJlbEx0ck91dGxldFwiPjwvbmctY29udGFpbmVyPlxyXG4gIDwvYT5cclxuICA8YSBjbGFzcz1cImFubWwtbGlua1wiICpuZ0lmPVwiIW5vZGUubGlua1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImlzUnRsTGF5b3V0ID8gbGlua0xhYmVsUnRsT3V0bGV0IDogbGlua0xhYmVsTHRyT3V0bGV0XCI+PC9uZy1jb250YWluZXI+XHJcbiAgPC9hPlxyXG48L25nLXRlbXBsYXRlPlxyXG5cclxuPG5nLXRlbXBsYXRlICNsaW5rTGFiZWxMdHJPdXRsZXQ+XHJcbiAgPGRpdiBjbGFzcz1cImFubWwtZGF0YVwiIFtkaXJdPVwiJ2x0cidcIj5cclxuICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICA8c3BhbiBjbGFzcz1cImxhYmVsXCI+e3tub2RlLmxhYmVsfX08L3NwYW4+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cImFtbWwtaWNvbi1hcnJvdy1jb250YWluZXJcIiAqbmdJZj0nbm9kZS5oYXNDaGlsZHJlbic+XHJcbiAgICA8bWF0LWljb24gW0BFeHBhbmRlZExUUl09XCJub2RlRXhwYW5kU3RhdHVzKClcIj5cclxuICAgICAga2V5Ym9hcmRfYXJyb3dfZG93blxyXG4gICAgPC9tYXQtaWNvbj5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbjxuZy10ZW1wbGF0ZSAjbGlua0xhYmVsUnRsT3V0bGV0PlxyXG4gIDxkaXYgY2xhc3M9XCJhbm1sLWRhdGFcIiBbZGlyXT1cIidydGwnXCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvbkNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7bm9kZS5sYWJlbH19PC9zcGFuPlxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJhbW1sLWljb24tYXJyb3ctY29udGFpbmVyXCIgKm5nSWY9J25vZGUuaGFzQ2hpbGRyZW4nPlxyXG4gICAgPG1hdC1pY29uIFtARXhwYW5kZWRSVExdPVwibm9kZUV4cGFuZFN0YXR1cygpXCI+XHJcbiAgICAgIGtleWJvYXJkX2Fycm93X2Rvd25cclxuICAgIDwvbWF0LWljb24+XHJcbiAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcblxyXG48bmctdGVtcGxhdGUgI2ljb25Db250YWluZXI+XHJcbiAgPGRpdiBjbGFzcz1cImljb24tY29udGFpbmVyXCIgW25nU3dpdGNoXT1cImdldExpc3RJY29uKG5vZGUpXCI+XHJcbiAgICAgIDxzcGFuICpuZ1N3aXRjaENhc2U9XCInZmFJY29uJ1wiIGNsYXNzPVwiYW1tbC1pY29uIGFtbWwtaWNvbi1mYVwiPlxyXG4gICAgICAgIDxpIFtuZ0NsYXNzXT1cImdldFNlbGVjdGVkRmFJY29uKClcIj48L2k+XHJcbiAgICAgIDwvc3Bhbj5cclxuICAgIDxtYXQtaWNvbiAqbmdTd2l0Y2hDYXNlPVwiJ2ljb24nXCIgY2xhc3M9XCJhbW1sLWljb25cIj5cclxuICAgICAge3tnZXRTZWxlY3RlZEljb24oKX19XHJcbiAgICA8L21hdC1pY29uPlxyXG4gICAgPG1hdC1pY29uICpuZ1N3aXRjaENhc2U9XCInc3ZnSWNvbidcIiBjbGFzcz1cImFtbWwtaWNvbiBhbW1sLXN2Zy1pY29uXCJcclxuICAgICAgICAgICAgICBzdmdJY29uPVwie3tnZXRTZWxlY3RlZFN2Z0ljb24oKX19XCI+XHJcbiAgICA8L21hdC1pY29uPlxyXG4gICAgPGltZyAqbmdTd2l0Y2hDYXNlPVwiJ2ltYWdlSWNvbidcIiBtYXRMaXN0QXZhdGFyIGNsYXNzPVwiYW1tbC1pY29uXCJcclxuICAgICAgICAgc3JjPVwie3tnZXRTZWxlY3RlZEltYWdlSWNvbigpfX1cIiBhbHQ9XCJ7e25vZGUubGFiZWx9fVwiLz5cclxuICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuXHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS1jb250ZW50L2xpc3QtaXRlbS1jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0tY29udGVudC9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUVqRCxPQUFPLEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQzNELE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUM7Ozs7OztBQUUzQyxNQU1hLHdCQUF3QjtJQUN4QixJQUFJLENBQWlCO0lBQ3JCLFdBQVcsQ0FBVTtJQUU5QixXQUFXLENBQUMsSUFBb0I7UUFDNUIsSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDbEQsT0FBTyxNQUFNLENBQUM7U0FDakI7UUFDRCxJQUFJLENBQUMsV0FBVyxDQUFDLHdCQUF3QixDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsRUFBRTtZQUNwRCxPQUFPLFFBQVEsQ0FBQztTQUNuQjtRQUNELElBQUksQ0FBQyxXQUFXLENBQUMsd0JBQXdCLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQ3ZELE9BQU8sV0FBVyxDQUFDO1NBQ3RCO1FBQ0QsSUFBSSxDQUFDLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLEVBQUU7WUFDckQsT0FBTyxTQUFTLENBQUM7U0FDcEI7UUFDRCxPQUFPLEVBQUUsQ0FBQztJQUNkLENBQUM7SUFFRCxpQkFBaUI7UUFDYixPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLHdCQUF3QixDQUFDO0lBQ25HLENBQUM7SUFFRCxrQkFBa0I7UUFDZCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxPQUFPLENBQUM7SUFDekcsQ0FBQztJQUVELGVBQWU7UUFDWCxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUM7SUFDaEcsQ0FBQztJQUVELGlCQUFpQjtRQUNiLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQztJQUN0RyxDQUFDO0lBRUQsb0JBQW9CO1FBQ2hCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxlQUFlLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQztJQUMvRyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ1osT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FBQztJQUMzRCxDQUFDO3VHQTFDUSx3QkFBd0I7MkZBQXhCLHdCQUF3QixrSENackMsNHVGQTJFQSxndUREakVnQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7O1NBRTdCLHdCQUF3QjsyRkFBeEIsd0JBQXdCO2tCQU5wQyxTQUFTOytCQUNJLHNCQUFzQixjQUdwQixDQUFDLFdBQVcsRUFBRSxXQUFXLENBQUM7OEJBRzdCLElBQUk7c0JBQVosS0FBSztnQkFDRyxXQUFXO3NCQUFuQixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTm9kZSB9IGZyb20gJy4uLy4uL2FwcC5tb2RlbCc7XHJcbmltcG9ydCB7IEV4cGFuZGVkTFRSLCBFeHBhbmRlZFJUTCB9IGZyb20gJy4uLy4uL2FuaW1hdGlvbic7XHJcbmltcG9ydCB7IENvbW1vblV0aWxzIH0gZnJvbSAnLi4vLi4vY29tbW9uLXV0aWxzJztcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tICcuLi8uLi9jb25zdGFudHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25nLWxpc3QtaXRlbS1jb250ZW50JyxcclxuICAgIHRlbXBsYXRlVXJsOiAnLi9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuaHRtbCcsXHJcbiAgICBzdHlsZVVybHM6IFsnLi9saXN0LWl0ZW0tY29udGVudC5jb21wb25lbnQuY3NzJ10sXHJcbiAgICBhbmltYXRpb25zOiBbRXhwYW5kZWRMVFIsIEV4cGFuZGVkUlRMXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIExpc3RJdGVtQ29udGVudENvbXBvbmVudCB7XHJcbiAgICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICAgIEBJbnB1dCgpIGlzUnRsTGF5b3V0OiBib29sZWFuO1xyXG5cclxuICAgIGdldExpc3RJY29uKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogc3RyaW5nIHtcclxuICAgICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShub2RlLmljb24pKSB7XHJcbiAgICAgICAgICAgIHJldHVybiBgaWNvbmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuZmFJY29uKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gYGZhSWNvbmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuaW1hZ2VJY29uKSkge1xyXG4gICAgICAgICAgICByZXR1cm4gYGltYWdlSWNvbmA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KG5vZGUuc3ZnSWNvbikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIGBzdmdJY29uYDtcclxuICAgICAgICB9XHJcbiAgICAgICAgcmV0dXJuIGBgO1xyXG4gICAgfVxyXG5cclxuICAgIGdldEhyZWZUYXJnZXRUeXBlKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5ocmVmVGFyZ2V0VHlwZSA/IHRoaXMubm9kZS5ocmVmVGFyZ2V0VHlwZSA6IENPTlNUQU5ULkRFRkFVTFRfSFJFRl9UQVJHRVRfVFlQRTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRTZWxlY3RlZFN2Z0ljb24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZVN2Z0ljb24gPyB0aGlzLm5vZGUuYWN0aXZlU3ZnSWNvbiA6IHRoaXMubm9kZS5zdmdJY29uO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFNlbGVjdGVkSWNvbigpOiBzdHJpbmcge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGUuaXNTZWxlY3RlZCAmJiB0aGlzLm5vZGUuYWN0aXZlSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVJY29uIDogdGhpcy5ub2RlLmljb247XHJcbiAgICB9XHJcblxyXG4gICAgZ2V0U2VsZWN0ZWRGYUljb24oKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ub2RlLmlzU2VsZWN0ZWQgJiYgdGhpcy5ub2RlLmFjdGl2ZUZhSWNvbiA/IHRoaXMubm9kZS5hY3RpdmVGYUljb24gOiB0aGlzLm5vZGUuZmFJY29uO1xyXG4gICAgfVxyXG5cclxuICAgIGdldFNlbGVjdGVkSW1hZ2VJY29uKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5pc1NlbGVjdGVkICYmIHRoaXMubm9kZS5hY3RpdmVJbWFnZUljb24gPyB0aGlzLm5vZGUuYWN0aXZlSW1hZ2VJY29uIDogdGhpcy5ub2RlLmltYWdlSWNvbjtcclxuICAgIH1cclxuXHJcbiAgICBub2RlRXhwYW5kU3RhdHVzKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZS5leHBhbmRlZCA/IENPTlNUQU5ULllFUyA6IENPTlNUQU5ULk5PO1xyXG4gICAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJub2RlLmV4dGVybmFsUmVkaXJlY3QgPyByZWRpcmVjdExpbmtUZW1wbGF0ZSA6IHJvdXRlckxpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG48bmctdGVtcGxhdGUgI3JlZGlyZWN0TGlua1RlbXBsYXRlPlxyXG4gICAgPGFcclxuICAgICAgICBjbGFzcz1cImFubWwtbGlua1wiXHJcbiAgICAgICAgW2hyZWZdPVwibm9kZS5saW5rXCJcclxuICAgICAgICBbdGFyZ2V0XT1cImdldEhyZWZUYXJnZXRUeXBlKClcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXNSdGxMYXlvdXQgPyBsaW5rTGFiZWxSdGxPdXRsZXQgOiBsaW5rTGFiZWxMdHJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvYT5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNyb3V0ZXJMaW5rVGVtcGxhdGU+XHJcbiAgICA8YVxyXG4gICAgICAgIGNsYXNzPVwiYW5tbC1saW5rXCJcclxuICAgICAgICAqbmdJZj1cIiFub2RlLmV4dGVybmFsUmVkaXJlY3QgJiYgbm9kZS5saW5rXCJcclxuICAgICAgICBbcm91dGVyTGlua109XCJub2RlLmxpbmtcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaXNSdGxMYXlvdXQgPyBsaW5rTGFiZWxSdGxPdXRsZXQgOiBsaW5rTGFiZWxMdHJPdXRsZXRcIj48L25nLWNvbnRhaW5lcj5cclxuICAgIDwvYT5cclxuICAgIDxhXHJcbiAgICAgICAgY2xhc3M9XCJhbm1sLWxpbmtcIlxyXG4gICAgICAgICpuZ0lmPVwiIW5vZGUubGlua1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpc1J0bExheW91dCA/IGxpbmtMYWJlbFJ0bE91dGxldCA6IGxpbmtMYWJlbEx0ck91dGxldFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9hPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2xpbmtMYWJlbEx0ck91dGxldD5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImFubWwtZGF0YVwiXHJcbiAgICAgICAgW2Rpcl09XCInbHRyJ1wiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nVGVtcGxhdGVPdXRsZXQ9XCJpY29uQ29udGFpbmVyXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJsYWJlbFwiPnt7bm9kZS5sYWJlbH19PC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJhbW1sLWljb24tYXJyb3ctY29udGFpbmVyXCJcclxuICAgICAgICAqbmdJZj0nbm9kZS5oYXNDaGlsZHJlbic+XHJcbiAgICAgICAgPG1hdC1pY29uIFtARXhwYW5kZWRMVFJdPVwibm9kZUV4cGFuZFN0YXR1cygpXCI+a2V5Ym9hcmRfYXJyb3dfZG93bjwvbWF0LWljb24+XHJcbiAgICA8L2Rpdj5cclxuPC9uZy10ZW1wbGF0ZT5cclxuPG5nLXRlbXBsYXRlICNsaW5rTGFiZWxSdGxPdXRsZXQ+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgY2xhc3M9XCJhbm1sLWRhdGFcIlxyXG4gICAgICAgIFtkaXJdPVwiJ3J0bCdcIj5cclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwiaWNvbkNvbnRhaW5lclwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwibGFiZWxcIj57e25vZGUubGFiZWx9fTwvc3Bhbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdlxyXG4gICAgICAgIGNsYXNzPVwiYW1tbC1pY29uLWFycm93LWNvbnRhaW5lclwiXHJcbiAgICAgICAgKm5nSWY9J25vZGUuaGFzQ2hpbGRyZW4nPlxyXG4gICAgICAgIDxtYXQtaWNvbiBbQEV4cGFuZGVkUlRMXT1cIm5vZGVFeHBhbmRTdGF0dXMoKVwiPmtleWJvYXJkX2Fycm93X2Rvd248L21hdC1pY29uPlxyXG4gICAgPC9kaXY+XHJcbjwvbmctdGVtcGxhdGU+XHJcbjxuZy10ZW1wbGF0ZSAjaWNvbkNvbnRhaW5lcj5cclxuICAgIDxkaXZcclxuICAgICAgICBjbGFzcz1cImljb24tY29udGFpbmVyXCJcclxuICAgICAgICBbbmdTd2l0Y2hdPVwiZ2V0TGlzdEljb24obm9kZSlcIj5cclxuICAgICAgICA8c3BhblxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2ZhSWNvbidcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFtbWwtaWNvbiBhbW1sLWljb24tZmFcIj5cclxuICAgICAgICAgICAgPGkgW25nQ2xhc3NdPVwiZ2V0U2VsZWN0ZWRGYUljb24oKVwiPjwvaT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPG1hdC1pY29uXHJcbiAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInaWNvbidcIlxyXG4gICAgICAgICAgICBjbGFzcz1cImFtbWwtaWNvblwiPlxyXG4gICAgICAgICAgICB7e2dldFNlbGVjdGVkSWNvbigpfX1cclxuICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgIDxtYXQtaWNvblxyXG4gICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3N2Z0ljb24nXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJhbW1sLWljb24gYW1tbC1zdmctaWNvblwiXHJcbiAgICAgICAgICAgIHN2Z0ljb249XCJ7e2dldFNlbGVjdGVkU3ZnSWNvbigpfX1cIj5cclxuICAgICAgICA8L21hdC1pY29uPlxyXG4gICAgICAgIDxpbWdcclxuICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidpbWFnZUljb24nXCJcclxuICAgICAgICAgICAgbWF0TGlzdEF2YXRhclxyXG4gICAgICAgICAgICBjbGFzcz1cImFtbWwtaWNvblwiXHJcbiAgICAgICAgICAgIHNyYz1cInt7Z2V0U2VsZWN0ZWRJbWFnZUljb24oKX19XCJcclxuICAgICAgICAgICAgYWx0PVwie3tub2RlLmxhYmVsfX1cIj5cclxuICAgIDwvZGl2PlxyXG48L25nLXRlbXBsYXRlPlxyXG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs index 041f25c..3a5fa94 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/list-item/list-item.component.mjs @@ -1,10 +1,10 @@ -import { Component, Input, Output, EventEmitter, TemplateRef, } from "@angular/core"; -import { Router } from "@angular/router"; -import { ExpandCollapseStatusEnum, } from "../app.model"; -import { CONSTANT } from "../constants"; -import { MultilevelMenuService } from "../multilevel-menu.service"; -import { SlideInOut } from "../animation"; -import { CommonUtils } from "../common-utils"; +import { Component, Input, Output, EventEmitter, TemplateRef } from '@angular/core'; +import { Router } from '@angular/router'; +import { ExpandCollapseStatusEnum } from '../app.model'; +import { CONSTANT } from '../constants'; +import { MultilevelMenuService } from '../multilevel-menu.service'; +import { SlideInOut } from '../animation'; +import { CommonUtils } from '../common-utils'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "../multilevel-menu.service"; @@ -40,38 +40,31 @@ class ListItemComponent { [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, }; } - ngOnChanges() { - this.nodeChildren = - this.node && this.node.items - ? this.node.items.filter((n) => !n.hidden) - : []; - this.node.hasChildren = this.hasItems(); - if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { - this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); - } - this.setExpandCollapseStatus(); - } ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = - this.node.disabled; - if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && - this.node.faIcon.match(/\bfa\w(?!-)/) === null) { + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && this.node.faIcon.match(/\bfa\w(?!-)/) === null) { this.node.faIcon = `fas ${this.node.faIcon}`; } this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; - if (typeof this.node.expanded === "boolean") { + if (typeof this.node.expanded === 'boolean') { this.expanded = this.node.expanded; } this.setClasses(); } + ngOnChanges() { + this.nodeChildren = this.node && this.node.items ? this.node.items.filter((n) => !n.hidden) : []; + this.node.hasChildren = this.hasItems(); + if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { + this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); + } + this.setExpandCollapseStatus(); + } setSelectedClass(isFound) { if (isFound) { if (!this.firstInitializer) { this.expanded = true; } - this.isSelected = - this.nodeConfiguration.highlightOnSelect || - this.selectedNode.items === undefined; + this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; } else { this.isSelected = false; @@ -133,20 +126,22 @@ class ListItemComponent { }; } setExpandCollapseStatus() { - if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { - this.expanded = true; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = true; - } - } - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { - this.expanded = false; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = false; - } - } + if (CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { + return; + } + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { + this.setExpandStatus(true); } + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { + this.setExpandStatus(false); + } + } + setExpandStatus(value) { + this.expanded = value; + if (!this.nodeConfiguration.customTemplate) { + return; + } + this.node.expanded = value; } expand(node) { if (node.disabled) { @@ -157,18 +152,16 @@ class ListItemComponent { this.node.expanded = this.expanded; this.firstInitializer = true; this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null && - this.nodeConfiguration.interfaceWithRoute && - node.link !== undefined && - node.link) { - this.router.navigate([node.link], node.navigationExtras).then(); + if (this.nodeConfiguration.interfaceWithRoute && node.link) { + void this.router.navigate([node.link], node.navigationExtras).then(); + return; } - else if (node.onSelected && typeof node.onSelected === "function") { + if (node.onSelected && typeof node.onSelected === 'function') { node.onSelected(node); this.selectedListItem(node); + return; } - else if (node.items === undefined || - this.nodeConfiguration.collapseOnSelect) { + if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { this.selectedListItem(node); } } @@ -181,7 +174,7 @@ class ListItemComponent { export { ListItemComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, decorators: [{ type: Component, - args: [{ selector: "ng-list-item", animations: [SlideInOut], template: "
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] + args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, propDecorators: { node: [{ type: Input }], level: [{ @@ -199,4 +192,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor }], selectedItem: [{ type: Output }] } }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQ0wsU0FBUyxFQUNULEtBQUssRUFHTCxNQUFNLEVBQ04sWUFBWSxFQUNaLFdBQVcsR0FFWixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFekMsT0FBTyxFQUlMLHdCQUF3QixHQUd6QixNQUFNLGNBQWMsQ0FBQztBQUN0QixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQ3hDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQ25FLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDMUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGlCQUFpQixDQUFDOzs7Ozs7Ozs7O0FBRTlDLE1BTWEsaUJBQWlCO0lBb0JsQjtJQUNEO0lBcEJBLElBQUksQ0FBaUI7SUFDckIsS0FBSyxHQUFHLENBQUMsQ0FBQztJQUNWLFlBQVksR0FBRyxDQUFDLENBQUM7SUFDakIsWUFBWSxDQUFpQjtJQUM3QixpQkFBaUIsR0FBa0IsSUFBSSxDQUFDO0lBQ3hDLHdCQUF3QixHQUE2QixJQUFJLENBQUM7SUFDMUQsWUFBWSxHQUE0QixJQUFJLENBQUM7SUFFNUMsWUFBWSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBRTVELFVBQVUsR0FBRyxLQUFLLENBQUM7SUFD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QUUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLENBQUMsSUFBSSxFQUFFLENBQUM7U0FDakU7YUFBTSxJQUFJLElBQUksQ0FBQyxVQUFVLElBQUksT0FBTyxJQUFJLENBQUMsVUFBVSxLQUFLLFVBQVUsRUFBRTtZQUNuRSxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDO1lBQ3RCLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxJQUFJLENBQUMsQ0FBQztTQUM3QjthQUFNLElBQ0wsSUFBSSxDQUFDLEtBQUssS0FBSyxTQUFTO1lBQ3hCLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxnQkFBZ0IsRUFDdkM7WUFDQSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7U0FDN0I7SUFDSCxDQUFDO0lBRUQsZ0JBQWdCLENBQUMsSUFBb0I7UUFDbkMsSUFBSSxDQUFDLFlBQVksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDL0IsQ0FBQzt1R0FoTVUsaUJBQWlCOzJGQUFqQixpQkFBaUIsc1ZDL0I5QixzckVBc0RBLGcyQ0R2QmEsaUJBQWlCLDBYQUZoQixDQUFDLFVBQVUsQ0FBQzs7U0FFYixpQkFBaUI7MkZBQWpCLGlCQUFpQjtrQkFON0IsU0FBUzsrQkFDRSxjQUFjLGNBR1osQ0FBQyxVQUFVLENBQUM7aUlBR2YsSUFBSTtzQkFBWixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csaUJBQWlCO3NCQUF6QixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxZQUFZO3NCQUFwQixLQUFLO2dCQUVJLFlBQVk7c0JBQXJCLE1BQU0iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xyXG4gIENvbXBvbmVudCxcclxuICBJbnB1dCxcclxuICBPbkNoYW5nZXMsXHJcbiAgT25Jbml0LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgVGVtcGxhdGVSZWYsXHJcbiAgRWxlbWVudFJlZixcclxufSBmcm9tIFwiQGFuZ3VsYXIvY29yZVwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcblxyXG5pbXBvcnQge1xyXG4gIENvbmZpZ3VyYXRpb24sXHJcbiAgTGlzdFN0eWxlLFxyXG4gIE11bHRpbGV2ZWxOb2RlLFxyXG4gIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSxcclxuICBDb2xvclN0eWxlLFxyXG4gIEJhY2tncm91bmRTdHlsZSxcclxufSBmcm9tIFwiLi4vYXBwLm1vZGVsXCI7XHJcbmltcG9ydCB7IENPTlNUQU5UIH0gZnJvbSBcIi4uL2NvbnN0YW50c1wiO1xyXG5pbXBvcnQgeyBNdWx0aWxldmVsTWVudVNlcnZpY2UgfSBmcm9tIFwiLi4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgU2xpZGVJbk91dCB9IGZyb20gXCIuLi9hbmltYXRpb25cIjtcclxuaW1wb3J0IHsgQ29tbW9uVXRpbHMgfSBmcm9tIFwiLi4vY29tbW9uLXV0aWxzXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJuZy1saXN0LWl0ZW1cIixcclxuICB0ZW1wbGF0ZVVybDogXCIuL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbFwiLFxyXG4gIHN0eWxlVXJsczogW1wiLi9saXN0LWl0ZW0uY29tcG9uZW50LmNzc1wiXSxcclxuICBhbmltYXRpb25zOiBbU2xpZGVJbk91dF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcclxuICBASW5wdXQoKSBub2RlOiBNdWx0aWxldmVsTm9kZTtcclxuICBASW5wdXQoKSBsZXZlbCA9IDE7XHJcbiAgQElucHV0KCkgc3VibWVudUxldmVsID0gMDtcclxuICBASW5wdXQoKSBzZWxlY3RlZE5vZGU6IE11bHRpbGV2ZWxOb2RlO1xyXG4gIEBJbnB1dCgpIG5vZGVDb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uID0gbnVsbDtcclxuICBASW5wdXQoKSBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IG51bGw7XHJcbiAgQElucHV0KCkgbGlzdFRlbXBsYXRlOiBUZW1wbGF0ZVJlZjxFbGVtZW50UmVmPiA9IG51bGw7XHJcblxyXG4gIEBPdXRwdXQoKSBzZWxlY3RlZEl0ZW0gPSBuZXcgRXZlbnRFbWl0dGVyPE11bHRpbGV2ZWxOb2RlPigpO1xyXG5cclxuICBpc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgZXhwYW5kZWQgPSBmYWxzZTtcclxuICBmaXJzdEluaXRpYWxpemVyID0gZmFsc2U7XHJcblxyXG4gIG5vZGVDaGlsZHJlbjogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBjbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG4gIHNlbGVjdGVkTGlzdENsYXNzZXM6IHsgW2luZGV4OiBzdHJpbmddOiBib29sZWFuIH07XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzID0ge1xyXG4gICAgICBbQ09OU1RBTlQuREVGQVVMVF9MSVNUX0NMQVNTX05BTUVdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU0VMRUNURURfTElTVF9DTEFTU19OQU1FXTogZmFsc2UsXHJcbiAgICAgIFtDT05TVEFOVC5BQ1RJVkVfSVRFTV9DTEFTU19OQU1FXTogZmFsc2UsXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgbmdPbkNoYW5nZXMoKSB7XHJcbiAgICB0aGlzLm5vZGVDaGlsZHJlbiA9XHJcbiAgICAgIHRoaXMubm9kZSAmJiB0aGlzLm5vZGUuaXRlbXNcclxuICAgICAgICA/IHRoaXMubm9kZS5pdGVtcy5maWx0ZXIoKG4pID0+ICFuLmhpZGRlbilcclxuICAgICAgICA6IFtdO1xyXG4gICAgdGhpcy5ub2RlLmhhc0NoaWxkcmVuID0gdGhpcy5oYXNJdGVtcygpO1xyXG5cclxuICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5zZWxlY3RlZE5vZGUpKSB7XHJcbiAgICAgIHRoaXMuc2V0U2VsZWN0ZWRDbGFzcyhcclxuICAgICAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5yZWN1cnNpdmVDaGVja0lkKFxyXG4gICAgICAgICAgdGhpcy5ub2RlLFxyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZE5vZGUuaWRcclxuICAgICAgICApXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgICB0aGlzLnNldEV4cGFuZENvbGxhcHNlU3RhdHVzKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3Nlc1tDT05TVEFOVC5ESVNBQkxFRF9JVEVNX0NMQVNTX05BTUVdID1cclxuICAgICAgdGhpcy5ub2RlLmRpc2FibGVkO1xyXG5cclxuICAgIGlmIChcclxuICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZS5mYUljb24pICYmXHJcbiAgICAgIHRoaXMubm9kZS5mYUljb24ubWF0Y2goL1xcYmZhXFx3KD8hLSkvKSA9PT0gbnVsbFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMubm9kZS5mYUljb24gPSBgZmFzICR7dGhpcy5ub2RlLmZhSWNvbn1gO1xyXG4gICAgfVxyXG5cclxuICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3Nlc1tcclxuICAgICAgYGxldmVsLSR7dGhpcy5sZXZlbH0tc3VibWVudWxldmVsLSR7dGhpcy5zdWJtZW51TGV2ZWx9YFxyXG4gICAgXSA9IHRydWU7XHJcbiAgICBpZiAodHlwZW9mIHRoaXMubm9kZS5leHBhbmRlZCA9PT0gXCJib29sZWFuXCIpIHtcclxuICAgICAgdGhpcy5leHBhbmRlZCA9IHRoaXMubm9kZS5leHBhbmRlZDtcclxuICAgIH1cclxuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgc2V0U2VsZWN0ZWRDbGFzcyhpc0ZvdW5kOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICBpZiAoaXNGb3VuZCkge1xyXG4gICAgICBpZiAoIXRoaXMuZmlyc3RJbml0aWFsaXplcikge1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0cnVlO1xyXG4gICAgICB9XHJcbiAgICAgIHRoaXMuaXNTZWxlY3RlZCA9XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5oaWdobGlnaHRPblNlbGVjdCB8fFxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWROb2RlLml0ZW1zID09PSB1bmRlZmluZWQ7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzU2VsZWN0ZWQgPSBmYWxzZTtcclxuICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY29sbGFwc2VPblNlbGVjdCkge1xyXG4gICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIHRoaXMuZXhwYW5kZWQgPSBmYWxzZTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzID0ge1xyXG4gICAgICBbQ09OU1RBTlQuREVGQVVMVF9MSVNUX0NMQVNTX05BTUVdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU0VMRUNURURfTElTVF9DTEFTU19OQU1FXTogdGhpcy5pc1NlbGVjdGVkLFxyXG4gICAgICBbQ09OU1RBTlQuQUNUSVZFX0lURU1fQ0xBU1NfTkFNRV06IHRoaXMuc2VsZWN0ZWROb2RlLmlkID09PSB0aGlzLm5vZGUuaWQsXHJcbiAgICAgIFtDT05TVEFOVC5ESVNBQkxFRF9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLm5vZGUuZGlzYWJsZWQsXHJcbiAgICAgIFtgbGV2ZWwtJHt0aGlzLmxldmVsfS1zdWJtZW51bGV2ZWwtJHt0aGlzLnN1Ym1lbnVMZXZlbH1gXTogdHJ1ZSxcclxuICAgIH07XHJcbiAgICB0aGlzLm5vZGUuaXNTZWxlY3RlZCA9IHRoaXMuaXNTZWxlY3RlZDtcclxuICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gIH1cclxuXHJcbiAgZ2V0UGFkZGluZ0F0U3RhcnQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5wYWRkaW5nQXRTdGFydDtcclxuICB9XHJcblxyXG4gIGdldExpc3RTdHlsZSgpOiBMaXN0U3R5bGUge1xyXG4gICAgcmV0dXJuIHtcclxuICAgICAgY29sb3I6IHRoaXMuZ2V0Q29sb3IoKSxcclxuICAgICAgYmFja2dyb3VuZENvbG9yOiB0aGlzLmdldEJhY2tncm91bmRDb2xvcigpLFxyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldENvbG9yU3R5bGUoKTogQ29sb3JTdHlsZSB7XHJcbiAgICByZXR1cm4geyBjb2xvcjogdGhpcy5nZXRDb2xvcigpIH07XHJcbiAgfVxyXG5cclxuICBnZXRCYWNrZ3JvdW5kU3R5bGUoKTogQmFja2dyb3VuZFN0eWxlIHtcclxuICAgIHJldHVybiB7IGJhY2tncm91bmRDb2xvcjogdGhpcy5nZXRCYWNrZ3JvdW5kQ29sb3IoKSB9O1xyXG4gIH1cclxuXHJcbiAgZ2V0Q29sb3IoKTogc3RyaW5nIHtcclxuICAgIHJldHVybiB0aGlzLmlzU2VsZWN0ZWRcclxuICAgICAgPyB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnNlbGVjdGVkTGlzdEZvbnRDb2xvciAhPT0gbnVsbFxyXG4gICAgICAgID8gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5zZWxlY3RlZExpc3RGb250Q29sb3JcclxuICAgICAgICA6IENPTlNUQU5ULkRFRkFVTFRfU0VMRUNURURfRk9OVF9DT0xPUlxyXG4gICAgICA6IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uZm9udENvbG9yICE9PSBudWxsXHJcbiAgICAgID8gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5mb250Q29sb3JcclxuICAgICAgOiBDT05TVEFOVC5ERUZBVUxUX0xJU1RfRk9OVF9DT0xPUjtcclxuICB9XHJcblxyXG4gIGdldEJhY2tncm91bmRDb2xvcigpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ubGlzdEJhY2tncm91bmRDb2xvciAhPT0gbnVsbFxyXG4gICAgICA/IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ubGlzdEJhY2tncm91bmRDb2xvclxyXG4gICAgICA6IENPTlNUQU5ULkRFRkFVTFRfTElTVF9CQUNLR1JPVU5EX0NPTE9SO1xyXG4gIH1cclxuXHJcbiAgaGFzSXRlbXMoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ2hpbGRyZW4ubGVuZ3RoID4gMDtcclxuICB9XHJcblxyXG4gIGlzUnRsTGF5b3V0KCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ucnRsTGF5b3V0O1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhc3NlcygpOiB2b2lkIHtcclxuICAgIHRoaXMuY2xhc3NlcyA9IHtcclxuICAgICAgW2BsZXZlbC0ke3RoaXMubGV2ZWwgKyAxfWBdOiB0cnVlLFxyXG4gICAgICBbQ09OU1RBTlQuU1VCTUVOVV9JVEVNX0NMQVNTX05BTUVdOlxyXG4gICAgICAgIHRoaXMuaGFzSXRlbXMoKSAmJiB0aGlzLmdldFBhZGRpbmdBdFN0YXJ0KCksXHJcbiAgICAgIFtDT05TVEFOVC5IQVNfU1VCTUVOVV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLmhhc0l0ZW1zKCksXHJcbiAgICB9O1xyXG4gIH1cclxuXHJcbiAgc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTogdm9pZCB7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzKSkge1xyXG4gICAgICBpZiAodGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPT09IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5leHBhbmQpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICBpZiAodGhpcy5ub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSkge1xyXG4gICAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgICAgaWYgKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID09PSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0uY29sbGFwc2UpIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY3VzdG9tVGVtcGxhdGUpIHtcclxuICAgICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgZXhwYW5kKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogdm9pZCB7XHJcbiAgICBpZiAobm9kZS5kaXNhYmxlZCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgdGhpcy5leHBhbmRlZCA9ICF0aGlzLmV4cGFuZGVkO1xyXG4gICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdGhpcy5leHBhbmRlZDtcclxuICAgIHRoaXMuZmlyc3RJbml0aWFsaXplciA9IHRydWU7XHJcbiAgICB0aGlzLnNldENsYXNzZXMoKTtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUgIT09IG51bGwgJiZcclxuICAgICAgdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5pbnRlcmZhY2VXaXRoUm91dGUgJiZcclxuICAgICAgbm9kZS5saW5rICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgbm9kZS5saW5rXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW25vZGUubGlua10sIG5vZGUubmF2aWdhdGlvbkV4dHJhcykudGhlbigpO1xyXG4gICAgfSBlbHNlIGlmIChub2RlLm9uU2VsZWN0ZWQgJiYgdHlwZW9mIG5vZGUub25TZWxlY3RlZCA9PT0gXCJmdW5jdGlvblwiKSB7XHJcbiAgICAgIG5vZGUub25TZWxlY3RlZChub2RlKTtcclxuICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKG5vZGUpO1xyXG4gICAgfSBlbHNlIGlmIChcclxuICAgICAgbm9kZS5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY29sbGFwc2VPblNlbGVjdFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShub2RlKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHNlbGVjdGVkTGlzdEl0ZW0obm9kZTogTXVsdGlsZXZlbE5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRJdGVtLmVtaXQobm9kZSk7XHJcbiAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhbW1sLW1lbnUtY29udGFpbmVyXCI+XHJcbiAgICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBzdGFydHMgLS0+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSAmJiAhbm9kZS5oaWRkZW47ZWxzZSBiYXNlVGVtcGxhdGVcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTGlzdENsYXNzZXNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldExpc3RTdHlsZSgpXCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IG5vZGUsIGNvbmZpZ3VyYXRpb246IG5vZGVDb25maWd1cmF0aW9ufVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBlbmRzIC0tPlxyXG4gICAgPCEtLSBSZWN1cnNpdmUgVGVtcGxhdGUgY2FsbHMgYmVnaW5zIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwiaGFzSXRlbXMoKSAmJiBleHBhbmRlZFwiXHJcbiAgICAgICAgW0BTbGlkZUluT3V0XVxyXG4gICAgICAgIFtkaXJdPVwiaXNSdGxMYXlvdXQoKSA/ICdydGwnIDogJ2x0cidcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImNsYXNzZXNcIj5cclxuICAgICAgICA8bmctbGlzdC1pdGVtXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzaW5nbGVOb2RlIG9mIG5vZGVDaGlsZHJlbiB8IGtleXZhbHVlIDogbXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmt2RHVtbXlDb21wYXJlckZuXCJcclxuICAgICAgICAgICAgW25vZGVDb25maWd1cmF0aW9uXT0nbm9kZUNvbmZpZ3VyYXRpb24nXHJcbiAgICAgICAgICAgIFtub2RlXT1cInNpbmdsZU5vZGUudmFsdWVcIlxyXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgW3N1Ym1lbnVMZXZlbF09XCJzaW5nbGVOb2RlLmtleVwiXHJcbiAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPSdzZWxlY3RlZE5vZGUnXHJcbiAgICAgICAgICAgIFtub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXNdPSdub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMnXHJcbiAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pPVwic2VsZWN0ZWRMaXN0SXRlbSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2xpc3RUZW1wbGF0ZV09XCJsaXN0VGVtcGxhdGVcIj5cclxuICAgICAgICA8L25nLWxpc3QtaXRlbT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBSZWN1cnNpdmUgVGVtcGxhdGUgY2FsbHMgZW5kcyAtLT5cclxuPCEtLSBCYXNlIFRlbXBsYXRlIHN0YXJ0cyBmcm9tIGhlcmUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gICAgPG1hdC1saXN0LWl0ZW1cclxuICAgICAgICBtYXRSaXBwbGVcclxuICAgICAgICAqbmdJZj1cIiFub2RlLmhpZGRlblwiXHJcbiAgICAgICAgdGl0bGU9XCJ7e25vZGUubGFiZWx9fVwiXHJcbiAgICAgICAgW21hdFJpcHBsZURpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTGlzdENsYXNzZXNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldEJhY2tncm91bmRTdHlsZSgpXCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwibm9kZUNvbmZpZ3VyYXRpb24udXNlRGl2aWRlcnNcIj48L21hdC1kaXZpZGVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2xpbmtUZW1wbGF0ZT5cclxuICAgIDxuZy1saXN0LWl0ZW0tY29udGVudFxyXG4gICAgICAgIGNsYXNzPVwiZmlsbGVkXCJcclxuICAgICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgICBbaXNSdGxMYXlvdXRdPVwiaXNSdGxMYXlvdXQoKVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0Q29sb3JTdHlsZSgpXCI+PC9uZy1saXN0LWl0ZW0tY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibGlzdC1pdGVtLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51L3NyYy9saWIvbGlzdC1pdGVtL2xpc3QtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFFLEtBQUssRUFBcUIsTUFBTSxFQUFFLFlBQVksRUFBRSxXQUFXLEVBQWMsTUFBTSxlQUFlLENBQUM7QUFDbkgsT0FBTyxFQUFFLE1BQU0sRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRXpDLE9BQU8sRUFBNEMsd0JBQXdCLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDbEcsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGNBQWMsQ0FBQztBQUN4QyxPQUFPLEVBQUUscUJBQXFCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUNuRSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sY0FBYyxDQUFDO0FBQzFDLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQzs7Ozs7Ozs7OztBQUU5QyxNQU1hLGlCQUFpQjtJQW1CTjtJQUF1QjtJQWxCbEMsSUFBSSxDQUFpQjtJQUNyQixLQUFLLEdBQUcsQ0FBQyxDQUFDO0lBQ1YsWUFBWSxHQUFHLENBQUMsQ0FBQztJQUNqQixZQUFZLENBQWlCO0lBQzdCLGlCQUFpQixHQUFrQixJQUFJLENBQUM7SUFDeEMsd0JBQXdCLEdBQTZCLElBQUksQ0FBQztJQUMxRCxZQUFZLEdBQTRCLElBQUksQ0FBQztJQUU1QyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFFNUQsVUFBVSxHQUFHLEtBQUssQ0FBQztJ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QUFJLE9BQU8sSUFBSSxDQUFDLFVBQVUsS0FBSyxVQUFVLEVBQUU7WUFDMUQsSUFBSSxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsQ0FBQztZQUN0QixJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDNUIsT0FBTztTQUNWO1FBRUQsSUFBSSxJQUFJLENBQUMsS0FBSyxLQUFLLFNBQVMsSUFBSSxJQUFJLENBQUMsaUJBQWlCLENBQUMsZ0JBQWdCLEVBQUU7WUFDckUsSUFBSSxDQUFDLGdCQUFnQixDQUFDLElBQUksQ0FBQyxDQUFDO1NBQy9CO0lBQ0wsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQW9CO1FBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQ2pDLENBQUM7dUdBakxRLGlCQUFpQjsyRkFBakIsaUJBQWlCLHNWQ2Y5QixzckVBc0RBLGcyQ0R2Q2EsaUJBQWlCLDBYQUZkLENBQUMsVUFBVSxDQUFDOztTQUVmLGlCQUFpQjsyRkFBakIsaUJBQWlCO2tCQU43QixTQUFTOytCQUNJLGNBQWMsY0FHWixDQUFDLFVBQVUsQ0FBQztpSUFHZixJQUFJO3NCQUFaLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBQ0csWUFBWTtzQkFBcEIsS0FBSztnQkFDRyxpQkFBaUI7c0JBQXpCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLO2dCQUNHLFlBQVk7c0JBQXBCLEtBQUs7Z0JBRUksWUFBWTtzQkFBckIsTUFBTSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uQ2hhbmdlcywgT25Jbml0LCBPdXRwdXQsIEV2ZW50RW1pdHRlciwgVGVtcGxhdGVSZWYsIEVsZW1lbnRSZWYgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuXHJcbmltcG9ydCB7IENvbmZpZ3VyYXRpb24sIExpc3RTdHlsZSwgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4uL2FwcC5tb2RlbCc7XHJcbmltcG9ydCB7IENPTlNUQU5UIH0gZnJvbSAnLi4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTbGlkZUluT3V0IH0gZnJvbSAnLi4vYW5pbWF0aW9uJztcclxuaW1wb3J0IHsgQ29tbW9uVXRpbHMgfSBmcm9tICcuLi9jb21tb24tdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25nLWxpc3QtaXRlbScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbGlzdC1pdGVtLmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL2xpc3QtaXRlbS5jb21wb25lbnQuY3NzJ10sXHJcbiAgICBhbmltYXRpb25zOiBbU2xpZGVJbk91dF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMaXN0SXRlbUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uQ2hhbmdlcywgT25Jbml0IHtcclxuICAgIEBJbnB1dCgpIG5vZGU6IE11bHRpbGV2ZWxOb2RlO1xyXG4gICAgQElucHV0KCkgbGV2ZWwgPSAxO1xyXG4gICAgQElucHV0KCkgc3VibWVudUxldmVsID0gMDtcclxuICAgIEBJbnB1dCgpIHNlbGVjdGVkTm9kZTogTXVsdGlsZXZlbE5vZGU7XHJcbiAgICBASW5wdXQoKSBub2RlQ29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbiA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSA9IG51bGw7XHJcbiAgICBASW5wdXQoKSBsaXN0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+ID0gbnVsbDtcclxuXHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuXHJcbiAgICBpc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICBleHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgZmlyc3RJbml0aWFsaXplciA9IGZhbHNlO1xyXG5cclxuICAgIG5vZGVDaGlsZHJlbjogTXVsdGlsZXZlbE5vZGVbXTtcclxuICAgIGNsYXNzZXM6IHsgW2luZGV4OiBzdHJpbmddOiBib29sZWFuIH07XHJcbiAgICBzZWxlY3RlZExpc3RDbGFzc2VzOiB7IFtpbmRleDogc3RyaW5nXTogYm9vbGVhbiB9O1xyXG5cclxuICAgIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZSkge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3NlcyA9IHtcclxuICAgICAgICAgICAgW0NPTlNUQU5ULkRFRkFVTFRfTElTVF9DTEFTU19OQU1FXTogdHJ1ZSxcclxuICAgICAgICAgICAgW0NPTlNUQU5ULlNFTEVDVEVEX0xJU1RfQ0xBU1NfTkFNRV06IGZhbHNlLFxyXG4gICAgICAgICAgICBbQ09OU1RBTlQuQUNUSVZFX0lURU1fQ0xBU1NfTkFNRV06IGZhbHNlLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzW0NPTlNUQU5ULkRJU0FCTEVEX0lURU1fQ0xBU1NfTkFNRV0gPSB0aGlzLm5vZGUuZGlzYWJsZWQ7XHJcblxyXG4gICAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5ub2RlLmZhSWNvbikgJiYgdGhpcy5ub2RlLmZhSWNvbi5tYXRjaCgvXFxiZmFcXHcoPyEtKS8pID09PSBudWxsKSB7XHJcbiAgICAgICAgICAgIHRoaXMubm9kZS5mYUljb24gPSBgZmFzICR7dGhpcy5ub2RlLmZhSWNvbn1gO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RDbGFzc2VzW2BsZXZlbC0ke3RoaXMubGV2ZWx9LXN1Ym1lbnVsZXZlbC0ke3RoaXMuc3VibWVudUxldmVsfWBdID0gdHJ1ZTtcclxuICAgICAgICBpZiAodHlwZW9mIHRoaXMubm9kZS5leHBhbmRlZCA9PT0gJ2Jvb2xlYW4nKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZXhwYW5kZWQgPSB0aGlzLm5vZGUuZXhwYW5kZWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2V0Q2xhc3NlcygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgICAgIHRoaXMubm9kZUNoaWxkcmVuID0gdGhpcy5ub2RlICYmIHRoaXMubm9kZS5pdGVtcyA/IHRoaXMubm9kZS5pdGVtcy5maWx0ZXIoKG4pID0+ICFuLmhpZGRlbikgOiBbXTtcclxuICAgICAgICB0aGlzLm5vZGUuaGFzQ2hpbGRyZW4gPSB0aGlzLmhhc0l0ZW1zKCk7XHJcblxyXG4gICAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQodGhpcy5zZWxlY3RlZE5vZGUpKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0U2VsZWN0ZWRDbGFzcyh0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5yZWN1cnNpdmVDaGVja0lkKHRoaXMubm9kZSwgdGhpcy5zZWxlY3RlZE5vZGUuaWQpKTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5zZXRFeHBhbmRDb2xsYXBzZVN0YXR1cygpO1xyXG4gICAgfVxyXG5cclxuICAgIHNldFNlbGVjdGVkQ2xhc3MoaXNGb3VuZDogYm9vbGVhbik6IHZvaWQge1xyXG4gICAgICAgIGlmIChpc0ZvdW5kKSB7XHJcbiAgICAgICAgICAgIGlmICghdGhpcy5maXJzdEluaXRpYWxpemVyKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLmV4cGFuZGVkID0gdHJ1ZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICB0aGlzLmlzU2VsZWN0ZWQgPSB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmhpZ2hsaWdodE9uU2VsZWN0IHx8IHRoaXMuc2VsZWN0ZWROb2RlLml0ZW1zID09PSB1bmRlZmluZWQ7XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5pc1NlbGVjdGVkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIGlmICh0aGlzLm5vZGVDb25maWd1cmF0aW9uLmNvbGxhcHNlT25TZWxlY3QpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMubm9kZS5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5leHBhbmRlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0Q2xhc3NlcyA9IHtcclxuICAgICAgICAgICAgW0NPTlNUQU5ULkRFRkFVTFRfTElTVF9DTEFTU19OQU1FXTogdHJ1ZSxcclxuICAgICAgICAgICAgW0NPTlNUQU5ULlNFTEVDVEVEX0xJU1RfQ0xBU1NfTkFNRV06IHRoaXMuaXNTZWxlY3RlZCxcclxuICAgICAgICAgICAgW0NPTlNUQU5ULkFDVElWRV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLnNlbGVjdGVkTm9kZS5pZCA9PT0gdGhpcy5ub2RlLmlkLFxyXG4gICAgICAgICAgICBbQ09OU1RBTlQuRElTQUJMRURfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5ub2RlLmRpc2FibGVkLFxyXG4gICAgICAgICAgICBbYGxldmVsLSR7dGhpcy5sZXZlbH0tc3VibWVudWxldmVsLSR7dGhpcy5zdWJtZW51TGV2ZWx9YF06IHRydWUsXHJcbiAgICAgICAgfTtcclxuICAgICAgICB0aGlzLm5vZGUuaXNTZWxlY3RlZCA9IHRoaXMuaXNTZWxlY3RlZDtcclxuICAgICAgICB0aGlzLnNldENsYXNzZXMoKTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRQYWRkaW5nQXRTdGFydCgpOiBib29sZWFuIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5wYWRkaW5nQXRTdGFydDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRMaXN0U3R5bGUoKTogTGlzdFN0eWxlIHtcclxuICAgICAgICByZXR1cm4ge1xyXG4gICAgICAgICAgICBjb2xvcjogdGhpcy5nZXRDb2xvcigpLFxyXG4gICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IHRoaXMuZ2V0QmFja2dyb3VuZENvbG9yKCksXHJcbiAgICAgICAgfTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDb2xvclN0eWxlKCk6IExpc3RTdHlsZSB7XHJcbiAgICAgICAgcmV0dXJuIHsgY29sb3I6IHRoaXMuZ2V0Q29sb3IoKSB9O1xyXG4gICAgfVxyXG5cclxuICAgIGdldEJhY2tncm91bmRTdHlsZSgpOiBMaXN0U3R5bGUge1xyXG4gICAgICAgIHJldHVybiB7IGJhY2tncm91bmRDb2xvcjogdGhpcy5nZXRCYWNrZ3JvdW5kQ29sb3IoKSB9O1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0Q29sb3IoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc1NlbGVjdGVkXHJcbiAgICAgICAgICAgID8gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5zZWxlY3RlZExpc3RGb250Q29sb3IgIT09IG51bGxcclxuICAgICAgICAgICAgICAgID8gdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5zZWxlY3RlZExpc3RGb250Q29sb3JcclxuICAgICAgICAgICAgICAgIDogQ09OU1RBTlQuREVGQVVMVF9TRUxFQ1RFRF9GT05UX0NPTE9SXHJcbiAgICAgICAgICAgIDogdGhpcy5ub2RlQ29uZmlndXJhdGlvbi5mb250Q29sb3IgIT09IG51bGxcclxuICAgICAgICAgICAgPyB0aGlzLm5vZGVDb25maWd1cmF0aW9uLmZvbnRDb2xvclxyXG4gICAgICAgICAgICA6IENPTlNUQU5ULkRFRkFVTFRfTElTVF9GT05UX0NPTE9SO1xyXG4gICAgfVxyXG5cclxuICAgIHByaXZhdGUgZ2V0QmFja2dyb3VuZENvbG9yKCk6IHN0cmluZyB7XHJcbiAgICAgICAgcmV0dXJuIHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ubGlzdEJhY2tncm91bmRDb2xvciAhPT0gbnVsbFxyXG4gICAgICAgICAgICA/IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24ubGlzdEJhY2tncm91bmRDb2xvclxyXG4gICAgICAgICAgICA6IENPTlNUQU5ULkRFRkFVTFRfTElTVF9CQUNLR1JPVU5EX0NPTE9SO1xyXG4gICAgfVxyXG5cclxuICAgIGhhc0l0ZW1zKCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVDaGlsZHJlbi5sZW5ndGggPiAwO1xyXG4gICAgfVxyXG5cclxuICAgIGlzUnRsTGF5b3V0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVDb25maWd1cmF0aW9uLnJ0bExheW91dDtcclxuICAgIH1cclxuXHJcbiAgICBzZXRDbGFzc2VzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuY2xhc3NlcyA9IHtcclxuICAgICAgICAgICAgW2BsZXZlbC0ke3RoaXMubGV2ZWwgKyAxfWBdOiB0cnVlLFxyXG4gICAgICAgICAgICBbQ09OU1RBTlQuU1VCTUVOVV9JVEVNX0NMQVNTX05BTUVdOiB0aGlzLmhhc0l0ZW1zKCkgJiYgdGhpcy5nZXRQYWRkaW5nQXRTdGFydCgpLFxyXG4gICAgICAgICAgICBbQ09OU1RBTlQuSEFTX1NVQk1FTlVfSVRFTV9DTEFTU19OQU1FXTogdGhpcy5oYXNJdGVtcygpLFxyXG4gICAgICAgIH07XHJcbiAgICB9XHJcblxyXG4gICAgc2V0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKENvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzKSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAodGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPT09IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5leHBhbmQpIHtcclxuICAgICAgICAgICAgdGhpcy5zZXRFeHBhbmRTdGF0dXModHJ1ZSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmICh0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9PT0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLmNvbGxhcHNlKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2V0RXhwYW5kU3RhdHVzKGZhbHNlKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRFeHBhbmRTdGF0dXModmFsdWU6IGJvb2xlYW4pOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gdmFsdWU7XHJcbiAgICAgICAgaWYgKCF0aGlzLm5vZGVDb25maWd1cmF0aW9uLmN1c3RvbVRlbXBsYXRlKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgZXhwYW5kKG5vZGU6IE11bHRpbGV2ZWxOb2RlKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKG5vZGUuZGlzYWJsZWQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuICAgICAgICB0aGlzLmV4cGFuZGVkID0gIXRoaXMuZXhwYW5kZWQ7XHJcbiAgICAgICAgdGhpcy5ub2RlLmV4cGFuZGVkID0gdGhpcy5leHBhbmRlZDtcclxuICAgICAgICB0aGlzLmZpcnN0SW5pdGlhbGl6ZXIgPSB0cnVlO1xyXG5cclxuICAgICAgICB0aGlzLnNldENsYXNzZXMoKTtcclxuXHJcbiAgICAgICAgaWYgKHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlICYmIG5vZGUubGluaykge1xyXG4gICAgICAgICAgICB2b2lkIHRoaXMucm91dGVyLm5hdmlnYXRlKFtub2RlLmxpbmtdLCBub2RlLm5hdmlnYXRpb25FeHRyYXMpLnRoZW4oKTtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgaWYgKG5vZGUub25TZWxlY3RlZCAmJiB0eXBlb2Ygbm9kZS5vblNlbGVjdGVkID09PSAnZnVuY3Rpb24nKSB7XHJcbiAgICAgICAgICAgIG5vZGUub25TZWxlY3RlZChub2RlKTtcclxuICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKG5vZGUpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICBpZiAobm9kZS5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8IHRoaXMubm9kZUNvbmZpZ3VyYXRpb24uY29sbGFwc2VPblNlbGVjdCkge1xyXG4gICAgICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0obm9kZSk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdGVkTGlzdEl0ZW0obm9kZTogTXVsdGlsZXZlbE5vZGUpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkSXRlbS5lbWl0KG5vZGUpO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXYgY2xhc3M9XCJhbW1sLW1lbnUtY29udGFpbmVyXCI+XHJcbiAgICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBzdGFydHMgLS0+XHJcbiAgICA8ZGl2XHJcbiAgICAgICAgKm5nSWY9XCJub2RlQ29uZmlndXJhdGlvbi5jdXN0b21UZW1wbGF0ZSAmJiAhbm9kZS5oaWRkZW47ZWxzZSBiYXNlVGVtcGxhdGVcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTGlzdENsYXNzZXNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldExpc3RTdHlsZSgpXCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lclxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldF09XCJsaXN0VGVtcGxhdGVcIlxyXG4gICAgICAgICAgICBbbmdUZW1wbGF0ZU91dGxldENvbnRleHRdPVwie2l0ZW06IG5vZGUsIGNvbmZpZ3VyYXRpb246IG5vZGVDb25maWd1cmF0aW9ufVwiPlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8IS0tIEJhc2UgVGVtcGxhdGUgcmVuZGVyaW5nIGNvbmRpdGlvbiBlbmRzIC0tPlxyXG4gICAgPCEtLSBSZWN1cnNpdmUgVGVtcGxhdGUgY2FsbHMgYmVnaW5zIC0tPlxyXG4gICAgPGRpdlxyXG4gICAgICAgICpuZ0lmPVwiaGFzSXRlbXMoKSAmJiBleHBhbmRlZFwiXHJcbiAgICAgICAgW0BTbGlkZUluT3V0XVxyXG4gICAgICAgIFtkaXJdPVwiaXNSdGxMYXlvdXQoKSA/ICdydGwnIDogJ2x0cidcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cImNsYXNzZXNcIj5cclxuICAgICAgICA8bmctbGlzdC1pdGVtXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBzaW5nbGVOb2RlIG9mIG5vZGVDaGlsZHJlbiB8IGtleXZhbHVlIDogbXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmt2RHVtbXlDb21wYXJlckZuXCJcclxuICAgICAgICAgICAgW25vZGVDb25maWd1cmF0aW9uXT0nbm9kZUNvbmZpZ3VyYXRpb24nXHJcbiAgICAgICAgICAgIFtub2RlXT1cInNpbmdsZU5vZGUudmFsdWVcIlxyXG4gICAgICAgICAgICBbbGV2ZWxdPVwibGV2ZWwgKyAxXCJcclxuICAgICAgICAgICAgW3N1Ym1lbnVMZXZlbF09XCJzaW5nbGVOb2RlLmtleVwiXHJcbiAgICAgICAgICAgIFtzZWxlY3RlZE5vZGVdPSdzZWxlY3RlZE5vZGUnXHJcbiAgICAgICAgICAgIFtub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXNdPSdub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMnXHJcbiAgICAgICAgICAgIChzZWxlY3RlZEl0ZW0pPVwic2VsZWN0ZWRMaXN0SXRlbSgkZXZlbnQpXCJcclxuICAgICAgICAgICAgW2xpc3RUZW1wbGF0ZV09XCJsaXN0VGVtcGxhdGVcIj5cclxuICAgICAgICA8L25nLWxpc3QtaXRlbT5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuPCEtLSBSZWN1cnNpdmUgVGVtcGxhdGUgY2FsbHMgZW5kcyAtLT5cclxuPCEtLSBCYXNlIFRlbXBsYXRlIHN0YXJ0cyBmcm9tIGhlcmUgLS0+XHJcbjxuZy10ZW1wbGF0ZSAjYmFzZVRlbXBsYXRlPlxyXG4gICAgPG1hdC1saXN0LWl0ZW1cclxuICAgICAgICBtYXRSaXBwbGVcclxuICAgICAgICAqbmdJZj1cIiFub2RlLmhpZGRlblwiXHJcbiAgICAgICAgdGl0bGU9XCJ7e25vZGUubGFiZWx9fVwiXHJcbiAgICAgICAgW21hdFJpcHBsZURpc2FibGVkXT1cIm5vZGUuZGlzYWJsZWRcIlxyXG4gICAgICAgIFtuZ0NsYXNzXT1cInNlbGVjdGVkTGlzdENsYXNzZXNcIlxyXG4gICAgICAgIFtuZ1N0eWxlXT1cImdldEJhY2tncm91bmRTdHlsZSgpXCJcclxuICAgICAgICAoY2xpY2spPVwiZXhwYW5kKG5vZGUpXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cImxpbmtUZW1wbGF0ZVwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgPC9tYXQtbGlzdC1pdGVtPlxyXG4gICAgPG1hdC1kaXZpZGVyICpuZ0lmPVwibm9kZUNvbmZpZ3VyYXRpb24udXNlRGl2aWRlcnNcIj48L21hdC1kaXZpZGVyPlxyXG48L25nLXRlbXBsYXRlPlxyXG48bmctdGVtcGxhdGUgI2xpbmtUZW1wbGF0ZT5cclxuICAgIDxuZy1saXN0LWl0ZW0tY29udGVudFxyXG4gICAgICAgIGNsYXNzPVwiZmlsbGVkXCJcclxuICAgICAgICBbbm9kZV09XCJub2RlXCJcclxuICAgICAgICBbaXNSdGxMYXlvdXRdPVwiaXNSdGxMYXlvdXQoKVwiXHJcbiAgICAgICAgW25nU3R5bGVdPVwiZ2V0Q29sb3JTdHlsZSgpXCI+PC9uZy1saXN0LWl0ZW0tY29udGVudD5cclxuPC9uZy10ZW1wbGF0ZT5cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs index d2df08d..d18d473 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/materials.module.mjs @@ -5,32 +5,16 @@ import { MatListModule } from '@angular/material/list'; import * as i0 from "@angular/core"; class MaterialsModule { static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); - static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, - MatListModule, - MatRippleModule], exports: [MatIconModule, - MatListModule, - MatRippleModule] }); - static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, - MatListModule, - MatRippleModule, MatIconModule, - MatListModule, - MatRippleModule] }); + static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, MatListModule, MatRippleModule], exports: [MatIconModule, MatListModule, MatRippleModule] }); + static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, MatListModule, MatRippleModule, MatIconModule, MatListModule, MatRippleModule] }); } export { MaterialsModule }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, decorators: [{ type: NgModule, args: [{ - imports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ], + imports: [MatIconModule, MatListModule, MatRippleModule], declarations: [], - exports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ] + exports: [MatIconModule, MatListModule, MatRippleModule], }] }] }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL21hdGVyaWFscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkQsTUFhYSxlQUFlO3VHQUFmLGVBQWU7d0dBQWYsZUFBZSxZQVh4QixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWUsYUFJZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7d0dBR04sZUFBZSxZQVh4QixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWUsRUFJZixhQUFhO1lBQ2IsYUFBYTtZQUNiLGVBQWU7O1NBR04sZUFBZTsyRkFBZixlQUFlO2tCQWIzQixRQUFRO21CQUFDO29CQUNSLE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTtxQkFDaEI7b0JBQ0QsWUFBWSxFQUFFLEVBQUU7b0JBQ2hCLE9BQU8sRUFBRTt3QkFDUCxhQUFhO3dCQUNiLGFBQWE7d0JBQ2IsZUFBZTtxQkFDaEI7aUJBQ0YiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICBpbXBvcnRzOiBbXHJcbiAgICBNYXRJY29uTW9kdWxlLFxyXG4gICAgTWF0TGlzdE1vZHVsZSxcclxuICAgIE1hdFJpcHBsZU1vZHVsZSxcclxuICBdLFxyXG4gIGRlY2xhcmF0aW9uczogW10sXHJcbiAgZXhwb3J0czogW1xyXG4gICAgTWF0SWNvbk1vZHVsZSxcclxuICAgIE1hdExpc3RNb2R1bGUsXHJcbiAgICBNYXRSaXBwbGVNb2R1bGUsXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxzTW9kdWxlIHsgfVxyXG4iXX0= \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0ZXJpYWxzLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL21hdGVyaWFscy5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUV6QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDekQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQzs7QUFFdkQsTUFLYSxlQUFlO3VHQUFmLGVBQWU7d0dBQWYsZUFBZSxZQUpkLGFBQWEsRUFBRSxhQUFhLEVBQUUsZUFBZSxhQUU3QyxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWU7d0dBRTlDLGVBQWUsWUFKZCxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsRUFFN0MsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlOztTQUU5QyxlQUFlOzJGQUFmLGVBQWU7a0JBTDNCLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsYUFBYSxFQUFFLGFBQWEsRUFBRSxlQUFlLENBQUM7b0JBQ3hELFlBQVksRUFBRSxFQUFFO29CQUNoQixPQUFPLEVBQUUsQ0FBQyxhQUFhLEVBQUUsYUFBYSxFQUFFLGVBQWUsQ0FBQztpQkFDM0QiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuaW1wb3J0IHsgTWF0UmlwcGxlTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY29yZSc7XHJcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcclxuaW1wb3J0IHsgTWF0TGlzdE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2xpc3QnO1xyXG5cclxuQE5nTW9kdWxlKHtcclxuICAgIGltcG9ydHM6IFtNYXRJY29uTW9kdWxlLCBNYXRMaXN0TW9kdWxlLCBNYXRSaXBwbGVNb2R1bGVdLFxyXG4gICAgZGVjbGFyYXRpb25zOiBbXSxcclxuICAgIGV4cG9ydHM6IFtNYXRJY29uTW9kdWxlLCBNYXRMaXN0TW9kdWxlLCBNYXRSaXBwbGVNb2R1bGVdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWF0ZXJpYWxzTW9kdWxlIHt9XHJcbiJdfQ== \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/multilevel-menu.service.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/multilevel-menu.service.mjs index 9706a1b..a64feac 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/multilevel-menu.service.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/multilevel-menu.service.mjs @@ -1,7 +1,9 @@ +import { Injectable } from '@angular/core'; import { Subject } from 'rxjs'; import { ExpandCollapseStatusEnum } from './app.model'; import { CONSTANT } from './constants'; -export class MultilevelMenuService { +import * as i0 from "@angular/core"; +class MultilevelMenuService { foundLinkObject; expandCollapseStatus = new Subject(); expandCollapseStatus$ = this.expandCollapseStatus.asObservable(); @@ -50,7 +52,7 @@ export class MultilevelMenuService { this.findNodeRecursively({ nodes: node.items, link: link ? link : null, - id: id ? id : null + id: id ? id : null, }); } } @@ -78,5 +80,14 @@ export class MultilevelMenuService { this.selectedMenuID.next(menuID); return this.foundLinkObject; } + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MultilevelMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); + static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MultilevelMenuService, providedIn: 'root' }); } -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsZXZlbC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9tdWx0aWxldmVsLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQyxPQUFPLEVBQThCLE9BQU8sRUFBQyxNQUFNLE1BQU0sQ0FBQztBQUMzRCxPQUFPLEVBQWtCLHdCQUF3QixFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZFLE9BQU8sRUFBQyxRQUFRLEVBQUMsTUFBTSxhQUFhLENBQUM7QUFFckMsTUFBTSxPQUFPLHFCQUFxQjtJQUNoQyxlQUFlLENBQWlCO0lBQ3hCLG9CQUFvQixHQUFzQyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUMxRyxxQkFBcUIsR0FBeUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRS9GLGNBQWMsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNoRSxlQUFlLEdBQXVCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakUsVUFBVTtRQUNoQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUM7UUFDZCxLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsRUFBRSxFQUFFO1lBQzNCLElBQUksSUFBSSxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUUsR0FBRyxRQUFRLENBQUMsUUFBUSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUM7U0FDeEY7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBdUI7UUFDakMsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQW9CLEVBQUUsRUFBRTtZQUNyQyxJQUFJLENBQUMs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Q0FBQztDQUNGIiwic291cmNlc0NvbnRlbnQiOlsiIGltcG9ydCB7QmVoYXZpb3JTdWJqZWN0LCBPYnNlcnZhYmxlLCBTdWJqZWN0fSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHtDT05TVEFOVH0gZnJvbSAnLi9jb25zdGFudHMnO1xyXG5cclxuZXhwb3J0IGNsYXNzIE11bHRpbGV2ZWxNZW51U2VydmljZSB7XHJcbiAgZm91bmRMaW5rT2JqZWN0OiBNdWx0aWxldmVsTm9kZTtcclxuICBwcml2YXRlIGV4cGFuZENvbGxhcHNlU3RhdHVzOiBTdWJqZWN0PEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bT4gPSBuZXcgU3ViamVjdDxFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0+KCk7XHJcbiAgZXhwYW5kQ29sbGFwc2VTdGF0dXMkOiBPYnNlcnZhYmxlPEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bT4gPSB0aGlzLmV4cGFuZENvbGxhcHNlU3RhdHVzLmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIHNlbGVjdGVkTWVudUlEOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgc2VsZWN0ZWRNZW51SUQkOiBPYnNlcnZhYmxlPHN0cmluZz4gPSB0aGlzLnNlbGVjdGVkTWVudUlELmFzT2JzZXJ2YWJsZSgpO1xyXG5cclxuICBwcml2YXRlIGdlbmVyYXRlSWQoKTogc3RyaW5nIHtcclxuICAgIGxldCB0ZXh0ID0gJyc7XHJcbiAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcclxuICAgICAgdGV4dCArPSBDT05TVEFOVC5QT1NTSUJMRS5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogQ09OU1RBTlQuUE9TU0lCTEUubGVuZ3RoKSk7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gdGV4dDtcclxuICB9XHJcbiAgYWRkUmFuZG9tSWQobm9kZXM6IE11bHRpbGV2ZWxOb2RlW10pOiB2b2lkIHtcclxuICAgIG5vZGVzLmZvckVhY2goKG5vZGU6IE11bHRpbGV2ZWxOb2RlKSA9PiB7XHJcbiAgICAgIG5vZGUuaWQgPSB0aGlzLmdlbmVyYXRlSWQoKTtcclxuICAgICAgaWYgKG5vZGUuaXRlbXMgIT09IHVuZGVmaW5lZCkge1xyXG4gICAgICAgIHRoaXMuYWRkUmFuZG9tSWQobm9kZS5pdGVtcyk7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuICByZWN1cnNpdmVDaGVja0lkKG5vZGU6IE11bHRpbGV2ZWxOb2RlLCBub2RlSWQ6IHN0cmluZyk6IGJvb2xlYW4ge1xyXG4gICAgaWYgKG5vZGUuaWQgPT09IG5vZGVJZCkge1xyXG4gICAgICByZXR1cm4gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIGlmIChub2RlLml0ZW1zICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICByZXR1cm4gbm9kZS5pdGVtcy5zb21lKChuZXN0ZWROb2RlOiBNdWx0aWxldmVsTm9kZSkgPT4ge1xyXG4gICAgICAgICAgcmV0dXJuIHRoaXMucmVjdXJzaXZlQ2hlY2tJZChuZXN0ZWROb2RlLCBub2RlSWQpO1xyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcbiAgICB9XHJcbiAgfVxyXG4gIHByaXZhdGUgZmluZE5vZGVSZWN1cnNpdmVseSh7bm9kZXMsIGxpbmssIGlkfToge25vZGVzOiBNdWx0aWxldmVsTm9kZVtdLCBsaW5rPzogc3RyaW5nLCBpZD86IHN0cmluZ30pOiB2b2lkIHtcclxuICAgIGZvciAobGV0IG5vZGVJbmRleCA9IDA7IG5vZGVJbmRleCA8IG5vZGVzLmxlbmd0aDsgbm9kZUluZGV4KyspIHtcclxuICAgICAgY29uc3Qgbm9kZSA9IG5vZGVzW25vZGVJbmRleF07XHJcbiAgICAgIGZvciAoY29uc3Qga2V5IGluIG5vZGUpIHtcclxuICAgICAgICBpZiAobm9kZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICBpZiAoZW5jb2RlVVJJKG5vZGUubGluaykgPT09IGxpbmspIHtcclxuICAgICAgICAgICAgdGhpcy5mb3VuZExpbmtPYmplY3QgPSBub2RlO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChub2RlLmlkID09PSBpZCkge1xyXG4gICAgICAgICAgICB0aGlzLmZvdW5kTGlua09iamVjdCA9IG5vZGU7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAobm9kZS5pdGVtcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5maW5kTm9kZVJlY3Vyc2l2ZWx5KHtcclxuICAgICAgICAgICAgICAgIG5vZGVzOiBub2RlLml0ZW1zLFxyXG4gICAgICAgICAgICAgICAgbGluazogbGluayA/IGxpbmsgOiBudWxsLFxyXG4gICAgICAgICAgICAgICAgaWQ6IGlkID8gaWQgOiBudWxsXHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9XHJcbiAgICAgIH1cclxuICAgIH1cclxuICB9XHJcbiAgZ2V0TWF0Y2hlZE9iamVjdEJ5VXJsKG5vZGVzOiBNdWx0aWxldmVsTm9kZVtdLCBsaW5rOiBzdHJpbmcpOiBNdWx0aWxldmVsTm9kZSB7XHJcbiAgICB0aGlzLmZpbmROb2RlUmVjdXJzaXZlbHkoe25vZGVzLCBsaW5rfSk7XHJcbiAgICByZXR1cm4gdGhpcy5mb3VuZExpbmtPYmplY3Q7XHJcbiAgfVxyXG4gIGdldE1hdGNoZWRPYmplY3RCeUlkKG5vZGVzOiBNdWx0aWxldmVsTm9kZVtdLCBpZDogc3RyaW5nKTogTXVsdGlsZXZlbE5vZGUge1xyXG4gICAgdGhpcy5maW5kTm9kZVJlY3Vyc2l2ZWx5KHtub2RlcywgaWR9KTtcclxuICAgIHJldHVybiB0aGlzLmZvdW5kTGlua09iamVjdDtcclxuICB9XHJcbiAgLy8gb3ZlcnJpZGVzIGtleS12YWx1ZSBwaXBlJ3MgZGVmYXVsdCByZW9yZGVyaW5nIChieSBrZXkpIGJ5IGltcGxlbWVudGluZyBkdW1teSBjb21wcmFyZXIgZnVuY3Rpb25cclxuICAvLyBodHRwczovL2FuZ3VsYXIuaW8vYXBpL2NvbW1vbi9LZXlWYWx1ZVBpcGUjZGVzY3JpcHRpb25cclxuICBrdkR1bW15Q29tcGFyZXJGbigpIHtcclxuICAgIHJldHVybiAwO1xyXG4gIH1cclxuICBzZXRNZW51RXhwYW5kQ29sbGFwc2VTdGF0dXMoc3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0pOiB2b2lkIHtcclxuICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VTdGF0dXMubmV4dChzdGF0dXMgPyBzdGF0dXMgOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbCk7XHJcbiAgfVxyXG4gIHNlbGVjdE1lbnVCeUlEKG1lbnVJRDogc3RyaW5nKSB7XHJcbiAgICB0aGlzLnNlbGVjdGVkTWVudUlELm5leHQobWVudUlEKTtcclxuICAgIHJldHVybiB0aGlzLmZvdW5kTGlua09iamVjdDtcclxuICB9XHJcbn1cclxuIl19 \ No newline at end of file +export { MultilevelMenuService }; +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MultilevelMenuService, decorators: [{ + type: Injectable, + args: [{ + providedIn: 'root', + }] + }] }); +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibXVsdGlsZXZlbC1tZW51LnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9tdWx0aWxldmVsLW1lbnUuc2VydmljZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQzNDLE9BQU8sRUFBYyxPQUFPLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDM0MsT0FBTyxFQUFrQix3QkFBd0IsRUFBRSxNQUFNLGFBQWEsQ0FBQztBQUN2RSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDOztBQUV2QyxNQUdhLHFCQUFxQjtJQUM5QixlQUFlLENBQWlCO0lBQ3hCLG9CQUFvQixHQUFzQyxJQUFJLE9BQU8sRUFBNEIsQ0FBQztJQUMxRyxxQkFBcUIsR0FBeUMsSUFBSSxDQUFDLG9CQUFvQixDQUFDLFlBQVksRUFBRSxDQUFDO0lBRS9GLGNBQWMsR0FBb0IsSUFBSSxPQUFPLEVBQVUsQ0FBQztJQUNoRSxlQUFlLEdBQXVCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFakUsVUFBVTtRQUNkLElBQUksSUFBSSxHQUFHLEVBQUUsQ0FBQztRQUNkLEtBQUssSUFBSSxDQUFDLEdBQUcsQ0FBQyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUUsQ0FBQyxFQUFFLEVBQUU7WUFDekIsSUFBSSxJQUFJLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxHQUFHLFFBQVEsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQztTQUMxRjtRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2hCLENBQUM7SUFDRCxXQUFXLENBQUMsS0FBdUI7UUFDL0IsS0FBSyxDQUFDLE9BQU8sQ0FBQyxD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QUNqQyxPQUFPLElBQUksQ0FBQyxlQUFlLENBQUM7SUFDaEMsQ0FBQzt1R0EzRVEscUJBQXFCOzJHQUFyQixxQkFBcUIsY0FGbEIsTUFBTTs7U0FFVCxxQkFBcUI7MkZBQXJCLHFCQUFxQjtrQkFIakMsVUFBVTttQkFBQztvQkFDUixVQUFVLEVBQUUsTUFBTTtpQkFDckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBJbmplY3RhYmxlIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIFN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSB9IGZyb20gJy4vYXBwLm1vZGVsJztcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tICcuL2NvbnN0YW50cyc7XHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgICBwcm92aWRlZEluOiAncm9vdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNdWx0aWxldmVsTWVudVNlcnZpY2Uge1xyXG4gICAgZm91bmRMaW5rT2JqZWN0OiBNdWx0aWxldmVsTm9kZTtcclxuICAgIHByaXZhdGUgZXhwYW5kQ29sbGFwc2VTdGF0dXM6IFN1YmplY3Q8RXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtPiA9IG5ldyBTdWJqZWN0PEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bT4oKTtcclxuICAgIGV4cGFuZENvbGxhcHNlU3RhdHVzJDogT2JzZXJ2YWJsZTxFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0+ID0gdGhpcy5leHBhbmRDb2xsYXBzZVN0YXR1cy5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgICBwcml2YXRlIHNlbGVjdGVkTWVudUlEOiBTdWJqZWN0PHN0cmluZz4gPSBuZXcgU3ViamVjdDxzdHJpbmc+KCk7XHJcbiAgICBzZWxlY3RlZE1lbnVJRCQ6IE9ic2VydmFibGU8c3RyaW5nPiA9IHRoaXMuc2VsZWN0ZWRNZW51SUQuYXNPYnNlcnZhYmxlKCk7XHJcblxyXG4gICAgcHJpdmF0ZSBnZW5lcmF0ZUlkKCk6IHN0cmluZyB7XHJcbiAgICAgICAgbGV0IHRleHQgPSAnJztcclxuICAgICAgICBmb3IgKGxldCBpID0gMDsgaSA8IDIwOyBpKyspIHtcclxuICAgICAgICAgICAgdGV4dCArPSBDT05TVEFOVC5QT1NTSUJMRS5jaGFyQXQoTWF0aC5mbG9vcihNYXRoLnJhbmRvbSgpICogQ09OU1RBTlQuUE9TU0lCTEUubGVuZ3RoKSk7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHJldHVybiB0ZXh0O1xyXG4gICAgfVxyXG4gICAgYWRkUmFuZG9tSWQobm9kZXM6IE11bHRpbGV2ZWxOb2RlW10pOiB2b2lkIHtcclxuICAgICAgICBub2Rlcy5mb3JFYWNoKChub2RlOiBNdWx0aWxldmVsTm9kZSkgPT4ge1xyXG4gICAgICAgICAgICBub2RlLmlkID0gdGhpcy5nZW5lcmF0ZUlkKCk7XHJcbiAgICAgICAgICAgIGlmIChub2RlLml0ZW1zICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICAgIHRoaXMuYWRkUmFuZG9tSWQobm9kZS5pdGVtcyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuICAgIHJlY3Vyc2l2ZUNoZWNrSWQobm9kZTogTXVsdGlsZXZlbE5vZGUsIG5vZGVJZDogc3RyaW5nKTogYm9vbGVhbiB7XHJcbiAgICAgICAgaWYgKG5vZGUuaWQgPT09IG5vZGVJZCkge1xyXG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAobm9kZS5pdGVtcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICByZXR1cm4gbm9kZS5pdGVtcy5zb21lKChuZXN0ZWROb2RlOiBNdWx0aWxldmVsTm9kZSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgICAgIHJldHVybiB0aGlzLnJlY3Vyc2l2ZUNoZWNrSWQobmVzdGVkTm9kZSwgbm9kZUlkKTtcclxuICAgICAgICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG4gICAgcHJpdmF0ZSBmaW5kTm9kZVJlY3Vyc2l2ZWx5KHsgbm9kZXMsIGxpbmssIGlkIH06IHsgbm9kZXM6IE11bHRpbGV2ZWxOb2RlW107IGxpbms/OiBzdHJpbmc7IGlkPzogc3RyaW5nIH0pOiB2b2lkIHtcclxuICAgICAgICBmb3IgKGxldCBub2RlSW5kZXggPSAwOyBub2RlSW5kZXggPCBub2Rlcy5sZW5ndGg7IG5vZGVJbmRleCsrKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IG5vZGUgPSBub2Rlc1tub2RlSW5kZXhdO1xyXG4gICAgICAgICAgICBmb3IgKGNvbnN0IGtleSBpbiBub2RlKSB7XHJcbiAgICAgICAgICAgICAgICBpZiAobm9kZS5oYXNPd25Qcm9wZXJ0eShrZXkpKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgaWYgKGVuY29kZVVSSShub2RlLmxpbmspID09PSBsaW5rKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm91bmRMaW5rT2JqZWN0ID0gbm9kZTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2UgaWYgKG5vZGUuaWQgPT09IGlkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHRoaXMuZm91bmRMaW5rT2JqZWN0ID0gbm9kZTtcclxuICAgICAgICAgICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBpZiAobm9kZS5pdGVtcyAhPT0gdW5kZWZpbmVkKSB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB0aGlzLmZpbmROb2RlUmVjdXJzaXZlbHkoe1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIG5vZGVzOiBub2RlLml0ZW1zLFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxpbms6IGxpbmsgPyBsaW5rIDogbnVsbCxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZDogaWQgPyBpZCA6IG51bGwsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB9KTtcclxuICAgICAgICAgICAgICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgICAgIH1cclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgIH1cclxuICAgIGdldE1hdGNoZWRPYmplY3RCeVVybChub2RlczogTXVsdGlsZXZlbE5vZGVbXSwgbGluazogc3RyaW5nKTogTXVsdGlsZXZlbE5vZGUge1xyXG4gICAgICAgIHRoaXMuZmluZE5vZGVSZWN1cnNpdmVseSh7IG5vZGVzLCBsaW5rIH0pO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvdW5kTGlua09iamVjdDtcclxuICAgIH1cclxuICAgIGdldE1hdGNoZWRPYmplY3RCeUlkKG5vZGVzOiBNdWx0aWxldmVsTm9kZVtdLCBpZDogc3RyaW5nKTogTXVsdGlsZXZlbE5vZGUge1xyXG4gICAgICAgIHRoaXMuZmluZE5vZGVSZWN1cnNpdmVseSh7IG5vZGVzLCBpZCB9KTtcclxuICAgICAgICByZXR1cm4gdGhpcy5mb3VuZExpbmtPYmplY3Q7XHJcbiAgICB9XHJcbiAgICAvLyBvdmVycmlkZXMga2V5LXZhbHVlIHBpcGUncyBkZWZhdWx0IHJlb3JkZXJpbmcgKGJ5IGtleSkgYnkgaW1wbGVtZW50aW5nIGR1bW15IGNvbXByYXJlciBmdW5jdGlvblxyXG4gICAgLy8gaHR0cHM6Ly9hbmd1bGFyLmlvL2FwaS9jb21tb24vS2V5VmFsdWVQaXBlI2Rlc2NyaXB0aW9uXHJcbiAgICBrdkR1bW15Q29tcGFyZXJGbigpIHtcclxuICAgICAgICByZXR1cm4gMDtcclxuICAgIH1cclxuICAgIHNldE1lbnVFeHBhbmRDb2xsYXBzZVN0YXR1cyhzdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMuZXhwYW5kQ29sbGFwc2VTdGF0dXMubmV4dChzdGF0dXMgPyBzdGF0dXMgOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbCk7XHJcbiAgICB9XHJcbiAgICBzZWxlY3RNZW51QnlJRChtZW51SUQ6IHN0cmluZykge1xyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRNZW51SUQubmV4dChtZW51SUQpO1xyXG4gICAgICAgIHJldHVybiB0aGlzLmZvdW5kTGlua09iamVjdDtcclxuICAgIH1cclxufVxyXG4iXX0= \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs index 3ec3a4f..3dfe855 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.component.mjs @@ -1,9 +1,10 @@ -import { Component, Output, EventEmitter, Input, ContentChild, TemplateRef, } from "@angular/core"; -import { NavigationEnd, Router } from "@angular/router"; -import { ExpandCollapseStatusEnum, } from "./app.model"; -import { CONSTANT } from "./constants"; -import { MultilevelMenuService } from "./multilevel-menu.service"; -import { CommonUtils } from "./common-utils"; +import { Component, Output, EventEmitter, Input, ContentChild, TemplateRef, } from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { Subject, takeUntil } from 'rxjs'; +import { ExpandCollapseStatusEnum } from './app.model'; +import { CONSTANT } from './constants'; +import { MultilevelMenuService } from './multilevel-menu.service'; +import { CommonUtils } from './common-utils'; import * as i0 from "@angular/core"; import * as i1 from "@angular/router"; import * as i2 from "./multilevel-menu.service"; @@ -20,8 +21,14 @@ class NgMaterialMultilevelMenuComponent { selectedLabel = new EventEmitter(); menuIsReady = new EventEmitter(); listTemplate; - expandCollapseStatusSubscription = null; - selectMenuByIDSubscription = null; + stringConfigProperties = [ + 'classname', + 'backgroundColor', + 'listBackgroundColor', + 'fontColor', + 'selectedListFontColor', + ]; + destroyed$ = new Subject(); currentNode = null; nodeConfig = { paddingAtStart: true, @@ -41,137 +48,106 @@ class NgMaterialMultilevelMenuComponent { constructor(router, multilevelMenuService) { this.router = router; this.multilevelMenuService = multilevelMenuService; - // NOOP + } + ngOnInit() { + this.subscribeToRouterEvents(); } ngOnChanges() { - this.detectInvalidConfig(); + this.checkConfigAndData(); this.initExpandCollapseStatus(); this.initSelectedMenuID(); if (!this.isInvalidData) { this.menuIsReady.emit(this.items); } } - ngOnInit() { - if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && - this.configuration.interfaceWithRoute !== null && - this.configuration.interfaceWithRoute) { - this.router.events.subscribe((event) => { - if (event instanceof NavigationEnd) { - this.updateNodeByURL(event.urlAfterRedirects); - } - }); - this.updateNodeByURL(this.router.url); + ngOnDestroy() { + this.destroyed$.next(); + this.destroyed$.complete(); + } + subscribeToRouterEvents() { + if (this.configuration?.interfaceWithRoute === false) { + return; } + this.router.events.pipe(takeUntil(this.destroyed$)).subscribe((event) => { + if (event instanceof NavigationEnd) { + this.updateNodeByURL(event.urlAfterRedirects); + } + }); + this.updateNodeByURL(this.router.url); } updateNodeByURL(url) { const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && - !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) - // && !foundNode.disabled // Prevent route redirection for disabled menu - ) { - this.currentNode = foundNode; - if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && - !foundNode.dontEmit) { - this.selectedListItem(foundNode); - } + if (!foundNode || CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)) { + return; } + this.currentNode = foundNode; + if (CommonUtils.isNullOrUndefined(foundNode.dontEmit) || foundNode.dontEmit) { + return; + } + this.selectedListItem(foundNode); + } + checkConfigAndData() { + this.detectInvalidConfig(); + this.checkValidData(); } checkValidData() { - if (this.items === undefined || - (Array.isArray(this.items) && this.items.length === 0)) { + if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { console.warn(CONSTANT.ERROR_MESSAGE); return; } - this.items = this.items.filter((n) => !n.hidden); + this.items = this.items.filter((item) => !item.hidden); this.multilevelMenuService.addRandomId(this.items); this.isInvalidData = false; } detectInvalidConfig() { if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) { this.isInvalidConfig = true; + return; } - else { - this.isInvalidConfig = false; - const config = this.configuration; - if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && - typeof config.paddingAtStart === "boolean") { - this.nodeConfig.paddingAtStart = config.paddingAtStart; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { - this.nodeConfig.listBackgroundColor = config.listBackgroundColor; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) { - this.nodeConfig.fontColor = config.fontColor; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) { - this.nodeConfig.selectedListFontColor = config.selectedListFontColor; - } - if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && - typeof config.interfaceWithRoute === "boolean") { - this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; - } - if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && - typeof config.collapseOnSelect === "boolean") { - this.nodeConfig.collapseOnSelect = config.collapseOnSelect; - } - if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && - typeof config.highlightOnSelect === "boolean") { - this.nodeConfig.highlightOnSelect = config.highlightOnSelect; - } - if (!CommonUtils.isNullOrUndefined(config.useDividers) && - typeof config.useDividers === "boolean") { - this.nodeConfig.useDividers = config.useDividers; - } - if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && - typeof config.rtlLayout === "boolean") { - this.nodeConfig.rtlLayout = config.rtlLayout; - } - if (!CommonUtils.isNullOrUndefined(config.customTemplate) && - typeof config.customTemplate === "boolean") { - this.nodeConfig.customTemplate = config.customTemplate; - } + this.isInvalidConfig = false; + const config = this.configuration; + for (const property of Object.keys(config)) { + this.stringConfigProperties.some((item) => item === property) + ? this.setStringConfigProperty(property, config[property]) + : this.setBooleanConfigProperty(property, config[property]); } - this.checkValidData(); } initExpandCollapseStatus() { - this.expandCollapseStatusSubscription = - this.multilevelMenuService.expandCollapseStatus$.subscribe((expandCollapseStatus) => { - this.nodeExpandCollapseStatus = expandCollapseStatus - ? expandCollapseStatus - : ExpandCollapseStatusEnum.neutral; - }, () => { + this.multilevelMenuService.expandCollapseStatus$.pipe(takeUntil(this.destroyed$)).subscribe({ + next: (expandCollapseStatus) => { + this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; + }, + error: () => { this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - }); + }, + }); } initSelectedMenuID() { - this.selectMenuByIDSubscription = - this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); - } + this.multilevelMenuService.selectedMenuID$.pipe(takeUntil(this.destroyed$)).subscribe((selectedMenuID) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); + if (!foundNode) { + return; } - }); + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } + }); } getClassName() { - if (!this.isInvalidConfig && - !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { - return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; - } - return CONSTANT.DEFAULT_CLASS_NAME; + return this.isInvalidConfig || CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname) + ? CONSTANT.DEFAULT_CLASS_NAME + : `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; } getGlobalStyle() { - if (!this.isInvalidConfig) { - const styles = { - backgroundColor: null, - }; - if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { - styles.backgroundColor = this.configuration.backgroundColor; - } + const styles = { + backgroundColor: null, + }; + if (this.isInvalidConfig || CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { return styles; } + styles.backgroundColor = this.configuration.backgroundColor; + return styles; } isRtlLayout() { return this.nodeConfig.rtlLayout; @@ -182,25 +158,29 @@ class NgMaterialMultilevelMenuComponent { if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { return; } - if (event.items === undefined && - (!event.onSelected || typeof event.onSelected !== "function")) { - this.selectedItem.emit(event); - } - else { - this.selectedLabel.emit(event); + event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') + ? this.selectedItem.emit(event) + : this.selectedLabel.emit(event); + } + setStringConfigProperty(propertyName, value) { + if (CommonUtils.isNullOrUndefinedOrEmpty(value)) { + return; } + this.nodeConfig[propertyName] = value; } - ngOnDestroy() { - this.expandCollapseStatusSubscription.unsubscribe(); - this.selectMenuByIDSubscription.unsubscribe(); + setBooleanConfigProperty(propertyName, value) { + if (CommonUtils.isNullOrUndefined(value) || typeof value !== 'boolean') { + return; + } + this.nodeConfig[propertyName] = value; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, deps: [{ token: i1.Router }, { token: i2.MultilevelMenuService }], target: i0.ɵɵFactoryTarget.Component }); - static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NgMaterialMultilevelMenuComponent, selector: "ng-material-multilevel-menu", inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, queries: [{ propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i6.ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }] }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NgMaterialMultilevelMenuComponent, selector: "ng-material-multilevel-menu", inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, queries: [{ propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "\r\n \r\n \r\n \r\n \r\n\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: i6.ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }] }); } export { NgMaterialMultilevelMenuComponent }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, decorators: [{ type: Component, - args: [{ selector: "ng-material-multilevel-menu", template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] + args: [{ selector: 'ng-material-multilevel-menu', template: "\r\n \r\n \r\n \r\n \r\n\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: i2.MultilevelMenuService }]; }, propDecorators: { items: [{ type: Input }], configuration: [{ @@ -213,6 +193,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor type: Output }], listTemplate: [{ type: ContentChild, - args: ["listTemplate", { static: true }] + args: ['listTemplate', { static: true }] }] } }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNMLFNBQVMsRUFJVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCxZQUFZLEVBQ1osV0FBVyxHQUVaLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFFeEQsT0FBTyxFQUlMLHdCQUF3QixHQUN6QixNQUFNLGFBQWEsQ0FBQztBQUNyQixPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFFN0MsTUFLYSxpQ0FBaUM7SUFpQ2xDO0lBQ0Q7SUEvQkEsS0FBSyxDQUFtQjtJQUN4QixhQUFhLEdBQWtCLElBQUksQ0FBQztJQUNuQyxZQUFZLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFDbEQsYUFBYSxHQUFHLElBQUksWUFBWSxFQUFrQixDQUFDO0lBQ25ELFdBQVcsR0FBRyxJQUFJLFlBQVksRUFBb0IsQ0FBQztJQUU3RCxZQUFZLENBQTBCO0lBRXRDLGdDQUFnQyxHQUFpQixJQUFJLENBQUM7SUFDdEQsMEJBQTBCLEdBQWlCLElBQUksQ0FBQztJ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LENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLGdDQUFnQyxDQUFDLFdBQVcsRUFBRSxDQUFDO1FBQ3BELElBQUksQ0FBQywwQkFBMEIsQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNoRCxDQUFDO3VHQWxPVSxpQ0FBaUM7MkZBQWpDLGlDQUFpQyxtWEM3QjlDLDhwQkFnQkE7O1NEYWEsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0UsNkJBQTZCO2lJQU85QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFFUCxZQUFZO3NCQURYLFlBQVk7dUJBQUMsY0FBYyxFQUFFLEVBQUUsTUFBTSxFQUFFLElBQUksRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uQ2hhbmdlcyxcclxuICBPbkluaXQsXHJcbiAgT25EZXN0cm95LFxyXG4gIE91dHB1dCxcclxuICBFdmVudEVtaXR0ZXIsXHJcbiAgSW5wdXQsXHJcbiAgQ29udGVudENoaWxkLFxyXG4gIFRlbXBsYXRlUmVmLFxyXG4gIEVsZW1lbnRSZWYsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24gfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQge1xyXG4gIEJhY2tncm91bmRTdHlsZSxcclxuICBDb25maWd1cmF0aW9uLFxyXG4gIE11bHRpbGV2ZWxOb2RlLFxyXG4gIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSxcclxufSBmcm9tIFwiLi9hcHAubW9kZWxcIjtcclxuaW1wb3J0IHsgQ09OU1RBTlQgfSBmcm9tIFwiLi9jb25zdGFudHNcIjtcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE1lbnVTZXJ2aWNlIH0gZnJvbSBcIi4vbXVsdGlsZXZlbC1tZW51LnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgQ29tbW9uVXRpbHMgfSBmcm9tIFwiLi9jb21tb24tdXRpbHNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiBcIm5nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudVwiLFxyXG4gIHRlbXBsYXRlVXJsOiBcIi4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5odG1sXCIsXHJcbiAgc3R5bGVVcmxzOiBbXCIuL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQuY3NzXCJdLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50XHJcbiAgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95XHJcbntcclxuICBASW5wdXQoKSBpdGVtczogTXVsdGlsZXZlbE5vZGVbXTtcclxuICBASW5wdXQoKSBjb25maWd1cmF0aW9uOiBDb25maWd1cmF0aW9uID0gbnVsbDtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuICBAT3V0cHV0KCkgc2VsZWN0ZWRMYWJlbCA9IG5ldyBFdmVudEVtaXR0ZXI8TXVsdGlsZXZlbE5vZGU+KCk7XHJcbiAgQE91dHB1dCgpIG1lbnVJc1JlYWR5ID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZVtdPigpO1xyXG4gIEBDb250ZW50Q2hpbGQoXCJsaXN0VGVtcGxhdGVcIiwgeyBzdGF0aWM6IHRydWUgfSlcclxuICBsaXN0VGVtcGxhdGU6IFRlbXBsYXRlUmVmPEVsZW1lbnRSZWY+O1xyXG5cclxuICBleHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBzZWxlY3RNZW51QnlJRFN1YnNjcmlwdGlvbjogU3Vic2NyaXB0aW9uID0gbnVsbDtcclxuICBjdXJyZW50Tm9kZTogTXVsdGlsZXZlbE5vZGUgPSBudWxsO1xyXG5cclxuICBub2RlQ29uZmlnOiBDb25maWd1cmF0aW9uID0ge1xyXG4gICAgcGFkZGluZ0F0U3RhcnQ6IHRydWUsXHJcbiAgICBsaXN0QmFja2dyb3VuZENvbG9yOiBudWxsLFxyXG4gICAgZm9udENvbG9yOiBudWxsLFxyXG4gICAgc2VsZWN0ZWRMaXN0Rm9udENvbG9yOiBudWxsLFxyXG4gICAgaW50ZXJmYWNlV2l0aFJvdXRlOiBudWxsLFxyXG4gICAgY29sbGFwc2VPblNlbGVjdDogbnVsbCxcclxuICAgIGhpZ2hsaWdodE9uU2VsZWN0OiBmYWxzZSxcclxuICAgIHVzZURpdmlkZXJzOiB0cnVlLFxyXG4gICAgcnRsTGF5b3V0OiBmYWxzZSxcclxuICAgIGN1c3RvbVRlbXBsYXRlOiBmYWxzZSxcclxuICB9O1xyXG4gIGlzSW52YWxpZENvbmZpZyA9IHRydWU7XHJcbiAgaXNJbnZhbGlkRGF0YSA9IHRydWU7XHJcbiAgbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0gPVxyXG4gICAgRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcblxyXG4gIGNvbnN0cnVjdG9yKFxyXG4gICAgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICAgIHB1YmxpYyBtdWx0aWxldmVsTWVudVNlcnZpY2U6IE11bHRpbGV2ZWxNZW51U2VydmljZVxyXG4gICkge1xyXG4gICAgLy8gTk9PUFxyXG4gIH1cclxuICBuZ09uQ2hhbmdlcygpIHtcclxuICAgIHRoaXMuZGV0ZWN0SW52YWxpZENvbmZpZygpO1xyXG4gICAgdGhpcy5pbml0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTtcclxuICAgIHRoaXMuaW5pdFNlbGVjdGVkTWVudUlEKCk7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkRGF0YSkge1xyXG4gICAgICB0aGlzLm1lbnVJc1JlYWR5LmVtaXQodGhpcy5pdGVtcyk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKFxyXG4gICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KHRoaXMuY29uZmlndXJhdGlvbikgJiZcclxuICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmludGVyZmFjZVdpdGhSb3V0ZSAhPT0gbnVsbCAmJlxyXG4gICAgICB0aGlzLmNvbmZpZ3VyYXRpb24uaW50ZXJmYWNlV2l0aFJvdXRlXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTChldmVudC51cmxBZnRlclJlZGlyZWN0cyk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICAgICAgdGhpcy51cGRhdGVOb2RlQnlVUkwodGhpcy5yb3V0ZXIudXJsKTtcclxuICAgIH1cclxuICB9XHJcbiAgdXBkYXRlTm9kZUJ5VVJMKHVybDogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBmb3VuZE5vZGUgPSB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5nZXRNYXRjaGVkT2JqZWN0QnlVcmwoXHJcbiAgICAgIHRoaXMuaXRlbXMsXHJcbiAgICAgIHVybFxyXG4gICAgKTtcclxuICAgIGlmIChcclxuICAgICAgZm91bmROb2RlICE9PSB1bmRlZmluZWQgJiZcclxuICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShmb3VuZE5vZGUubGluaylcclxuICAgICAgLy8gJiYgIWZvdW5kTm9kZS5kaXNhYmxlZCAvLyBQcmV2ZW50IHJvdXRlIHJlZGlyZWN0aW9uIGZvciBkaXNhYmxlZCBtZW51XHJcbiAgICApIHtcclxuICAgICAgdGhpcy5jdXJyZW50Tm9kZSA9IGZvdW5kTm9kZTtcclxuICAgICAgaWYgKFxyXG4gICAgICAgICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChmb3VuZE5vZGUuZG9udEVtaXQpICYmXHJcbiAgICAgICAgIWZvdW5kTm9kZS5kb250RW1pdFxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLnNlbGVjdGVkTGlzdEl0ZW0oZm91bmROb2RlKTtcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuICBjaGVja1ZhbGlkRGF0YSgpOiB2b2lkIHtcclxuICAgIGlmIChcclxuICAgICAgdGhpcy5pdGVtcyA9PT0gdW5kZWZpbmVkIHx8XHJcbiAgICAgIChBcnJheS5pc0FycmF5KHRoaXMuaXRlbXMpICYmIHRoaXMuaXRlbXMubGVuZ3RoID09PSAwKVxyXG4gICAgKSB7XHJcbiAgICAgIGNvbnNvbGUud2FybihDT05TVEFOVC5FUlJPUl9NRVNTQUdFKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgdGhpcy5pdGVtcyA9IHRoaXMuaXRlbXMuZmlsdGVyKChuKSA9PiAhbi5oaWRkZW4pO1xyXG4gICAgdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuYWRkUmFuZG9tSWQodGhpcy5pdGVtcyk7XHJcbiAgICB0aGlzLmlzSW52YWxpZERhdGEgPSBmYWxzZTtcclxuICB9XHJcbiAgZGV0ZWN0SW52YWxpZENvbmZpZygpOiB2b2lkIHtcclxuICAgIGlmIChDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uKSkge1xyXG4gICAgICB0aGlzLmlzSW52YWxpZENvbmZpZyA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzSW52YWxpZENvbmZpZyA9IGZhbHNlO1xyXG4gICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLnBhZGRpbmdBdFN0YXJ0KSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcucGFkZGluZ0F0U3RhcnQgPT09IFwiYm9vbGVhblwiXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5wYWRkaW5nQXRTdGFydCA9IGNvbmZpZy5wYWRkaW5nQXRTdGFydDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkT3JFbXB0eShjb25maWcubGlzdEJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcubGlzdEJhY2tncm91bmRDb2xvciA9IGNvbmZpZy5saXN0QmFja2dyb3VuZENvbG9yO1xyXG4gICAgICB9XHJcbiAgICAgIGlmICghQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KGNvbmZpZy5mb250Q29sb3IpKSB7XHJcbiAgICAgICAgdGhpcy5ub2RlQ29uZmlnLmZvbnRDb2xvciA9IGNvbmZpZy5mb250Q29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoY29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvcikpIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuc2VsZWN0ZWRMaXN0Rm9udENvbG9yID0gY29uZmlnLnNlbGVjdGVkTGlzdEZvbnRDb2xvcjtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGUpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGUgPT09IFwiYm9vbGVhblwiXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5pbnRlcmZhY2VXaXRoUm91dGUgPSBjb25maWcuaW50ZXJmYWNlV2l0aFJvdXRlO1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLmNvbGxhcHNlT25TZWxlY3QpICYmXHJcbiAgICAgICAgdHlwZW9mIGNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0ID09PSBcImJvb2xlYW5cIlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuY29sbGFwc2VPblNlbGVjdCA9IGNvbmZpZy5jb2xsYXBzZU9uU2VsZWN0O1xyXG4gICAgICB9XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWQoY29uZmlnLmhpZ2hsaWdodE9uU2VsZWN0KSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcuaGlnaGxpZ2h0T25TZWxlY3QgPT09IFwiYm9vbGVhblwiXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZy5oaWdobGlnaHRPblNlbGVjdCA9IGNvbmZpZy5oaWdobGlnaHRPblNlbGVjdDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy51c2VEaXZpZGVycykgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLnVzZURpdmlkZXJzID09PSBcImJvb2xlYW5cIlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcudXNlRGl2aWRlcnMgPSBjb25maWcudXNlRGl2aWRlcnM7XHJcbiAgICAgIH1cclxuICAgICAgaWYgKFxyXG4gICAgICAgICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChjb25maWcucnRsTGF5b3V0KSAmJlxyXG4gICAgICAgIHR5cGVvZiBjb25maWcucnRsTGF5b3V0ID09PSBcImJvb2xlYW5cIlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcucnRsTGF5b3V0ID0gY29uZmlnLnJ0bExheW91dDtcclxuICAgICAgfVxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGNvbmZpZy5jdXN0b21UZW1wbGF0ZSkgJiZcclxuICAgICAgICB0eXBlb2YgY29uZmlnLmN1c3RvbVRlbXBsYXRlID09PSBcImJvb2xlYW5cIlxyXG4gICAgICApIHtcclxuICAgICAgICB0aGlzLm5vZGVDb25maWcuY3VzdG9tVGVtcGxhdGUgPSBjb25maWcuY3VzdG9tVGVtcGxhdGU7XHJcbiAgICAgIH1cclxuICAgIH1cclxuICAgIHRoaXMuY2hlY2tWYWxpZERhdGEoKTtcclxuICB9XHJcbiAgaW5pdEV4cGFuZENvbGxhcHNlU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgdGhpcy5leHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbiA9XHJcbiAgICAgIHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmV4cGFuZENvbGxhcHNlU3RhdHVzJC5zdWJzY3JpYmUoXHJcbiAgICAgICAgKGV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0pID0+IHtcclxuICAgICAgICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gZXhwYW5kQ29sbGFwc2VTdGF0dXNcclxuICAgICAgICAgICAgPyBleHBhbmRDb2xsYXBzZVN0YXR1c1xyXG4gICAgICAgICAgICA6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuICAgICAgICB9XHJcbiAgICAgICk7XHJcbiAgfVxyXG4gIGluaXRTZWxlY3RlZE1lbnVJRCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0TWVudUJ5SURTdWJzY3JpcHRpb24gPVxyXG4gICAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5zZWxlY3RlZE1lbnVJRCQuc3Vic2NyaWJlKFxyXG4gICAgICAgIChzZWxlY3RlZE1lbnVJRDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICBpZiAoc2VsZWN0ZWRNZW51SUQpIHtcclxuICAgICAgICAgICAgY29uc3QgZm91bmROb2RlID0gdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuZ2V0TWF0Y2hlZE9iamVjdEJ5SWQoXHJcbiAgICAgICAgICAgICAgdGhpcy5pdGVtcyxcclxuICAgICAgICAgICAgICBzZWxlY3RlZE1lbnVJRFxyXG4gICAgICAgICAgICApO1xyXG4gICAgICAgICAgICBpZiAoZm91bmROb2RlICE9PSB1bmRlZmluZWQpIHtcclxuICAgICAgICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gZm91bmROb2RlO1xyXG4gICAgICAgICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShmb3VuZE5vZGUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gIH1cclxuICBnZXRDbGFzc05hbWUoKTogc3RyaW5nIHtcclxuICAgIGlmIChcclxuICAgICAgIXRoaXMuaXNJbnZhbGlkQ29uZmlnICYmXHJcbiAgICAgICFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uLmNsYXNzbmFtZSlcclxuICAgICkge1xyXG4gICAgICByZXR1cm4gYCR7Q09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FfSAke3RoaXMuY29uZmlndXJhdGlvbi5jbGFzc25hbWV9YDtcclxuICAgIH1cclxuICAgIHJldHVybiBDT05TVEFOVC5ERUZBVUxUX0NMQVNTX05BTUU7XHJcbiAgfVxyXG4gIGdldEdsb2JhbFN0eWxlKCk6IEJhY2tncm91bmRTdHlsZSB7XHJcbiAgICBpZiAoIXRoaXMuaXNJbnZhbGlkQ29uZmlnKSB7XHJcbiAgICAgIGNvbnN0IHN0eWxlcyA9IHtcclxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6IG51bGwsXHJcbiAgICAgIH07XHJcbiAgICAgIGlmIChcclxuICAgICAgICAhQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KFxyXG4gICAgICAgICAgdGhpcy5jb25maWd1cmF0aW9uLmJhY2tncm91bmRDb2xvclxyXG4gICAgICAgIClcclxuICAgICAgKSB7XHJcbiAgICAgICAgc3R5bGVzLmJhY2tncm91bmRDb2xvciA9IHRoaXMuY29uZmlndXJhdGlvbi5iYWNrZ3JvdW5kQ29sb3I7XHJcbiAgICAgIH1cclxuICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgIH1cclxuICB9XHJcbiAgaXNSdGxMYXlvdXQoKTogYm9vbGVhbiB7XHJcbiAgICByZXR1cm4gdGhpcy5ub2RlQ29uZmlnLnJ0bExheW91dDtcclxuICB9XHJcbiAgc2VsZWN0ZWRMaXN0SXRlbShldmVudDogTXVsdGlsZXZlbE5vZGUpOiB2b2lkIHtcclxuICAgIHRoaXMubm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzID0gRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICB0aGlzLmN1cnJlbnROb2RlID0gZXZlbnQ7XHJcbiAgICBpZiAoIUNvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGV2ZW50LmRvbnRFbWl0KSAmJiBldmVudC5kb250RW1pdCkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBpZiAoXHJcbiAgICAgIGV2ZW50Lml0ZW1zID09PSB1bmRlZmluZWQgJiZcclxuICAgICAgKCFldmVudC5vblNlbGVjdGVkIHx8IHR5cGVvZiBldmVudC5vblNlbGVjdGVkICE9PSBcImZ1bmN0aW9uXCIpXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChldmVudCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkTGFiZWwuZW1pdChldmVudCk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy5leHBhbmRDb2xsYXBzZVN0YXR1c1N1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gICAgdGhpcy5zZWxlY3RNZW51QnlJRFN1YnNjcmlwdGlvbi51bnN1YnNjcmliZSgpO1xyXG4gIH1cclxufVxyXG4iLCI8ZGl2IFtuZ0NsYXNzXT1cImdldENsYXNzTmFtZSgpXCIgW25nU3R5bGVdPVwiZ2V0R2xvYmFsU3R5bGUoKVwiICpuZ0lmPSchaXNJbnZhbGlkRGF0YSAmJiBpdGVtcy5sZW5ndGggIT09IDAnIFtkaXJdPVwiaXNSdGxMYXlvdXQoKSA/ICdydGwnIDogJ2x0cidcIj5cclxuICA8bWF0LWxpc3Q+XHJcbiAgICA8bmctbGlzdC1pdGVtXHJcbiAgICAgICpuZ0Zvcj1cImxldCBub2RlIG9mIGl0ZW1zIHwga2V5dmFsdWU6IG11bHRpbGV2ZWxNZW51U2VydmljZS5rdkR1bW15Q29tcGFyZXJGblwiXHJcbiAgICAgIFtub2RlQ29uZmlndXJhdGlvbl09J25vZGVDb25maWcnXHJcbiAgICAgIFtub2RlXT0nbm9kZS52YWx1ZSdcclxuICAgICAgW2xldmVsXT1cIjFcIlxyXG4gICAgICBbc3VibWVudUxldmVsXT1cIm5vZGUua2V5XCJcclxuICAgICAgW3NlbGVjdGVkTm9kZV09J2N1cnJlbnROb2RlJ1xyXG4gICAgICBbbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzXT0nbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzJ1xyXG4gICAgICAoc2VsZWN0ZWRJdGVtKT1cInNlbGVjdGVkTGlzdEl0ZW0oJGV2ZW50KVwiXHJcbiAgICAgIFtsaXN0VGVtcGxhdGVdID0gXCJsaXN0VGVtcGxhdGVcIlxyXG4gICAgPlxyXG4gICAgPC9uZy1saXN0LWl0ZW0+XHJcbiAgPC9tYXQtbGlzdD5cclxuPC9kaXY+XHJcbiJdfQ== \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUvc3JjL2xpYi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUNILFNBQVMsRUFJVCxNQUFNLEVBQ04sWUFBWSxFQUNaLEtBQUssRUFDTCxZQUFZLEVBQ1osV0FBVyxHQUVkLE1BQU0sZUFBZSxDQUFDO0FBQ3ZCLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDeEQsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7QUFDMUMsT0FBTyxFQUFpQyx3QkFBd0IsRUFBYSxNQUFNLGFBQWEsQ0FBQztBQUNqRyxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sYUFBYSxDQUFDO0FBQ3ZDLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxXQUFXLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQzs7Ozs7Ozs7QUFFN0MsTUFLYSxpQ0FBaUM7SUFxQ3RCO0lBQXVCO0lBcENsQyxLQUFLLENBQW1CO0lBQ3hCLGFBQWEsR0FBa0IsSUFBSSxDQUFDO0lBQ25DLFlBQVksR0FBRyxJQUFJLFlBQVksRUFBa0IsQ0FBQztJQUNsRCxhQUFhLEdBQUcsSUFBSSxZQUFZLEVBQWtCLENBQUM7SUFDbkQsV0FBVyxHQUFHLElBQUksWUFBWSxFQUFvQixDQUFDO0lBQ2IsWUFBWSxDQUEwQjtJQUVyRSxz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LFlBQW9CLEVBQUUsS0FBYTtRQUMvRCxJQUFJLFdBQVcsQ0FBQyx3QkFBd0IsQ0FBQyxLQUFLLENBQUMsRUFBRTtZQUM3QyxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxQyxDQUFDO0lBRU8sd0JBQXdCLENBQUMsWUFBb0IsRUFBRSxLQUFjO1FBQ2pFLElBQUksV0FBVyxDQUFDLGlCQUFpQixDQUFDLEtBQUssQ0FBQyxJQUFJLE9BQU8sS0FBSyxLQUFLLFNBQVMsRUFBRTtZQUNwRSxPQUFPO1NBQ1Y7UUFFRCxJQUFJLENBQUMsVUFBVSxDQUFDLFlBQVksQ0FBQyxHQUFHLEtBQUssQ0FBQztJQUMxQyxDQUFDO3VHQTlMUSxpQ0FBaUM7MkZBQWpDLGlDQUFpQyxtWEN4QjlDLGt2QkFtQkE7O1NES2EsaUNBQWlDOzJGQUFqQyxpQ0FBaUM7a0JBTDdDLFNBQVM7K0JBQ0ksNkJBQTZCO2lJQUs5QixLQUFLO3NCQUFiLEtBQUs7Z0JBQ0csYUFBYTtzQkFBckIsS0FBSztnQkFDSSxZQUFZO3NCQUFyQixNQUFNO2dCQUNHLGFBQWE7c0JBQXRCLE1BQU07Z0JBQ0csV0FBVztzQkFBcEIsTUFBTTtnQkFDeUMsWUFBWTtzQkFBM0QsWUFBWTt1QkFBQyxjQUFjLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICAgIENvbXBvbmVudCxcclxuICAgIE9uQ2hhbmdlcyxcclxuICAgIE9uSW5pdCxcclxuICAgIE9uRGVzdHJveSxcclxuICAgIE91dHB1dCxcclxuICAgIEV2ZW50RW1pdHRlcixcclxuICAgIElucHV0LFxyXG4gICAgQ29udGVudENoaWxkLFxyXG4gICAgVGVtcGxhdGVSZWYsXHJcbiAgICBFbGVtZW50UmVmLFxyXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOYXZpZ2F0aW9uRW5kLCBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgQ29uZmlndXJhdGlvbiwgTXVsdGlsZXZlbE5vZGUsIEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSwgTGlzdFN0eWxlIH0gZnJvbSAnLi9hcHAubW9kZWwnO1xyXG5pbXBvcnQgeyBDT05TVEFOVCB9IGZyb20gJy4vY29uc3RhbnRzJztcclxuaW1wb3J0IHsgTXVsdGlsZXZlbE1lbnVTZXJ2aWNlIH0gZnJvbSAnLi9tdWx0aWxldmVsLW1lbnUuc2VydmljZSc7XHJcbmltcG9ydCB7IENvbW1vblV0aWxzIH0gZnJvbSAnLi9jb21tb24tdXRpbHMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgICBzZWxlY3RvcjogJ25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudScsXHJcbiAgICB0ZW1wbGF0ZVVybDogJy4vbmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICAgIHN0eWxlVXJsczogWycuL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5jb21wb25lbnQuY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uQ2hhbmdlcywgT25EZXN0cm95IHtcclxuICAgIEBJbnB1dCgpIGl0ZW1zOiBNdWx0aWxldmVsTm9kZVtdO1xyXG4gICAgQElucHV0KCkgY29uZmlndXJhdGlvbjogQ29uZmlndXJhdGlvbiA9IG51bGw7XHJcbiAgICBAT3V0cHV0KCkgc2VsZWN0ZWRJdGVtID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuICAgIEBPdXRwdXQoKSBzZWxlY3RlZExhYmVsID0gbmV3IEV2ZW50RW1pdHRlcjxNdWx0aWxldmVsTm9kZT4oKTtcclxuICAgIEBPdXRwdXQoKSBtZW51SXNSZWFkeSA9IG5ldyBFdmVudEVtaXR0ZXI8TXVsdGlsZXZlbE5vZGVbXT4oKTtcclxuICAgIEBDb250ZW50Q2hpbGQoJ2xpc3RUZW1wbGF0ZScsIHsgc3RhdGljOiB0cnVlIH0pIGxpc3RUZW1wbGF0ZTogVGVtcGxhdGVSZWY8RWxlbWVudFJlZj47XHJcblxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBzdHJpbmdDb25maWdQcm9wZXJ0aWVzID0gW1xyXG4gICAgICAgICdjbGFzc25hbWUnLFxyXG4gICAgICAgICdiYWNrZ3JvdW5kQ29sb3InLFxyXG4gICAgICAgICdsaXN0QmFja2dyb3VuZENvbG9yJyxcclxuICAgICAgICAnZm9udENvbG9yJyxcclxuICAgICAgICAnc2VsZWN0ZWRMaXN0Rm9udENvbG9yJyxcclxuICAgIF07XHJcblxyXG4gICAgcHJpdmF0ZSBkZXN0cm95ZWQkID0gbmV3IFN1YmplY3Q8dm9pZD4oKTtcclxuXHJcbiAgICBjdXJyZW50Tm9kZTogTXVsdGlsZXZlbE5vZGUgPSBudWxsO1xyXG5cclxuICAgIG5vZGVDb25maWc6IENvbmZpZ3VyYXRpb24gPSB7XHJcbiAgICAgICAgcGFkZGluZ0F0U3RhcnQ6IHRydWUsXHJcbiAgICAgICAgbGlzdEJhY2tncm91bmRDb2xvcjogbnVsbCxcclxuICAgICAgICBmb250Q29sb3I6IG51bGwsXHJcbiAgICAgICAgc2VsZWN0ZWRMaXN0Rm9udENvbG9yOiBudWxsLFxyXG4gICAgICAgIGludGVyZmFjZVdpdGhSb3V0ZTogbnVsbCxcclxuICAgICAgICBjb2xsYXBzZU9uU2VsZWN0OiBudWxsLFxyXG4gICAgICAgIGhpZ2hsaWdodE9uU2VsZWN0OiBmYWxzZSxcclxuICAgICAgICB1c2VEaXZpZGVyczogdHJ1ZSxcclxuICAgICAgICBydGxMYXlvdXQ6IGZhbHNlLFxyXG4gICAgICAgIGN1c3RvbVRlbXBsYXRlOiBmYWxzZSxcclxuICAgIH07XHJcblxyXG4gICAgaXNJbnZhbGlkQ29uZmlnID0gdHJ1ZTtcclxuICAgIGlzSW52YWxpZERhdGEgPSB0cnVlO1xyXG4gICAgbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzOiBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0gPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuXHJcbiAgICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwdWJsaWMgbXVsdGlsZXZlbE1lbnVTZXJ2aWNlOiBNdWx0aWxldmVsTWVudVNlcnZpY2UpIHt9XHJcblxyXG4gICAgbmdPbkluaXQoKSB7XHJcbiAgICAgICAgdGhpcy5zdWJzY3JpYmVUb1JvdXRlckV2ZW50cygpO1xyXG4gICAgfVxyXG5cclxuICAgIG5nT25DaGFuZ2VzKCkge1xyXG4gICAgICAgIHRoaXMuY2hlY2tDb25maWdBbmREYXRhKCk7XHJcbiAgICAgICAgdGhpcy5pbml0RXhwYW5kQ29sbGFwc2VTdGF0dXMoKTtcclxuICAgICAgICB0aGlzLmluaXRTZWxlY3RlZE1lbnVJRCgpO1xyXG5cclxuICAgICAgICBpZiAoIXRoaXMuaXNJbnZhbGlkRGF0YSkge1xyXG4gICAgICAgICAgICB0aGlzLm1lbnVJc1JlYWR5LmVtaXQodGhpcy5pdGVtcyk7XHJcbiAgICAgICAgfVxyXG4gICAgfVxyXG5cclxuICAgIG5nT25EZXN0cm95KCkge1xyXG4gICAgICAgIHRoaXMuZGVzdHJveWVkJC5uZXh0KCk7XHJcbiAgICAgICAgdGhpcy5kZXN0cm95ZWQkLmNvbXBsZXRlKCk7XHJcbiAgICB9XHJcblxyXG4gICAgc3Vic2NyaWJlVG9Sb3V0ZXJFdmVudHMoKSB7XHJcbiAgICAgICAgaWYgKHRoaXMuY29uZmlndXJhdGlvbj8uaW50ZXJmYWNlV2l0aFJvdXRlID09PSBmYWxzZSkge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLnJvdXRlci5ldmVudHMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKChldmVudCkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uRW5kKSB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTChldmVudC51cmxBZnRlclJlZGlyZWN0cyk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgICB0aGlzLnVwZGF0ZU5vZGVCeVVSTCh0aGlzLnJvdXRlci51cmwpO1xyXG4gICAgfVxyXG5cclxuICAgIHVwZGF0ZU5vZGVCeVVSTCh1cmw6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGNvbnN0IGZvdW5kTm9kZSA9IHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmdldE1hdGNoZWRPYmplY3RCeVVybCh0aGlzLml0ZW1zLCB1cmwpO1xyXG5cclxuICAgICAgICBpZiAoIWZvdW5kTm9kZSB8fCBDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkoZm91bmROb2RlLmxpbmspKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuY3VycmVudE5vZGUgPSBmb3VuZE5vZGU7XHJcbiAgICAgICAgaWYgKENvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKGZvdW5kTm9kZS5kb250RW1pdCkgfHwgZm91bmROb2RlLmRvbnRFbWl0KSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRMaXN0SXRlbShmb3VuZE5vZGUpO1xyXG4gICAgfVxyXG5cclxuICAgIGNoZWNrQ29uZmlnQW5kRGF0YSgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLmRldGVjdEludmFsaWRDb25maWcoKTtcclxuICAgICAgICB0aGlzLmNoZWNrVmFsaWREYXRhKCk7XHJcbiAgICB9XHJcblxyXG4gICAgY2hlY2tWYWxpZERhdGEoKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKHRoaXMuaXRlbXMgPT09IHVuZGVmaW5lZCB8fCAoQXJyYXkuaXNBcnJheSh0aGlzLml0ZW1zKSAmJiB0aGlzLml0ZW1zLmxlbmd0aCA9PT0gMCkpIHtcclxuICAgICAgICAgICAgY29uc29sZS53YXJuKENPTlNUQU5ULkVSUk9SX01FU1NBR0UpO1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuaXRlbXMgPSB0aGlzLml0ZW1zLmZpbHRlcigoaXRlbSkgPT4gIWl0ZW0uaGlkZGVuKTtcclxuICAgICAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5hZGRSYW5kb21JZCh0aGlzLml0ZW1zKTtcclxuICAgICAgICB0aGlzLmlzSW52YWxpZERhdGEgPSBmYWxzZTtcclxuICAgIH1cclxuXHJcbiAgICBkZXRlY3RJbnZhbGlkQ29uZmlnKCk6IHZvaWQge1xyXG4gICAgICAgIGlmIChDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uKSkge1xyXG4gICAgICAgICAgICB0aGlzLmlzSW52YWxpZENvbmZpZyA9IHRydWU7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5pc0ludmFsaWRDb25maWcgPSBmYWxzZTtcclxuICAgICAgICBjb25zdCBjb25maWcgPSB0aGlzLmNvbmZpZ3VyYXRpb247XHJcblxyXG4gICAgICAgIGZvciAoY29uc3QgcHJvcGVydHkgb2YgT2JqZWN0LmtleXMoY29uZmlnKSkge1xyXG4gICAgICAgICAgICB0aGlzLnN0cmluZ0NvbmZpZ1Byb3BlcnRpZXMuc29tZSgoaXRlbSkgPT4gaXRlbSA9PT0gcHJvcGVydHkpXHJcbiAgICAgICAgICAgICAgICA/IHRoaXMuc2V0U3RyaW5nQ29uZmlnUHJvcGVydHkocHJvcGVydHksIGNvbmZpZ1twcm9wZXJ0eV0pXHJcbiAgICAgICAgICAgICAgICA6IHRoaXMuc2V0Qm9vbGVhbkNvbmZpZ1Byb3BlcnR5KHByb3BlcnR5LCBjb25maWdbcHJvcGVydHldKTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcblxyXG4gICAgaW5pdEV4cGFuZENvbGxhcHNlU3RhdHVzKCk6IHZvaWQge1xyXG4gICAgICAgIHRoaXMubXVsdGlsZXZlbE1lbnVTZXJ2aWNlLmV4cGFuZENvbGxhcHNlU3RhdHVzJC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3llZCQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgICBuZXh0OiAoZXhwYW5kQ29sbGFwc2VTdGF0dXM6IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bSkgPT4ge1xyXG4gICAgICAgICAgICAgICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBleHBhbmRDb2xsYXBzZVN0YXR1cyA/IGV4cGFuZENvbGxhcHNlU3RhdHVzIDogRXhwYW5kQ29sbGFwc2VTdGF0dXNFbnVtLm5ldXRyYWw7XHJcbiAgICAgICAgICAgIH0sXHJcbiAgICAgICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICAgICAgICB0aGlzLm5vZGVFeHBhbmRDb2xsYXBzZVN0YXR1cyA9IEV4cGFuZENvbGxhcHNlU3RhdHVzRW51bS5uZXV0cmFsO1xyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfVxyXG5cclxuICAgIGluaXRTZWxlY3RlZE1lbnVJRCgpOiB2b2lkIHtcclxuICAgICAgICB0aGlzLm11bHRpbGV2ZWxNZW51U2VydmljZS5zZWxlY3RlZE1lbnVJRCQucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95ZWQkKSkuc3Vic2NyaWJlKChzZWxlY3RlZE1lbnVJRDogc3RyaW5nKSA9PiB7XHJcbiAgICAgICAgICAgIGlmIChzZWxlY3RlZE1lbnVJRCkge1xyXG4gICAgICAgICAgICAgICAgY29uc3QgZm91bmROb2RlID0gdGhpcy5tdWx0aWxldmVsTWVudVNlcnZpY2UuZ2V0TWF0Y2hlZE9iamVjdEJ5SWQodGhpcy5pdGVtcywgc2VsZWN0ZWRNZW51SUQpO1xyXG4gICAgICAgICAgICAgICAgaWYgKCFmb3VuZE5vZGUpIHtcclxuICAgICAgICAgICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgICAgICAgICB9XHJcbiAgICAgICAgICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gZm91bmROb2RlO1xyXG4gICAgICAgICAgICAgICAgdGhpcy5zZWxlY3RlZExpc3RJdGVtKGZvdW5kTm9kZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBnZXRDbGFzc05hbWUoKTogc3RyaW5nIHtcclxuICAgICAgICByZXR1cm4gdGhpcy5pc0ludmFsaWRDb25maWcgfHwgQ29tbW9uVXRpbHMuaXNOdWxsT3JVbmRlZmluZWRPckVtcHR5KHRoaXMuY29uZmlndXJhdGlvbi5jbGFzc25hbWUpXHJcbiAgICAgICAgICAgID8gQ09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FXHJcbiAgICAgICAgICAgIDogYCR7Q09OU1RBTlQuREVGQVVMVF9DTEFTU19OQU1FfSAke3RoaXMuY29uZmlndXJhdGlvbi5jbGFzc25hbWV9YDtcclxuICAgIH1cclxuXHJcbiAgICBnZXRHbG9iYWxTdHlsZSgpOiBMaXN0U3R5bGUge1xyXG4gICAgICAgIGNvbnN0IHN0eWxlcyA9IHtcclxuICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiBudWxsLFxyXG4gICAgICAgIH07XHJcblxyXG4gICAgICAgIGlmICh0aGlzLmlzSW52YWxpZENvbmZpZyB8fCBDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodGhpcy5jb25maWd1cmF0aW9uLmJhY2tncm91bmRDb2xvcikpIHtcclxuICAgICAgICAgICAgcmV0dXJuIHN0eWxlcztcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHN0eWxlcy5iYWNrZ3JvdW5kQ29sb3IgPSB0aGlzLmNvbmZpZ3VyYXRpb24uYmFja2dyb3VuZENvbG9yO1xyXG5cclxuICAgICAgICByZXR1cm4gc3R5bGVzO1xyXG4gICAgfVxyXG5cclxuICAgIGlzUnRsTGF5b3V0KCk6IGJvb2xlYW4ge1xyXG4gICAgICAgIHJldHVybiB0aGlzLm5vZGVDb25maWcucnRsTGF5b3V0O1xyXG4gICAgfVxyXG5cclxuICAgIHNlbGVjdGVkTGlzdEl0ZW0oZXZlbnQ6IE11bHRpbGV2ZWxOb2RlKTogdm9pZCB7XHJcbiAgICAgICAgdGhpcy5ub2RlRXhwYW5kQ29sbGFwc2VTdGF0dXMgPSBFeHBhbmRDb2xsYXBzZVN0YXR1c0VudW0ubmV1dHJhbDtcclxuICAgICAgICB0aGlzLmN1cnJlbnROb2RlID0gZXZlbnQ7XHJcbiAgICAgICAgaWYgKCFDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZChldmVudC5kb250RW1pdCkgJiYgZXZlbnQuZG9udEVtaXQpIHtcclxuICAgICAgICAgICAgcmV0dXJuO1xyXG4gICAgICAgIH1cclxuXHJcbiAgICAgICAgZXZlbnQuaXRlbXMgPT09IHVuZGVmaW5lZCAmJiAoIWV2ZW50Lm9uU2VsZWN0ZWQgfHwgdHlwZW9mIGV2ZW50Lm9uU2VsZWN0ZWQgIT09ICdmdW5jdGlvbicpXHJcbiAgICAgICAgICAgID8gdGhpcy5zZWxlY3RlZEl0ZW0uZW1pdChldmVudClcclxuICAgICAgICAgICAgOiB0aGlzLnNlbGVjdGVkTGFiZWwuZW1pdChldmVudCk7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRTdHJpbmdDb25maWdQcm9wZXJ0eShwcm9wZXJ0eU5hbWU6IHN0cmluZywgdmFsdWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgICAgIGlmIChDb21tb25VdGlscy5pc051bGxPclVuZGVmaW5lZE9yRW1wdHkodmFsdWUpKSB7XHJcbiAgICAgICAgICAgIHJldHVybjtcclxuICAgICAgICB9XHJcblxyXG4gICAgICAgIHRoaXMubm9kZUNvbmZpZ1twcm9wZXJ0eU5hbWVdID0gdmFsdWU7XHJcbiAgICB9XHJcblxyXG4gICAgcHJpdmF0ZSBzZXRCb29sZWFuQ29uZmlnUHJvcGVydHkocHJvcGVydHlOYW1lOiBzdHJpbmcsIHZhbHVlOiBib29sZWFuKTogdm9pZCB7XHJcbiAgICAgICAgaWYgKENvbW1vblV0aWxzLmlzTnVsbE9yVW5kZWZpbmVkKHZhbHVlKSB8fCB0eXBlb2YgdmFsdWUgIT09ICdib29sZWFuJykge1xyXG4gICAgICAgICAgICByZXR1cm47XHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLm5vZGVDb25maWdbcHJvcGVydHlOYW1lXSA9IHZhbHVlO1xyXG4gICAgfVxyXG59XHJcbiIsIjxkaXZcclxuICAgIFtuZ0NsYXNzXT1cImdldENsYXNzTmFtZSgpXCJcclxuICAgIFtuZ1N0eWxlXT1cImdldEdsb2JhbFN0eWxlKClcIlxyXG4gICAgKm5nSWY9JyFpc0ludmFsaWREYXRhICYmIGl0ZW1zLmxlbmd0aCAhPT0gMCdcclxuICAgIFtkaXJdPVwiaXNSdGxMYXlvdXQoKSA/ICdydGwnIDogJ2x0cidcIj5cclxuICAgIDxtYXQtbGlzdD5cclxuICAgICAgICA8bmctbGlzdC1pdGVtXHJcbiAgICAgICAgICAgICpuZ0Zvcj1cImxldCBub2RlIG9mIGl0ZW1zIHwga2V5dmFsdWU6IG11bHRpbGV2ZWxNZW51U2VydmljZS5rdkR1bW15Q29tcGFyZXJGblwiXHJcbiAgICAgICAgICAgIFtub2RlQ29uZmlndXJhdGlvbl09J25vZGVDb25maWcnXHJcbiAgICAgICAgICAgIFtub2RlXT0nbm9kZS52YWx1ZSdcclxuICAgICAgICAgICAgW2xldmVsXT1cIjFcIlxyXG4gICAgICAgICAgICBbc3VibWVudUxldmVsXT1cIm5vZGUua2V5XCJcclxuICAgICAgICAgICAgW3NlbGVjdGVkTm9kZV09J2N1cnJlbnROb2RlJ1xyXG4gICAgICAgICAgICBbbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzXT0nbm9kZUV4cGFuZENvbGxhcHNlU3RhdHVzJ1xyXG4gICAgICAgICAgICAoc2VsZWN0ZWRJdGVtKT1cInNlbGVjdGVkTGlzdEl0ZW0oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgIFtsaXN0VGVtcGxhdGVdPVwibGlzdFRlbXBsYXRlXCI+XHJcbiAgICAgICAgPC9uZy1saXN0LWl0ZW0+XHJcbiAgICA8L21hdC1saXN0PlxyXG48L2Rpdj5cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs index e83bd9c..168a6d2 100644 --- a/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs +++ b/dist/ng-material-multilevel-menu/esm2022/lib/ng-material-multilevel-menu.module.mjs @@ -8,30 +8,16 @@ import { ListItemContentComponent } from './list-item/list-item-content/list-ite import * as i0 from "@angular/core"; class NgMaterialMultilevelMenuModule { static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); - static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, declarations: [NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent], imports: [CommonModule, - MaterialsModule, - RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); - static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, imports: [CommonModule, - MaterialsModule, - RouterModule] }); + static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, declarations: [NgMaterialMultilevelMenuComponent, ListItemComponent, ListItemContentComponent], imports: [CommonModule, MaterialsModule, RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); + static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, imports: [CommonModule, MaterialsModule, RouterModule] }); } export { NgMaterialMultilevelMenuModule }; i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, decorators: [{ type: NgModule, args: [{ - imports: [ - CommonModule, - MaterialsModule, - RouterModule, - ], - declarations: [ - NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent, - ], - exports: [NgMaterialMultilevelMenuComponent] + imports: [CommonModule, MaterialsModule, RouterModule], + declarations: [NgMaterialMultilevelMenuComponent, ListItemComponent, ListItemContentComponent], + exports: [NgMaterialMultilevelMenuComponent], }] }] }); -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckcsTUFhYSw4QkFBOEI7dUdBQTlCLDhCQUE4Qjt3R0FBOUIsOEJBQThCLGlCQU52QyxpQ0FBaUM7WUFDakMsaUJBQWlCO1lBQ2pCLHdCQUF3QixhQVB4QixZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVksYUFPSixpQ0FBaUM7d0dBRWhDLDhCQUE4QixZQVh2QyxZQUFZO1lBQ1osZUFBZTtZQUNmLFlBQVk7O1NBU0gsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBYjFDLFFBQVE7bUJBQUM7b0JBQ1IsT0FBTyxFQUFFO3dCQUNQLFlBQVk7d0JBQ1osZUFBZTt3QkFDZixZQUFZO3FCQUNiO29CQUNELFlBQVksRUFBRTt3QkFDWixpQ0FBaUM7d0JBQ2pDLGlCQUFpQjt3QkFDakIsd0JBQXdCO3FCQUN6QjtvQkFDRCxPQUFPLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztpQkFDN0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0ZXJpYWxzTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbHMubW9kdWxlJztcclxuaW1wb3J0IHsgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlzdEl0ZW1Db250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLWNvbnRlbnQvbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgaW1wb3J0czogW1xyXG4gICAgQ29tbW9uTW9kdWxlLFxyXG4gICAgTWF0ZXJpYWxzTW9kdWxlLFxyXG4gICAgUm91dGVyTW9kdWxlLFxyXG4gIF0sXHJcbiAgZGVjbGFyYXRpb25zOiBbXHJcbiAgICBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVDb21wb25lbnQsXHJcbiAgICBMaXN0SXRlbUNvbXBvbmVudCxcclxuICAgIExpc3RJdGVtQ29udGVudENvbXBvbmVudCxcclxuICBdLFxyXG4gIGV4cG9ydHM6IFtOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVDb21wb25lbnRdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVNb2R1bGUge31cclxuIl19 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmctbWF0ZXJpYWwtbXVsdGlsZXZlbC1tZW51Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3Byb2plY3RzL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS9zcmMvbGliL25nLW1hdGVyaWFsLW11bHRpbGV2ZWwtbWVudS5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBRS9DLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLGlDQUFpQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsaUNBQWlDLEVBQUUsTUFBTSx5Q0FBeUMsQ0FBQztBQUM1RixPQUFPLEVBQUUsd0JBQXdCLEVBQUUsTUFBTSwyREFBMkQsQ0FBQzs7QUFFckcsTUFLYSw4QkFBOEI7dUdBQTlCLDhCQUE4Qjt3R0FBOUIsOEJBQThCLGlCQUh4QixpQ0FBaUMsRUFBRSxpQkFBaUIsRUFBRSx3QkFBd0IsYUFEbkYsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLGFBRTNDLGlDQUFpQzt3R0FFbEMsOEJBQThCLFlBSjdCLFlBQVksRUFBRSxlQUFlLEVBQUUsWUFBWTs7U0FJNUMsOEJBQThCOzJGQUE5Qiw4QkFBOEI7a0JBTDFDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxFQUFFLGVBQWUsRUFBRSxZQUFZLENBQUM7b0JBQ3RELFlBQVksRUFBRSxDQUFDLGlDQUFpQyxFQUFFLGlCQUFpQixFQUFFLHdCQUF3QixDQUFDO29CQUM5RixPQUFPLEVBQUUsQ0FBQyxpQ0FBaUMsQ0FBQztpQkFDL0MiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21tb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jb21tb24nO1xyXG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5cclxuaW1wb3J0IHsgTGlzdEl0ZW1Db21wb25lbnQgfSBmcm9tICcuL2xpc3QtaXRlbS9saXN0LWl0ZW0uY29tcG9uZW50JztcclxuaW1wb3J0IHsgTWF0ZXJpYWxzTW9kdWxlIH0gZnJvbSAnLi9tYXRlcmlhbHMubW9kdWxlJztcclxuaW1wb3J0IHsgTmdNYXRlcmlhbE11bHRpbGV2ZWxNZW51Q29tcG9uZW50IH0gZnJvbSAnLi9uZy1tYXRlcmlhbC1tdWx0aWxldmVsLW1lbnUuY29tcG9uZW50JztcclxuaW1wb3J0IHsgTGlzdEl0ZW1Db250ZW50Q29tcG9uZW50IH0gZnJvbSAnLi9saXN0LWl0ZW0vbGlzdC1pdGVtLWNvbnRlbnQvbGlzdC1pdGVtLWNvbnRlbnQuY29tcG9uZW50JztcclxuXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbQ29tbW9uTW9kdWxlLCBNYXRlcmlhbHNNb2R1bGUsIFJvdXRlck1vZHVsZV0sXHJcbiAgICBkZWNsYXJhdGlvbnM6IFtOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVDb21wb25lbnQsIExpc3RJdGVtQ29tcG9uZW50LCBMaXN0SXRlbUNvbnRlbnRDb21wb25lbnRdLFxyXG4gICAgZXhwb3J0czogW05nTWF0ZXJpYWxNdWx0aWxldmVsTWVudUNvbXBvbmVudF0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBOZ01hdGVyaWFsTXVsdGlsZXZlbE1lbnVNb2R1bGUge31cclxuIl19 \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs index 17f14c2..1de1616 100644 --- a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs +++ b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs @@ -1,10 +1,10 @@ import * as i3 from '@angular/common'; import { CommonModule } from '@angular/common'; import * as i0 from '@angular/core'; -import { Component, Input, EventEmitter, Output, NgModule, ContentChild } from '@angular/core'; +import { Injectable, Component, Input, EventEmitter, Output, NgModule, ContentChild } from '@angular/core'; import * as i1 from '@angular/router'; import { NavigationEnd, RouterModule } from '@angular/router'; -import { Subject } from 'rxjs'; +import { Subject, takeUntil } from 'rxjs'; import { trigger, state, style, transition, group, animate } from '@angular/animations'; import * as i4 from '@angular/cdk/bidi'; import * as i5 from '@angular/material/list'; @@ -38,7 +38,7 @@ const CONSTANT = { ERROR_MESSAGE: `Invalid data for material Multilevel List Component`, POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', YES: 'yes', - NO: 'no' + NO: 'no', }; class MultilevelMenuService { @@ -90,7 +90,7 @@ class MultilevelMenuService { this.findNodeRecursively({ nodes: node.items, link: link ? link : null, - id: id ? id : null + id: id ? id : null, }); } } @@ -118,36 +118,38 @@ class MultilevelMenuService { this.selectedMenuID.next(menuID); return this.foundLinkObject; } + static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MultilevelMenuService, deps: [], target: i0.ɵɵFactoryTarget.Injectable }); + static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MultilevelMenuService, providedIn: 'root' }); } +i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MultilevelMenuService, decorators: [{ + type: Injectable, + args: [{ + providedIn: 'root', + }] + }] }); const SlideInOut = trigger('SlideInOut', [ state('in', style({ height: '*', opacity: 0 })), transition(':leave', [ style({ height: '*', opacity: 0.2 }), - group([ - animate(200, style({ height: 0 })), - animate('200ms ease-out', style({ opacity: 0 })) - ]) + group([animate(200, style({ height: 0 })), animate('200ms ease-out', style({ opacity: 0 }))]), ]), transition(':enter', [ style({ height: '0', opacity: 0 }), - group([ - animate(200, style({ height: '*' })), - animate('400ms ease-out', style({ opacity: 1 })) - ]) - ]) + group([animate(200, style({ height: '*' })), animate('400ms ease-out', style({ opacity: 1 }))]), + ]), ]); const ExpandedLTR = trigger('ExpandedLTR', [ state('no', style({ transform: 'rotate(-90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), + state('yes', style({ transform: 'rotate(0deg)' })), transition('no => yes', animate(200)), - transition('yes => no', animate(200)) + transition('yes => no', animate(200)), ]); const ExpandedRTL = trigger('ExpandedRTL', [ state('no', style({ transform: 'rotate(90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), + state('yes', style({ transform: 'rotate(0deg)' })), transition('no => yes', animate(200)), - transition('yes => no', animate(200)) + transition('yes => no', animate(200)), ]); class CommonUtils { @@ -162,64 +164,46 @@ class CommonUtils { class ListItemContentComponent { node; isRtlLayout; - constructor() { - // NOOP - } - ngOnInit() { - // NOOP - } getListIcon(node) { if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) { return `icon`; } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { return `faIcon`; } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { return `imageIcon`; } - else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { return `svgIcon`; } - else { - return ``; - } + return ``; } getHrefTargetType() { - return this.node.hrefTargetType - ? this.node.hrefTargetType - : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; } getSelectedSvgIcon() { - return this.node.isSelected && this.node.activeSvgIcon - ? this.node.activeSvgIcon - : this.node.svgIcon; + return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; } getSelectedIcon() { - return this.node.isSelected && this.node.activeIcon - ? this.node.activeIcon - : this.node.icon; + return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; } getSelectedFaIcon() { - return this.node.isSelected && this.node.activeFaIcon - ? this.node.activeFaIcon - : this.node.faIcon; + return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; } getSelectedImageIcon() { - return this.node.isSelected && this.node.activeImageIcon - ? this.node.activeImageIcon - : this.node.imageIcon; + return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; } nodeExpandStatus() { return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, deps: [], target: i0.ɵɵFactoryTarget.Component }); - static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: { node: "node", isRtlLayout: "isRtlLayout" }, ngImport: i0, template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], animations: [ExpandedLTR, ExpandedRTL] }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: ListItemContentComponent, selector: "ng-list-item-content", inputs: { node: "node", isRtlLayout: "isRtlLayout" }, ngImport: i0, template: "\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \r\n \r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgTemplateOutlet, selector: "[ngTemplateOutlet]", inputs: ["ngTemplateOutletContext", "ngTemplateOutlet", "ngTemplateOutletInjector"] }, { kind: "directive", type: i3.NgSwitch, selector: "[ngSwitch]", inputs: ["ngSwitch"] }, { kind: "directive", type: i3.NgSwitchCase, selector: "[ngSwitchCase]", inputs: ["ngSwitchCase"] }, { kind: "component", type: i2.MatIcon, selector: "mat-icon", inputs: ["color", "inline", "svgIcon", "fontSet", "fontIcon"], exportAs: ["matIcon"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "directive", type: i1.RouterLink, selector: "[routerLink]", inputs: ["target", "queryParams", "fragment", "queryParamsHandling", "state", "relativeTo", "preserveFragment", "skipLocationChange", "replaceUrl", "routerLink"] }], animations: [ExpandedLTR, ExpandedRTL] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemContentComponent, decorators: [{ type: Component, - args: [{ selector: "ng-list-item-content", animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] - }], ctorParameters: function () { return []; }, propDecorators: { node: [{ + args: [{ selector: 'ng-list-item-content', animations: [ExpandedLTR, ExpandedRTL], template: "\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \r\n \r\n\r\n", styles: [".amml-item{position:relative;cursor:pointer}.anml-link{width:100%;display:flex;justify-content:flex-start;text-transform:capitalize;text-decoration:none;color:inherit}.anml-data{width:100%;height:48px;display:flex;justify-content:flex-start}.disabled-amml-item{opacity:.5;text-decoration:none;pointer-events:none}.icon-container{display:flex;flex-direction:column;justify-content:center}.amml-icon-fa{font-size:20px}.label{line-height:48px;font-weight:400}.amml-svg-icon{width:22px;height:22px;margin-top:-12px}.amml-icon-arrow-container{direction:ltr;display:flex;align-items:center}div[dir=ltr] .amml-icon{margin-right:16px}div[dir=rtl] .amml-icon{margin-left:16px}\n"] }] + }], propDecorators: { node: [{ type: Input }], isRtlLayout: [{ type: Input @@ -251,38 +235,31 @@ class ListItemComponent { [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, }; } - ngOnChanges() { - this.nodeChildren = - this.node && this.node.items - ? this.node.items.filter((n) => !n.hidden) - : []; - this.node.hasChildren = this.hasItems(); - if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { - this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); - } - this.setExpandCollapseStatus(); - } ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = - this.node.disabled; - if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && - this.node.faIcon.match(/\bfa\w(?!-)/) === null) { + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && this.node.faIcon.match(/\bfa\w(?!-)/) === null) { this.node.faIcon = `fas ${this.node.faIcon}`; } this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; - if (typeof this.node.expanded === "boolean") { + if (typeof this.node.expanded === 'boolean') { this.expanded = this.node.expanded; } this.setClasses(); } + ngOnChanges() { + this.nodeChildren = this.node && this.node.items ? this.node.items.filter((n) => !n.hidden) : []; + this.node.hasChildren = this.hasItems(); + if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { + this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); + } + this.setExpandCollapseStatus(); + } setSelectedClass(isFound) { if (isFound) { if (!this.firstInitializer) { this.expanded = true; } - this.isSelected = - this.nodeConfiguration.highlightOnSelect || - this.selectedNode.items === undefined; + this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; } else { this.isSelected = false; @@ -344,21 +321,23 @@ class ListItemComponent { }; } setExpandCollapseStatus() { - if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { - this.expanded = true; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = true; - } - } - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { - this.expanded = false; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = false; - } - } + if (CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { + return; + } + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { + this.setExpandStatus(true); + } + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { + this.setExpandStatus(false); } } + setExpandStatus(value) { + this.expanded = value; + if (!this.nodeConfiguration.customTemplate) { + return; + } + this.node.expanded = value; + } expand(node) { if (node.disabled) { return; @@ -368,18 +347,16 @@ class ListItemComponent { this.node.expanded = this.expanded; this.firstInitializer = true; this.setClasses(); - if (this.nodeConfiguration.interfaceWithRoute !== null && - this.nodeConfiguration.interfaceWithRoute && - node.link !== undefined && - node.link) { - this.router.navigate([node.link], node.navigationExtras).then(); + if (this.nodeConfiguration.interfaceWithRoute && node.link) { + void this.router.navigate([node.link], node.navigationExtras).then(); + return; } - else if (node.onSelected && typeof node.onSelected === "function") { + if (node.onSelected && typeof node.onSelected === 'function') { node.onSelected(node); this.selectedListItem(node); + return; } - else if (node.items === undefined || - this.nodeConfiguration.collapseOnSelect) { + if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { this.selectedListItem(node); } } @@ -391,7 +368,7 @@ class ListItemComponent { } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: ListItemComponent, decorators: [{ type: Component, - args: [{ selector: "ng-list-item", animations: [SlideInOut], template: "
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] + args: [{ selector: 'ng-list-item', animations: [SlideInOut], template: "
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n", styles: [".filled{width:100%}div[dir=rtl].amml-submenu{margin-right:16px}div[dir=ltr].amml-submenu{margin-left:16px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, propDecorators: { node: [{ type: Input }], level: [{ @@ -412,31 +389,15 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor class MaterialsModule { static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); - static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, - MatListModule, - MatRippleModule], exports: [MatIconModule, - MatListModule, - MatRippleModule] }); - static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, - MatListModule, - MatRippleModule, MatIconModule, - MatListModule, - MatRippleModule] }); + static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, MatListModule, MatRippleModule], exports: [MatIconModule, MatListModule, MatRippleModule] }); + static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, imports: [MatIconModule, MatListModule, MatRippleModule, MatIconModule, MatListModule, MatRippleModule] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: MaterialsModule, decorators: [{ type: NgModule, args: [{ - imports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ], + imports: [MatIconModule, MatListModule, MatRippleModule], declarations: [], - exports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ] + exports: [MatIconModule, MatListModule, MatRippleModule], }] }] }); @@ -449,8 +410,14 @@ class NgMaterialMultilevelMenuComponent { selectedLabel = new EventEmitter(); menuIsReady = new EventEmitter(); listTemplate; - expandCollapseStatusSubscription = null; - selectMenuByIDSubscription = null; + stringConfigProperties = [ + 'classname', + 'backgroundColor', + 'listBackgroundColor', + 'fontColor', + 'selectedListFontColor', + ]; + destroyed$ = new Subject(); currentNode = null; nodeConfig = { paddingAtStart: true, @@ -470,137 +437,106 @@ class NgMaterialMultilevelMenuComponent { constructor(router, multilevelMenuService) { this.router = router; this.multilevelMenuService = multilevelMenuService; - // NOOP + } + ngOnInit() { + this.subscribeToRouterEvents(); } ngOnChanges() { - this.detectInvalidConfig(); + this.checkConfigAndData(); this.initExpandCollapseStatus(); this.initSelectedMenuID(); if (!this.isInvalidData) { this.menuIsReady.emit(this.items); } } - ngOnInit() { - if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && - this.configuration.interfaceWithRoute !== null && - this.configuration.interfaceWithRoute) { - this.router.events.subscribe((event) => { - if (event instanceof NavigationEnd) { - this.updateNodeByURL(event.urlAfterRedirects); - } - }); - this.updateNodeByURL(this.router.url); + ngOnDestroy() { + this.destroyed$.next(); + this.destroyed$.complete(); + } + subscribeToRouterEvents() { + if (this.configuration?.interfaceWithRoute === false) { + return; } + this.router.events.pipe(takeUntil(this.destroyed$)).subscribe((event) => { + if (event instanceof NavigationEnd) { + this.updateNodeByURL(event.urlAfterRedirects); + } + }); + this.updateNodeByURL(this.router.url); } updateNodeByURL(url) { const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); - if (foundNode !== undefined && - !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) - // && !foundNode.disabled // Prevent route redirection for disabled menu - ) { - this.currentNode = foundNode; - if (!CommonUtils.isNullOrUndefined(foundNode.dontEmit) && - !foundNode.dontEmit) { - this.selectedListItem(foundNode); - } + if (!foundNode || CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)) { + return; } + this.currentNode = foundNode; + if (CommonUtils.isNullOrUndefined(foundNode.dontEmit) || foundNode.dontEmit) { + return; + } + this.selectedListItem(foundNode); + } + checkConfigAndData() { + this.detectInvalidConfig(); + this.checkValidData(); } checkValidData() { - if (this.items === undefined || - (Array.isArray(this.items) && this.items.length === 0)) { + if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { console.warn(CONSTANT.ERROR_MESSAGE); return; } - this.items = this.items.filter((n) => !n.hidden); + this.items = this.items.filter((item) => !item.hidden); this.multilevelMenuService.addRandomId(this.items); this.isInvalidData = false; } detectInvalidConfig() { if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) { this.isInvalidConfig = true; + return; } - else { - this.isInvalidConfig = false; - const config = this.configuration; - if (!CommonUtils.isNullOrUndefined(config.paddingAtStart) && - typeof config.paddingAtStart === "boolean") { - this.nodeConfig.paddingAtStart = config.paddingAtStart; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { - this.nodeConfig.listBackgroundColor = config.listBackgroundColor; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) { - this.nodeConfig.fontColor = config.fontColor; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) { - this.nodeConfig.selectedListFontColor = config.selectedListFontColor; - } - if (!CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && - typeof config.interfaceWithRoute === "boolean") { - this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; - } - if (!CommonUtils.isNullOrUndefined(config.collapseOnSelect) && - typeof config.collapseOnSelect === "boolean") { - this.nodeConfig.collapseOnSelect = config.collapseOnSelect; - } - if (!CommonUtils.isNullOrUndefined(config.highlightOnSelect) && - typeof config.highlightOnSelect === "boolean") { - this.nodeConfig.highlightOnSelect = config.highlightOnSelect; - } - if (!CommonUtils.isNullOrUndefined(config.useDividers) && - typeof config.useDividers === "boolean") { - this.nodeConfig.useDividers = config.useDividers; - } - if (!CommonUtils.isNullOrUndefined(config.rtlLayout) && - typeof config.rtlLayout === "boolean") { - this.nodeConfig.rtlLayout = config.rtlLayout; - } - if (!CommonUtils.isNullOrUndefined(config.customTemplate) && - typeof config.customTemplate === "boolean") { - this.nodeConfig.customTemplate = config.customTemplate; - } + this.isInvalidConfig = false; + const config = this.configuration; + for (const property of Object.keys(config)) { + this.stringConfigProperties.some((item) => item === property) + ? this.setStringConfigProperty(property, config[property]) + : this.setBooleanConfigProperty(property, config[property]); } - this.checkValidData(); } initExpandCollapseStatus() { - this.expandCollapseStatusSubscription = - this.multilevelMenuService.expandCollapseStatus$.subscribe((expandCollapseStatus) => { - this.nodeExpandCollapseStatus = expandCollapseStatus - ? expandCollapseStatus - : ExpandCollapseStatusEnum.neutral; - }, () => { + this.multilevelMenuService.expandCollapseStatus$.pipe(takeUntil(this.destroyed$)).subscribe({ + next: (expandCollapseStatus) => { + this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; + }, + error: () => { this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - }); + }, + }); } initSelectedMenuID() { - this.selectMenuByIDSubscription = - this.multilevelMenuService.selectedMenuID$.subscribe((selectedMenuID) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); - } + this.multilevelMenuService.selectedMenuID$.pipe(takeUntil(this.destroyed$)).subscribe((selectedMenuID) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); + if (!foundNode) { + return; } - }); + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } + }); } getClassName() { - if (!this.isInvalidConfig && - !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)) { - return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; - } - return CONSTANT.DEFAULT_CLASS_NAME; + return this.isInvalidConfig || CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname) + ? CONSTANT.DEFAULT_CLASS_NAME + : `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; } getGlobalStyle() { - if (!this.isInvalidConfig) { - const styles = { - backgroundColor: null, - }; - if (!CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { - styles.backgroundColor = this.configuration.backgroundColor; - } + const styles = { + backgroundColor: null, + }; + if (this.isInvalidConfig || CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { return styles; } + styles.backgroundColor = this.configuration.backgroundColor; + return styles; } isRtlLayout() { return this.nodeConfig.rtlLayout; @@ -611,24 +547,28 @@ class NgMaterialMultilevelMenuComponent { if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { return; } - if (event.items === undefined && - (!event.onSelected || typeof event.onSelected !== "function")) { - this.selectedItem.emit(event); - } - else { - this.selectedLabel.emit(event); + event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') + ? this.selectedItem.emit(event) + : this.selectedLabel.emit(event); + } + setStringConfigProperty(propertyName, value) { + if (CommonUtils.isNullOrUndefinedOrEmpty(value)) { + return; } + this.nodeConfig[propertyName] = value; } - ngOnDestroy() { - this.expandCollapseStatusSubscription.unsubscribe(); - this.selectMenuByIDSubscription.unsubscribe(); + setBooleanConfigProperty(propertyName, value) { + if (CommonUtils.isNullOrUndefined(value) || typeof value !== 'boolean') { + return; + } + this.nodeConfig[propertyName] = value; } static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, deps: [{ token: i1.Router }, { token: MultilevelMenuService }], target: i0.ɵɵFactoryTarget.Component }); - static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NgMaterialMultilevelMenuComponent, selector: "ng-material-multilevel-menu", inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, queries: [{ propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }] }); + static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "16.0.1", type: NgMaterialMultilevelMenuComponent, selector: "ng-material-multilevel-menu", inputs: { items: "items", configuration: "configuration" }, outputs: { selectedItem: "selectedItem", selectedLabel: "selectedLabel", menuIsReady: "menuIsReady" }, queries: [{ propertyName: "listTemplate", first: true, predicate: ["listTemplate"], descendants: true, static: true }], usesOnChanges: true, ngImport: i0, template: "\r\n \r\n \r\n \r\n \r\n\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i3.NgStyle, selector: "[ngStyle]", inputs: ["ngStyle"] }, { kind: "directive", type: i4.Dir, selector: "[dir]", inputs: ["dir"], outputs: ["dirChange"], exportAs: ["dir"] }, { kind: "component", type: i5.MatList, selector: "mat-list", exportAs: ["matList"] }, { kind: "component", type: ListItemComponent, selector: "ng-list-item", inputs: ["node", "level", "submenuLevel", "selectedNode", "nodeConfiguration", "nodeExpandCollapseStatus", "listTemplate"], outputs: ["selectedItem"] }, { kind: "pipe", type: i3.KeyValuePipe, name: "keyvalue" }] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuComponent, decorators: [{ type: Component, - args: [{ selector: "ng-material-multilevel-menu", template: "
\r\n \r\n \r\n \r\n \r\n
\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] + args: [{ selector: 'ng-material-multilevel-menu', template: "\r\n \r\n \r\n \r\n \r\n\r\n", styles: [".amml-container .mat-mdc-list.mat-mdc-list-base.mdc-list{padding:unset}.amml-item{line-height:48px;display:flex;justify-content:space-between;position:relative}.anml-data{width:100%;text-transform:capitalize;display:flex;justify-content:flex-start}.amml-icon-fa{font-size:20px}.amml-icon{line-height:48px}.active{color:#1976d2}div[dir=ltr] .amml-icon{margin-right:15px}div[dir=ltr] .amml-submenu{margin-left:16px}div[dir=rtl] .amml-icon{margin-left:15px}div[dir=rtl] .amml-submenu{margin-right:16px}\n"] }] }], ctorParameters: function () { return [{ type: i1.Router }, { type: MultilevelMenuService }]; }, propDecorators: { items: [{ type: Input }], configuration: [{ @@ -641,34 +581,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImpor type: Output }], listTemplate: [{ type: ContentChild, - args: ["listTemplate", { static: true }] + args: ['listTemplate', { static: true }] }] } }); class NgMaterialMultilevelMenuModule { static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule }); - static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, declarations: [NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent], imports: [CommonModule, - MaterialsModule, - RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); - static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, imports: [CommonModule, - MaterialsModule, - RouterModule] }); + static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, declarations: [NgMaterialMultilevelMenuComponent, ListItemComponent, ListItemContentComponent], imports: [CommonModule, MaterialsModule, RouterModule], exports: [NgMaterialMultilevelMenuComponent] }); + static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, imports: [CommonModule, MaterialsModule, RouterModule] }); } i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "16.0.1", ngImport: i0, type: NgMaterialMultilevelMenuModule, decorators: [{ type: NgModule, args: [{ - imports: [ - CommonModule, - MaterialsModule, - RouterModule, - ], - declarations: [ - NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent, - ], - exports: [NgMaterialMultilevelMenuComponent] + imports: [CommonModule, MaterialsModule, RouterModule], + declarations: [NgMaterialMultilevelMenuComponent, ListItemComponent, ListItemContentComponent], + exports: [NgMaterialMultilevelMenuComponent], }] }] }); diff --git a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map index aa367f0..e05cc02 100644 --- a/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map +++ b/dist/ng-material-multilevel-menu/fesm2022/eddie666-ng-material-multilevel-menu.mjs.map @@ -1 +1 @@ -{"version":3,"file":"eddie666-ng-material-multilevel-menu.mjs","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../projects/ng-material-multilevel-menu/src/eddie666-ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from \"@angular/router\";\r\n\r\nexport interface MultilevelNode {\r\n id?: string;\r\n label: string;\r\n faIcon?: string;\r\n icon?: string;\r\n imageIcon?: string;\r\n svgIcon?: string;\r\n activeFaIcon?: string;\r\n activeIcon?: string;\r\n activeImageIcon?: string;\r\n activeSvgIcon?: string;\r\n hidden?: boolean;\r\n link?: string;\r\n externalRedirect?: boolean;\r\n hrefTargetType?: string;\r\n data?: any;\r\n items?: MultilevelNode[];\r\n onSelected?: Function;\r\n disabled?: boolean;\r\n expanded?: boolean;\r\n navigationExtras?: NavigationExtras;\r\n dontEmit?: boolean;\r\n hasChildren?: boolean;\r\n isSelected?: boolean;\r\n}\r\n\r\nexport interface Configuration {\r\n classname?: string;\r\n paddingAtStart?: boolean;\r\n backgroundColor?: string;\r\n listBackgroundColor?: string;\r\n fontColor?: string;\r\n selectedListFontColor?: string;\r\n interfaceWithRoute?: boolean;\r\n collapseOnSelect?: boolean;\r\n highlightOnSelect?: boolean;\r\n useDividers?: boolean;\r\n rtlLayout?: boolean;\r\n customTemplate?: boolean;\r\n}\r\n\r\nexport interface BackgroundStyle {\r\n backgroundColor: string;\r\n}\r\nexport interface ColorStyle {\r\n color: string;\r\n}\r\n\r\nexport interface ListStyle {\r\n backgroundColor: string;\r\n color: string;\r\n}\r\n\r\nexport enum ExpandCollapseStatusEnum {\r\n expand = \"expand\",\r\n collapse = \"collapse\",\r\n neutral = \"neutral\",\r\n}\r\n","export const CONSTANT = {\r\n PADDING_AT_START: true,\r\n DEFAULT_CLASS_NAME: `amml-container`,\r\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\r\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\r\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\r\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\r\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\r\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\r\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\r\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\r\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\r\n DEFAULT_HREF_TARGET_TYPE: '_self',\r\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`,\r\n POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',\r\n YES: 'yes',\r\n NO: 'no'\r\n};\r\n"," import {BehaviorSubject, Observable, Subject} from 'rxjs';\r\nimport { MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport {CONSTANT} from './constants';\r\n\r\nexport class MultilevelMenuService {\r\n foundLinkObject: MultilevelNode;\r\n private expandCollapseStatus: Subject = new Subject();\r\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\r\n\r\n private selectedMenuID: Subject = new Subject();\r\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\r\n\r\n private generateId(): string {\r\n let text = '';\r\n for (let i = 0; i < 20; i++) {\r\n text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length));\r\n }\r\n return text;\r\n }\r\n addRandomId(nodes: MultilevelNode[]): void {\r\n nodes.forEach((node: MultilevelNode) => {\r\n node.id = this.generateId();\r\n if (node.items !== undefined) {\r\n this.addRandomId(node.items);\r\n }\r\n });\r\n }\r\n recursiveCheckId(node: MultilevelNode, nodeId: string): boolean {\r\n if (node.id === nodeId) {\r\n return true;\r\n } else {\r\n if (node.items !== undefined) {\r\n return node.items.some((nestedNode: MultilevelNode) => {\r\n return this.recursiveCheckId(nestedNode, nodeId);\r\n });\r\n }\r\n }\r\n }\r\n private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNode[], link?: string, id?: string}): void {\r\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\r\n const node = nodes[nodeIndex];\r\n for (const key in node) {\r\n if (node.hasOwnProperty(key)) {\r\n if (encodeURI(node.link) === link) {\r\n this.foundLinkObject = node;\r\n } else if (node.id === id) {\r\n this.foundLinkObject = node;\r\n } else {\r\n if (node.items !== undefined) {\r\n this.findNodeRecursively({\r\n nodes: node.items,\r\n link: link ? link : null,\r\n id: id ? id : null\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, link});\r\n return this.foundLinkObject;\r\n }\r\n getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode {\r\n this.findNodeRecursively({nodes, id});\r\n return this.foundLinkObject;\r\n }\r\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\r\n // https://angular.io/api/common/KeyValuePipe#description\r\n kvDummyComparerFn() {\r\n return 0;\r\n }\r\n setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void {\r\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\r\n }\r\n selectMenuByID(menuID: string) {\r\n this.selectedMenuID.next(menuID);\r\n return this.foundLinkObject;\r\n }\r\n}\r\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport const SlideInOut = trigger('SlideInOut', [\r\n state(\r\n 'in',\r\n style({ height: '*', opacity: 0 })),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 0.2 }),\r\n group([\r\n animate(200, style({ height: 0 })),\r\n animate('200ms ease-out', style({ opacity: 0 }))\r\n ])\r\n ]),\r\n transition(':enter', [\r\n style({ height: '0', opacity: 0 }),\r\n group([\r\n animate(200, style({ height: '*' })),\r\n animate('400ms ease-out', style({ opacity: 1 }))\r\n ])\r\n ])\r\n ]\r\n);\r\n\r\nexport const ExpandedLTR = trigger('ExpandedLTR', [\r\n state('no', style({ transform: 'rotate(-90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n\r\nexport const ExpandedRTL = trigger('ExpandedRTL', [\r\n state('no', style({ transform: 'rotate(90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)', })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200))\r\n]);\r\n","export class CommonUtils {\r\n\r\n static isNullOrUndefinedOrEmpty = function (object: any): boolean {\r\n return CommonUtils.isNullOrUndefined(object) || object === '';\r\n };\r\n\r\n static isNullOrUndefined = function (object: any): boolean {\r\n return object === null || object === undefined;\r\n };\r\n}\r\n","import { Component, Input, OnInit } from \"@angular/core\";\r\nimport { MultilevelNode } from \"../../app.model\";\r\nimport { ExpandedLTR, ExpandedRTL } from \"../../animation\";\r\nimport { CommonUtils } from \"../../common-utils\";\r\nimport { CONSTANT } from \"../../constants\";\r\n\r\n@Component({\r\n selector: \"ng-list-item-content\",\r\n templateUrl: \"./list-item-content.component.html\",\r\n styleUrls: [\"./list-item-content.component.css\"],\r\n animations: [ExpandedLTR, ExpandedRTL],\r\n})\r\nexport class ListItemContentComponent implements OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() isRtlLayout: boolean;\r\n\r\n constructor() {\r\n // NOOP\r\n }\r\n\r\n ngOnInit(): void {\r\n // NOOP\r\n }\r\n\r\n getListIcon(node: MultilevelNode): string {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) {\r\n return `icon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) {\r\n return `faIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) {\r\n return `imageIcon`;\r\n } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) {\r\n return `svgIcon`;\r\n } else {\r\n return ``;\r\n }\r\n }\r\n\r\n getHrefTargetType(): string {\r\n return this.node.hrefTargetType\r\n ? this.node.hrefTargetType\r\n : CONSTANT.DEFAULT_HREF_TARGET_TYPE;\r\n }\r\n\r\n getSelectedSvgIcon(): string {\r\n return this.node.isSelected && this.node.activeSvgIcon\r\n ? this.node.activeSvgIcon\r\n : this.node.svgIcon;\r\n }\r\n\r\n getSelectedIcon(): string {\r\n return this.node.isSelected && this.node.activeIcon\r\n ? this.node.activeIcon\r\n : this.node.icon;\r\n }\r\n\r\n getSelectedFaIcon(): string {\r\n return this.node.isSelected && this.node.activeFaIcon\r\n ? this.node.activeFaIcon\r\n : this.node.faIcon;\r\n }\r\n\r\n getSelectedImageIcon(): string {\r\n return this.node.isSelected && this.node.activeImageIcon\r\n ? this.node.activeImageIcon\r\n : this.node.imageIcon;\r\n }\r\n\r\n nodeExpandStatus(): string {\r\n return this.node.expanded ? CONSTANT.YES : CONSTANT.NO;\r\n }\r\n}\r\n","\r\n\r\n\r\n \r\n \r\n \r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n {{node.label}}\r\n
\r\n
\r\n \r\n keyboard_arrow_down\r\n \r\n
\r\n
\r\n\r\n\r\n
\r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \"{{node.label}}\"/\r\n
\r\n
\r\n\r\n","import {\r\n Component,\r\n Input,\r\n OnChanges,\r\n OnInit,\r\n Output,\r\n EventEmitter,\r\n TemplateRef,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { Router } from \"@angular/router\";\r\n\r\nimport {\r\n Configuration,\r\n ListStyle,\r\n MultilevelNode,\r\n ExpandCollapseStatusEnum,\r\n ColorStyle,\r\n BackgroundStyle,\r\n} from \"../app.model\";\r\nimport { CONSTANT } from \"../constants\";\r\nimport { MultilevelMenuService } from \"../multilevel-menu.service\";\r\nimport { SlideInOut } from \"../animation\";\r\nimport { CommonUtils } from \"../common-utils\";\r\n\r\n@Component({\r\n selector: \"ng-list-item\",\r\n templateUrl: \"./list-item.component.html\",\r\n styleUrls: [\"./list-item.component.css\"],\r\n animations: [SlideInOut],\r\n})\r\nexport class ListItemComponent implements OnChanges, OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() level = 1;\r\n @Input() submenuLevel = 0;\r\n @Input() selectedNode: MultilevelNode;\r\n @Input() nodeConfiguration: Configuration = null;\r\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\r\n @Input() listTemplate: TemplateRef = null;\r\n\r\n @Output() selectedItem = new EventEmitter();\r\n\r\n isSelected = false;\r\n expanded = false;\r\n firstInitializer = false;\r\n\r\n nodeChildren: MultilevelNode[];\r\n classes: { [index: string]: boolean };\r\n selectedListClasses: { [index: string]: boolean };\r\n\r\n constructor(\r\n private router: Router,\r\n public multilevelMenuService: MultilevelMenuService\r\n ) {\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\r\n };\r\n }\r\n\r\n ngOnChanges() {\r\n this.nodeChildren =\r\n this.node && this.node.items\r\n ? this.node.items.filter((n) => !n.hidden)\r\n : [];\r\n this.node.hasChildren = this.hasItems();\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.selectedNode)) {\r\n this.setSelectedClass(\r\n this.multilevelMenuService.recursiveCheckId(\r\n this.node,\r\n this.selectedNode.id\r\n )\r\n );\r\n }\r\n this.setExpandCollapseStatus();\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] =\r\n this.node.disabled;\r\n\r\n if (\r\n !CommonUtils.isNullOrUndefined(this.node.faIcon) &&\r\n this.node.faIcon.match(/\\bfa\\w(?!-)/) === null\r\n ) {\r\n this.node.faIcon = `fas ${this.node.faIcon}`;\r\n }\r\n\r\n this.selectedListClasses[\r\n `level-${this.level}-submenulevel-${this.submenuLevel}`\r\n ] = true;\r\n if (typeof this.node.expanded === \"boolean\") {\r\n this.expanded = this.node.expanded;\r\n }\r\n this.setClasses();\r\n }\r\n\r\n setSelectedClass(isFound: boolean): void {\r\n if (isFound) {\r\n if (!this.firstInitializer) {\r\n this.expanded = true;\r\n }\r\n this.isSelected =\r\n this.nodeConfiguration.highlightOnSelect ||\r\n this.selectedNode.items === undefined;\r\n } else {\r\n this.isSelected = false;\r\n if (this.nodeConfiguration.collapseOnSelect) {\r\n this.node.expanded = false;\r\n this.expanded = false;\r\n }\r\n }\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\r\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\r\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\r\n };\r\n this.node.isSelected = this.isSelected;\r\n this.setClasses();\r\n }\r\n\r\n getPaddingAtStart(): boolean {\r\n return this.nodeConfiguration.paddingAtStart;\r\n }\r\n\r\n getListStyle(): ListStyle {\r\n return {\r\n color: this.getColor(),\r\n backgroundColor: this.getBackgroundColor(),\r\n };\r\n }\r\n\r\n getColorStyle(): ColorStyle {\r\n return { color: this.getColor() };\r\n }\r\n\r\n getBackgroundStyle(): BackgroundStyle {\r\n return { backgroundColor: this.getBackgroundColor() };\r\n }\r\n\r\n getColor(): string {\r\n return this.isSelected\r\n ? this.nodeConfiguration.selectedListFontColor !== null\r\n ? this.nodeConfiguration.selectedListFontColor\r\n : CONSTANT.DEFAULT_SELECTED_FONT_COLOR\r\n : this.nodeConfiguration.fontColor !== null\r\n ? this.nodeConfiguration.fontColor\r\n : CONSTANT.DEFAULT_LIST_FONT_COLOR;\r\n }\r\n\r\n getBackgroundColor(): string {\r\n return this.nodeConfiguration.listBackgroundColor !== null\r\n ? this.nodeConfiguration.listBackgroundColor\r\n : CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR;\r\n }\r\n\r\n hasItems(): boolean {\r\n return this.nodeChildren.length > 0;\r\n }\r\n\r\n isRtlLayout(): boolean {\r\n return this.nodeConfiguration.rtlLayout;\r\n }\r\n\r\n setClasses(): void {\r\n this.classes = {\r\n [`level-${this.level + 1}`]: true,\r\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]:\r\n this.hasItems() && this.getPaddingAtStart(),\r\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems(),\r\n };\r\n }\r\n\r\n setExpandCollapseStatus(): void {\r\n if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) {\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\r\n this.expanded = true;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = true;\r\n }\r\n }\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\r\n this.expanded = false;\r\n if (this.nodeConfiguration.customTemplate) {\r\n this.node.expanded = false;\r\n }\r\n }\r\n }\r\n }\r\n\r\n expand(node: MultilevelNode): void {\r\n if (node.disabled) {\r\n return;\r\n }\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.expanded = !this.expanded;\r\n this.node.expanded = this.expanded;\r\n this.firstInitializer = true;\r\n this.setClasses();\r\n if (\r\n this.nodeConfiguration.interfaceWithRoute !== null &&\r\n this.nodeConfiguration.interfaceWithRoute &&\r\n node.link !== undefined &&\r\n node.link\r\n ) {\r\n this.router.navigate([node.link], node.navigationExtras).then();\r\n } else if (node.onSelected && typeof node.onSelected === \"function\") {\r\n node.onSelected(node);\r\n this.selectedListItem(node);\r\n } else if (\r\n node.items === undefined ||\r\n this.nodeConfiguration.collapseOnSelect\r\n ) {\r\n this.selectedListItem(node);\r\n }\r\n }\r\n\r\n selectedListItem(node: MultilevelNode): void {\r\n this.selectedItem.emit(node);\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\n\r\n@NgModule({\r\n imports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ],\r\n declarations: [],\r\n exports: [\r\n MatIconModule,\r\n MatListModule,\r\n MatRippleModule,\r\n ]\r\n})\r\nexport class MaterialsModule { }\r\n","import {\r\n Component,\r\n OnChanges,\r\n OnInit,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n ContentChild,\r\n TemplateRef,\r\n ElementRef,\r\n} from \"@angular/core\";\r\nimport { NavigationEnd, Router } from \"@angular/router\";\r\nimport { Subscription } from \"rxjs\";\r\nimport {\r\n BackgroundStyle,\r\n Configuration,\r\n MultilevelNode,\r\n ExpandCollapseStatusEnum,\r\n} from \"./app.model\";\r\nimport { CONSTANT } from \"./constants\";\r\nimport { MultilevelMenuService } from \"./multilevel-menu.service\";\r\nimport { CommonUtils } from \"./common-utils\";\r\n\r\n@Component({\r\n selector: \"ng-material-multilevel-menu\",\r\n templateUrl: \"./ng-material-multilevel-menu.component.html\",\r\n styleUrls: [\"./ng-material-multilevel-menu.component.css\"],\r\n})\r\nexport class NgMaterialMultilevelMenuComponent\r\n implements OnInit, OnChanges, OnDestroy\r\n{\r\n @Input() items: MultilevelNode[];\r\n @Input() configuration: Configuration = null;\r\n @Output() selectedItem = new EventEmitter();\r\n @Output() selectedLabel = new EventEmitter();\r\n @Output() menuIsReady = new EventEmitter();\r\n @ContentChild(\"listTemplate\", { static: true })\r\n listTemplate: TemplateRef;\r\n\r\n expandCollapseStatusSubscription: Subscription = null;\r\n selectMenuByIDSubscription: Subscription = null;\r\n currentNode: MultilevelNode = null;\r\n\r\n nodeConfig: Configuration = {\r\n paddingAtStart: true,\r\n listBackgroundColor: null,\r\n fontColor: null,\r\n selectedListFontColor: null,\r\n interfaceWithRoute: null,\r\n collapseOnSelect: null,\r\n highlightOnSelect: false,\r\n useDividers: true,\r\n rtlLayout: false,\r\n customTemplate: false,\r\n };\r\n isInvalidConfig = true;\r\n isInvalidData = true;\r\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum =\r\n ExpandCollapseStatusEnum.neutral;\r\n\r\n constructor(\r\n private router: Router,\r\n public multilevelMenuService: MultilevelMenuService\r\n ) {\r\n // NOOP\r\n }\r\n ngOnChanges() {\r\n this.detectInvalidConfig();\r\n this.initExpandCollapseStatus();\r\n this.initSelectedMenuID();\r\n if (!this.isInvalidData) {\r\n this.menuIsReady.emit(this.items);\r\n }\r\n }\r\n ngOnInit() {\r\n if (\r\n !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) &&\r\n this.configuration.interfaceWithRoute !== null &&\r\n this.configuration.interfaceWithRoute\r\n ) {\r\n this.router.events.subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.updateNodeByURL(event.urlAfterRedirects);\r\n }\r\n });\r\n this.updateNodeByURL(this.router.url);\r\n }\r\n }\r\n updateNodeByURL(url: string): void {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(\r\n this.items,\r\n url\r\n );\r\n if (\r\n foundNode !== undefined &&\r\n !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)\r\n // && !foundNode.disabled // Prevent route redirection for disabled menu\r\n ) {\r\n this.currentNode = foundNode;\r\n if (\r\n !CommonUtils.isNullOrUndefined(foundNode.dontEmit) &&\r\n !foundNode.dontEmit\r\n ) {\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n }\r\n checkValidData(): void {\r\n if (\r\n this.items === undefined ||\r\n (Array.isArray(this.items) && this.items.length === 0)\r\n ) {\r\n console.warn(CONSTANT.ERROR_MESSAGE);\r\n return;\r\n }\r\n this.items = this.items.filter((n) => !n.hidden);\r\n this.multilevelMenuService.addRandomId(this.items);\r\n this.isInvalidData = false;\r\n }\r\n detectInvalidConfig(): void {\r\n if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) {\r\n this.isInvalidConfig = true;\r\n } else {\r\n this.isInvalidConfig = false;\r\n const config = this.configuration;\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.paddingAtStart) &&\r\n typeof config.paddingAtStart === \"boolean\"\r\n ) {\r\n this.nodeConfig.paddingAtStart = config.paddingAtStart;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) {\r\n this.nodeConfig.listBackgroundColor = config.listBackgroundColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) {\r\n this.nodeConfig.fontColor = config.fontColor;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) {\r\n this.nodeConfig.selectedListFontColor = config.selectedListFontColor;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.interfaceWithRoute) &&\r\n typeof config.interfaceWithRoute === \"boolean\"\r\n ) {\r\n this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.collapseOnSelect) &&\r\n typeof config.collapseOnSelect === \"boolean\"\r\n ) {\r\n this.nodeConfig.collapseOnSelect = config.collapseOnSelect;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.highlightOnSelect) &&\r\n typeof config.highlightOnSelect === \"boolean\"\r\n ) {\r\n this.nodeConfig.highlightOnSelect = config.highlightOnSelect;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.useDividers) &&\r\n typeof config.useDividers === \"boolean\"\r\n ) {\r\n this.nodeConfig.useDividers = config.useDividers;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.rtlLayout) &&\r\n typeof config.rtlLayout === \"boolean\"\r\n ) {\r\n this.nodeConfig.rtlLayout = config.rtlLayout;\r\n }\r\n if (\r\n !CommonUtils.isNullOrUndefined(config.customTemplate) &&\r\n typeof config.customTemplate === \"boolean\"\r\n ) {\r\n this.nodeConfig.customTemplate = config.customTemplate;\r\n }\r\n }\r\n this.checkValidData();\r\n }\r\n initExpandCollapseStatus(): void {\r\n this.expandCollapseStatusSubscription =\r\n this.multilevelMenuService.expandCollapseStatus$.subscribe(\r\n (expandCollapseStatus: ExpandCollapseStatusEnum) => {\r\n this.nodeExpandCollapseStatus = expandCollapseStatus\r\n ? expandCollapseStatus\r\n : ExpandCollapseStatusEnum.neutral;\r\n },\r\n () => {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n }\r\n );\r\n }\r\n initSelectedMenuID(): void {\r\n this.selectMenuByIDSubscription =\r\n this.multilevelMenuService.selectedMenuID$.subscribe(\r\n (selectedMenuID: string) => {\r\n if (selectedMenuID) {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectById(\r\n this.items,\r\n selectedMenuID\r\n );\r\n if (foundNode !== undefined) {\r\n this.currentNode = foundNode;\r\n this.selectedListItem(foundNode);\r\n }\r\n }\r\n }\r\n );\r\n }\r\n getClassName(): string {\r\n if (\r\n !this.isInvalidConfig &&\r\n !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)\r\n ) {\r\n return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\r\n }\r\n return CONSTANT.DEFAULT_CLASS_NAME;\r\n }\r\n getGlobalStyle(): BackgroundStyle {\r\n if (!this.isInvalidConfig) {\r\n const styles = {\r\n backgroundColor: null,\r\n };\r\n if (\r\n !CommonUtils.isNullOrUndefinedOrEmpty(\r\n this.configuration.backgroundColor\r\n )\r\n ) {\r\n styles.backgroundColor = this.configuration.backgroundColor;\r\n }\r\n return styles;\r\n }\r\n }\r\n isRtlLayout(): boolean {\r\n return this.nodeConfig.rtlLayout;\r\n }\r\n selectedListItem(event: MultilevelNode): void {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.currentNode = event;\r\n if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) {\r\n return;\r\n }\r\n if (\r\n event.items === undefined &&\r\n (!event.onSelected || typeof event.onSelected !== \"function\")\r\n ) {\r\n this.selectedItem.emit(event);\r\n } else {\r\n this.selectedLabel.emit(event);\r\n }\r\n }\r\n ngOnDestroy() {\r\n this.expandCollapseStatusSubscription.unsubscribe();\r\n this.selectMenuByIDSubscription.unsubscribe();\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ListItemComponent } from './list-item/list-item.component';\r\nimport { MaterialsModule } from './materials.module';\r\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\r\nimport { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component';\r\n\r\n@NgModule({\r\n imports: [\r\n CommonModule,\r\n MaterialsModule,\r\n RouterModule,\r\n ],\r\n declarations: [\r\n NgMaterialMultilevelMenuComponent,\r\n ListItemComponent,\r\n ListItemContentComponent,\r\n ],\r\n exports: [NgMaterialMultilevelMenuComponent]\r\n})\r\nexport class NgMaterialMultilevelMenuModule {}\r\n","/*\r\n * Public API Surface of ng-material-multilevel-menu\r\n */\r\n\r\nexport * from './lib/ng-material-multilevel-menu.module';\r\nexport * from './lib/ng-material-multilevel-menu.component';\r\nexport * from './lib/multilevel-menu.service';\r\nexport * from './lib/animation';\r\nexport { MultilevelNode, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i4","i2.MultilevelMenuService","i8.ListItemContentComponent","i6.ListItemComponent"],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"eddie666-ng-material-multilevel-menu.mjs","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts","../../../projects/ng-material-multilevel-menu/src/lib/constants.ts","../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts","../../../projects/ng-material-multilevel-menu/src/lib/animation.ts","../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.html","../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html","../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts","../../../projects/ng-material-multilevel-menu/src/public_api.ts","../../../projects/ng-material-multilevel-menu/src/eddie666-ng-material-multilevel-menu.ts"],"sourcesContent":["import { NavigationExtras } from '@angular/router';\r\n\r\nexport interface MultilevelNode {\r\n id?: string;\r\n label: string;\r\n faIcon?: string;\r\n icon?: string;\r\n imageIcon?: string;\r\n svgIcon?: string;\r\n activeFaIcon?: string;\r\n activeIcon?: string;\r\n activeImageIcon?: string;\r\n activeSvgIcon?: string;\r\n hidden?: boolean;\r\n link?: string;\r\n externalRedirect?: boolean;\r\n hrefTargetType?: string;\r\n data?: any;\r\n items?: MultilevelNode[];\r\n onSelected?: Function;\r\n disabled?: boolean;\r\n expanded?: boolean;\r\n navigationExtras?: NavigationExtras;\r\n dontEmit?: boolean;\r\n hasChildren?: boolean;\r\n isSelected?: boolean;\r\n}\r\n\r\nexport interface Configuration {\r\n classname?: string;\r\n paddingAtStart?: boolean;\r\n backgroundColor?: string;\r\n listBackgroundColor?: string;\r\n fontColor?: string;\r\n selectedListFontColor?: string;\r\n interfaceWithRoute?: boolean;\r\n collapseOnSelect?: boolean;\r\n highlightOnSelect?: boolean;\r\n useDividers?: boolean;\r\n rtlLayout?: boolean;\r\n customTemplate?: boolean;\r\n}\r\n\r\nexport interface ListStyle {\r\n backgroundColor?: string;\r\n color?: string;\r\n}\r\n\r\nexport enum ExpandCollapseStatusEnum {\r\n expand = 'expand',\r\n collapse = 'collapse',\r\n neutral = 'neutral',\r\n}\r\n","export const CONSTANT = {\r\n PADDING_AT_START: true,\r\n DEFAULT_CLASS_NAME: `amml-container`,\r\n DEFAULT_LIST_CLASS_NAME: `amml-item`,\r\n SELECTED_LIST_CLASS_NAME: `selected-amml-item`,\r\n ACTIVE_ITEM_CLASS_NAME: `active-amml-item`,\r\n DISABLED_ITEM_CLASS_NAME: `disabled-amml-item`,\r\n SUBMENU_ITEM_CLASS_NAME: `amml-submenu`,\r\n HAS_SUBMENU_ITEM_CLASS_NAME: `has-amml-submenu`,\r\n DEFAULT_SELECTED_FONT_COLOR: `#1976d2`,\r\n DEFAULT_LIST_BACKGROUND_COLOR: `transparent`,\r\n DEFAULT_LIST_FONT_COLOR: `rgba(0,0,0,.87)`,\r\n DEFAULT_HREF_TARGET_TYPE: '_self',\r\n ERROR_MESSAGE: `Invalid data for material Multilevel List Component`,\r\n POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789',\r\n YES: 'yes',\r\n NO: 'no',\r\n};\r\n","import { Injectable } from '@angular/core';\r\nimport { Observable, Subject } from 'rxjs';\r\nimport { MultilevelNode, ExpandCollapseStatusEnum } from './app.model';\r\nimport { CONSTANT } from './constants';\r\n\r\n@Injectable({\r\n providedIn: 'root',\r\n})\r\nexport class MultilevelMenuService {\r\n foundLinkObject: MultilevelNode;\r\n private expandCollapseStatus: Subject = new Subject();\r\n expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable();\r\n\r\n private selectedMenuID: Subject = new Subject();\r\n selectedMenuID$: Observable = this.selectedMenuID.asObservable();\r\n\r\n private generateId(): string {\r\n let text = '';\r\n for (let i = 0; i < 20; i++) {\r\n text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length));\r\n }\r\n return text;\r\n }\r\n addRandomId(nodes: MultilevelNode[]): void {\r\n nodes.forEach((node: MultilevelNode) => {\r\n node.id = this.generateId();\r\n if (node.items !== undefined) {\r\n this.addRandomId(node.items);\r\n }\r\n });\r\n }\r\n recursiveCheckId(node: MultilevelNode, nodeId: string): boolean {\r\n if (node.id === nodeId) {\r\n return true;\r\n } else {\r\n if (node.items !== undefined) {\r\n return node.items.some((nestedNode: MultilevelNode) => {\r\n return this.recursiveCheckId(nestedNode, nodeId);\r\n });\r\n }\r\n }\r\n }\r\n private findNodeRecursively({ nodes, link, id }: { nodes: MultilevelNode[]; link?: string; id?: string }): void {\r\n for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) {\r\n const node = nodes[nodeIndex];\r\n for (const key in node) {\r\n if (node.hasOwnProperty(key)) {\r\n if (encodeURI(node.link) === link) {\r\n this.foundLinkObject = node;\r\n } else if (node.id === id) {\r\n this.foundLinkObject = node;\r\n } else {\r\n if (node.items !== undefined) {\r\n this.findNodeRecursively({\r\n nodes: node.items,\r\n link: link ? link : null,\r\n id: id ? id : null,\r\n });\r\n }\r\n }\r\n }\r\n }\r\n }\r\n }\r\n getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode {\r\n this.findNodeRecursively({ nodes, link });\r\n return this.foundLinkObject;\r\n }\r\n getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode {\r\n this.findNodeRecursively({ nodes, id });\r\n return this.foundLinkObject;\r\n }\r\n // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function\r\n // https://angular.io/api/common/KeyValuePipe#description\r\n kvDummyComparerFn() {\r\n return 0;\r\n }\r\n setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void {\r\n this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral);\r\n }\r\n selectMenuByID(menuID: string) {\r\n this.selectedMenuID.next(menuID);\r\n return this.foundLinkObject;\r\n }\r\n}\r\n","import { animate, group, state, style, transition, trigger } from '@angular/animations';\r\n\r\nexport const SlideInOut = trigger('SlideInOut', [\r\n state('in', style({ height: '*', opacity: 0 })),\r\n transition(':leave', [\r\n style({ height: '*', opacity: 0.2 }),\r\n group([animate(200, style({ height: 0 })), animate('200ms ease-out', style({ opacity: 0 }))]),\r\n ]),\r\n transition(':enter', [\r\n style({ height: '0', opacity: 0 }),\r\n group([animate(200, style({ height: '*' })), animate('400ms ease-out', style({ opacity: 1 }))]),\r\n ]),\r\n]);\r\n\r\nexport const ExpandedLTR = trigger('ExpandedLTR', [\r\n state('no', style({ transform: 'rotate(-90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)' })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200)),\r\n]);\r\n\r\nexport const ExpandedRTL = trigger('ExpandedRTL', [\r\n state('no', style({ transform: 'rotate(90deg)' })),\r\n state('yes', style({ transform: 'rotate(0deg)' })),\r\n\r\n transition('no => yes', animate(200)),\r\n transition('yes => no', animate(200)),\r\n]);\r\n","export class CommonUtils {\r\n static isNullOrUndefinedOrEmpty = function (object: any): boolean {\r\n return CommonUtils.isNullOrUndefined(object) || object === '';\r\n };\r\n\r\n static isNullOrUndefined = function (object: any): boolean {\r\n return object === null || object === undefined;\r\n };\r\n}\r\n","import { Component, Input } from '@angular/core';\r\nimport { MultilevelNode } from '../../app.model';\r\nimport { ExpandedLTR, ExpandedRTL } from '../../animation';\r\nimport { CommonUtils } from '../../common-utils';\r\nimport { CONSTANT } from '../../constants';\r\n\r\n@Component({\r\n selector: 'ng-list-item-content',\r\n templateUrl: './list-item-content.component.html',\r\n styleUrls: ['./list-item-content.component.css'],\r\n animations: [ExpandedLTR, ExpandedRTL],\r\n})\r\nexport class ListItemContentComponent {\r\n @Input() node: MultilevelNode;\r\n @Input() isRtlLayout: boolean;\r\n\r\n getListIcon(node: MultilevelNode): string {\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) {\r\n return `icon`;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) {\r\n return `faIcon`;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) {\r\n return `imageIcon`;\r\n }\r\n if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) {\r\n return `svgIcon`;\r\n }\r\n return ``;\r\n }\r\n\r\n getHrefTargetType(): string {\r\n return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE;\r\n }\r\n\r\n getSelectedSvgIcon(): string {\r\n return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon;\r\n }\r\n\r\n getSelectedIcon(): string {\r\n return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon;\r\n }\r\n\r\n getSelectedFaIcon(): string {\r\n return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon;\r\n }\r\n\r\n getSelectedImageIcon(): string {\r\n return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon;\r\n }\r\n\r\n nodeExpandStatus(): string {\r\n return this.node.expanded ? CONSTANT.YES : CONSTANT.NO;\r\n }\r\n}\r\n","\r\n\r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n {{node.label}}\r\n \r\n \r\n keyboard_arrow_down\r\n \r\n\r\n\r\n \r\n \r\n \r\n \r\n \r\n {{getSelectedIcon()}}\r\n \r\n \r\n \r\n \r\n \r\n\r\n","import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core';\r\nimport { Router } from '@angular/router';\r\n\r\nimport { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model';\r\nimport { CONSTANT } from '../constants';\r\nimport { MultilevelMenuService } from '../multilevel-menu.service';\r\nimport { SlideInOut } from '../animation';\r\nimport { CommonUtils } from '../common-utils';\r\n\r\n@Component({\r\n selector: 'ng-list-item',\r\n templateUrl: './list-item.component.html',\r\n styleUrls: ['./list-item.component.css'],\r\n animations: [SlideInOut],\r\n})\r\nexport class ListItemComponent implements OnChanges, OnInit {\r\n @Input() node: MultilevelNode;\r\n @Input() level = 1;\r\n @Input() submenuLevel = 0;\r\n @Input() selectedNode: MultilevelNode;\r\n @Input() nodeConfiguration: Configuration = null;\r\n @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null;\r\n @Input() listTemplate: TemplateRef = null;\r\n\r\n @Output() selectedItem = new EventEmitter();\r\n\r\n isSelected = false;\r\n expanded = false;\r\n firstInitializer = false;\r\n\r\n nodeChildren: MultilevelNode[];\r\n classes: { [index: string]: boolean };\r\n selectedListClasses: { [index: string]: boolean };\r\n\r\n constructor(private router: Router, public multilevelMenuService: MultilevelMenuService) {\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: false,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false,\r\n };\r\n }\r\n\r\n ngOnInit() {\r\n this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled;\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && this.node.faIcon.match(/\\bfa\\w(?!-)/) === null) {\r\n this.node.faIcon = `fas ${this.node.faIcon}`;\r\n }\r\n\r\n this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true;\r\n if (typeof this.node.expanded === 'boolean') {\r\n this.expanded = this.node.expanded;\r\n }\r\n this.setClasses();\r\n }\r\n\r\n ngOnChanges() {\r\n this.nodeChildren = this.node && this.node.items ? this.node.items.filter((n) => !n.hidden) : [];\r\n this.node.hasChildren = this.hasItems();\r\n\r\n if (!CommonUtils.isNullOrUndefined(this.selectedNode)) {\r\n this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id));\r\n }\r\n this.setExpandCollapseStatus();\r\n }\r\n\r\n setSelectedClass(isFound: boolean): void {\r\n if (isFound) {\r\n if (!this.firstInitializer) {\r\n this.expanded = true;\r\n }\r\n this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined;\r\n } else {\r\n this.isSelected = false;\r\n if (this.nodeConfiguration.collapseOnSelect) {\r\n this.node.expanded = false;\r\n this.expanded = false;\r\n }\r\n }\r\n this.selectedListClasses = {\r\n [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true,\r\n [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected,\r\n [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id,\r\n [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled,\r\n [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true,\r\n };\r\n this.node.isSelected = this.isSelected;\r\n this.setClasses();\r\n }\r\n\r\n getPaddingAtStart(): boolean {\r\n return this.nodeConfiguration.paddingAtStart;\r\n }\r\n\r\n getListStyle(): ListStyle {\r\n return {\r\n color: this.getColor(),\r\n backgroundColor: this.getBackgroundColor(),\r\n };\r\n }\r\n\r\n getColorStyle(): ListStyle {\r\n return { color: this.getColor() };\r\n }\r\n\r\n getBackgroundStyle(): ListStyle {\r\n return { backgroundColor: this.getBackgroundColor() };\r\n }\r\n\r\n private getColor(): string {\r\n return this.isSelected\r\n ? this.nodeConfiguration.selectedListFontColor !== null\r\n ? this.nodeConfiguration.selectedListFontColor\r\n : CONSTANT.DEFAULT_SELECTED_FONT_COLOR\r\n : this.nodeConfiguration.fontColor !== null\r\n ? this.nodeConfiguration.fontColor\r\n : CONSTANT.DEFAULT_LIST_FONT_COLOR;\r\n }\r\n\r\n private getBackgroundColor(): string {\r\n return this.nodeConfiguration.listBackgroundColor !== null\r\n ? this.nodeConfiguration.listBackgroundColor\r\n : CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR;\r\n }\r\n\r\n hasItems(): boolean {\r\n return this.nodeChildren.length > 0;\r\n }\r\n\r\n isRtlLayout(): boolean {\r\n return this.nodeConfiguration.rtlLayout;\r\n }\r\n\r\n setClasses(): void {\r\n this.classes = {\r\n [`level-${this.level + 1}`]: true,\r\n [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(),\r\n [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems(),\r\n };\r\n }\r\n\r\n setExpandCollapseStatus(): void {\r\n if (CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) {\r\n return;\r\n }\r\n\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) {\r\n this.setExpandStatus(true);\r\n }\r\n if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) {\r\n this.setExpandStatus(false);\r\n }\r\n }\r\n\r\n private setExpandStatus(value: boolean): void {\r\n this.expanded = value;\r\n if (!this.nodeConfiguration.customTemplate) {\r\n return;\r\n }\r\n this.node.expanded = value;\r\n }\r\n\r\n expand(node: MultilevelNode): void {\r\n if (node.disabled) {\r\n return;\r\n }\r\n\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.expanded = !this.expanded;\r\n this.node.expanded = this.expanded;\r\n this.firstInitializer = true;\r\n\r\n this.setClasses();\r\n\r\n if (this.nodeConfiguration.interfaceWithRoute && node.link) {\r\n void this.router.navigate([node.link], node.navigationExtras).then();\r\n return;\r\n }\r\n\r\n if (node.onSelected && typeof node.onSelected === 'function') {\r\n node.onSelected(node);\r\n this.selectedListItem(node);\r\n return;\r\n }\r\n\r\n if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) {\r\n this.selectedListItem(node);\r\n }\r\n }\r\n\r\n selectedListItem(node: MultilevelNode): void {\r\n this.selectedItem.emit(node);\r\n }\r\n}\r\n","
\r\n \r\n \r\n \r\n \r\n
\r\n \r\n \r\n \r\n \r\n \r\n \r\n\r\n\r\n\r\n\r\n \r\n \r\n \r\n \r\n\r\n\r\n \r\n\r\n","import { NgModule } from '@angular/core';\r\n\r\nimport { MatRippleModule } from '@angular/material/core';\r\nimport { MatIconModule } from '@angular/material/icon';\r\nimport { MatListModule } from '@angular/material/list';\r\n\r\n@NgModule({\r\n imports: [MatIconModule, MatListModule, MatRippleModule],\r\n declarations: [],\r\n exports: [MatIconModule, MatListModule, MatRippleModule],\r\n})\r\nexport class MaterialsModule {}\r\n","import {\r\n Component,\r\n OnChanges,\r\n OnInit,\r\n OnDestroy,\r\n Output,\r\n EventEmitter,\r\n Input,\r\n ContentChild,\r\n TemplateRef,\r\n ElementRef,\r\n} from '@angular/core';\r\nimport { NavigationEnd, Router } from '@angular/router';\r\nimport { Subject, takeUntil } from 'rxjs';\r\nimport { Configuration, MultilevelNode, ExpandCollapseStatusEnum, ListStyle } from './app.model';\r\nimport { CONSTANT } from './constants';\r\nimport { MultilevelMenuService } from './multilevel-menu.service';\r\nimport { CommonUtils } from './common-utils';\r\n\r\n@Component({\r\n selector: 'ng-material-multilevel-menu',\r\n templateUrl: './ng-material-multilevel-menu.component.html',\r\n styleUrls: ['./ng-material-multilevel-menu.component.css'],\r\n})\r\nexport class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy {\r\n @Input() items: MultilevelNode[];\r\n @Input() configuration: Configuration = null;\r\n @Output() selectedItem = new EventEmitter();\r\n @Output() selectedLabel = new EventEmitter();\r\n @Output() menuIsReady = new EventEmitter();\r\n @ContentChild('listTemplate', { static: true }) listTemplate: TemplateRef;\r\n\r\n private readonly stringConfigProperties = [\r\n 'classname',\r\n 'backgroundColor',\r\n 'listBackgroundColor',\r\n 'fontColor',\r\n 'selectedListFontColor',\r\n ];\r\n\r\n private destroyed$ = new Subject();\r\n\r\n currentNode: MultilevelNode = null;\r\n\r\n nodeConfig: Configuration = {\r\n paddingAtStart: true,\r\n listBackgroundColor: null,\r\n fontColor: null,\r\n selectedListFontColor: null,\r\n interfaceWithRoute: null,\r\n collapseOnSelect: null,\r\n highlightOnSelect: false,\r\n useDividers: true,\r\n rtlLayout: false,\r\n customTemplate: false,\r\n };\r\n\r\n isInvalidConfig = true;\r\n isInvalidData = true;\r\n nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral;\r\n\r\n constructor(private router: Router, public multilevelMenuService: MultilevelMenuService) {}\r\n\r\n ngOnInit() {\r\n this.subscribeToRouterEvents();\r\n }\r\n\r\n ngOnChanges() {\r\n this.checkConfigAndData();\r\n this.initExpandCollapseStatus();\r\n this.initSelectedMenuID();\r\n\r\n if (!this.isInvalidData) {\r\n this.menuIsReady.emit(this.items);\r\n }\r\n }\r\n\r\n ngOnDestroy() {\r\n this.destroyed$.next();\r\n this.destroyed$.complete();\r\n }\r\n\r\n subscribeToRouterEvents() {\r\n if (this.configuration?.interfaceWithRoute === false) {\r\n return;\r\n }\r\n\r\n this.router.events.pipe(takeUntil(this.destroyed$)).subscribe((event) => {\r\n if (event instanceof NavigationEnd) {\r\n this.updateNodeByURL(event.urlAfterRedirects);\r\n }\r\n });\r\n this.updateNodeByURL(this.router.url);\r\n }\r\n\r\n updateNodeByURL(url: string): void {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url);\r\n\r\n if (!foundNode || CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)) {\r\n return;\r\n }\r\n\r\n this.currentNode = foundNode;\r\n if (CommonUtils.isNullOrUndefined(foundNode.dontEmit) || foundNode.dontEmit) {\r\n return;\r\n }\r\n\r\n this.selectedListItem(foundNode);\r\n }\r\n\r\n checkConfigAndData(): void {\r\n this.detectInvalidConfig();\r\n this.checkValidData();\r\n }\r\n\r\n checkValidData(): void {\r\n if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) {\r\n console.warn(CONSTANT.ERROR_MESSAGE);\r\n return;\r\n }\r\n this.items = this.items.filter((item) => !item.hidden);\r\n this.multilevelMenuService.addRandomId(this.items);\r\n this.isInvalidData = false;\r\n }\r\n\r\n detectInvalidConfig(): void {\r\n if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) {\r\n this.isInvalidConfig = true;\r\n return;\r\n }\r\n this.isInvalidConfig = false;\r\n const config = this.configuration;\r\n\r\n for (const property of Object.keys(config)) {\r\n this.stringConfigProperties.some((item) => item === property)\r\n ? this.setStringConfigProperty(property, config[property])\r\n : this.setBooleanConfigProperty(property, config[property]);\r\n }\r\n }\r\n\r\n initExpandCollapseStatus(): void {\r\n this.multilevelMenuService.expandCollapseStatus$.pipe(takeUntil(this.destroyed$)).subscribe({\r\n next: (expandCollapseStatus: ExpandCollapseStatusEnum) => {\r\n this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral;\r\n },\r\n error: () => {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n },\r\n });\r\n }\r\n\r\n initSelectedMenuID(): void {\r\n this.multilevelMenuService.selectedMenuID$.pipe(takeUntil(this.destroyed$)).subscribe((selectedMenuID: string) => {\r\n if (selectedMenuID) {\r\n const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID);\r\n if (!foundNode) {\r\n return;\r\n }\r\n this.currentNode = foundNode;\r\n this.selectedListItem(foundNode);\r\n }\r\n });\r\n }\r\n\r\n getClassName(): string {\r\n return this.isInvalidConfig || CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname)\r\n ? CONSTANT.DEFAULT_CLASS_NAME\r\n : `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`;\r\n }\r\n\r\n getGlobalStyle(): ListStyle {\r\n const styles = {\r\n backgroundColor: null,\r\n };\r\n\r\n if (this.isInvalidConfig || CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) {\r\n return styles;\r\n }\r\n\r\n styles.backgroundColor = this.configuration.backgroundColor;\r\n\r\n return styles;\r\n }\r\n\r\n isRtlLayout(): boolean {\r\n return this.nodeConfig.rtlLayout;\r\n }\r\n\r\n selectedListItem(event: MultilevelNode): void {\r\n this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral;\r\n this.currentNode = event;\r\n if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) {\r\n return;\r\n }\r\n\r\n event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function')\r\n ? this.selectedItem.emit(event)\r\n : this.selectedLabel.emit(event);\r\n }\r\n\r\n private setStringConfigProperty(propertyName: string, value: string): void {\r\n if (CommonUtils.isNullOrUndefinedOrEmpty(value)) {\r\n return;\r\n }\r\n\r\n this.nodeConfig[propertyName] = value;\r\n }\r\n\r\n private setBooleanConfigProperty(propertyName: string, value: boolean): void {\r\n if (CommonUtils.isNullOrUndefined(value) || typeof value !== 'boolean') {\r\n return;\r\n }\r\n\r\n this.nodeConfig[propertyName] = value;\r\n }\r\n}\r\n","\r\n \r\n \r\n \r\n \r\n\r\n","import { CommonModule } from '@angular/common';\r\nimport { NgModule } from '@angular/core';\r\nimport { RouterModule } from '@angular/router';\r\n\r\nimport { ListItemComponent } from './list-item/list-item.component';\r\nimport { MaterialsModule } from './materials.module';\r\nimport { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component';\r\nimport { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component';\r\n\r\n@NgModule({\r\n imports: [CommonModule, MaterialsModule, RouterModule],\r\n declarations: [NgMaterialMultilevelMenuComponent, ListItemComponent, ListItemContentComponent],\r\n exports: [NgMaterialMultilevelMenuComponent],\r\n})\r\nexport class NgMaterialMultilevelMenuModule {}\r\n","/*\r\n * Public API Surface of ng-material-multilevel-menu\r\n */\r\n\r\nexport * from './lib/ng-material-multilevel-menu.module';\r\nexport * from './lib/ng-material-multilevel-menu.component';\r\nexport * from './lib/multilevel-menu.service';\r\nexport * from './lib/animation';\r\nexport { MultilevelNode, Configuration, ExpandCollapseStatusEnum } from './lib/app.model';\r\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './public_api';\n"],"names":["i1","i3","i4","i2.MultilevelMenuService","i8.ListItemContentComponent","i6.ListItemComponent"],"mappings":"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"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/animation.d.ts.map b/dist/ng-material-multilevel-menu/lib/animation.d.ts.map index 1074907..3da26af 100644 --- a/dist/ng-material-multilevel-menu/lib/animation.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/animation.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/animation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,wDAmBtB,CAAC;AAEF,eAAO,MAAM,WAAW,wDAMtB,CAAC;AAEH,eAAO,MAAM,WAAW,wDAMtB,CAAC"} \ No newline at end of file +{"version":3,"file":"animation.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/animation.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,UAAU,wDAUrB,CAAC;AAEH,eAAO,MAAM,WAAW,wDAMtB,CAAC;AAEH,eAAO,MAAM,WAAW,wDAMtB,CAAC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/app.model.d.ts b/dist/ng-material-multilevel-menu/lib/app.model.d.ts index 7adceb7..9980052 100644 --- a/dist/ng-material-multilevel-menu/lib/app.model.d.ts +++ b/dist/ng-material-multilevel-menu/lib/app.model.d.ts @@ -1,4 +1,4 @@ -import { NavigationExtras } from "@angular/router"; +import { NavigationExtras } from '@angular/router'; export interface MultilevelNode { id?: string; label: string; @@ -38,15 +38,9 @@ export interface Configuration { rtlLayout?: boolean; customTemplate?: boolean; } -export interface BackgroundStyle { - backgroundColor: string; -} -export interface ColorStyle { - color: string; -} export interface ListStyle { - backgroundColor: string; - color: string; + backgroundColor?: string; + color?: string; } export declare enum ExpandCollapseStatusEnum { expand = "expand", diff --git a/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map b/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map index 8e7a820..60cfd3a 100644 --- a/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/app.model.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"app.model.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED,MAAM,WAAW,aAAa;IAC5B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC1B;AAED,MAAM,WAAW,eAAe;IAC9B,eAAe,EAAE,MAAM,CAAC;CACzB;AACD,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,SAAS;IACxB,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,EAAE,MAAM,CAAC;CACf;AAED,oBAAY,wBAAwB;IAClC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACpB"} \ No newline at end of file +{"version":3,"file":"app.model.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/app.model.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnD,MAAM,WAAW,cAAc;IAC3B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,KAAK,CAAC,EAAE,cAAc,EAAE,CAAC;IACzB,UAAU,CAAC,EAAE,QAAQ,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,UAAU,CAAC,EAAE,OAAO,CAAC;CACxB;AAED,MAAM,WAAW,aAAa;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,kBAAkB,CAAC,EAAE,OAAO,CAAC;IAC7B,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,SAAS;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,KAAK,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,oBAAY,wBAAwB;IAChC,MAAM,WAAW;IACjB,QAAQ,aAAa;IACrB,OAAO,YAAY;CACtB"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/common-utils.d.ts.map b/dist/ng-material-multilevel-menu/lib/common-utils.d.ts.map index c884dde..5ebc382 100644 --- a/dist/ng-material-multilevel-menu/lib/common-utils.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/common-utils.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"common-utils.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IAEtB,MAAM,CAAC,wBAAwB,WAAqB,GAAG,KAAG,OAAO,CAE/D;IAEF,MAAM,CAAC,iBAAiB,WAAqB,GAAG,KAAG,OAAO,CAExD;CACH"} \ No newline at end of file +{"version":3,"file":"common-utils.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/common-utils.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IACpB,MAAM,CAAC,wBAAwB,WAAqB,GAAG,KAAG,OAAO,CAE/D;IAEF,MAAM,CAAC,iBAAiB,WAAqB,GAAG,KAAG,OAAO,CAExD;CACL"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts index bfa3d08..df38caa 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts @@ -1,11 +1,8 @@ -import { OnInit } from "@angular/core"; -import { MultilevelNode } from "../../app.model"; +import { MultilevelNode } from '../../app.model'; import * as i0 from "@angular/core"; -export declare class ListItemContentComponent implements OnInit { +export declare class ListItemContentComponent { node: MultilevelNode; isRtlLayout: boolean; - constructor(); - ngOnInit(): void; getListIcon(node: MultilevelNode): string; getHrefTargetType(): string; getSelectedSvgIcon(): string; diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map index 512bb90..ccadc45 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item-content/list-item-content.component.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"list-item-content.component.d.ts","sourceRoot":"","sources":["../../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,MAAM,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;;AAKjD,qBAMa,wBAAyB,YAAW,MAAM;IAC5C,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;;IAM9B,QAAQ,IAAI,IAAI;IAIhB,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IAczC,iBAAiB,IAAI,MAAM;IAM3B,kBAAkB,IAAI,MAAM;IAM5B,eAAe,IAAI,MAAM;IAMzB,iBAAiB,IAAI,MAAM;IAM3B,oBAAoB,IAAI,MAAM;IAM9B,gBAAgB,IAAI,MAAM;yCAxDf,wBAAwB;2CAAxB,wBAAwB;CA2DpC"} \ No newline at end of file +{"version":3,"file":"list-item-content.component.d.ts","sourceRoot":"","sources":["../../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,iBAAiB,CAAC;;AAKjD,qBAMa,wBAAwB;IACxB,IAAI,EAAE,cAAc,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IAE9B,WAAW,CAAC,IAAI,EAAE,cAAc,GAAG,MAAM;IAgBzC,iBAAiB,IAAI,MAAM;IAI3B,kBAAkB,IAAI,MAAM;IAI5B,eAAe,IAAI,MAAM;IAIzB,iBAAiB,IAAI,MAAM;IAI3B,oBAAoB,IAAI,MAAM;IAI9B,gBAAgB,IAAI,MAAM;yCAxCjB,wBAAwB;2CAAxB,wBAAwB;CA2CpC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts index 600bf8e..3fd9904 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts @@ -1,7 +1,7 @@ -import { OnChanges, OnInit, EventEmitter, TemplateRef, ElementRef } from "@angular/core"; -import { Router } from "@angular/router"; -import { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum, ColorStyle, BackgroundStyle } from "../app.model"; -import { MultilevelMenuService } from "../multilevel-menu.service"; +import { OnChanges, OnInit, EventEmitter, TemplateRef, ElementRef } from '@angular/core'; +import { Router } from '@angular/router'; +import { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model'; +import { MultilevelMenuService } from '../multilevel-menu.service'; import * as i0 from "@angular/core"; export declare class ListItemComponent implements OnChanges, OnInit { private router; @@ -25,19 +25,20 @@ export declare class ListItemComponent implements OnChanges, OnInit { [index: string]: boolean; }; constructor(router: Router, multilevelMenuService: MultilevelMenuService); - ngOnChanges(): void; ngOnInit(): void; + ngOnChanges(): void; setSelectedClass(isFound: boolean): void; getPaddingAtStart(): boolean; getListStyle(): ListStyle; - getColorStyle(): ColorStyle; - getBackgroundStyle(): BackgroundStyle; - getColor(): string; - getBackgroundColor(): string; + getColorStyle(): ListStyle; + getBackgroundStyle(): ListStyle; + private getColor; + private getBackgroundColor; hasItems(): boolean; isRtlLayout(): boolean; setClasses(): void; setExpandCollapseStatus(): void; + private setExpandStatus; expand(node: MultilevelNode): void; selectedListItem(node: MultilevelNode): void; static ɵfac: i0.ɵɵFactoryDeclaration; diff --git a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map index 2dfe87a..bf813fe 100644 --- a/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/list-item/list-item.component.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"list-item.component.d.ts","sourceRoot":"","sources":["../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAGL,SAAS,EACT,MAAM,EAEN,YAAY,EACZ,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EACL,aAAa,EACb,SAAS,EACT,cAAc,EACd,wBAAwB,EACxB,UAAU,EACV,eAAe,EAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;AAInE,qBAMa,iBAAkB,YAAW,SAAS,EAAE,MAAM;IAoBvD,OAAO,CAAC,MAAM;IACP,qBAAqB,EAAE,qBAAqB;IApB5C,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,SAAK;IACV,YAAY,SAAK;IACjB,YAAY,EAAE,cAAc,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAQ;IACxC,wBAAwB,EAAE,wBAAwB,CAAQ;IAC1D,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAQ;IAE5C,YAAY,+BAAsC;IAE5D,UAAU,UAAS;IACnB,QAAQ,UAAS;IACjB,gBAAgB,UAAS;IAEzB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,mBAAmB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;gBAGxC,MAAM,EAAE,MAAM,EACf,qBAAqB,EAAE,qBAAqB;IASrD,WAAW;IAkBX,QAAQ;IAoBR,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IA0BxC,iBAAiB,IAAI,OAAO;IAI5B,YAAY,IAAI,SAAS;IAOzB,aAAa,IAAI,UAAU;IAI3B,kBAAkB,IAAI,eAAe;IAIrC,QAAQ,IAAI,MAAM;IAUlB,kBAAkB,IAAI,MAAM;IAM5B,QAAQ,IAAI,OAAO;IAInB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,IAAI;IASlB,uBAAuB,IAAI,IAAI;IAiB/B,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IA2BlC,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;yCA9LjC,iBAAiB;2CAAjB,iBAAiB;CAiM7B"} \ No newline at end of file +{"version":3,"file":"list-item.component.d.ts","sourceRoot":"","sources":["../../../../projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAAoB,SAAS,EAAE,MAAM,EAAU,YAAY,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACnH,OAAO,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAEzC,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,cAAc,CAAC;AAElG,OAAO,EAAE,qBAAqB,EAAE,MAAM,4BAA4B,CAAC;;AAInE,qBAMa,iBAAkB,YAAW,SAAS,EAAE,MAAM;IAmB3C,OAAO,CAAC,MAAM;IAAiB,qBAAqB,EAAE,qBAAqB;IAlB9E,IAAI,EAAE,cAAc,CAAC;IACrB,KAAK,SAAK;IACV,YAAY,SAAK;IACjB,YAAY,EAAE,cAAc,CAAC;IAC7B,iBAAiB,EAAE,aAAa,CAAQ;IACxC,wBAAwB,EAAE,wBAAwB,CAAQ;IAC1D,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAQ;IAE5C,YAAY,+BAAsC;IAE5D,UAAU,UAAS;IACnB,QAAQ,UAAS;IACjB,gBAAgB,UAAS;IAEzB,YAAY,EAAE,cAAc,EAAE,CAAC;IAC/B,OAAO,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;IACtC,mBAAmB,EAAE;QAAE,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAA;KAAE,CAAC;gBAE9B,MAAM,EAAE,MAAM,EAAS,qBAAqB,EAAE,qBAAqB;IAQvF,QAAQ;IAcR,WAAW;IAUX,gBAAgB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAwBxC,iBAAiB,IAAI,OAAO;IAI5B,YAAY,IAAI,SAAS;IAOzB,aAAa,IAAI,SAAS;IAI1B,kBAAkB,IAAI,SAAS;IAI/B,OAAO,CAAC,QAAQ;IAUhB,OAAO,CAAC,kBAAkB;IAM1B,QAAQ,IAAI,OAAO;IAInB,WAAW,IAAI,OAAO;IAItB,UAAU,IAAI,IAAI;IAQlB,uBAAuB,IAAI,IAAI;IAa/B,OAAO,CAAC,eAAe;IAQvB,MAAM,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;IA4BlC,gBAAgB,CAAC,IAAI,EAAE,cAAc,GAAG,IAAI;yCA/KnC,iBAAiB;2CAAjB,iBAAiB;CAkL7B"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/materials.module.d.ts.map b/dist/ng-material-multilevel-menu/lib/materials.module.d.ts.map index 040fba7..b2ded3e 100644 --- a/dist/ng-material-multilevel-menu/lib/materials.module.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/materials.module.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"materials.module.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts"],"names":[],"mappings":";;;;AAMA,qBAaa,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAAI"} \ No newline at end of file +{"version":3,"file":"materials.module.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/materials.module.ts"],"names":[],"mappings":";;;;AAMA,qBAKa,eAAe;yCAAf,eAAe;0CAAf,eAAe;0CAAf,eAAe;CAAG"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts b/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts index 44ff6ea..6ed453f 100644 --- a/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts +++ b/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts @@ -1,5 +1,6 @@ import { Observable } from 'rxjs'; import { MultilevelNode, ExpandCollapseStatusEnum } from './app.model'; +import * as i0 from "@angular/core"; export declare class MultilevelMenuService { foundLinkObject: MultilevelNode; private expandCollapseStatus; @@ -15,5 +16,7 @@ export declare class MultilevelMenuService { kvDummyComparerFn(): number; setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void; selectMenuByID(menuID: string): MultilevelNode; + static ɵfac: i0.ɵɵFactoryDeclaration; + static ɵprov: i0.ɵɵInjectableDeclaration; } //# sourceMappingURL=multilevel-menu.service.d.ts.map \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts.map b/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts.map index 30331a9..ebc2989 100644 --- a/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/multilevel-menu.service.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"multilevel-menu.service.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts"],"names":[],"mappings":"AAAC,OAAO,EAAkB,UAAU,EAAU,MAAM,MAAM,CAAC;AAC3D,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;AAGvE,qBAAa,qBAAqB;IAChC,eAAe,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,oBAAoB,CAA8E;IAC1G,qBAAqB,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAA4C;IAEvG,OAAO,CAAC,cAAc,CAA0C;IAChE,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAsC;IAEzE,OAAO,CAAC,UAAU;IAOlB,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAQ1C,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAW/D,OAAO,CAAC,mBAAmB;IAsB3B,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAI5E,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc;IAMzE,iBAAiB;IAGjB,2BAA2B,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI;IAGnE,cAAc,CAAC,MAAM,EAAE,MAAM;CAI9B"} \ No newline at end of file +{"version":3,"file":"multilevel-menu.service.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,UAAU,EAAW,MAAM,MAAM,CAAC;AAC3C,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,MAAM,aAAa,CAAC;;AAGvE,qBAGa,qBAAqB;IAC9B,eAAe,EAAE,cAAc,CAAC;IAChC,OAAO,CAAC,oBAAoB,CAA8E;IAC1G,qBAAqB,EAAE,UAAU,CAAC,wBAAwB,CAAC,CAA4C;IAEvG,OAAO,CAAC,cAAc,CAA0C;IAChE,eAAe,EAAE,UAAU,CAAC,MAAM,CAAC,CAAsC;IAEzE,OAAO,CAAC,UAAU;IAOlB,WAAW,CAAC,KAAK,EAAE,cAAc,EAAE,GAAG,IAAI;IAQ1C,gBAAgB,CAAC,IAAI,EAAE,cAAc,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAW/D,OAAO,CAAC,mBAAmB;IAsB3B,qBAAqB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,IAAI,EAAE,MAAM,GAAG,cAAc;IAI5E,oBAAoB,CAAC,KAAK,EAAE,cAAc,EAAE,EAAE,EAAE,EAAE,MAAM,GAAG,cAAc;IAMzE,iBAAiB;IAGjB,2BAA2B,CAAC,MAAM,EAAE,wBAAwB,GAAG,IAAI;IAGnE,cAAc,CAAC,MAAM,EAAE,MAAM;yCAxEpB,qBAAqB;6CAArB,qBAAqB;CA4EjC"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts index 9f4e6e7..3a2266a 100644 --- a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts @@ -1,8 +1,7 @@ -import { OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, ElementRef } from "@angular/core"; -import { Router } from "@angular/router"; -import { Subscription } from "rxjs"; -import { BackgroundStyle, Configuration, MultilevelNode, ExpandCollapseStatusEnum } from "./app.model"; -import { MultilevelMenuService } from "./multilevel-menu.service"; +import { OnChanges, OnInit, OnDestroy, EventEmitter, TemplateRef, ElementRef } from '@angular/core'; +import { Router } from '@angular/router'; +import { Configuration, MultilevelNode, ExpandCollapseStatusEnum, ListStyle } from './app.model'; +import { MultilevelMenuService } from './multilevel-menu.service'; import * as i0 from "@angular/core"; export declare class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy { private router; @@ -13,26 +12,30 @@ export declare class NgMaterialMultilevelMenuComponent implements OnInit, OnChan selectedLabel: EventEmitter; menuIsReady: EventEmitter; listTemplate: TemplateRef; - expandCollapseStatusSubscription: Subscription; - selectMenuByIDSubscription: Subscription; + private readonly stringConfigProperties; + private destroyed$; currentNode: MultilevelNode; nodeConfig: Configuration; isInvalidConfig: boolean; isInvalidData: boolean; nodeExpandCollapseStatus: ExpandCollapseStatusEnum; constructor(router: Router, multilevelMenuService: MultilevelMenuService); - ngOnChanges(): void; ngOnInit(): void; + ngOnChanges(): void; + ngOnDestroy(): void; + subscribeToRouterEvents(): void; updateNodeByURL(url: string): void; + checkConfigAndData(): void; checkValidData(): void; detectInvalidConfig(): void; initExpandCollapseStatus(): void; initSelectedMenuID(): void; getClassName(): string; - getGlobalStyle(): BackgroundStyle; + getGlobalStyle(): ListStyle; isRtlLayout(): boolean; selectedListItem(event: MultilevelNode): void; - ngOnDestroy(): void; + private setStringConfigProperty; + private setBooleanConfigProperty; static ɵfac: i0.ɵɵFactoryDeclaration; static ɵcmp: i0.ɵɵComponentDeclaration; } diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map index 2acd474..2b86095 100644 --- a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.component.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ng-material-multilevel-menu.component.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEL,SAAS,EACT,MAAM,EACN,SAAS,EAET,YAAY,EAGZ,WAAW,EACX,UAAU,EACX,MAAM,eAAe,CAAC;AACvB,OAAO,EAAiB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AACxD,OAAO,EAAE,YAAY,EAAE,MAAM,MAAM,CAAC;AACpC,OAAO,EACL,eAAe,EACf,aAAa,EACb,cAAc,EACd,wBAAwB,EACzB,MAAM,aAAa,CAAC;AAErB,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAGlE,qBAKa,iCACX,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IAgCrC,OAAO,CAAC,MAAM;IACP,qBAAqB,EAAE,qBAAqB;IA/B5C,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,EAAE,aAAa,CAAQ;IACnC,YAAY,+BAAsC;IAClD,aAAa,+BAAsC;IACnD,WAAW,iCAAwC;IAE7D,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAEtC,gCAAgC,EAAE,YAAY,CAAQ;IACtD,0BAA0B,EAAE,YAAY,CAAQ;IAChD,WAAW,EAAE,cAAc,CAAQ;IAEnC,UAAU,EAAE,aAAa,CAWvB;IACF,eAAe,UAAQ;IACvB,aAAa,UAAQ;IACrB,wBAAwB,EAAE,wBAAwB,CACf;gBAGzB,MAAM,EAAE,MAAM,EACf,qBAAqB,EAAE,qBAAqB;IAIrD,WAAW;IAQX,QAAQ;IAcR,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAmBlC,cAAc,IAAI,IAAI;IAYtB,mBAAmB,IAAI,IAAI;IA4D3B,wBAAwB,IAAI,IAAI;IAahC,kBAAkB,IAAI,IAAI;IAiB1B,YAAY,IAAI,MAAM;IAStB,cAAc,IAAI,eAAe;IAejC,WAAW,IAAI,OAAO;IAGtB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAe7C,WAAW;yCA/NA,iCAAiC;2CAAjC,iCAAiC;CAmO7C"} \ No newline at end of file +{"version":3,"file":"ng-material-multilevel-menu.component.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts"],"names":[],"mappings":"AAAA,OAAO,EAEH,SAAS,EACT,MAAM,EACN,SAAS,EAET,YAAY,EAGZ,WAAW,EACX,UAAU,EACb,MAAM,eAAe,CAAC;AACvB,OAAO,EAAiB,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAExD,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,wBAAwB,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAEjG,OAAO,EAAE,qBAAqB,EAAE,MAAM,2BAA2B,CAAC;;AAGlE,qBAKa,iCAAkC,YAAW,MAAM,EAAE,SAAS,EAAE,SAAS;IAqCtE,OAAO,CAAC,MAAM;IAAiB,qBAAqB,EAAE,qBAAqB;IApC9E,KAAK,EAAE,cAAc,EAAE,CAAC;IACxB,aAAa,EAAE,aAAa,CAAQ;IACnC,YAAY,+BAAsC;IAClD,aAAa,+BAAsC;IACnD,WAAW,iCAAwC;IACb,YAAY,EAAE,WAAW,CAAC,UAAU,CAAC,CAAC;IAEtF,OAAO,CAAC,QAAQ,CAAC,sBAAsB,CAMrC;IAEF,OAAO,CAAC,UAAU,CAAuB;IAEzC,WAAW,EAAE,cAAc,CAAQ;IAEnC,UAAU,EAAE,aAAa,CAWvB;IAEF,eAAe,UAAQ;IACvB,aAAa,UAAQ;IACrB,wBAAwB,EAAE,wBAAwB,CAAoC;gBAElE,MAAM,EAAE,MAAM,EAAS,qBAAqB,EAAE,qBAAqB;IAEvF,QAAQ;IAIR,WAAW;IAUX,WAAW;IAKX,uBAAuB;IAavB,eAAe,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAelC,kBAAkB,IAAI,IAAI;IAK1B,cAAc,IAAI,IAAI;IAUtB,mBAAmB,IAAI,IAAI;IAe3B,wBAAwB,IAAI,IAAI;IAWhC,kBAAkB,IAAI,IAAI;IAa1B,YAAY,IAAI,MAAM;IAMtB,cAAc,IAAI,SAAS;IAc3B,WAAW,IAAI,OAAO;IAItB,gBAAgB,CAAC,KAAK,EAAE,cAAc,GAAG,IAAI;IAY7C,OAAO,CAAC,uBAAuB;IAQ/B,OAAO,CAAC,wBAAwB;yCAxLvB,iCAAiC;2CAAjC,iCAAiC;CA+L7C"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts.map b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts.map index 7bf4303..e0ba70a 100644 --- a/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts.map +++ b/dist/ng-material-multilevel-menu/lib/ng-material-multilevel-menu.module.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"ng-material-multilevel-menu.module.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts"],"names":[],"mappings":";;;;;;;AASA,qBAaa,8BAA8B;yCAA9B,8BAA8B;0CAA9B,8BAA8B;0CAA9B,8BAA8B;CAAG"} \ No newline at end of file +{"version":3,"file":"ng-material-multilevel-menu.module.d.ts","sourceRoot":"","sources":["../../../projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts"],"names":[],"mappings":";;;;;;;AASA,qBAKa,8BAA8B;yCAA9B,8BAA8B;0CAA9B,8BAA8B;0CAA9B,8BAA8B;CAAG"} \ No newline at end of file diff --git a/dist/ng-material-multilevel-menu/package.json b/dist/ng-material-multilevel-menu/package.json index 5f2300e..dc64c97 100644 --- a/dist/ng-material-multilevel-menu/package.json +++ b/dist/ng-material-multilevel-menu/package.json @@ -1,6 +1,6 @@ { "name": "@eddie666/ng-material-multilevel-menu", - "version": "6.0.5", + "version": "6.0.6", "repository": { "type": "git", "url": "git+https://github.com/eddiefrank/ng-material-multilevel-menu.git" diff --git a/e2e/.eslintrc.json b/e2e/.eslintrc.json new file mode 100644 index 0000000..b203c00 --- /dev/null +++ b/e2e/.eslintrc.json @@ -0,0 +1,37 @@ +{ + "extends": "../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "app", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "app", + "style": "kebab-case" + } + ] + } + }, + { + "files": [ + "*.html" + ], + "rules": {} + } + ] +} diff --git a/e2e/src/app.e2e-spec.ts b/e2e/src/app.e2e-spec.ts index e42d1f9..d3c0909 100644 --- a/e2e/src/app.e2e-spec.ts +++ b/e2e/src/app.e2e-spec.ts @@ -1,14 +1,14 @@ import { AppPage } from './app.po'; describe('workspace-project App', () => { - let page: AppPage; + let page: AppPage; - beforeEach(() => { - page = new AppPage(); - }); + beforeEach(() => { + page = new AppPage(); + }); - it('should display welcome message', () => { - page.navigateTo(); - expect(page.getParagraphText()).toEqual('Welcome to app!'); - }); + it('should display welcome message', () => { + page.navigateTo(); + expect(page.getParagraphText()).toEqual('Welcome to app!'); + }); }); diff --git a/e2e/src/app.po.ts b/e2e/src/app.po.ts index 82ea75b..98aa583 100644 --- a/e2e/src/app.po.ts +++ b/e2e/src/app.po.ts @@ -1,11 +1,11 @@ import { browser, by, element } from 'protractor'; export class AppPage { - navigateTo() { - return browser.get('/'); - } + navigateTo() { + return browser.get('/'); + } - getParagraphText() { - return element(by.css('app-root h1')).getText(); - } + getParagraphText() { + return element(by.css('app-root h1')).getText(); + } } diff --git a/package-lock.json b/package-lock.json index 4098a08..12c9162 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ng-material-multilevel-menu-angular-project", - "version": "6.0.1", + "version": "6.0.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "ng-material-multilevel-menu-angular-project", - "version": "6.0.1", + "version": "6.0.6", "dependencies": { "@angular/animations": "^16.0.1", "@angular/cdk": "^16.0.1", @@ -20,18 +20,30 @@ "@angular/router": "^16.0.1", "core-js": "^3.30.2", "rxjs": "^7.8.1", + "save-dev": "^0.0.1-security", "tslib": "^2.5.0", "zone.js": "~0.13.0" }, "devDependencies": { "@angular-devkit/build-angular": "~16.0.1", + "@angular-eslint/builder": "16.0.1", + "@angular-eslint/eslint-plugin": "16.0.1", + "@angular-eslint/eslint-plugin-template": "16.0.1", + "@angular-eslint/schematics": "16.0.1", + "@angular-eslint/template-parser": "16.0.1", "@angular/cli": "^16.0.1", "@angular/compiler-cli": "^16.0.1", "@angular/language-service": "^16.0.1", "@types/jasmine": "~4.3.1", "@types/jasminewd2": "~2.0.10", "@types/node": "^20.1.1", + "@typescript-eslint/eslint-plugin": "5.59.2", + "@typescript-eslint/parser": "5.59.2", "codelyzer": "^6.0.2", + "eslint": "^8.39.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-rxjs": "^5.0.3", "jasmine-core": "~4.6.0", "jasmine-spec-reporter": "~7.0.0", "karma": "~6.4.2", @@ -40,9 +52,10 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "^2.0.0", "ng-packagr": "^16.0.1", + "prettier": "^2.8.8", + "prettier-eslint": "^15.0.1", "protractor": "~7.0.0", "ts-node": "^10.9.1", - "tslint": "~6.1.0", "typescript": "^5.0.4" } }, @@ -376,6 +389,174 @@ "yarn": ">= 1.13.0" } }, + "node_modules/@angular-eslint/builder": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/builder/-/builder-16.0.1.tgz", + "integrity": "sha512-yjFltV+r3YjisVjASMPmWB/ASz39wdh0q5g0l6/4G+8yaxl6hEYs5o0ZOGeGdTFstCql8FGY+QKwKgsq9Ec4QQ==", + "dev": true, + "dependencies": { + "@nx/devkit": "16.0.2", + "nx": "16.0.2" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/bundled-angular-compiler": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/bundled-angular-compiler/-/bundled-angular-compiler-16.0.1.tgz", + "integrity": "sha512-amvTgKHtZoygivW3LAYZ9qjLWsXM7/7eaRvaHdmAEdjyFnYQZ7UbWMPSQNz1mlW/AzTFvk9lGGQORglNOSDnww==", + "dev": true + }, + "node_modules/@angular-eslint/eslint-plugin": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin/-/eslint-plugin-16.0.1.tgz", + "integrity": "sha512-CM9keS9cH1QAfSVfsvhw/oGCZcP/D8gfekWwVNjN/uEMEAak0czn1KOG7JQkE36NXOGtwCpTspMi1aa9CVKo9g==", + "dev": true, + "dependencies": { + "@angular-eslint/utils": "16.0.1", + "@typescript-eslint/utils": "5.59.2" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/eslint-plugin-template": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/eslint-plugin-template/-/eslint-plugin-template-16.0.1.tgz", + "integrity": "sha512-1hyfs+Iq7K2x3mDDE4985d8vDcMyknbE9HKHKUtRLfLKC9gnV3N5d4+UeySQ7Rrjvgzkc1g9qHADyuhwRWpDSA==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.0.1", + "@angular-eslint/utils": "16.0.1", + "@typescript-eslint/type-utils": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "aria-query": "5.1.3", + "axobject-query": "3.1.1" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/aria-query": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-5.1.3.tgz", + "integrity": "sha512-R5iJ5lkuHybztUfuOAznmboyjWq8O6sqNqtK7CLOqdydi54VNbORp49mb14KbWgG1QD3JFO9hJdZ+y4KutfdOQ==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@angular-eslint/eslint-plugin-template/node_modules/axobject-query": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-3.1.1.tgz", + "integrity": "sha512-goKlv8DZrK9hUh975fnHzhNIO4jUnFCfv/dszV5VwUGDFjI6vQ2VwoyjYjYNEbBE8AH87TduWP5uyDR1D+Iteg==", + "dev": true, + "dependencies": { + "deep-equal": "^2.0.5" + } + }, + "node_modules/@angular-eslint/schematics": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/schematics/-/schematics-16.0.1.tgz", + "integrity": "sha512-1oJJEWVbgPkNK1E8rAJfrgxzNWWzJKv3frTHeAm8gvZ7GftYhHjDcrcnxLWrYNxb9+q8Awi0hvGta/4HROmmnA==", + "dev": true, + "dependencies": { + "@angular-eslint/eslint-plugin": "16.0.1", + "@angular-eslint/eslint-plugin-template": "16.0.1", + "@nx/devkit": "16.0.2", + "ignore": "5.2.4", + "nx": "16.0.2", + "strip-json-comments": "3.1.1", + "tmp": "0.2.1" + }, + "peerDependencies": { + "@angular/cli": ">= 16.0.0 < 17.0.0" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@angular-eslint/schematics/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/@angular-eslint/template-parser": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/template-parser/-/template-parser-16.0.1.tgz", + "integrity": "sha512-x0+SwSeqa3TiVZan6fE5grHsCkjGqU+zAS2DB6wAw5pyvgNAIjrI4cZEQ8pkgHfXe5tuumTKztlkpisah5s/hg==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.0.1", + "eslint-scope": "^7.0.0" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, + "node_modules/@angular-eslint/template-parser/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@angular-eslint/template-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/@angular-eslint/utils": { + "version": "16.0.1", + "resolved": "https://registry.npmjs.org/@angular-eslint/utils/-/utils-16.0.1.tgz", + "integrity": "sha512-2xnJuhIrMZEYK6UyBym6FaFXZgopIIbqfQ4sAtMWY6zYkCEsVUvx5qKIrsnXAwvpDQrv0WiMXteqi/5ICpVMZQ==", + "dev": true, + "dependencies": { + "@angular-eslint/bundled-angular-compiler": "16.0.1", + "@typescript-eslint/utils": "5.59.2" + }, + "peerDependencies": { + "eslint": "^7.20.0 || ^8.0.0", + "typescript": "*" + } + }, "node_modules/@angular/animations": { "version": "16.0.1", "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-16.0.1.tgz", @@ -2841,12 +3022,158 @@ "node": ">=12" } }, + "node_modules/@eslint-community/eslint-utils": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/@eslint-community/eslint-utils/-/eslint-utils-4.4.0.tgz", + "integrity": "sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==", + "dev": true, + "dependencies": { + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || >=8.0.0" + } + }, + "node_modules/@eslint-community/regexpp": { + "version": "4.5.1", + "resolved": "https://registry.npmjs.org/@eslint-community/regexpp/-/regexpp-4.5.1.tgz", + "integrity": "sha512-Z5ba73P98O1KUYCCJTUeVpja9RcGoMdncZ6T49FCUl2lN38JtCJ+3WgIDBv0AuY4WChU5PmtJmOCTlN6FZTFKQ==", + "dev": true, + "engines": { + "node": "^12.0.0 || ^14.0.0 || >=16.0.0" + } + }, + "node_modules/@eslint/eslintrc": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/@eslint/eslintrc/-/eslintrc-2.0.3.tgz", + "integrity": "sha512-+5gy6OQfk+xx3q0d6jGZZC3f3KzAkXc/IanVxd1is/VIIziRqqt3ongQz0FiTUXqTk0c7aDB3OaFuKnuSoJicQ==", + "dev": true, + "dependencies": { + "ajv": "^6.12.4", + "debug": "^4.3.2", + "espree": "^9.5.2", + "globals": "^13.19.0", + "ignore": "^5.2.0", + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "minimatch": "^3.1.2", + "strip-json-comments": "^3.1.1" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/@eslint/eslintrc/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/@eslint/eslintrc/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.20.2" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/eslintrc/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@eslint/eslintrc/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/@eslint/eslintrc/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/@eslint/js": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/@eslint/js/-/js-8.40.0.tgz", + "integrity": "sha512-ElyB54bJIhXQYVKjDSvCkPO1iU1tSAeVQJbllWJq1XQSmmA4dgFk8CbiBGpiOPxleE48vDogxCtmMYku4HSVLA==", + "dev": true, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + } + }, "node_modules/@gar/promisify": { "version": "1.1.3", "resolved": "https://registry.npmjs.org/@gar/promisify/-/promisify-1.1.3.tgz", "integrity": "sha512-k2Ty1JcVojjJFwrg/ThKi2ujJ7XNLYaFGNB/bWT9wGR+oSMJHMa5w+CUq6p/pVrKeNNgA7pCqEcjSnHVoqJQFw==", "dev": true }, + "node_modules/@humanwhocodes/config-array": { + "version": "0.11.8", + "resolved": "https://registry.npmjs.org/@humanwhocodes/config-array/-/config-array-0.11.8.tgz", + "integrity": "sha512-UybHIJzJnR5Qc/MsD9Kr+RpO2h+/P1GhOwdiLPXK5TWk5sgTdu88bTD9UP+CKbPPh5Rni1u0GjAdYQLemG8g+g==", + "dev": true, + "dependencies": { + "@humanwhocodes/object-schema": "^1.2.1", + "debug": "^4.1.1", + "minimatch": "^3.0.5" + }, + "engines": { + "node": ">=10.10.0" + } + }, + "node_modules/@humanwhocodes/module-importer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/module-importer/-/module-importer-1.0.1.tgz", + "integrity": "sha512-bxveV4V8v5Yb4ncFTT3rPSgZBOpCkjfK0y4oVVVJwIuDVBRMDXrPyXRL988i5ap9m9bnyEEjWfm5WkBmtffLfA==", + "dev": true, + "engines": { + "node": ">=12.22" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/nzakas" + } + }, + "node_modules/@humanwhocodes/object-schema": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/@humanwhocodes/object-schema/-/object-schema-1.2.1.tgz", + "integrity": "sha512-ZnQMnLV4e7hDlUvw8H+U8ASL02SS2Gn6+9Ac3wGGLIe7+je2AeAOxPY+izIPJDfFDb7eDjev0Us8MO1iFRN8hA==", + "dev": true + }, "node_modules/@isaacs/cliui": { "version": "8.0.2", "resolved": "https://registry.npmjs.org/@isaacs/cliui/-/cliui-8.0.2.tgz", @@ -4086,81 +4413,341 @@ "node": "^14.17.0 || ^16.13.0 || >=18.0.0" } }, - "node_modules/@pkgjs/parseargs": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", - "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "node_modules/@nrwl/devkit": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nrwl/devkit/-/devkit-16.0.2.tgz", + "integrity": "sha512-SAEcImeQHdSTauO05FUn2vVl9/y5Kx1LNCZ4YE+SdY5/QRq18fuo/DCWmjOGG9M8r06vYGsAgMzkiB4soimcyA==", "dev": true, - "optional": true, - "engines": { - "node": ">=14" + "dependencies": { + "@nx/devkit": "16.0.2" } }, - "node_modules/@rollup/plugin-json": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz", - "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==", + "node_modules/@nrwl/tao": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nrwl/tao/-/tao-16.0.2.tgz", + "integrity": "sha512-wimEe4OTpI7/nDK67RnpZpEXCU+fzA0sDgpIhMgbpPd0vPmKgaZv4nbs8zrm0goFlacmmnLaGRhhGYMOxE+1Lg==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^5.0.1" - }, - "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" + "nx": "16.0.2" }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "bin": { + "tao": "index.js" } }, - "node_modules/@rollup/plugin-node-resolve": { - "version": "15.0.2", - "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz", - "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==", + "node_modules/@nx/devkit": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/devkit/-/devkit-16.0.2.tgz", + "integrity": "sha512-BY1Bj0BbAl6XJL0O+QGTWPs/3WMJTEQ+Y4Lfoq4dZM7RllE6rAylr54NA2wa4lsgordZhq1+0g5PVhKKvSVRRw==", "dev": true, "dependencies": { - "@rollup/pluginutils": "^5.0.1", - "@types/resolve": "1.20.2", - "deepmerge": "^4.2.2", - "is-builtin-module": "^3.2.1", - "is-module": "^1.0.0", - "resolve": "^1.22.1" - }, - "engines": { - "node": ">=14.0.0" + "@nrwl/devkit": "16.0.2", + "ejs": "^3.1.7", + "ignore": "^5.0.4", + "semver": "7.3.4", + "tmp": "~0.2.1", + "tslib": "^2.3.0" }, "peerDependencies": { - "rollup": "^2.78.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "nx": ">= 15 <= 17" } }, - "node_modules/@rollup/pluginutils": { - "version": "5.0.2", - "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", - "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "node_modules/@nx/devkit/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "@types/estree": "^1.0.0", - "estree-walker": "^2.0.2", - "picomatch": "^2.3.1" + "yallist": "^4.0.0" }, "engines": { - "node": ">=14.0.0" - }, - "peerDependencies": { - "rollup": "^1.20.0||^2.0.0||^3.0.0" - }, - "peerDependenciesMeta": { - "rollup": { - "optional": true - } + "node": ">=10" + } + }, + "node_modules/@nx/devkit/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/@nx/devkit/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/@nx/devkit/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", + "dev": true, + "dependencies": { + "rimraf": "^3.0.0" + }, + "engines": { + "node": ">=8.17.0" + } + }, + "node_modules/@nx/devkit/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@nx/nx-darwin-arm64": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-arm64/-/nx-darwin-arm64-16.0.2.tgz", + "integrity": "sha512-nAT8WJ/qKGEvUcoFLHHye1dbwCd7b8CTZJlDF+ZkyCD/UZRHt4eJxy8gvKmxgkZTFb2+PPMQt4UORCUGpZzuoA==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-darwin-x64": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-darwin-x64/-/nx-darwin-x64-16.0.2.tgz", + "integrity": "sha512-r0rfOrZaOyrwFR5a0UT05xkYRumfkP65cRSZM1TjCA027AG9llYtkLT1hlz8uMKt+P12zrWVzXSqGLDi022ZZg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm-gnueabihf": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm-gnueabihf/-/nx-linux-arm-gnueabihf-16.0.2.tgz", + "integrity": "sha512-TfDQaGvCIDjn9sPg5U1Fr2rsSul/4PIQB59qrLBJRPiCWgpzwO71Il1qwSX68En+JH3lwXr+g5EjcDIEQ8fGYA==", + "cpu": [ + "arm" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-gnu": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-gnu/-/nx-linux-arm64-gnu-16.0.2.tgz", + "integrity": "sha512-MICaUp7uz8WVQFXWPrmQaX1o4bdL7f3C7b3MDDf6+Zau6RcyQuw97UEKaYi9OqrV3w8yuPplqoLosFblAgb8uw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-arm64-musl": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-arm64-musl/-/nx-linux-arm64-musl-16.0.2.tgz", + "integrity": "sha512-wcBURG+6A2srm+6ujj8SShjwmYWs0eHI5D8vgZr8Bni+lXbKP/IosE9JGXKtRoh27/owyR8PGHhDVzjv46tlFg==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-gnu": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-gnu/-/nx-linux-x64-gnu-16.0.2.tgz", + "integrity": "sha512-Xyml2gFdVDHUj2g67DKz2aD78x1BciN1ZaaBTCxXL4MHfwR78SZa7mtRtE+1kj5OgVIwupZP50jq7C8GuSn3Hw==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-linux-x64-musl": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-linux-x64-musl/-/nx-linux-x64-musl-16.0.2.tgz", + "integrity": "sha512-j3xdN8I5DlTgW5N5eCquyBZswrrYf6EazUCvnEpeejygwh3N6XN7DlD68Bs0CB4Zmd0tWLfTjNVAtUJSP6g2mA==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-arm64-msvc": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-arm64-msvc/-/nx-win32-arm64-msvc-16.0.2.tgz", + "integrity": "sha512-R2pzoW3SUFBbe9C1vifJnXuysPl6kmutQHN2yQ9lwJptzPvMxfDU1FuXmKCGRUGmEwFxk/XPhwDL/ZcbABTrzw==", + "cpu": [ + "arm64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@nx/nx-win32-x64-msvc": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/@nx/nx-win32-x64-msvc/-/nx-win32-x64-msvc-16.0.2.tgz", + "integrity": "sha512-r4H/SsqfpIJa8QLSpnscgkMnLsnkRYXj8TcILDrf+nJazfEdJZLUvVhN9O85OB7pskv86NuGfnJmJHHXy6QVQg==", + "cpu": [ + "x64" + ], + "dev": true, + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@parcel/watcher": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@parcel/watcher/-/watcher-2.0.4.tgz", + "integrity": "sha512-cTDi+FUDBIUOBKEtj+nhiJ71AZVlkAsQFuGQTun5tV9mwQBQgZvhCzG+URPQc8myeN32yRVZEfVAPCs1RW+Jvg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "node-addon-api": "^3.2.1", + "node-gyp-build": "^4.3.0" + }, + "engines": { + "node": ">= 10.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/@pkgjs/parseargs": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/@pkgjs/parseargs/-/parseargs-0.11.0.tgz", + "integrity": "sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==", + "dev": true, + "optional": true, + "engines": { + "node": ">=14" + } + }, + "node_modules/@rollup/plugin-json": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/@rollup/plugin-json/-/plugin-json-6.0.0.tgz", + "integrity": "sha512-i/4C5Jrdr1XUarRhVu27EEwjt4GObltD7c+MkCIpO2QIbojw8MUs+CCTqOphQi3Qtg1FLmYt+l+6YeoIf51J7w==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/plugin-node-resolve": { + "version": "15.0.2", + "resolved": "https://registry.npmjs.org/@rollup/plugin-node-resolve/-/plugin-node-resolve-15.0.2.tgz", + "integrity": "sha512-Y35fRGUjC3FaurG722uhUuG8YHOJRJQbI6/CkbRkdPotSpDj9NtIN85z1zrcyDcCQIW4qp5mgG72U+gJ0TAFEg==", + "dev": true, + "dependencies": { + "@rollup/pluginutils": "^5.0.1", + "@types/resolve": "1.20.2", + "deepmerge": "^4.2.2", + "is-builtin-module": "^3.2.1", + "is-module": "^1.0.0", + "resolve": "^1.22.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^2.78.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } + } + }, + "node_modules/@rollup/pluginutils": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@rollup/pluginutils/-/pluginutils-5.0.2.tgz", + "integrity": "sha512-pTd9rIsP92h+B6wWwFbW8RkZv4hiR/xKsqre4SIuAOaOEQRxi0lqLke9k2/7WegC85GgUs9pjmOjCUi3In4vwA==", + "dev": true, + "dependencies": { + "@types/estree": "^1.0.0", + "estree-walker": "^2.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=14.0.0" + }, + "peerDependencies": { + "rollup": "^1.20.0||^2.0.0||^3.0.0" + }, + "peerDependenciesMeta": { + "rollup": { + "optional": true + } } }, "node_modules/@schematics/angular": { @@ -4418,6 +5005,12 @@ "integrity": "sha512-CTO/wa8x+rZU626cL2BlbCDzydgnFNgc19h4YvizpTO88MFQxab8wqisxaofQJ/9bLGugRdWIuX/TbIs6VVF6g==", "dev": true }, + "node_modules/@types/prettier": { + "version": "2.7.2", + "resolved": "https://registry.npmjs.org/@types/prettier/-/prettier-2.7.2.tgz", + "integrity": "sha512-KufADq8uQqo1pYKVIYzfKbJfBAc0sOeXqGbFaSpv8MRmC/zXgowNZmFcbngndGk922QDmOASEXUZCaY48gs4cg==", + "dev": true + }, "node_modules/@types/qs": { "version": "6.9.7", "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", @@ -4448,6 +5041,12 @@ "integrity": "sha512-tGomyEuzSC1H28y2zlW6XPCaDaXFaD6soTdb4GNdmte2qfHtrKqhy0ZFs4r/1hpazCfEZqeTSRLvSasmEx89uw==", "dev": true }, + "node_modules/@types/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/@types/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-G8hZ6XJiHnuhQKR7ZmysCeJWE08o8T0AXtk5darsCaTVsYZhhgUrq53jizaR2FvsoeCwJhlmwTjkXBY5Pn/ZHw==", + "dev": true + }, "node_modules/@types/send": { "version": "0.17.1", "resolved": "https://registry.npmjs.org/@types/send/-/send-0.17.1.tgz", @@ -4495,963 +5094,2299 @@ "@types/node": "*" } }, - "node_modules/@vitejs/plugin-basic-ssl": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", - "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", + "node_modules/@types/yargs": { + "version": "17.0.24", + "resolved": "https://registry.npmjs.org/@types/yargs/-/yargs-17.0.24.tgz", + "integrity": "sha512-6i0aC7jV6QzQB8ne1joVZ0eSFIstHsCrobmOtghM11yGlH0j43FKL2UhWdELkyps0zuf7qVTUVCCR+tgSlyLLw==", "dev": true, - "engines": { - "node": ">=14.6.0" - }, - "peerDependencies": { - "vite": "^3.0.0 || ^4.0.0" + "dependencies": { + "@types/yargs-parser": "*" } }, - "node_modules/@webassemblyjs/ast": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", - "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", + "node_modules/@types/yargs-parser": { + "version": "21.0.0", + "resolved": "https://registry.npmjs.org/@types/yargs-parser/-/yargs-parser-21.0.0.tgz", + "integrity": "sha512-iO9ZQHkZxHn4mSakYV0vFHAVDyEOIJQrV2uZ06HxEPcx+mt8swXoZHIbaaJ2crJYFfErySgktuTZ3BeLz+XmFA==", + "dev": true + }, + "node_modules/@typescript-eslint/eslint-plugin": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-5.59.2.tgz", + "integrity": "sha512-yVrXupeHjRxLDcPKL10sGQ/QlVrA8J5IYOEWVqk0lJaSZP7X5DfnP7Ns3cc74/blmbipQ1htFNVGsHX6wsYm0A==", "dev": true, "dependencies": { - "@webassemblyjs/helper-numbers": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6" + "@eslint-community/regexpp": "^4.4.0", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/type-utils": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "natural-compare-lite": "^1.4.0", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "@typescript-eslint/parser": "^5.0.0", + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@webassemblyjs/floating-point-hex-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", - "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-api-error": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", - "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", - "dev": true - }, - "node_modules/@webassemblyjs/helper-buffer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", - "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", - "dev": true + "node_modules/@typescript-eslint/eslint-plugin/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } }, - "node_modules/@webassemblyjs/helper-numbers": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", - "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "dependencies": { - "@webassemblyjs/floating-point-hex-parser": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@xtuc/long": "4.2.2" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/@webassemblyjs/helper-wasm-bytecode": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", - "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/@webassemblyjs/helper-wasm-section": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", - "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6" + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/@webassemblyjs/ieee754": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", - "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", + "node_modules/@typescript-eslint/eslint-plugin/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/experimental-utils": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/experimental-utils/-/experimental-utils-5.59.5.tgz", + "integrity": "sha512-ArcSSBifznsKNA/p4h2w3Olt/T8AZf3bNglxD8OnuTsSDJbRpjPPmI8qpr6ijyvk1J/T3GMJHwRIluS/Kuz9kA==", "dev": true, "dependencies": { - "@xtuc/ieee754": "^1.2.0" + "@typescript-eslint/utils": "5.59.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@webassemblyjs/leb128": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", - "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.5.tgz", + "integrity": "sha512-jVecWwnkX6ZgutF+DovbBJirZcAxgxC0EOHYt/niMROf8p4PwxxG32Qdhj/iIQQIuOflLjNkxoXyArkcIP7C3A==", "dev": true, "dependencies": { - "@xtuc/long": "4.2.2" + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@webassemblyjs/utf8": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", - "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", - "dev": true - }, - "node_modules/@webassemblyjs/wasm-edit": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", - "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/types": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.5.tgz", + "integrity": "sha512-xkfRPHbqSH4Ggx4eHRIO/eGL8XL4Ysb4woL8c87YuAo8Md7AUjyWKa9YMwTL519SyDPrfEgKdewjkxNCVeJW7w==", "dev": true, - "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/helper-wasm-section": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-opt": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6", - "@webassemblyjs/wast-printer": "1.11.6" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@webassemblyjs/wasm-gen": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", - "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.5.tgz", + "integrity": "sha512-+XXdLN2CZLZcD/mO7mQtJMvCkzRfmODbeSKuMY/yXbGkzvA9rJyDY5qDYNoiz2kP/dmyAxXquL2BvLQLJFPQIg==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/visitor-keys": "5.59.5", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/@webassemblyjs/wasm-opt": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", - "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/utils": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.5.tgz", + "integrity": "sha512-sCEHOiw+RbyTii9c3/qN74hYDPNORb8yWCoPLmB7BIflhplJ65u2PBpdRla12e3SSTJ2erRkPjz7ngLHhUegxA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-buffer": "1.11.6", - "@webassemblyjs/wasm-gen": "1.11.6", - "@webassemblyjs/wasm-parser": "1.11.6" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.5", + "@typescript-eslint/types": "5.59.5", + "@typescript-eslint/typescript-estree": "5.59.5", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/@webassemblyjs/wasm-parser": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", - "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.5", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.5.tgz", + "integrity": "sha512-qL+Oz+dbeBRTeyJTIy0eniD3uvqU7x+y1QceBismZ41hd4aBSRh8UAw4pZP0+XzLuPZmx4raNMq/I+59W2lXKA==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@webassemblyjs/helper-api-error": "1.11.6", - "@webassemblyjs/helper-wasm-bytecode": "1.11.6", - "@webassemblyjs/ieee754": "1.11.6", - "@webassemblyjs/leb128": "1.11.6", - "@webassemblyjs/utf8": "1.11.6" + "@typescript-eslint/types": "5.59.5", + "eslint-visitor-keys": "^3.3.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/@webassemblyjs/wast-printer": { - "version": "1.11.6", - "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", - "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, "dependencies": { - "@webassemblyjs/ast": "1.11.6", - "@xtuc/long": "4.2.2" + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/@xtuc/ieee754": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", - "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", - "dev": true - }, - "node_modules/@xtuc/long": { - "version": "4.2.2", - "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", - "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", - "dev": true - }, - "node_modules/@yarnpkg/lockfile": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", - "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", - "dev": true - }, - "node_modules/abab": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", - "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", - "dev": true - }, - "node_modules/abbrev": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", - "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", - "dev": true - }, - "node_modules/accepts": { - "version": "1.3.8", - "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", - "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "mime-types": "~2.1.34", - "negotiator": "0.6.3" + "yallist": "^4.0.0" }, "engines": { - "node": ">= 0.6" + "node": ">=10" } }, - "node_modules/acorn": { - "version": "8.8.2", - "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", - "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, "bin": { - "acorn": "bin/acorn" + "semver": "bin/semver.js" }, "engines": { - "node": ">=0.4.0" + "node": ">=10" } }, - "node_modules/acorn-import-assertions": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", - "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", - "dev": true, - "peerDependencies": { - "acorn": "^8" - } - }, - "node_modules/acorn-walk": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", - "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { - "node": ">=0.4.0" + "node": ">=8" } }, - "node_modules/adjust-sourcemap-loader": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", - "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", - "dev": true, - "dependencies": { - "loader-utils": "^2.0.0", - "regex-parser": "^2.2.11" - }, - "engines": { - "node": ">=8.9" - } + "node_modules/@typescript-eslint/experimental-utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true }, - "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { - "version": "2.0.4", - "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", - "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", + "node_modules/@typescript-eslint/experimental-utils/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "dependencies": { - "big.js": "^5.2.2", - "emojis-list": "^3.0.0", - "json5": "^2.1.2" + "tslib": "^1.8.1" }, "engines": { - "node": ">=8.9.0" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/adm-zip": { - "version": "0.4.16", - "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", - "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", - "dev": true, - "engines": { - "node": ">=0.3.0" - } + "node_modules/@typescript-eslint/experimental-utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true }, - "node_modules/agent-base": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", - "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", + "node_modules/@typescript-eslint/parser": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-5.59.2.tgz", + "integrity": "sha512-uq0sKyw6ao1iFOZZGk9F8Nro/8+gfB5ezl1cA06SrqbgJAt0SRoFhb9pXaHvkrxUpZaoLxt8KlovHNk8Gp6/HQ==", "dev": true, "dependencies": { - "debug": "4" + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "debug": "^4.3.4" }, "engines": { - "node": ">= 6.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/agentkeepalive": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", - "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", + "node_modules/@typescript-eslint/scope-manager": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/scope-manager/-/scope-manager-5.59.2.tgz", + "integrity": "sha512-dB1v7ROySwQWKqQ8rEWcdbTsFjh2G0vn8KUyvTXdPoyzSL6lLGkiXEV5CvpJsEe9xIdKV+8Zqb7wif2issoOFA==", "dev": true, "dependencies": { - "debug": "^4.1.0", - "depd": "^2.0.0", - "humanize-ms": "^1.2.1" + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2" }, "engines": { - "node": ">= 8.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/aggregate-error": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", - "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "node_modules/@typescript-eslint/type-utils": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/type-utils/-/type-utils-5.59.2.tgz", + "integrity": "sha512-b1LS2phBOsEy/T381bxkkywfQXkV1dWda/z0PhnIy3bC5+rQWQDS7fk9CSpcXBccPY27Z6vBEuaPBCKCgYezyQ==", "dev": true, "dependencies": { - "clean-stack": "^2.0.0", - "indent-string": "^4.0.0" + "@typescript-eslint/typescript-estree": "5.59.2", + "@typescript-eslint/utils": "5.59.2", + "debug": "^4.3.4", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8" - } - }, - "node_modules/ajv": { - "version": "6.12.6", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", - "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "fast-json-stable-stringify": "^2.0.0", - "json-schema-traverse": "^0.4.1", - "uri-js": "^4.2.2" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", - "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", - "dev": true, - "dependencies": { - "ajv": "^8.0.0" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" }, "peerDependencies": { - "ajv": "^8.0.0" + "eslint": "*" }, "peerDependenciesMeta": { - "ajv": { + "typescript": { "optional": true } } }, - "node_modules/ajv-formats/node_modules/ajv": { - "version": "8.12.0", - "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", - "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", - "dev": true, - "dependencies": { - "fast-deep-equal": "^3.1.1", - "json-schema-traverse": "^1.0.0", - "require-from-string": "^2.0.2", - "uri-js": "^4.2.2" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/epoberezkin" - } - }, - "node_modules/ajv-formats/node_modules/json-schema-traverse": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", - "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "node_modules/@typescript-eslint/type-utils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/ajv-keywords": { - "version": "3.5.2", - "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", - "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "node_modules/@typescript-eslint/type-utils/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, + "engines": { + "node": ">= 6" + }, "peerDependencies": { - "ajv": "^6.9.1" + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/ansi-colors": { - "version": "4.1.3", - "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", - "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "node_modules/@typescript-eslint/types": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/types/-/types-5.59.2.tgz", + "integrity": "sha512-LbJ/HqoVs2XTGq5shkiKaNTuVv5tTejdHgfdjqRUGdYhjW1crm/M7og2jhVskMt8/4wS3T1+PfFvL1K3wqYj4w==", "dev": true, "engines": { - "node": ">=6" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@typescript-eslint/typescript-estree": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/typescript-estree/-/typescript-estree-5.59.2.tgz", + "integrity": "sha512-+j4SmbwVmZsQ9jEyBMgpuBD0rKwi9RxRpjX71Brr73RsYnEr3Lt5QZ624Bxphp8HUkSKfqGnPJp1kA5nl0Sh7Q==", "dev": true, "dependencies": { - "type-fest": "^0.21.3" + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/visitor-keys": "5.59.2", + "debug": "^4.3.4", + "globby": "^11.1.0", + "is-glob": "^4.0.3", + "semver": "^7.3.7", + "tsutils": "^3.21.0" }, "engines": { - "node": ">=8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ansi-html-community": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", - "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", - "dev": true, - "engines": [ - "node >= 0.8.0" - ], - "bin": { - "ansi-html": "bin/ansi-html" + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependenciesMeta": { + "typescript": { + "optional": true + } } }, - "node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/globby": { + "version": "11.1.0", + "resolved": "https://registry.npmjs.org/globby/-/globby-11.1.0.tgz", + "integrity": "sha512-jhIXaOzy1sb8IyocaruWSn1TjmnBVs8Ayhcy83rmxNJ8q2uWKCAj3CnJY+KpGSXCueAPc0i05kVvVKtP1t9S3g==", "dev": true, + "dependencies": { + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.2.9", + "ignore": "^5.2.0", + "merge2": "^1.4.1", + "slash": "^3.0.0" + }, "engines": { - "node": ">=8" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ansi-styles": { - "version": "3.2.1", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", - "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "color-convert": "^1.9.0" + "yallist": "^4.0.0" }, "engines": { - "node": ">=4" + "node": ">=10" } }, - "node_modules/anymatch": { - "version": "3.1.3", - "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", - "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "dependencies": { - "normalize-path": "^3.0.0", - "picomatch": "^2.0.4" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">= 8" + "node": ">=10" } }, - "node_modules/app-root-path": { + "node_modules/@typescript-eslint/typescript-estree/node_modules/slash": { "version": "3.0.0", - "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", - "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", "dev": true, "engines": { - "node": ">= 6.0.0" + "node": ">=8" } }, - "node_modules/aproba": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", - "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/are-we-there-yet": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", - "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, "dependencies": { - "delegates": "^1.0.0", - "readable-stream": "^3.6.0" + "tslib": "^1.8.1" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/are-we-there-yet/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/@typescript-eslint/typescript-estree/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/@typescript-eslint/utils": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/utils/-/utils-5.59.2.tgz", + "integrity": "sha512-kSuF6/77TZzyGPhGO4uVp+f0SBoYxCDf+lW3GKhtKru/L8k/Hd7NFQxyWUeY7Z/KGB2C6Fe3yf2vVi4V9TsCSQ==", "dev": true, "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" + "@eslint-community/eslint-utils": "^4.2.0", + "@types/json-schema": "^7.0.9", + "@types/semver": "^7.3.12", + "@typescript-eslint/scope-manager": "5.59.2", + "@typescript-eslint/types": "5.59.2", + "@typescript-eslint/typescript-estree": "5.59.2", + "eslint-scope": "^5.1.1", + "semver": "^7.3.7" }, "engines": { - "node": ">= 6" - } - }, - "node_modules/arg": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", - "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", - "dev": true + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" + }, + "peerDependencies": { + "eslint": "^6.0.0 || ^7.0.0 || ^8.0.0" + } }, - "node_modules/argparse": { - "version": "1.0.10", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", - "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "node_modules/@typescript-eslint/utils/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "sprintf-js": "~1.0.2" + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" } }, - "node_modules/aria-query": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", - "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "node_modules/@typescript-eslint/utils/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", "dev": true, "dependencies": { - "ast-types-flow": "0.0.7", - "commander": "^2.11.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" } }, - "node_modules/array-flatten": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", - "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "node_modules/@typescript-eslint/utils/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", "dev": true }, - "node_modules/array-uniq": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", - "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "node_modules/@typescript-eslint/visitor-keys": { + "version": "5.59.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/visitor-keys/-/visitor-keys-5.59.2.tgz", + "integrity": "sha512-EEpsO8m3RASrKAHI9jpavNv9NlEUebV4qmF1OWxSTtKSFBpC1NCmWazDQHFivRf0O1DV11BA645yrLEVQ0/Lig==", "dev": true, + "dependencies": { + "@typescript-eslint/types": "5.59.2", + "eslint-visitor-keys": "^3.3.0" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/typescript-eslint" } }, - "node_modules/arrify": { + "node_modules/@vitejs/plugin-basic-ssl": { "version": "1.0.1", - "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", - "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-basic-ssl/-/plugin-basic-ssl-1.0.1.tgz", + "integrity": "sha512-pcub+YbFtFhaGRTo1832FQHQSHvMrlb43974e2eS8EKleR3p1cDdkJFPci1UhwkEf1J9Bz+wKBSzqpKp7nNj2A==", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=14.6.0" + }, + "peerDependencies": { + "vite": "^3.0.0 || ^4.0.0" } }, - "node_modules/asn1": { - "version": "0.2.4", - "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", - "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "node_modules/@webassemblyjs/ast": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.6.tgz", + "integrity": "sha512-IN1xI7PwOvLPgjcf180gC1bqn3q/QaOCwYUahIOhbYUu8KA/3tw2RT/T0Gidi1l7Hhj5D/INhJxiICObqpMu4Q==", "dev": true, "dependencies": { - "safer-buffer": "~2.1.0" + "@webassemblyjs/helper-numbers": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6" } }, - "node_modules/assert-plus": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", - "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", - "dev": true, - "engines": { - "node": ">=0.8" - } + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.6.tgz", + "integrity": "sha512-ejAj9hfRJ2XMsNHk/v6Fu2dGS+i4UaXBXGemOfQ/JfQ6mdQg/WXtwleQRLLS4OvfDhv8rYnVwH27YJLMyYsxhw==", + "dev": true }, - "node_modules/ast-types-flow": { - "version": "0.0.7", - "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", - "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.6.tgz", + "integrity": "sha512-o0YkoP4pVu4rN8aTJgAyj9hC2Sv5UlkzCHhxqWj8butaLvnpdc2jOwh4ewE6CX0txSfLn/UYaV/pheS2Txg//Q==", "dev": true }, - "node_modules/asynckit": { - "version": "0.4.0", - "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", - "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.6.tgz", + "integrity": "sha512-z3nFzdcp1mb8nEOFFk8DrYLpHvhKC3grJD2ardfKOzmbmJvEf/tPIqCY+sNcwZIY8ZD7IkB2l7/pqhUhqm7hLA==", "dev": true }, - "node_modules/autoprefixer": { - "version": "10.4.14", - "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", - "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.6.tgz", + "integrity": "sha512-vUIhZ8LZoIWHBohiEObxVm6hwP034jwmc9kuq5GdHZH0wiLVLIPcMCdpJzG4C11cHoQ25TFIQj9kaVADVX7N3g==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/autoprefixer" - } - ], "dependencies": { - "browserslist": "^4.21.5", - "caniuse-lite": "^1.0.30001464", - "fraction.js": "^4.2.0", - "normalize-range": "^0.1.2", - "picocolors": "^1.0.0", - "postcss-value-parser": "^4.2.0" - }, - "bin": { - "autoprefixer": "bin/autoprefixer" - }, - "engines": { - "node": "^10 || ^12 || >=14" - }, - "peerDependencies": { - "postcss": "^8.1.0" - } - }, - "node_modules/aws-sign2": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", - "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", - "dev": true, - "engines": { - "node": "*" + "@webassemblyjs/floating-point-hex-parser": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@xtuc/long": "4.2.2" } }, - "node_modules/aws4": { - "version": "1.8.0", - "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", - "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.6.tgz", + "integrity": "sha512-sFFHKwcmBprO9e7Icf0+gddyWYDViL8bpPjJJl0WHxCdETktXdmtWLGVzoHbqUcY4Be1LkNfwTmXOJUFZYSJdA==", "dev": true }, - "node_modules/axobject-query": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", - "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.6.tgz", + "integrity": "sha512-LPpZbSOwTpEC2cgn4hTydySy1Ke+XEu+ETXuoyvuyezHO3Kjdu90KK95Sh9xTbmjrCsUwvWwCOQQNta37VrS9g==", "dev": true, "dependencies": { - "ast-types-flow": "0.0.7" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6" } }, - "node_modules/babel-loader": { - "version": "9.1.2", - "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", - "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.6.tgz", + "integrity": "sha512-LM4p2csPNvbij6U1f19v6WR56QZ8JcHg3QIJTlSwzFcmx6WSORicYj6I63f9yU1kEUtrpG+kjkiIAkevHpDXrg==", "dev": true, "dependencies": { - "find-cache-dir": "^3.3.2", - "schema-utils": "^4.0.0" - }, - "engines": { - "node": ">= 14.15.0" - }, - "peerDependencies": { - "@babel/core": "^7.12.0", - "webpack": ">=5" + "@xtuc/ieee754": "^1.2.0" } }, - "node_modules/babel-plugin-istanbul": { - "version": "6.1.1", - "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", - "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.6.tgz", + "integrity": "sha512-m7a0FhE67DQXgouf1tbN5XQcdWoNgaAuoULHIfGFIEVKA6tu/edls6XnIlkmS6FrXAquJRPni3ZZKjw6FSPjPQ==", "dev": true, "dependencies": { - "@babel/helper-plugin-utils": "^7.0.0", - "@istanbuljs/load-nyc-config": "^1.0.0", - "@istanbuljs/schema": "^0.1.2", - "istanbul-lib-instrument": "^5.0.4", - "test-exclude": "^6.0.0" - }, - "engines": { - "node": ">=8" + "@xtuc/long": "4.2.2" } }, - "node_modules/babel-plugin-polyfill-corejs2": { - "version": "0.3.3", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", - "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.6.tgz", + "integrity": "sha512-vtXf2wTQ3+up9Zsg8sa2yWiQpzSsMyXj0qViVP6xKGCUT8p8YJ6HqI7l5eCnWx1T/FYdsv07HQs2wTFbbof/RA==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.6.tgz", + "integrity": "sha512-Ybn2I6fnfIGuCR+Faaz7YcvtBKxvoLV3Lebn1tM4o/IAJzmi9AWYIPWpyBfU8cC+JxAO57bk4+zdsTjJR+VTOw==", "dev": true, "dependencies": { - "@babel/compat-data": "^7.17.7", - "@babel/helper-define-polyfill-provider": "^0.3.3", - "semver": "^6.1.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/helper-wasm-section": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-opt": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6", + "@webassemblyjs/wast-printer": "1.11.6" } }, - "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { - "version": "6.3.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", - "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.6.tgz", + "integrity": "sha512-3XOqkZP/y6B4F0PBAXvI1/bky7GryoogUtfwExeP/v7Nzwo1QLcq5oQmpKlftZLbT+ERUOAZVQjuNVak6UXjPA==", "dev": true, - "bin": { - "semver": "bin/semver.js" + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/babel-plugin-polyfill-corejs3": { - "version": "0.6.0", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", - "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", - "dev": true, - "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3", - "core-js-compat": "^3.25.1" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.6.tgz", + "integrity": "sha512-cOrKuLRE7PCe6AsOVl7WasYf3wbSo4CeOk6PkrjS7g57MFfVUF9u6ysQBBODX0LdgSvQqRiGz3CXvIDKcPNy4g==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-buffer": "1.11.6", + "@webassemblyjs/wasm-gen": "1.11.6", + "@webassemblyjs/wasm-parser": "1.11.6" } }, - "node_modules/babel-plugin-polyfill-regenerator": { - "version": "0.4.1", - "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", - "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.6.tgz", + "integrity": "sha512-6ZwPeGzMJM3Dqp3hCsLgESxBGtT/OeCvCZ4TA1JUPYgmhAx38tTPR9JaKy0S5H3evQpO/h2uWs2j6Yc/fjkpTQ==", "dev": true, "dependencies": { - "@babel/helper-define-polyfill-provider": "^0.3.3" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" + "@webassemblyjs/ast": "1.11.6", + "@webassemblyjs/helper-api-error": "1.11.6", + "@webassemblyjs/helper-wasm-bytecode": "1.11.6", + "@webassemblyjs/ieee754": "1.11.6", + "@webassemblyjs/leb128": "1.11.6", + "@webassemblyjs/utf8": "1.11.6" } }, - "node_modules/balanced-match": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", - "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.6", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.6.tgz", + "integrity": "sha512-JM7AhRcE+yW2GWYaKeHL5vt4xqee5N2WcezptmgyhNS+ScggqcT1OtXykhAb13Sn5Yas0j2uv9tHgrjwvzAP4A==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.6", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", "dev": true }, - "node_modules/base64-js": { - "version": "1.5.1", - "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", - "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true }, - "node_modules/base64id": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", - "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "node_modules/@yarnpkg/lockfile": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz", + "integrity": "sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ==", + "dev": true + }, + "node_modules/@yarnpkg/parsers": { + "version": "3.0.0-rc.43", + "resolved": "https://registry.npmjs.org/@yarnpkg/parsers/-/parsers-3.0.0-rc.43.tgz", + "integrity": "sha512-AhFF3mIDfA+jEwQv2WMHmiYhOvmdbh2qhUkDVQfiqzQtUwS4BgoWwom5NpSPg4Ix5vOul+w1690Bt21CkVLpgg==", "dev": true, + "dependencies": { + "js-yaml": "^3.10.0", + "tslib": "^2.4.0" + }, "engines": { - "node": "^4.5.0 || >= 5.9" + "node": ">=14.15.0" } }, - "node_modules/batch": { - "version": "0.6.1", - "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", - "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "node_modules/@zkochan/js-yaml": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/@zkochan/js-yaml/-/js-yaml-0.0.6.tgz", + "integrity": "sha512-nzvgl3VfhcELQ8LyVrYOru+UtAy1nrygk2+AGbTm8a5YcO6o8lSjAT+pfg3vJWxIoZKOUhrK6UU7xW/+00kQrg==", + "dev": true, + "dependencies": { + "argparse": "^2.0.1" + }, + "bin": { + "js-yaml": "bin/js-yaml.js" + } + }, + "node_modules/@zkochan/js-yaml/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/bcrypt-pbkdf": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", - "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "node_modules/abab": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/abab/-/abab-2.0.6.tgz", + "integrity": "sha512-j2afSsaIENvHZN2B8GOpF566vZ5WVk5opAiMTvWgaQT8DkbOqsTfvNAvHoRGU2zzP8cPoqys+xHTRDWW8L+/BA==", + "dev": true + }, + "node_modules/abbrev": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/abbrev/-/abbrev-1.1.1.tgz", + "integrity": "sha512-nne9/IiQ/hzIhY6pdDnbBtz7DjPTKrY00P/zvPSm5pOFkl6xuGrGnXn/VtTNNfNtAfZ9/1RtehkszU9qcTii0Q==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", "dev": true, "dependencies": { - "tweetnacl": "^0.14.3" + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/big.js": { - "version": "5.2.2", - "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", - "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "node_modules/acorn": { + "version": "8.8.2", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.8.2.tgz", + "integrity": "sha512-xjIYgE8HBrkpd/sJqOGNspf8uHG+NOHGOw6a/Urj8taM2EXfdNAH2oFcPeIFfsv3+kz/mJrS5VuMqbNLjCa2vw==", "dev": true, + "bin": { + "acorn": "bin/acorn" + }, "engines": { - "node": "*" + "node": ">=0.4.0" } }, - "node_modules/binary-extensions": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", - "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", "dev": true, - "engines": { - "node": ">=8" + "peerDependencies": { + "acorn": "^8" } }, - "node_modules/bl": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", - "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "node_modules/acorn-jsx": { + "version": "5.3.2", + "resolved": "https://registry.npmjs.org/acorn-jsx/-/acorn-jsx-5.3.2.tgz", + "integrity": "sha512-rq9s+JNhf0IChjtDXxllJ7g41oZk5SlXtp0LHwyA5cejwn7vKmKp4pPri6YEePv2PU65sAsegbXtIinmDFDXgQ==", "dev": true, - "dependencies": { - "buffer": "^5.5.0", - "inherits": "^2.0.4", - "readable-stream": "^3.4.0" + "peerDependencies": { + "acorn": "^6.0.0 || ^7.0.0 || ^8.0.0" } }, - "node_modules/bl/node_modules/readable-stream": { - "version": "3.6.2", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", - "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "node_modules/acorn-walk": { + "version": "8.2.0", + "resolved": "https://registry.npmjs.org/acorn-walk/-/acorn-walk-8.2.0.tgz", + "integrity": "sha512-k+iyHEuPgSw6SbuDpGQM+06HQUa04DZ3o+F6CSzXMvvI5KMvnaEqXe+YVe555R9nn6GPt404fos4wcgpw12SDA==", "dev": true, - "dependencies": { - "inherits": "^2.0.3", - "string_decoder": "^1.1.1", - "util-deprecate": "^1.0.1" - }, "engines": { - "node": ">= 6" + "node": ">=0.4.0" } }, - "node_modules/blocking-proxy": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", - "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "node_modules/adjust-sourcemap-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-4.0.0.tgz", + "integrity": "sha512-OXwN5b9pCUXNQHJpwwD2qP40byEmSgzj8B4ydSN0uMNYWiFmJ6x6KwUllMmfk8Rwu/HJDFR7U8ubsWBoN0Xp0A==", "dev": true, "dependencies": { - "minimist": "^1.2.0" - }, - "bin": { - "blocking-proxy": "built/lib/bin.js" + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" }, "engines": { - "node": ">=6.9.x" + "node": ">=8.9" } }, - "node_modules/body-parser": { - "version": "1.20.1", - "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", - "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "node_modules/adjust-sourcemap-loader/node_modules/loader-utils": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.4.tgz", + "integrity": "sha512-xXqpXoINfFhgua9xiqD8fPFHgkoq1mmmpE92WlDbm9rNRd/EbRb+Gqf908T2DMfuHjjJlksiK2RbHVOdD/MqSw==", "dev": true, "dependencies": { - "bytes": "3.1.2", - "content-type": "~1.0.4", - "debug": "2.6.9", - "depd": "2.0.0", - "destroy": "1.2.0", - "http-errors": "2.0.0", - "iconv-lite": "0.4.24", - "on-finished": "2.4.1", - "qs": "6.11.0", - "raw-body": "2.5.1", - "type-is": "~1.6.18", - "unpipe": "1.0.0" + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" }, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=8.9.0" } }, - "node_modules/body-parser/node_modules/bytes": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", - "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "node_modules/adm-zip": { + "version": "0.4.16", + "resolved": "https://registry.npmjs.org/adm-zip/-/adm-zip-0.4.16.tgz", + "integrity": "sha512-TFi4HBKSGfIKsK5YCkKaaFG2m4PEDyViZmEwof3MTIgzimHLto6muaHVpbrljdIvIrFZzEq/p4nafOeLcYegrg==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">=0.3.0" } }, - "node_modules/body-parser/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/agent-base": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", "dev": true, "dependencies": { - "ms": "2.0.0" + "debug": "4" + }, + "engines": { + "node": ">= 6.0.0" } }, - "node_modules/body-parser/node_modules/on-finished": { - "version": "2.4.1", - "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", - "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "node_modules/agentkeepalive": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/agentkeepalive/-/agentkeepalive-4.3.0.tgz", + "integrity": "sha512-7Epl1Blf4Sy37j4v9f9FjICCh4+KAQOyXgHEwlyBiAQLbhKdq/i2QQU3amQalS/wPhdPzDXPL5DMR5bkn+YeWg==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "depd": "^2.0.0", + "humanize-ms": "^1.2.1" + }, + "engines": { + "node": ">= 8.0.0" + } + }, + "node_modules/aggregate-error": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/aggregate-error/-/aggregate-error-3.1.0.tgz", + "integrity": "sha512-4I7Td01quW/RpocfNayFdFVk1qSuoh0E7JrbRJ16nH01HhKFQ88INq9Sd+nd72zqRySlr9BmDA8xlEJ6vJMrYA==", + "dev": true, + "dependencies": { + "clean-stack": "^2.0.0", + "indent-string": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.12.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.12.0.tgz", + "integrity": "sha512-sRu1kpcO9yLtYxBKvqfTeh9KzZEwO3STyX1HT+4CaDzC6HpTGYhIhPIzj9XuKU7KYDwnaeh5hcOwjy1QuJzBPA==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-colors": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/ansi-colors/-/ansi-colors-4.1.3.tgz", + "integrity": "sha512-/6w/C21Pm1A7aZitlI5Ni/2J6FFQN8i1Cvz3kHABAAbw93v/NlvKdVOqz7CCWz/3iv/JplRSEEZ83XION15ovw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dev": true, + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/anymatch": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.3.tgz", + "integrity": "sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/app-root-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/app-root-path/-/app-root-path-3.0.0.tgz", + "integrity": "sha512-qMcx+Gy2UZynHjOHOIXPNvpf+9cjvk3cWrBBK7zg4gH9+clobJRb9NGzcT7mQTcV/6Gm/1WelUtqxVXnNlrwcw==", + "dev": true, + "engines": { + "node": ">= 6.0.0" + } + }, + "node_modules/aproba": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/aproba/-/aproba-2.0.0.tgz", + "integrity": "sha512-lYe4Gx7QT+MKGbDsA+Z+he/Wtef0BiwDOlK/XkBrdfsh9J/jPPXbX0tE9x9cl27Tmu5gg3QUbUrQYa/y+KOHPQ==", + "dev": true + }, + "node_modules/are-we-there-yet": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/are-we-there-yet/-/are-we-there-yet-3.0.1.tgz", + "integrity": "sha512-QZW4EDmGwlYur0Yyf/b2uGucHQMa8aFUP7eu9ddR73vvhFyt4V0Vl3QHPcTNJ8l6qYOBdxgXdnBXQrHilfRQBg==", + "dev": true, + "dependencies": { + "delegates": "^1.0.0", + "readable-stream": "^3.6.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/are-we-there-yet/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/arg": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/arg/-/arg-4.1.0.tgz", + "integrity": "sha512-ZWc51jO3qegGkVh8Hwpv636EkbesNV5ZNQPCtRa+0qytRYPEs9IYT9qITY9buezqUH5uqyzlWLcufrzU2rffdg==", + "dev": true + }, + "node_modules/argparse": { + "version": "1.0.10", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-1.0.10.tgz", + "integrity": "sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==", + "dev": true, + "dependencies": { + "sprintf-js": "~1.0.2" + } + }, + "node_modules/aria-query": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/aria-query/-/aria-query-3.0.0.tgz", + "integrity": "sha1-ZbP8wcoRVajJrmTW7uKX8V1RM8w=", + "dev": true, + "dependencies": { + "ast-types-flow": "0.0.7", + "commander": "^2.11.0" + } + }, + "node_modules/array-buffer-byte-length": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/array-buffer-byte-length/-/array-buffer-byte-length-1.0.0.tgz", + "integrity": "sha512-LPuwb2P+NrQw3XhxGc36+XSvuBPopovXYTR9Ew++Du9Yb/bx5AzBfrIsBoj0EZUifjQU+sHL21sseZ3jerWO/A==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "is-array-buffer": "^3.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/array-uniq": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/array-uniq/-/array-uniq-1.0.3.tgz", + "integrity": "sha1-r2rId6Jcx/dOBYiUdThY39sk/bY=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/arrify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-1.0.1.tgz", + "integrity": "sha1-iYUI2iIm84DfkEcoRWhJwVAaSw0=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/asn1": { + "version": "0.2.4", + "resolved": "https://registry.npmjs.org/asn1/-/asn1-0.2.4.tgz", + "integrity": "sha512-jxwzQpLQjSmWXgwaCZE9Nz+glAG01yF1QnWgbhGwHI5A6FRIEY6IVqtHhIepHqI7/kyEyQEagBC5mBEFlIYvdg==", + "dev": true, + "dependencies": { + "safer-buffer": "~2.1.0" + } + }, + "node_modules/assert-plus": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/assert-plus/-/assert-plus-1.0.0.tgz", + "integrity": "sha1-8S4PPF13sLHN2RRpQuTpbB5N1SU=", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/ast-types-flow": { + "version": "0.0.7", + "resolved": "https://registry.npmjs.org/ast-types-flow/-/ast-types-flow-0.0.7.tgz", + "integrity": "sha1-9wtzXGvKGlycItmCw+Oef+ujva0=", + "dev": true + }, + "node_modules/async": { + "version": "3.2.4", + "resolved": "https://registry.npmjs.org/async/-/async-3.2.4.tgz", + "integrity": "sha512-iAB+JbDEGXhyIUavoDl9WP/Jj106Kz9DEn1DPgYw5ruDn0e3Wgi3sKFm55sASdGBNOQB8F59d9qQ7deqrHA8wQ==", + "dev": true + }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha1-x57Zf380y48robyXkLzDZkdLS3k=", + "dev": true + }, + "node_modules/autoprefixer": { + "version": "10.4.14", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.14.tgz", + "integrity": "sha512-FQzyfOsTlwVzjHxKEqRIAdJx9niO6VCBCoEwax/VLSoQF29ggECcPuBqUMZ+u8jCZOPSy8b8/8KnuFbp0SaFZQ==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.21.5", + "caniuse-lite": "^1.0.30001464", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/aws-sign2": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/aws-sign2/-/aws-sign2-0.7.0.tgz", + "integrity": "sha1-tG6JCTSpWR8tL2+G1+ap8bP+dqg=", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/aws4": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/aws4/-/aws4-1.8.0.tgz", + "integrity": "sha512-ReZxvNHIOv88FlT7rxcXIIC0fPt4KZqZbOlivyWtXLt8ESx84zd3kMC6iK5jVeS2qt+g7ftS7ye4fi06X5rtRQ==", + "dev": true + }, + "node_modules/axios": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-1.4.0.tgz", + "integrity": "sha512-S4XCWMEmzvo64T9GfvQDOXgYRDJ/wsSZc7Jvdgx5u1sd0JwsuPLqb3SYmusag+edF6ziyMensPVqLTSc1PiSEA==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.15.0", + "form-data": "^4.0.0", + "proxy-from-env": "^1.1.0" + } + }, + "node_modules/axios/node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dev": true, + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/axobject-query": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/axobject-query/-/axobject-query-2.0.2.tgz", + "integrity": "sha512-MCeek8ZH7hKyO1rWUbKNQBbl4l2eY0ntk7OGi+q0RlafrCnfPxC06WZA+uebCfmYp4mNU9jRBP1AhGyf8+W3ww==", + "dev": true, + "dependencies": { + "ast-types-flow": "0.0.7" + } + }, + "node_modules/babel-loader": { + "version": "9.1.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-9.1.2.tgz", + "integrity": "sha512-mN14niXW43tddohGl8HPu5yfQq70iUThvFL/4QzESA7GcZoC0eVOhvWdQ8+3UlSjaDE9MVtsW9mxDY07W7VpVA==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.2", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 14.15.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0", + "webpack": ">=5" + } + }, + "node_modules/babel-plugin-istanbul": { + "version": "6.1.1", + "resolved": "https://registry.npmjs.org/babel-plugin-istanbul/-/babel-plugin-istanbul-6.1.1.tgz", + "integrity": "sha512-Y1IQok9821cC9onCx5otgFfRm7Lm+I+wwxOx738M/WLPZ9Q42m4IG5W0FNX8WLL2gYMZo3JkuXIH2DOpWM+qwA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@istanbuljs/load-nyc-config": "^1.0.0", + "@istanbuljs/schema": "^0.1.2", + "istanbul-lib-instrument": "^5.0.4", + "test-exclude": "^6.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.3.tgz", + "integrity": "sha512-8hOdmFYFSZhqg2C/JgLUQ+t52o5nirNwaWM2B9LWteozwIvM14VSwdsCAUET10qT+kmySAlseadmfeeSWFCy+Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.7", + "@babel/helper-define-polyfill-provider": "^0.3.3", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.6.0.tgz", + "integrity": "sha512-+eHqR6OPcBhJOGgsIar7xoAB1GcSwVUA3XjAd7HJNzOXT4wv6/H7KIdA/Nc60cvUlDbKApmqNvD1B1bzOt4nyA==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3", + "core-js-compat": "^3.25.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.4.1.tgz", + "integrity": "sha512-NtQGmyQDXjQqQ+IzRkBVwEOz9lQ4zxAQZgoAYEtU9dJjnl1Oc98qnN7jcp+bE7O7aYzVpavXE3/VKXNzUbh7aw==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.0.tgz", + "integrity": "sha1-ibTRmasr7kneFk6gK4nORi1xt2c=", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/base64id": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/base64id/-/base64id-2.0.0.tgz", + "integrity": "sha512-lGe34o6EHj9y3Kts9R4ZYs/Gr+6N7MCaMlIFA3F1R2O5/m7K06AxfSeO5530PEERE6/WyEg3lsuyw4GHlPZHog==", + "dev": true, + "engines": { + "node": "^4.5.0 || >= 5.9" + } + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/bcrypt-pbkdf": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/bcrypt-pbkdf/-/bcrypt-pbkdf-1.0.2.tgz", + "integrity": "sha1-pDAdOJtqQ/m2f/PKEaP2Y342Dp4=", + "dev": true, + "dependencies": { + "tweetnacl": "^0.14.3" + } + }, + "node_modules/bent": { + "version": "7.3.12", + "resolved": "https://registry.npmjs.org/bent/-/bent-7.3.12.tgz", + "integrity": "sha512-T3yrKnVGB63zRuoco/7Ybl7BwwGZR0lceoVG5XmQyMIH9s19SV5m+a8qam4if0zQuAmOQTyPTPmsQBdAorGK3w==", + "dev": true, + "dependencies": { + "bytesish": "^0.4.1", + "caseless": "~0.12.0", + "is-stream": "^2.0.0" + } + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.1.0.tgz", + "integrity": "sha512-1Yj8h9Q+QDF5FzhMs/c9+6UntbD5MkRfRwac8DoEm9ZfUBZ7tZ55YcGVAzEe4bXsdQHEk+s9S5wsOKVdZrw0tQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bl": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/bl/-/bl-4.1.0.tgz", + "integrity": "sha512-1W07cM9gS6DcLperZfFSj+bWLtaPGSOHWhPiGzXmvVJbRLdG82sH/Kn8EtW1VqWVA54AKf2h5k5BbnIbwF3h6w==", + "dev": true, + "dependencies": { + "buffer": "^5.5.0", + "inherits": "^2.0.4", + "readable-stream": "^3.4.0" + } + }, + "node_modules/bl/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/blocking-proxy": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/blocking-proxy/-/blocking-proxy-1.0.1.tgz", + "integrity": "sha512-KE8NFMZr3mN2E0HcvCgRtX7DjhiIQrwle+nSVJVC/yqFb9+xznHl2ZcoBp2L9qzkI4t4cBFJ1efXF8Dwi132RA==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "blocking-proxy": "built/lib/bin.js" + }, + "engines": { + "node": ">=6.9.x" + } + }, + "node_modules/body-parser": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.1.tgz", + "integrity": "sha512-jWi7abTbYwajOytWCQc37VulmWiRae5RyTpaCyDcS5/lMdtwSz5lOpDE67srw/HYe35f1z3fDQw+3txg7gNtWw==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.11.0", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/qs": { + "version": "6.11.0", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", + "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/bonjour-service": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", + "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.5" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/browserslist": { + "version": "4.21.5", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", + "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001449", + "electron-to-chromium": "^1.4.284", + "node-releases": "^2.0.8", + "update-browserslist-db": "^1.0.10" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/browserstack": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", + "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", + "dev": true, + "dependencies": { + "https-proxy-agent": "^2.2.1" + } + }, + "node_modules/buffer": { + "version": "5.7.1", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", + "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "base64-js": "^1.3.1", + "ieee754": "^1.1.13" + } + }, + "node_modules/buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", + "dev": true + }, + "node_modules/builtin-modules": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", + "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/builtins": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", + "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", + "dev": true, + "dependencies": { + "semver": "^7.0.0" + } + }, + "node_modules/builtins/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/builtins/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/builtins/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/bytesish": { + "version": "0.4.4", + "resolved": "https://registry.npmjs.org/bytesish/-/bytesish-0.4.4.tgz", + "integrity": "sha512-i4uu6M4zuMUiyfZN4RU2+i9+peJh//pXhd9x1oSe1LBkZ3LEbCoygu8W0bXTukU1Jme2txKuotpCZRaC3FLxcQ==", + "dev": true + }, + "node_modules/cacache": { + "version": "17.0.6", + "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz", + "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==", + "dev": true, + "dependencies": { + "@npmcli/fs": "^3.1.0", + "fs-minipass": "^3.0.0", + "glob": "^10.2.2", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-collect": "^1.0.2", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "p-map": "^4.0.0", + "promise-inflight": "^1.0.1", + "ssri": "^10.0.0", + "tar": "^6.1.11", + "unique-filename": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/cacache/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/cacache/node_modules/glob": { + "version": "10.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.3.tgz", + "integrity": "sha512-Kb4rfmBVE3eQTAimgmeqc2LwSnN0wIOkkUL6HmxEFxNJ4fHghYHVbFba/HcGcRjE6s9KoMNK3rSOwkL4PioZjg==", + "dev": true, + "dependencies": { + "foreground-child": "^3.1.0", + "jackspeak": "^2.0.3", + "minimatch": "^9.0.0", + "minipass": "^5.0.0", + "path-scurry": "^1.7.0" + }, + "bin": { + "glob": "dist/cjs/src/bin.js" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/cacache/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/cacache/node_modules/minimatch": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", + "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=16 || 14 >=14.17" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001486", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", + "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ] + }, + "node_modules/caseless": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", + "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "dev": true + }, + "node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chownr": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", + "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/clean-stack": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", + "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dev": true, + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/cli-spinners": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", + "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/cliui": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", + "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.1", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/clone": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", + "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/codelyzer": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", + "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", + "dev": true, + "dependencies": { + "@angular/compiler": "9.0.0", + "@angular/core": "9.0.0", + "app-root-path": "^3.0.0", + "aria-query": "^3.0.0", + "axobject-query": "2.0.2", + "css-selector-tokenizer": "^0.7.1", + "cssauron": "^1.4.0", + "damerau-levenshtein": "^1.0.4", + "rxjs": "^6.5.3", + "semver-dsl": "^1.0.1", + "source-map": "^0.5.7", + "sprintf-js": "^1.1.2", + "tslib": "^1.10.0", + "zone.js": "~0.10.3" + }, + "peerDependencies": { + "@angular/compiler": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", + "@angular/core": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", + "tslint": "^5.0.0 || ^6.0.0" + } + }, + "node_modules/codelyzer/node_modules/@angular/compiler": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", + "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "dev": true, + "peerDependencies": { + "tslib": "^1.10.0" + } + }, + "node_modules/codelyzer/node_modules/@angular/core": { + "version": "9.0.0", + "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", + "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", + "dev": true, + "peerDependencies": { + "rxjs": "^6.5.3", + "tslib": "^1.10.0", + "zone.js": "~0.10.2" + } + }, + "node_modules/codelyzer/node_modules/rxjs": { + "version": "6.6.7", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", + "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "dev": true, + "dependencies": { + "tslib": "^1.9.0" + }, + "engines": { + "npm": ">=2.0.0" + } + }, + "node_modules/codelyzer/node_modules/sprintf-js": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", + "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "dev": true + }, + "node_modules/codelyzer/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/codelyzer/node_modules/zone.js": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", + "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "dev": true + }, + "node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", + "dev": true + }, + "node_modules/color-support": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", + "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "dev": true, + "bin": { + "color-support": "bin.js" + } + }, + "node_modules/colorette": { + "version": "2.0.20", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", + "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "dev": true + }, + "node_modules/colors": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", + "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "dev": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dev": true, + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/common-tags": { + "version": "1.8.2", + "resolved": "https://registry.npmjs.org/common-tags/-/common-tags-1.8.2.tgz", + "integrity": "sha512-gk/Z852D2Wtb//0I+kRFNKKE9dIIVirjoqPoA1wJU+XePVXZfGeBpk45+A1rKO4Q43prqWBNY/MiIeRLbPWUaA==", + "dev": true, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", "dev": true, "dependencies": { - "ee-first": "1.1.1" + "mime-db": ">= 1.43.0 < 2" }, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/body-parser/node_modules/qs": { - "version": "6.11.0", - "resolved": "https://registry.npmjs.org/qs/-/qs-6.11.0.tgz", - "integrity": "sha512-MvjoMCJwEarSbUYk5O+nmoSzSutSsTwF85zcHPQ9OrlFoZOYIjaqBAJIqIXjptyD5vThxGq52Xu/MaJzRkIk4Q==", + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "dev": true, "dependencies": { - "side-channel": "^1.0.4" + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" }, "engines": { - "node": ">=0.6" - }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "node": ">= 0.8.0" } }, - "node_modules/bonjour-service": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.1.1.tgz", - "integrity": "sha512-Z/5lQRMOG9k7W+FkeGTNjh7htqn/2LMnfOvBZ8pynNZCM9MwkQkI3zeI4oz09uWdcgmgHugVvBqxGg4VQJ5PCg==", + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, "dependencies": { - "array-flatten": "^2.1.2", - "dns-equal": "^1.0.0", - "fast-deep-equal": "^3.1.3", - "multicast-dns": "^7.2.5" + "ms": "2.0.0" } }, - "node_modules/boolbase": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", - "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", "dev": true }, - "node_modules/brace-expansion": { - "version": "1.1.11", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", - "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "node_modules/connect": { + "version": "3.7.0", + "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", + "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0", - "concat-map": "0.0.1" + "debug": "2.6.9", + "finalhandler": "1.1.2", + "parseurl": "~1.3.3", + "utils-merge": "1.0.1" + }, + "engines": { + "node": ">= 0.10.0" } }, - "node_modules/braces": { - "version": "3.0.2", - "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", - "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "node_modules/connect-history-api-fallback": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", + "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", "dev": true, - "dependencies": { - "fill-range": "^7.0.1" - }, "engines": { - "node": ">=8" + "node": ">=0.8" } }, - "node_modules/browserslist": { - "version": "4.21.5", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.21.5.tgz", - "integrity": "sha512-tUkiguQGW7S3IhB7N+c2MV/HZPSCPAAiYBZXLsBhFB/PCy6ZKKsZrmBayHV9fdGV/ARIfJ14NkxKzRDjvp7L6w==", + "node_modules/connect/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - } - ], "dependencies": { - "caniuse-lite": "^1.0.30001449", - "electron-to-chromium": "^1.4.284", - "node-releases": "^2.0.8", - "update-browserslist-db": "^1.0.10" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + "ms": "2.0.0" } }, - "node_modules/browserstack": { - "version": "1.6.0", - "resolved": "https://registry.npmjs.org/browserstack/-/browserstack-1.6.0.tgz", - "integrity": "sha512-HJDJ0TSlmkwnt9RZ+v5gFpa1XZTBYTj0ywvLwJ3241J7vMw2jAsGNVhKHtmCOyg+VxeLZyaibO9UL71AsUeDIw==", + "node_modules/console-control-strings": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", + "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", "dev": true, "dependencies": { - "https-proxy-agent": "^2.2.1" + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" } }, - "node_modules/buffer": { - "version": "5.7.1", - "resolved": "https://registry.npmjs.org/buffer/-/buffer-5.7.1.tgz", - "integrity": "sha512-EHcyIPBQ4BSGlvjB16k5KgAJ27CIsHY/2JBmCRReo48y9rQ3MaUzWX3KVlBa4U7MyX02HdVj0K7C3WaB3ju7FQ==", + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", "dev": true, "funding": [ { @@ -5466,1581 +7401,1606 @@ "type": "consulting", "url": "https://feross.org/support" } - ], - "dependencies": { - "base64-js": "^1.3.1", - "ieee754": "^1.1.13" - } - }, - "node_modules/buffer-from": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", - "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==", - "dev": true - }, - "node_modules/builtin-modules": { - "version": "3.3.0", - "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-3.3.0.tgz", - "integrity": "sha512-zhaCDicdLuWN5UbN5IMnFqNMhNfo919sH85y2/ea+5Yg9TsTkeZxpL+JLbp6cgYFS4sRLp3YV4S6yDuqVWHYOw==", - "dev": true, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/builtins": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/builtins/-/builtins-5.0.1.tgz", - "integrity": "sha512-qwVpFEHNfhYJIzNRBvd2C1kyo6jz3ZSMPyyuR47OPdiKWlbYnZNyDWuyR175qDnAJLiCo5fBBqPb3RiXgWlkOQ==", - "dev": true, - "dependencies": { - "semver": "^7.0.0" - } - }, - "node_modules/builtins/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", - "dev": true, - "dependencies": { - "yallist": "^4.0.0" - }, - "engines": { - "node": ">=10" - } + ] }, - "node_modules/builtins/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", "dev": true, - "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" - }, "engines": { - "node": ">=10" + "node": ">= 0.6" } }, - "node_modules/builtins/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/convert-source-map": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", + "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", "dev": true }, - "node_modules/bytes": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", - "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "node_modules/cookie": { + "version": "0.4.2", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", + "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", "dev": true, "engines": { - "node": ">= 0.8" + "node": ">= 0.6" } }, - "node_modules/cacache": { - "version": "17.0.6", - "resolved": "https://registry.npmjs.org/cacache/-/cacache-17.0.6.tgz", - "integrity": "sha512-ixcYmEBExFa/+ajIPjcwypxL97CjJyOsH9A/W+4qgEPIpJvKlC+HmVY8nkIck6n3PwUTdgq9c489niJGwl+5Cw==", - "dev": true, - "dependencies": { - "@npmcli/fs": "^3.1.0", - "fs-minipass": "^3.0.0", - "glob": "^10.2.2", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-collect": "^1.0.2", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "p-map": "^4.0.0", - "promise-inflight": "^1.0.1", - "ssri": "^10.0.0", - "tar": "^6.1.11", - "unique-filename": "^3.0.0" - }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" - } + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true }, - "node_modules/cacache/node_modules/brace-expansion": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", - "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "node_modules/copy-anything": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", + "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", "dev": true, "dependencies": { - "balanced-match": "^1.0.0" + "is-what": "^3.14.1" + }, + "funding": { + "url": "https://github.com/sponsors/mesqueeb" } }, - "node_modules/cacache/node_modules/glob": { - "version": "10.2.3", - "resolved": "https://registry.npmjs.org/glob/-/glob-10.2.3.tgz", - "integrity": "sha512-Kb4rfmBVE3eQTAimgmeqc2LwSnN0wIOkkUL6HmxEFxNJ4fHghYHVbFba/HcGcRjE6s9KoMNK3rSOwkL4PioZjg==", + "node_modules/copy-webpack-plugin": { + "version": "11.0.0", + "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", + "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", "dev": true, "dependencies": { - "foreground-child": "^3.1.0", - "jackspeak": "^2.0.3", - "minimatch": "^9.0.0", - "minipass": "^5.0.0", - "path-scurry": "^1.7.0" - }, - "bin": { - "glob": "dist/cjs/src/bin.js" + "fast-glob": "^3.2.11", + "glob-parent": "^6.0.1", + "globby": "^13.1.1", + "normalize-path": "^3.0.0", + "schema-utils": "^4.0.0", + "serialize-javascript": "^6.0.0" }, "engines": { - "node": ">=16 || 14 >=14.17" + "node": ">= 14.15.0" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" } }, - "node_modules/cacache/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/copy-webpack-plugin/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, + "dependencies": { + "is-glob": "^4.0.3" + }, "engines": { - "node": ">=12" + "node": ">=10.13.0" } }, - "node_modules/cacache/node_modules/minimatch": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-9.0.0.tgz", - "integrity": "sha512-0jJj8AvgKqWN05mrwuqi8QYKx1WmYSUoKSxu5Qhs9prezTz10sxAHGNZe9J9cqIJzta8DWsleh2KaVaLl6Ru2w==", + "node_modules/core-js": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.2.tgz", + "integrity": "sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==", + "hasInstallScript": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat": { + "version": "3.30.2", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", + "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", "dev": true, "dependencies": { - "brace-expansion": "^2.0.1" - }, - "engines": { - "node": ">=16 || 14 >=14.17" + "browserslist": "^4.21.5" }, "funding": { - "url": "https://github.com/sponsors/isaacs" + "type": "opencollective", + "url": "https://opencollective.com/core-js" } }, - "node_modules/call-bind": { + "node_modules/core-util-is": { "version": "1.0.2", - "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", - "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", + "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", + "dev": true + }, + "node_modules/cors": { + "version": "2.8.5", + "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", + "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", "dev": true, "dependencies": { - "function-bind": "^1.1.1", - "get-intrinsic": "^1.0.2" + "object-assign": "^4", + "vary": "^1" }, - "funding": { - "url": "https://github.com/sponsors/ljharb" + "engines": { + "node": ">= 0.10" } }, - "node_modules/callsites": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", - "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "node_modules/cosmiconfig": { + "version": "8.1.3", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", + "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", "dev": true, + "dependencies": { + "import-fresh": "^3.2.1", + "js-yaml": "^4.1.0", + "parse-json": "^5.0.0", + "path-type": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=14" + }, + "funding": { + "url": "https://github.com/sponsors/d-fischer" } }, - "node_modules/camelcase": { - "version": "5.3.1", - "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", - "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "node_modules/cosmiconfig-typescript-loader": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", + "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", "dev": true, "engines": { - "node": ">=6" + "node": ">=12", + "npm": ">=6" + }, + "peerDependencies": { + "@types/node": "*", + "cosmiconfig": ">=7", + "ts-node": ">=10", + "typescript": ">=3" } }, - "node_modules/caniuse-lite": { - "version": "1.0.30001486", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001486.tgz", - "integrity": "sha512-uv7/gXuHi10Whlj0pp5q/tsK/32J2QSqVRKQhs2j8VsDCjgyruAh/eEXHF822VqO9yT6iZKw3nRwZRSPBE9OQg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ] - }, - "node_modules/caseless": { - "version": "0.12.0", - "resolved": "https://registry.npmjs.org/caseless/-/caseless-0.12.0.tgz", - "integrity": "sha1-G2gcIf+EAzyCZUMJBolCDRhxUdw=", + "node_modules/cosmiconfig/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", "dev": true }, - "node_modules/chalk": { - "version": "2.4.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", - "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "node_modules/cosmiconfig/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "ansi-styles": "^3.2.1", - "escape-string-regexp": "^1.0.5", - "supports-color": "^5.3.0" + "argparse": "^2.0.1" }, - "engines": { - "node": ">=4" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==", + "node_modules/create-require": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", + "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", "dev": true }, - "node_modules/chokidar": { - "version": "3.5.3", - "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", - "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "node_modules/critters": { + "version": "0.0.16", + "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", + "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", "dev": true, - "funding": [ - { - "type": "individual", - "url": "https://paulmillr.com/funding/" - } - ], "dependencies": { - "anymatch": "~3.1.2", - "braces": "~3.0.2", - "glob-parent": "~5.1.2", - "is-binary-path": "~2.1.0", - "is-glob": "~4.0.1", - "normalize-path": "~3.0.0", - "readdirp": "~3.6.0" + "chalk": "^4.1.0", + "css-select": "^4.2.0", + "parse5": "^6.0.1", + "parse5-htmlparser2-tree-adapter": "^6.0.1", + "postcss": "^8.3.7", + "pretty-bytes": "^5.3.0" + } + }, + "node_modules/critters/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" }, "engines": { - "node": ">= 8.10.0" + "node": ">=8" }, - "optionalDependencies": { - "fsevents": "~2.3.2" + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/chownr": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/chownr/-/chownr-2.0.0.tgz", - "integrity": "sha512-bIomtDF5KGpdogkLd9VspvFzk9KfpyyGlS8YFVZl7TGPBHL5snIOnxeshwVgPteQ9b4Eydl+pVbIyE1DcvCWgQ==", + "node_modules/critters/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, "engines": { "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/chrome-trace-event": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", - "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "node_modules/critters/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, "engines": { - "node": ">=6.0" + "node": ">=7.0.0" } }, - "node_modules/clean-stack": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/clean-stack/-/clean-stack-2.2.0.tgz", - "integrity": "sha512-4diC9HaTE+KRAMWhDhrGOECgWZxoevMc5TlkObMqNSsVU62PYzXZ/SMTjzyGAFF1YusgxGcSWTEXBhp0CPwQ1A==", + "node_modules/critters/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/critters/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "node_modules/critters/node_modules/parse5": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", + "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", + "dev": true + }, + "node_modules/critters/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "restore-cursor": "^3.1.0" + "has-flag": "^4.0.0" }, "engines": { "node": ">=8" } }, - "node_modules/cli-spinners": { - "version": "2.9.0", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.9.0.tgz", - "integrity": "sha512-4/aL9X3Wh0yiMQlE+eeRhWP6vclO3QRtw1JHKIT0FFUs5FjpFmESqtMvYZ0+lbzBw900b95mS0hohy+qn2VK/g==", + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", "dev": true, - "engines": { - "node": ">=6" + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "engines": { + "node": ">= 8" } }, - "node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "node_modules/cross-spawn/node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, "engines": { - "node": ">= 10" + "node": ">= 8" } }, - "node_modules/cliui": { - "version": "8.0.1", - "resolved": "https://registry.npmjs.org/cliui/-/cliui-8.0.1.tgz", - "integrity": "sha512-BSeNnyus75C4//NQ9gQt1/csTXyo/8Sb+afLAkzAptFuMsod9HFokGNudZpi/oQV73hnVK+sR+5PVRMd+Dr7YQ==", + "node_modules/css-loader": { + "version": "6.7.3", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", + "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", "dev": true, "dependencies": { - "string-width": "^4.2.0", - "strip-ansi": "^6.0.1", - "wrap-ansi": "^7.0.0" + "icss-utils": "^5.1.0", + "postcss": "^8.4.19", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.2.0", + "semver": "^7.3.8" }, "engines": { - "node": ">=12" + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.0.0" } }, - "node_modules/clone": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", - "integrity": "sha512-JQHZ2QMW6l3aH/j6xCqQThY/9OH4D/9ls34cgkUBiEeocRTU04tHfKPBsUK1PqZCUQM7GiA0IIXJSuXHI64Kbg==", + "node_modules/css-loader/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, "engines": { - "node": ">=0.8" + "node": ">=10" } }, - "node_modules/clone-deep": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", - "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "node_modules/css-loader/node_modules/semver": { + "version": "7.5.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", + "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", "dev": true, "dependencies": { - "is-plain-object": "^2.0.4", - "kind-of": "^6.0.2", - "shallow-clone": "^3.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=6" + "node": ">=10" } }, - "node_modules/codelyzer": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/codelyzer/-/codelyzer-6.0.2.tgz", - "integrity": "sha512-v3+E0Ucu2xWJMOJ2fA/q9pDT/hlxHftHGPUay1/1cTgyPV5JTHFdO9hqo837Sx2s9vKBMTt5gO+lhF95PO6J+g==", + "node_modules/css-loader/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", "dev": true, "dependencies": { - "@angular/compiler": "9.0.0", - "@angular/core": "9.0.0", - "app-root-path": "^3.0.0", - "aria-query": "^3.0.0", - "axobject-query": "2.0.2", - "css-selector-tokenizer": "^0.7.1", - "cssauron": "^1.4.0", - "damerau-levenshtein": "^1.0.4", - "rxjs": "^6.5.3", - "semver-dsl": "^1.0.1", - "source-map": "^0.5.7", - "sprintf-js": "^1.1.2", - "tslib": "^1.10.0", - "zone.js": "~0.10.3" + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" }, - "peerDependencies": { - "@angular/compiler": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", - "@angular/core": ">=2.3.1 <13.0.0 || ^12.0.0-next || ^12.1.0-next || ^12.2.0-next", - "tslint": "^5.0.0 || ^6.0.0" + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/codelyzer/node_modules/@angular/compiler": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@angular/compiler/-/compiler-9.0.0.tgz", - "integrity": "sha512-ctjwuntPfZZT2mNj2NDIVu51t9cvbhl/16epc5xEwyzyDt76pX9UgwvY+MbXrf/C/FWwdtmNtfP698BKI+9leQ==", + "node_modules/css-selector-tokenizer": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", + "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", "dev": true, - "peerDependencies": { - "tslib": "^1.10.0" + "dependencies": { + "cssesc": "^3.0.0", + "fastparse": "^1.1.2" } }, - "node_modules/codelyzer/node_modules/@angular/core": { - "version": "9.0.0", - "resolved": "https://registry.npmjs.org/@angular/core/-/core-9.0.0.tgz", - "integrity": "sha512-6Pxgsrf0qF9iFFqmIcWmjJGkkCaCm6V5QNnxMy2KloO3SDq6QuMVRbN9RtC8Urmo25LP+eZ6ZgYqFYpdD8Hd9w==", + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", "dev": true, - "peerDependencies": { - "rxjs": "^6.5.3", - "tslib": "^1.10.0", - "zone.js": "~0.10.2" + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" } }, - "node_modules/codelyzer/node_modules/rxjs": { - "version": "6.6.7", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", - "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", + "node_modules/cssauron": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", + "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", "dev": true, "dependencies": { - "tslib": "^1.9.0" + "through": "X.X.X" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" }, "engines": { - "npm": ">=2.0.0" + "node": ">=4" } }, - "node_modules/codelyzer/node_modules/sprintf-js": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/sprintf-js/-/sprintf-js-1.1.2.tgz", - "integrity": "sha512-VE0SOVEHCk7Qc8ulkWw3ntAzXuqf7S2lvwQaDLRnUeIEaKNQJzV6BwmLKhOqT61aGhfUMrXeaBk+oDGCzvhcug==", + "node_modules/cuint": { + "version": "0.2.2", + "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", + "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", "dev": true }, - "node_modules/codelyzer/node_modules/tslib": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", - "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "node_modules/custom-event": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", + "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", "dev": true }, - "node_modules/codelyzer/node_modules/zone.js": { - "version": "0.10.3", - "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.10.3.tgz", - "integrity": "sha512-LXVLVEq0NNOqK/fLJo3d0kfzd4sxwn2/h67/02pjCjfKDxgx1i9QqpvtHD8CrBnSSwMw5+dy11O7FRX5mkO7Cg==", + "node_modules/damerau-levenshtein": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", + "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", "dev": true }, - "node_modules/color-convert": { - "version": "1.9.3", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", - "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "node_modules/dashdash": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", + "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", "dev": true, "dependencies": { - "color-name": "1.1.3" + "assert-plus": "^1.0.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/date-format": { + "version": "4.0.14", + "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", + "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "dev": true, + "engines": { + "node": ">=4.0" } }, - "node_modules/color-name": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", - "integrity": "sha1-p9BVi9icQveV3UIyj3QIMcpTvCU=", - "dev": true - }, - "node_modules/color-support": { - "version": "1.1.3", - "resolved": "https://registry.npmjs.org/color-support/-/color-support-1.1.3.tgz", - "integrity": "sha512-qiBjkpbMLO/HL68y+lh4q0/O1MZFj2RX6X/KmMa3+gJD3z+WwI1ZzDHysvqHGS3mP6mznPckpXmw1nI9cJjyRg==", + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", "dev": true, - "bin": { - "color-support": "bin.js" + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } } }, - "node_modules/colorette": { - "version": "2.0.20", - "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.20.tgz", - "integrity": "sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==", + "node_modules/debug/node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, - "node_modules/colors": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/colors/-/colors-1.4.0.tgz", - "integrity": "sha512-a+UqTh4kgZg/SlGvfbzDHpgRu7AAQOmmqRHJnxhRZICKFUT91brVhNNt58CMWU9PsBbv3PDCZUHbVxuDiH2mtA==", + "node_modules/decamelize": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", + "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", "dev": true, "engines": { - "node": ">=0.1.90" + "node": ">=0.10.0" } }, - "node_modules/combined-stream": { - "version": "1.0.7", - "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.7.tgz", - "integrity": "sha512-brWl9y6vOB1xYPZcpZde3N9zDByXTosAeMDo4p1wzo6UMOX4vumB+TP1RZ76sfE6Md68Q0NJSrE/gbezd4Ul+w==", - "dev": true, - "dependencies": { - "delayed-stream": "~1.0.0" + "node_modules/deep-equal": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.2.1.tgz", + "integrity": "sha512-lKdkdV6EOGoVn65XaOsPdH4rMxTZOnmFyuIkMjM1i5HHCbfjC97dawgTAy0deYNfuqUqW+Q5VrVaQYtUpSd6yQ==", + "dev": true, + "dependencies": { + "array-buffer-byte-length": "^1.0.0", + "call-bind": "^1.0.2", + "es-get-iterator": "^1.1.3", + "get-intrinsic": "^1.2.0", + "is-arguments": "^1.1.1", + "is-array-buffer": "^3.0.2", + "is-date-object": "^1.0.5", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "isarray": "^2.0.5", + "object-is": "^1.1.5", + "object-keys": "^1.1.1", + "object.assign": "^4.1.4", + "regexp.prototype.flags": "^1.5.0", + "side-channel": "^1.0.4", + "which-boxed-primitive": "^1.0.2", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.9" }, - "engines": { - "node": ">= 0.8" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/commander": { - "version": "2.20.3", - "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", - "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, - "node_modules/commondir": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", - "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "node_modules/deep-is": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/deep-is/-/deep-is-0.1.4.tgz", + "integrity": "sha512-oIPzksmTg4/MriiaYGO+okXDT7ztn/w3Eptv/+gSIdMdKsJo0u4CfYNFJPy+4SKMuCqGw2wxnA+URMg3t8a/bQ==", "dev": true }, - "node_modules/compressible": { - "version": "2.0.18", - "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", - "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "node_modules/deepmerge": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", + "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", "dev": true, - "dependencies": { - "mime-db": ">= 1.43.0 < 2" - }, "engines": { - "node": ">= 0.6" + "node": ">=0.10.0" } }, - "node_modules/compression": { - "version": "1.7.4", - "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", - "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", "dev": true, "dependencies": { - "accepts": "~1.3.5", - "bytes": "3.0.0", - "compressible": "~2.0.16", - "debug": "2.6.9", - "on-headers": "~1.0.2", - "safe-buffer": "5.1.2", - "vary": "~1.1.2" + "execa": "^5.0.0" }, "engines": { - "node": ">= 0.8.0" + "node": ">= 10" } }, - "node_modules/compression/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/defaults": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", + "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", "dev": true, "dependencies": { - "ms": "2.0.0" + "clone": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/concat-map": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", - "integrity": "sha1-2Klr13/Wjfd5OnMDajug1UBdR3s=", - "dev": true - }, - "node_modules/connect": { - "version": "3.7.0", - "resolved": "https://registry.npmjs.org/connect/-/connect-3.7.0.tgz", - "integrity": "sha512-ZqRXc+tZukToSNmh5C2iWMSoV3X1YUcPbqEM4DkEG5tNQXrQUZCNVGGv3IuicnkMtPfGf3Xtp8WCXs295iQ1pQ==", + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", "dev": true, - "dependencies": { - "debug": "2.6.9", - "finalhandler": "1.1.2", - "parseurl": "~1.3.3", - "utils-merge": "1.0.1" - }, "engines": { - "node": ">= 0.10.0" + "node": ">=8" } }, - "node_modules/connect-history-api-fallback": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-2.0.0.tgz", - "integrity": "sha512-U73+6lQFmfiNPrYbXqr6kZ1i1wiRqXnp2nhMsINseWXO8lDau0LGEffJ8kQi4EjLZympVgRdvqjAgiZ1tgzDDA==", + "node_modules/define-properties": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.2.0.tgz", + "integrity": "sha512-xvqAVKGfT1+UAvPwKTVw/njhdQ8ZhXK4lI0bCIuCMrp2up9nPnaDftrLtmpTazqd1o+UY4zgzU+avtMbDP+ldA==", "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, "engines": { - "node": ">=0.8" + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/connect/node_modules/debug": { - "version": "2.6.9", - "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", - "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", "dev": true, - "dependencies": { - "ms": "2.0.0" + "engines": { + "node": ">=0.4.0" } }, - "node_modules/console-control-strings": { - "version": "1.1.0", - "resolved": "https://registry.npmjs.org/console-control-strings/-/console-control-strings-1.1.0.tgz", - "integrity": "sha512-ty/fTekppD2fIwRvnZAVdeOiGd1c7YXEixbgJTNzqcxJWKQnjJ/V1bNEEE6hygpM3WjwHFUVK6HTjWSzV4a8sQ==", + "node_modules/delegates": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", + "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", "dev": true }, - "node_modules/content-disposition": { - "version": "0.5.4", - "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", - "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", "dev": true, - "dependencies": { - "safe-buffer": "5.2.1" - }, "engines": { - "node": ">= 0.6" + "node": ">= 0.8" } }, - "node_modules/content-disposition/node_modules/safe-buffer": { - "version": "5.2.1", - "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", - "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "node_modules/dependency-graph": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", + "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/feross" - }, - { - "type": "patreon", - "url": "https://www.patreon.com/feross" - }, - { - "type": "consulting", - "url": "https://feross.org/support" - } - ] + "engines": { + "node": ">= 0.6.0" + } }, - "node_modules/content-type": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", - "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" } }, - "node_modules/convert-source-map": { - "version": "1.9.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.9.0.tgz", - "integrity": "sha512-ASFBup0Mz1uyiIjANan1jzLQami9z1PoYSZCiiYW2FczPbenXc45FZdBZLzOT+r6+iciuEModtmCti+hjaAk0A==", + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", "dev": true }, - "node_modules/cookie": { - "version": "0.4.2", - "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz", - "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==", + "node_modules/di": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", + "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", + "dev": true + }, + "node_modules/diff": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", + "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", "dev": true, "engines": { - "node": ">= 0.6" + "node": ">=0.3.1" } }, - "node_modules/cookie-signature": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", - "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", - "dev": true - }, - "node_modules/copy-anything": { - "version": "2.0.6", - "resolved": "https://registry.npmjs.org/copy-anything/-/copy-anything-2.0.6.tgz", - "integrity": "sha512-1j20GZTsvKNkc4BY3NpMOM8tt///wY3FpIzozTOFO2ffuZcV61nojHXVKIy3WM+7ADCy5FVhdZYHYDdgTU0yJw==", + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", "dev": true, "dependencies": { - "is-what": "^3.14.1" + "path-type": "^4.0.0" }, - "funding": { - "url": "https://github.com/sponsors/mesqueeb" + "engines": { + "node": ">=8" } }, - "node_modules/copy-webpack-plugin": { - "version": "11.0.0", - "resolved": "https://registry.npmjs.org/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz", - "integrity": "sha512-fX2MWpamkW0hZxMEg0+mYnA40LTosOSa5TqZ9GYIBzyJa9C3QUaMPSE2xAi/buNr8u89SfD9wHSQVBzrRa/SOQ==", + "node_modules/dlv": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/dlv/-/dlv-1.1.3.tgz", + "integrity": "sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==", + "dev": true + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.6.0", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", + "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", "dev": true, "dependencies": { - "fast-glob": "^3.2.11", - "glob-parent": "^6.0.1", - "globby": "^13.1.1", - "normalize-path": "^3.0.0", - "schema-utils": "^4.0.0", - "serialize-javascript": "^6.0.0" + "@leichtgewicht/ip-codec": "^2.0.1" }, "engines": { - "node": ">= 14.15.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.1.0" + "node": ">=6" } }, - "node_modules/copy-webpack-plugin/node_modules/glob-parent": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", - "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", + "node_modules/doctrine": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/doctrine/-/doctrine-3.0.0.tgz", + "integrity": "sha512-yS+Q5i3hBf7GBkd4KG8a7eBNNWNGLTaEwwYWUijIYM7zrlYDM0BFXHjjPWlWZ1Rg7UaddZeIDmi9jF3HmqiQ2w==", "dev": true, "dependencies": { - "is-glob": "^4.0.3" + "esutils": "^2.0.2" }, "engines": { - "node": ">=10.13.0" + "node": ">=6.0.0" } }, - "node_modules/core-js": { - "version": "3.30.2", - "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.30.2.tgz", - "integrity": "sha512-uBJiDmwqsbJCWHAwjrx3cvjbMXP7xD72Dmsn5LOJpiRmE3WbBbN5rCqQ2Qh6Ek6/eOrjlWngEynBWo4VxerQhg==", - "hasInstallScript": true, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "node_modules/dom-serialize": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", + "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "dev": true, + "dependencies": { + "custom-event": "~1.0.0", + "ent": "~2.2.0", + "extend": "^3.0.0", + "void-elements": "^2.0.0" } }, - "node_modules/core-js-compat": { - "version": "3.30.2", - "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.30.2.tgz", - "integrity": "sha512-nriW1nuJjUgvkEjIot1Spwakz52V9YkYHZAQG6A1eCgC8AA1p0zngrQEP9R0+V6hji5XilWKG1Bd0YRppmGimA==", + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", "dev": true, "dependencies": { - "browserslist": "^4.21.5" + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" }, "funding": { - "type": "opencollective", - "url": "https://opencollective.com/core-js" + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" } }, - "node_modules/core-util-is": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.2.tgz", - "integrity": "sha1-tf1UIgqivFq1eqtxQMlAdUUDwac=", - "dev": true + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] }, - "node_modules/cors": { - "version": "2.8.5", - "resolved": "https://registry.npmjs.org/cors/-/cors-2.8.5.tgz", - "integrity": "sha512-KIHbLJqu73RGr/hnbrO9uBeixNGuvSQjul/jdFvS/KFSIH1hWVd1ng7zOHx+YrEfInLG7q4n6GHQ9cDtxv/P6g==", + "node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", "dev": true, "dependencies": { - "object-assign": "^4", - "vary": "^1" + "domelementtype": "^2.2.0" }, "engines": { - "node": ">= 0.10" + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" } }, - "node_modules/cosmiconfig": { - "version": "8.1.3", - "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-8.1.3.tgz", - "integrity": "sha512-/UkO2JKI18b5jVMJUp0lvKFMpa/Gye+ZgZjKD+DGEN9y7NRcf/nK1A0sp67ONmKtnDCNMS44E6jrk0Yc3bDuUw==", + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", "dev": true, "dependencies": { - "import-fresh": "^3.2.1", - "js-yaml": "^4.1.0", - "parse-json": "^5.0.0", - "path-type": "^4.0.0" - }, - "engines": { - "node": ">=14" + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" }, "funding": { - "url": "https://github.com/sponsors/d-fischer" + "url": "https://github.com/fb55/domutils?sponsor=1" } }, - "node_modules/cosmiconfig-typescript-loader": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/cosmiconfig-typescript-loader/-/cosmiconfig-typescript-loader-4.3.0.tgz", - "integrity": "sha512-NTxV1MFfZDLPiBMjxbHRwSh5LaLcPMwNdCutmnHJCKoVnlvldPWlllonKwrsRJ5pYZBIBGRWWU2tfvzxgeSW5Q==", + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", "dev": true, "engines": { - "node": ">=12", - "npm": ">=6" - }, - "peerDependencies": { - "@types/node": "*", - "cosmiconfig": ">=7", - "ts-node": ">=10", - "typescript": ">=3" + "node": ">=10" } }, - "node_modules/cosmiconfig/node_modules/argparse": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", - "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "node_modules/duplexer": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/duplexer/-/duplexer-0.1.2.tgz", + "integrity": "sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==", "dev": true }, - "node_modules/cosmiconfig/node_modules/js-yaml": { - "version": "4.1.0", - "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", - "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", + "node_modules/eastasianwidth": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", + "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", + "dev": true + }, + "node_modules/ecc-jsbn": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", + "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", "dev": true, "dependencies": { - "argparse": "^2.0.1" - }, - "bin": { - "js-yaml": "bin/js-yaml.js" + "jsbn": "~0.1.0", + "safer-buffer": "^2.1.0" } }, - "node_modules/create-require": { + "node_modules/ee-first": { "version": "1.1.1", - "resolved": "https://registry.npmjs.org/create-require/-/create-require-1.1.1.tgz", - "integrity": "sha512-dcKFX3jn0MpIaXjisoRvexIJVEKzaq7z2rZKxf+MSr9TkdmHmsU4m2lcLojrj/FHl8mk5VxMmYA+ftRkP/3oKQ==", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", "dev": true }, - "node_modules/critters": { - "version": "0.0.16", - "resolved": "https://registry.npmjs.org/critters/-/critters-0.0.16.tgz", - "integrity": "sha512-JwjgmO6i3y6RWtLYmXwO5jMd+maZt8Tnfu7VVISmEWyQqfLpB8soBswf8/2bu6SBXxtKA68Al3c+qIG1ApT68A==", - "dev": true, - "dependencies": { - "chalk": "^4.1.0", - "css-select": "^4.2.0", - "parse5": "^6.0.1", - "parse5-htmlparser2-tree-adapter": "^6.0.1", - "postcss": "^8.3.7", - "pretty-bytes": "^5.3.0" - } - }, - "node_modules/critters/node_modules/ansi-styles": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", - "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "node_modules/ejs": { + "version": "3.1.9", + "resolved": "https://registry.npmjs.org/ejs/-/ejs-3.1.9.tgz", + "integrity": "sha512-rC+QVNMJWv+MtPgkt0y+0rVEIdbtxVADApW9JXrUVlzHetgcyczP/E7DJmWJ4fJCZF2cPcBk0laWO9ZHMG3DmQ==", "dev": true, "dependencies": { - "color-convert": "^2.0.1" + "jake": "^10.8.5" }, - "engines": { - "node": ">=8" + "bin": { + "ejs": "bin/cli.js" }, - "funding": { - "url": "https://github.com/chalk/ansi-styles?sponsor=1" + "engines": { + "node": ">=0.10.0" } }, - "node_modules/critters/node_modules/chalk": { - "version": "4.1.2", - "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", - "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "node_modules/electron-to-chromium": { + "version": "1.4.389", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.389.tgz", + "integrity": "sha512-WDgWUOK8ROR7sDFyYmxCUOoDc50lPgYAHAHwnnD1iN3SKO/mpqftb9iIPiEkMKmqYdkrR0j3N/O+YB/U7lSxwg==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", "dev": true, - "dependencies": { - "ansi-styles": "^4.1.0", - "supports-color": "^7.1.0" - }, "engines": { - "node": ">=10" - }, - "funding": { - "url": "https://github.com/chalk/chalk?sponsor=1" + "node": ">= 4" } }, - "node_modules/critters/node_modules/color-convert": { - "version": "2.0.1", - "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", - "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", "dev": true, - "dependencies": { - "color-name": "~1.1.4" - }, "engines": { - "node": ">=7.0.0" + "node": ">= 0.8" } }, - "node_modules/critters/node_modules/color-name": { - "version": "1.1.4", - "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true - }, - "node_modules/critters/node_modules/has-flag": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true, - "engines": { - "node": ">=8" + "node_modules/encoding": { + "version": "0.1.13", + "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", + "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "dev": true, + "optional": true, + "dependencies": { + "iconv-lite": "^0.6.2" } }, - "node_modules/critters/node_modules/parse5": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/parse5/-/parse5-6.0.1.tgz", - "integrity": "sha512-Ofn/CTFzRGTTxwpNEs9PP93gXShHcTq255nzRYSKe8AkVpZY7e1fpmTfOyoIvjP5HG7Z2ZM7VS9PPhQGW2pOpw==", - "dev": true - }, - "node_modules/critters/node_modules/supports-color": { - "version": "7.2.0", - "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", - "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "node_modules/encoding/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", "dev": true, + "optional": true, "dependencies": { - "has-flag": "^4.0.0" + "safer-buffer": ">= 2.1.2 < 3.0.0" }, "engines": { - "node": ">=8" + "node": ">=0.10.0" } }, - "node_modules/cross-spawn": { - "version": "7.0.3", - "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", - "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "node_modules/end-of-stream": { + "version": "1.4.4", + "resolved": "https://registry.npmjs.org/end-of-stream/-/end-of-stream-1.4.4.tgz", + "integrity": "sha512-+uw1inIHVPQoaVuHzRyXd21icM+cnt4CzD5rW+NC1wjOUSTOs+Te7FOv7AhN7vS9x/oIyhLP5PR1H+phQAHu5Q==", "dev": true, "dependencies": { - "path-key": "^3.1.0", - "shebang-command": "^2.0.0", - "which": "^2.0.1" - }, - "engines": { - "node": ">= 8" + "once": "^1.4.0" } }, - "node_modules/cross-spawn/node_modules/which": { - "version": "2.0.2", - "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", - "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "node_modules/engine.io": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", + "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", "dev": true, "dependencies": { - "isexe": "^2.0.0" - }, - "bin": { - "node-which": "bin/node-which" + "@types/cookie": "^0.4.1", + "@types/cors": "^2.8.12", + "@types/node": ">=10.0.0", + "accepts": "~1.3.4", + "base64id": "2.0.0", + "cookie": "~0.4.1", + "cors": "~2.8.5", + "debug": "~4.3.1", + "engine.io-parser": "~5.0.3", + "ws": "~8.11.0" }, "engines": { - "node": ">= 8" + "node": ">=10.0.0" } }, - "node_modules/css-loader": { - "version": "6.7.3", - "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-6.7.3.tgz", - "integrity": "sha512-qhOH1KlBMnZP8FzRO6YCH9UHXQhVMcEGLyNdb7Hv2cpcmJbW0YrddO+tG1ab5nT41KpHIYGsbeHqxB9xPu1pKQ==", + "node_modules/engine.io-parser": { + "version": "5.0.6", + "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", + "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", "dev": true, - "dependencies": { - "icss-utils": "^5.1.0", - "postcss": "^8.4.19", - "postcss-modules-extract-imports": "^3.0.0", - "postcss-modules-local-by-default": "^4.0.0", - "postcss-modules-scope": "^3.0.0", - "postcss-modules-values": "^4.0.0", - "postcss-value-parser": "^4.2.0", - "semver": "^7.3.8" - }, "engines": { - "node": ">= 12.13.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - }, - "peerDependencies": { - "webpack": "^5.0.0" + "node": ">=10.0.0" } }, - "node_modules/css-loader/node_modules/lru-cache": { - "version": "6.0.0", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", - "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "node_modules/enhanced-resolve": { + "version": "5.14.0", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz", + "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==", "dev": true, "dependencies": { - "yallist": "^4.0.0" + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" }, "engines": { - "node": ">=10" + "node": ">=10.13.0" } }, - "node_modules/css-loader/node_modules/semver": { - "version": "7.5.0", - "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.0.tgz", - "integrity": "sha512-+XC0AD/R7Q2mPSRuy2Id0+CGTZ98+8f+KvwirxOKIEyid+XSx6HbC63p+O4IndTHuX5Z+JxQ0TghCkO5Cg/2HA==", + "node_modules/enquirer": { + "version": "2.3.6", + "resolved": "https://registry.npmjs.org/enquirer/-/enquirer-2.3.6.tgz", + "integrity": "sha512-yjNnPr315/FjS4zIsUxYguYUPP2e1NK4d7E7ZOLiyYCcbFBiTMyID+2wvm2w6+pZ/odMA7cRkjhsPbltwBOrLg==", "dev": true, "dependencies": { - "lru-cache": "^6.0.0" - }, - "bin": { - "semver": "bin/semver.js" + "ansi-colors": "^4.1.1" }, "engines": { - "node": ">=10" + "node": ">=8.6" } }, - "node_modules/css-loader/node_modules/yallist": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "node_modules/ent": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", + "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", "dev": true }, - "node_modules/css-select": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", - "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", "dev": true, - "dependencies": { - "boolbase": "^1.0.0", - "css-what": "^6.0.1", - "domhandler": "^4.3.1", - "domutils": "^2.8.0", - "nth-check": "^2.0.1" - }, "funding": { - "url": "https://github.com/sponsors/fb55" + "url": "https://github.com/fb55/entities?sponsor=1" } }, - "node_modules/css-selector-tokenizer": { - "version": "0.7.3", - "resolved": "https://registry.npmjs.org/css-selector-tokenizer/-/css-selector-tokenizer-0.7.3.tgz", - "integrity": "sha512-jWQv3oCEL5kMErj4wRnK/OPoBi0D+P1FR2cDCKYPaMeD2eW3/mttav8HT4hT1CKopiJI/psEULjkClhvJo4Lvg==", + "node_modules/env-paths": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", + "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", "dev": true, - "dependencies": { - "cssesc": "^3.0.0", - "fastparse": "^1.1.2" + "engines": { + "node": ">=6" } }, - "node_modules/css-what": { - "version": "6.1.0", - "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", - "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "node_modules/err-code": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", + "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", + "dev": true + }, + "node_modules/errno": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", + "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", "dev": true, - "engines": { - "node": ">= 6" + "optional": true, + "dependencies": { + "prr": "~1.0.1" }, - "funding": { - "url": "https://github.com/sponsors/fb55" + "bin": { + "errno": "cli.js" } }, - "node_modules/cssauron": { - "version": "1.4.0", - "resolved": "https://registry.npmjs.org/cssauron/-/cssauron-1.4.0.tgz", - "integrity": "sha1-pmAt/34EqDBtwNuaVR6S6LVmKtg=", + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", "dev": true, "dependencies": { - "through": "X.X.X" + "is-arrayish": "^0.2.1" } }, - "node_modules/cssesc": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", - "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "node_modules/es-get-iterator": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.3.tgz", + "integrity": "sha512-sPZmqHBe6JIiTfN5q2pEi//TwxmAFHwj/XEuYjTuse78i8KxaqMTTzxPoFKuzRpDpTJ+0NAbpfenkmH2rePtuw==", "dev": true, - "bin": { - "cssesc": "bin/cssesc" + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.3", + "has-symbols": "^1.0.3", + "is-arguments": "^1.1.1", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.7", + "isarray": "^2.0.5", + "stop-iteration-iterator": "^1.0.0" }, - "engines": { - "node": ">=4" + "funding": { + "url": "https://github.com/sponsors/ljharb" } }, - "node_modules/cuint": { - "version": "0.2.2", - "resolved": "https://registry.npmjs.org/cuint/-/cuint-0.2.2.tgz", - "integrity": "sha512-d4ZVpCW31eWwCMe1YT3ur7mUDnTXbgwyzaL320DrcRT45rfjYxkt5QWLrmOJ+/UEAI2+fQgKe/fCjR8l4TpRgw==", + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", "dev": true }, - "node_modules/custom-event": { - "version": "1.0.1", - "resolved": "https://registry.npmjs.org/custom-event/-/custom-event-1.0.1.tgz", - "integrity": "sha1-XQKkaFCt8bSjF5RqOSj8y1v9BCU=", + "node_modules/es-module-lexer": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", + "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", "dev": true }, - "node_modules/damerau-levenshtein": { - "version": "1.0.6", - "resolved": "https://registry.npmjs.org/damerau-levenshtein/-/damerau-levenshtein-1.0.6.tgz", - "integrity": "sha512-JVrozIeElnj3QzfUIt8tB8YMluBJom4Vw9qTPpjGYQ9fYlB3D/rb6OordUxf3xeFB35LKWs0xqcO5U6ySvBtug==", + "node_modules/es6-promise": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", + "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", "dev": true }, - "node_modules/dashdash": { - "version": "1.14.1", - "resolved": "https://registry.npmjs.org/dashdash/-/dashdash-1.14.1.tgz", - "integrity": "sha1-hTz6D3y+L+1d4gMmuN1YEDX24vA=", + "node_modules/es6-promisify": { + "version": "5.0.0", + "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", + "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", "dev": true, "dependencies": { - "assert-plus": "^1.0.0" + "es6-promise": "^4.0.3" + } + }, + "node_modules/esbuild": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", + "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", + "dev": true, + "hasInstallScript": true, + "bin": { + "esbuild": "bin/esbuild" }, "engines": { - "node": ">=0.10" + "node": ">=12" + }, + "optionalDependencies": { + "@esbuild/android-arm": "0.17.18", + "@esbuild/android-arm64": "0.17.18", + "@esbuild/android-x64": "0.17.18", + "@esbuild/darwin-arm64": "0.17.18", + "@esbuild/darwin-x64": "0.17.18", + "@esbuild/freebsd-arm64": "0.17.18", + "@esbuild/freebsd-x64": "0.17.18", + "@esbuild/linux-arm": "0.17.18", + "@esbuild/linux-arm64": "0.17.18", + "@esbuild/linux-ia32": "0.17.18", + "@esbuild/linux-loong64": "0.17.18", + "@esbuild/linux-mips64el": "0.17.18", + "@esbuild/linux-ppc64": "0.17.18", + "@esbuild/linux-riscv64": "0.17.18", + "@esbuild/linux-s390x": "0.17.18", + "@esbuild/linux-x64": "0.17.18", + "@esbuild/netbsd-x64": "0.17.18", + "@esbuild/openbsd-x64": "0.17.18", + "@esbuild/sunos-x64": "0.17.18", + "@esbuild/win32-arm64": "0.17.18", + "@esbuild/win32-ia32": "0.17.18", + "@esbuild/win32-x64": "0.17.18" } }, - "node_modules/date-format": { - "version": "4.0.14", - "resolved": "https://registry.npmjs.org/date-format/-/date-format-4.0.14.tgz", - "integrity": "sha512-39BOQLs9ZjKh0/patS9nrT8wc3ioX3/eA/zgbKNopnF2wCqJEoxywwwElATYvRsXdnOxA/OQeQoFZ3rFjVajhg==", + "node_modules/esbuild-wasm": { + "version": "0.17.18", + "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz", + "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==", "dev": true, + "bin": { + "esbuild": "bin/esbuild" + }, "engines": { - "node": ">=4.0" + "node": ">=12" } }, - "node_modules/debug": { - "version": "4.3.4", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", - "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", "dev": true, - "dependencies": { - "ms": "2.1.2" - }, "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } + "node": ">=6" } }, - "node_modules/debug/node_modules/ms": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", - "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", "dev": true }, - "node_modules/decamelize": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-1.2.0.tgz", - "integrity": "sha1-9lNNFRSCabIDUue+4m9QH5oZEpA=", + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", "dev": true, "engines": { - "node": ">=0.10.0" + "node": ">=0.8.0" } }, - "node_modules/deepmerge": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/deepmerge/-/deepmerge-4.3.1.tgz", - "integrity": "sha512-3sUqbMEc77XqpdNO7FRyRog+eW3ph+GYCbj+rK+uYyRMuwsVy0rMiVtPn+QJlKFvWP/1PYpapqYn0Me2knFn+A==", - "dev": true, + "node_modules/eslint": { + "version": "8.40.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-8.40.0.tgz", + "integrity": "sha512-bvR+TsP9EHL3TqNtj9sCNJVAFK3fBN8Q7g5waghxyRsPLIMwL73XSKnZFK0hk/O2ANC+iAoq6PWMQ+IfBAJIiQ==", + "dev": true, + "dependencies": { + "@eslint-community/eslint-utils": "^4.2.0", + "@eslint-community/regexpp": "^4.4.0", + "@eslint/eslintrc": "^2.0.3", + "@eslint/js": "8.40.0", + "@humanwhocodes/config-array": "^0.11.8", + "@humanwhocodes/module-importer": "^1.0.1", + "@nodelib/fs.walk": "^1.2.8", + "ajv": "^6.10.0", + "chalk": "^4.0.0", + "cross-spawn": "^7.0.2", + "debug": "^4.3.2", + "doctrine": "^3.0.0", + "escape-string-regexp": "^4.0.0", + "eslint-scope": "^7.2.0", + "eslint-visitor-keys": "^3.4.1", + "espree": "^9.5.2", + "esquery": "^1.4.2", + "esutils": "^2.0.2", + "fast-deep-equal": "^3.1.3", + "file-entry-cache": "^6.0.1", + "find-up": "^5.0.0", + "glob-parent": "^6.0.2", + "globals": "^13.19.0", + "grapheme-splitter": "^1.0.4", + "ignore": "^5.2.0", + "import-fresh": "^3.0.0", + "imurmurhash": "^0.1.4", + "is-glob": "^4.0.0", + "is-path-inside": "^3.0.3", + "js-sdsl": "^4.1.4", + "js-yaml": "^4.1.0", + "json-stable-stringify-without-jsonify": "^1.0.1", + "levn": "^0.4.1", + "lodash.merge": "^4.6.2", + "minimatch": "^3.1.2", + "natural-compare": "^1.4.0", + "optionator": "^0.9.1", + "strip-ansi": "^6.0.1", + "strip-json-comments": "^3.1.0", + "text-table": "^0.2.0" + }, + "bin": { + "eslint": "bin/eslint.js" + }, "engines": { - "node": ">=0.10.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/default-gateway": { - "version": "6.0.3", - "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", - "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "node_modules/eslint-config-prettier": { + "version": "8.8.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.8.0.tgz", + "integrity": "sha512-wLbQiFre3tdGgpDv67NQKnJuTlcUVYHas3k+DZCc2U2BadthoEY4B7hLPvAxaqdyOGCzuLfii2fqGph10va7oA==", "dev": true, - "dependencies": { - "execa": "^5.0.0" + "bin": { + "eslint-config-prettier": "bin/cli.js" }, - "engines": { - "node": ">= 10" + "peerDependencies": { + "eslint": ">=7.0.0" } }, - "node_modules/defaults": { - "version": "1.0.4", - "resolved": "https://registry.npmjs.org/defaults/-/defaults-1.0.4.tgz", - "integrity": "sha512-eFuaLoy/Rxalv2kr+lqMlUnrDWV+3j4pljOIJgLIhI058IQfWJ7vXhyEIHu+HtC738klGALYxOKDO0bQP3tg8A==", + "node_modules/eslint-etc": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/eslint-etc/-/eslint-etc-5.2.1.tgz", + "integrity": "sha512-lFJBSiIURdqQKq9xJhvSJFyPA+VeTh5xvk24e8pxVL7bwLBtGF60C/KRkLTMrvCZ6DA3kbPuYhLWY0TZMlqTsg==", "dev": true, "dependencies": { - "clone": "^1.0.2" + "@typescript-eslint/experimental-utils": "^5.0.0", + "tsutils": "^3.17.1", + "tsutils-etc": "^1.4.1" }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "peerDependencies": { + "eslint": "^8.0.0", + "typescript": ">=4.0.0" } }, - "node_modules/define-lazy-prop": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", - "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "node_modules/eslint-etc/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", + "dev": true + }, + "node_modules/eslint-etc/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, "engines": { - "node": ">=8" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/delayed-stream": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", - "integrity": "sha1-3zrhmayt+31ECqrgsp4icrJOxhk=", + "node_modules/eslint-etc/node_modules/tsutils-etc": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tsutils-etc/-/tsutils-etc-1.4.2.tgz", + "integrity": "sha512-2Dn5SxTDOu6YWDNKcx1xu2YUy6PUeKrWZB/x2cQ8vY2+iz3JRembKn/iZ0JLT1ZudGNwQQvtFX9AwvRHbXuPUg==", "dev": true, - "engines": { - "node": ">=0.4.0" + "dependencies": { + "@types/yargs": "^17.0.0", + "yargs": "^17.0.0" + }, + "bin": { + "ts-flags": "bin/ts-flags", + "ts-kind": "bin/ts-kind" + }, + "peerDependencies": { + "tsutils": "^3.0.0", + "typescript": ">=4.0.0" } }, - "node_modules/delegates": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/delegates/-/delegates-1.0.0.tgz", - "integrity": "sha512-bd2L678uiWATM6m5Z1VzNCErI3jiGzt6HGY8OVICs40JQq/HALfbyNJmp0UDakEY4pMMaN0Ly5om/B1VI/+xfQ==", - "dev": true - }, - "node_modules/depd": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", - "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "node_modules/eslint-plugin-prettier": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-prettier/-/eslint-plugin-prettier-4.2.1.tgz", + "integrity": "sha512-f/0rXLXUt0oFYs8ra4w49wYZBG5GKZpAYsJSm6rnYL5uVDjd+zowwMwVZHnAjf4edNrKpCDYfXDgmRE/Ak7QyQ==", "dev": true, + "dependencies": { + "prettier-linter-helpers": "^1.0.0" + }, "engines": { - "node": ">= 0.8" + "node": ">=12.0.0" + }, + "peerDependencies": { + "eslint": ">=7.28.0", + "prettier": ">=2.0.0" + }, + "peerDependenciesMeta": { + "eslint-config-prettier": { + "optional": true + } } }, - "node_modules/dependency-graph": { - "version": "0.11.0", - "resolved": "https://registry.npmjs.org/dependency-graph/-/dependency-graph-0.11.0.tgz", - "integrity": "sha512-JeMq7fEshyepOWDfcfHK06N3MhyPhz++vtqWhMT5O9A3K42rdsEDpfdVqjaqaAhsw6a+ZqeDvQVtD0hFHQWrzg==", + "node_modules/eslint-plugin-rxjs": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/eslint-plugin-rxjs/-/eslint-plugin-rxjs-5.0.3.tgz", + "integrity": "sha512-fcVkqLmYLRfRp+ShafjpUKuaZ+cw/sXAvM5dfSxiEr7M28QZ/NY7vaOr09FB4rSaZsQyLBnNPh5SL+4EgKjh8Q==", "dev": true, - "engines": { - "node": ">= 0.6.0" + "dependencies": { + "@typescript-eslint/experimental-utils": "^5.0.0", + "common-tags": "^1.8.0", + "decamelize": "^5.0.0", + "eslint-etc": "^5.1.0", + "requireindex": "~1.2.0", + "rxjs-report-usage": "^1.0.4", + "tslib": "^2.0.0", + "tsutils": "^3.0.0", + "tsutils-etc": "^1.4.1" + }, + "peerDependencies": { + "eslint": "^8.0.0", + "typescript": ">=4.0.0" } }, - "node_modules/destroy": { - "version": "1.2.0", - "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", - "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "node_modules/eslint-plugin-rxjs/node_modules/decamelize": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/decamelize/-/decamelize-5.0.1.tgz", + "integrity": "sha512-VfxadyCECXgQlkoEAjeghAr5gY3Hf+IKjKb+X8tGVDtveCjN+USwprd2q3QXBR9T1+x2DG0XZF5/w+7HAtSaXA==", "dev": true, "engines": { - "node": ">= 0.8", - "npm": "1.2.8000 || >= 1.4.16" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/detect-node": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", - "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", - "dev": true - }, - "node_modules/di": { - "version": "0.0.1", - "resolved": "https://registry.npmjs.org/di/-/di-0.0.1.tgz", - "integrity": "sha1-gGZJMmzqp8qjMG112YXqJ0i6kTw=", - "dev": true - }, - "node_modules/diff": { - "version": "4.0.2", - "resolved": "https://registry.npmjs.org/diff/-/diff-4.0.2.tgz", - "integrity": "sha512-58lmxKSA4BNyLz+HHMUzlOEpg09FV+ev6ZMe3vJihgdxzgcwZ8VoEEPmALCZG9LmqfVoNMMKpttIYTVG6uDY7A==", + "node_modules/eslint-plugin-rxjs/node_modules/tsutils": { + "version": "3.21.0", + "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-3.21.0.tgz", + "integrity": "sha512-mHKK3iUXL+3UF6xL5k0PEhKRUBKPBCv/+RkEOpjRWxxx27KKRBmmA60A9pgOUvMi8GKhRMPEmjBRPzs2W7O1OA==", "dev": true, + "dependencies": { + "tslib": "^1.8.1" + }, "engines": { - "node": ">=0.3.1" + "node": ">= 6" + }, + "peerDependencies": { + "typescript": ">=2.8.0 || >= 3.2.0-dev || >= 3.3.0-dev || >= 3.4.0-dev || >= 3.5.0-dev || >= 3.6.0-dev || >= 3.6.0-beta || >= 3.7.0-dev || >= 3.7.0-beta" } }, - "node_modules/dir-glob": { - "version": "3.0.1", - "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", - "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "node_modules/eslint-plugin-rxjs/node_modules/tsutils-etc": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/tsutils-etc/-/tsutils-etc-1.4.2.tgz", + "integrity": "sha512-2Dn5SxTDOu6YWDNKcx1xu2YUy6PUeKrWZB/x2cQ8vY2+iz3JRembKn/iZ0JLT1ZudGNwQQvtFX9AwvRHbXuPUg==", "dev": true, "dependencies": { - "path-type": "^4.0.0" + "@types/yargs": "^17.0.0", + "yargs": "^17.0.0" }, - "engines": { - "node": ">=8" + "bin": { + "ts-flags": "bin/ts-flags", + "ts-kind": "bin/ts-kind" + }, + "peerDependencies": { + "tsutils": "^3.0.0", + "typescript": ">=4.0.0" } }, - "node_modules/dns-equal": { - "version": "1.0.0", - "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", - "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "node_modules/eslint-plugin-rxjs/node_modules/tsutils/node_modules/tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", "dev": true }, - "node_modules/dns-packet": { - "version": "5.6.0", - "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.6.0.tgz", - "integrity": "sha512-rza3UH1LwdHh9qyPXp8lkwpjSNk/AMD3dPytUoRoqnypDUhY0xvbdmVhWOfxO68frEfV9BU8V12Ez7ZsHGZpCQ==", + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", "dev": true, "dependencies": { - "@leichtgewicht/ip-codec": "^2.0.1" + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" }, "engines": { - "node": ">=6" + "node": ">=8.0.0" } }, - "node_modules/dom-serialize": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/dom-serialize/-/dom-serialize-2.2.1.tgz", - "integrity": "sha1-ViromZ9Evl6jB29UGdzVnrQ6yVs=", + "node_modules/eslint-visitor-keys": { + "version": "3.4.1", + "resolved": "https://registry.npmjs.org/eslint-visitor-keys/-/eslint-visitor-keys-3.4.1.tgz", + "integrity": "sha512-pZnmmLwYzf+kWaM/Qgrvpen51upAktaaiI01nsJD/Yr3lMOdNtq0cxkrrg16w64VtisN6okbs7Q8AfGqj4c9fA==", "dev": true, - "dependencies": { - "custom-event": "~1.0.0", - "ent": "~2.2.0", - "extend": "^3.0.0", - "void-elements": "^2.0.0" + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/dom-serializer": { - "version": "1.4.1", - "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", - "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "node_modules/eslint/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", "dev": true, "dependencies": { - "domelementtype": "^2.0.1", - "domhandler": "^4.2.0", - "entities": "^2.0.0" + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" }, "funding": { - "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/domelementtype": { - "version": "2.3.0", - "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", - "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", - "dev": true, - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/fb55" - } - ] + "node_modules/eslint/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true }, - "node_modules/domhandler": { - "version": "4.3.1", - "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", - "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "node_modules/eslint/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", "dev": true, "dependencies": { - "domelementtype": "^2.2.0" + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" }, "engines": { - "node": ">= 4" + "node": ">=10" }, "funding": { - "url": "https://github.com/fb55/domhandler?sponsor=1" + "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/domutils": { - "version": "2.8.0", - "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", - "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "node_modules/eslint/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", "dev": true, "dependencies": { - "dom-serializer": "^1.0.1", - "domelementtype": "^2.2.0", - "domhandler": "^4.2.0" + "color-name": "~1.1.4" }, - "funding": { - "url": "https://github.com/fb55/domutils?sponsor=1" - } - }, - "node_modules/eastasianwidth": { - "version": "0.2.0", - "resolved": "https://registry.npmjs.org/eastasianwidth/-/eastasianwidth-0.2.0.tgz", - "integrity": "sha512-I88TYZWc9XiYHRQ4/3c5rjjfgkjhLyW2luGIheGERbNQ6OY7yTybanSpDXZa8y7VUP9YmDcYa+eyq4ca7iLqWA==", - "dev": true - }, - "node_modules/ecc-jsbn": { - "version": "0.1.2", - "resolved": "https://registry.npmjs.org/ecc-jsbn/-/ecc-jsbn-0.1.2.tgz", - "integrity": "sha1-OoOpBOVDUyh4dMVkt1SThoSamMk=", - "dev": true, - "dependencies": { - "jsbn": "~0.1.0", - "safer-buffer": "^2.1.0" + "engines": { + "node": ">=7.0.0" } }, - "node_modules/ee-first": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", - "integrity": "sha1-WQxhFWsK4vTwJVcyoViyZrxWsh0=", - "dev": true - }, - "node_modules/electron-to-chromium": { - "version": "1.4.389", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.389.tgz", - "integrity": "sha512-WDgWUOK8ROR7sDFyYmxCUOoDc50lPgYAHAHwnnD1iN3SKO/mpqftb9iIPiEkMKmqYdkrR0j3N/O+YB/U7lSxwg==", - "dev": true - }, - "node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "node_modules/eslint/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", "dev": true }, - "node_modules/emojis-list": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", - "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "node_modules/eslint/node_modules/escape-string-regexp": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-4.0.0.tgz", + "integrity": "sha512-TtpcNJ3XAzx3Gq8sWRzJaVajRs0uVxA2YAkdb1jm2YkPz4G6egUFAyA3n5vtEIZefPk5Wa4UXbKuS5fKkJWdgA==", "dev": true, "engines": { - "node": ">= 4" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/encodeurl": { - "version": "1.0.2", - "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", - "integrity": "sha1-rT/0yG7C0CkyL1oCw6mmBslbP1k=", + "node_modules/eslint/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, "engines": { - "node": ">= 0.8" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, - "node_modules/encoding": { - "version": "0.1.13", - "resolved": "https://registry.npmjs.org/encoding/-/encoding-0.1.13.tgz", - "integrity": "sha512-ETBauow1T35Y/WZMkio9jiM0Z5xjHHmJ4XmjZOq1l/dXz3lr2sRn87nJy20RupqSh1F2m3HHPSp8ShIPQJrJ3A==", + "node_modules/eslint/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", "dev": true, - "optional": true, - "dependencies": { - "iconv-lite": "^0.6.2" + "engines": { + "node": ">=4.0" } }, - "node_modules/encoding/node_modules/iconv-lite": { - "version": "0.6.3", - "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", - "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "node_modules/eslint/node_modules/find-up": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-5.0.0.tgz", + "integrity": "sha512-78/PXT1wlLLDgTzDs7sjq9hzz0vXD+zn+7wypEe4fXQxCmdmqfGsEPQxmiCSQI3ajFV91bVSsvNtrJRiW6nGng==", "dev": true, - "optional": true, "dependencies": { - "safer-buffer": ">= 2.1.2 < 3.0.0" + "locate-path": "^6.0.0", + "path-exists": "^4.0.0" }, "engines": { - "node": ">=0.10.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/engine.io": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/engine.io/-/engine.io-6.4.2.tgz", - "integrity": "sha512-FKn/3oMiJjrOEOeUub2WCox6JhxBXq/Zn3fZOMCBxKnNYtsdKjxhl7yR3fZhM9PV+rdE75SU5SYMc+2PGzo+Tg==", + "node_modules/eslint/node_modules/glob-parent": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-6.0.2.tgz", + "integrity": "sha512-XxwI8EOhVQgWp6iDL+3b0r86f4d6AX6zSU55HfB4ydCEuXLXc5FcYeOu+nnGftS4TEju/11rt4KJPTMgbfmv4A==", "dev": true, "dependencies": { - "@types/cookie": "^0.4.1", - "@types/cors": "^2.8.12", - "@types/node": ">=10.0.0", - "accepts": "~1.3.4", - "base64id": "2.0.0", - "cookie": "~0.4.1", - "cors": "~2.8.5", - "debug": "~4.3.1", - "engine.io-parser": "~5.0.3", - "ws": "~8.11.0" + "is-glob": "^4.0.3" }, "engines": { - "node": ">=10.0.0" - } - }, - "node_modules/engine.io-parser": { - "version": "5.0.6", - "resolved": "https://registry.npmjs.org/engine.io-parser/-/engine.io-parser-5.0.6.tgz", - "integrity": "sha512-tjuoZDMAdEhVnSFleYPCtdL2GXwVTGtNjoeJd9IhIG3C1xs9uwxqRNEu5WpnDZCaozwVlK/nuQhpodhXSIMaxw==", - "dev": true, - "engines": { - "node": ">=10.0.0" + "node": ">=10.13.0" } }, - "node_modules/enhanced-resolve": { - "version": "5.14.0", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.14.0.tgz", - "integrity": "sha512-+DCows0XNwLDcUhbFJPdlQEVnT2zXlCv7hPxemTz86/O+B/hCQ+mb7ydkPKiflpVraqLPCAfu7lDy+hBXueojw==", + "node_modules/eslint/node_modules/globals": { + "version": "13.20.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-13.20.0.tgz", + "integrity": "sha512-Qg5QtVkCy/kv3FUSlu4ukeZDVf9ee0iXLAUYX13gbR17bnejFTzr4iS9bY7kwCf1NztRNm1t91fjOiyx4CSwPQ==", "dev": true, "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.2.0" + "type-fest": "^0.20.2" }, "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/ent": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/ent/-/ent-2.2.0.tgz", - "integrity": "sha1-6WQhkyWiHQX0RGai9obtbOX13R0=", - "dev": true - }, - "node_modules/entities": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", - "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", - "dev": true, + "node": ">=8" + }, "funding": { - "url": "https://github.com/fb55/entities?sponsor=1" + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/env-paths": { - "version": "2.2.1", - "resolved": "https://registry.npmjs.org/env-paths/-/env-paths-2.2.1.tgz", - "integrity": "sha512-+h1lkLKhZMTYjog1VEpJNG7NZJWcuc2DDk/qsqSTRRCOXiLjeQ1d1/udrUGhqMxUgAlwKNZ0cf2uqan5GLuS2A==", + "node_modules/eslint/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", "dev": true, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/err-code": { - "version": "2.0.3", - "resolved": "https://registry.npmjs.org/err-code/-/err-code-2.0.3.tgz", - "integrity": "sha512-2bmlRpNKBxT/CRmPOlyISQpNj+qSeYvcym/uT0Jx2bMOlKLtSy1ZmLuVxSEKKyor/N5yhvp/ZiG1oE3DEYMSFA==", - "dev": true - }, - "node_modules/errno": { - "version": "0.1.8", - "resolved": "https://registry.npmjs.org/errno/-/errno-0.1.8.tgz", - "integrity": "sha512-dJ6oBr5SQ1VSd9qkk7ByRgb/1SH4JZjCHSW/mr63/QcXO9zLVxvJ6Oy13nio03rxpSnVDDjFor75SjVeZWPW/A==", + "node_modules/eslint/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, - "optional": true, "dependencies": { - "prr": "~1.0.1" + "argparse": "^2.0.1" }, "bin": { - "errno": "cli.js" + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/error-ex": { - "version": "1.3.2", - "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", - "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "node_modules/eslint/node_modules/locate-path": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-6.0.0.tgz", + "integrity": "sha512-iPZK6eYjbxRu3uB4/WZ3EsEIMJFMqAoopl3R+zuq0UjcAm/MO6KCweDgPfP3elTztoKP3KtnVHxTn2NHBSDVUw==", "dev": true, "dependencies": { - "is-arrayish": "^0.2.1" + "p-locate": "^5.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/es-module-lexer": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-1.2.1.tgz", - "integrity": "sha512-9978wrXM50Y4rTMmW5kXIC09ZdXQZqkE4mxhwkd8VbzsGkXGPgV4zWuqQJgCEzYngdo2dYDa0l8xhX4fkSwJSg==", - "dev": true - }, - "node_modules/es6-promise": { - "version": "4.2.5", - "resolved": "https://registry.npmjs.org/es6-promise/-/es6-promise-4.2.5.tgz", - "integrity": "sha512-n6wvpdE43VFtJq+lUDYDBFUwV8TZbuGXLV4D6wKafg13ldznKsyEvatubnmUe31zcvelSzOHF+XbaT+Bl9ObDg==", - "dev": true - }, - "node_modules/es6-promisify": { - "version": "5.0.0", - "resolved": "http://registry.npmjs.org/es6-promisify/-/es6-promisify-5.0.0.tgz", - "integrity": "sha1-UQnWLz5W6pZ8S2NQWu8IKRyKUgM=", + "node_modules/eslint/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", "dev": true, "dependencies": { - "es6-promise": "^4.0.3" + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" } }, - "node_modules/esbuild": { - "version": "0.17.18", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.17.18.tgz", - "integrity": "sha512-z1lix43jBs6UKjcZVKOw2xx69ffE2aG0PygLL5qJ9OS/gy0Ewd1gW/PUQIOIQGXBHWNywSc0floSKoMFF8aK2w==", + "node_modules/eslint/node_modules/p-limit": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-3.1.0.tgz", + "integrity": "sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==", "dev": true, - "hasInstallScript": true, - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=12" + "dependencies": { + "yocto-queue": "^0.1.0" }, - "optionalDependencies": { - "@esbuild/android-arm": "0.17.18", - "@esbuild/android-arm64": "0.17.18", - "@esbuild/android-x64": "0.17.18", - "@esbuild/darwin-arm64": "0.17.18", - "@esbuild/darwin-x64": "0.17.18", - "@esbuild/freebsd-arm64": "0.17.18", - "@esbuild/freebsd-x64": "0.17.18", - "@esbuild/linux-arm": "0.17.18", - "@esbuild/linux-arm64": "0.17.18", - "@esbuild/linux-ia32": "0.17.18", - "@esbuild/linux-loong64": "0.17.18", - "@esbuild/linux-mips64el": "0.17.18", - "@esbuild/linux-ppc64": "0.17.18", - "@esbuild/linux-riscv64": "0.17.18", - "@esbuild/linux-s390x": "0.17.18", - "@esbuild/linux-x64": "0.17.18", - "@esbuild/netbsd-x64": "0.17.18", - "@esbuild/openbsd-x64": "0.17.18", - "@esbuild/sunos-x64": "0.17.18", - "@esbuild/win32-arm64": "0.17.18", - "@esbuild/win32-ia32": "0.17.18", - "@esbuild/win32-x64": "0.17.18" + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/esbuild-wasm": { - "version": "0.17.18", - "resolved": "https://registry.npmjs.org/esbuild-wasm/-/esbuild-wasm-0.17.18.tgz", - "integrity": "sha512-h4m5zVa+KaDuRFIbH9dokMwovvkIjTQJS7/Ry+0Z1paVuS9aIkso2vdA2GmwH9GSvGX6w71WveJ3PfkoLuWaRw==", + "node_modules/eslint/node_modules/p-locate": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-5.0.0.tgz", + "integrity": "sha512-LaNjtRWUBY++zB5nE/NwcaoMylSPk+S+ZHNB1TzdbMJMny6dynpAGt7X/tl/QYq3TIeE6nxHppbo2LGymrG5Pw==", "dev": true, - "bin": { - "esbuild": "bin/esbuild" + "dependencies": { + "p-limit": "^3.0.2" }, "engines": { - "node": ">=12" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/escalade": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", - "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "node_modules/eslint/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, "engines": { - "node": ">=6" + "node": ">=8" } }, - "node_modules/escape-html": { - "version": "1.0.3", - "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", - "integrity": "sha1-Aljq5NPQwJdN4cFpGI7wBR0dGYg=", - "dev": true - }, - "node_modules/escape-string-regexp": { - "version": "1.0.5", - "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", - "integrity": "sha1-G2HAViGQqN/2rjuyzwIAyhMLhtQ=", + "node_modules/eslint/node_modules/type-fest": { + "version": "0.20.2", + "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.20.2.tgz", + "integrity": "sha512-Ne+eE4r0/iWnpAxD852z3A+N0Bt5RN//NjJwRd2VFHEmrywxf5vsZlh4R6lixl6B+wz/8d+maTSAkN1FIkI3LQ==", "dev": true, "engines": { - "node": ">=0.8.0" + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/eslint-scope": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", - "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "node_modules/espree": { + "version": "9.5.2", + "resolved": "https://registry.npmjs.org/espree/-/espree-9.5.2.tgz", + "integrity": "sha512-7OASN1Wma5fum5SrNhFMAMJxOUAbhyfQ8dQ//PJaJbNw0URTPWqIghHWt1MmAANKhHZIYOHruW4Kw4ruUWOdGw==", "dev": true, "dependencies": { - "esrecurse": "^4.3.0", - "estraverse": "^4.1.1" + "acorn": "^8.8.0", + "acorn-jsx": "^5.3.2", + "eslint-visitor-keys": "^3.4.1" }, "engines": { - "node": ">=8.0.0" + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" } }, "node_modules/esprima": { @@ -7056,6 +9016,27 @@ "node": ">=4" } }, + "node_modules/esquery": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/esquery/-/esquery-1.5.0.tgz", + "integrity": "sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==", + "dev": true, + "dependencies": { + "estraverse": "^5.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/esquery/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, "node_modules/esrecurse": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", @@ -7338,6 +9319,12 @@ "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", "dev": true }, + "node_modules/fast-diff": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/fast-diff/-/fast-diff-1.2.0.tgz", + "integrity": "sha512-xJuoT5+L99XlZ8twedaRf6Ax2TgQVxvgZOYoPKqZufmJib0tL2tegPBOZb1pVNgIhlqDlA0eO0c3wBvQcmzx4w==", + "dev": true + }, "node_modules/fast-glob": { "version": "3.2.12", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.12.tgz", @@ -7360,6 +9347,12 @@ "integrity": "sha1-1RQsDK7msRifh9OnYREGT4bIu/I=", "dev": true }, + "node_modules/fast-levenshtein": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/fast-levenshtein/-/fast-levenshtein-2.0.6.tgz", + "integrity": "sha512-DCXu6Ifhqcks7TZKY3Hxp3y6qphY5SJZmrWMDrKcERSOXWQdMhU9Ig/PYrzyw/ul9jOIyh0N4M0tbC5hodg8dw==", + "dev": true + }, "node_modules/fastparse": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/fastparse/-/fastparse-1.1.2.tgz", @@ -7402,6 +9395,48 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/file-entry-cache": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/file-entry-cache/-/file-entry-cache-6.0.1.tgz", + "integrity": "sha512-7Gps/XWymbLk2QLYK4NzpMOrYjMhdIxXuIvy2QBsLE6ljuodKvdkWs/cpyJJ3CVIVpH0Oi1Hvg1ovbMzLdFBBg==", + "dev": true, + "dependencies": { + "flat-cache": "^3.0.4" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/filelist": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.4.tgz", + "integrity": "sha512-w1cEuf3S+DrLCQL7ET6kz+gmlJdbq9J7yXCSjK/OZCPA+qEN1WyF4ZAf0YYJa4/shHJra2t/d/r8SV4Ji+x+8Q==", + "dev": true, + "dependencies": { + "minimatch": "^5.0.1" + } + }, + "node_modules/filelist/node_modules/brace-expansion": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-2.0.1.tgz", + "integrity": "sha512-XnAIvQ8eM+kC6aULx6wuQiwVsnzsi9d3WxzV3FpWTGA19F621kwdbsAcFKXgKUHZWsy+mY6iL1sHTxWEFCytDA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0" + } + }, + "node_modules/filelist/node_modules/minimatch": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-5.1.6.tgz", + "integrity": "sha512-lKwV/1brpG6mBUFHtb7NUmtABCb2WZZmm2wNiOA5hAb8VdCS4B3dtMWyvcoViccwAW/COERjXLt0zP1zXUN26g==", + "dev": true, + "dependencies": { + "brace-expansion": "^2.0.1" + }, + "engines": { + "node": ">=10" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -7495,6 +9530,43 @@ "node": ">=8" } }, + "node_modules/flat": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/flat/-/flat-5.0.2.tgz", + "integrity": "sha512-b6suED+5/3rTpUBdG1gupIl8MPFCAMA0QXwmljLhvCUKcUvdE4gWky9zpuGCcXHOsz4J9wPGNWq6OKpmIzz3hQ==", + "dev": true, + "bin": { + "flat": "cli.js" + } + }, + "node_modules/flat-cache": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/flat-cache/-/flat-cache-3.0.4.tgz", + "integrity": "sha512-dm9s5Pw7Jc0GvMYbshN6zchCA9RgQlzzEZX3vylR9IqFfS8XciblUXOKfW6SiuJ0e13eDYZoZV5wdrev7P3Nwg==", + "dev": true, + "dependencies": { + "flatted": "^3.1.0", + "rimraf": "^3.0.2" + }, + "engines": { + "node": "^10.12.0 || >=12.0.0" + } + }, + "node_modules/flat-cache/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, "node_modules/flatted": { "version": "3.2.7", "resolved": "https://registry.npmjs.org/flatted/-/flatted-3.2.7.tgz", @@ -7502,9 +9574,9 @@ "dev": true }, "node_modules/follow-redirects": { - "version": "1.13.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.13.0.tgz", - "integrity": "sha512-aq6gF1BEKje4a9i9+5jimNFIpq4Q1WiwBToeRK5NvZBd/TRsmW8BsJfOEGkr76TbOyPVD3OVDN910EcUNtRYEA==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "dev": true, "funding": [ { @@ -7514,6 +9586,20 @@ ], "engines": { "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" } }, "node_modules/foreground-child": { @@ -7598,6 +9684,12 @@ "node": ">= 0.6" } }, + "node_modules/fs-constants": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs-constants/-/fs-constants-1.0.0.tgz", + "integrity": "sha512-y6OAwoSIf7FyjMIv94u+b5rdheZEjzR63GTyZJm5qh4Bi+2YgwLCcI/fPFZkL5PSixOt6ZNKm+w+Hfp/Bciwow==", + "dev": true + }, "node_modules/fs-extra": { "version": "8.1.0", "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-8.1.0.tgz", @@ -7656,6 +9748,15 @@ "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", "dev": true }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/gauge": { "version": "4.0.4", "resolved": "https://registry.npmjs.org/gauge/-/gauge-4.0.4.tgz", @@ -7815,12 +9916,30 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/gopd": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/gopd/-/gopd-1.0.1.tgz", + "integrity": "sha512-d65bNlIadxvpb/A2abVdlqKqV563juRnZ1Wtk6s1sIR8uNsXR70xqIzVqxVf1eTqDunwT2MkczEeaezCKTZhwA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/graceful-fs": { "version": "4.2.11", "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", "dev": true }, + "node_modules/grapheme-splitter": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/grapheme-splitter/-/grapheme-splitter-1.0.4.tgz", + "integrity": "sha512-bzh50DW9kTPM00T8y4o8vQg89Di9oLJVLW/KaOGIXJWP/iqCN6WKYkbNOF04vFLJhwcpYUh9ydh/+5vpOqV4YQ==", + "dev": true + }, "node_modules/handle-thing": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", @@ -7883,6 +10002,15 @@ "node": ">=0.10.0" } }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-flag": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", @@ -7892,6 +10020,18 @@ "node": ">=4" } }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-symbols": { "version": "1.0.3", "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", @@ -7904,6 +10044,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/has-unicode": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/has-unicode/-/has-unicode-2.0.1.tgz", @@ -8435,6 +10590,20 @@ "node": ">=8" } }, + "node_modules/internal-slot": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.5.tgz", + "integrity": "sha512-Y+R5hJrzs52QCG2laLn4udYVnxsfny9CpOhNhUvk/SSSVyF6T27FzRbF0sroPidSu3X8oEAkOn2K804mjpt6UQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.2.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/ip": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/ip/-/ip-2.0.0.tgz", @@ -8450,12 +10619,54 @@ "node": ">= 10" } }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-array-buffer": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/is-array-buffer/-/is-array-buffer-3.0.2.tgz", + "integrity": "sha512-y+FyyR/w8vfIRq4eQcM1EYgSTnmHXPqaF+IgzgraytCFq5Xh8lllDVmAZolPJiZttZLeFSINPYMaEJ7/vWUa1w==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.2.0", + "is-typed-array": "^1.1.10" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-arrayish": { "version": "0.2.1", "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", "dev": true }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-binary-path": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", @@ -8468,6 +10679,22 @@ "node": ">=8" } }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-builtin-module": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/is-builtin-module/-/is-builtin-module-3.2.1.tgz", @@ -8483,6 +10710,18 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-callable": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.7.tgz", + "integrity": "sha512-1BC0BVFhS/p0qtw6enp8e+8OD0UrK0oFLztSjNzhcKA3WDuJxxAPXzPuPtKkjEY9UUoEWlX/8fgKeu2S8i9JTA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-core-module": { "version": "2.12.0", "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.12.0.tgz", @@ -8495,6 +10734,21 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-docker": { "version": "2.2.1", "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", @@ -8555,6 +10809,15 @@ "integrity": "sha512-z7CMFGNrENq5iFB9Bqo64Xk6Y9sg+epq1myIcdHaGnbMTYOxvzsEtdYqQUylB7LxfkvgrrjP32T6Ywciio9UIQ==", "dev": true }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-module": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-module/-/is-module-1.0.0.tgz", @@ -8570,6 +10833,30 @@ "node": ">=0.12.0" } }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-path-inside": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/is-path-inside/-/is-path-inside-3.0.3.tgz", + "integrity": "sha512-Fd4gABb+ycGAmKou8eMftCupSir5lRxqf4aD/vd0cD2qc4HL07OjCeuHMr8Ro4CoMaeCKDB0/ECBOVWjTwUvPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, "node_modules/is-plain-obj": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", @@ -8594,6 +10881,43 @@ "node": ">=0.10.0" } }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-stream": { "version": "2.0.1", "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", @@ -8606,6 +10930,55 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.10", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.10.tgz", + "integrity": "sha512-PJqgEHiWZvMpaFZ3uTc8kHPM4+4ADTlDniuQL7cU/UDA0Ql7F70yGfHph3cLNe+c9toaigv+DFzTJKhc2CtO6A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-typedarray": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/is-typedarray/-/is-typedarray-1.0.0.tgz", @@ -8624,6 +10997,28 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/is-what": { "version": "3.14.1", "resolved": "https://registry.npmjs.org/is-what/-/is-what-3.14.1.tgz", @@ -8839,6 +11234,94 @@ "@pkgjs/parseargs": "^0.11.0" } }, + "node_modules/jake": { + "version": "10.8.5", + "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.5.tgz", + "integrity": "sha512-sVpxYeuAhWt0OTWITwT98oyV0GsXyMlXCF+3L1SuafBVUIr/uILGRB+NqwkzhgXKvoJpDIpQvqkUALgdmQsQxw==", + "dev": true, + "dependencies": { + "async": "^3.2.3", + "chalk": "^4.0.2", + "filelist": "^1.0.1", + "minimatch": "^3.0.4" + }, + "bin": { + "jake": "bin/cli.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/jake/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/jake/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/jake/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/jake/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/jake/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/jake/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/jasmine": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/jasmine/-/jasmine-2.8.0.tgz", @@ -8921,6 +11404,16 @@ "url": "https://github.com/chalk/supports-color?sponsor=1" } }, + "node_modules/js-sdsl": { + "version": "4.4.0", + "resolved": "https://registry.npmjs.org/js-sdsl/-/js-sdsl-4.4.0.tgz", + "integrity": "sha512-FfVSdx6pJ41Oa+CF7RDaFmTnCaFhua+SNYQX74riGOpl96x+2jQCqEfQ2bnXu/5DPCqlRuiqyvTJM0Qjz26IVg==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/js-sdsl" + } + }, "node_modules/js-tokens": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", @@ -8976,6 +11469,12 @@ "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", "dev": true }, + "node_modules/json-stable-stringify-without-jsonify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json-stable-stringify-without-jsonify/-/json-stable-stringify-without-jsonify-1.0.1.tgz", + "integrity": "sha512-Bdboy+l7tA3OGW6FjyFHWkP5LuByj1Tk33Ljyq0axyzdk9//JSi2u3fP1QSmd1KNwq6VOKYGlAu87CisVir6Pw==", + "dev": true + }, "node_modules/json-stringify-safe": { "version": "5.0.1", "resolved": "https://registry.npmjs.org/json-stringify-safe/-/json-stringify-safe-5.0.1.tgz", @@ -9235,6 +11734,15 @@ "node": ">=0.10.0" } }, + "node_modules/kleur": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/kleur/-/kleur-3.0.3.tgz", + "integrity": "sha512-eTIzlVOSUR+JxdDFepEYcBMtZ9Qqdef+rnzWdRZuMbOywu5tO2w2N7rqjoANZ5k9vywhL6Br1VRjUIgTQx4E8w==", + "dev": true, + "engines": { + "node": ">=6" + } + }, "node_modules/klona": { "version": "2.0.6", "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.6.tgz", @@ -9323,6 +11831,19 @@ "node": ">=0.10.0" } }, + "node_modules/levn": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/levn/-/levn-0.4.1.tgz", + "integrity": "sha512-+bT2uH4E5LGE7h/n3evcS/sQlJXCpIp6ym8OWJ5eV6+67Dsql/LaaT7qJBAt2rzfoa/5QBGBhxDix1dMt2kQKQ==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1", + "type-check": "~0.4.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/license-webpack-plugin": { "version": "4.0.2", "resolved": "https://registry.npmjs.org/license-webpack-plugin/-/license-webpack-plugin-4.0.2.tgz", @@ -9397,6 +11918,12 @@ "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", "dev": true }, + "node_modules/lodash.merge": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/lodash.merge/-/lodash.merge-4.6.2.tgz", + "integrity": "sha512-0KpjqXRVvrYyCsX1swR/XTK0va6VQkQM6MNo7PqW77ByjAhoARA8EfrP1N4+KlKj8YS0ZUCtRT/YUuhyYDujIQ==", + "dev": true + }, "node_modules/log-symbols": { "version": "4.1.0", "resolved": "https://registry.npmjs.org/log-symbols/-/log-symbols-4.1.0.tgz", @@ -9499,6 +12026,84 @@ "node": ">=8.0" } }, + "node_modules/loglevel": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/loglevel/-/loglevel-1.8.1.tgz", + "integrity": "sha512-tCRIJM51SHjAayKwC+QAg8hT8vg6z7GSgLJKGvzuPb1Wc+hLzqtuVLxp6/HzSPOozuK+8ErAhy7U/sVzw8Dgfg==", + "dev": true, + "engines": { + "node": ">= 0.6.0" + }, + "funding": { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/loglevel" + } + }, + "node_modules/loglevel-colored-level-prefix": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/loglevel-colored-level-prefix/-/loglevel-colored-level-prefix-1.0.0.tgz", + "integrity": "sha512-u45Wcxxc+SdAlh4yeF/uKlC1SPUPCy0gullSNKXod5I4bmifzk+Q4lSLExNEVn19tGaJipbZ4V4jbFn79/6mVA==", + "dev": true, + "dependencies": { + "chalk": "^1.1.3", + "loglevel": "^1.4.1" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/ansi-regex": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-2.1.1.tgz", + "integrity": "sha512-TIGnTpdo+E3+pCyAluZvtED5p5wCqLdezCyhPZzKPcxvFplEt4i+W7OONCKgeZFT3+y5NZZfOOS/Bdcanm1MYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/ansi-styles": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-2.2.1.tgz", + "integrity": "sha512-kmCevFghRiWM7HB5zTPULl4r9bVFSWjz62MhqizDGUrq2NWuNMQyuv4tHHoKJHs69M/MF64lEcHdYIocrdWQYA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/chalk": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-1.1.3.tgz", + "integrity": "sha512-U3lRVLMSlsCfjqYPbLyVv11M9CPW4I728d6TCKMAOJueEeB9/8o+eSsMnxPJD+Q+K909sdESg7C+tIkoH6on1A==", + "dev": true, + "dependencies": { + "ansi-styles": "^2.2.1", + "escape-string-regexp": "^1.0.2", + "has-ansi": "^2.0.0", + "strip-ansi": "^3.0.0", + "supports-color": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/strip-ansi": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-3.0.1.tgz", + "integrity": "sha512-VhumSSbBqDTP8p2ZLKj40UjBCV4+v8bUSEpUb4KjRgWk9pbqGF4REFj6KEagidb2f/M6AzC0EmFyDNGaw9OCzg==", + "dev": true, + "dependencies": { + "ansi-regex": "^2.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/loglevel-colored-level-prefix/node_modules/supports-color": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-2.0.0.tgz", + "integrity": "sha512-KKNVtd6pCYgPIKU4cp2733HWYCpplQhddZLBUryaAHou723x+FRzQ5Df824Fj+IyyuiQTRoub4SnIFfIcrp70g==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, "node_modules/lru-cache": { "version": "5.1.1", "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", @@ -9964,9 +12569,9 @@ "dev": true }, "node_modules/minimatch": { - "version": "3.0.4", - "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", - "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-tUpxzX0VAzJHjLu0xUfFv1gwVp9ba3IOuRAVH2EGuRW8a5emA2FlACLqiT/lDVtS1W+TGNwqz3sWaNyLgDJWuw==", "dev": true, "dependencies": { "brace-expansion": "^1.1.7" @@ -10271,6 +12876,18 @@ "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" } }, + "node_modules/natural-compare": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare/-/natural-compare-1.4.0.tgz", + "integrity": "sha512-OWND8ei3VtNC9h7V60qff3SVobHr996CTwgxubgyQYEpg290h9J0buyECNNJexkFm5sOajh5G116RYA1c8ZMSw==", + "dev": true + }, + "node_modules/natural-compare-lite": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/natural-compare-lite/-/natural-compare-lite-1.4.0.tgz", + "integrity": "sha512-Tj+HTDSJJKaZnfiuw+iaF9skdPpTo2GtEly5JHnWV/hfv2Qj/9RKsGISQtLh2ox3l5EAGw487hnBee0sIJ6v2g==", + "dev": true + }, "node_modules/needle": { "version": "3.2.0", "resolved": "https://registry.npmjs.org/needle/-/needle-3.2.0.tgz", @@ -10442,8 +13059,7 @@ "version": "3.2.1", "resolved": "https://registry.npmjs.org/node-addon-api/-/node-addon-api-3.2.1.tgz", "integrity": "sha512-mmcei9JghVNDYydghQmeDX8KoAm0FAiYyIcUt/N4nhyAipB17pllZQDOJD2fotxABnt4Mdz+dKTO7eftLg4d0A==", - "dev": true, - "optional": true + "dev": true }, "node_modules/node-forge": { "version": "1.3.1", @@ -10483,7 +13099,6 @@ "resolved": "https://registry.npmjs.org/node-gyp-build/-/node-gyp-build-4.6.0.tgz", "integrity": "sha512-NTZVKn9IylLwUzaKjkas1e4u2DLNcV4rdYagA4PWdPwW87Bi7z+BznyKSRwS/761tV/lzCGXplWsiaMjLqP2zQ==", "dev": true, - "optional": true, "bin": { "node-gyp-build": "bin.js", "node-gyp-build-optional": "optional.js", @@ -10805,137 +13420,454 @@ "semver": "bin/semver.js" }, "engines": { - "node": ">=10" + "node": ">=10" + } + }, + "node_modules/npm-pick-manifest/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/npm-registry-fetch": { + "version": "14.0.5", + "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", + "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", + "dev": true, + "dependencies": { + "make-fetch-happen": "^11.0.0", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-json-stream": "^1.0.1", + "minizlib": "^2.1.2", + "npm-package-arg": "^10.0.0", + "proc-log": "^3.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/https-proxy-agent": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", + "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "dev": true, + "dependencies": { + "agent-base": "6", + "debug": "4" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/npm-registry-fetch/node_modules/lru-cache": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", + "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "dev": true, + "engines": { + "node": ">=12" + } + }, + "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", + "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "dev": true, + "dependencies": { + "agentkeepalive": "^4.2.1", + "cacache": "^17.0.0", + "http-cache-semantics": "^4.1.1", + "http-proxy-agent": "^5.0.0", + "https-proxy-agent": "^5.0.0", + "is-lambda": "^1.0.1", + "lru-cache": "^7.7.1", + "minipass": "^5.0.0", + "minipass-fetch": "^3.0.0", + "minipass-flush": "^1.0.5", + "minipass-pipeline": "^1.2.4", + "negotiator": "^0.6.3", + "promise-retry": "^2.0.1", + "socks-proxy-agent": "^7.0.0", + "ssri": "^10.0.0" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + } + }, + "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", + "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "dev": true, + "dependencies": { + "minipass": "^5.0.0", + "minipass-sized": "^1.0.3", + "minizlib": "^2.1.2" + }, + "engines": { + "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + }, + "optionalDependencies": { + "encoding": "^0.1.13" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/npmlog": { + "version": "6.0.2", + "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", + "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "dev": true, + "dependencies": { + "are-we-there-yet": "^3.0.0", + "console-control-strings": "^1.1.0", + "gauge": "^4.0.3", + "set-blocking": "^2.0.0" + }, + "engines": { + "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/nx": { + "version": "16.0.2", + "resolved": "https://registry.npmjs.org/nx/-/nx-16.0.2.tgz", + "integrity": "sha512-8Z9Bo1D2VbYjyC/F2ONensKjm10snz1UfkzURZiFA+oXikBPldiH1u67TOTpoCYZfyYQg4l6h6EpOaAvHF6Abg==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@nrwl/tao": "16.0.2", + "@parcel/watcher": "2.0.4", + "@yarnpkg/lockfile": "^1.1.0", + "@yarnpkg/parsers": "^3.0.0-rc.18", + "@zkochan/js-yaml": "0.0.6", + "axios": "^1.0.0", + "chalk": "^4.1.0", + "cli-cursor": "3.1.0", + "cli-spinners": "2.6.1", + "cliui": "^7.0.2", + "dotenv": "~10.0.0", + "enquirer": "~2.3.6", + "fast-glob": "3.2.7", + "figures": "3.2.0", + "flat": "^5.0.2", + "fs-extra": "^11.1.0", + "glob": "7.1.4", + "ignore": "^5.0.4", + "js-yaml": "4.1.0", + "jsonc-parser": "3.2.0", + "lines-and-columns": "~2.0.3", + "minimatch": "3.0.5", + "npm-run-path": "^4.0.1", + "open": "^8.4.0", + "semver": "7.3.4", + "string-width": "^4.2.3", + "strong-log-transformer": "^2.1.0", + "tar-stream": "~2.2.0", + "tmp": "~0.2.1", + "tsconfig-paths": "^4.1.2", + "tslib": "^2.3.0", + "v8-compile-cache": "2.3.0", + "yargs": "^17.6.2", + "yargs-parser": "21.1.1" + }, + "bin": { + "nx": "bin/nx.js" + }, + "optionalDependencies": { + "@nx/nx-darwin-arm64": "16.0.2", + "@nx/nx-darwin-x64": "16.0.2", + "@nx/nx-linux-arm-gnueabihf": "16.0.2", + "@nx/nx-linux-arm64-gnu": "16.0.2", + "@nx/nx-linux-arm64-musl": "16.0.2", + "@nx/nx-linux-x64-gnu": "16.0.2", + "@nx/nx-linux-x64-musl": "16.0.2", + "@nx/nx-win32-arm64-msvc": "16.0.2", + "@nx/nx-win32-x64-msvc": "16.0.2" + }, + "peerDependencies": { + "@swc-node/register": "^1.4.2", + "@swc/core": "^1.2.173" + }, + "peerDependenciesMeta": { + "@swc-node/register": { + "optional": true + }, + "@swc/core": { + "optional": true + } + } + }, + "node_modules/nx/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/nx/node_modules/argparse": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/argparse/-/argparse-2.0.1.tgz", + "integrity": "sha512-8+9WqebbFzpX9OR+Wa6O29asIogeRMzcGtAINdpMHHyAg10f05aSFVBbcEqGf/PXw1EjAZ+q2/bEBg3DvurK3Q==", + "dev": true + }, + "node_modules/nx/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/nx/node_modules/cli-spinners": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", + "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "dev": true, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/nx/node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/nx/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/nx/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/nx/node_modules/fast-glob": { + "version": "3.2.7", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.7.tgz", + "integrity": "sha512-rYGMRwip6lUMvYD3BTScMwT1HtAs2d71SMv66Vrxs0IekGZEjhM0pcMfjQPnknBt2zeCwQMEupiN02ZP4DiT1Q==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nx/node_modules/fs-extra": { + "version": "11.1.1", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-11.1.1.tgz", + "integrity": "sha512-MGIE4HOvQCeUCzmlHs0vXpih4ysz4wg9qiSAu6cd42lVwPbTM1TjV7RusoyQqMmk/95gdQZX72u+YW+c3eEpFQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=14.14" + } + }, + "node_modules/nx/node_modules/glob": { + "version": "7.1.4", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.1.4.tgz", + "integrity": "sha512-hkLPepehmnKk41pUGm3sYxoFs/umurYfYJCerbXEyFIWcAzvpipAgVkBqqT9RBKMGjnq6kMuyYwha6csxbiM1A==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.0.4", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" } }, - "node_modules/npm-pick-manifest/node_modules/yallist": { + "node_modules/nx/node_modules/has-flag": { "version": "4.0.0", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", - "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", - "dev": true + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } }, - "node_modules/npm-registry-fetch": { - "version": "14.0.5", - "resolved": "https://registry.npmjs.org/npm-registry-fetch/-/npm-registry-fetch-14.0.5.tgz", - "integrity": "sha512-kIDMIo4aBm6xg7jOttupWZamsZRkAqMqwqqbVXnUqstY5+tapvv6bkH/qMR76jdgV+YljEUCyWx3hRYMrJiAgA==", + "node_modules/nx/node_modules/js-yaml": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/js-yaml/-/js-yaml-4.1.0.tgz", + "integrity": "sha512-wpxZs9NoxZaJESJGIZTyDEaYpl0FKSA+FB9aJiyemKhMwkxQg63h4T1KJgUGHpTqPDNRcmmYLugrRjJlBtWvRA==", "dev": true, "dependencies": { - "make-fetch-happen": "^11.0.0", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-json-stream": "^1.0.1", - "minizlib": "^2.1.2", - "npm-package-arg": "^10.0.0", - "proc-log": "^3.0.0" + "argparse": "^2.0.1" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "bin": { + "js-yaml": "bin/js-yaml.js" } }, - "node_modules/npm-registry-fetch/node_modules/https-proxy-agent": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.1.tgz", - "integrity": "sha512-dFcAjpTQFgoLMzC2VwU+C/CbS7uRL0lWmxDITmqm7C+7F0Odmj6s9l6alZc6AELXhrnggM2CeWSXHGOdX2YtwA==", + "node_modules/nx/node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", "dev": true, "dependencies": { - "agent-base": "6", - "debug": "4" + "universalify": "^2.0.0" }, - "engines": { - "node": ">= 6" + "optionalDependencies": { + "graceful-fs": "^4.1.6" } }, - "node_modules/npm-registry-fetch/node_modules/lru-cache": { - "version": "7.18.3", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-7.18.3.tgz", - "integrity": "sha512-jumlc0BIUrS3qJGgIkWZsyfAM7NCWiBcCDhnd+3NNM5KbBmLTgHVfWBcg6W+rLUsIpzpERPsvwUP7CckAQSOoA==", + "node_modules/nx/node_modules/lines-and-columns": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-2.0.3.tgz", + "integrity": "sha512-cNOjgCnLB+FnvWWtyRTzmB3POJ+cXxTA81LoW7u8JdmhfXzriropYwpjShnz1QLLWsQwY7nIxoDmcPTwphDK9w==", "dev": true, "engines": { - "node": ">=12" + "node": "^12.20.0 || ^14.13.1 || >=16.0.0" } }, - "node_modules/npm-registry-fetch/node_modules/make-fetch-happen": { - "version": "11.1.1", - "resolved": "https://registry.npmjs.org/make-fetch-happen/-/make-fetch-happen-11.1.1.tgz", - "integrity": "sha512-rLWS7GCSTcEujjVBs2YqG7Y4643u8ucvCJeSRqiLYhesrDuzeuFIk37xREzAsfQaqzl8b9rNCE4m6J8tvX4Q8w==", + "node_modules/nx/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", "dev": true, "dependencies": { - "agentkeepalive": "^4.2.1", - "cacache": "^17.0.0", - "http-cache-semantics": "^4.1.1", - "http-proxy-agent": "^5.0.0", - "https-proxy-agent": "^5.0.0", - "is-lambda": "^1.0.1", - "lru-cache": "^7.7.1", - "minipass": "^5.0.0", - "minipass-fetch": "^3.0.0", - "minipass-flush": "^1.0.5", - "minipass-pipeline": "^1.2.4", - "negotiator": "^0.6.3", - "promise-retry": "^2.0.1", - "socks-proxy-agent": "^7.0.0", - "ssri": "^10.0.0" + "yallist": "^4.0.0" }, "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "node": ">=10" } }, - "node_modules/npm-registry-fetch/node_modules/minipass-fetch": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/minipass-fetch/-/minipass-fetch-3.0.3.tgz", - "integrity": "sha512-n5ITsTkDqYkYJZjcRWzZt9qnZKCT7nKCosJhHoj7S7zD+BP4jVbWs+odsniw5TA3E0sLomhTKOKjF86wf11PuQ==", + "node_modules/nx/node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", "dev": true, "dependencies": { - "minipass": "^5.0.0", - "minipass-sized": "^1.0.3", - "minizlib": "^2.1.2" + "glob": "^7.1.3" }, - "engines": { - "node": "^14.17.0 || ^16.13.0 || >=18.0.0" + "bin": { + "rimraf": "bin.js" }, - "optionalDependencies": { - "encoding": "^0.1.13" + "funding": { + "url": "https://github.com/sponsors/isaacs" } }, - "node_modules/npm-run-path": { - "version": "4.0.1", - "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", - "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "node_modules/nx/node_modules/semver": { + "version": "7.3.4", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.4.tgz", + "integrity": "sha512-tCfb2WLjqFAtXn4KEdxIhalnRtoKFN7nAwj0B3ZXCbQloV2tq5eDbcTmT68JJD3nRJq24/XgxtQKFIpQdtvmVw==", "dev": true, "dependencies": { - "path-key": "^3.0.0" + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" }, "engines": { - "node": ">=8" + "node": ">=10" } }, - "node_modules/npmlog": { - "version": "6.0.2", - "resolved": "https://registry.npmjs.org/npmlog/-/npmlog-6.0.2.tgz", - "integrity": "sha512-/vBvz5Jfr9dT/aFWd0FIRf+T/Q2WBsLENygUaFUqstqsycmZAP/t5BvFJTK0viFmSUxiUKTUplWy5vt+rvKIxg==", + "node_modules/nx/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", "dev": true, "dependencies": { - "are-we-there-yet": "^3.0.0", - "console-control-strings": "^1.1.0", - "gauge": "^4.0.3", - "set-blocking": "^2.0.0" + "has-flag": "^4.0.0" }, "engines": { - "node": "^12.13.0 || ^14.15.0 || >=16.0.0" + "node": ">=8" } }, - "node_modules/nth-check": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", - "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "node_modules/nx/node_modules/tmp": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/tmp/-/tmp-0.2.1.tgz", + "integrity": "sha512-76SUhtfqR2Ijn+xllcI5P1oyannHNHByD80W1q447gU3mp9G9PSpGdWmjUOHRDPiHYacIk66W7ubDTuPF3BEtQ==", "dev": true, "dependencies": { - "boolbase": "^1.0.0" + "rimraf": "^3.0.0" }, - "funding": { - "url": "https://github.com/fb55/nth-check?sponsor=1" + "engines": { + "node": ">=8.17.0" } }, + "node_modules/nx/node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/nx/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/oauth-sign": { "version": "0.9.0", "resolved": "https://registry.npmjs.org/oauth-sign/-/oauth-sign-0.9.0.tgz", @@ -10963,6 +13895,49 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.4.tgz", + "integrity": "sha512-1mxKf0e58bvyjSCtKYY4sRe9itRk3PJpquJOjeIkz885CczcI4IvJJDLPS72oowuSh+pBxUFROpX+TU++hxhZQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "has-symbols": "^1.0.3", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/obuf": { "version": "1.1.2", "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", @@ -11031,6 +14006,23 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/optionator": { + "version": "0.9.1", + "resolved": "https://registry.npmjs.org/optionator/-/optionator-0.9.1.tgz", + "integrity": "sha512-74RlY5FCnhq4jRxVUPKDaRwrVNXMqsGsiW6AJw4XK8hmtm10wC0ypZBLw5IIp85NZMr91+qd1RvvENwg7jjRFw==", + "dev": true, + "dependencies": { + "deep-is": "^0.1.3", + "fast-levenshtein": "^2.0.6", + "levn": "^0.4.1", + "prelude-ls": "^1.2.1", + "type-check": "^0.4.0", + "word-wrap": "^1.2.3" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -11754,6 +14746,80 @@ "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", "dev": true }, + "node_modules/prelude-ls": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/prelude-ls/-/prelude-ls-1.2.1.tgz", + "integrity": "sha512-vkcDPrRZo1QZLbn5RLGPpg/WmIQ65qoWWhcGKf/b5eplkkarX0m9z8ppCat4mlOqUsWpyNuYgO3VRyrYHSzX5g==", + "dev": true, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/prettier": { + "version": "2.8.8", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.8.8.tgz", + "integrity": "sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==", + "dev": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/prettier-eslint": { + "version": "15.0.1", + "resolved": "https://registry.npmjs.org/prettier-eslint/-/prettier-eslint-15.0.1.tgz", + "integrity": "sha512-mGOWVHixSvpZWARqSDXbdtTL54mMBxc5oQYQ6RAqy8jecuNJBgN3t9E5a81G66F8x8fsKNiR1HWaBV66MJDOpg==", + "dev": true, + "dependencies": { + "@types/eslint": "^8.4.2", + "@types/prettier": "^2.6.0", + "@typescript-eslint/parser": "^5.10.0", + "common-tags": "^1.4.0", + "dlv": "^1.1.0", + "eslint": "^8.7.0", + "indent-string": "^4.0.0", + "lodash.merge": "^4.6.0", + "loglevel-colored-level-prefix": "^1.0.0", + "prettier": "^2.5.1", + "pretty-format": "^23.0.1", + "require-relative": "^0.8.7", + "typescript": "^4.5.4", + "vue-eslint-parser": "^8.0.1" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/prettier-eslint/node_modules/typescript": { + "version": "4.9.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.9.5.tgz", + "integrity": "sha512-1FXk9E2Hm+QzZQ7z+McJiHL4NW1F2EzMu9Nq9i3zAaGqibafqYwCVU6WyWAuyQRRzOlxou8xZSyXLEN8oKj24g==", + "dev": true, + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=4.2.0" + } + }, + "node_modules/prettier-linter-helpers": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/prettier-linter-helpers/-/prettier-linter-helpers-1.0.0.tgz", + "integrity": "sha512-GbK2cP9nraSSUF9N2XwUwqfzlAFlMNYYl+ShE/V+H8a9uNl/oUqB1w2EL54Jh0OlyRSd8RfWYJ3coVS4TROP2w==", + "dev": true, + "dependencies": { + "fast-diff": "^1.1.2" + }, + "engines": { + "node": ">=6.0.0" + } + }, "node_modules/pretty-bytes": { "version": "5.6.0", "resolved": "https://registry.npmjs.org/pretty-bytes/-/pretty-bytes-5.6.0.tgz", @@ -11766,6 +14832,25 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/pretty-format": { + "version": "23.6.0", + "resolved": "https://registry.npmjs.org/pretty-format/-/pretty-format-23.6.0.tgz", + "integrity": "sha512-zf9NV1NSlDLDjycnwm6hpFATCGl/K1lt0R/GdkAK2O5LN/rwJoB+Mh93gGJjut4YbmecbfgLWVGSTCr0Ewvvbw==", + "dev": true, + "dependencies": { + "ansi-regex": "^3.0.0", + "ansi-styles": "^3.2.0" + } + }, + "node_modules/pretty-format/node_modules/ansi-regex": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-3.0.1.tgz", + "integrity": "sha512-+O9Jct8wf++lXxxFc4hc8LsjaSq0HFzzL7cVsw8pRDIPdjKD2mT4ytDZlLuSBZ4cLKZFXIrMGO7DbQCtMJJMKw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/proc-log": { "version": "3.0.0", "resolved": "https://registry.npmjs.org/proc-log/-/proc-log-3.0.0.tgz", @@ -11800,6 +14885,19 @@ "node": ">=10" } }, + "node_modules/prompts": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/prompts/-/prompts-2.4.2.tgz", + "integrity": "sha512-NxNv/kLguCA7p3jE8oL2aEBsrJWgAakBpgmgK6lpPWV+WuOmY6r2/zbAVnP+T8bQlA0nzHXSJSJW0Hq7ylaD2Q==", + "dev": true, + "dependencies": { + "kleur": "^3.0.3", + "sisteransi": "^1.0.5" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/protractor": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/protractor/-/protractor-7.0.0.tgz", @@ -12182,6 +15280,12 @@ "node": ">= 0.10" } }, + "node_modules/proxy-from-env": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/proxy-from-env/-/proxy-from-env-1.1.0.tgz", + "integrity": "sha512-D+zkORCbA9f1tdWRK0RaCR3GPv50cMxcrz4X8k5LTSUD1Dkw47mKJEZQNunItRTkWwgtaUSo1RVFRIG9ZXiFYg==", + "dev": true + }, "node_modules/prr": { "version": "1.0.1", "resolved": "https://registry.npmjs.org/prr/-/prr-1.0.1.tgz", @@ -12448,6 +15552,23 @@ "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", "dev": true }, + "node_modules/regexp.prototype.flags": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.5.0.tgz", + "integrity": "sha512-0SutC3pNudRKgquxGoRGIz946MZVHqbNfPjBdxeOhBrdgDKlRoXmYLQN9xRbrR09ZXWeGAdPuif7egofn6v5LA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.2.0", + "functions-have-names": "^1.2.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/regexpu-core": { "version": "5.3.2", "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.3.2.tgz", @@ -12542,6 +15663,21 @@ "integrity": "sha512-NKN5kMDylKuldxYLSUfrbo5Tuzh4hd+2E8NPPX02mZtn1VuREQToYe/ZdlJy+J3uCpfaiGF05e7B8W0iXbQHmg==", "dev": true }, + "node_modules/require-relative": { + "version": "0.8.7", + "resolved": "https://registry.npmjs.org/require-relative/-/require-relative-0.8.7.tgz", + "integrity": "sha512-AKGr4qvHiryxRb19m3PsLRGuKVAbJLUD7E6eOaHkfKhwc+vSgVOCY5xNvm9EkolBKTOf0GrQAZKLimOCz81Khg==", + "dev": true + }, + "node_modules/requireindex": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/requireindex/-/requireindex-1.2.0.tgz", + "integrity": "sha512-L9jEkOi3ASd9PYit2cwRfyppc9NoABujTP8/5gFcbERmo5jUoAKovIC3fsF17pkTnGsrByysqX+Kxd2OTNI1ww==", + "dev": true, + "engines": { + "node": ">=0.10.5" + } + }, "node_modules/requires-port": { "version": "1.0.0", "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", @@ -12719,6 +15855,94 @@ "tslib": "^2.1.0" } }, + "node_modules/rxjs-report-usage": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/rxjs-report-usage/-/rxjs-report-usage-1.0.6.tgz", + "integrity": "sha512-omv1DIv5z1kV+zDAEjaDjWSkx8w5TbFp5NZoPwUipwzYVcor/4So9ZU3bUyQ1c8lxY5Q0Es/ztWW7PGjY7to0Q==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.10.3", + "@babel/traverse": "^7.10.3", + "@babel/types": "^7.10.3", + "bent": "~7.3.6", + "chalk": "~4.1.0", + "glob": "~7.2.0", + "prompts": "~2.4.2" + }, + "bin": { + "rxjs-report-usage": "bin/rxjs-report-usage" + } + }, + "node_modules/rxjs-report-usage/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/rxjs-report-usage/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/rxjs-report-usage/node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/rxjs-report-usage/node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/rxjs-report-usage/node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/rxjs-report-usage/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/safe-buffer": { "version": "5.1.2", "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", @@ -12803,6 +16027,11 @@ "node": "*" } }, + "node_modules/save-dev": { + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/save-dev/-/save-dev-0.0.1-security.tgz", + "integrity": "sha512-k6knZTDNK8PKKbIqnvxiOveJinuw2LcQjqDoaorZWP9M5AR2EPsnpDeSbeoZZ0pHr5ze1uoaKdK8NBGQrJ34Uw==" + }, "node_modules/sax": { "version": "1.2.4", "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", @@ -13255,6 +16484,12 @@ "encoding": "^0.1.13" } }, + "node_modules/sisteransi": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/sisteransi/-/sisteransi-1.0.5.tgz", + "integrity": "sha512-bLGGlR1QxBcynn2d5YmDX4MGjlZvy2MRBDRNHLJ8VI6l6+9FUiyTFNJ0IveOSP0bcXgVDPRcfGqA0pjaqUpfVg==", + "dev": true + }, "node_modules/slash": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/slash/-/slash-4.0.0.tgz", @@ -13562,6 +16797,18 @@ "node": ">= 0.6" } }, + "node_modules/stop-iteration-iterator": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/stop-iteration-iterator/-/stop-iteration-iterator-1.0.0.tgz", + "integrity": "sha512-iCGQj+0l0HOdZ2AEeBADlsRC+vsnDsZsbdSiH1yNSjcfKM7fdpCMfqAL/dwF5BLiw/XhRft/Wax6zQbhq2BcjQ==", + "dev": true, + "dependencies": { + "internal-slot": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, "node_modules/streamroller": { "version": "3.1.5", "resolved": "https://registry.npmjs.org/streamroller/-/streamroller-3.1.5.tgz", @@ -13639,6 +16886,15 @@ "node": ">=8" } }, + "node_modules/strip-bom": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/strip-bom/-/strip-bom-3.0.0.tgz", + "integrity": "sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, "node_modules/strip-final-newline": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", @@ -13648,6 +16904,35 @@ "node": ">=6" } }, + "node_modules/strip-json-comments": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/strip-json-comments/-/strip-json-comments-3.1.1.tgz", + "integrity": "sha512-6fPc+R4ihwqP6N/aIv2f1gMH8lOVtWQHoqC4yK6oSDVVocumAsfCqjkXnqiYMhmMwS/mEHLp7Vehlt3ql6lEig==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/strong-log-transformer": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/strong-log-transformer/-/strong-log-transformer-2.1.0.tgz", + "integrity": "sha512-B3Hgul+z0L9a236FAUC9iZsL+nVHgoCJnqCbN588DjYxvGXaXaaFbfmQ/JhvKjZwsOukuR72XbHv71Qkug0HxA==", + "dev": true, + "dependencies": { + "duplexer": "^0.1.1", + "minimist": "^1.2.0", + "through": "^2.3.4" + }, + "bin": { + "sl-log-transformer": "bin/sl-log-transformer.js" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -13707,6 +16992,36 @@ "node": ">=10" } }, + "node_modules/tar-stream": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/tar-stream/-/tar-stream-2.2.0.tgz", + "integrity": "sha512-ujeqbceABgwMZxEJnk2HDY2DlnUZ+9oEcb1KzTVfYHio0UE6dG71n60d8D2I4qNvleWrrXpmjpt7vZeF1LnMZQ==", + "dev": true, + "dependencies": { + "bl": "^4.0.3", + "end-of-stream": "^1.4.1", + "fs-constants": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.1.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/tar-stream/node_modules/readable-stream": { + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/tar/node_modules/fs-minipass": { "version": "2.1.0", "resolved": "https://registry.npmjs.org/fs-minipass/-/fs-minipass-2.1.0.tgz", @@ -13964,6 +17279,20 @@ } } }, + "node_modules/tsconfig-paths": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/tsconfig-paths/-/tsconfig-paths-4.2.0.tgz", + "integrity": "sha512-NoZ4roiN7LnbKn9QqE1amc9DJfzvZXxF4xDavcOWt1BPkdx+m+0gJuPM+S0vCe7zTJMYUP0R8pO2XMr+Y8oLIg==", + "dev": true, + "dependencies": { + "json5": "^2.2.2", + "minimist": "^1.2.6", + "strip-bom": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, "node_modules/tslib": { "version": "2.5.0", "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", @@ -13975,6 +17304,7 @@ "integrity": "sha512-IbR4nkT96EQOvKE2PW/djGz8iGNeJ4rF2mBfiYaR/nvUWYKJhLwimoJKgjIFEIDibBtOevj7BqCRL4oHeWWUCg==", "deprecated": "TSLint has been deprecated in favor of ESLint. Please see https://github.com/palantir/tslint/issues/4534 for more information.", "dev": true, + "peer": true, "dependencies": { "@babel/code-frame": "^7.0.0", "builtin-modules": "^1.1.1", @@ -14005,6 +17335,7 @@ "resolved": "https://registry.npmjs.org/builtin-modules/-/builtin-modules-1.1.1.tgz", "integrity": "sha1-Jw8HbFpywC9bZaR9+Uxf46J4iS8=", "dev": true, + "peer": true, "engines": { "node": ">=0.10.0" } @@ -14013,13 +17344,15 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "dev": true, + "peer": true }, "node_modules/tsutils": { "version": "2.29.0", "resolved": "https://registry.npmjs.org/tsutils/-/tsutils-2.29.0.tgz", "integrity": "sha512-g5JVHCIJwzfISaXpXE1qvNalca5Jwob6FjI4AoPlqMusJ6ftFE7IkkFoMhVLRgK+4Kx3gkzb8UZK5t5yTTvEmA==", "dev": true, + "peer": true, "dependencies": { "tslib": "^1.8.1" }, @@ -14031,7 +17364,8 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "dev": true, + "peer": true }, "node_modules/tuf-js": { "version": "1.1.6", @@ -14130,6 +17464,18 @@ "integrity": "sha1-WuaBd/GS1EViadEIr6k/+HQ/T2Q=", "dev": true }, + "node_modules/type-check": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/type-check/-/type-check-0.4.0.tgz", + "integrity": "sha512-XleUoc9uwGXqjWwXaUTZAmzMcFZ5858QA2vvx1Ur5xIcixXIP+8LnFDgRplU30us6teqdlskFfu+ae4K79Ooew==", + "dev": true, + "dependencies": { + "prelude-ls": "^1.2.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, "node_modules/type-fest": { "version": "0.21.3", "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", @@ -14339,6 +17685,12 @@ "uuid": "bin/uuid" } }, + "node_modules/v8-compile-cache": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/v8-compile-cache/-/v8-compile-cache-2.3.0.tgz", + "integrity": "sha512-l8lCEmLcLYZh4nbunNZvQCJc5pv7+RCwa8q/LdUx8u7lsWvPDKmpodJAJNwkAhJC//dFY48KuIEmjtd4RViDrA==", + "dev": true + }, "node_modules/v8-compile-cache-lib": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/v8-compile-cache-lib/-/v8-compile-cache-lib-3.0.1.tgz", @@ -14447,6 +17799,88 @@ "node": ">=0.10.0" } }, + "node_modules/vue-eslint-parser": { + "version": "8.3.0", + "resolved": "https://registry.npmjs.org/vue-eslint-parser/-/vue-eslint-parser-8.3.0.tgz", + "integrity": "sha512-dzHGG3+sYwSf6zFBa0Gi9ZDshD7+ad14DGOdTLjruRVgZXe2J+DcZ9iUhyR48z5g1PqRa20yt3Njna/veLJL/g==", + "dev": true, + "dependencies": { + "debug": "^4.3.2", + "eslint-scope": "^7.0.0", + "eslint-visitor-keys": "^3.1.0", + "espree": "^9.0.0", + "esquery": "^1.4.0", + "lodash": "^4.17.21", + "semver": "^7.3.5" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/mysticatea" + }, + "peerDependencies": { + "eslint": ">=6.0.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/eslint-scope": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-7.2.0.tgz", + "integrity": "sha512-DYj5deGlHBfMt15J7rdtyKNq/Nqlv5KfU4iodrQ019XESsRnwXH9KAE0y3cwtUHDo2ob7CypAnCqefh6vioWRw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^5.2.0" + }, + "engines": { + "node": "^12.22.0 || ^14.17.0 || >=16.0.0" + }, + "funding": { + "url": "https://opencollective.com/eslint" + } + }, + "node_modules/vue-eslint-parser/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/vue-eslint-parser/node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/semver": { + "version": "7.5.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.1.tgz", + "integrity": "sha512-Wvss5ivl8TMRZXXESstBA4uR5iXgEN/VC5/sOcuXdVLzcdkz4HWetIoRfG5gb5X+ij/G9rw9YoGn3QoQ8OCSpw==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/vue-eslint-parser/node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, "node_modules/watchpack": { "version": "2.4.0", "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.4.0.tgz", @@ -14780,12 +18214,63 @@ "which": "bin/which" } }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/which-module": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/which-module/-/which-module-2.0.0.tgz", "integrity": "sha1-2e8H3Od7mQK4o6j6SzHD4/fm6Ho=", "dev": true }, + "node_modules/which-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.9.tgz", + "integrity": "sha512-w9c4xkx6mPidwp7180ckYWfMmvxpjlZuIudNtDf4N/tTAUB8VJbX25qZoAsrtGuYNnGw3pa0AXgbGKRB8/EceA==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "for-each": "^0.3.3", + "gopd": "^1.0.1", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.10" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, "node_modules/wide-align": { "version": "1.1.5", "resolved": "https://registry.npmjs.org/wide-align/-/wide-align-1.1.5.tgz", @@ -14801,6 +18286,15 @@ "integrity": "sha512-CC1bOL87PIWSBhDcTrdeLo6eGT7mCFtrg0uIJtqJUFyK+eJnzl8A1niH56uu7KMa5XFrtiV+AQuHO3n7DsHnLQ==", "dev": true }, + "node_modules/word-wrap": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/word-wrap/-/word-wrap-1.2.3.tgz", + "integrity": "sha512-Hz/mrNwitNRh/HUAtM/VT/5VH+ygD6DV7mYKZAtHOrbs8U7lvPS6xf7EJKMF0uW1KJCl0H701g3ZGus+muE5vQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, "node_modules/wrap-ansi": { "version": "7.0.0", "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", @@ -15017,6 +18511,18 @@ "node": ">=6" } }, + "node_modules/yocto-queue": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/yocto-queue/-/yocto-queue-0.1.0.tgz", + "integrity": "sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/zone.js": { "version": "0.13.0", "resolved": "https://registry.npmjs.org/zone.js/-/zone.js-0.13.0.tgz", diff --git a/package.json b/package.json index 6687846..6f89ddd 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ng-material-multilevel-menu-angular-project", - "version": "6.0.5", + "version": "6.0.6", "scripts": { "ng": "ng", "start": "ng serve", @@ -25,18 +25,27 @@ "@angular/router": "^16.0.1", "core-js": "^3.30.2", "rxjs": "^7.8.1", + "save-dev": "^0.0.1-security", "tslib": "^2.5.0", "zone.js": "~0.13.0" }, "devDependencies": { "@angular-devkit/build-angular": "~16.0.1", + "@angular-eslint/builder": "16.0.1", + "@angular-eslint/eslint-plugin": "16.0.1", + "@angular-eslint/eslint-plugin-template": "16.0.1", + "@angular-eslint/schematics": "16.0.1", + "@angular-eslint/template-parser": "16.0.1", "@angular/cli": "^16.0.1", "@angular/compiler-cli": "^16.0.1", "@angular/language-service": "^16.0.1", "@types/jasmine": "~4.3.1", "@types/jasminewd2": "~2.0.10", "@types/node": "^20.1.1", + "@typescript-eslint/eslint-plugin": "5.59.2", + "@typescript-eslint/parser": "5.59.2", "codelyzer": "^6.0.2", + "eslint": "^8.39.0", "jasmine-core": "~4.6.0", "jasmine-spec-reporter": "~7.0.0", "karma": "~6.4.2", @@ -45,9 +54,40 @@ "karma-jasmine": "~5.1.0", "karma-jasmine-html-reporter": "^2.0.0", "ng-packagr": "^16.0.1", + "prettier": "^2.8.8", "protractor": "~7.0.0", "ts-node": "^10.9.1", - "tslint": "~6.1.0", + "eslint-config-prettier": "^8.8.0", + "eslint-plugin-prettier": "^4.2.1", + "eslint-plugin-rxjs": "^5.0.3", + "prettier-eslint": "^15.0.1", "typescript": "^5.0.4" + }, + "prettier": { + "bracketSpacing": true, + "semi": true, + "singleQuote": true, + "trailingComma": "es5", + "printWidth": 130, + "bracketSameLine": true, + "tabWidth": 4, + "useTabs": false, + "endOfLine": "auto", + "htmlWhitespaceSensitivity": "strict", + "overrides": [ + { + "files": "*.component.html", + "options": { + "parser": "angular" + } + }, + { + "files": "*.html", + "options": { + "parser": "html", + "singleQuote": false + } + } + ] } } diff --git a/projects/ng-material-multilevel-menu/.eslintrc.json b/projects/ng-material-multilevel-menu/.eslintrc.json new file mode 100644 index 0000000..62083c0 --- /dev/null +++ b/projects/ng-material-multilevel-menu/.eslintrc.json @@ -0,0 +1,37 @@ +{ + "extends": "../../.eslintrc.json", + "ignorePatterns": [ + "!**/*" + ], + "overrides": [ + { + "files": [ + "*.ts" + ], + "rules": { + "@angular-eslint/directive-selector": [ + "error", + { + "type": "attribute", + "prefix": "ng", + "style": "camelCase" + } + ], + "@angular-eslint/component-selector": [ + "error", + { + "type": "element", + "prefix": "ng", + "style": "kebab-case" + } + ] + } + }, + { + "files": [ + "*.html" + ], + "rules": {} + } + ] +} diff --git a/projects/ng-material-multilevel-menu/package.json b/projects/ng-material-multilevel-menu/package.json index 944fb3a..f7c819e 100644 --- a/projects/ng-material-multilevel-menu/package.json +++ b/projects/ng-material-multilevel-menu/package.json @@ -1,6 +1,6 @@ { "name": "@eddie666/ng-material-multilevel-menu", - "version": "6.0.5", + "version": "6.0.6", "repository": { "type": "git", "url": "git+https://github.com/eddiefrank/ng-material-multilevel-menu.git" diff --git a/projects/ng-material-multilevel-menu/src/lib/animation.ts b/projects/ng-material-multilevel-menu/src/lib/animation.ts index 4dea664..04f022d 100644 --- a/projects/ng-material-multilevel-menu/src/lib/animation.ts +++ b/projects/ng-material-multilevel-menu/src/lib/animation.ts @@ -1,38 +1,29 @@ import { animate, group, state, style, transition, trigger } from '@angular/animations'; export const SlideInOut = trigger('SlideInOut', [ - state( - 'in', - style({ height: '*', opacity: 0 })), - transition(':leave', [ - style({ height: '*', opacity: 0.2 }), - group([ - animate(200, style({ height: 0 })), - animate('200ms ease-out', style({ opacity: 0 })) - ]) - ]), - transition(':enter', [ - style({ height: '0', opacity: 0 }), - group([ - animate(200, style({ height: '*' })), - animate('400ms ease-out', style({ opacity: 1 })) - ]) - ]) - ] -); + state('in', style({ height: '*', opacity: 0 })), + transition(':leave', [ + style({ height: '*', opacity: 0.2 }), + group([animate(200, style({ height: 0 })), animate('200ms ease-out', style({ opacity: 0 }))]), + ]), + transition(':enter', [ + style({ height: '0', opacity: 0 }), + group([animate(200, style({ height: '*' })), animate('400ms ease-out', style({ opacity: 1 }))]), + ]), +]); export const ExpandedLTR = trigger('ExpandedLTR', [ state('no', style({ transform: 'rotate(-90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), + state('yes', style({ transform: 'rotate(0deg)' })), transition('no => yes', animate(200)), - transition('yes => no', animate(200)) + transition('yes => no', animate(200)), ]); export const ExpandedRTL = trigger('ExpandedRTL', [ state('no', style({ transform: 'rotate(90deg)' })), - state('yes', style({ transform: 'rotate(0deg)', })), + state('yes', style({ transform: 'rotate(0deg)' })), transition('no => yes', animate(200)), - transition('yes => no', animate(200)) + transition('yes => no', animate(200)), ]); diff --git a/projects/ng-material-multilevel-menu/src/lib/app.model.ts b/projects/ng-material-multilevel-menu/src/lib/app.model.ts index e769202..cb50fdd 100644 --- a/projects/ng-material-multilevel-menu/src/lib/app.model.ts +++ b/projects/ng-material-multilevel-menu/src/lib/app.model.ts @@ -1,60 +1,53 @@ -import { NavigationExtras } from "@angular/router"; +import { NavigationExtras } from '@angular/router'; export interface MultilevelNode { - id?: string; - label: string; - faIcon?: string; - icon?: string; - imageIcon?: string; - svgIcon?: string; - activeFaIcon?: string; - activeIcon?: string; - activeImageIcon?: string; - activeSvgIcon?: string; - hidden?: boolean; - link?: string; - externalRedirect?: boolean; - hrefTargetType?: string; - data?: any; - items?: MultilevelNode[]; - onSelected?: Function; - disabled?: boolean; - expanded?: boolean; - navigationExtras?: NavigationExtras; - dontEmit?: boolean; - hasChildren?: boolean; - isSelected?: boolean; + id?: string; + label: string; + faIcon?: string; + icon?: string; + imageIcon?: string; + svgIcon?: string; + activeFaIcon?: string; + activeIcon?: string; + activeImageIcon?: string; + activeSvgIcon?: string; + hidden?: boolean; + link?: string; + externalRedirect?: boolean; + hrefTargetType?: string; + data?: any; + items?: MultilevelNode[]; + onSelected?: Function; + disabled?: boolean; + expanded?: boolean; + navigationExtras?: NavigationExtras; + dontEmit?: boolean; + hasChildren?: boolean; + isSelected?: boolean; } export interface Configuration { - classname?: string; - paddingAtStart?: boolean; - backgroundColor?: string; - listBackgroundColor?: string; - fontColor?: string; - selectedListFontColor?: string; - interfaceWithRoute?: boolean; - collapseOnSelect?: boolean; - highlightOnSelect?: boolean; - useDividers?: boolean; - rtlLayout?: boolean; - customTemplate?: boolean; -} - -export interface BackgroundStyle { - backgroundColor: string; -} -export interface ColorStyle { - color: string; + classname?: string; + paddingAtStart?: boolean; + backgroundColor?: string; + listBackgroundColor?: string; + fontColor?: string; + selectedListFontColor?: string; + interfaceWithRoute?: boolean; + collapseOnSelect?: boolean; + highlightOnSelect?: boolean; + useDividers?: boolean; + rtlLayout?: boolean; + customTemplate?: boolean; } export interface ListStyle { - backgroundColor: string; - color: string; + backgroundColor?: string; + color?: string; } export enum ExpandCollapseStatusEnum { - expand = "expand", - collapse = "collapse", - neutral = "neutral", + expand = 'expand', + collapse = 'collapse', + neutral = 'neutral', } diff --git a/projects/ng-material-multilevel-menu/src/lib/common-utils.ts b/projects/ng-material-multilevel-menu/src/lib/common-utils.ts index 9461112..b928cf6 100644 --- a/projects/ng-material-multilevel-menu/src/lib/common-utils.ts +++ b/projects/ng-material-multilevel-menu/src/lib/common-utils.ts @@ -1,10 +1,9 @@ export class CommonUtils { + static isNullOrUndefinedOrEmpty = function (object: any): boolean { + return CommonUtils.isNullOrUndefined(object) || object === ''; + }; - static isNullOrUndefinedOrEmpty = function (object: any): boolean { - return CommonUtils.isNullOrUndefined(object) || object === ''; - }; - - static isNullOrUndefined = function (object: any): boolean { - return object === null || object === undefined; - }; + static isNullOrUndefined = function (object: any): boolean { + return object === null || object === undefined; + }; } diff --git a/projects/ng-material-multilevel-menu/src/lib/constants.ts b/projects/ng-material-multilevel-menu/src/lib/constants.ts index 99bf008..1c959d5 100644 --- a/projects/ng-material-multilevel-menu/src/lib/constants.ts +++ b/projects/ng-material-multilevel-menu/src/lib/constants.ts @@ -14,5 +14,5 @@ export const CONSTANT = { ERROR_MESSAGE: `Invalid data for material Multilevel List Component`, POSSIBLE: 'ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789', YES: 'yes', - NO: 'no' + NO: 'no', }; diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.css b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.css index 2aed46f..7573a74 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.css +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.css @@ -56,4 +56,4 @@ div[dir="ltr"] .amml-icon { } div[dir="rtl"] .amml-icon { margin-left: 16px; -} \ No newline at end of file +} diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html index 949bb5a..f8bed2d 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.html @@ -1,57 +1,75 @@ - - - - + + + - - - - - - - + + + + + + - -
- - {{node.label}} -
-
- - keyboard_arrow_down - -
+
+ + {{node.label}} +
+
+ keyboard_arrow_down +
- -
- - {{node.label}} -
-
- - keyboard_arrow_down - -
+
+ + {{node.label}} +
+
+ keyboard_arrow_down +
- -
- - - - - {{getSelectedIcon()}} - - - - {{node.label}} -
+
+ + + + + {{getSelectedIcon()}} + + + + {{node.label}} +
- diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.spec.ts b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.spec.ts index db3c344..621bade 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.spec.ts +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { ListItemContentComponent } from './list-item-content.component'; describe('ListItemContentComponent', () => { - let component: ListItemContentComponent; - let fixture: ComponentFixture; + let component: ListItemContentComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ ListItemContentComponent ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ListItemContentComponent], + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(ListItemContentComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(ListItemContentComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts index 8c6779b..8d0402f 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item-content/list-item-content.component.ts @@ -1,72 +1,56 @@ -import { Component, Input, OnInit } from "@angular/core"; -import { MultilevelNode } from "../../app.model"; -import { ExpandedLTR, ExpandedRTL } from "../../animation"; -import { CommonUtils } from "../../common-utils"; -import { CONSTANT } from "../../constants"; +import { Component, Input } from '@angular/core'; +import { MultilevelNode } from '../../app.model'; +import { ExpandedLTR, ExpandedRTL } from '../../animation'; +import { CommonUtils } from '../../common-utils'; +import { CONSTANT } from '../../constants'; @Component({ - selector: "ng-list-item-content", - templateUrl: "./list-item-content.component.html", - styleUrls: ["./list-item-content.component.css"], - animations: [ExpandedLTR, ExpandedRTL], + selector: 'ng-list-item-content', + templateUrl: './list-item-content.component.html', + styleUrls: ['./list-item-content.component.css'], + animations: [ExpandedLTR, ExpandedRTL], }) -export class ListItemContentComponent implements OnInit { - @Input() node: MultilevelNode; - @Input() isRtlLayout: boolean; - - constructor() { - // NOOP - } - - ngOnInit(): void { - // NOOP - } - - getListIcon(node: MultilevelNode): string { - if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) { - return `icon`; - } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { - return `faIcon`; - } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { - return `imageIcon`; - } else if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { - return `svgIcon`; - } else { - return ``; +export class ListItemContentComponent { + @Input() node: MultilevelNode; + @Input() isRtlLayout: boolean; + + getListIcon(node: MultilevelNode): string { + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.icon)) { + return `icon`; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.faIcon)) { + return `faIcon`; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.imageIcon)) { + return `imageIcon`; + } + if (!CommonUtils.isNullOrUndefinedOrEmpty(node.svgIcon)) { + return `svgIcon`; + } + return ``; } - } - getHrefTargetType(): string { - return this.node.hrefTargetType - ? this.node.hrefTargetType - : CONSTANT.DEFAULT_HREF_TARGET_TYPE; - } + getHrefTargetType(): string { + return this.node.hrefTargetType ? this.node.hrefTargetType : CONSTANT.DEFAULT_HREF_TARGET_TYPE; + } - getSelectedSvgIcon(): string { - return this.node.isSelected && this.node.activeSvgIcon - ? this.node.activeSvgIcon - : this.node.svgIcon; - } + getSelectedSvgIcon(): string { + return this.node.isSelected && this.node.activeSvgIcon ? this.node.activeSvgIcon : this.node.svgIcon; + } - getSelectedIcon(): string { - return this.node.isSelected && this.node.activeIcon - ? this.node.activeIcon - : this.node.icon; - } + getSelectedIcon(): string { + return this.node.isSelected && this.node.activeIcon ? this.node.activeIcon : this.node.icon; + } - getSelectedFaIcon(): string { - return this.node.isSelected && this.node.activeFaIcon - ? this.node.activeFaIcon - : this.node.faIcon; - } + getSelectedFaIcon(): string { + return this.node.isSelected && this.node.activeFaIcon ? this.node.activeFaIcon : this.node.faIcon; + } - getSelectedImageIcon(): string { - return this.node.isSelected && this.node.activeImageIcon - ? this.node.activeImageIcon - : this.node.imageIcon; - } + getSelectedImageIcon(): string { + return this.node.isSelected && this.node.activeImageIcon ? this.node.activeImageIcon : this.node.imageIcon; + } - nodeExpandStatus(): string { - return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; - } + nodeExpandStatus(): string { + return this.node.expanded ? CONSTANT.YES : CONSTANT.NO; + } } diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.spec.ts b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.spec.ts index 6d95c38..0bfca7f 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.spec.ts +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ListItemComponent } from './list-item.component'; describe('ListItemComponent', () => { - let component: ListItemComponent; - let fixture: ComponentFixture; + let component: ListItemComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ ListItemComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ListItemComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(ListItemComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(ListItemComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts index 679f1b1..66f6d2f 100644 --- a/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts +++ b/projects/ng-material-multilevel-menu/src/lib/list-item/list-item.component.ts @@ -1,225 +1,194 @@ -import { - Component, - Input, - OnChanges, - OnInit, - Output, - EventEmitter, - TemplateRef, - ElementRef, -} from "@angular/core"; -import { Router } from "@angular/router"; - -import { - Configuration, - ListStyle, - MultilevelNode, - ExpandCollapseStatusEnum, - ColorStyle, - BackgroundStyle, -} from "../app.model"; -import { CONSTANT } from "../constants"; -import { MultilevelMenuService } from "../multilevel-menu.service"; -import { SlideInOut } from "../animation"; -import { CommonUtils } from "../common-utils"; +import { Component, Input, OnChanges, OnInit, Output, EventEmitter, TemplateRef, ElementRef } from '@angular/core'; +import { Router } from '@angular/router'; + +import { Configuration, ListStyle, MultilevelNode, ExpandCollapseStatusEnum } from '../app.model'; +import { CONSTANT } from '../constants'; +import { MultilevelMenuService } from '../multilevel-menu.service'; +import { SlideInOut } from '../animation'; +import { CommonUtils } from '../common-utils'; @Component({ - selector: "ng-list-item", - templateUrl: "./list-item.component.html", - styleUrls: ["./list-item.component.css"], - animations: [SlideInOut], + selector: 'ng-list-item', + templateUrl: './list-item.component.html', + styleUrls: ['./list-item.component.css'], + animations: [SlideInOut], }) export class ListItemComponent implements OnChanges, OnInit { - @Input() node: MultilevelNode; - @Input() level = 1; - @Input() submenuLevel = 0; - @Input() selectedNode: MultilevelNode; - @Input() nodeConfiguration: Configuration = null; - @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null; - @Input() listTemplate: TemplateRef = null; - - @Output() selectedItem = new EventEmitter(); - - isSelected = false; - expanded = false; - firstInitializer = false; - - nodeChildren: MultilevelNode[]; - classes: { [index: string]: boolean }; - selectedListClasses: { [index: string]: boolean }; - - constructor( - private router: Router, - public multilevelMenuService: MultilevelMenuService - ) { - this.selectedListClasses = { - [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, - [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, - [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, - }; - } - - ngOnChanges() { - this.nodeChildren = - this.node && this.node.items - ? this.node.items.filter((n) => !n.hidden) - : []; - this.node.hasChildren = this.hasItems(); - - if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { - this.setSelectedClass( - this.multilevelMenuService.recursiveCheckId( - this.node, - this.selectedNode.id - ) - ); - } - this.setExpandCollapseStatus(); - } - - ngOnInit() { - this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = - this.node.disabled; - - if ( - !CommonUtils.isNullOrUndefined(this.node.faIcon) && - this.node.faIcon.match(/\bfa\w(?!-)/) === null - ) { - this.node.faIcon = `fas ${this.node.faIcon}`; - } - - this.selectedListClasses[ - `level-${this.level}-submenulevel-${this.submenuLevel}` - ] = true; - if (typeof this.node.expanded === "boolean") { - this.expanded = this.node.expanded; - } - this.setClasses(); - } - - setSelectedClass(isFound: boolean): void { - if (isFound) { - if (!this.firstInitializer) { - this.expanded = true; - } - this.isSelected = - this.nodeConfiguration.highlightOnSelect || - this.selectedNode.items === undefined; - } else { - this.isSelected = false; - if (this.nodeConfiguration.collapseOnSelect) { - this.node.expanded = false; - this.expanded = false; - } - } - this.selectedListClasses = { - [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, - [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected, - [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id, - [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled, - [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true, - }; - this.node.isSelected = this.isSelected; - this.setClasses(); - } - - getPaddingAtStart(): boolean { - return this.nodeConfiguration.paddingAtStart; - } - - getListStyle(): ListStyle { - return { - color: this.getColor(), - backgroundColor: this.getBackgroundColor(), - }; - } - - getColorStyle(): ColorStyle { - return { color: this.getColor() }; - } - - getBackgroundStyle(): BackgroundStyle { - return { backgroundColor: this.getBackgroundColor() }; - } - - getColor(): string { - return this.isSelected - ? this.nodeConfiguration.selectedListFontColor !== null - ? this.nodeConfiguration.selectedListFontColor - : CONSTANT.DEFAULT_SELECTED_FONT_COLOR - : this.nodeConfiguration.fontColor !== null - ? this.nodeConfiguration.fontColor - : CONSTANT.DEFAULT_LIST_FONT_COLOR; - } - - getBackgroundColor(): string { - return this.nodeConfiguration.listBackgroundColor !== null - ? this.nodeConfiguration.listBackgroundColor - : CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR; - } - - hasItems(): boolean { - return this.nodeChildren.length > 0; - } - - isRtlLayout(): boolean { - return this.nodeConfiguration.rtlLayout; - } - - setClasses(): void { - this.classes = { - [`level-${this.level + 1}`]: true, - [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: - this.hasItems() && this.getPaddingAtStart(), - [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems(), - }; - } - - setExpandCollapseStatus(): void { - if (!CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { - this.expanded = true; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = true; + @Input() node: MultilevelNode; + @Input() level = 1; + @Input() submenuLevel = 0; + @Input() selectedNode: MultilevelNode; + @Input() nodeConfiguration: Configuration = null; + @Input() nodeExpandCollapseStatus: ExpandCollapseStatusEnum = null; + @Input() listTemplate: TemplateRef = null; + + @Output() selectedItem = new EventEmitter(); + + isSelected = false; + expanded = false; + firstInitializer = false; + + nodeChildren: MultilevelNode[]; + classes: { [index: string]: boolean }; + selectedListClasses: { [index: string]: boolean }; + + constructor(private router: Router, public multilevelMenuService: MultilevelMenuService) { + this.selectedListClasses = { + [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, + [CONSTANT.SELECTED_LIST_CLASS_NAME]: false, + [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: false, + }; + } + + ngOnInit() { + this.selectedListClasses[CONSTANT.DISABLED_ITEM_CLASS_NAME] = this.node.disabled; + + if (!CommonUtils.isNullOrUndefined(this.node.faIcon) && this.node.faIcon.match(/\bfa\w(?!-)/) === null) { + this.node.faIcon = `fas ${this.node.faIcon}`; + } + + this.selectedListClasses[`level-${this.level}-submenulevel-${this.submenuLevel}`] = true; + if (typeof this.node.expanded === 'boolean') { + this.expanded = this.node.expanded; + } + this.setClasses(); + } + + ngOnChanges() { + this.nodeChildren = this.node && this.node.items ? this.node.items.filter((n) => !n.hidden) : []; + this.node.hasChildren = this.hasItems(); + + if (!CommonUtils.isNullOrUndefined(this.selectedNode)) { + this.setSelectedClass(this.multilevelMenuService.recursiveCheckId(this.node, this.selectedNode.id)); } - } - if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { - this.expanded = false; - if (this.nodeConfiguration.customTemplate) { - this.node.expanded = false; + this.setExpandCollapseStatus(); + } + + setSelectedClass(isFound: boolean): void { + if (isFound) { + if (!this.firstInitializer) { + this.expanded = true; + } + this.isSelected = this.nodeConfiguration.highlightOnSelect || this.selectedNode.items === undefined; + } else { + this.isSelected = false; + if (this.nodeConfiguration.collapseOnSelect) { + this.node.expanded = false; + this.expanded = false; + } } - } - } - } - - expand(node: MultilevelNode): void { - if (node.disabled) { - return; - } - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - this.expanded = !this.expanded; - this.node.expanded = this.expanded; - this.firstInitializer = true; - this.setClasses(); - if ( - this.nodeConfiguration.interfaceWithRoute !== null && - this.nodeConfiguration.interfaceWithRoute && - node.link !== undefined && - node.link - ) { - this.router.navigate([node.link], node.navigationExtras).then(); - } else if (node.onSelected && typeof node.onSelected === "function") { - node.onSelected(node); - this.selectedListItem(node); - } else if ( - node.items === undefined || - this.nodeConfiguration.collapseOnSelect - ) { - this.selectedListItem(node); - } - } - - selectedListItem(node: MultilevelNode): void { - this.selectedItem.emit(node); - } + this.selectedListClasses = { + [CONSTANT.DEFAULT_LIST_CLASS_NAME]: true, + [CONSTANT.SELECTED_LIST_CLASS_NAME]: this.isSelected, + [CONSTANT.ACTIVE_ITEM_CLASS_NAME]: this.selectedNode.id === this.node.id, + [CONSTANT.DISABLED_ITEM_CLASS_NAME]: this.node.disabled, + [`level-${this.level}-submenulevel-${this.submenuLevel}`]: true, + }; + this.node.isSelected = this.isSelected; + this.setClasses(); + } + + getPaddingAtStart(): boolean { + return this.nodeConfiguration.paddingAtStart; + } + + getListStyle(): ListStyle { + return { + color: this.getColor(), + backgroundColor: this.getBackgroundColor(), + }; + } + + getColorStyle(): ListStyle { + return { color: this.getColor() }; + } + + getBackgroundStyle(): ListStyle { + return { backgroundColor: this.getBackgroundColor() }; + } + + private getColor(): string { + return this.isSelected + ? this.nodeConfiguration.selectedListFontColor !== null + ? this.nodeConfiguration.selectedListFontColor + : CONSTANT.DEFAULT_SELECTED_FONT_COLOR + : this.nodeConfiguration.fontColor !== null + ? this.nodeConfiguration.fontColor + : CONSTANT.DEFAULT_LIST_FONT_COLOR; + } + + private getBackgroundColor(): string { + return this.nodeConfiguration.listBackgroundColor !== null + ? this.nodeConfiguration.listBackgroundColor + : CONSTANT.DEFAULT_LIST_BACKGROUND_COLOR; + } + + hasItems(): boolean { + return this.nodeChildren.length > 0; + } + + isRtlLayout(): boolean { + return this.nodeConfiguration.rtlLayout; + } + + setClasses(): void { + this.classes = { + [`level-${this.level + 1}`]: true, + [CONSTANT.SUBMENU_ITEM_CLASS_NAME]: this.hasItems() && this.getPaddingAtStart(), + [CONSTANT.HAS_SUBMENU_ITEM_CLASS_NAME]: this.hasItems(), + }; + } + + setExpandCollapseStatus(): void { + if (CommonUtils.isNullOrUndefined(this.nodeExpandCollapseStatus)) { + return; + } + + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.expand) { + this.setExpandStatus(true); + } + if (this.nodeExpandCollapseStatus === ExpandCollapseStatusEnum.collapse) { + this.setExpandStatus(false); + } + } + + private setExpandStatus(value: boolean): void { + this.expanded = value; + if (!this.nodeConfiguration.customTemplate) { + return; + } + this.node.expanded = value; + } + + expand(node: MultilevelNode): void { + if (node.disabled) { + return; + } + + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + this.expanded = !this.expanded; + this.node.expanded = this.expanded; + this.firstInitializer = true; + + this.setClasses(); + + if (this.nodeConfiguration.interfaceWithRoute && node.link) { + void this.router.navigate([node.link], node.navigationExtras).then(); + return; + } + + if (node.onSelected && typeof node.onSelected === 'function') { + node.onSelected(node); + this.selectedListItem(node); + return; + } + + if (node.items === undefined || this.nodeConfiguration.collapseOnSelect) { + this.selectedListItem(node); + } + } + + selectedListItem(node: MultilevelNode): void { + this.selectedItem.emit(node); + } } diff --git a/projects/ng-material-multilevel-menu/src/lib/materials.module.ts b/projects/ng-material-multilevel-menu/src/lib/materials.module.ts index 4374247..b203e54 100644 --- a/projects/ng-material-multilevel-menu/src/lib/materials.module.ts +++ b/projects/ng-material-multilevel-menu/src/lib/materials.module.ts @@ -5,16 +5,8 @@ import { MatIconModule } from '@angular/material/icon'; import { MatListModule } from '@angular/material/list'; @NgModule({ - imports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ], - declarations: [], - exports: [ - MatIconModule, - MatListModule, - MatRippleModule, - ] + imports: [MatIconModule, MatListModule, MatRippleModule], + declarations: [], + exports: [MatIconModule, MatListModule, MatRippleModule], }) -export class MaterialsModule { } +export class MaterialsModule {} diff --git a/projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.spec.ts b/projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.spec.ts index 08d7d68..d0eccd4 100644 --- a/projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.spec.ts +++ b/projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.spec.ts @@ -3,13 +3,13 @@ import { TestBed, inject } from '@angular/core/testing'; import { MultilevelMenuService } from './multilevel-menu.service'; describe('MultilevelMenuService', () => { - beforeEach(() => { - TestBed.configureTestingModule({ - providers: [MultilevelMenuService] + beforeEach(() => { + TestBed.configureTestingModule({ + providers: [MultilevelMenuService], + }); }); - }); - it('should be created', inject([MultilevelMenuService], (service: MultilevelMenuService) => { - expect(service).toBeTruthy(); - })); + it('should be created', inject([MultilevelMenuService], (service: MultilevelMenuService) => { + expect(service).toBeTruthy(); + })); }); diff --git a/projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts b/projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts index 078195d..2e25b35 100644 --- a/projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts +++ b/projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service.ts @@ -1,81 +1,85 @@ - import {BehaviorSubject, Observable, Subject} from 'rxjs'; +import { Injectable } from '@angular/core'; +import { Observable, Subject } from 'rxjs'; import { MultilevelNode, ExpandCollapseStatusEnum } from './app.model'; -import {CONSTANT} from './constants'; +import { CONSTANT } from './constants'; +@Injectable({ + providedIn: 'root', +}) export class MultilevelMenuService { - foundLinkObject: MultilevelNode; - private expandCollapseStatus: Subject = new Subject(); - expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable(); + foundLinkObject: MultilevelNode; + private expandCollapseStatus: Subject = new Subject(); + expandCollapseStatus$: Observable = this.expandCollapseStatus.asObservable(); - private selectedMenuID: Subject = new Subject(); - selectedMenuID$: Observable = this.selectedMenuID.asObservable(); + private selectedMenuID: Subject = new Subject(); + selectedMenuID$: Observable = this.selectedMenuID.asObservable(); - private generateId(): string { - let text = ''; - for (let i = 0; i < 20; i++) { - text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length)); + private generateId(): string { + let text = ''; + for (let i = 0; i < 20; i++) { + text += CONSTANT.POSSIBLE.charAt(Math.floor(Math.random() * CONSTANT.POSSIBLE.length)); + } + return text; } - return text; - } - addRandomId(nodes: MultilevelNode[]): void { - nodes.forEach((node: MultilevelNode) => { - node.id = this.generateId(); - if (node.items !== undefined) { - this.addRandomId(node.items); - } - }); - } - recursiveCheckId(node: MultilevelNode, nodeId: string): boolean { - if (node.id === nodeId) { - return true; - } else { - if (node.items !== undefined) { - return node.items.some((nestedNode: MultilevelNode) => { - return this.recursiveCheckId(nestedNode, nodeId); + addRandomId(nodes: MultilevelNode[]): void { + nodes.forEach((node: MultilevelNode) => { + node.id = this.generateId(); + if (node.items !== undefined) { + this.addRandomId(node.items); + } }); - } } - } - private findNodeRecursively({nodes, link, id}: {nodes: MultilevelNode[], link?: string, id?: string}): void { - for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { - const node = nodes[nodeIndex]; - for (const key in node) { - if (node.hasOwnProperty(key)) { - if (encodeURI(node.link) === link) { - this.foundLinkObject = node; - } else if (node.id === id) { - this.foundLinkObject = node; - } else { + recursiveCheckId(node: MultilevelNode, nodeId: string): boolean { + if (node.id === nodeId) { + return true; + } else { if (node.items !== undefined) { - this.findNodeRecursively({ - nodes: node.items, - link: link ? link : null, - id: id ? id : null - }); + return node.items.some((nestedNode: MultilevelNode) => { + return this.recursiveCheckId(nestedNode, nodeId); + }); + } + } + } + private findNodeRecursively({ nodes, link, id }: { nodes: MultilevelNode[]; link?: string; id?: string }): void { + for (let nodeIndex = 0; nodeIndex < nodes.length; nodeIndex++) { + const node = nodes[nodeIndex]; + for (const key in node) { + if (node.hasOwnProperty(key)) { + if (encodeURI(node.link) === link) { + this.foundLinkObject = node; + } else if (node.id === id) { + this.foundLinkObject = node; + } else { + if (node.items !== undefined) { + this.findNodeRecursively({ + nodes: node.items, + link: link ? link : null, + id: id ? id : null, + }); + } + } + } } - } } - } } - } - getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode { - this.findNodeRecursively({nodes, link}); - return this.foundLinkObject; - } - getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode { - this.findNodeRecursively({nodes, id}); - return this.foundLinkObject; - } - // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function - // https://angular.io/api/common/KeyValuePipe#description - kvDummyComparerFn() { - return 0; - } - setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void { - this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral); - } - selectMenuByID(menuID: string) { - this.selectedMenuID.next(menuID); - return this.foundLinkObject; - } + getMatchedObjectByUrl(nodes: MultilevelNode[], link: string): MultilevelNode { + this.findNodeRecursively({ nodes, link }); + return this.foundLinkObject; + } + getMatchedObjectById(nodes: MultilevelNode[], id: string): MultilevelNode { + this.findNodeRecursively({ nodes, id }); + return this.foundLinkObject; + } + // overrides key-value pipe's default reordering (by key) by implementing dummy comprarer function + // https://angular.io/api/common/KeyValuePipe#description + kvDummyComparerFn() { + return 0; + } + setMenuExpandCollapseStatus(status: ExpandCollapseStatusEnum): void { + this.expandCollapseStatus.next(status ? status : ExpandCollapseStatusEnum.neutral); + } + selectMenuByID(menuID: string) { + this.selectedMenuID.next(menuID); + return this.foundLinkObject; + } } diff --git a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html index 29897a8..ab3180d 100644 --- a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html +++ b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.html @@ -1,16 +1,19 @@ -
- - - - +
+ + + +
diff --git a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.spec.ts b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.spec.ts index f5769ac..87859a7 100644 --- a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.spec.ts +++ b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu.component'; describe('NgMaterialMultilevelMenuComponent', () => { - let component: NgMaterialMultilevelMenuComponent; - let fixture: ComponentFixture; + let component: NgMaterialMultilevelMenuComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ NgMaterialMultilevelMenuComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [NgMaterialMultilevelMenuComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(NgMaterialMultilevelMenuComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(NgMaterialMultilevelMenuComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts index 9a363d3..f0e86cf 100644 --- a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts +++ b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.component.ts @@ -1,257 +1,216 @@ import { - Component, - OnChanges, - OnInit, - OnDestroy, - Output, - EventEmitter, - Input, - ContentChild, - TemplateRef, - ElementRef, -} from "@angular/core"; -import { NavigationEnd, Router } from "@angular/router"; -import { Subscription } from "rxjs"; -import { - BackgroundStyle, - Configuration, - MultilevelNode, - ExpandCollapseStatusEnum, -} from "./app.model"; -import { CONSTANT } from "./constants"; -import { MultilevelMenuService } from "./multilevel-menu.service"; -import { CommonUtils } from "./common-utils"; + Component, + OnChanges, + OnInit, + OnDestroy, + Output, + EventEmitter, + Input, + ContentChild, + TemplateRef, + ElementRef, +} from '@angular/core'; +import { NavigationEnd, Router } from '@angular/router'; +import { Subject, takeUntil } from 'rxjs'; +import { Configuration, MultilevelNode, ExpandCollapseStatusEnum, ListStyle } from './app.model'; +import { CONSTANT } from './constants'; +import { MultilevelMenuService } from './multilevel-menu.service'; +import { CommonUtils } from './common-utils'; @Component({ - selector: "ng-material-multilevel-menu", - templateUrl: "./ng-material-multilevel-menu.component.html", - styleUrls: ["./ng-material-multilevel-menu.component.css"], + selector: 'ng-material-multilevel-menu', + templateUrl: './ng-material-multilevel-menu.component.html', + styleUrls: ['./ng-material-multilevel-menu.component.css'], }) -export class NgMaterialMultilevelMenuComponent - implements OnInit, OnChanges, OnDestroy -{ - @Input() items: MultilevelNode[]; - @Input() configuration: Configuration = null; - @Output() selectedItem = new EventEmitter(); - @Output() selectedLabel = new EventEmitter(); - @Output() menuIsReady = new EventEmitter(); - @ContentChild("listTemplate", { static: true }) - listTemplate: TemplateRef; - - expandCollapseStatusSubscription: Subscription = null; - selectMenuByIDSubscription: Subscription = null; - currentNode: MultilevelNode = null; - - nodeConfig: Configuration = { - paddingAtStart: true, - listBackgroundColor: null, - fontColor: null, - selectedListFontColor: null, - interfaceWithRoute: null, - collapseOnSelect: null, - highlightOnSelect: false, - useDividers: true, - rtlLayout: false, - customTemplate: false, - }; - isInvalidConfig = true; - isInvalidData = true; - nodeExpandCollapseStatus: ExpandCollapseStatusEnum = - ExpandCollapseStatusEnum.neutral; - - constructor( - private router: Router, - public multilevelMenuService: MultilevelMenuService - ) { - // NOOP - } - ngOnChanges() { - this.detectInvalidConfig(); - this.initExpandCollapseStatus(); - this.initSelectedMenuID(); - if (!this.isInvalidData) { - this.menuIsReady.emit(this.items); +export class NgMaterialMultilevelMenuComponent implements OnInit, OnChanges, OnDestroy { + @Input() items: MultilevelNode[]; + @Input() configuration: Configuration = null; + @Output() selectedItem = new EventEmitter(); + @Output() selectedLabel = new EventEmitter(); + @Output() menuIsReady = new EventEmitter(); + @ContentChild('listTemplate', { static: true }) listTemplate: TemplateRef; + + private readonly stringConfigProperties = [ + 'classname', + 'backgroundColor', + 'listBackgroundColor', + 'fontColor', + 'selectedListFontColor', + ]; + + private destroyed$ = new Subject(); + + currentNode: MultilevelNode = null; + + nodeConfig: Configuration = { + paddingAtStart: true, + listBackgroundColor: null, + fontColor: null, + selectedListFontColor: null, + interfaceWithRoute: null, + collapseOnSelect: null, + highlightOnSelect: false, + useDividers: true, + rtlLayout: false, + customTemplate: false, + }; + + isInvalidConfig = true; + isInvalidData = true; + nodeExpandCollapseStatus: ExpandCollapseStatusEnum = ExpandCollapseStatusEnum.neutral; + + constructor(private router: Router, public multilevelMenuService: MultilevelMenuService) {} + + ngOnInit() { + this.subscribeToRouterEvents(); } - } - ngOnInit() { - if ( - !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration) && - this.configuration.interfaceWithRoute !== null && - this.configuration.interfaceWithRoute - ) { - this.router.events.subscribe((event) => { - if (event instanceof NavigationEnd) { - this.updateNodeByURL(event.urlAfterRedirects); + + ngOnChanges() { + this.checkConfigAndData(); + this.initExpandCollapseStatus(); + this.initSelectedMenuID(); + + if (!this.isInvalidData) { + this.menuIsReady.emit(this.items); } - }); - this.updateNodeByURL(this.router.url); } - } - updateNodeByURL(url: string): void { - const foundNode = this.multilevelMenuService.getMatchedObjectByUrl( - this.items, - url - ); - if ( - foundNode !== undefined && - !CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link) - // && !foundNode.disabled // Prevent route redirection for disabled menu - ) { - this.currentNode = foundNode; - if ( - !CommonUtils.isNullOrUndefined(foundNode.dontEmit) && - !foundNode.dontEmit - ) { + + ngOnDestroy() { + this.destroyed$.next(); + this.destroyed$.complete(); + } + + subscribeToRouterEvents() { + if (this.configuration?.interfaceWithRoute === false) { + return; + } + + this.router.events.pipe(takeUntil(this.destroyed$)).subscribe((event) => { + if (event instanceof NavigationEnd) { + this.updateNodeByURL(event.urlAfterRedirects); + } + }); + this.updateNodeByURL(this.router.url); + } + + updateNodeByURL(url: string): void { + const foundNode = this.multilevelMenuService.getMatchedObjectByUrl(this.items, url); + + if (!foundNode || CommonUtils.isNullOrUndefinedOrEmpty(foundNode.link)) { + return; + } + + this.currentNode = foundNode; + if (CommonUtils.isNullOrUndefined(foundNode.dontEmit) || foundNode.dontEmit) { + return; + } + this.selectedListItem(foundNode); - } } - } - checkValidData(): void { - if ( - this.items === undefined || - (Array.isArray(this.items) && this.items.length === 0) - ) { - console.warn(CONSTANT.ERROR_MESSAGE); - return; + + checkConfigAndData(): void { + this.detectInvalidConfig(); + this.checkValidData(); } - this.items = this.items.filter((n) => !n.hidden); - this.multilevelMenuService.addRandomId(this.items); - this.isInvalidData = false; - } - detectInvalidConfig(): void { - if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) { - this.isInvalidConfig = true; - } else { - this.isInvalidConfig = false; - const config = this.configuration; - if ( - !CommonUtils.isNullOrUndefined(config.paddingAtStart) && - typeof config.paddingAtStart === "boolean" - ) { - this.nodeConfig.paddingAtStart = config.paddingAtStart; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.listBackgroundColor)) { - this.nodeConfig.listBackgroundColor = config.listBackgroundColor; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.fontColor)) { - this.nodeConfig.fontColor = config.fontColor; - } - if (!CommonUtils.isNullOrUndefinedOrEmpty(config.selectedListFontColor)) { - this.nodeConfig.selectedListFontColor = config.selectedListFontColor; - } - if ( - !CommonUtils.isNullOrUndefined(config.interfaceWithRoute) && - typeof config.interfaceWithRoute === "boolean" - ) { - this.nodeConfig.interfaceWithRoute = config.interfaceWithRoute; - } - if ( - !CommonUtils.isNullOrUndefined(config.collapseOnSelect) && - typeof config.collapseOnSelect === "boolean" - ) { - this.nodeConfig.collapseOnSelect = config.collapseOnSelect; - } - if ( - !CommonUtils.isNullOrUndefined(config.highlightOnSelect) && - typeof config.highlightOnSelect === "boolean" - ) { - this.nodeConfig.highlightOnSelect = config.highlightOnSelect; - } - if ( - !CommonUtils.isNullOrUndefined(config.useDividers) && - typeof config.useDividers === "boolean" - ) { - this.nodeConfig.useDividers = config.useDividers; - } - if ( - !CommonUtils.isNullOrUndefined(config.rtlLayout) && - typeof config.rtlLayout === "boolean" - ) { - this.nodeConfig.rtlLayout = config.rtlLayout; - } - if ( - !CommonUtils.isNullOrUndefined(config.customTemplate) && - typeof config.customTemplate === "boolean" - ) { - this.nodeConfig.customTemplate = config.customTemplate; - } + + checkValidData(): void { + if (this.items === undefined || (Array.isArray(this.items) && this.items.length === 0)) { + console.warn(CONSTANT.ERROR_MESSAGE); + return; + } + this.items = this.items.filter((item) => !item.hidden); + this.multilevelMenuService.addRandomId(this.items); + this.isInvalidData = false; } - this.checkValidData(); - } - initExpandCollapseStatus(): void { - this.expandCollapseStatusSubscription = - this.multilevelMenuService.expandCollapseStatus$.subscribe( - (expandCollapseStatus: ExpandCollapseStatusEnum) => { - this.nodeExpandCollapseStatus = expandCollapseStatus - ? expandCollapseStatus - : ExpandCollapseStatusEnum.neutral; - }, - () => { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + + detectInvalidConfig(): void { + if (CommonUtils.isNullOrUndefinedOrEmpty(this.configuration)) { + this.isInvalidConfig = true; + return; } - ); - } - initSelectedMenuID(): void { - this.selectMenuByIDSubscription = - this.multilevelMenuService.selectedMenuID$.subscribe( - (selectedMenuID: string) => { - if (selectedMenuID) { - const foundNode = this.multilevelMenuService.getMatchedObjectById( - this.items, - selectedMenuID - ); - if (foundNode !== undefined) { - this.currentNode = foundNode; - this.selectedListItem(foundNode); - } - } + this.isInvalidConfig = false; + const config = this.configuration; + + for (const property of Object.keys(config)) { + this.stringConfigProperties.some((item) => item === property) + ? this.setStringConfigProperty(property, config[property]) + : this.setBooleanConfigProperty(property, config[property]); } - ); - } - getClassName(): string { - if ( - !this.isInvalidConfig && - !CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname) - ) { - return `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; } - return CONSTANT.DEFAULT_CLASS_NAME; - } - getGlobalStyle(): BackgroundStyle { - if (!this.isInvalidConfig) { - const styles = { - backgroundColor: null, - }; - if ( - !CommonUtils.isNullOrUndefinedOrEmpty( - this.configuration.backgroundColor - ) - ) { + + initExpandCollapseStatus(): void { + this.multilevelMenuService.expandCollapseStatus$.pipe(takeUntil(this.destroyed$)).subscribe({ + next: (expandCollapseStatus: ExpandCollapseStatusEnum) => { + this.nodeExpandCollapseStatus = expandCollapseStatus ? expandCollapseStatus : ExpandCollapseStatusEnum.neutral; + }, + error: () => { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + }, + }); + } + + initSelectedMenuID(): void { + this.multilevelMenuService.selectedMenuID$.pipe(takeUntil(this.destroyed$)).subscribe((selectedMenuID: string) => { + if (selectedMenuID) { + const foundNode = this.multilevelMenuService.getMatchedObjectById(this.items, selectedMenuID); + if (!foundNode) { + return; + } + this.currentNode = foundNode; + this.selectedListItem(foundNode); + } + }); + } + + getClassName(): string { + return this.isInvalidConfig || CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.classname) + ? CONSTANT.DEFAULT_CLASS_NAME + : `${CONSTANT.DEFAULT_CLASS_NAME} ${this.configuration.classname}`; + } + + getGlobalStyle(): ListStyle { + const styles = { + backgroundColor: null, + }; + + if (this.isInvalidConfig || CommonUtils.isNullOrUndefinedOrEmpty(this.configuration.backgroundColor)) { + return styles; + } + styles.backgroundColor = this.configuration.backgroundColor; - } - return styles; + + return styles; } - } - isRtlLayout(): boolean { - return this.nodeConfig.rtlLayout; - } - selectedListItem(event: MultilevelNode): void { - this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; - this.currentNode = event; - if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { - return; + + isRtlLayout(): boolean { + return this.nodeConfig.rtlLayout; } - if ( - event.items === undefined && - (!event.onSelected || typeof event.onSelected !== "function") - ) { - this.selectedItem.emit(event); - } else { - this.selectedLabel.emit(event); + + selectedListItem(event: MultilevelNode): void { + this.nodeExpandCollapseStatus = ExpandCollapseStatusEnum.neutral; + this.currentNode = event; + if (!CommonUtils.isNullOrUndefined(event.dontEmit) && event.dontEmit) { + return; + } + + event.items === undefined && (!event.onSelected || typeof event.onSelected !== 'function') + ? this.selectedItem.emit(event) + : this.selectedLabel.emit(event); + } + + private setStringConfigProperty(propertyName: string, value: string): void { + if (CommonUtils.isNullOrUndefinedOrEmpty(value)) { + return; + } + + this.nodeConfig[propertyName] = value; + } + + private setBooleanConfigProperty(propertyName: string, value: boolean): void { + if (CommonUtils.isNullOrUndefined(value) || typeof value !== 'boolean') { + return; + } + + this.nodeConfig[propertyName] = value; } - } - ngOnDestroy() { - this.expandCollapseStatusSubscription.unsubscribe(); - this.selectMenuByIDSubscription.unsubscribe(); - } } diff --git a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts index ddc804b..3c0ae03 100644 --- a/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts +++ b/projects/ng-material-multilevel-menu/src/lib/ng-material-multilevel-menu.module.ts @@ -8,16 +8,8 @@ import { NgMaterialMultilevelMenuComponent } from './ng-material-multilevel-menu import { ListItemContentComponent } from './list-item/list-item-content/list-item-content.component'; @NgModule({ - imports: [ - CommonModule, - MaterialsModule, - RouterModule, - ], - declarations: [ - NgMaterialMultilevelMenuComponent, - ListItemComponent, - ListItemContentComponent, - ], - exports: [NgMaterialMultilevelMenuComponent] + imports: [CommonModule, MaterialsModule, RouterModule], + declarations: [NgMaterialMultilevelMenuComponent, ListItemComponent, ListItemContentComponent], + exports: [NgMaterialMultilevelMenuComponent], }) export class NgMaterialMultilevelMenuModule {} diff --git a/projects/ng-material-multilevel-menu/src/test.ts b/projects/ng-material-multilevel-menu/src/test.ts index 70c534a..cc57880 100644 --- a/projects/ng-material-multilevel-menu/src/test.ts +++ b/projects/ng-material-multilevel-menu/src/test.ts @@ -1,18 +1,12 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files -import "core-js/es7/reflect"; -import "zone.js/dist/zone"; -import "zone.js/dist/zone-testing"; -import { getTestBed } from "@angular/core/testing"; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting, -} from "@angular/platform-browser-dynamic/testing"; +import 'core-js/es7/reflect'; +import 'zone.js/dist/zone'; +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; declare const require: any; // First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting() -); +getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting()); diff --git a/src/app/app-routing.module.ts b/src/app/app-routing.module.ts index bb754cd..20a43e4 100644 --- a/src/app/app-routing.module.ts +++ b/src/app/app-routing.module.ts @@ -1,25 +1,24 @@ -import { NgModule } from "@angular/core"; -import { Routes, RouterModule } from "@angular/router"; +import { NgModule } from '@angular/core'; +import { Routes, RouterModule } from '@angular/router'; const routes: Routes = [ - { - path: "", - redirectTo: "/pages/home", - pathMatch: "full", - }, - { - path: "pages", - loadChildren: () => - import("./pages/pages.module").then((m) => m.PagesModule), - }, - { - path: "**", - redirectTo: "/pages/home", - }, + { + path: '', + redirectTo: '/pages/home', + pathMatch: 'full', + }, + { + path: 'pages', + loadChildren: () => import('./pages/pages.module').then((m) => m.PagesModule), + }, + { + path: '**', + redirectTo: '/pages/home', + }, ]; @NgModule({ - imports: [RouterModule.forRoot(routes)], - exports: [RouterModule], + imports: [RouterModule.forRoot(routes)], + exports: [RouterModule], }) export class AppRoutingModule {} diff --git a/src/app/app.component.spec.ts b/src/app/app.component.spec.ts index 7a3d12b..464defc 100644 --- a/src/app/app.component.spec.ts +++ b/src/app/app.component.spec.ts @@ -1,16 +1,14 @@ import { TestBed, waitForAsync } from '@angular/core/testing'; import { AppComponent } from './app.component'; describe('AppComponent', () => { - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ - AppComponent - ], - }).compileComponents(); - })); - it('should create the app', waitForAsync(() => { - const fixture = TestBed.createComponent(AppComponent); - const app = fixture.debugElement.componentInstance; - expect(app).toBeTruthy(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [AppComponent], + }).compileComponents(); + })); + it('should create the app', waitForAsync(() => { + const fixture = TestBed.createComponent(AppComponent); + const app = fixture.debugElement.componentInstance; + expect(app).toBeTruthy(); + })); }); diff --git a/src/app/app.component.ts b/src/app/app.component.ts index 59243bb..c13c715 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,123 +1,127 @@ import { Component, OnInit } from '@angular/core'; -import { MultilevelNode, MultilevelMenuService, ExpandedRTL, ExpandedLTR } from './../../projects/ng-material-multilevel-menu/src/public_api'; +import { + MultilevelNode, + MultilevelMenuService, + ExpandedRTL, + ExpandedLTR, +} from './../../projects/ng-material-multilevel-menu/src/public_api'; @Component({ - selector: 'app-root', - templateUrl: './app.component.html', - styleUrls: ['./app.component.css'], - animations: [ExpandedRTL, ExpandedLTR] + selector: 'app-root', + templateUrl: './app.component.html', + styleUrls: ['./app.component.css'], + animations: [ExpandedRTL, ExpandedLTR], }) export class AppComponent implements OnInit { - selectedData = null; - showHome = true; - expandCollapseStatus: string = null; + selectedData = null; + showHome = true; + expandCollapseStatus: string = null; - appItems = [ - { - label: 'Home', - link: '/pages/home', - }, - { - label: 'Layout Variations', - items: [ + appItems = [ { - label: 'Default', - link: '/pages/layout-variations/demo-one', + label: 'Home', + link: '/pages/home', }, { - label: 'Work with Colours', - link: '/pages/layout-variations/demo-two', + label: 'Layout Variations', + items: [ + { + label: 'Default', + link: '/pages/layout-variations/demo-one', + }, + { + label: 'Work with Colours', + link: '/pages/layout-variations/demo-two', + }, + { + label: 'Change background', + link: '/pages/layout-variations/demo-three', + }, + { + label: 'Use Images in the list', + link: '/pages/layout-variations/demo-four', + }, + { + label: 'RLT Demo', + link: '/pages/layout-variations/demo-five', + }, + { + label: 'Custom Templates', + link: '/pages/layout-variations/demo-six', + items: [ + { + label: 'Version 1', + link: '/pages/layout-variations/demo-six/version-one', + }, + { + label: 'Version 2', + link: '/pages/layout-variations/demo-six/version-two', + }, + { + label: 'Version 3', + link: '/pages/layout-variations/demo-six/version-three', + }, + ], + }, + ], }, { - label: 'Change background', - link: '/pages/layout-variations/demo-three', + label: 'Configurations', + items: [ + { + label: 'Add/Remove Padding', + link: '/pages/more-configuration/disable-padding', + }, + { + label: 'Enable/Disable Routing', + link: '/pages/more-configuration/disable-routing', + }, + { + label: 'Expand Collapse Menu', + link: '/pages/more-configuration/expand-collapse', + }, + { + label: `Don't Emit`, + link: '/pages/more-configuration/dont-emit', + }, + { + label: `Select Menu By ID`, + link: '/pages/more-configuration/select-by-id', + }, + { + label: `On Select Property`, + link: '/pages/more-configuration/on-select', + }, + ], }, - { - label: 'Use Images in the list', - link: '/pages/layout-variations/demo-four', - }, - { - label: 'RLT Demo', - link: '/pages/layout-variations/demo-five', - }, - { - label: 'Custom Templates', - link: '/pages/layout-variations/demo-six', - items: [ - { - label: 'Version 1', - link: '/pages/layout-variations/demo-six/version-one', - }, - { - label: 'Version 2', - link: '/pages/layout-variations/demo-six/version-two', - }, - { - label: 'Version 3', - link: '/pages/layout-variations/demo-six/version-three', - } - ], - }, - ], - }, - { - label: 'Configurations', - items: [ - { - label: 'Add/Remove Padding', - link: '/pages/more-configuration/disable-padding', - }, - { - label: 'Enable/Disable Routing', - link: '/pages/more-configuration/disable-routing', - }, - { - label: 'Expand Collapse Menu' , - link: '/pages/more-configuration/expand-collapse' - }, - { - label: `Don't Emit` , - link: '/pages/more-configuration/dont-emit' - }, - { - label: `Select Menu By ID` , - link: '/pages/more-configuration/select-by-id' - }, - { - label: `On Select Property` , - link: '/pages/more-configuration/on-select' - } - ], - }, - ]; + ]; - config = { - paddingAtStart: true, - interfaceWithRoute: true, - collapseOnSelect: true, - highlightOnSelect: true, - }; + config = { + paddingAtStart: true, + interfaceWithRoute: true, + collapseOnSelect: true, + highlightOnSelect: true, + }; - selectedItem(selectedData) { - console.log(selectedData); - this.selectedData = selectedData; - } + selectedItem(selectedData) { + console.log(selectedData); + this.selectedData = selectedData; + } - constructor() {} + constructor() {} - ngOnInit() { - } + ngOnInit() {} - redirect(path) { - window.location.href = path; - } + redirect(path) { + window.location.href = path; + } - setExpandCollapseStatus(type) { - this.expandCollapseStatus = type; - } - getClass(item) { - return { - [item.faIcon]: true - }; - } + setExpandCollapseStatus(type) { + this.expandCollapseStatus = type; + } + getClass(item) { + return { + [item.faIcon]: true, + }; + } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index 17eeedf..0ec796e 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -5,22 +5,17 @@ import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; import { MaterialsModule } from './modules/materials.module'; import { AppRoutingModule } from './app-routing.module'; -import { NgMaterialMultilevelMenuModule, MultilevelMenuService } from './../../projects/ng-material-multilevel-menu/src/public_api'; +import { + NgMaterialMultilevelMenuModule, + MultilevelMenuService, +} from './../../projects/ng-material-multilevel-menu/src/public_api'; import { AppComponent } from './app.component'; @NgModule({ - declarations: [ - AppComponent - ], - imports: [ - BrowserModule, - BrowserAnimationsModule, - NgMaterialMultilevelMenuModule, - AppRoutingModule, - MaterialsModule - ], - providers: [MultilevelMenuService], - bootstrap: [AppComponent] + declarations: [AppComponent], + imports: [BrowserModule, BrowserAnimationsModule, NgMaterialMultilevelMenuModule, AppRoutingModule, MaterialsModule], + providers: [MultilevelMenuService], + bootstrap: [AppComponent], }) -export class AppModule { } +export class AppModule {} diff --git a/src/app/modules/materials.module.ts b/src/app/modules/materials.module.ts index 058df2e..8914a1a 100644 --- a/src/app/modules/materials.module.ts +++ b/src/app/modules/materials.module.ts @@ -35,93 +35,93 @@ import { MatSnackBarModule } from '@angular/material/snack-bar'; import { MatSortModule } from '@angular/material/sort'; import { MatTabsModule } from '@angular/material/tabs'; import { MatToolbarModule } from '@angular/material/toolbar'; -import {MatBadgeModule} from '@angular/material/badge'; +import { MatBadgeModule } from '@angular/material/badge'; import { MatTooltipModule } from '@angular/material/tooltip'; import { MatTreeModule } from '@angular/material/tree'; @NgModule({ imports: [ - CommonModule, - A11yModule, - ClipboardModule, - DragDropModule, - MatAutocompleteModule, - MatBadgeModule, - MatBottomSheetModule, - MatButtonModule, - MatButtonToggleModule, - MatCardModule, - MatCheckboxModule, - MatChipsModule, - MatStepperModule, - MatDatepickerModule, - MatDialogModule, - MatDividerModule, - MatExpansionModule, - MatGridListModule, - MatIconModule, - MatInputModule, - MatListModule, - MatMenuModule, - MatNativeDateModule, - MatPaginatorModule, - MatProgressBarModule, - MatProgressSpinnerModule, - MatRadioModule, - MatRippleModule, - MatSelectModule, - MatSidenavModule, - MatSliderModule, - MatSlideToggleModule, - MatSnackBarModule, - MatSortModule, - MatTabsModule, - MatToolbarModule, - MatTooltipModule, - MatTreeModule, - PortalModule, - ScrollingModule, + CommonModule, + A11yModule, + ClipboardModule, + DragDropModule, + MatAutocompleteModule, + MatBadgeModule, + MatBottomSheetModule, + MatButtonModule, + MatButtonToggleModule, + MatCardModule, + MatCheckboxModule, + MatChipsModule, + MatStepperModule, + MatDatepickerModule, + MatDialogModule, + MatDividerModule, + MatExpansionModule, + MatGridListModule, + MatIconModule, + MatInputModule, + MatListModule, + MatMenuModule, + MatNativeDateModule, + MatPaginatorModule, + MatProgressBarModule, + MatProgressSpinnerModule, + MatRadioModule, + MatRippleModule, + MatSelectModule, + MatSidenavModule, + MatSliderModule, + MatSlideToggleModule, + MatSnackBarModule, + MatSortModule, + MatTabsModule, + MatToolbarModule, + MatTooltipModule, + MatTreeModule, + PortalModule, + ScrollingModule, ], declarations: [], exports: [ - A11yModule, - ClipboardModule, - DragDropModule, - MatAutocompleteModule, - MatBadgeModule, - MatBottomSheetModule, - MatButtonModule, - MatButtonToggleModule, - MatCardModule, - MatCheckboxModule, - MatChipsModule, - MatStepperModule, - MatDatepickerModule, - MatDialogModule, - MatDividerModule, - MatExpansionModule, - MatGridListModule, - MatIconModule, - MatInputModule, - MatListModule, - MatMenuModule, - MatNativeDateModule, - MatPaginatorModule, - MatProgressBarModule, - MatProgressSpinnerModule, - MatRadioModule, - MatRippleModule, - MatSelectModule, - MatSidenavModule, - MatSliderModule, - MatSlideToggleModule, - MatSnackBarModule, - MatSortModule, - MatTabsModule, - MatToolbarModule, - MatTooltipModule, - MatTreeModule, - PortalModule, - ScrollingModule, + A11yModule, + ClipboardModule, + DragDropModule, + MatAutocompleteModule, + MatBadgeModule, + MatBottomSheetModule, + MatButtonModule, + MatButtonToggleModule, + MatCardModule, + MatCheckboxModule, + MatChipsModule, + MatStepperModule, + MatDatepickerModule, + MatDialogModule, + MatDividerModule, + MatExpansionModule, + MatGridListModule, + MatIconModule, + MatInputModule, + MatListModule, + MatMenuModule, + MatNativeDateModule, + MatPaginatorModule, + MatProgressBarModule, + MatProgressSpinnerModule, + MatRadioModule, + MatRippleModule, + MatSelectModule, + MatSidenavModule, + MatSliderModule, + MatSlideToggleModule, + MatSnackBarModule, + MatSortModule, + MatTabsModule, + MatToolbarModule, + MatTooltipModule, + MatTreeModule, + PortalModule, + ScrollingModule, ], }) export class MaterialsModule {} diff --git a/src/app/pages/home/home-routing.module.ts b/src/app/pages/home/home-routing.module.ts index 6726235..27fa898 100644 --- a/src/app/pages/home/home-routing.module.ts +++ b/src/app/pages/home/home-routing.module.ts @@ -3,16 +3,19 @@ import { Routes, RouterModule } from '@angular/router'; import { HomeComponent } from './home.component'; -const routes: Routes = [{ - path: '', - component: HomeComponent, -}, { - path: '**', - redirectTo: '', -}]; +const routes: Routes = [ + { + path: '', + component: HomeComponent, + }, + { + path: '**', + redirectTo: '', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class HomeRoutingModule { } +export class HomeRoutingModule {} diff --git a/src/app/pages/home/home.component.css b/src/app/pages/home/home.component.css index 2bdff7a..47150f8 100644 --- a/src/app/pages/home/home.component.css +++ b/src/app/pages/home/home.component.css @@ -9,4 +9,4 @@ margin: auto; padding: 5%; text-align: center; -} \ No newline at end of file +} diff --git a/src/app/pages/home/home.component.html b/src/app/pages/home/home.component.html index f89feb1..4bfce81 100644 --- a/src/app/pages/home/home.component.html +++ b/src/app/pages/home/home.component.html @@ -1,7 +1,12 @@
- Here you will find all kind of demos. If I have not added anything that you would like to see let me know - here - -
\ No newline at end of file + Here you will find all kind of demos. If I have not added anything that you would like to see let me know + here + +
diff --git a/src/app/pages/home/home.component.spec.ts b/src/app/pages/home/home.component.spec.ts index b19cfbd..d0da56e 100644 --- a/src/app/pages/home/home.component.spec.ts +++ b/src/app/pages/home/home.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { HomeComponent } from './home.component'; describe('HomeComponent', () => { - let component: HomeComponent; - let fixture: ComponentFixture; + let component: HomeComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ HomeComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [HomeComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(HomeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(HomeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/home/home.component.ts b/src/app/pages/home/home.component.ts index 33fd770..a67f781 100644 --- a/src/app/pages/home/home.component.ts +++ b/src/app/pages/home/home.component.ts @@ -1,15 +1,8 @@ -import { Component, OnInit } from '@angular/core'; +import { Component } from '@angular/core'; @Component({ - selector: 'app-home', - templateUrl: './home.component.html', - styleUrls: ['./home.component.css'] + selector: 'app-home', + templateUrl: './home.component.html', + styleUrls: ['./home.component.css'], }) -export class HomeComponent implements OnInit { - - constructor() { } - - ngOnInit() { - } - -} +export class HomeComponent {} diff --git a/src/app/pages/home/home.module.spec.ts b/src/app/pages/home/home.module.spec.ts index 0f1337b..26d4a5a 100644 --- a/src/app/pages/home/home.module.spec.ts +++ b/src/app/pages/home/home.module.spec.ts @@ -1,13 +1,13 @@ import { HomeModule } from './home.module'; describe('HomeModule', () => { - let homeModule: HomeModule; + let homeModule: HomeModule; - beforeEach(() => { - homeModule = new HomeModule(); - }); + beforeEach(() => { + homeModule = new HomeModule(); + }); - it('should create an instance', () => { - expect(homeModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(homeModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/home/home.module.ts b/src/app/pages/home/home.module.ts index 37fe1e1..aac4a8f 100644 --- a/src/app/pages/home/home.module.ts +++ b/src/app/pages/home/home.module.ts @@ -6,11 +6,7 @@ import { HomeRoutingModule } from './home-routing.module'; import { HomeComponent } from './home.component'; @NgModule({ - imports: [ - CommonModule, - MaterialsModule, - HomeRoutingModule - ], - declarations: [HomeComponent] + imports: [CommonModule, MaterialsModule, HomeRoutingModule], + declarations: [HomeComponent], }) -export class HomeModule { } +export class HomeModule {} diff --git a/src/app/pages/layout-variations/demo-five/demo-five-routing.module.ts b/src/app/pages/layout-variations/demo-five/demo-five-routing.module.ts index 2a3862e..e57a8cf 100644 --- a/src/app/pages/layout-variations/demo-five/demo-five-routing.module.ts +++ b/src/app/pages/layout-variations/demo-five/demo-five-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { DemoFiveComponent } from './demo-five.component'; -const routes: Routes = [{ - path: '', - component: DemoFiveComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: DemoFiveComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DemoFiveRoutingModule { } +export class DemoFiveRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-five/demo-five.component.css b/src/app/pages/layout-variations/demo-five/demo-five.component.css index 66f7fb3..372261a 100644 --- a/src/app/pages/layout-variations/demo-five/demo-five.component.css +++ b/src/app/pages/layout-variations/demo-five/demo-five.component.css @@ -8,12 +8,3 @@ h2 { margin-top: 2%; margin-bottom: 2%; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - width: 600px; - margin: auto; -} diff --git a/src/app/pages/layout-variations/demo-five/demo-five.component.html b/src/app/pages/layout-variations/demo-five/demo-five.component.html index 7d3d6e2..883320f 100644 --- a/src/app/pages/layout-variations/demo-five/demo-five.component.html +++ b/src/app/pages/layout-variations/demo-five/demo-five.component.html @@ -1,11 +1,10 @@
-

RLT Demo

- -
- -
- Previous - Demo - Next - Demo +

RLT Demo

+
+ diff --git a/src/app/pages/layout-variations/demo-five/demo-five.component.spec.ts b/src/app/pages/layout-variations/demo-five/demo-five.component.spec.ts index 770cf57..bfc03f8 100644 --- a/src/app/pages/layout-variations/demo-five/demo-five.component.spec.ts +++ b/src/app/pages/layout-variations/demo-five/demo-five.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { DemoFiveComponent } from './demo-five.component'; describe('DemoFiveComponent', () => { - let component: DemoFiveComponent; - let fixture: ComponentFixture; + let component: DemoFiveComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ DemoFiveComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DemoFiveComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(DemoFiveComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DemoFiveComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-five/demo-five.component.ts b/src/app/pages/layout-variations/demo-five/demo-five.component.ts index bfe26f1..6a1460b 100644 --- a/src/app/pages/layout-variations/demo-five/demo-five.component.ts +++ b/src/app/pages/layout-variations/demo-five/demo-five.component.ts @@ -1,80 +1,78 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-demo-five', - templateUrl: './demo-five.component.html', - styleUrls: ['./demo-five.component.css'] + selector: 'app-demo-five', + templateUrl: './demo-five.component.html', + styleUrls: ['./demo-five.component.css'], }) export class DemoFiveComponent implements OnInit { - appitems = [ - { - label: 'Item 1', - imageIcon: '/assets/batman.jpg', - items: [ + appitems = [ { - label: 'Item 1.1', - imageIcon: '/assets/blackpanther.jpg', + label: 'Item 1', + imageIcon: '/assets/batman.jpg', + items: [ + { + label: 'Item 1.1', + imageIcon: '/assets/blackpanther.jpg', + }, + { + label: 'Item 1.2', + imageIcon: '/assets/captainamerica.jpg', + items: [ + { + label: 'Item 1.2.1', + imageIcon: '/assets/drstange.jpg', + }, + { + label: 'Item 1.2.2', + imageIcon: '/assets/ironman.jpg', + items: [ + { + label: 'Item 1.2.2.1', + imageIcon: '/assets/shatiman.jpg', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - imageIcon: '/assets/captainamerica.jpg', - items: [ - { - label: 'Item 1.2.1', - imageIcon: '/assets/drstange.jpg', - }, - { - label: 'Item 1.2.2', - imageIcon: '/assets/ironman.jpg', - items: [ + label: 'Item 2', + icon: 'alarm', + items: [ { - label: 'Item 1.2.2.1', - imageIcon: '/assets/shatiman.jpg', - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ + label: 'Item 2.1', + icon: 'favorite', + }, + { + label: 'Item 2.2', + icon: 'favorite_border', + }, + ], + }, { - label: 'Item 2.1', - icon: 'favorite' + label: 'Item 3', + icon: 'offline_pin', }, { - label: 'Item 2.2', - icon: 'favorite_border' - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin' - }, - { - label: 'Item 4', - icon: 'star_rate', - hidden: true - } - ]; - - config = { - paddingAtStart: true, - classname: 'my-custom-lis', - rtlLayout: true - }; + label: 'Item 4', + icon: 'star_rate', + hidden: true, + }, + ]; - constructor() { } + config = { + paddingAtStart: true, + classname: 'my-custom-lis', + rtlLayout: true, + }; - ngOnInit() { - } + constructor() {} - selectedItem($event) { - console.log($event); - } + ngOnInit() {} + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/layout-variations/demo-five/demo-five.module.spec.ts b/src/app/pages/layout-variations/demo-five/demo-five.module.spec.ts index 69fda5d..60196c8 100644 --- a/src/app/pages/layout-variations/demo-five/demo-five.module.spec.ts +++ b/src/app/pages/layout-variations/demo-five/demo-five.module.spec.ts @@ -1,13 +1,13 @@ import { DemoFiveModule } from './demo-five.module'; describe('DemoFiveModule', () => { - let demoFiveModule: DemoFiveModule; + let demoFiveModule: DemoFiveModule; - beforeEach(() => { - demoFiveModule = new DemoFiveModule(); - }); + beforeEach(() => { + demoFiveModule = new DemoFiveModule(); + }); - it('should create an instance', () => { - expect(demoFiveModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(demoFiveModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-five/demo-five.module.ts b/src/app/pages/layout-variations/demo-five/demo-five.module.ts index 0d34cbf..5926a27 100644 --- a/src/app/pages/layout-variations/demo-five/demo-five.module.ts +++ b/src/app/pages/layout-variations/demo-five/demo-five.module.ts @@ -1,3 +1,4 @@ +import { LayoutVariationsModule } from './../layout-variations.module'; import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; @@ -8,12 +9,7 @@ import { DemoFiveRoutingModule } from './demo-five-routing.module'; import { DemoFiveComponent } from './demo-five.component'; @NgModule({ - imports: [ - CommonModule, - DemoFiveRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule - ], - declarations: [DemoFiveComponent] + imports: [CommonModule, DemoFiveRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], + declarations: [DemoFiveComponent], }) -export class DemoFiveModule { } +export class DemoFiveModule {} diff --git a/src/app/pages/layout-variations/demo-four/demo-four-routing.module.ts b/src/app/pages/layout-variations/demo-four/demo-four-routing.module.ts index 62b8217..258f54f 100644 --- a/src/app/pages/layout-variations/demo-four/demo-four-routing.module.ts +++ b/src/app/pages/layout-variations/demo-four/demo-four-routing.module.ts @@ -3,18 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { DemoFourComponent } from './demo-four.component'; -const routes: Routes = [{ - path: '', - component: DemoFourComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; - +const routes: Routes = [ + { + path: '', + component: DemoFourComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DemoFourRoutingModule { } +export class DemoFourRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-four/demo-four.component.css b/src/app/pages/layout-variations/demo-four/demo-four.component.css index 66f7fb3..372261a 100644 --- a/src/app/pages/layout-variations/demo-four/demo-four.component.css +++ b/src/app/pages/layout-variations/demo-four/demo-four.component.css @@ -8,12 +8,3 @@ h2 { margin-top: 2%; margin-bottom: 2%; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - width: 600px; - margin: auto; -} diff --git a/src/app/pages/layout-variations/demo-four/demo-four.component.html b/src/app/pages/layout-variations/demo-four/demo-four.component.html index a7ebd19..1cc7203 100644 --- a/src/app/pages/layout-variations/demo-four/demo-four.component.html +++ b/src/app/pages/layout-variations/demo-four/demo-four.component.html @@ -1,10 +1,10 @@
-

Use Images in the list

- -
- -
- Previous Demo - Next - Demo +

Use Images in the list

+
+ diff --git a/src/app/pages/layout-variations/demo-four/demo-four.component.spec.ts b/src/app/pages/layout-variations/demo-four/demo-four.component.spec.ts index 211abce..66deae0 100644 --- a/src/app/pages/layout-variations/demo-four/demo-four.component.spec.ts +++ b/src/app/pages/layout-variations/demo-four/demo-four.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { DemoFourComponent } from './demo-four.component'; describe('DemoFourComponent', () => { - let component: DemoFourComponent; - let fixture: ComponentFixture; + let component: DemoFourComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ DemoFourComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DemoFourComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(DemoFourComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DemoFourComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-four/demo-four.component.ts b/src/app/pages/layout-variations/demo-four/demo-four.component.ts index 217cec0..80bb313 100644 --- a/src/app/pages/layout-variations/demo-four/demo-four.component.ts +++ b/src/app/pages/layout-variations/demo-four/demo-four.component.ts @@ -1,79 +1,77 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-demo-four', - templateUrl: './demo-four.component.html', - styleUrls: ['./demo-four.component.css'] + selector: 'app-demo-four', + templateUrl: './demo-four.component.html', + styleUrls: ['./demo-four.component.css'], }) export class DemoFourComponent implements OnInit { - appitems = [ - { - label: 'Item 1 (with Font awesome icon)', - imageIcon: '/assets/batman.jpg', - items: [ + appitems = [ { - label: 'Item 1.1', - imageIcon: '/assets/blackpanther.jpg', + label: 'Item 1 (with Font awesome icon)', + imageIcon: '/assets/batman.jpg', + items: [ + { + label: 'Item 1.1', + imageIcon: '/assets/blackpanther.jpg', + }, + { + label: 'Item 1.2', + imageIcon: '/assets/captainamerica.jpg', + items: [ + { + label: 'Item 1.2.1', + imageIcon: '/assets/drstange.jpg', + }, + { + label: 'Item 1.2.2', + imageIcon: '/assets/ironman.jpg', + items: [ + { + label: 'Item 1.2.2.1', + imageIcon: '/assets/shatiman.jpg', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - imageIcon: '/assets/captainamerica.jpg', - items: [ - { - label: 'Item 1.2.1', - imageIcon: '/assets/drstange.jpg', - }, - { - label: 'Item 1.2.2', - imageIcon: '/assets/ironman.jpg', - items: [ + label: 'Item 2', + icon: 'alarm', + items: [ { - label: 'Item 1.2.2.1', - imageIcon: '/assets/shatiman.jpg', - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ + label: 'Item 2.1', + icon: 'favorite', + }, + { + label: 'Item 2.2', + icon: 'favorite_border', + }, + ], + }, { - label: 'Item 2.1', - icon: 'favorite' + label: 'Item 3', + icon: 'offline_pin', }, { - label: 'Item 2.2', - icon: 'favorite_border' - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin' - }, - { - label: 'Item 4', - icon: 'star_rate', - hidden: true - } - ]; - - config = { - paddingAtStart: false, - classname: 'my-custom-lis' - }; + label: 'Item 4', + icon: 'star_rate', + hidden: true, + }, + ]; - constructor() { } + config = { + paddingAtStart: false, + classname: 'my-custom-lis', + }; - ngOnInit() { - } + constructor() {} - selectedItem($event) { - console.log($event); - } + ngOnInit() {} + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/layout-variations/demo-four/demo-four.module.spec.ts b/src/app/pages/layout-variations/demo-four/demo-four.module.spec.ts index 887937d..8d9569a 100644 --- a/src/app/pages/layout-variations/demo-four/demo-four.module.spec.ts +++ b/src/app/pages/layout-variations/demo-four/demo-four.module.spec.ts @@ -1,13 +1,13 @@ import { DemoFourModule } from './demo-four.module'; describe('DemoFourModule', () => { - let demoFourModule: DemoFourModule; + let demoFourModule: DemoFourModule; - beforeEach(() => { - demoFourModule = new DemoFourModule(); - }); + beforeEach(() => { + demoFourModule = new DemoFourModule(); + }); - it('should create an instance', () => { - expect(demoFourModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(demoFourModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-four/demo-four.module.ts b/src/app/pages/layout-variations/demo-four/demo-four.module.ts index a1bb288..1e7edba 100644 --- a/src/app/pages/layout-variations/demo-four/demo-four.module.ts +++ b/src/app/pages/layout-variations/demo-four/demo-four.module.ts @@ -6,14 +6,10 @@ import { MaterialsModule } from './../../../modules/materials.module'; import { DemoFourRoutingModule } from './demo-four-routing.module'; import { DemoFourComponent } from './demo-four.component'; +import { LayoutVariationsModule } from '../layout-variations.module'; @NgModule({ - imports: [ - CommonModule, - DemoFourRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule - ], - declarations: [DemoFourComponent] + imports: [CommonModule, DemoFourRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], + declarations: [DemoFourComponent], }) -export class DemoFourModule { } +export class DemoFourModule {} diff --git a/src/app/pages/layout-variations/demo-one/demo-one-routing.module.ts b/src/app/pages/layout-variations/demo-one/demo-one-routing.module.ts index f246e82..82497ec 100644 --- a/src/app/pages/layout-variations/demo-one/demo-one-routing.module.ts +++ b/src/app/pages/layout-variations/demo-one/demo-one-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { DemoOneComponent } from './demo-one.component'; -const routes: Routes = [{ - path: '', - component: DemoOneComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: DemoOneComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DemoOneRoutingModule { } +export class DemoOneRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-one/demo-one.component.css b/src/app/pages/layout-variations/demo-one/demo-one.component.css index 2bd9404..80623df 100644 --- a/src/app/pages/layout-variations/demo-one/demo-one.component.css +++ b/src/app/pages/layout-variations/demo-one/demo-one.component.css @@ -7,12 +7,3 @@ h2 { margin-top: 2%; margin-bottom: 2%; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - width: 600px; - margin: auto; -} \ No newline at end of file diff --git a/src/app/pages/layout-variations/demo-one/demo-one.component.html b/src/app/pages/layout-variations/demo-one/demo-one.component.html index 6e864a7..db085c5 100644 --- a/src/app/pages/layout-variations/demo-one/demo-one.component.html +++ b/src/app/pages/layout-variations/demo-one/demo-one.component.html @@ -1,9 +1,9 @@
-

Default Demo

- -
- -
- Home - Next Demo +

Default Demo

+
+ diff --git a/src/app/pages/layout-variations/demo-one/demo-one.component.spec.ts b/src/app/pages/layout-variations/demo-one/demo-one.component.spec.ts index 4650315..1f33575 100644 --- a/src/app/pages/layout-variations/demo-one/demo-one.component.spec.ts +++ b/src/app/pages/layout-variations/demo-one/demo-one.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { DemoOneComponent } from './demo-one.component'; describe('DemoOneComponent', () => { - let component: DemoOneComponent; - let fixture: ComponentFixture; + let component: DemoOneComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ DemoOneComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DemoOneComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(DemoOneComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DemoOneComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-one/demo-one.component.ts b/src/app/pages/layout-variations/demo-one/demo-one.component.ts index d37ccca..d0dd394 100644 --- a/src/app/pages/layout-variations/demo-one/demo-one.component.ts +++ b/src/app/pages/layout-variations/demo-one/demo-one.component.ts @@ -1,74 +1,71 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-demo-one', - templateUrl: './demo-one.component.html', - styleUrls: ['./demo-one.component.css'] + selector: 'app-demo-one', + templateUrl: './demo-one.component.html', + styleUrls: ['./demo-one.component.css'], }) export class DemoOneComponent implements OnInit { - appitems = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ + appitems = [ { - label: 'Item 1.1', - faIcon: 'fab fa-accusoft' + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + items: [ + { + label: 'Item 1.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 1.2', + faIcon: 'fab fa-accessible-icon', + items: [ + { + label: 'Item 1.2.1', + faIcon: 'fas fa-allergies', + }, + { + label: 'Item 1.2.2', + faIcon: 'fas fa-ambulance', + items: [ + { + label: 'Item 1.2.2.1', + faIcon: 'fas fa-anchor', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - items: [ - { - label: 'Item 1.2.1', - faIcon: 'fas fa-allergies' - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ + label: 'Item 2', + icon: 'alarm', + items: [ { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor' - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ + label: 'Item 2.1', + icon: 'favorite', + }, + { + label: 'Item 2.2', + icon: 'favorite_border', + }, + ], + }, { - label: 'Item 2.1', - icon: 'favorite' + label: 'Item 3', + icon: 'offline_pin', }, { - label: 'Item 2.2', - icon: 'favorite_border' - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin' - }, - { - label: 'Item 4', - icon: 'star_rate', - hidden: true - } - ]; - constructor( - ) { } - - ngOnInit() { - } + label: 'Item 4', + icon: 'star_rate', + hidden: true, + }, + ]; + constructor() {} - selectedItem($event) { - console.log($event); - } + ngOnInit() {} + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/layout-variations/demo-one/demo-one.module.spec.ts b/src/app/pages/layout-variations/demo-one/demo-one.module.spec.ts index 5e3fc0c..0ebe31b 100644 --- a/src/app/pages/layout-variations/demo-one/demo-one.module.spec.ts +++ b/src/app/pages/layout-variations/demo-one/demo-one.module.spec.ts @@ -1,13 +1,13 @@ import { DemoOneModule } from './demo-one.module'; describe('DemoOneModule', () => { - let demoOneModule: DemoOneModule; + let demoOneModule: DemoOneModule; - beforeEach(() => { - demoOneModule = new DemoOneModule(); - }); + beforeEach(() => { + demoOneModule = new DemoOneModule(); + }); - it('should create an instance', () => { - expect(demoOneModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(demoOneModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-one/demo-one.module.ts b/src/app/pages/layout-variations/demo-one/demo-one.module.ts index 91a8764..e7b77b1 100644 --- a/src/app/pages/layout-variations/demo-one/demo-one.module.ts +++ b/src/app/pages/layout-variations/demo-one/demo-one.module.ts @@ -6,14 +6,10 @@ import { MaterialsModule } from './../../../modules/materials.module'; import { DemoOneRoutingModule } from './demo-one-routing.module'; import { DemoOneComponent } from './demo-one.component'; +import { LayoutVariationsModule } from '../layout-variations.module'; @NgModule({ - imports: [ - CommonModule, - DemoOneRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule - ], - declarations: [DemoOneComponent] + imports: [CommonModule, DemoOneRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], + declarations: [DemoOneComponent], }) -export class DemoOneModule { } +export class DemoOneModule {} diff --git a/src/app/pages/layout-variations/demo-six/demo-six-routing.module.ts b/src/app/pages/layout-variations/demo-six/demo-six-routing.module.ts index e662b66..94f2b12 100644 --- a/src/app/pages/layout-variations/demo-six/demo-six-routing.module.ts +++ b/src/app/pages/layout-variations/demo-six/demo-six-routing.module.ts @@ -2,34 +2,38 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { DemoSixComponent } from './demo-six.component'; -const routes: Routes = [{ - path: '', - component: DemoSixComponent, - children: [{ - path: '', - redirectTo: 'version-one', - pathMatch: 'full', - }, - { - path: 'version-one', - loadChildren: () => import('./version-one/version-one.module').then((m) => m.VersionOneModule), - }, +const routes: Routes = [ { - path: 'version-two', - loadChildren: () => import('./version-two/version-two.module').then((m) => m.VersionTwoModule), + path: '', + component: DemoSixComponent, + children: [ + { + path: '', + redirectTo: 'version-one', + pathMatch: 'full', + }, + { + path: 'version-one', + loadChildren: () => import('./version-one/version-one.module').then((m) => m.VersionOneModule), + }, + { + path: 'version-two', + loadChildren: () => import('./version-two/version-two.module').then((m) => m.VersionTwoModule), + }, + { + path: 'version-three', + loadChildren: () => import('./version-three/version-three.module').then((m) => m.VersionThreeModule), + }, + ], }, { - path: 'version-three', - loadChildren: () => import('./version-three/version-three.module').then((m) => m.VersionThreeModule), + path: '', + redirectTo: '/', + pathMatch: 'full', }, - ] -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DemoSixRoutingModule { } +export class DemoSixRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-six/demo-six.component.html b/src/app/pages/layout-variations/demo-six/demo-six.component.html index ac73df8..6098928 100644 --- a/src/app/pages/layout-variations/demo-six/demo-six.component.html +++ b/src/app/pages/layout-variations/demo-six/demo-six.component.html @@ -2,14 +2,21 @@ You can use use your own html templates to create List, the below demos will demostrate the same. + \ No newline at end of file + +
+ +
+ diff --git a/src/app/pages/layout-variations/demo-six/demo-six.component.spec.ts b/src/app/pages/layout-variations/demo-six/demo-six.component.spec.ts index b7f049f..ee5a3c4 100644 --- a/src/app/pages/layout-variations/demo-six/demo-six.component.spec.ts +++ b/src/app/pages/layout-variations/demo-six/demo-six.component.spec.ts @@ -1,29 +1,28 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DemoSixComponent } from './demo-six.component'; -import {MultilevelMenuService} from '../../../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service'; -import {Router} from '@angular/router'; -import {RouterTestingModule} from '@angular/router/testing'; +import { MultilevelMenuService } from '../../../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service'; +import { Router } from '@angular/router'; +import { RouterTestingModule } from '@angular/router/testing'; describe('DemoSixComponent', () => { - let component: DemoSixComponent; - let fixture: ComponentFixture; + let component: DemoSixComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ DemoSixComponent ], - imports: [ RouterTestingModule ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [DemoSixComponent], + imports: [RouterTestingModule], + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(DemoSixComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DemoSixComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-six/demo-six.component.ts b/src/app/pages/layout-variations/demo-six/demo-six.component.ts index a46e468..82e03cb 100644 --- a/src/app/pages/layout-variations/demo-six/demo-six.component.ts +++ b/src/app/pages/layout-variations/demo-six/demo-six.component.ts @@ -1,42 +1,43 @@ import { Component, OnInit } from '@angular/core'; -import {ThemePalette} from '@angular/material/core'; +import { ThemePalette } from '@angular/material/core'; import { NavigationEnd, Router } from '@angular/router'; @Component({ - selector: 'app-demo-six', - templateUrl: './demo-six.component.html', - styleUrls: ['./demo-six.component.css'] + selector: 'app-demo-six', + templateUrl: './demo-six.component.html', + styleUrls: ['./demo-six.component.css'], }) export class DemoSixComponent implements OnInit { - links = [{ - name: 'Basic Menu (RLT Demo)', - link: 'version-one' - }, { - name: 'Version Two', - link: 'version-two' - }, { - name: 'Version Three', - link: 'version-three' - }]; - activeLink = this.links[0].link; - background: ThemePalette = undefined; + links = [ + { + name: 'Basic Menu (RLT Demo)', + link: 'version-one', + }, + { + name: 'Version Two', + link: 'version-two', + }, + { + name: 'Version Three', + link: 'version-three', + }, + ]; + activeLink = this.links[0].link; + background: ThemePalette = undefined; - showDemo(link: string): void { - this.activeLink = link; - this.router.navigate([`/pages/layout-variations/demo-six/${link}`]); - } + showDemo(link: string): void { + this.activeLink = link; + this.router.navigate([`/pages/layout-variations/demo-six/${link}`]); + } - constructor( - private router: Router - ) { } - - ngOnInit(): void { - this.router.events.subscribe((routerEvent) => { - if (routerEvent instanceof NavigationEnd) { - const urlSplited = routerEvent.url.split('/'); - this.activeLink = urlSplited[urlSplited.length - 1]; - } - }); - } + constructor(private router: Router) {} + ngOnInit(): void { + this.router.events.subscribe((routerEvent) => { + if (routerEvent instanceof NavigationEnd) { + const urlSplited = routerEvent.url.split('/'); + this.activeLink = urlSplited[urlSplited.length - 1]; + } + }); + } } diff --git a/src/app/pages/layout-variations/demo-six/demo-six.module.ts b/src/app/pages/layout-variations/demo-six/demo-six.module.ts index 5b308f3..813f681 100644 --- a/src/app/pages/layout-variations/demo-six/demo-six.module.ts +++ b/src/app/pages/layout-variations/demo-six/demo-six.module.ts @@ -6,14 +6,10 @@ import { NgMaterialMultilevelMenuModule } from './../../../../../projects/ng-mat import { MaterialsModule } from './../../../modules/materials.module'; import { DemoSixRoutingModule } from './demo-six-routing.module'; import { DemoSixComponent } from './demo-six.component'; +import { LayoutVariationsModule } from '../layout-variations.module'; @NgModule({ - declarations: [DemoSixComponent], - imports: [ - CommonModule, - DemoSixRoutingModule, - MaterialsModule, - NgMaterialMultilevelMenuModule - ] + declarations: [DemoSixComponent], + imports: [CommonModule, DemoSixRoutingModule, MaterialsModule, NgMaterialMultilevelMenuModule, LayoutVariationsModule], }) -export class DemoSixModule { } +export class DemoSixModule {} diff --git a/src/app/pages/layout-variations/demo-six/version-one/version-one-routing.module.ts b/src/app/pages/layout-variations/demo-six/version-one/version-one-routing.module.ts index c64c300..9f486a1 100644 --- a/src/app/pages/layout-variations/demo-six/version-one/version-one-routing.module.ts +++ b/src/app/pages/layout-variations/demo-six/version-one/version-one-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { VersionOneComponent } from './version-one.component'; -const routes: Routes = [{ - path: '', - component: VersionOneComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: VersionOneComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class VersionOneRoutingModule { } +export class VersionOneRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-six/version-one/version-one.component.html b/src/app/pages/layout-variations/demo-six/version-one/version-one.component.html index e00c7d0..f66abc5 100644 --- a/src/app/pages/layout-variations/demo-six/version-one/version-one.component.html +++ b/src/app/pages/layout-variations/demo-six/version-one/version-one.component.html @@ -1,28 +1,41 @@
- - -
-
-
- -
-
- {{item.label}} -
+ + +
+
+
+ +
+
+ {{item.label}} +
+
+
+ + keyboard_arrow_down + + + keyboard_arrow_down + +
-
- - keyboard_arrow_down - - - keyboard_arrow_down - -
-
- - -
- + diff --git a/src/app/pages/layout-variations/demo-six/version-one/version-one.component.spec.ts b/src/app/pages/layout-variations/demo-six/version-one/version-one.component.spec.ts index 893b117..5882113 100644 --- a/src/app/pages/layout-variations/demo-six/version-one/version-one.component.spec.ts +++ b/src/app/pages/layout-variations/demo-six/version-one/version-one.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VersionOneComponent } from './version-one.component'; describe('VersionOneComponent', () => { - let component: VersionOneComponent; - let fixture: ComponentFixture; + let component: VersionOneComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ VersionOneComponent ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [VersionOneComponent], + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(VersionOneComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(VersionOneComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-six/version-one/version-one.component.ts b/src/app/pages/layout-variations/demo-six/version-one/version-one.component.ts index 24bdd6a..640e88c 100644 --- a/src/app/pages/layout-variations/demo-six/version-one/version-one.component.ts +++ b/src/app/pages/layout-variations/demo-six/version-one/version-one.component.ts @@ -1,84 +1,87 @@ import { Component, OnInit } from '@angular/core'; -import { MultilevelNode, Configuration, ExpandedRTL, ExpandedLTR } from './../../../../../../projects/ng-material-multilevel-menu/src/public_api'; +import { + MultilevelNode, + Configuration, + ExpandedRTL, + ExpandedLTR, +} from './../../../../../../projects/ng-material-multilevel-menu/src/public_api'; @Component({ - selector: 'app-version-one', - templateUrl: './version-one.component.html', - styleUrls: ['./version-one.component.css'], - animations: [ExpandedRTL, ExpandedLTR] + selector: 'app-version-one', + templateUrl: './version-one.component.html', + styleUrls: ['./version-one.component.css'], + animations: [ExpandedRTL, ExpandedLTR], }) export class VersionOneComponent implements OnInit { - appitems: MultilevelNode[] = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ + appitems: MultilevelNode[] = [ { - label: 'Item 1.1', - faIcon: 'fab fa-accusoft' + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + items: [ + { + label: 'Item 1.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 1.2', + faIcon: 'fab fa-accessible-icon', + items: [ + { + label: 'Item 1.2.1', + faIcon: 'fas fa-ambulance', + }, + { + label: 'Item 1.2.2', + faIcon: 'fas fa-ambulance', + items: [ + { + label: 'Item 1.2.2.1', + faIcon: 'fas fa-anchor', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - items: [ - { - label: 'Item 1.2.1', - faIcon: 'fas fa-ambulance', - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ + label: 'Item 2', + faIcon: 'fas fa-ambulance', + items: [ { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor' - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - faIcon: 'fas fa-ambulance', - items: [ - { - label: 'Item 2.1', - faIcon: 'fab fa-accusoft', + label: 'Item 2.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 2.2', + faIcon: 'fab fa-500px', + }, + ], }, { - label: 'Item 2.2', - faIcon: 'fab fa-500px', - } - ] - }, - { - label: 'Item 3', - faIcon: 'fas fa-anchor', - } - ]; - - config: Configuration = { - paddingAtStart: false, - rtlLayout: true, - customTemplate: true, - }; + label: 'Item 3', + faIcon: 'fas fa-anchor', + }, + ]; - constructor() { } + config: Configuration = { + paddingAtStart: false, + rtlLayout: true, + customTemplate: true, + }; - ngOnInit(): void { - } + constructor() {} - getClass(item) { - return { - [item.faIcon]: true - }; - } + ngOnInit(): void {} - selectedItem($event) { - console.log($event); - } + getClass(item) { + return { + [item.faIcon]: true, + }; + } + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/layout-variations/demo-six/version-one/version-one.module.ts b/src/app/pages/layout-variations/demo-six/version-one/version-one.module.ts index 2213efd..10a2dd3 100644 --- a/src/app/pages/layout-variations/demo-six/version-one/version-one.module.ts +++ b/src/app/pages/layout-variations/demo-six/version-one/version-one.module.ts @@ -6,15 +6,10 @@ import { MaterialsModule } from './../../../../modules/materials.module'; import { VersionOneRoutingModule } from './version-one-routing.module'; import { VersionOneComponent } from './version-one.component'; - +import { LayoutVariationsModule } from '../../layout-variations.module'; @NgModule({ - declarations: [VersionOneComponent], - imports: [ - CommonModule, - VersionOneRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule - ] + declarations: [VersionOneComponent], + imports: [CommonModule, VersionOneRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], }) -export class VersionOneModule { } +export class VersionOneModule {} diff --git a/src/app/pages/layout-variations/demo-six/version-three/version-three-routing.module.ts b/src/app/pages/layout-variations/demo-six/version-three/version-three-routing.module.ts index d478a03..1b863ac 100644 --- a/src/app/pages/layout-variations/demo-six/version-three/version-three-routing.module.ts +++ b/src/app/pages/layout-variations/demo-six/version-three/version-three-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { VersionThreeComponent } from './version-three.component'; -const routes: Routes = [{ - path: '', - component: VersionThreeComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: VersionThreeComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class VersionThreeRoutingModule { } +export class VersionThreeRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-six/version-three/version-three.component.html b/src/app/pages/layout-variations/demo-six/version-three/version-three.component.html index cbedd5d..6a71baf 100644 --- a/src/app/pages/layout-variations/demo-six/version-three/version-three.component.html +++ b/src/app/pages/layout-variations/demo-six/version-three/version-three.component.html @@ -1,25 +1,35 @@
- - + +
-
-
- {{item.label}} -
- - keyboard_arrow_down - +
+
+ + {{item.label}} + +
+ keyboard_arrow_down +
+
+
+ {{item.data}}
-
- {{item.data}} -
-
- \ No newline at end of file + diff --git a/src/app/pages/layout-variations/demo-six/version-three/version-three.component.spec.ts b/src/app/pages/layout-variations/demo-six/version-three/version-three.component.spec.ts index 7351c91..7d06edc 100644 --- a/src/app/pages/layout-variations/demo-six/version-three/version-three.component.spec.ts +++ b/src/app/pages/layout-variations/demo-six/version-three/version-three.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VersionThreeComponent } from './version-three.component'; describe('VersionThreeComponent', () => { - let component: VersionThreeComponent; - let fixture: ComponentFixture; + let component: VersionThreeComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ VersionThreeComponent ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [VersionThreeComponent], + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(VersionThreeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(VersionThreeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-six/version-three/version-three.component.ts b/src/app/pages/layout-variations/demo-six/version-three/version-three.component.ts index 93c76d8..5105250 100644 --- a/src/app/pages/layout-variations/demo-six/version-three/version-three.component.ts +++ b/src/app/pages/layout-variations/demo-six/version-three/version-three.component.ts @@ -1,49 +1,50 @@ import { Component, OnInit } from '@angular/core'; -import { MultilevelNode, Configuration, SlideInOut, ExpandedLTR } from './../../../../../../projects/ng-material-multilevel-menu/src/public_api'; -@Component({ - selector: 'app-version-three', - templateUrl: './version-three.component.html', - styleUrls: ['./version-three.component.css'], - animations: [ +import { + MultilevelNode, + Configuration, SlideInOut, ExpandedLTR, - ] +} from './../../../../../../projects/ng-material-multilevel-menu/src/public_api'; +@Component({ + selector: 'app-version-three', + templateUrl: './version-three.component.html', + styleUrls: ['./version-three.component.css'], + animations: [SlideInOut, ExpandedLTR], }) export class VersionThreeComponent implements OnInit { - appitems: MultilevelNode[] = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - data: `Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.` - }, - { - label: 'Item 2', - faIcon: 'fas fa-ambulance', - data: `Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.` - }, - { - label: 'Item 3', - faIcon: 'fas fa-anchor', - data: `Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. - Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.` - } - ]; + appitems: MultilevelNode[] = [ + { + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + data: `Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.`, + }, + { + label: 'Item 2', + faIcon: 'fas fa-ambulance', + data: `Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.`, + }, + { + label: 'Item 3', + faIcon: 'fas fa-anchor', + data: `Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. + Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.`, + }, + ]; - config: Configuration = { - paddingAtStart: false, - customTemplate: true, - selectedListFontColor: '#000', - collapseOnSelect: true - }; - constructor() { } + config: Configuration = { + paddingAtStart: false, + customTemplate: true, + selectedListFontColor: '#000', + collapseOnSelect: true, + }; + constructor() {} - ngOnInit(): void { - } + ngOnInit(): void {} - selectedItem($event) { - console.log($event); - } + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/layout-variations/demo-six/version-three/version-three.module.ts b/src/app/pages/layout-variations/demo-six/version-three/version-three.module.ts index eda43fb..4d4be49 100644 --- a/src/app/pages/layout-variations/demo-six/version-three/version-three.module.ts +++ b/src/app/pages/layout-variations/demo-six/version-three/version-three.module.ts @@ -6,15 +6,10 @@ import { MaterialsModule } from './../../../../modules/materials.module'; import { VersionThreeRoutingModule } from './version-three-routing.module'; import { VersionThreeComponent } from './version-three.component'; - +import { LayoutVariationsModule } from '../../layout-variations.module'; @NgModule({ - declarations: [VersionThreeComponent], - imports: [ - CommonModule, - VersionThreeRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule - ] + declarations: [VersionThreeComponent], + imports: [CommonModule, VersionThreeRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], }) -export class VersionThreeModule { } +export class VersionThreeModule {} diff --git a/src/app/pages/layout-variations/demo-six/version-two/version-two-routing.module.ts b/src/app/pages/layout-variations/demo-six/version-two/version-two-routing.module.ts index 0579b6a..fe624ee 100644 --- a/src/app/pages/layout-variations/demo-six/version-two/version-two-routing.module.ts +++ b/src/app/pages/layout-variations/demo-six/version-two/version-two-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { VersionTwoComponent } from './version-two.component'; -const routes: Routes = [{ - path: '', - component: VersionTwoComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: VersionTwoComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class VersionTwoRoutingModule { } +export class VersionTwoRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-six/version-two/version-two.component.html b/src/app/pages/layout-variations/demo-six/version-two/version-two.component.html index 277156f..4dc0444 100644 --- a/src/app/pages/layout-variations/demo-six/version-two/version-two.component.html +++ b/src/app/pages/layout-variations/demo-six/version-two/version-two.component.html @@ -1,23 +1,30 @@
- - -
-
-
- {{item.label}} -
-
+ + +
+
+
+ {{item.label}} +
+
+
+
+ keyboard_arrow_down +
-
- - keyboard_arrow_down - -
-
- - -
- + diff --git a/src/app/pages/layout-variations/demo-six/version-two/version-two.component.spec.ts b/src/app/pages/layout-variations/demo-six/version-two/version-two.component.spec.ts index c85a1ca..884c7a8 100644 --- a/src/app/pages/layout-variations/demo-six/version-two/version-two.component.spec.ts +++ b/src/app/pages/layout-variations/demo-six/version-two/version-two.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { VersionTwoComponent } from './version-two.component'; describe('VersionTwoComponent', () => { - let component: VersionTwoComponent; - let fixture: ComponentFixture; + let component: VersionTwoComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ VersionTwoComponent ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [VersionTwoComponent], + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(VersionTwoComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(VersionTwoComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-six/version-two/version-two.component.ts b/src/app/pages/layout-variations/demo-six/version-two/version-two.component.ts index b3f58d8..c60e933 100644 --- a/src/app/pages/layout-variations/demo-six/version-two/version-two.component.ts +++ b/src/app/pages/layout-variations/demo-six/version-two/version-two.component.ts @@ -1,77 +1,79 @@ import { Component, OnInit } from '@angular/core'; import { animate, group, state, style, transition, trigger } from '@angular/animations'; -import { MultilevelNode, Configuration, ExpandedRTL, ExpandedLTR } from './../../../../../../projects/ng-material-multilevel-menu/src/public_api'; - -@Component({ - selector: 'app-version-two', - templateUrl: './version-two.component.html', - styleUrls: ['./version-two.component.css'], - animations: [ +import { + MultilevelNode, + Configuration, ExpandedRTL, ExpandedLTR, - trigger('highlight', [ - state('no', style({ height: '0px' })), - state('yes', style({ height: '40%', })), +} from './../../../../../../projects/ng-material-multilevel-menu/src/public_api'; + +@Component({ + selector: 'app-version-two', + templateUrl: './version-two.component.html', + styleUrls: ['./version-two.component.css'], + animations: [ + ExpandedRTL, + ExpandedLTR, + trigger('highlight', [ + state('no', style({ height: '0px' })), + state('yes', style({ height: '40%' })), - transition('no => yes', animate(200)), - transition('yes => no', animate(200)) - ]) - ] + transition('no => yes', animate(200)), + transition('yes => no', animate(200)), + ]), + ], }) export class VersionTwoComponent implements OnInit { - appitems: MultilevelNode[] = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ - { - label: 'Item 1.1', - faIcon: 'fab fa-accusoft' - }, + appitems: MultilevelNode[] = [ { - label: 'Item 1.2.1', - faIcon: 'fas fa-ambulance', + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + items: [ + { + label: 'Item 1.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 1.2.1', + faIcon: 'fas fa-ambulance', + }, + { + label: 'Item 1.2.2', + faIcon: 'fas fa-anchor', + }, + ], }, { - label: 'Item 1.2.2', - faIcon: 'fas fa-anchor', + label: 'Item 2', + faIcon: 'fas fa-ambulance', + items: [ + { + label: 'Item 2.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 2.2', + faIcon: 'fab fa-500px', + }, + ], }, - ] - }, - { - label: 'Item 2', - faIcon: 'fas fa-ambulance', - items: [ { - label: 'Item 2.1', - faIcon: 'fab fa-accusoft', + label: 'Item 3', + faIcon: 'fas fa-anchor', }, - { - label: 'Item 2.2', - faIcon: 'fab fa-500px', - } - ] - }, - { - label: 'Item 3', - faIcon: 'fas fa-anchor', - } - ]; - - config: Configuration = { - paddingAtStart: false, - customTemplate: true, - selectedListFontColor: '#000' - }; - constructor() { } + ]; - ngOnInit(): void { - } - - selectedItem($event) { - console.log($event); - } + config: Configuration = { + paddingAtStart: false, + customTemplate: true, + selectedListFontColor: '#000', + }; + constructor() {} + ngOnInit(): void {} + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/layout-variations/demo-six/version-two/version-two.module.ts b/src/app/pages/layout-variations/demo-six/version-two/version-two.module.ts index e28e743..4fafa06 100644 --- a/src/app/pages/layout-variations/demo-six/version-two/version-two.module.ts +++ b/src/app/pages/layout-variations/demo-six/version-two/version-two.module.ts @@ -2,21 +2,15 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { BrowserAnimationsModule } from '@angular/platform-browser/animations'; - import { NgMaterialMultilevelMenuModule } from './../../../../../../projects/ng-material-multilevel-menu/src/public_api'; import { MaterialsModule } from './../../../../modules/materials.module'; import { VersionTwoRoutingModule } from './version-two-routing.module'; import { VersionTwoComponent } from './version-two.component'; - +import { LayoutVariationsModule } from '../../layout-variations.module'; @NgModule({ - declarations: [VersionTwoComponent], - imports: [ - CommonModule, - VersionTwoRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule, - ] + declarations: [VersionTwoComponent], + imports: [CommonModule, VersionTwoRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], }) -export class VersionTwoModule { } +export class VersionTwoModule {} diff --git a/src/app/pages/layout-variations/demo-three/demo-three-routing.module.ts b/src/app/pages/layout-variations/demo-three/demo-three-routing.module.ts index 3d78489..1e817ba 100644 --- a/src/app/pages/layout-variations/demo-three/demo-three-routing.module.ts +++ b/src/app/pages/layout-variations/demo-three/demo-three-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { DemoThreeComponent } from './demo-three.component'; -const routes: Routes = [{ - path: '', - component: DemoThreeComponent -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' - }]; +const routes: Routes = [ + { + path: '', + component: DemoThreeComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DemoThreeRoutingModule { } +export class DemoThreeRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-three/demo-three.component.html b/src/app/pages/layout-variations/demo-three/demo-three.component.html index 2a435a2..2f6bbcc 100644 --- a/src/app/pages/layout-variations/demo-three/demo-three.component.html +++ b/src/app/pages/layout-variations/demo-three/demo-three.component.html @@ -1,9 +1,10 @@
-

Change the colour of background

- -
- -
- Previous Demo - Next Demo +

Change the colour of background

+
+ diff --git a/src/app/pages/layout-variations/demo-three/demo-three.component.spec.ts b/src/app/pages/layout-variations/demo-three/demo-three.component.spec.ts index 3a60dc3..3bf83bd 100644 --- a/src/app/pages/layout-variations/demo-three/demo-three.component.spec.ts +++ b/src/app/pages/layout-variations/demo-three/demo-three.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { DemoThreeComponent } from './demo-three.component'; describe('DemoThreeComponent', () => { - let component: DemoThreeComponent; - let fixture: ComponentFixture; + let component: DemoThreeComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ DemoThreeComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DemoThreeComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(DemoThreeComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DemoThreeComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-three/demo-three.component.ts b/src/app/pages/layout-variations/demo-three/demo-three.component.ts index 08433e0..0531123 100644 --- a/src/app/pages/layout-variations/demo-three/demo-three.component.ts +++ b/src/app/pages/layout-variations/demo-three/demo-three.component.ts @@ -1,83 +1,81 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-demo-three', - templateUrl: './demo-three.component.html', - styleUrls: ['./demo-three.component.css'] + selector: 'app-demo-three', + templateUrl: './demo-three.component.html', + styleUrls: ['./demo-three.component.css'], }) export class DemoThreeComponent implements OnInit { - appitems = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ + appitems = [ { - label: 'Item 1.1', - faIcon: 'fab fa-accusoft' + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + items: [ + { + label: 'Item 1.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 1.2', + faIcon: 'fab fa-accessible-icon', + items: [ + { + label: 'Item 1.2.1', + faIcon: 'fas fa-allergies', + }, + { + label: 'Item 1.2.2', + faIcon: 'fas fa-ambulance', + items: [ + { + label: 'Item 1.2.2.1', + faIcon: 'fas fa-anchor', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - items: [ - { - label: 'Item 1.2.1', - faIcon: 'fas fa-allergies' - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ + label: 'Item 2', + icon: 'alarm', + items: [ { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor' - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ + label: 'Item 2.1', + icon: 'favorite', + }, + { + label: 'Item 2.2', + icon: 'favorite_border', + }, + ], + }, { - label: 'Item 2.1', - icon: 'favorite' + label: 'Item 3', + icon: 'offline_pin', }, { - label: 'Item 2.2', - icon: 'favorite_border' - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin' - }, - { - label: 'Item 4', - icon: 'star_rate', - hidden: true - } - ]; - - config = { - paddingAtStart: false, - classname: 'my-custom-list', - listBackgroundColor: `rgb(2, 4, 76)`, - fontColor: `#a5a5a5`, - backgroundColor: `rgb(2, 4, 76)`, - selectedListFontColor: `#fff`, - }; + label: 'Item 4', + icon: 'star_rate', + hidden: true, + }, + ]; - constructor() { } + config = { + paddingAtStart: false, + classname: 'my-custom-list', + listBackgroundColor: `rgb(2, 4, 76)`, + fontColor: `#a5a5a5`, + backgroundColor: `rgb(2, 4, 76)`, + selectedListFontColor: `#fff`, + }; - ngOnInit() { - } + constructor() {} - selectedItem($event) { - console.log($event); - } + ngOnInit() {} + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/layout-variations/demo-three/demo-three.module.spec.ts b/src/app/pages/layout-variations/demo-three/demo-three.module.spec.ts index 6c1eb88..28d285a 100644 --- a/src/app/pages/layout-variations/demo-three/demo-three.module.spec.ts +++ b/src/app/pages/layout-variations/demo-three/demo-three.module.spec.ts @@ -1,13 +1,13 @@ import { DemoThreeModule } from './demo-three.module'; describe('DemoThreeModule', () => { - let demoThreeModule: DemoThreeModule; + let demoThreeModule: DemoThreeModule; - beforeEach(() => { - demoThreeModule = new DemoThreeModule(); - }); + beforeEach(() => { + demoThreeModule = new DemoThreeModule(); + }); - it('should create an instance', () => { - expect(demoThreeModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(demoThreeModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-three/demo-three.module.ts b/src/app/pages/layout-variations/demo-three/demo-three.module.ts index 534e049..44f43e0 100644 --- a/src/app/pages/layout-variations/demo-three/demo-three.module.ts +++ b/src/app/pages/layout-variations/demo-three/demo-three.module.ts @@ -1,3 +1,4 @@ +import { LayoutVariationsModule } from './../layout-variations.module'; import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; @@ -8,12 +9,7 @@ import { DemoThreeRoutingModule } from './demo-three-routing.module'; import { DemoThreeComponent } from './demo-three.component'; @NgModule({ - imports: [ - CommonModule, - DemoThreeRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule - ], - declarations: [DemoThreeComponent] + imports: [CommonModule, DemoThreeRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], + declarations: [DemoThreeComponent], }) -export class DemoThreeModule { } +export class DemoThreeModule {} diff --git a/src/app/pages/layout-variations/demo-two/demo-two-routing.module.ts b/src/app/pages/layout-variations/demo-two/demo-two-routing.module.ts index 43e8347..97882b5 100644 --- a/src/app/pages/layout-variations/demo-two/demo-two-routing.module.ts +++ b/src/app/pages/layout-variations/demo-two/demo-two-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { DemoTwoComponent } from './demo-two.component'; -const routes: Routes = [{ - path: '', - component: DemoTwoComponent -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: DemoTwoComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DemoTwoRoutingModule { } +export class DemoTwoRoutingModule {} diff --git a/src/app/pages/layout-variations/demo-two/demo-two.component.css b/src/app/pages/layout-variations/demo-two/demo-two.component.css index 7892e98..372261a 100644 --- a/src/app/pages/layout-variations/demo-two/demo-two.component.css +++ b/src/app/pages/layout-variations/demo-two/demo-two.component.css @@ -8,12 +8,3 @@ h2 { margin-top: 2%; margin-bottom: 2%; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - width: 600px; - margin: auto; -} \ No newline at end of file diff --git a/src/app/pages/layout-variations/demo-two/demo-two.component.html b/src/app/pages/layout-variations/demo-two/demo-two.component.html index 7b08536..8bc5842 100644 --- a/src/app/pages/layout-variations/demo-two/demo-two.component.html +++ b/src/app/pages/layout-variations/demo-two/demo-two.component.html @@ -1,9 +1,10 @@
-

Change the colour of selected Items

- -
- -
- Previous Demo - Next Demo +

Change the colour of selected Items

+
+ diff --git a/src/app/pages/layout-variations/demo-two/demo-two.component.spec.ts b/src/app/pages/layout-variations/demo-two/demo-two.component.spec.ts index a57c705..2c6c02b 100644 --- a/src/app/pages/layout-variations/demo-two/demo-two.component.spec.ts +++ b/src/app/pages/layout-variations/demo-two/demo-two.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { DemoTwoComponent } from './demo-two.component'; describe('DemoTwoComponent', () => { - let component: DemoTwoComponent; - let fixture: ComponentFixture; + let component: DemoTwoComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ DemoTwoComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DemoTwoComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(DemoTwoComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DemoTwoComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-two/demo-two.component.ts b/src/app/pages/layout-variations/demo-two/demo-two.component.ts index aca6db6..8867ff8 100644 --- a/src/app/pages/layout-variations/demo-two/demo-two.component.ts +++ b/src/app/pages/layout-variations/demo-two/demo-two.component.ts @@ -1,83 +1,81 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-demo-two', - templateUrl: './demo-two.component.html', - styleUrls: ['./demo-two.component.css'] + selector: 'app-demo-two', + templateUrl: './demo-two.component.html', + styleUrls: ['./demo-two.component.css'], }) export class DemoTwoComponent implements OnInit { - appitems = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ + appitems = [ { - label: 'Item 1.1', - faIcon: 'fab fa-accusoft' + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + items: [ + { + label: 'Item 1.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 1.2', + faIcon: 'fab fa-accessible-icon', + items: [ + { + label: 'Item 1.2.1', + faIcon: 'fas fa-allergies', + }, + { + label: 'Item 1.2.2', + faIcon: 'fas fa-ambulance', + items: [ + { + label: 'Item 1.2.2.1', + faIcon: 'fas fa-anchor', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - items: [ - { - label: 'Item 1.2.1', - faIcon: 'fas fa-allergies' - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ + label: 'Item 2', + icon: 'alarm', + items: [ { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor' - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ + label: 'Item 2.1', + icon: 'favorite', + }, + { + label: 'Item 2.2', + icon: 'favorite_border', + }, + ], + }, { - label: 'Item 2.1', - icon: 'favorite' + label: 'Item 3', + icon: 'offline_pin', }, { - label: 'Item 2.2', - icon: 'favorite_border' - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin' - }, - { - label: 'Item 4', - icon: 'star_rate', - hidden: true - } - ]; - - config = { - paddingAtStart: true, - classname: 'my-custom-class', - listBackgroundColor: `rgb(208, 241, 239)`, - fontColor: `rgb(8, 54, 71)`, - backgroundColor: `rgb(208, 241, 239)`, - selectedListFontColor: `red`, - }; + label: 'Item 4', + icon: 'star_rate', + hidden: true, + }, + ]; - constructor() { } + config = { + paddingAtStart: true, + classname: 'my-custom-class', + listBackgroundColor: `rgb(208, 241, 239)`, + fontColor: `rgb(8, 54, 71)`, + backgroundColor: `rgb(208, 241, 239)`, + selectedListFontColor: `red`, + }; - ngOnInit() { - } + constructor() {} - selectedItem($event) { - console.log($event); - } + ngOnInit() {} + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/layout-variations/demo-two/demo-two.module.spec.ts b/src/app/pages/layout-variations/demo-two/demo-two.module.spec.ts index 595e088..fd7bca3 100644 --- a/src/app/pages/layout-variations/demo-two/demo-two.module.spec.ts +++ b/src/app/pages/layout-variations/demo-two/demo-two.module.spec.ts @@ -1,13 +1,13 @@ import { DemoTwoModule } from './demo-two.module'; describe('DemoTwoModule', () => { - let demoTwoModule: DemoTwoModule; + let demoTwoModule: DemoTwoModule; - beforeEach(() => { - demoTwoModule = new DemoTwoModule(); - }); + beforeEach(() => { + demoTwoModule = new DemoTwoModule(); + }); - it('should create an instance', () => { - expect(demoTwoModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(demoTwoModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/demo-two/demo-two.module.ts b/src/app/pages/layout-variations/demo-two/demo-two.module.ts index 365659f..921eecc 100644 --- a/src/app/pages/layout-variations/demo-two/demo-two.module.ts +++ b/src/app/pages/layout-variations/demo-two/demo-two.module.ts @@ -6,14 +6,10 @@ import { MaterialsModule } from './../../../modules/materials.module'; import { DemoTwoRoutingModule } from './demo-two-routing.module'; import { DemoTwoComponent } from './demo-two.component'; +import { LayoutVariationsModule } from '../layout-variations.module'; @NgModule({ - imports: [ - CommonModule, - DemoTwoRoutingModule, - MaterialsModule, - NgMaterialMultilevelMenuModule - ], - declarations: [DemoTwoComponent] + imports: [CommonModule, DemoTwoRoutingModule, MaterialsModule, NgMaterialMultilevelMenuModule, LayoutVariationsModule], + declarations: [DemoTwoComponent], }) -export class DemoTwoModule { } +export class DemoTwoModule {} diff --git a/src/app/pages/layout-variations/layout-variations-routing.module.ts b/src/app/pages/layout-variations/layout-variations-routing.module.ts index 431bd19..8b21639 100644 --- a/src/app/pages/layout-variations/layout-variations-routing.module.ts +++ b/src/app/pages/layout-variations/layout-variations-routing.module.ts @@ -3,42 +3,45 @@ import { Routes, RouterModule } from '@angular/router'; import { LayoutVariationsComponent } from './layout-variations.component'; -const routes: Routes = [{ - path: '', - component: LayoutVariationsComponent, - children: [ +const routes: Routes = [ { - path: 'demo-one', - loadChildren: () => import('./demo-one/demo-one.module').then((m) => m.DemoOneModule), + path: '', + component: LayoutVariationsComponent, + children: [ + { + path: 'demo-one', + loadChildren: () => import('./demo-one/demo-one.module').then((m) => m.DemoOneModule), + }, + { + path: 'demo-two', + loadChildren: () => import('./demo-two/demo-two.module').then((m) => m.DemoTwoModule), + }, + { + path: 'demo-three', + loadChildren: () => import('./demo-three/demo-three.module').then((m) => m.DemoThreeModule), + }, + { + path: 'demo-four', + loadChildren: () => import('./demo-four/demo-four.module').then((m) => m.DemoFourModule), + }, + { + path: 'demo-five', + loadChildren: () => import('./demo-five/demo-five.module').then((m) => m.DemoFiveModule), + }, + { + path: 'demo-six', + loadChildren: () => import('./demo-six/demo-six.module').then((m) => m.DemoSixModule), + }, + ], }, { - path: 'demo-two', - loadChildren: () => import('./demo-two/demo-two.module').then((m) => m.DemoTwoModule), + path: '**', + redirectTo: '', }, - { - path: 'demo-three', - loadChildren: () => import('./demo-three/demo-three.module').then((m) => m.DemoThreeModule), - }, - { - path: 'demo-four', - loadChildren: () => import('./demo-four/demo-four.module').then((m) => m.DemoFourModule), - }, - { - path: 'demo-five', - loadChildren: () => import('./demo-five/demo-five.module').then((m) => m.DemoFiveModule), - }, - { - path: 'demo-six', - loadChildren: () => import('./demo-six/demo-six.module').then((m) => m.DemoSixModule), - } - ] -}, { - path: '**', - redirectTo: '', -}]; +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class LayoutVariationsRoutingModule { } +export class LayoutVariationsRoutingModule {} diff --git a/src/app/pages/layout-variations/layout-variations.component.spec.ts b/src/app/pages/layout-variations/layout-variations.component.spec.ts index 2d79619..210eee7 100644 --- a/src/app/pages/layout-variations/layout-variations.component.spec.ts +++ b/src/app/pages/layout-variations/layout-variations.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { LayoutVariationsComponent } from './layout-variations.component'; describe('LayoutVariationsComponent', () => { - let component: LayoutVariationsComponent; - let fixture: ComponentFixture; + let component: LayoutVariationsComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ LayoutVariationsComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [LayoutVariationsComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(LayoutVariationsComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(LayoutVariationsComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/layout-variations.component.ts b/src/app/pages/layout-variations/layout-variations.component.ts index 8d71591..0637447 100644 --- a/src/app/pages/layout-variations/layout-variations.component.ts +++ b/src/app/pages/layout-variations/layout-variations.component.ts @@ -1,15 +1,12 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-layout-variations', - templateUrl: './layout-variations.component.html', - styleUrls: ['./layout-variations.component.css'] + selector: 'app-layout-variations', + templateUrl: './layout-variations.component.html', + styleUrls: ['./layout-variations.component.css'], }) export class LayoutVariationsComponent implements OnInit { + constructor() {} - constructor() { } - - ngOnInit() { - } - + ngOnInit() {} } diff --git a/src/app/pages/layout-variations/layout-variations.module.spec.ts b/src/app/pages/layout-variations/layout-variations.module.spec.ts index 1719d07..eb4333e 100644 --- a/src/app/pages/layout-variations/layout-variations.module.spec.ts +++ b/src/app/pages/layout-variations/layout-variations.module.spec.ts @@ -1,13 +1,13 @@ import { LayoutVariationsModule } from './layout-variations.module'; describe('LayoutVariationsModule', () => { - let layoutVariationsModule: LayoutVariationsModule; + let layoutVariationsModule: LayoutVariationsModule; - beforeEach(() => { - layoutVariationsModule = new LayoutVariationsModule(); - }); + beforeEach(() => { + layoutVariationsModule = new LayoutVariationsModule(); + }); - it('should create an instance', () => { - expect(layoutVariationsModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(layoutVariationsModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/layout-variations/layout-variations.module.ts b/src/app/pages/layout-variations/layout-variations.module.ts index e0737a9..472e31d 100644 --- a/src/app/pages/layout-variations/layout-variations.module.ts +++ b/src/app/pages/layout-variations/layout-variations.module.ts @@ -3,12 +3,11 @@ import { CommonModule } from '@angular/common'; import { LayoutVariationsRoutingModule } from './layout-variations-routing.module'; import { LayoutVariationsComponent } from './layout-variations.component'; +import { SwitchDemoComponent } from './switch-demo/switch-demo.component'; @NgModule({ - imports: [ - CommonModule, - LayoutVariationsRoutingModule - ], - declarations: [LayoutVariationsComponent] + imports: [CommonModule, LayoutVariationsRoutingModule], + declarations: [LayoutVariationsComponent, SwitchDemoComponent], + exports: [SwitchDemoComponent], }) -export class LayoutVariationsModule { } +export class LayoutVariationsModule {} diff --git a/src/app/pages/layout-variations/switch-demo/switch-demo.component.css b/src/app/pages/layout-variations/switch-demo/switch-demo.component.css new file mode 100644 index 0000000..ecf18b5 --- /dev/null +++ b/src/app/pages/layout-variations/switch-demo/switch-demo.component.css @@ -0,0 +1,8 @@ +.switch-demo { + display: flex; + flex-direction: flex-start; + justify-content: space-between; + padding-top: 10%; + width: 600px; + margin: auto; +} diff --git a/src/app/pages/layout-variations/switch-demo/switch-demo.component.html b/src/app/pages/layout-variations/switch-demo/switch-demo.component.html new file mode 100644 index 0000000..c0fc634 --- /dev/null +++ b/src/app/pages/layout-variations/switch-demo/switch-demo.component.html @@ -0,0 +1,14 @@ + diff --git a/src/app/pages/layout-variations/switch-demo/switch-demo.component.spec.ts b/src/app/pages/layout-variations/switch-demo/switch-demo.component.spec.ts new file mode 100644 index 0000000..aeb490a --- /dev/null +++ b/src/app/pages/layout-variations/switch-demo/switch-demo.component.spec.ts @@ -0,0 +1,21 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { SwitchDemoComponent } from './switch-demo.component'; + +describe('SwitchDemoComponent', () => { + let component: SwitchDemoComponent; + let fixture: ComponentFixture; + + beforeEach(() => { + TestBed.configureTestingModule({ + declarations: [SwitchDemoComponent] + }); + fixture = TestBed.createComponent(SwitchDemoComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/pages/layout-variations/switch-demo/switch-demo.component.ts b/src/app/pages/layout-variations/switch-demo/switch-demo.component.ts new file mode 100644 index 0000000..d3e20e7 --- /dev/null +++ b/src/app/pages/layout-variations/switch-demo/switch-demo.component.ts @@ -0,0 +1,13 @@ +import { Component, Input } from '@angular/core'; + +@Component({ + selector: 'app-switch-demo', + templateUrl: './switch-demo.component.html', + styleUrls: ['./switch-demo.component.css'], +}) +export class SwitchDemoComponent { + @Input() next: string; + @Input() nextLabel: string = 'Next Demo'; + @Input() previous: string; + @Input() previousLabel: string = 'Previous Demo'; +} diff --git a/src/app/pages/more-configuration/disable-padding/disable-padding-routing.module.ts b/src/app/pages/more-configuration/disable-padding/disable-padding-routing.module.ts index c93bf7c..652f03b 100644 --- a/src/app/pages/more-configuration/disable-padding/disable-padding-routing.module.ts +++ b/src/app/pages/more-configuration/disable-padding/disable-padding-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { DisablePaddingComponent } from './disable-padding.component'; -const routes: Routes = [{ - path: '', - component: DisablePaddingComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: DisablePaddingComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DisablePaddingRoutingModule { } +export class DisablePaddingRoutingModule {} diff --git a/src/app/pages/more-configuration/disable-padding/disable-padding.component.css b/src/app/pages/more-configuration/disable-padding/disable-padding.component.css index 6c85e41..ea9f9e9 100644 --- a/src/app/pages/more-configuration/disable-padding/disable-padding.component.css +++ b/src/app/pages/more-configuration/disable-padding/disable-padding.component.css @@ -27,12 +27,3 @@ h2 { margin-top: 2%; margin-bottom: 2%; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - width: 600px; - margin: auto; -} diff --git a/src/app/pages/more-configuration/disable-padding/disable-padding.component.html b/src/app/pages/more-configuration/disable-padding/disable-padding.component.html index cf2bcb7..907902f 100644 --- a/src/app/pages/more-configuration/disable-padding/disable-padding.component.html +++ b/src/app/pages/more-configuration/disable-padding/disable-padding.component.html @@ -1,9 +1,10 @@
-

Enable/Disable Padding of the Menu

- -
- -
- Previous Demo - Next Demo +

Enable/Disable Padding of the Menu

+
+ diff --git a/src/app/pages/more-configuration/disable-padding/disable-padding.component.spec.ts b/src/app/pages/more-configuration/disable-padding/disable-padding.component.spec.ts index 7fb5aef..c21aa26 100644 --- a/src/app/pages/more-configuration/disable-padding/disable-padding.component.spec.ts +++ b/src/app/pages/more-configuration/disable-padding/disable-padding.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { DisablePaddingComponent } from './disable-padding.component'; describe('DisablePaddingComponent', () => { - let component: DisablePaddingComponent; - let fixture: ComponentFixture; + let component: DisablePaddingComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ DisablePaddingComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DisablePaddingComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(DisablePaddingComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DisablePaddingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/disable-padding/disable-padding.component.ts b/src/app/pages/more-configuration/disable-padding/disable-padding.component.ts index bfa3cf5..f21bb89 100644 --- a/src/app/pages/more-configuration/disable-padding/disable-padding.component.ts +++ b/src/app/pages/more-configuration/disable-padding/disable-padding.component.ts @@ -1,78 +1,76 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-disable-padding', - templateUrl: './disable-padding.component.html', - styleUrls: ['./disable-padding.component.css'] + selector: 'app-disable-padding', + templateUrl: './disable-padding.component.html', + styleUrls: ['./disable-padding.component.css'], }) export class DisablePaddingComponent implements OnInit { - appitems = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ + appitems = [ { - label: 'Item 1.1', - faIcon: 'fab fa-accusoft' + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + items: [ + { + label: 'Item 1.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 1.2', + faIcon: 'fab fa-accessible-icon', + items: [ + { + label: 'Item 1.2.1', + faIcon: 'fas fa-allergies', + }, + { + label: 'Item 1.2.2', + faIcon: 'fas fa-ambulance', + items: [ + { + label: 'Item 1.2.2.1', + faIcon: 'fas fa-anchor', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - items: [ - { - label: 'Item 1.2.1', - faIcon: 'fas fa-allergies' - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ + label: 'Item 2', + icon: 'alarm', + items: [ { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor' - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ + label: 'Item 2.1', + icon: 'favorite', + }, + { + label: 'Item 2.2', + icon: 'favorite_border', + }, + ], + }, { - label: 'Item 2.1', - icon: 'favorite' + label: 'Item 3', + icon: 'offline_pin', }, { - label: 'Item 2.2', - icon: 'favorite_border' - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin' - }, - { - label: 'Item 4', - icon: 'star_rate', - hidden: true - } - ]; - - config = { - paddingAtStart: false - }; + label: 'Item 4', + icon: 'star_rate', + hidden: true, + }, + ]; - constructor() { } + config = { + paddingAtStart: false, + }; - ngOnInit() { - } + constructor() {} - selectedItem($event) { - console.log($event); - } + ngOnInit() {} + selectedItem($event) { + console.log($event); + } } diff --git a/src/app/pages/more-configuration/disable-padding/disable-padding.module.spec.ts b/src/app/pages/more-configuration/disable-padding/disable-padding.module.spec.ts index 839165c..1f4f3fc 100644 --- a/src/app/pages/more-configuration/disable-padding/disable-padding.module.spec.ts +++ b/src/app/pages/more-configuration/disable-padding/disable-padding.module.spec.ts @@ -1,13 +1,13 @@ import { DisablePaddingModule } from './disable-padding.module'; describe('DisablePaddingModule', () => { - let disablePaddingModule: DisablePaddingModule; + let disablePaddingModule: DisablePaddingModule; - beforeEach(() => { - disablePaddingModule = new DisablePaddingModule(); - }); + beforeEach(() => { + disablePaddingModule = new DisablePaddingModule(); + }); - it('should create an instance', () => { - expect(disablePaddingModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(disablePaddingModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/disable-padding/disable-padding.module.ts b/src/app/pages/more-configuration/disable-padding/disable-padding.module.ts index d5a1ba8..7dfa739 100644 --- a/src/app/pages/more-configuration/disable-padding/disable-padding.module.ts +++ b/src/app/pages/more-configuration/disable-padding/disable-padding.module.ts @@ -7,14 +7,10 @@ import { MaterialsModule } from './../../../modules/materials.module'; import { DisablePaddingRoutingModule } from './disable-padding-routing.module'; import { DisablePaddingComponent } from './disable-padding.component'; +import { LayoutVariationsModule } from '../../layout-variations/layout-variations.module'; @NgModule({ - imports: [ - CommonModule, - DisablePaddingRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule - ], - declarations: [DisablePaddingComponent] + imports: [CommonModule, DisablePaddingRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], + declarations: [DisablePaddingComponent], }) -export class DisablePaddingModule { } +export class DisablePaddingModule {} diff --git a/src/app/pages/more-configuration/disable-routing/disable-routing-routing.module.ts b/src/app/pages/more-configuration/disable-routing/disable-routing-routing.module.ts index 0c0aa77..a91c205 100644 --- a/src/app/pages/more-configuration/disable-routing/disable-routing-routing.module.ts +++ b/src/app/pages/more-configuration/disable-routing/disable-routing-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { DisableRoutingComponent } from './disable-routing.component'; -const routes: Routes = [{ - path: '', - component: DisableRoutingComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: DisableRoutingComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DisableRoutingRoutingModule { } +export class DisableRoutingRoutingModule {} diff --git a/src/app/pages/more-configuration/disable-routing/disable-routing.component.css b/src/app/pages/more-configuration/disable-routing/disable-routing.component.css index b61f979..8091478 100644 --- a/src/app/pages/more-configuration/disable-routing/disable-routing.component.css +++ b/src/app/pages/more-configuration/disable-routing/disable-routing.component.css @@ -15,12 +15,3 @@ code { background: #c4c4c457; padding: 5px; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - width: 600px; - margin: auto; -} diff --git a/src/app/pages/more-configuration/disable-routing/disable-routing.component.html b/src/app/pages/more-configuration/disable-routing/disable-routing.component.html index b4d1695..680b385 100644 --- a/src/app/pages/more-configuration/disable-routing/disable-routing.component.html +++ b/src/app/pages/more-configuration/disable-routing/disable-routing.component.html @@ -1,10 +1,12 @@
- By default, Routing is not enabled. - You need to enable it by Passing the interfaceWithRoute option in Configurations. - You can refer this in app.component.ts file. -
- -
- Previous Demo - Next Demo + By default, Routing is not enabled. You need to enable it by Passing the + + interfaceWithRoute + + option in Configurations. You can refer this in + app.component.ts + file.
+ diff --git a/src/app/pages/more-configuration/disable-routing/disable-routing.component.spec.ts b/src/app/pages/more-configuration/disable-routing/disable-routing.component.spec.ts index 8febd6f..d0746f4 100644 --- a/src/app/pages/more-configuration/disable-routing/disable-routing.component.spec.ts +++ b/src/app/pages/more-configuration/disable-routing/disable-routing.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { DisableRoutingComponent } from './disable-routing.component'; describe('DisableRoutingComponent', () => { - let component: DisableRoutingComponent; - let fixture: ComponentFixture; + let component: DisableRoutingComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ DisableRoutingComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [DisableRoutingComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(DisableRoutingComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DisableRoutingComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/disable-routing/disable-routing.component.ts b/src/app/pages/more-configuration/disable-routing/disable-routing.component.ts index a3b4b1e..11951b7 100644 --- a/src/app/pages/more-configuration/disable-routing/disable-routing.component.ts +++ b/src/app/pages/more-configuration/disable-routing/disable-routing.component.ts @@ -1,15 +1,12 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-disable-routing', - templateUrl: './disable-routing.component.html', - styleUrls: ['./disable-routing.component.css'] + selector: 'app-disable-routing', + templateUrl: './disable-routing.component.html', + styleUrls: ['./disable-routing.component.css'], }) export class DisableRoutingComponent implements OnInit { + constructor() {} - constructor() { } - - ngOnInit() { - } - + ngOnInit() {} } diff --git a/src/app/pages/more-configuration/disable-routing/disable-routing.module.spec.ts b/src/app/pages/more-configuration/disable-routing/disable-routing.module.spec.ts index a7b86e8..729361f 100644 --- a/src/app/pages/more-configuration/disable-routing/disable-routing.module.spec.ts +++ b/src/app/pages/more-configuration/disable-routing/disable-routing.module.spec.ts @@ -1,13 +1,13 @@ import { DisableRoutingModule } from './disable-routing.module'; describe('DisableRoutingModule', () => { - let disableRoutingModule: DisableRoutingModule; + let disableRoutingModule: DisableRoutingModule; - beforeEach(() => { - disableRoutingModule = new DisableRoutingModule(); - }); + beforeEach(() => { + disableRoutingModule = new DisableRoutingModule(); + }); - it('should create an instance', () => { - expect(disableRoutingModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(disableRoutingModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/disable-routing/disable-routing.module.ts b/src/app/pages/more-configuration/disable-routing/disable-routing.module.ts index 11304d9..c4b9fbd 100644 --- a/src/app/pages/more-configuration/disable-routing/disable-routing.module.ts +++ b/src/app/pages/more-configuration/disable-routing/disable-routing.module.ts @@ -7,14 +7,10 @@ import { MaterialsModule } from './../../../modules/materials.module'; import { DisableRoutingRoutingModule } from './disable-routing-routing.module'; import { DisableRoutingComponent } from './disable-routing.component'; +import { LayoutVariationsModule } from '../../layout-variations/layout-variations.module'; @NgModule({ - imports: [ - CommonModule, - DisableRoutingRoutingModule, - NgMaterialMultilevelMenuModule, - MaterialsModule - ], - declarations: [DisableRoutingComponent] + imports: [CommonModule, DisableRoutingRoutingModule, NgMaterialMultilevelMenuModule, MaterialsModule, LayoutVariationsModule], + declarations: [DisableRoutingComponent], }) -export class DisableRoutingModule { } +export class DisableRoutingModule {} diff --git a/src/app/pages/more-configuration/dont-emit/dont-emit-routing.module.ts b/src/app/pages/more-configuration/dont-emit/dont-emit-routing.module.ts index e115033..9807de9 100644 --- a/src/app/pages/more-configuration/dont-emit/dont-emit-routing.module.ts +++ b/src/app/pages/more-configuration/dont-emit/dont-emit-routing.module.ts @@ -2,17 +2,20 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { DontEmitComponent } from './dont-emit.component'; -const routes: Routes = [{ - path: '', - component: DontEmitComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: DontEmitComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class DontEmitRoutingModule { } +export class DontEmitRoutingModule {} diff --git a/src/app/pages/more-configuration/dont-emit/dont-emit.component.css b/src/app/pages/more-configuration/dont-emit/dont-emit.component.css index 4d0c70f..3867ec3 100644 --- a/src/app/pages/more-configuration/dont-emit/dont-emit.component.css +++ b/src/app/pages/more-configuration/dont-emit/dont-emit.component.css @@ -15,14 +15,3 @@ code { background: #c4c4c457; padding: 5px; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - padding-bottom: 10%; - width: 600px; - margin: auto; - -} diff --git a/src/app/pages/more-configuration/dont-emit/dont-emit.component.html b/src/app/pages/more-configuration/dont-emit/dont-emit.component.html index d034b73..acdf438 100644 --- a/src/app/pages/more-configuration/dont-emit/dont-emit.component.html +++ b/src/app/pages/more-configuration/dont-emit/dont-emit.component.html @@ -1,17 +1,29 @@
- By default, the method selectedItem() will emit the node which is currently selected either via routing or by a click. But there is an option to stop listening to this event if you want. -
- You can add one more property called dontEmit in the node object as shown below.
+ By default, the method + + selectedItem() + + will emit the node which is currently selected either via routing or by a click. But there is an option to stop listening to this event if you want. +
+ You can add one more property called + + dontEmit + + in the node object as shown below. +
         {{codeSnippet}}
     
- This property will apply to the current node only, it won't apply to its children nodes. The default behavior will be the same if you won't provide the dontEmit property. -
- See #133 for more information. + This property will apply to the current node only, it won't apply to its children nodes. The default behavior will be the same if you won't provide the + + dontEmit + + property. +
+ See + #133 + for more information.
- - - \ No newline at end of file + diff --git a/src/app/pages/more-configuration/dont-emit/dont-emit.component.spec.ts b/src/app/pages/more-configuration/dont-emit/dont-emit.component.spec.ts index 904f8b0..f504903 100644 --- a/src/app/pages/more-configuration/dont-emit/dont-emit.component.spec.ts +++ b/src/app/pages/more-configuration/dont-emit/dont-emit.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { DontEmitComponent } from './dont-emit.component'; describe('DontEmitComponent', () => { - let component: DontEmitComponent; - let fixture: ComponentFixture; + let component: DontEmitComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ DontEmitComponent ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [DontEmitComponent], + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(DontEmitComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(DontEmitComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/dont-emit/dont-emit.component.ts b/src/app/pages/more-configuration/dont-emit/dont-emit.component.ts index 2a7a5ea..177db50 100644 --- a/src/app/pages/more-configuration/dont-emit/dont-emit.component.ts +++ b/src/app/pages/more-configuration/dont-emit/dont-emit.component.ts @@ -1,13 +1,12 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-dont-emit', - templateUrl: './dont-emit.component.html', - styleUrls: ['./dont-emit.component.css'] + selector: 'app-dont-emit', + templateUrl: './dont-emit.component.html', + styleUrls: ['./dont-emit.component.css'], }) export class DontEmitComponent implements OnInit { - - codeSnippet = ` + codeSnippet = ` { label: 'Changing Colours', link: '/demo two', @@ -19,9 +18,7 @@ export class DontEmitComponent implements OnInit { } }`; - constructor() { } - - ngOnInit(): void { - } + constructor() {} + ngOnInit(): void {} } diff --git a/src/app/pages/more-configuration/dont-emit/dont-emit.module.ts b/src/app/pages/more-configuration/dont-emit/dont-emit.module.ts index 9ce74ea..e5be6d2 100644 --- a/src/app/pages/more-configuration/dont-emit/dont-emit.module.ts +++ b/src/app/pages/more-configuration/dont-emit/dont-emit.module.ts @@ -5,14 +5,10 @@ import { DontEmitRoutingModule } from './dont-emit-routing.module'; import { DontEmitComponent } from './dont-emit.component'; import { MaterialsModule } from './../../../modules/materials.module'; - +import { LayoutVariationsModule } from '../../layout-variations/layout-variations.module'; @NgModule({ - declarations: [DontEmitComponent], - imports: [ - CommonModule, - DontEmitRoutingModule, - MaterialsModule - ] + declarations: [DontEmitComponent], + imports: [CommonModule, DontEmitRoutingModule, MaterialsModule, LayoutVariationsModule], }) -export class DontEmitModule { } +export class DontEmitModule {} diff --git a/src/app/pages/more-configuration/expand-collapse/expand-collapse-routing.module.ts b/src/app/pages/more-configuration/expand-collapse/expand-collapse-routing.module.ts index f40e19b..69281bb 100644 --- a/src/app/pages/more-configuration/expand-collapse/expand-collapse-routing.module.ts +++ b/src/app/pages/more-configuration/expand-collapse/expand-collapse-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { ExpandCollapseComponent } from './expand-collapse.component'; -const routes: Routes = [{ - path: '', - component: ExpandCollapseComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: ExpandCollapseComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class ExpandCollapseRoutingModule { } +export class ExpandCollapseRoutingModule {} diff --git a/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.css b/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.css index 65562d6..eede59f 100644 --- a/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.css +++ b/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.css @@ -16,12 +16,3 @@ code { background: #c4c4c457; padding: 5px; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - width: 600px; - margin: auto; -} diff --git a/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.html b/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.html index 0f50b7a..98984ff 100644 --- a/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.html +++ b/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.html @@ -1,14 +1,15 @@
-

Expand/Collapse the Menu

- -
-   - -

-
- -
- Previous Demo - Next Demo +

Expand/Collapse the Menu

+ +
+ +   + +
+
+ diff --git a/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.spec.ts b/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.spec.ts index e418e3c..f805cf0 100644 --- a/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.spec.ts +++ b/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.spec.ts @@ -1,27 +1,26 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { ExpandCollapseComponent } from './expand-collapse.component'; -import {MultilevelMenuService} from '../../../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service'; +import { MultilevelMenuService } from '../../../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service'; describe('ExpandCollapseComponent', () => { - let component: ExpandCollapseComponent; - let fixture: ComponentFixture; + let component: ExpandCollapseComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ ExpandCollapseComponent ], - providers: [ MultilevelMenuService ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [ExpandCollapseComponent], + providers: [MultilevelMenuService], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(ExpandCollapseComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(ExpandCollapseComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.ts b/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.ts index a1f3439..c15f757 100644 --- a/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.ts +++ b/src/app/pages/more-configuration/expand-collapse/expand-collapse.component.ts @@ -3,77 +3,75 @@ import { Component, OnInit } from '@angular/core'; import { MultilevelNode, MultilevelMenuService } from './../../../../../projects/ng-material-multilevel-menu/src/public_api'; @Component({ - selector: 'app-expand-collapse', - templateUrl: './expand-collapse.component.html', - styleUrls: ['./expand-collapse.component.css'], + selector: 'app-expand-collapse', + templateUrl: './expand-collapse.component.html', + styleUrls: ['./expand-collapse.component.css'], }) export class ExpandCollapseComponent implements OnInit { - appitems: MultilevelNode[] = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ + appitems: MultilevelNode[] = [ { - label: 'Item 1.1', - faIcon: 'fab fa-accusoft', + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + items: [ + { + label: 'Item 1.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 1.2', + faIcon: 'fab fa-accessible-icon', + items: [ + { + label: 'Item 1.2.1', + faIcon: 'fas fa-allergies', + }, + { + label: 'Item 1.2.2', + faIcon: 'fas fa-ambulance', + items: [ + { + label: 'Item 1.2.2.1', + faIcon: 'fas fa-anchor', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - items: [ - { - label: 'Item 1.2.1', - faIcon: 'fas fa-allergies', - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ + label: 'Item 2', + icon: 'alarm', + items: [ + { + label: 'Item 2.1', + icon: 'favorite', + }, { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor', + label: 'Item 2.2', + icon: 'favorite_border', }, - ], - }, - ], + ], }, - ], - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ { - label: 'Item 2.1', - icon: 'favorite', + label: 'Item 3', + icon: 'offline_pin', }, { - label: 'Item 2.2', - icon: 'favorite_border', + label: 'Item 4', + icon: 'star_rate', + hidden: true, }, - ], - }, - { - label: 'Item 3', - icon: 'offline_pin', - }, - { - label: 'Item 4', - icon: 'star_rate', - hidden: true, - }, - ]; - constructor( - private multilevelMenuService: MultilevelMenuService, - ) {} + ]; + constructor(private multilevelMenuService: MultilevelMenuService) {} - ngOnInit(): void {} + ngOnInit(): void {} - setExpandCollapseStatus(type) { - this.multilevelMenuService.setMenuExpandCollapseStatus(type); - } + setExpandCollapseStatus(type) { + this.multilevelMenuService.setMenuExpandCollapseStatus(type); + } - selectedItem(menu) { - console.log(menu); - } + selectedItem(menu) { + console.log(menu); + } } diff --git a/src/app/pages/more-configuration/expand-collapse/expand-collapse.module.ts b/src/app/pages/more-configuration/expand-collapse/expand-collapse.module.ts index cd06e15..07403c2 100644 --- a/src/app/pages/more-configuration/expand-collapse/expand-collapse.module.ts +++ b/src/app/pages/more-configuration/expand-collapse/expand-collapse.module.ts @@ -1,25 +1,18 @@ import { NgModule } from '@angular/core'; import { CommonModule } from '@angular/common'; import { - NgMaterialMultilevelMenuModule, - MultilevelMenuService + NgMaterialMultilevelMenuModule, + MultilevelMenuService, } from './../../../../../projects/ng-material-multilevel-menu/src/public_api'; import { MaterialsModule } from './../../../modules/materials.module'; import { ExpandCollapseRoutingModule } from './expand-collapse-routing.module'; import { ExpandCollapseComponent } from './expand-collapse.component'; - +import { LayoutVariationsModule } from '../../layout-variations/layout-variations.module'; @NgModule({ - declarations: [ExpandCollapseComponent], - imports: [ - CommonModule, - MaterialsModule, - ExpandCollapseRoutingModule, - NgMaterialMultilevelMenuModule, - ], - providers: [ - MultilevelMenuService - ] + declarations: [ExpandCollapseComponent], + imports: [CommonModule, MaterialsModule, ExpandCollapseRoutingModule, NgMaterialMultilevelMenuModule, LayoutVariationsModule], + providers: [MultilevelMenuService], }) export class ExpandCollapseModule {} diff --git a/src/app/pages/more-configuration/more-configuration-routing.module.ts b/src/app/pages/more-configuration/more-configuration-routing.module.ts index d1b0149..231d054 100644 --- a/src/app/pages/more-configuration/more-configuration-routing.module.ts +++ b/src/app/pages/more-configuration/more-configuration-routing.module.ts @@ -3,46 +3,49 @@ import { Routes, RouterModule } from '@angular/router'; import { MoreConfigurationComponent } from './more-configuration.component'; -const routes: Routes = [{ - path: '', - component: MoreConfigurationComponent, - children: [ +const routes: Routes = [ { - path: 'disable-padding', - loadChildren: () => import('./disable-padding/disable-padding.module').then((m) => m.DisablePaddingModule), + path: '', + component: MoreConfigurationComponent, + children: [ + { + path: 'disable-padding', + loadChildren: () => import('./disable-padding/disable-padding.module').then((m) => m.DisablePaddingModule), + }, + { + path: 'disable-routing', + loadChildren: () => import('./disable-routing/disable-routing.module').then((m) => m.DisableRoutingModule), + }, + { + path: 'expand-collapse', + loadChildren: () => import('./expand-collapse/expand-collapse.module').then((m) => m.ExpandCollapseModule), + }, + { + path: 'dont-emit', + loadChildren: () => import('./dont-emit/dont-emit.module').then((m) => m.DontEmitModule), + }, + { + path: 'select-by-id', + loadChildren: () => import('./select-by-id/select-by-id.module').then((m) => m.SelectByIdModule), + }, + { + path: 'on-select', + loadChildren: () => import('./on-select/on-select.module').then((m) => m.OnSelectModule), + }, + { + path: '**', + redirectTo: 'demo-one', + }, + ], }, { - path: 'disable-routing', - loadChildren: () => import('./disable-routing/disable-routing.module').then((m) => m.DisableRoutingModule), + path: '**', + redirectTo: '', }, - { - path: 'expand-collapse', - loadChildren: () => import('./expand-collapse/expand-collapse.module').then((m) => m.ExpandCollapseModule), - }, - { - path: 'dont-emit', - loadChildren: () => import('./dont-emit/dont-emit.module').then((m) => m.DontEmitModule), - }, - { - path: 'select-by-id', - loadChildren: () => import('./select-by-id/select-by-id.module').then((m) => m.SelectByIdModule), - }, - { - path: 'on-select', - loadChildren: () => import('./on-select/on-select.module').then((m) => m.OnSelectModule), - }, - { - path: '**', - redirectTo: 'demo-one', - } - ] -}, { - path: '**', - redirectTo: '', -}]; +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class MoreConfigurationRoutingModule { } +export class MoreConfigurationRoutingModule {} diff --git a/src/app/pages/more-configuration/more-configuration.component.spec.ts b/src/app/pages/more-configuration/more-configuration.component.spec.ts index 28e678f..d51d438 100644 --- a/src/app/pages/more-configuration/more-configuration.component.spec.ts +++ b/src/app/pages/more-configuration/more-configuration.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { MoreConfigurationComponent } from './more-configuration.component'; describe('MoreConfigurationComponent', () => { - let component: MoreConfigurationComponent; - let fixture: ComponentFixture; + let component: MoreConfigurationComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ MoreConfigurationComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [MoreConfigurationComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(MoreConfigurationComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(MoreConfigurationComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/more-configuration.component.ts b/src/app/pages/more-configuration/more-configuration.component.ts index 15b45db..2ce8317 100644 --- a/src/app/pages/more-configuration/more-configuration.component.ts +++ b/src/app/pages/more-configuration/more-configuration.component.ts @@ -1,15 +1,12 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-more-configuration', - templateUrl: './more-configuration.component.html', - styleUrls: ['./more-configuration.component.css'] + selector: 'app-more-configuration', + templateUrl: './more-configuration.component.html', + styleUrls: ['./more-configuration.component.css'], }) export class MoreConfigurationComponent implements OnInit { + constructor() {} - constructor() { } - - ngOnInit() { - } - + ngOnInit() {} } diff --git a/src/app/pages/more-configuration/more-configuration.module.spec.ts b/src/app/pages/more-configuration/more-configuration.module.spec.ts index f747b7a..04a7b13 100644 --- a/src/app/pages/more-configuration/more-configuration.module.spec.ts +++ b/src/app/pages/more-configuration/more-configuration.module.spec.ts @@ -1,13 +1,13 @@ import { MoreConfigurationModule } from './more-configuration.module'; describe('MoreConfigurationModule', () => { - let moreConfigurationModule: MoreConfigurationModule; + let moreConfigurationModule: MoreConfigurationModule; - beforeEach(() => { - moreConfigurationModule = new MoreConfigurationModule(); - }); + beforeEach(() => { + moreConfigurationModule = new MoreConfigurationModule(); + }); - it('should create an instance', () => { - expect(moreConfigurationModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(moreConfigurationModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/more-configuration.module.ts b/src/app/pages/more-configuration/more-configuration.module.ts index 52a9dd8..94ac8b4 100644 --- a/src/app/pages/more-configuration/more-configuration.module.ts +++ b/src/app/pages/more-configuration/more-configuration.module.ts @@ -3,12 +3,10 @@ import { CommonModule } from '@angular/common'; import { MoreConfigurationRoutingModule } from './more-configuration-routing.module'; import { MoreConfigurationComponent } from './more-configuration.component'; +import { LayoutVariationsModule } from '../layout-variations/layout-variations.module'; @NgModule({ - imports: [ - CommonModule, - MoreConfigurationRoutingModule - ], - declarations: [MoreConfigurationComponent] + imports: [CommonModule, MoreConfigurationRoutingModule, LayoutVariationsModule], + declarations: [MoreConfigurationComponent], }) -export class MoreConfigurationModule { } +export class MoreConfigurationModule {} diff --git a/src/app/pages/more-configuration/on-select/on-select-routing.module.ts b/src/app/pages/more-configuration/on-select/on-select-routing.module.ts index 097d3de..926aba4 100644 --- a/src/app/pages/more-configuration/on-select/on-select-routing.module.ts +++ b/src/app/pages/more-configuration/on-select/on-select-routing.module.ts @@ -3,17 +3,20 @@ import { Routes, RouterModule } from '@angular/router'; import { OnSelectComponent } from './on-select.component'; -const routes: Routes = [{ - path: '', - component: OnSelectComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: OnSelectComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class OnSelectRoutingModule { } +export class OnSelectRoutingModule {} diff --git a/src/app/pages/more-configuration/on-select/on-select.component.css b/src/app/pages/more-configuration/on-select/on-select.component.css index 4d0c70f..3867ec3 100644 --- a/src/app/pages/more-configuration/on-select/on-select.component.css +++ b/src/app/pages/more-configuration/on-select/on-select.component.css @@ -15,14 +15,3 @@ code { background: #c4c4c457; padding: 5px; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - padding-bottom: 10%; - width: 600px; - margin: auto; - -} diff --git a/src/app/pages/more-configuration/on-select/on-select.component.html b/src/app/pages/more-configuration/on-select/on-select.component.html index 7c8ea59..639a346 100644 --- a/src/app/pages/more-configuration/on-select/on-select.component.html +++ b/src/app/pages/more-configuration/on-select/on-select.component.html @@ -1,5 +1,17 @@
- Just in case if you don't want to use href, routerLink and you want to write your own logic for redirection then you can use onSelect Property. + Just in case if you don't want to use + + href + + , + + routerLink + + and you want to write your own logic for redirection then you can use + + onSelect + + Property.
         {{codeSnippet}}
     
@@ -7,10 +19,9 @@
         {{codeSnippetUsage}}
     
-
-
- - diff --git a/src/app/pages/more-configuration/on-select/on-select.component.spec.ts b/src/app/pages/more-configuration/on-select/on-select.component.spec.ts index 752d733..61a0630 100644 --- a/src/app/pages/more-configuration/on-select/on-select.component.spec.ts +++ b/src/app/pages/more-configuration/on-select/on-select.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { OnSelectComponent } from './on-select.component'; describe('OnSelectComponent', () => { - let component: OnSelectComponent; - let fixture: ComponentFixture; + let component: OnSelectComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ OnSelectComponent ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [OnSelectComponent], + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(OnSelectComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(OnSelectComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/on-select/on-select.component.ts b/src/app/pages/more-configuration/on-select/on-select.component.ts index daa68ce..3989526 100644 --- a/src/app/pages/more-configuration/on-select/on-select.component.ts +++ b/src/app/pages/more-configuration/on-select/on-select.component.ts @@ -1,13 +1,12 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-on-select', - templateUrl: './on-select.component.html', - styleUrls: ['./on-select.component.css'] + selector: 'app-on-select', + templateUrl: './on-select.component.html', + styleUrls: ['./on-select.component.css'], }) export class OnSelectComponent implements OnInit { - - codeSnippet = ` + codeSnippet = ` { label: 'Changing Colours', link: '/demo two', @@ -17,7 +16,7 @@ export class OnSelectComponent implements OnInit { } }`; - codeSnippetUsage = ` + codeSnippetUsage = ` import { Component } from '@angular/core'; import { MultilevelNodes, @@ -53,9 +52,7 @@ export class OnSelectComponent implements OnInit { } `; - constructor() { } - - ngOnInit(): void { - } + constructor() {} + ngOnInit(): void {} } diff --git a/src/app/pages/more-configuration/on-select/on-select.module.ts b/src/app/pages/more-configuration/on-select/on-select.module.ts index 4c5849a..2c68f0b 100644 --- a/src/app/pages/more-configuration/on-select/on-select.module.ts +++ b/src/app/pages/more-configuration/on-select/on-select.module.ts @@ -5,13 +5,10 @@ import { MaterialsModule } from './../../../modules/materials.module'; import { OnSelectRoutingModule } from './on-select-routing.module'; import { OnSelectComponent } from './on-select.component'; +import { LayoutVariationsModule } from '../../layout-variations/layout-variations.module'; @NgModule({ - declarations: [OnSelectComponent], - imports: [ - CommonModule, - OnSelectRoutingModule, - MaterialsModule - ] + declarations: [OnSelectComponent], + imports: [CommonModule, OnSelectRoutingModule, MaterialsModule, LayoutVariationsModule], }) -export class OnSelectModule { } +export class OnSelectModule {} diff --git a/src/app/pages/more-configuration/select-by-id/select-by-id-routing.module.ts b/src/app/pages/more-configuration/select-by-id/select-by-id-routing.module.ts index 89d8f3d..5ecaf5f 100644 --- a/src/app/pages/more-configuration/select-by-id/select-by-id-routing.module.ts +++ b/src/app/pages/more-configuration/select-by-id/select-by-id-routing.module.ts @@ -2,16 +2,19 @@ import { NgModule } from '@angular/core'; import { Routes, RouterModule } from '@angular/router'; import { SelectByIdComponent } from './select-by-id.component'; -const routes: Routes = [{ - path: '', - component: SelectByIdComponent, -}, { - path: '', - redirectTo: '/', - pathMatch: 'full' -}]; +const routes: Routes = [ + { + path: '', + component: SelectByIdComponent, + }, + { + path: '', + redirectTo: '/', + pathMatch: 'full', + }, +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class SelectByIdRoutingModule { } +export class SelectByIdRoutingModule {} diff --git a/src/app/pages/more-configuration/select-by-id/select-by-id.component.css b/src/app/pages/more-configuration/select-by-id/select-by-id.component.css index 7ef89a1..b4ccb55 100644 --- a/src/app/pages/more-configuration/select-by-id/select-by-id.component.css +++ b/src/app/pages/more-configuration/select-by-id/select-by-id.component.css @@ -24,12 +24,3 @@ h2 { .input-box button { border: solid 1px #3f51b5; } - -.switch-demo { - display: flex; - flex-direction: flex-start; - justify-content: space-between; - padding-top: 10%; - width: 600px; - margin: auto; -} \ No newline at end of file diff --git a/src/app/pages/more-configuration/select-by-id/select-by-id.component.html b/src/app/pages/more-configuration/select-by-id/select-by-id.component.html index b489068..5e6a977 100644 --- a/src/app/pages/more-configuration/select-by-id/select-by-id.component.html +++ b/src/app/pages/more-configuration/select-by-id/select-by-id.component.html @@ -1,13 +1,23 @@

Change the colour of selected Items

- - + +
- -
- - + diff --git a/src/app/pages/more-configuration/select-by-id/select-by-id.component.spec.ts b/src/app/pages/more-configuration/select-by-id/select-by-id.component.spec.ts index 54ac081..e89e3bd 100644 --- a/src/app/pages/more-configuration/select-by-id/select-by-id.component.spec.ts +++ b/src/app/pages/more-configuration/select-by-id/select-by-id.component.spec.ts @@ -1,27 +1,26 @@ import { ComponentFixture, TestBed } from '@angular/core/testing'; import { SelectByIdComponent } from './select-by-id.component'; -import {MultilevelMenuService} from '../../../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service'; +import { MultilevelMenuService } from '../../../../../projects/ng-material-multilevel-menu/src/lib/multilevel-menu.service'; describe('SelectByIdComponent', () => { - let component: SelectByIdComponent; - let fixture: ComponentFixture; + let component: SelectByIdComponent; + let fixture: ComponentFixture; - beforeEach(async () => { - await TestBed.configureTestingModule({ - declarations: [ SelectByIdComponent ], - providers: [ MultilevelMenuService ] - }) - .compileComponents(); - }); + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [SelectByIdComponent], + providers: [MultilevelMenuService], + }).compileComponents(); + }); - beforeEach(() => { - fixture = TestBed.createComponent(SelectByIdComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(SelectByIdComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/more-configuration/select-by-id/select-by-id.component.ts b/src/app/pages/more-configuration/select-by-id/select-by-id.component.ts index 700f84e..7714bc8 100644 --- a/src/app/pages/more-configuration/select-by-id/select-by-id.component.ts +++ b/src/app/pages/more-configuration/select-by-id/select-by-id.component.ts @@ -1,105 +1,101 @@ import { Component, OnInit } from '@angular/core'; import { - MultilevelMenuService, - MultilevelNode, - Configuration + MultilevelMenuService, + MultilevelNode, + Configuration, } from './../../../../../projects/ng-material-multilevel-menu/src/public_api'; @Component({ - selector: 'app-select-by-id', - templateUrl: './select-by-id.component.html', - styleUrls: ['./select-by-id.component.css'] + selector: 'app-select-by-id', + templateUrl: './select-by-id.component.html', + styleUrls: ['./select-by-id.component.css'], }) export class SelectByIdComponent implements OnInit { - appitems: MultilevelNode[] = [ - { - label: 'Item 1 (with Font awesome icon)', - faIcon: 'fab fa-500px', - items: [ + appitems: MultilevelNode[] = [ { - label: 'Item 1.1', - faIcon: 'fab fa-accusoft' + label: 'Item 1 (with Font awesome icon)', + faIcon: 'fab fa-500px', + items: [ + { + label: 'Item 1.1', + faIcon: 'fab fa-accusoft', + }, + { + label: 'Item 1.2', + faIcon: 'fab fa-accessible-icon', + items: [ + { + label: 'Item 1.2.1', + faIcon: 'fas fa-allergies', + }, + { + label: 'Item 1.2.2', + faIcon: 'fas fa-ambulance', + items: [ + { + label: 'Item 1.2.2.1', + faIcon: 'fas fa-anchor', + }, + ], + }, + ], + }, + ], }, { - label: 'Item 1.2', - faIcon: 'fab fa-accessible-icon', - items: [ - { - label: 'Item 1.2.1', - faIcon: 'fas fa-allergies' - }, - { - label: 'Item 1.2.2', - faIcon: 'fas fa-ambulance', - items: [ + label: 'Item 2', + icon: 'alarm', + items: [ { - label: 'Item 1.2.2.1', - faIcon: 'fas fa-anchor' - } - ] - } - ] - } - ] - }, - { - label: 'Item 2', - icon: 'alarm', - items: [ + label: 'Item 2.1', + icon: 'favorite', + }, + { + label: 'Item 2.2', + icon: 'favorite_border', + }, + ], + }, { - label: 'Item 2.1', - icon: 'favorite' + label: 'Item 3', + icon: 'offline_pin', }, { - label: 'Item 2.2', - icon: 'favorite_border' - } - ] - }, - { - label: 'Item 3', - icon: 'offline_pin' - }, - { - label: 'Item 4', - icon: 'star_rate', - hidden: true - } - ]; + label: 'Item 4', + icon: 'star_rate', + hidden: true, + }, + ]; - config: Configuration = { - paddingAtStart: true, - classname: 'my-custom-class', - listBackgroundColor: `rgb(208, 241, 239)`, - fontColor: `rgb(8, 54, 71)`, - backgroundColor: `rgb(208, 241, 239)`, - selectedListFontColor: `red`, - }; + config: Configuration = { + paddingAtStart: true, + classname: 'my-custom-class', + listBackgroundColor: `rgb(208, 241, 239)`, + fontColor: `rgb(8, 54, 71)`, + backgroundColor: `rgb(208, 241, 239)`, + selectedListFontColor: `red`, + }; - menuId: string = null; + menuId: string = null; - constructor( - private multilevelMenuService: MultilevelMenuService - ) {} + constructor(private multilevelMenuService: MultilevelMenuService) {} - selectMenuID() { - if (this.menuId === null) { - alert('Menu ID can\'t be empty'); - return; + selectMenuID() { + if (this.menuId === null) { + alert("Menu ID can't be empty"); + return; + } + this.multilevelMenuService.selectMenuByID(this.menuId); } - this.multilevelMenuService.selectMenuByID(this.menuId); - } - selectedItem(event: MultilevelNode) { - console.log(event); - } - - ngOnInit(): void { - } + selectedItem(event: MultilevelNode) { + console.log(event); + } - menuIsReady(menus: MultilevelNode[]) { - console.log(menus); - } + ngOnInit(): void {} + menuIsReady(menus: MultilevelNode[]) { + console.log(menus); + } } diff --git a/src/app/pages/more-configuration/select-by-id/select-by-id.module.ts b/src/app/pages/more-configuration/select-by-id/select-by-id.module.ts index 412f973..8358244 100644 --- a/src/app/pages/more-configuration/select-by-id/select-by-id.module.ts +++ b/src/app/pages/more-configuration/select-by-id/select-by-id.module.ts @@ -7,15 +7,17 @@ import { SelectByIdComponent } from './select-by-id.component'; import { MaterialsModule } from './../../../modules/materials.module'; import { NgMaterialMultilevelMenuModule } from './../../../../../projects/ng-material-multilevel-menu/src/public_api'; +import { LayoutVariationsModule } from '../../layout-variations/layout-variations.module'; @NgModule({ - declarations: [SelectByIdComponent], - imports: [ - CommonModule, - SelectByIdRoutingModule, - FormsModule, - MaterialsModule, - NgMaterialMultilevelMenuModule - ] + declarations: [SelectByIdComponent], + imports: [ + CommonModule, + SelectByIdRoutingModule, + FormsModule, + MaterialsModule, + NgMaterialMultilevelMenuModule, + LayoutVariationsModule, + ], }) -export class SelectByIdModule { } +export class SelectByIdModule {} diff --git a/src/app/pages/pages-routing.module.ts b/src/app/pages/pages-routing.module.ts index 8fac08b..c347822 100644 --- a/src/app/pages/pages-routing.module.ts +++ b/src/app/pages/pages-routing.module.ts @@ -3,34 +3,39 @@ import { Routes, RouterModule } from '@angular/router'; import { PagesComponent } from './pages.component'; -const routes: Routes = [{ - path: '', - component: PagesComponent, - children: [{ - path: '', - redirectTo: 'home', - pathMatch: 'full', - }, - { - path: 'home', - loadChildren: () => import('./home/home.module').then((m) => m.HomeModule), - }, +const routes: Routes = [ { - path: 'layout-variations', - loadChildren: () => import('./layout-variations/layout-variations.module').then((m) => m.LayoutVariationsModule), + path: '', + component: PagesComponent, + children: [ + { + path: '', + redirectTo: 'home', + pathMatch: 'full', + }, + { + path: 'home', + loadChildren: () => import('./home/home.module').then((m) => m.HomeModule), + }, + { + path: 'layout-variations', + loadChildren: () => import('./layout-variations/layout-variations.module').then((m) => m.LayoutVariationsModule), + }, + { + path: 'more-configuration', + loadChildren: () => + import('./more-configuration/more-configuration.module').then((m) => m.MoreConfigurationModule), + }, + { + path: '**', + redirectTo: 'home', + }, + ], }, - { - path: 'more-configuration', - loadChildren: () => import('./more-configuration/more-configuration.module').then((m) => m.MoreConfigurationModule), - }, - { - path: '**', - redirectTo: 'home' - }] -}]; +]; @NgModule({ - imports: [RouterModule.forChild(routes)], - exports: [RouterModule] + imports: [RouterModule.forChild(routes)], + exports: [RouterModule], }) -export class PagesRoutingModule { } +export class PagesRoutingModule {} diff --git a/src/app/pages/pages.component.spec.ts b/src/app/pages/pages.component.spec.ts index 7990ca8..8369882 100644 --- a/src/app/pages/pages.component.spec.ts +++ b/src/app/pages/pages.component.spec.ts @@ -3,23 +3,22 @@ import { ComponentFixture, TestBed, waitForAsync } from '@angular/core/testing'; import { PagesComponent } from './pages.component'; describe('PagesComponent', () => { - let component: PagesComponent; - let fixture: ComponentFixture; + let component: PagesComponent; + let fixture: ComponentFixture; - beforeEach(waitForAsync(() => { - TestBed.configureTestingModule({ - declarations: [ PagesComponent ] - }) - .compileComponents(); - })); + beforeEach(waitForAsync(() => { + TestBed.configureTestingModule({ + declarations: [PagesComponent], + }).compileComponents(); + })); - beforeEach(() => { - fixture = TestBed.createComponent(PagesComponent); - component = fixture.componentInstance; - fixture.detectChanges(); - }); + beforeEach(() => { + fixture = TestBed.createComponent(PagesComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); - it('should create', () => { - expect(component).toBeTruthy(); - }); + it('should create', () => { + expect(component).toBeTruthy(); + }); }); diff --git a/src/app/pages/pages.component.ts b/src/app/pages/pages.component.ts index d368010..0edcb71 100644 --- a/src/app/pages/pages.component.ts +++ b/src/app/pages/pages.component.ts @@ -1,15 +1,12 @@ import { Component, OnInit } from '@angular/core'; @Component({ - selector: 'app-pages', - templateUrl: './pages.component.html', - styleUrls: ['./pages.component.css'] + selector: 'app-pages', + templateUrl: './pages.component.html', + styleUrls: ['./pages.component.css'], }) export class PagesComponent implements OnInit { + constructor() {} - constructor() { } - - ngOnInit() { - } - + ngOnInit() {} } diff --git a/src/app/pages/pages.module.spec.ts b/src/app/pages/pages.module.spec.ts index 70a3cd4..354f632 100644 --- a/src/app/pages/pages.module.spec.ts +++ b/src/app/pages/pages.module.spec.ts @@ -1,13 +1,13 @@ import { PagesModule } from './pages.module'; describe('PagesModule', () => { - let pagesModule: PagesModule; + let pagesModule: PagesModule; - beforeEach(() => { - pagesModule = new PagesModule(); - }); + beforeEach(() => { + pagesModule = new PagesModule(); + }); - it('should create an instance', () => { - expect(pagesModule).toBeTruthy(); - }); + it('should create an instance', () => { + expect(pagesModule).toBeTruthy(); + }); }); diff --git a/src/app/pages/pages.module.ts b/src/app/pages/pages.module.ts index 18031e6..dc222db 100644 --- a/src/app/pages/pages.module.ts +++ b/src/app/pages/pages.module.ts @@ -5,10 +5,7 @@ import { PagesRoutingModule } from './pages-routing.module'; import { PagesComponent } from './pages.component'; @NgModule({ - imports: [ - CommonModule, - PagesRoutingModule - ], - declarations: [PagesComponent] + imports: [CommonModule, PagesRoutingModule], + declarations: [PagesComponent], }) -export class PagesModule { } +export class PagesModule {} diff --git a/src/environments/environment.prod.ts b/src/environments/environment.prod.ts index 3612073..da7c84f 100644 --- a/src/environments/environment.prod.ts +++ b/src/environments/environment.prod.ts @@ -1,3 +1,3 @@ export const environment = { - production: true + production: true, }; diff --git a/src/environments/environment.ts b/src/environments/environment.ts index 012182e..998cc7d 100644 --- a/src/environments/environment.ts +++ b/src/environments/environment.ts @@ -3,7 +3,7 @@ // The list of file replacements can be found in `angular.json`. export const environment = { - production: false + production: false, }; /* diff --git a/src/main.ts b/src/main.ts index 91ec6da..4f8588b 100644 --- a/src/main.ts +++ b/src/main.ts @@ -5,8 +5,9 @@ import { AppModule } from './app/app.module'; import { environment } from './environments/environment'; if (environment.production) { - enableProdMode(); + enableProdMode(); } -platformBrowserDynamic().bootstrapModule(AppModule) - .catch(err => console.log(err)); +platformBrowserDynamic() + .bootstrapModule(AppModule) + .catch((err) => console.log(err)); diff --git a/src/test.ts b/src/test.ts index be7f2ed..fa73106 100644 --- a/src/test.ts +++ b/src/test.ts @@ -1,16 +1,10 @@ // This file is required by karma.conf.js and loads recursively all the .spec and framework files -import "zone.js/dist/zone-testing"; -import { getTestBed } from "@angular/core/testing"; -import { - BrowserDynamicTestingModule, - platformBrowserDynamicTesting, -} from "@angular/platform-browser-dynamic/testing"; +import 'zone.js/dist/zone-testing'; +import { getTestBed } from '@angular/core/testing'; +import { BrowserDynamicTestingModule, platformBrowserDynamicTesting } from '@angular/platform-browser-dynamic/testing'; declare const require: any; // First, initialize the Angular testing environment. -getTestBed().initTestEnvironment( - BrowserDynamicTestingModule, - platformBrowserDynamicTesting() -); +getTestBed().initTestEnvironment(BrowserDynamicTestingModule, platformBrowserDynamicTesting()); From 7e4f231c086b724a758553cb6e30ad39e8100017 Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Sat, 13 May 2023 15:32:18 +0200 Subject: [PATCH 11/13] removed package --- package.json | 1 - 1 file changed, 1 deletion(-) diff --git a/package.json b/package.json index 6f89ddd..82e42b7 100644 --- a/package.json +++ b/package.json @@ -25,7 +25,6 @@ "@angular/router": "^16.0.1", "core-js": "^3.30.2", "rxjs": "^7.8.1", - "save-dev": "^0.0.1-security", "tslib": "^2.5.0", "zone.js": "~0.13.0" }, From b523c4fb0729f54f31aa10bd5f8ac58843f757d4 Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Sat, 13 May 2023 16:13:01 +0200 Subject: [PATCH 12/13] eslit --- .eslintrc.json | 4 +++- README.md | 6 +++--- dist/ng-material-multilevel-menu/README.md | 6 +++--- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/.eslintrc.json b/.eslintrc.json index f28e735..02f7f44 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -155,7 +155,9 @@ ], "rules": { "@angular-eslint/template/banana-in-box": "off", - "@angular-eslint/template/no-negated-async": "off" + "@angular-eslint/template/no-negated-async": "off", + "@angular-eslint/template/click-events-have-key-events": "off", + "@angular-eslint/template/interactive-supports-focus": "off" } } ] diff --git a/README.md b/README.md index 594c800..3de955d 100644 --- a/README.md +++ b/README.md @@ -47,7 +47,7 @@ import { BrowserModule } from "@angular/platform-browser"; import { NgModule } from "@angular/core"; /* Import the module*/ -import { NgMaterialMultilevelMenuModule } from "ng-material-multilevel-menu"; +import { NgMaterialMultilevelMenuModule, MultilevelMenuService } from "@eddie666/ng-material-multilevel-menu"; import { AppComponent } from "./app.component"; @@ -57,7 +57,7 @@ import { AppComponent } from "./app.component"; BrowserModule, NgMaterialMultilevelMenuModule, // Import here ], - providers: [], + providers: [MultilevelMenuService], bootstrap: [AppComponent], }) export class AppModule {} @@ -377,7 +377,7 @@ div[dir="ltr"] .icon-container { ## Contribution -I welcome you to fork and add more features into it. If you have any bugs or feature request, please create an issue at [github repository](https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues). +I welcome you to fork and add more features into it. If you have any bugs or feature request, please create an issue at [github repository](https://https://github.com/eddiefrank/ng-material-multilevel-menu/issues). ## License diff --git a/dist/ng-material-multilevel-menu/README.md b/dist/ng-material-multilevel-menu/README.md index 594c800..3de955d 100644 --- a/dist/ng-material-multilevel-menu/README.md +++ b/dist/ng-material-multilevel-menu/README.md @@ -47,7 +47,7 @@ import { BrowserModule } from "@angular/platform-browser"; import { NgModule } from "@angular/core"; /* Import the module*/ -import { NgMaterialMultilevelMenuModule } from "ng-material-multilevel-menu"; +import { NgMaterialMultilevelMenuModule, MultilevelMenuService } from "@eddie666/ng-material-multilevel-menu"; import { AppComponent } from "./app.component"; @@ -57,7 +57,7 @@ import { AppComponent } from "./app.component"; BrowserModule, NgMaterialMultilevelMenuModule, // Import here ], - providers: [], + providers: [MultilevelMenuService], bootstrap: [AppComponent], }) export class AppModule {} @@ -377,7 +377,7 @@ div[dir="ltr"] .icon-container { ## Contribution -I welcome you to fork and add more features into it. If you have any bugs or feature request, please create an issue at [github repository](https://github.com/ShankyTiwari/ng-material-multilevel-menu/issues). +I welcome you to fork and add more features into it. If you have any bugs or feature request, please create an issue at [github repository](https://https://github.com/eddiefrank/ng-material-multilevel-menu/issues). ## License From 0caf7aad554f781b558a6539c32c20bcd0427032 Mon Sep 17 00:00:00 2001 From: eddiefrank Date: Sat, 13 May 2023 16:25:28 +0200 Subject: [PATCH 13/13] tsconfig for the demo app --- src/tsconfig.app.json | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/tsconfig.app.json b/src/tsconfig.app.json index f3a1b80..19463af 100644 --- a/src/tsconfig.app.json +++ b/src/tsconfig.app.json @@ -10,5 +10,9 @@ ], "include": [ "src/**/*.d.ts" - ] + ], + "angularCompilerOptions": { + "enableIvy": true, + "compilationMode": "full" + } }