From df13feeb774875aef33434f8be83399fc0e0ff29 Mon Sep 17 00:00:00 2001 From: cyber-dream Date: Sun, 16 Oct 2022 21:52:56 +0300 Subject: [PATCH 1/2] Start loading games list from launcher --- src/app/app.component.html | 6 +++ src/app/app.component.ts | 6 ++- src/app/app.module.ts | 15 +++++-- .../game-button/game-button.component.html | 17 ++++++++ .../game-button/game-button.component.scss | 0 .../game-button/game-button.component.spec.ts | 23 +++++++++++ .../game-button/game-button.component.ts | 15 +++++++ src/app/games-bar/games-bar.component.html | 5 +++ src/app/games-bar/games-bar.component.scss | 0 src/app/games-bar/games-bar.component.spec.ts | 23 +++++++++++ src/app/games-bar/games-bar.component.ts | 39 +++++++++++++++++++ src/app/services/go.ts | 6 +-- src/app/services/launcher.service.spec.ts | 16 ++++++++ src/app/services/launcher.service.ts | 19 +++++++++ src/app/services/oxana.service.spec.ts | 16 ++++++++ src/app/services/oxana.service.ts | 23 +++++++++++ 16 files changed, 222 insertions(+), 7 deletions(-) create mode 100644 src/app/games-bar/game-button/game-button.component.html create mode 100644 src/app/games-bar/game-button/game-button.component.scss create mode 100644 src/app/games-bar/game-button/game-button.component.spec.ts create mode 100644 src/app/games-bar/game-button/game-button.component.ts create mode 100644 src/app/games-bar/games-bar.component.html create mode 100644 src/app/games-bar/games-bar.component.scss create mode 100644 src/app/games-bar/games-bar.component.spec.ts create mode 100644 src/app/games-bar/games-bar.component.ts create mode 100644 src/app/services/launcher.service.spec.ts create mode 100644 src/app/services/launcher.service.ts create mode 100644 src/app/services/oxana.service.spec.ts create mode 100644 src/app/services/oxana.service.ts diff --git a/src/app/app.component.html b/src/app/app.component.html index d728138..3dee7cb 100644 --- a/src/app/app.component.html +++ b/src/app/app.component.html @@ -1,3 +1,9 @@ + Test (version: {{version}}) + + + + + \ No newline at end of file diff --git a/src/app/app.component.ts b/src/app/app.component.ts index ff7e327..6e1a918 100644 --- a/src/app/app.component.ts +++ b/src/app/app.component.ts @@ -1,5 +1,5 @@ import { Component } from '@angular/core'; -import { GetVersion, GetVersionCallbackDetail } from './services/go'; +import { GetVersion, GetVersionCallbackDetail, RunGame } from './services/go'; @Component({ selector: 'app-root', @@ -19,4 +19,8 @@ export class AppComponent { }); GetVersion(); } + + RunGame() { + RunGame(); + } } diff --git a/src/app/app.module.ts b/src/app/app.module.ts index a7e6b55..5bdaea0 100644 --- a/src/app/app.module.ts +++ b/src/app/app.module.ts @@ -1,3 +1,7 @@ +import { NgDompurifySanitizer } from "@tinkoff/ng-dompurify"; +import { TuiRootModule, TuiDialogModule, TuiAlertModule, TUI_SANITIZER } from "@taiga-ui/core"; +import { BrowserAnimationsModule } from "@angular/platform-browser/animations"; +import {TuiButtonModule} from '@taiga-ui/core'; import { APP_BASE_HREF, LocationStrategy, @@ -8,14 +12,19 @@ import { BrowserModule } from '@angular/platform-browser'; import { AppRoutingModule } from './app-routing.module'; import { AppComponent } from './app.component'; +import { GamesBarComponent } from './games-bar/games-bar.component'; +import { GameButtonComponent } from './games-bar/game-button/game-button.component'; +import { TuiAvatarModule } from "@taiga-ui/kit"; + @NgModule({ - declarations: [AppComponent], - imports: [BrowserModule, AppRoutingModule], + declarations: [AppComponent, GamesBarComponent, GameButtonComponent], + imports: [BrowserModule, AppRoutingModule, BrowserAnimationsModule, TuiRootModule, TuiDialogModule, TuiAlertModule, TuiButtonModule, TuiAvatarModule], providers: [ { provide: APP_BASE_HREF, useValue: '/' }, { provide: LocationStrategy, useClass: HashLocationStrategy }, - ], + {provide: TUI_SANITIZER, useClass: NgDompurifySanitizer} +], bootstrap: [AppComponent], }) export class AppModule {} diff --git a/src/app/games-bar/game-button/game-button.component.html b/src/app/games-bar/game-button/game-button.component.html new file mode 100644 index 0000000..a4a95c6 --- /dev/null +++ b/src/app/games-bar/game-button/game-button.component.html @@ -0,0 +1,17 @@ + + + + + diff --git a/src/app/games-bar/game-button/game-button.component.scss b/src/app/games-bar/game-button/game-button.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/games-bar/game-button/game-button.component.spec.ts b/src/app/games-bar/game-button/game-button.component.spec.ts new file mode 100644 index 0000000..85bf386 --- /dev/null +++ b/src/app/games-bar/game-button/game-button.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { GameButtonComponent } from './game-button.component'; + +describe('GameButtonComponent', () => { + let component: GameButtonComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ GameButtonComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(GameButtonComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/games-bar/game-button/game-button.component.ts b/src/app/games-bar/game-button/game-button.component.ts new file mode 100644 index 0000000..2abb4e7 --- /dev/null +++ b/src/app/games-bar/game-button/game-button.component.ts @@ -0,0 +1,15 @@ +import { Component, OnInit } from '@angular/core'; + +@Component({ + selector: 'app-game-button', + templateUrl: './game-button.component.html', + styleUrls: ['./game-button.component.scss'] +}) +export class GameButtonComponent implements OnInit { + + constructor() { } + + ngOnInit(): void { + } + +} diff --git a/src/app/games-bar/games-bar.component.html b/src/app/games-bar/games-bar.component.html new file mode 100644 index 0000000..d698516 --- /dev/null +++ b/src/app/games-bar/games-bar.component.html @@ -0,0 +1,5 @@ + + + name: {{item.name}} +
{{player}}
+
\ No newline at end of file diff --git a/src/app/games-bar/games-bar.component.scss b/src/app/games-bar/games-bar.component.scss new file mode 100644 index 0000000..e69de29 diff --git a/src/app/games-bar/games-bar.component.spec.ts b/src/app/games-bar/games-bar.component.spec.ts new file mode 100644 index 0000000..5b7c125 --- /dev/null +++ b/src/app/games-bar/games-bar.component.spec.ts @@ -0,0 +1,23 @@ +import { ComponentFixture, TestBed } from '@angular/core/testing'; + +import { GamesBarComponent } from './games-bar.component'; + +describe('GamesBarComponent', () => { + let component: GamesBarComponent; + let fixture: ComponentFixture; + + beforeEach(async () => { + await TestBed.configureTestingModule({ + declarations: [ GamesBarComponent ] + }) + .compileComponents(); + + fixture = TestBed.createComponent(GamesBarComponent); + component = fixture.componentInstance; + fixture.detectChanges(); + }); + + it('should create', () => { + expect(component).toBeTruthy(); + }); +}); diff --git a/src/app/games-bar/games-bar.component.ts b/src/app/games-bar/games-bar.component.ts new file mode 100644 index 0000000..d7a3f2f --- /dev/null +++ b/src/app/games-bar/games-bar.component.ts @@ -0,0 +1,39 @@ +import { Component, OnInit } from '@angular/core'; +import { LauncherService } from '../services/launcher.service'; +import { Game } from '../services/oxana.service'; + +@Component({ + selector: 'app-games-bar', + templateUrl: './games-bar.component.html', + styleUrls: ['./games-bar.component.scss'] +}) + +export class GamesBarComponent implements OnInit { + constructor(private launcher: LauncherService) { } + + games!: Game[] + // games: Game[] = [{ + // name: 'str', + // players: ['1', '2'] + // }, + // { + // name: 'qwe', + // players: ['6', '4'] + // }] + + + ngOnInit(): void { + // let i = 0 + // setInterval(() => { + // this.games.push({name: `name-${++i}`, players: []}) + // }, 100) + this.games = this.launcher.GetGames() + console.log("asdasd") + console.log(this.games) + } + + // removePlayerZero (item: Game) { + // if (item.players.length == 0) return + // item.players.splice(0, 1) + // } +} diff --git a/src/app/services/go.ts b/src/app/services/go.ts index 585898d..596d44f 100644 --- a/src/app/services/go.ts +++ b/src/app/services/go.ts @@ -1,12 +1,13 @@ export interface Go extends Window { GetVersion: () => string; + RunGame: () => string; } export interface GoCallback extends Window { SetVersion: (value: string) => void; } -let { GetVersion } = window as unknown as Go; +let { GetVersion, RunGame} = window as unknown as Go; let { SetVersion } = window as unknown as GoCallback; export declare type GetVersionCallbackDetail = string; @@ -17,5 +18,4 @@ export declare type GetVersionCallbackDetail = string; }); document.dispatchEvent(event); }; - -export { GetVersion, SetVersion }; +export { GetVersion, SetVersion, RunGame}; diff --git a/src/app/services/launcher.service.spec.ts b/src/app/services/launcher.service.spec.ts new file mode 100644 index 0000000..794c9dd --- /dev/null +++ b/src/app/services/launcher.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { LauncherService } from './launcher.service'; + +describe('LauncherService', () => { + let service: LauncherService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(LauncherService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/launcher.service.ts b/src/app/services/launcher.service.ts new file mode 100644 index 0000000..1e83783 --- /dev/null +++ b/src/app/services/launcher.service.ts @@ -0,0 +1,19 @@ +import { Injectable } from '@angular/core'; +import { Game } from './oxana.service'; +@Injectable({ + providedIn: 'root' +}) +export class LauncherService { + + constructor() { } + + public GetGames(): Game[]{ + var currentGames :Game[] = [ + { name: "ad", icon: "string", id: "string"}, + { name: "qwet", icon: "string", id: "string"}, + { name: "1233", icon: "string", id: "string"}, + { name: "ghjghj", icon: "string", id: "string"} + ] + return currentGames + } +} diff --git a/src/app/services/oxana.service.spec.ts b/src/app/services/oxana.service.spec.ts new file mode 100644 index 0000000..4fdbba0 --- /dev/null +++ b/src/app/services/oxana.service.spec.ts @@ -0,0 +1,16 @@ +import { TestBed } from '@angular/core/testing'; + +import { OxanaService } from './oxana.service'; + +describe('OxanaService', () => { + let service: OxanaService; + + beforeEach(() => { + TestBed.configureTestingModule({}); + service = TestBed.inject(OxanaService); + }); + + it('should be created', () => { + expect(service).toBeTruthy(); + }); +}); diff --git a/src/app/services/oxana.service.ts b/src/app/services/oxana.service.ts new file mode 100644 index 0000000..7395e0a --- /dev/null +++ b/src/app/services/oxana.service.ts @@ -0,0 +1,23 @@ +import { Injectable } from '@angular/core'; +import { LauncherService } from './launcher.service'; + +@Injectable({ + providedIn: 'root' +}) + + +export class OxanaService { + private games!: Game + constructor(private launcher: LauncherService) { } + + // public getGames():Game{ + // currentGames = launcher.GetGames() + // return currentGames + // } +} + +export interface Game { + name: string + icon: string + id: string +} From 801250ea5f911bad3f91b6f72224470d26c9594a Mon Sep 17 00:00:00 2001 From: cyber-dream Date: Sun, 16 Oct 2022 21:53:24 +0300 Subject: [PATCH 2/2] install taiga --- angular.json | 10 +- package-lock.json | 702 +++++++++++++++++++++++++++++++++++++++++++++- package.json | 8 + 3 files changed, 711 insertions(+), 9 deletions(-) diff --git a/angular.json b/angular.json index 323c9b5..9635004 100644 --- a/angular.json +++ b/angular.json @@ -26,9 +26,17 @@ "inlineStyleLanguage": "scss", "assets": [ "src/favicon.ico", - "src/assets" + "src/assets", + { + "glob": "**/*", + "input": "node_modules/@taiga-ui/icons/src", + "output": "assets/taiga-ui/icons" + } ], "styles": [ + "node_modules/@taiga-ui/core/styles/taiga-ui-theme.less", + "node_modules/@taiga-ui/core/styles/taiga-ui-fonts.less", + "node_modules/@taiga-ui/styles/taiga-ui-global.less", "src/styles.scss" ], "scripts": [] diff --git a/package-lock.json b/package-lock.json index fbdc427..6e0839a 100644 --- a/package-lock.json +++ b/package-lock.json @@ -17,6 +17,13 @@ "@angular/platform-browser": "^14.1.0", "@angular/platform-browser-dynamic": "^14.1.0", "@angular/router": "^14.1.0", + "@taiga-ui/cdk": "^3.6.0", + "@taiga-ui/core": "^3.6.0", + "@taiga-ui/icons": "^3.6.0", + "@taiga-ui/kit": "^3.6.0", + "@taiga-ui/styles": "^3.6.0", + "@tinkoff/ng-dompurify": "3.0.0", + "dompurify": "2.2.9", "rxjs": "~7.5.0", "tslib": "^2.3.0", "zone.js": "~0.11.4" @@ -25,6 +32,7 @@ "@angular-devkit/build-angular": "^14.1.3", "@angular/cli": "~14.1.3", "@angular/compiler-cli": "^14.1.0", + "@types/dompurify": "2.2.3", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.2.0", "karma": "~6.4.0", @@ -304,7 +312,7 @@ "version": "14.1.3", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.3.tgz", "integrity": "sha512-i1vuuClGvBzmgQi3qAUWTwLdnGJZ/C8xVeFMHXmgVNZhck9/8xGGusi500SYsGcVzEfetGSJt5hOfUHmVrcpbg==", - "dev": true, + "devOptional": true, "dependencies": { "@angular-devkit/core": "14.1.3", "jsonc-parser": "3.1.0", @@ -322,7 +330,7 @@ "version": "14.1.3", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.3.tgz", "integrity": "sha512-YBxhRl7hKgirjcKeurfejVrIgmw31GcfKKCyQiIudoLCYjonnSMdDEx2y8BNMANvxe5YmuZsIYJtgVlqp3mMDg==", - "dev": true, + "devOptional": true, "dependencies": { "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -348,7 +356,7 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, + "devOptional": true, "dependencies": { "tslib": "^1.9.0" }, @@ -360,7 +368,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "devOptional": true }, "node_modules/@angular/animations": { "version": "14.2.6", @@ -2610,6 +2618,55 @@ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, + "node_modules/@ng-web-apis/common": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@ng-web-apis/common/-/common-2.0.1.tgz", + "integrity": "sha512-DqnH+zZFFKeINpbFIzCrBTYksP+7FqrHxWo2+jIXfMLjSngwZ6WYz3F4N9s+tFc8mKe8I1/P7pZtxD7fqSPtlA==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/common": ">=12.0.0", + "@angular/core": ">=12.0.0", + "rxjs": ">=6.4.0" + } + }, + "node_modules/@ng-web-apis/intersection-observer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ng-web-apis/intersection-observer/-/intersection-observer-3.0.0.tgz", + "integrity": "sha512-Y3ts9WgXG/A6atyMlFOoP8ZNczUNxUGHSV4ii4xCepwcKW2gN/kkimsP4oPtb7UsTWzN1tF1n0bgD2civraZiA==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=2.0.0" + } + }, + "node_modules/@ng-web-apis/mutation-observer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ng-web-apis/mutation-observer/-/mutation-observer-2.0.0.tgz", + "integrity": "sha512-f51Cu2DloNze1HaTWdUbtYFnt9VXhzpEnHDd9KFdiKOUNfEDx7wrSXIEQqv810hrq7F2jcIAERCdiqV6ItH7Pg==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=2.0.0" + } + }, + "node_modules/@ng-web-apis/resize-observer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ng-web-apis/resize-observer/-/resize-observer-2.0.0.tgz", + "integrity": "sha512-umuXJepTYBCI3ZcW9873fozO0qt1PeHLBNM+wXA+7Wphy35+RQcPNmkwfgkKqWceIjlYAvyuPTNWa5TM1OEeqg==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@ng-web-apis/common": ">=2.0.0" + } + }, "node_modules/@ngtools/webpack": { "version": "14.2.6", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.6.tgz", @@ -2850,6 +2907,145 @@ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "devOptional": true }, + "node_modules/@taiga-ui/cdk": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/cdk/-/cdk-3.6.0.tgz", + "integrity": "sha512-J9FSv2FzNdIW28wS0IsVJmKHOWmsnMAXMDzgApyjqS99C4Mzsu5i/T2lArAZgYTp12/XulFsMuo0BppN5FfYsw==", + "dependencies": { + "@ng-web-apis/common": "2.0.1", + "@ng-web-apis/mutation-observer": "2.0.0", + "@ng-web-apis/resize-observer": "2.0.0", + "@tinkoff/ng-event-plugins": "3.0.0", + "@tinkoff/ng-polymorpheus": "4.0.7", + "tslib": "^2.0.0" + }, + "optionalDependencies": { + "ng-morph": "^2.1.0", + "parse5": "^6.0.1" + }, + "peerDependencies": { + "@angular/animations": ">=9.0.0", + "@angular/common": ">=9.0.0", + "@angular/core": ">=9.0.0", + "@angular/forms": ">=9.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/core/-/core-3.6.0.tgz", + "integrity": "sha512-RK3Q2MCE8JllXgtP7DLTSl0okhDZSyYdg23uVudmhBE57ktRFIrpIo+zrns9jRnRrl2JfY5SxmnhOxSE4F5QJQ==", + "dependencies": { + "@taiga-ui/i18n": "^3.6.0", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/animations": ">=9.0.0", + "@angular/common": ">=9.0.0", + "@angular/core": ">=9.0.0", + "@angular/forms": ">=9.0.0", + "@angular/platform-browser": ">=9.0.0", + "@angular/router": ">=9.0.0", + "@ng-web-apis/common": ">=2.0.0", + "@ng-web-apis/mutation-observer": ">=2.0.0", + "@taiga-ui/cdk": ">=3.6.0", + "@taiga-ui/i18n": ">=3.6.0", + "@tinkoff/ng-event-plugins": ">=3.0.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/i18n": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/i18n/-/i18n-3.6.0.tgz", + "integrity": "sha512-ICWTLPmZuuZkn+RHA8mPG2ee00ImIQn2nMFsK+jsRBGEhFx5Nsqu7+0z7khl8xE3SLntPLNDu/BcswwZPmWHow==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/core": ">=9.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/icons": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/icons/-/icons-3.6.0.tgz", + "integrity": "sha512-SabHVIXYEfQCOTOL+BZP+QyrI8e5jyt3kIYh6rHQJ835okJ4Ali7aFA/68r/ceNrE+0w+YfjCgYrAWfUpXT4kQ==", + "dependencies": { + "tslib": "^2.0.0" + } + }, + "node_modules/@taiga-ui/kit": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/kit/-/kit-3.6.0.tgz", + "integrity": "sha512-ZBZgd9hsrSmYYTRr96EY04Xh39XYdrqBkOPxqNnNGcH8QaOY01+XjLgmfFMaQ65/IjmxF4EpUXdCYz9M0kuP1g==", + "dependencies": { + "@ng-web-apis/intersection-observer": "^3.0.0", + "text-mask-core": "^5.0.0", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/common": ">=9.0.0", + "@angular/core": ">=9.0.0", + "@angular/forms": ">=9.0.0", + "@angular/router": ">=9.0.0", + "@ng-web-apis/common": ">=2.0.0", + "@ng-web-apis/mutation-observer": ">=2.0.0", + "@taiga-ui/cdk": ">=3.6.0", + "@taiga-ui/core": ">=3.6.0", + "@taiga-ui/i18n": ">=3.6.0", + "@tinkoff/ng-polymorpheus": ">=4.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@taiga-ui/styles": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/styles/-/styles-3.6.0.tgz", + "integrity": "sha512-iv4vbi7bMJLzqVdOFaX8YCXc4e4h+/vxRhub+QwVnyjOnUDn70KpQkByknPYx7tJlv1McrFUVPOBulUOV4zKJQ==" + }, + "node_modules/@tinkoff/ng-dompurify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-dompurify/-/ng-dompurify-3.0.0.tgz", + "integrity": "sha512-Gx153lEakv4nEDZXFd2vW2zK8fI7fJMu8ZaRaPgGcq1wrAe0ps/mCZdg9KXNdyLUvwTu3WFsJXj5CwCG6Zfucg==", + "dependencies": { + "tslib": "^1.9.0" + }, + "peerDependencies": { + "@angular/core": ">=4.0.0", + "@angular/platform-browser": ">=4.0.0", + "@types/dompurify": ">=2.0.0", + "dompurify": ">=2.0.0" + } + }, + "node_modules/@tinkoff/ng-dompurify/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/@tinkoff/ng-event-plugins": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-event-plugins/-/ng-event-plugins-3.0.0.tgz", + "integrity": "sha512-3+5R86ozam9uevQ5N7+B/lPMWYCfQGxUOxuSp6qccpPTWqCjTBGjlhRVdt11r6S+3Gx2r9y4rgZ1Q1/P58MOFA==", + "dependencies": { + "tslib": "^2.2.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0", + "@angular/platform-browser": ">=12.0.0", + "rxjs": ">=6.0.0" + } + }, + "node_modules/@tinkoff/ng-polymorpheus": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-polymorpheus/-/ng-polymorpheus-4.0.7.tgz", + "integrity": "sha512-+Gbwk9vfJVNbN1qy0L3pV+QW1sBkLfyAC1DsEdgSS3+c2qa2UEzDma5NTsaBbKoGTr3B3Qlryly8cTSz0JMLAQ==", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@angular/core": ">=12.0.0" + } + }, "node_modules/@tootallnate/once": { "version": "2.0.0", "resolved": "https://registry.npmjs.org/@tootallnate/once/-/once-2.0.0.tgz", @@ -2859,6 +3055,40 @@ "node": ">= 10" } }, + "node_modules/@ts-morph/common": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.9.2.tgz", + "integrity": "sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g==", + "optional": true, + "dependencies": { + "fast-glob": "^3.2.5", + "minimatch": "^3.0.4", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" + } + }, + "node_modules/@ts-morph/common/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==", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/@ts-morph/common/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -2925,6 +3155,14 @@ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", "devOptional": true }, + "node_modules/@types/dompurify": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.2.3.tgz", + "integrity": "sha512-CLtc2mZK8+axmrz1JqtpklO/Kvn38arGc8o1l3UVopZaXXuer9ONdZwJ/9f226GrhRLtUmLr9WrvZsRSNpS8og==", + "dependencies": { + "@types/trusted-types": "*" + } + }, "node_modules/@types/eslint": { "version": "8.4.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", @@ -2998,6 +3236,12 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "optional": true + }, "node_modules/@types/node": { "version": "18.11.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.0.tgz", @@ -3048,6 +3292,11 @@ "@types/node": "*" } }, + "node_modules/@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, "node_modules/@types/ws": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", @@ -3462,11 +3711,38 @@ "sprintf-js": "~1.0.2" } }, + "node_modules/array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "optional": true, + "engines": { + "node": ">=8" + } + }, "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/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==", + "optional": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "optional": true, + "engines": { + "node": ">=8" + } + }, "node_modules/autoprefixer": { "version": "10.4.12", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", @@ -4004,6 +4280,12 @@ "node": ">=6" } }, + "node_modules/code-block-writer": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz", + "integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==", + "optional": true + }, "node_modules/color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -4721,6 +5003,11 @@ "url": "https://github.com/fb55/domhandler?sponsor=1" } }, + "node_modules/dompurify": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.9.tgz", + "integrity": "sha512-+9MqacuigMIZ+1+EwoEltogyWGFTJZWU3258Rupxs+2CGs4H914G9er6pZbsme/bvb5L67o2rade9n21e4RW/w==" + }, "node_modules/domutils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", @@ -7578,6 +7865,47 @@ "multicast-dns": "cli.js" } }, + "node_modules/multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "optional": true, + "dependencies": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/multimatch/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==", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/multimatch/node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -7645,6 +7973,50 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, + "node_modules/ng-morph": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ng-morph/-/ng-morph-2.1.1.tgz", + "integrity": "sha512-mUziQxQm0YnP9WOCy2WRZVq6xNf+WgAvosdPU+hwmGUinoZ6vBrP3GECoRmM7Aor0PDG1KNIarJsDNS7BlxTLQ==", + "optional": true, + "dependencies": { + "jsonc-parser": "3.0.0", + "minimatch": "3.0.4", + "multimatch": "5.0.0", + "ts-morph": "10.0.2" + }, + "peerDependencies": { + "@angular-devkit/core": ">=11.0.0", + "@angular-devkit/schematics": ">=11.0.0" + } + }, + "node_modules/ng-morph/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==", + "optional": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/ng-morph/node_modules/jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "optional": true + }, + "node_modules/ng-morph/node_modules/minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, "node_modules/nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", @@ -8346,6 +8718,12 @@ "node": ">= 0.8" } }, + "node_modules/path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "optional": true + }, "node_modules/path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -10537,6 +10915,11 @@ "node": "*" } }, + "node_modules/text-mask-core": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/text-mask-core/-/text-mask-core-5.1.2.tgz", + "integrity": "sha512-VfkCMdmRRZqXgQZFlDMiavm3hzsMzBM23CxHZsaeAYg66ZhXCNJWrFmnJwNy8KF9f74YvAUAuQenxsMCfuvhUw==" + }, "node_modules/text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -10598,6 +10981,16 @@ "tree-kill": "cli.js" } }, + "node_modules/ts-morph": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-10.0.2.tgz", + "integrity": "sha512-TVuIfEqtr9dW25K3Jajqpqx7t/zLRFxKu2rXQZSDjTm4MO4lfmuj1hn8WEryjeDDBFcNOCi+yOmYUYR4HucrAg==", + "optional": true, + "dependencies": { + "@ts-morph/common": "~0.9.0", + "code-block-writer": "^10.1.1" + } + }, "node_modules/ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", @@ -11561,7 +11954,7 @@ "version": "14.1.3", "resolved": "https://registry.npmjs.org/@angular-devkit/schematics/-/schematics-14.1.3.tgz", "integrity": "sha512-i1vuuClGvBzmgQi3qAUWTwLdnGJZ/C8xVeFMHXmgVNZhck9/8xGGusi500SYsGcVzEfetGSJt5hOfUHmVrcpbg==", - "dev": true, + "devOptional": true, "requires": { "@angular-devkit/core": "14.1.3", "jsonc-parser": "3.1.0", @@ -11574,7 +11967,7 @@ "version": "14.1.3", "resolved": "https://registry.npmjs.org/@angular-devkit/core/-/core-14.1.3.tgz", "integrity": "sha512-YBxhRl7hKgirjcKeurfejVrIgmw31GcfKKCyQiIudoLCYjonnSMdDEx2y8BNMANvxe5YmuZsIYJtgVlqp3mMDg==", - "dev": true, + "devOptional": true, "requires": { "ajv": "8.11.0", "ajv-formats": "2.1.1", @@ -11587,7 +11980,7 @@ "version": "6.6.7", "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-6.6.7.tgz", "integrity": "sha512-hTdwr+7yYNIT5n4AMYp85KA6yw2Va0FLa3Rguvbpa4W3I5xynaBZo41cM3XM+4Q6fRMj3sBYIR1VAmZMXYJvRQ==", - "dev": true, + "devOptional": true, "requires": { "tslib": "^1.9.0" } @@ -11596,7 +11989,7 @@ "version": "1.14.1", "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==", - "dev": true + "devOptional": true } } }, @@ -13061,6 +13454,38 @@ "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==" }, + "@ng-web-apis/common": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@ng-web-apis/common/-/common-2.0.1.tgz", + "integrity": "sha512-DqnH+zZFFKeINpbFIzCrBTYksP+7FqrHxWo2+jIXfMLjSngwZ6WYz3F4N9s+tFc8mKe8I1/P7pZtxD7fqSPtlA==", + "requires": { + "tslib": "^2.2.0" + } + }, + "@ng-web-apis/intersection-observer": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@ng-web-apis/intersection-observer/-/intersection-observer-3.0.0.tgz", + "integrity": "sha512-Y3ts9WgXG/A6atyMlFOoP8ZNczUNxUGHSV4ii4xCepwcKW2gN/kkimsP4oPtb7UsTWzN1tF1n0bgD2civraZiA==", + "requires": { + "tslib": "^2.2.0" + } + }, + "@ng-web-apis/mutation-observer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ng-web-apis/mutation-observer/-/mutation-observer-2.0.0.tgz", + "integrity": "sha512-f51Cu2DloNze1HaTWdUbtYFnt9VXhzpEnHDd9KFdiKOUNfEDx7wrSXIEQqv810hrq7F2jcIAERCdiqV6ItH7Pg==", + "requires": { + "tslib": "^2.2.0" + } + }, + "@ng-web-apis/resize-observer": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/@ng-web-apis/resize-observer/-/resize-observer-2.0.0.tgz", + "integrity": "sha512-umuXJepTYBCI3ZcW9873fozO0qt1PeHLBNM+wXA+7Wphy35+RQcPNmkwfgkKqWceIjlYAvyuPTNWa5TM1OEeqg==", + "requires": { + "tslib": "^2.2.0" + } + }, "@ngtools/webpack": { "version": "14.2.6", "resolved": "https://registry.npmjs.org/@ngtools/webpack/-/webpack-14.2.6.tgz", @@ -13232,12 +13657,131 @@ "integrity": "sha512-+9jVqKhRSpsc591z5vX+X5Yyw+he/HCB4iQ/RYxw35CEPaY1gnsNE43nf9n9AaYjAQrTiI/mOwKUKdUs9vf7Xg==", "devOptional": true }, + "@taiga-ui/cdk": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/cdk/-/cdk-3.6.0.tgz", + "integrity": "sha512-J9FSv2FzNdIW28wS0IsVJmKHOWmsnMAXMDzgApyjqS99C4Mzsu5i/T2lArAZgYTp12/XulFsMuo0BppN5FfYsw==", + "requires": { + "@ng-web-apis/common": "2.0.1", + "@ng-web-apis/mutation-observer": "2.0.0", + "@ng-web-apis/resize-observer": "2.0.0", + "@tinkoff/ng-event-plugins": "3.0.0", + "@tinkoff/ng-polymorpheus": "4.0.7", + "ng-morph": "^2.1.0", + "parse5": "^6.0.1", + "tslib": "^2.0.0" + } + }, + "@taiga-ui/core": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/core/-/core-3.6.0.tgz", + "integrity": "sha512-RK3Q2MCE8JllXgtP7DLTSl0okhDZSyYdg23uVudmhBE57ktRFIrpIo+zrns9jRnRrl2JfY5SxmnhOxSE4F5QJQ==", + "requires": { + "@taiga-ui/i18n": "^3.6.0", + "tslib": "^2.0.0" + } + }, + "@taiga-ui/i18n": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/i18n/-/i18n-3.6.0.tgz", + "integrity": "sha512-ICWTLPmZuuZkn+RHA8mPG2ee00ImIQn2nMFsK+jsRBGEhFx5Nsqu7+0z7khl8xE3SLntPLNDu/BcswwZPmWHow==", + "requires": { + "tslib": "^2.0.0" + } + }, + "@taiga-ui/icons": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/icons/-/icons-3.6.0.tgz", + "integrity": "sha512-SabHVIXYEfQCOTOL+BZP+QyrI8e5jyt3kIYh6rHQJ835okJ4Ali7aFA/68r/ceNrE+0w+YfjCgYrAWfUpXT4kQ==", + "requires": { + "tslib": "^2.0.0" + } + }, + "@taiga-ui/kit": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/kit/-/kit-3.6.0.tgz", + "integrity": "sha512-ZBZgd9hsrSmYYTRr96EY04Xh39XYdrqBkOPxqNnNGcH8QaOY01+XjLgmfFMaQ65/IjmxF4EpUXdCYz9M0kuP1g==", + "requires": { + "@ng-web-apis/intersection-observer": "^3.0.0", + "text-mask-core": "^5.0.0", + "tslib": "^2.0.0" + } + }, + "@taiga-ui/styles": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/@taiga-ui/styles/-/styles-3.6.0.tgz", + "integrity": "sha512-iv4vbi7bMJLzqVdOFaX8YCXc4e4h+/vxRhub+QwVnyjOnUDn70KpQkByknPYx7tJlv1McrFUVPOBulUOV4zKJQ==" + }, + "@tinkoff/ng-dompurify": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-dompurify/-/ng-dompurify-3.0.0.tgz", + "integrity": "sha512-Gx153lEakv4nEDZXFd2vW2zK8fI7fJMu8ZaRaPgGcq1wrAe0ps/mCZdg9KXNdyLUvwTu3WFsJXj5CwCG6Zfucg==", + "requires": { + "tslib": "^1.9.0" + }, + "dependencies": { + "tslib": { + "version": "1.14.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-1.14.1.tgz", + "integrity": "sha512-Xni35NKzjgMrwevysHTCArtLDpPvye8zV/0E4EyYn43P7/7qvQwPh9BGkHewbMulVntbigmcT7rdX3BNo9wRJg==" + } + } + }, + "@tinkoff/ng-event-plugins": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-event-plugins/-/ng-event-plugins-3.0.0.tgz", + "integrity": "sha512-3+5R86ozam9uevQ5N7+B/lPMWYCfQGxUOxuSp6qccpPTWqCjTBGjlhRVdt11r6S+3Gx2r9y4rgZ1Q1/P58MOFA==", + "requires": { + "tslib": "^2.2.0" + } + }, + "@tinkoff/ng-polymorpheus": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/@tinkoff/ng-polymorpheus/-/ng-polymorpheus-4.0.7.tgz", + "integrity": "sha512-+Gbwk9vfJVNbN1qy0L3pV+QW1sBkLfyAC1DsEdgSS3+c2qa2UEzDma5NTsaBbKoGTr3B3Qlryly8cTSz0JMLAQ==", + "requires": { + "tslib": "^2.0.0" + } + }, "@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 }, + "@ts-morph/common": { + "version": "0.9.2", + "resolved": "https://registry.npmjs.org/@ts-morph/common/-/common-0.9.2.tgz", + "integrity": "sha512-IPyg+c3Am0EBoa63W0f/AKeLrJhvzMzQ4BIvD1baxLopmiHOj1HFTXYxC6e8iTZ+UYtN+/WFM9UyGRnoA20b8g==", + "optional": true, + "requires": { + "fast-glob": "^3.2.5", + "minimatch": "^3.0.4", + "mkdirp": "^1.0.4", + "path-browserify": "^1.0.1" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, "@tsconfig/node10": { "version": "1.0.9", "resolved": "https://registry.npmjs.org/@tsconfig/node10/-/node10-1.0.9.tgz", @@ -13304,6 +13848,14 @@ "integrity": "sha512-vt+kDhq/M2ayberEtJcIN/hxXy1Pk+59g2FV/ZQceeaTyCtCucjL2Q7FXlFjtWn4n15KCr1NE2lNNFhp0lEThw==", "devOptional": true }, + "@types/dompurify": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/@types/dompurify/-/dompurify-2.2.3.tgz", + "integrity": "sha512-CLtc2mZK8+axmrz1JqtpklO/Kvn38arGc8o1l3UVopZaXXuer9ONdZwJ/9f226GrhRLtUmLr9WrvZsRSNpS8og==", + "requires": { + "@types/trusted-types": "*" + } + }, "@types/eslint": { "version": "8.4.6", "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.6.tgz", @@ -13377,6 +13929,12 @@ "resolved": "https://registry.npmjs.org/@types/mime/-/mime-3.0.1.tgz", "integrity": "sha512-Y4XFY5VJAuw0FgAqPNd6NNoV44jbq9Bz2L7Rh/J6jLTiHBSBJa9fxqQIvkIld4GsoDOcCbvzOUAbLPsSKKg+uA==" }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "optional": true + }, "@types/node": { "version": "18.11.0", "resolved": "https://registry.npmjs.org/@types/node/-/node-18.11.0.tgz", @@ -13427,6 +13985,11 @@ "@types/node": "*" } }, + "@types/trusted-types": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/@types/trusted-types/-/trusted-types-2.0.2.tgz", + "integrity": "sha512-F5DIZ36YVLE+PN+Zwws4kJogq47hNgX3Nx6WyDJ3kcplxyke3XIzB8uK5n/Lpm1HBsbGzd6nmGehL8cPekP+Tg==" + }, "@types/ws": { "version": "8.5.3", "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", @@ -13771,11 +14334,29 @@ "sprintf-js": "~1.0.2" } }, + "array-differ": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/array-differ/-/array-differ-3.0.0.tgz", + "integrity": "sha512-THtfYS6KtME/yIAhKjZ2ul7XI96lQGHRputJQHO80LAWQnuGP4iCIN8vdMRboGbIEYBwU33q8Tch1os2+X0kMg==", + "optional": true + }, "array-flatten": { "version": "2.1.2", "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==" }, + "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==", + "optional": true + }, + "arrify": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==", + "optional": true + }, "autoprefixer": { "version": "10.4.12", "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.12.tgz", @@ -14149,6 +14730,12 @@ "shallow-clone": "^3.0.0" } }, + "code-block-writer": { + "version": "10.1.1", + "resolved": "https://registry.npmjs.org/code-block-writer/-/code-block-writer-10.1.1.tgz", + "integrity": "sha512-67ueh2IRGst/51p0n6FvPrnRjAGHY5F8xdjkgrYE7DDzpJe6qA07RYQ9VcoUeo5ATOjSOiWpSL3SWBRRbempMw==", + "optional": true + }, "color-convert": { "version": "1.9.3", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", @@ -14671,6 +15258,11 @@ "domelementtype": "^2.2.0" } }, + "dompurify": { + "version": "2.2.9", + "resolved": "https://registry.npmjs.org/dompurify/-/dompurify-2.2.9.tgz", + "integrity": "sha512-+9MqacuigMIZ+1+EwoEltogyWGFTJZWU3258Rupxs+2CGs4H914G9er6pZbsme/bvb5L67o2rade9n21e4RW/w==" + }, "domutils": { "version": "2.8.0", "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", @@ -16692,6 +17284,40 @@ "thunky": "^1.0.2" } }, + "multimatch": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/multimatch/-/multimatch-5.0.0.tgz", + "integrity": "sha512-ypMKuglUrZUD99Tk2bUQ+xNQj43lPEfAeX2o9cTteAmShXy2VHDJpuwu1o0xqoKCt9jLVAvwyFKdLTPXKAfJyA==", + "optional": true, + "requires": { + "@types/minimatch": "^3.0.3", + "array-differ": "^3.0.0", + "array-union": "^2.1.0", + "arrify": "^2.0.1", + "minimatch": "^3.0.4" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, "mute-stream": { "version": "0.0.8", "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", @@ -16743,6 +17369,45 @@ "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==" }, + "ng-morph": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ng-morph/-/ng-morph-2.1.1.tgz", + "integrity": "sha512-mUziQxQm0YnP9WOCy2WRZVq6xNf+WgAvosdPU+hwmGUinoZ6vBrP3GECoRmM7Aor0PDG1KNIarJsDNS7BlxTLQ==", + "optional": true, + "requires": { + "jsonc-parser": "3.0.0", + "minimatch": "3.0.4", + "multimatch": "5.0.0", + "ts-morph": "10.0.2" + }, + "dependencies": { + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "optional": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "jsonc-parser": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/jsonc-parser/-/jsonc-parser-3.0.0.tgz", + "integrity": "sha512-fQzRfAbIBnR0IQvftw9FJveWiHp72Fg20giDrHz6TdfB12UH/uue0D3hm57UB5KgAVuniLMCaS8P1IMj9NR7cA==", + "optional": true + }, + "minimatch": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.4.tgz", + "integrity": "sha512-yJHVQEhyqPLUTgt9B83PXu6W3rx4MvvHvSUvToogpwoGDOUQ+yDrR0HRot+yOCdCO7u4hX3pWft6kWBBcqh0UA==", + "optional": true, + "requires": { + "brace-expansion": "^1.1.7" + } + } + } + }, "nice-napi": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/nice-napi/-/nice-napi-1.0.2.tgz", @@ -17263,6 +17928,12 @@ "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==" }, + "path-browserify": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-1.0.1.tgz", + "integrity": "sha512-b7uo2UCUOYZcnF/3ID0lulOJi/bafxa1xPe7ZPsammBSpjSWQkjNxlt635YGS2MiR9GjvuXCtz2emr3jbsz98g==", + "optional": true + }, "path-exists": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", @@ -18748,6 +19419,11 @@ } } }, + "text-mask-core": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/text-mask-core/-/text-mask-core-5.1.2.tgz", + "integrity": "sha512-VfkCMdmRRZqXgQZFlDMiavm3hzsMzBM23CxHZsaeAYg66ZhXCNJWrFmnJwNy8KF9f74YvAUAuQenxsMCfuvhUw==" + }, "text-table": { "version": "0.2.0", "resolved": "https://registry.npmjs.org/text-table/-/text-table-0.2.0.tgz", @@ -18794,6 +19470,16 @@ "resolved": "https://registry.npmjs.org/tree-kill/-/tree-kill-1.2.2.tgz", "integrity": "sha512-L0Orpi8qGpRG//Nd+H90vFB+3iHnue1zSSGmNOOCh1GLJ7rUKVwV2HvijphGQS2UmhUZewS9VgvxYIdgr+fG1A==" }, + "ts-morph": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/ts-morph/-/ts-morph-10.0.2.tgz", + "integrity": "sha512-TVuIfEqtr9dW25K3Jajqpqx7t/zLRFxKu2rXQZSDjTm4MO4lfmuj1hn8WEryjeDDBFcNOCi+yOmYUYR4HucrAg==", + "optional": true, + "requires": { + "@ts-morph/common": "~0.9.0", + "code-block-writer": "^10.1.1" + } + }, "ts-node": { "version": "10.9.1", "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.9.1.tgz", diff --git a/package.json b/package.json index 268d781..b04853c 100644 --- a/package.json +++ b/package.json @@ -19,6 +19,13 @@ "@angular/platform-browser": "^14.1.0", "@angular/platform-browser-dynamic": "^14.1.0", "@angular/router": "^14.1.0", + "@taiga-ui/cdk": "^3.6.0", + "@taiga-ui/core": "^3.6.0", + "@taiga-ui/icons": "^3.6.0", + "@taiga-ui/kit": "^3.6.0", + "@taiga-ui/styles": "^3.6.0", + "@tinkoff/ng-dompurify": "3.0.0", + "dompurify": "2.2.9", "rxjs": "~7.5.0", "tslib": "^2.3.0", "zone.js": "~0.11.4" @@ -27,6 +34,7 @@ "@angular-devkit/build-angular": "^14.1.3", "@angular/cli": "~14.1.3", "@angular/compiler-cli": "^14.1.0", + "@types/dompurify": "2.2.3", "@types/jasmine": "~4.0.0", "jasmine-core": "~4.2.0", "karma": "~6.4.0",