@tehw0lf/contact-form 0.14.4 → 0.17.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (48) hide show
  1. package/README.md +45 -46
  2. package/esm2022/index.mjs +2 -0
  3. package/esm2022/lib/contact-form/contact-form.component.mjs +115 -0
  4. package/fesm2022/tehw0lf-contact-form.mjs +122 -0
  5. package/fesm2022/tehw0lf-contact-form.mjs.map +1 -0
  6. package/index.d.ts +0 -1
  7. package/lib/contact-form/contact-form.component.d.ts +28 -20
  8. package/package.json +14 -25
  9. package/esm2020/index.mjs +0 -3
  10. package/esm2020/lib/contact-form/contact-form.component.mjs +0 -97
  11. package/esm2020/lib/contact-form.module.mjs +0 -42
  12. package/esm2020/lib/email-api.service.mjs +0 -32
  13. package/fesm2015/tehw0lf-contact-form.mjs +0 -166
  14. package/fesm2015/tehw0lf-contact-form.mjs.map +0 -1
  15. package/fesm2020/tehw0lf-contact-form.mjs +0 -166
  16. package/fesm2020/tehw0lf-contact-form.mjs.map +0 -1
  17. package/lib/contact-form.module.d.ts +0 -13
  18. package/lib/email-api.service.d.ts +0 -13
  19. package/schematics/collection.json +0 -16
  20. package/schematics/ng-add/index.d.ts +0 -3
  21. package/schematics/ng-add/index.js +0 -46
  22. package/schematics/ng-add/index.js.map +0 -1
  23. package/schematics/ng-add/index.spec.d.ts +0 -1
  24. package/schematics/ng-add/index.spec.js +0 -102
  25. package/schematics/ng-add/index.spec.js.map +0 -1
  26. package/schematics/ng-add/package-config.d.ts +0 -12
  27. package/schematics/ng-add/package-config.js +0 -48
  28. package/schematics/ng-add/package-config.js.map +0 -1
  29. package/schematics/ng-add/schema.d.ts +0 -3
  30. package/schematics/ng-add/schema.js +0 -3
  31. package/schematics/ng-add/schema.js.map +0 -1
  32. package/schematics/ng-add/schema.json +0 -16
  33. package/schematics/ng-add/setup.d.ts +0 -3
  34. package/schematics/ng-add/setup.js +0 -50
  35. package/schematics/ng-add/setup.js.map +0 -1
  36. package/schematics/testing/file-content.d.ts +0 -10
  37. package/schematics/testing/file-content.js +0 -13
  38. package/schematics/testing/file-content.js.map +0 -1
  39. package/schematics/testing/test-app.d.ts +0 -12
  40. package/schematics/testing/test-app.js +0 -44
  41. package/schematics/testing/test-app.js.map +0 -1
  42. package/schematics/testing/test-library.d.ts +0 -11
  43. package/schematics/testing/test-library.js +0 -21
  44. package/schematics/testing/test-library.js.map +0 -1
  45. package/schematics/testing/test-project.d.ts +0 -11
  46. package/schematics/testing/test-project.js +0 -29
  47. package/schematics/testing/test-project.js.map +0 -1
  48. /package/{esm2020 → esm2022}/tehw0lf-contact-form.mjs +0 -0
@@ -1 +0,0 @@
1
- {"version":3,"file":"tehw0lf-contact-form.mjs","sources":["../../../../libs/contact-form/src/lib/email-api.service.ts","../../../../libs/contact-form/src/lib/contact-form/contact-form.component.ts","../../../../libs/contact-form/src/lib/contact-form/contact-form.component.html","../../../../libs/contact-form/src/lib/contact-form.module.ts","../../../../libs/contact-form/src/tehw0lf-contact-form.ts"],"sourcesContent":["import { HttpClient, HttpHeaders } from '@angular/common/http';\nimport { Injectable } from '@angular/core';\nimport { Observable, of } from 'rxjs';\nimport { catchError, map } from 'rxjs/operators';\n\n@Injectable({\n providedIn: 'root'\n})\nexport class EmailApiService {\n httpOptions = {\n headers: new HttpHeaders({\n 'Content-Type': 'application/json'\n })\n };\n constructor(private http: HttpClient) {}\n\n sendEmail(apiURL: string, data: any): Observable<any> {\n return this.http.post(apiURL, JSON.stringify(data), this.httpOptions).pipe(\n map((response: any) => {\n return response;\n }),\n catchError((error: any) => {\n return of(error.statusText);\n })\n );\n }\n}\n","import { Component, Input, OnDestroy, ViewEncapsulation } from '@angular/core';\nimport { UntypedFormBuilder, UntypedFormControl, UntypedFormGroup, Validators } from '@angular/forms';\nimport { Subject } from 'rxjs';\nimport { takeUntil, tap } from 'rxjs/operators';\n\nimport { EmailApiService } from '../email-api.service';\n\n@Component({\n // eslint-disable-next-line @angular-eslint/component-selector\n selector: 'contact-form',\n templateUrl: './contact-form.component.html',\n encapsulation: ViewEncapsulation.None,\n styleUrls: ['./contact-form.component.scss']\n})\nexport class ContactFormComponent implements OnDestroy {\n @Input() buttonStyle = {\n 'background-color': '#333333',\n border: 'none',\n color: '#cc7832'\n };\n\n @Input() formStyle = {\n color: '#437da8',\n 'background-color': 'rgba(34, 34, 34, 0.75)',\n 'backdrop-filter': 'blur(50px)',\n 'box-shadow': '0 2px 10px rgba(0, 0, 0, 0.075)'\n };\n\n @Input() inputStyle = {\n color: '#282b2e'\n };\n\n @Input() textStyle = { color: '#cc7832' };\n\n @Input() nameLabel = 'Your Name';\n\n @Input() emailAddressLabel = 'Your E-Mail Address';\n\n @Input() messageLabel = 'Your Message';\n\n @Input() sendText = 'Send';\n\n @Input() sendSuccessfulText = 'E-Mail successfully sent';\n\n @Input() sendErrorText = 'Send error';\n\n @Input() apiURL = 'https://forwardmethis.com/';\n @Input() email = '';\n\n formGroup: UntypedFormGroup;\n emailSent: Subject<boolean | null> = new Subject();\n emailSent$ = this.emailSent.asObservable();\n\n private unsubscribe$: Subject<void> = new Subject();\n\n constructor(\n private builder: UntypedFormBuilder,\n private emailService: EmailApiService\n ) {\n this.emailSent.next(null);\n this.formGroup = this.builder.group({\n name: new UntypedFormControl('', [Validators.required]),\n email: new UntypedFormControl('', [Validators.required, Validators.email]),\n message: new UntypedFormControl('', [Validators.required])\n });\n }\n\n ngOnDestroy(): void {\n this.unsubscribe$.next();\n this.unsubscribe$.complete();\n }\n\n submitFormData(formData: UntypedFormGroup) {\n this.emailService\n .sendEmail(`${this.apiURL}${this.email}`, formData.value)\n .pipe(\n tap((response: string) => {\n if (response === 'OK') {\n this.emailSent.next(true);\n } else {\n this.emailSent.next(false);\n }\n }),\n takeUntil(this.unsubscribe$)\n )\n .subscribe();\n }\n}\n","<form\n [ngStyle]=\"formStyle\"\n class=\"contact-form\"\n [formGroup]=\"formGroup\"\n (ngSubmit)=\"submitFormData(formGroup)\"\n fxLayout=\"column\"\n fxFlex\n>\n <mat-form-field class=\"form-field\" appearance=\"outline\" fxFlex>\n <mat-label [ngStyle]=\"textStyle\" for=\"name\">{{ nameLabel }}</mat-label>\n <input\n [ngStyle]=\"textStyle\"\n matInput\n class=\"form-control\"\n type=\"text\"\n name=\"name\"\n formControlName=\"name\"\n />\n </mat-form-field>\n <mat-form-field class=\"form-field\" appearance=\"outline\" fxFlex>\n <mat-label [ngStyle]=\"textStyle\" for=\"email\">{{\n emailAddressLabel\n }}</mat-label>\n <input\n [ngStyle]=\"textStyle\"\n matInput\n class=\"form-control\"\n type=\"email\"\n name=\"email\"\n formControlName=\"email\"\n />\n </mat-form-field>\n <mat-form-field class=\"form-field\" appearance=\"outline\" fxFlex>\n <mat-label [ngStyle]=\"textStyle\" for=\"message\">\n {{ messageLabel }}\n </mat-label>\n <textarea\n [ngStyle]=\"inputStyle\"\n matInput\n formControlName=\"message\"\n name=\"message\"\n >\n </textarea>\n </mat-form-field>\n <button\n [ngStyle]=\"buttonStyle\"\n class=\"form-button\"\n type=\"submit\"\n [disabled]=\"!formGroup.valid\"\n >\n {{ sendText }}\n </button>\n <div\n [ngStyle]=\"textStyle\"\n class=\"form-status\"\n *ngIf=\"(emailSent$ | async) === true\"\n >\n {{ sendSuccessfulText }}\n </div>\n <div\n [ngStyle]=\"textStyle\"\n class=\"form-status\"\n *ngIf=\"(emailSent$ | async) === false\"\n >\n {{ sendErrorText }}\n </div>\n</form>\n","import { CommonModule } from '@angular/common';\nimport { HttpClientModule } from '@angular/common/http';\nimport { NgModule } from '@angular/core';\nimport { ReactiveFormsModule } from '@angular/forms';\nimport { MatFormFieldModule } from '@angular/material/form-field';\nimport { MatInputModule } from '@angular/material/input';\nimport { BrowserAnimationsModule } from '@angular/platform-browser/animations';\n\nimport { ContactFormComponent } from './contact-form/contact-form.component';\nimport { EmailApiService } from './email-api.service';\n\n@NgModule({\n imports: [\n CommonModule,\n HttpClientModule,\n BrowserAnimationsModule,\n ReactiveFormsModule,\n MatFormFieldModule,\n MatInputModule\n ],\n declarations: [ContactFormComponent],\n exports: [ContactFormComponent],\n providers: [EmailApiService]\n})\nexport class ContactFormModule {}\n","/**\n * Generated bundle index. Do not edit.\n */\n\nexport * from './index';\n"],"names":["i1","i2.EmailApiService"],"mappings":"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"}
@@ -1,13 +0,0 @@
1
- import * as i0 from "@angular/core";
2
- import * as i1 from "./contact-form/contact-form.component";
3
- import * as i2 from "@angular/common";
4
- import * as i3 from "@angular/common/http";
5
- import * as i4 from "@angular/platform-browser/animations";
6
- import * as i5 from "@angular/forms";
7
- import * as i6 from "@angular/material/form-field";
8
- import * as i7 from "@angular/material/input";
9
- export declare class ContactFormModule {
10
- static ɵfac: i0.ɵɵFactoryDeclaration<ContactFormModule, never>;
11
- static ɵmod: i0.ɵɵNgModuleDeclaration<ContactFormModule, [typeof i1.ContactFormComponent], [typeof i2.CommonModule, typeof i3.HttpClientModule, typeof i4.BrowserAnimationsModule, typeof i5.ReactiveFormsModule, typeof i6.MatFormFieldModule, typeof i7.MatInputModule], [typeof i1.ContactFormComponent]>;
12
- static ɵinj: i0.ɵɵInjectorDeclaration<ContactFormModule>;
13
- }
@@ -1,13 +0,0 @@
1
- import { HttpClient, HttpHeaders } from '@angular/common/http';
2
- import { Observable } from 'rxjs';
3
- import * as i0 from "@angular/core";
4
- export declare class EmailApiService {
5
- private http;
6
- httpOptions: {
7
- headers: HttpHeaders;
8
- };
9
- constructor(http: HttpClient);
10
- sendEmail(apiURL: string, data: any): Observable<any>;
11
- static ɵfac: i0.ɵɵFactoryDeclaration<EmailApiService, never>;
12
- static ɵprov: i0.ɵɵInjectableDeclaration<EmailApiService>;
13
- }
@@ -1,16 +0,0 @@
1
- {
2
- "$schema": "../../../node_modules/@angular-devkit/schematics/collection-schema.json",
3
- "schematics": {
4
- "ng-add": {
5
- "description": "Add contact-form library to the project if material is installed.",
6
- "factory": "./ng-add/index",
7
- "schema": "./ng-add/schema.json"
8
- },
9
- "ng-add-setup": {
10
- "description": "Install dependencies and add the library to the project",
11
- "private": true,
12
- "factory": "./ng-add/setup",
13
- "schema": "./ng-add/schema.json"
14
- }
15
- }
16
- }
@@ -1,3 +0,0 @@
1
- import { Rule } from '@angular-devkit/schematics';
2
- import { Schema } from './schema';
3
- export default function (options: Schema): Rule;
@@ -1,46 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const tasks_1 = require("@angular-devkit/schematics/tasks");
13
- const schematics_1 = require("@angular/cdk/schematics");
14
- const dependencies_1 = require("@schematics/angular/utility/dependencies");
15
- const workspace_1 = require("@schematics/angular/utility/workspace");
16
- const workspace_models_1 = require("@schematics/angular/utility/workspace-models");
17
- const package_config_1 = require("./package-config");
18
- function default_1(options) {
19
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
20
- const materialVersion = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/material');
21
- const workspace = yield (0, workspace_1.getWorkspace)(host);
22
- const project = (0, schematics_1.getProjectFromWorkspace)(workspace, options.project);
23
- if (!project) {
24
- (0, dependencies_1.removePackageJsonDependency)(host, '@tehw0lf/contact-form');
25
- context.logger.error(`No project specified and can not find default project ${project}`);
26
- context.addTask(new tasks_1.NodePackageInstallTask());
27
- return;
28
- }
29
- if (project.extensions.projectType !== workspace_models_1.ProjectType.Application) {
30
- (0, dependencies_1.removePackageJsonDependency)(host, '@tehw0lf/contact-form');
31
- context.logger.error('This library needs to be added to an application project');
32
- context.addTask(new tasks_1.NodePackageInstallTask());
33
- return;
34
- }
35
- if (!materialVersion) {
36
- (0, dependencies_1.removePackageJsonDependency)(host, '@tehw0lf/contact-form');
37
- context.logger.error(`@angular/material not found.
38
- Please run 'ng add @angular/material' first`);
39
- context.addTask(new tasks_1.NodePackageInstallTask());
40
- return;
41
- }
42
- context.addTask(new tasks_1.RunSchematicTask('ng-add-setup', options));
43
- });
44
- }
45
- exports.default = default_1;
46
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/ng-add/index.ts"],"names":[],"mappings":";;;;;;;;;;;AACA,4DAA4F;AAC5F,wDAAkE;AAClE,2EAAuF;AACvF,qEAAqE;AACrE,mFAA2E;AAE3E,qDAAoE;AAGpE,mBAAyB,OAAe;IACtC,OAAO,CAAO,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,MAAM,eAAe,GAAG,IAAA,iDAAgC,EACtD,IAAI,EACJ,mBAAmB,CACpB,CAAC;QACF,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;QAE3C,MAAM,OAAO,GAAG,IAAA,oCAAuB,EAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QAEpE,IAAI,CAAC,OAAO,EAAE;YACZ,IAAA,0CAA2B,EAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,yDAAyD,OAAO,EAAE,CACnE,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;YAC9C,OAAO;SACR;QAED,IAAI,OAAO,CAAC,UAAU,CAAC,WAAW,KAAK,8BAAW,CAAC,WAAW,EAAE;YAC9D,IAAA,0CAA2B,EAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAClB,0DAA0D,CAC3D,CAAC;YACF,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;YAC9C,OAAO;SACR;QAED,IAAI,CAAC,eAAe,EAAE;YACpB,IAAA,0CAA2B,EAAC,IAAI,EAAE,uBAAuB,CAAC,CAAC;YAC3D,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;mDACwB,CAAC,CAAC;YAC/C,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;YAC9C,OAAO;SACR;QAED,OAAO,CAAC,OAAO,CAAC,IAAI,wBAAgB,CAAC,cAAc,EAAE,OAAO,CAAC,CAAC,CAAC;IACjE,CAAC,CAAA,CAAC;AACJ,CAAC;AAtCD,4BAsCC"}
@@ -1 +0,0 @@
1
- export {};
@@ -1,102 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const testing_1 = require("@angular-devkit/schematics/testing");
13
- const file_content_1 = require("../testing/file-content");
14
- const test_app_1 = require("../testing/test-app");
15
- const test_library_1 = require("../testing/test-library");
16
- const testProjectName = 'test-project';
17
- describe('ng-add-setup schematic with material present', () => {
18
- let runner;
19
- let appTree;
20
- let errorOutput;
21
- let warnOutput;
22
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
23
- runner = new testing_1.SchematicTestRunner('schematics', require.resolve('../collection.json'));
24
- appTree = yield (0, test_app_1.createTestAppWithMaterial)(runner);
25
- errorOutput = [];
26
- warnOutput = [];
27
- runner.logger.subscribe((e) => {
28
- if (e.level === 'error') {
29
- errorOutput.push(e.message);
30
- }
31
- else if (e.level === 'warn') {
32
- warnOutput.push(e.message);
33
- }
34
- });
35
- }));
36
- it('should add the ContactFormModule to the project module', () => __awaiter(void 0, void 0, void 0, function* () {
37
- const tree = yield runner
38
- .runSchematicAsync('ng-add-setup', { project: testProjectName }, appTree)
39
- .toPromise();
40
- const fileContent = (0, file_content_1.getFileContent)(tree, `/projects/${testProjectName}/src/app/app.module.ts`);
41
- expect(fileContent).toContain('ContactFormModule');
42
- }));
43
- });
44
- describe('ng-add schematic without material present', () => {
45
- let runner;
46
- let appTree;
47
- let errorOutput;
48
- let warnOutput;
49
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
50
- runner = new testing_1.SchematicTestRunner('schematics', require.resolve('../collection.json'));
51
- appTree = yield (0, test_app_1.createTestApp)(runner);
52
- errorOutput = [];
53
- warnOutput = [];
54
- runner.logger.subscribe((e) => {
55
- if (e.level === 'error') {
56
- errorOutput.push(e.message);
57
- }
58
- else if (e.level === 'warn') {
59
- warnOutput.push(e.message);
60
- }
61
- });
62
- }));
63
- it('should fail to add module if material is missing', () => __awaiter(void 0, void 0, void 0, function* () {
64
- const tree = yield runner
65
- .runSchematicAsync('ng-add', { project: testProjectName }, appTree)
66
- .toPromise();
67
- const fileContent = (0, file_content_1.getFileContent)(tree, `/projects/${testProjectName}/src/app/app.module.ts`);
68
- expect(fileContent).not.toContain('ContactFormModule');
69
- expect(errorOutput.length).toBe(1);
70
- expect(warnOutput.length).toBe(0);
71
- expect(errorOutput[0]).toMatch(`@angular/material not found.
72
- Please run 'ng add @angular/material' first`);
73
- }));
74
- });
75
- describe('ng-add schematic - library project', () => {
76
- let runner;
77
- let libraryTree;
78
- let errorOutput;
79
- let warnOutput;
80
- beforeEach(() => __awaiter(void 0, void 0, void 0, function* () {
81
- runner = new testing_1.SchematicTestRunner('schematics', require.resolve('../collection.json'));
82
- libraryTree = yield (0, test_library_1.createTestLibrary)(runner);
83
- errorOutput = [];
84
- warnOutput = [];
85
- runner.logger.subscribe((e) => {
86
- if (e.level === 'error') {
87
- errorOutput.push(e.message);
88
- }
89
- else if (e.level === 'warn') {
90
- warnOutput.push(e.message);
91
- }
92
- });
93
- }));
94
- it('should do nothing if a library project is targeted', () => __awaiter(void 0, void 0, void 0, function* () {
95
- yield runner
96
- .runSchematicAsync('ng-add', { project: testProjectName }, libraryTree)
97
- .toPromise();
98
- expect(errorOutput.length).toBe(1);
99
- expect(errorOutput[0]).toMatch('This library needs to be added to an application project');
100
- }));
101
- });
102
- //# sourceMappingURL=index.spec.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.spec.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/ng-add/index.spec.ts"],"names":[],"mappings":"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"}
@@ -1,12 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { Tree } from '@angular-devkit/schematics';
9
- /** Adds a package to the package.json in the given host tree. */
10
- export declare function addPackageToPackageJson(host: Tree, pkg: string, version: string): Tree;
11
- /** Gets the version of the specified package by looking at the package.json in the given tree. */
12
- export declare function getPackageVersionFromPackageJson(tree: Tree, name: string): string | null;
@@ -1,48 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getPackageVersionFromPackageJson = exports.addPackageToPackageJson = void 0;
4
- /**
5
- * Sorts the keys of the given object.
6
- * @returns A new object instance with sorted keys
7
- */
8
- function sortObjectByKeys(obj) {
9
- return Object.keys(obj)
10
- .sort()
11
- .reduce((result, key) => {
12
- result[key] = obj[key];
13
- return result;
14
- }, {});
15
- }
16
- /** Adds a package to the package.json in the given host tree. */
17
- function addPackageToPackageJson(host, pkg, version) {
18
- if (host.exists('package.json')) {
19
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
20
- const sourceText = host.read('package.json').toString('utf-8');
21
- const json = JSON.parse(sourceText);
22
- if (!json.dependencies) {
23
- json.dependencies = {};
24
- }
25
- if (!json.dependencies[pkg]) {
26
- json.dependencies[pkg] = version;
27
- json.dependencies = sortObjectByKeys(json.dependencies);
28
- }
29
- host.overwrite('package.json', JSON.stringify(json, null, 2));
30
- }
31
- return host;
32
- }
33
- exports.addPackageToPackageJson = addPackageToPackageJson;
34
- /** Gets the version of the specified package by looking at the package.json in the given tree. */
35
- function getPackageVersionFromPackageJson(tree, name) {
36
- if (!tree.exists('package.json')) {
37
- return null;
38
- }
39
- const packageJson = JSON.parse(
40
- // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
41
- tree.read('package.json').toString('utf8'));
42
- if (packageJson.dependencies && packageJson.dependencies[name]) {
43
- return packageJson.dependencies[name];
44
- }
45
- return null;
46
- }
47
- exports.getPackageVersionFromPackageJson = getPackageVersionFromPackageJson;
48
- //# sourceMappingURL=package-config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"package-config.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/ng-add/package-config.ts"],"names":[],"mappings":";;;AAaA;;;GAGG;AACH,SAAS,gBAAgB,CAAC,GAA2B;IACnD,OAAO,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC;SACpB,IAAI,EAAE;SACN,MAAM,CAAC,CAAC,MAAM,EAAE,GAAG,EAAE,EAAE;QACtB,MAAM,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;QACvB,OAAO,MAAM,CAAC;IAChB,CAAC,EAAE,EAA4B,CAAC,CAAC;AACrC,CAAC;AAED,iEAAiE;AACjE,SAAgB,uBAAuB,CACrC,IAAU,EACV,GAAW,EACX,OAAe;IAEf,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QAC/B,oEAAoE;QACpE,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC;QAChE,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAgB,CAAC;QAEnD,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE;YACtB,IAAI,CAAC,YAAY,GAAG,EAAE,CAAC;SACxB;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,EAAE;YAC3B,IAAI,CAAC,YAAY,CAAC,GAAG,CAAC,GAAG,OAAO,CAAC;YACjC,IAAI,CAAC,YAAY,GAAG,gBAAgB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SACzD;QAED,IAAI,CAAC,SAAS,CAAC,cAAc,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;KAC/D;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAvBD,0DAuBC;AAED,kGAAkG;AAClG,SAAgB,gCAAgC,CAC9C,IAAU,EACV,IAAY;IAEZ,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,EAAE;QAChC,OAAO,IAAI,CAAC;KACb;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK;IAC5B,oEAAoE;IACpE,IAAI,CAAC,IAAI,CAAC,cAAc,CAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAC7B,CAAC;IAEjB,IAAI,WAAW,CAAC,YAAY,IAAI,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,EAAE;QAC9D,OAAO,WAAW,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KACvC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAlBD,4EAkBC"}
@@ -1,3 +0,0 @@
1
- export interface Schema {
2
- project: string;
3
- }
@@ -1,3 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- //# sourceMappingURL=schema.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"schema.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/ng-add/schema.ts"],"names":[],"mappings":""}
@@ -1,16 +0,0 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema",
3
- "$id": "angular-material-ng-add",
4
- "title": "Angular Material ng-add schematic",
5
- "type": "object",
6
- "properties": {
7
- "project": {
8
- "type": "string",
9
- "description": "Name of the project.",
10
- "$default": {
11
- "$source": "projectName"
12
- }
13
- }
14
- },
15
- "required": []
16
- }
@@ -1,3 +0,0 @@
1
- import { Rule } from '@angular-devkit/schematics';
2
- import { Schema } from './schema';
3
- export default function (options: Schema): Rule;
@@ -1,50 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- const schematics_1 = require("@angular-devkit/schematics");
13
- const tasks_1 = require("@angular-devkit/schematics/tasks");
14
- const schematics_2 = require("@angular/cdk/schematics");
15
- const workspace_1 = require("@schematics/angular/utility/workspace");
16
- const package_config_1 = require("./package-config");
17
- const contactFormModuleName = 'ContactFormModule';
18
- const contactFormPackageName = '@tehw0lf/contact-form';
19
- const flexLayoutFallbackVersion = '^14.0.0-beta.40';
20
- function default_1(options) {
21
- return () => __awaiter(this, void 0, void 0, function* () {
22
- return (0, schematics_1.chain)([addDependencies(), addContactFormModule(options)]);
23
- });
24
- }
25
- exports.default = default_1;
26
- function addContactFormModule(options) {
27
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
28
- const workspace = yield (0, workspace_1.getWorkspace)(host);
29
- const project = (0, schematics_2.getProjectFromWorkspace)(workspace, options.project);
30
- const appModulePath = (0, schematics_2.getAppModulePath)(host, (0, schematics_2.getProjectMainFile)(project));
31
- if (!(0, schematics_2.hasNgModuleImport)(host, appModulePath, contactFormModuleName)) {
32
- (0, schematics_2.addModuleImportToRootModule)(host, contactFormModuleName, contactFormPackageName, project);
33
- }
34
- else {
35
- context.logger.warn('Library is already installed, nothing to do.');
36
- }
37
- return;
38
- });
39
- }
40
- function addDependencies() {
41
- return (host, context) => __awaiter(this, void 0, void 0, function* () {
42
- const flexLayoutVersion = (0, package_config_1.getPackageVersionFromPackageJson)(host, '@angular/flex-layout');
43
- if (!flexLayoutVersion || flexLayoutVersion !== flexLayoutFallbackVersion) {
44
- (0, package_config_1.addPackageToPackageJson)(host, '@angular/flex-layout', flexLayoutFallbackVersion);
45
- context.logger.info(`@angular/flex-layout ${flexLayoutFallbackVersion} was added to dependencies.`);
46
- }
47
- context.addTask(new tasks_1.NodePackageInstallTask());
48
- });
49
- }
50
- //# sourceMappingURL=setup.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"setup.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/ng-add/setup.ts"],"names":[],"mappings":";;;;;;;;;;;AAAA,2DAAiF;AACjF,4DAA0E;AAC1E,wDAMiC;AACjC,qEAAqE;AAErE,qDAA6F;AAG7F,MAAM,qBAAqB,GAAG,mBAAmB,CAAC;AAClD,MAAM,sBAAsB,GAAG,uBAAuB,CAAC;AACvD,MAAM,yBAAyB,GAAG,iBAAiB,CAAC;AAEpD,mBAAyB,OAAe;IACtC,OAAO,GAAS,EAAE;QAChB,OAAO,IAAA,kBAAK,EAAC,CAAC,eAAe,EAAE,EAAE,oBAAoB,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;IACnE,CAAC,CAAA,CAAC;AACJ,CAAC;AAJD,4BAIC;AAED,SAAS,oBAAoB,CAAC,OAAe;IAC3C,OAAO,CAAO,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,MAAM,SAAS,GAAG,MAAM,IAAA,wBAAY,EAAC,IAAI,CAAC,CAAC;QAC3C,MAAM,OAAO,GAAG,IAAA,oCAAuB,EAAC,SAAS,EAAE,OAAO,CAAC,OAAO,CAAC,CAAC;QACpE,MAAM,aAAa,GAAG,IAAA,6BAAgB,EAAC,IAAI,EAAE,IAAA,+BAAkB,EAAC,OAAO,CAAC,CAAC,CAAC;QAE1E,IAAI,CAAC,IAAA,8BAAiB,EAAC,IAAI,EAAE,aAAa,EAAE,qBAAqB,CAAC,EAAE;YAClE,IAAA,wCAA2B,EACzB,IAAI,EACJ,qBAAqB,EACrB,sBAAsB,EACtB,OAAO,CACR,CAAC;SACH;aAAM;YACL,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC,8CAA8C,CAAC,CAAC;SACrE;QACD,OAAO;IACT,CAAC,CAAA,CAAC;AACJ,CAAC;AAED,SAAS,eAAe;IACtB,OAAO,CAAO,IAAU,EAAE,OAAyB,EAAE,EAAE;QACrD,MAAM,iBAAiB,GAAG,IAAA,iDAAgC,EACxD,IAAI,EACJ,sBAAsB,CACvB,CAAC;QAEF,IAAI,CAAC,iBAAiB,IAAI,iBAAiB,KAAK,yBAAyB,EAAE;YACzE,IAAA,wCAAuB,EACrB,IAAI,EACJ,sBAAsB,EACtB,yBAAyB,CAC1B,CAAC;YAEF,OAAO,CAAC,MAAM,CAAC,IAAI,CACjB,wBAAwB,yBAAyB,6BAA6B,CAC/E,CAAC;SACH;QACD,OAAO,CAAC,OAAO,CAAC,IAAI,8BAAsB,EAAE,CAAC,CAAC;IAChD,CAAC,CAAA,CAAC;AACJ,CAAC"}
@@ -1,10 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { Tree } from '@angular-devkit/schematics';
9
- /** Gets the content of a specified file from a schematic tree. */
10
- export declare function getFileContent(tree: Tree, filePath: string): string;
@@ -1,13 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.getFileContent = void 0;
4
- /** Gets the content of a specified file from a schematic tree. */
5
- function getFileContent(tree, filePath) {
6
- const contentBuffer = tree.read(filePath);
7
- if (!contentBuffer) {
8
- throw new Error(`Cannot read "${filePath}" because it does not exist.`);
9
- }
10
- return contentBuffer.toString();
11
- }
12
- exports.getFileContent = getFileContent;
13
- //# sourceMappingURL=file-content.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"file-content.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/testing/file-content.ts"],"names":[],"mappings":";;;AAUA,kEAAkE;AAClE,SAAgB,cAAc,CAAC,IAAU,EAAE,QAAgB;IACzD,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IAE1C,IAAI,CAAC,aAAa,EAAE;QAClB,MAAM,IAAI,KAAK,CAAC,gBAAgB,QAAQ,8BAA8B,CAAC,CAAC;KACzE;IAED,OAAO,aAAa,CAAC,QAAQ,EAAE,CAAC;AAClC,CAAC;AARD,wCAQC"}
@@ -1,12 +0,0 @@
1
- import { Tree } from '@angular-devkit/schematics';
2
- import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
3
- /**
4
- * @license
5
- * Copyright Google LLC All Rights Reserved.
6
- *
7
- * Use of this source code is governed by an MIT-style license that can be
8
- * found in the LICENSE file at https://angular.io/license
9
- */
10
- /** Create a base app used for testing. */
11
- export declare function createTestApp(runner: SchematicTestRunner, appOptions?: {}, tree?: Tree): Promise<UnitTestTree>;
12
- export declare function createTestAppWithMaterial(runner: SchematicTestRunner, appOptions?: {}, tree?: Tree): Promise<UnitTestTree>;
@@ -1,44 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createTestAppWithMaterial = exports.createTestApp = void 0;
13
- const package_config_1 = require("../ng-add/package-config");
14
- const file_content_1 = require("./file-content");
15
- const test_project_1 = require("./test-project");
16
- /**
17
- * @license
18
- * Copyright Google LLC All Rights Reserved.
19
- *
20
- * Use of this source code is governed by an MIT-style license that can be
21
- * found in the LICENSE file at https://angular.io/license
22
- */
23
- /** Create a base app used for testing. */
24
- function createTestApp(runner, appOptions = {}, tree) {
25
- return __awaiter(this, void 0, void 0, function* () {
26
- return (0, test_project_1.createTestProject)(runner, 'application', appOptions, tree);
27
- });
28
- }
29
- exports.createTestApp = createTestApp;
30
- function createTestAppWithMaterial(runner, appOptions = {}, tree) {
31
- return __awaiter(this, void 0, void 0, function* () {
32
- const projectTree = yield (0, test_project_1.createTestProject)(runner, 'application', appOptions, tree);
33
- const coreVersion = (0, package_config_1.getPackageVersionFromPackageJson)(projectTree, '@angular/core');
34
- const packageJson = (0, file_content_1.getFileContent)(projectTree, '/package.json');
35
- const updatedPackageJson = packageJson.replace(`"dependencies": {
36
- "@angular/animations": "${coreVersion}",`, `"dependencies": {
37
- "@angular/animations": "${coreVersion}",
38
- "@angular/material": "${coreVersion}",`);
39
- projectTree.overwrite('/package.json', updatedPackageJson);
40
- return projectTree;
41
- });
42
- }
43
- exports.createTestAppWithMaterial = createTestAppWithMaterial;
44
- //# sourceMappingURL=test-app.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-app.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/testing/test-app.ts"],"names":[],"mappings":";;;;;;;;;;;;AAMA,6DAA4E;AAC5E,iDAAgD;AAChD,iDAAmD;AAEnD;;;;;;GAMG;AACH,0CAA0C;AAC1C,SAAsB,aAAa,CACjC,MAA2B,EAC3B,UAAU,GAAG,EAAE,EACf,IAAW;;QAEX,OAAO,IAAA,gCAAiB,EAAC,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IACpE,CAAC;CAAA;AAND,sCAMC;AAED,SAAsB,yBAAyB,CAC7C,MAA2B,EAC3B,UAAU,GAAG,EAAE,EACf,IAAW;;QAEX,MAAM,WAAW,GAAG,MAAM,IAAA,gCAAiB,EACzC,MAAM,EACN,aAAa,EACb,UAAU,EACV,IAAI,CACL,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,iDAAgC,EAClD,WAAW,EACX,eAAe,CAChB,CAAC;QAEF,MAAM,WAAW,GAAG,IAAA,6BAAc,EAAC,WAAW,EAAE,eAAe,CAAC,CAAC;QAEjE,MAAM,kBAAkB,GAAG,WAAW,CAAC,OAAO,CAC5C;8BAC0B,WAAW,IAAI,EACzC;8BAC0B,WAAW;4BACb,WAAW,IAAI,CACxC,CAAC;QACF,WAAW,CAAC,SAAS,CAAC,eAAe,EAAE,kBAAkB,CAAC,CAAC;QAC3D,OAAO,WAAW,CAAC;IACrB,CAAC;CAAA;AA5BD,8DA4BC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { Tree } from '@angular-devkit/schematics';
9
- import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
10
- /** Create a base library used for testing. */
11
- export declare function createTestLibrary(runner: SchematicTestRunner, appOptions?: {}, tree?: Tree): Promise<UnitTestTree>;
@@ -1,21 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createTestLibrary = void 0;
13
- const test_project_1 = require("./test-project");
14
- /** Create a base library used for testing. */
15
- function createTestLibrary(runner, appOptions = {}, tree) {
16
- return __awaiter(this, void 0, void 0, function* () {
17
- return (0, test_project_1.createTestProject)(runner, 'library', appOptions, tree);
18
- });
19
- }
20
- exports.createTestLibrary = createTestLibrary;
21
- //# sourceMappingURL=test-library.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-library.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/testing/test-library.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,iDAAmD;AAGnD,8CAA8C;AAC9C,SAAsB,iBAAiB,CACrC,MAA2B,EAC3B,UAAU,GAAG,EAAE,EACf,IAAW;;QAEX,OAAO,IAAA,gCAAiB,EAAC,MAAM,EAAE,SAAS,EAAE,UAAU,EAAE,IAAI,CAAC,CAAC;IAChE,CAAC;CAAA;AAND,8CAMC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * @license
3
- * Copyright Google LLC All Rights Reserved.
4
- *
5
- * Use of this source code is governed by an MIT-style license that can be
6
- * found in the LICENSE file at https://angular.io/license
7
- */
8
- import { Tree } from '@angular-devkit/schematics';
9
- import { SchematicTestRunner, UnitTestTree } from '@angular-devkit/schematics/testing';
10
- /** Create a base project used for testing. */
11
- export declare function createTestProject(runner: SchematicTestRunner, projectType: 'application' | 'library', appOptions?: {}, tree?: Tree): Promise<UnitTestTree>;
@@ -1,29 +0,0 @@
1
- "use strict";
2
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
3
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
4
- return new (P || (P = Promise))(function (resolve, reject) {
5
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
6
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
7
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
8
- step((generator = generator.apply(thisArg, _arguments || [])).next());
9
- });
10
- };
11
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.createTestProject = void 0;
13
- /** Create a base project used for testing. */
14
- function createTestProject(runner, projectType, appOptions = {}, tree) {
15
- return __awaiter(this, void 0, void 0, function* () {
16
- const workspaceTree = yield runner
17
- .runExternalSchematicAsync('@schematics/angular', 'workspace', {
18
- name: 'workspace',
19
- version: '6.0.0',
20
- newProjectRoot: 'projects'
21
- }, tree)
22
- .toPromise();
23
- return runner
24
- .runExternalSchematicAsync('@schematics/angular', projectType, Object.assign({ name: 'test-project' }, appOptions), workspaceTree)
25
- .toPromise();
26
- });
27
- }
28
- exports.createTestProject = createTestProject;
29
- //# sourceMappingURL=test-project.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"test-project.js","sourceRoot":"","sources":["../../../../../libs/contact-form/schematics/testing/test-project.ts"],"names":[],"mappings":";;;;;;;;;;;;AAUA,8CAA8C;AAC9C,SAAsB,iBAAiB,CACrC,MAA2B,EAC3B,WAAsC,EACtC,UAAU,GAAG,EAAE,EACf,IAAW;;QAEX,MAAM,aAAa,GAAG,MAAM,MAAM;aAC/B,yBAAyB,CACxB,qBAAqB,EACrB,WAAW,EACX;YACE,IAAI,EAAE,WAAW;YACjB,OAAO,EAAE,OAAO;YAChB,cAAc,EAAE,UAAU;SAC3B,EACD,IAAI,CACL;aACA,SAAS,EAAE,CAAC;QAEf,OAAO,MAAM;aACV,yBAAyB,CACxB,qBAAqB,EACrB,WAAW,kBACT,IAAI,EAAE,cAAc,IAAK,UAAU,GACrC,aAAa,CACd;aACA,SAAS,EAAE,CAAC;IACjB,CAAC;CAAA;AA3BD,8CA2BC"}
File without changes