@osovitny/anatoly 2.14.71 → 2.14.73

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.
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Pipe, APP_INITIALIZER, Injector, NgModule, Inject, Component, Input, EventEmitter, Output, Directive, ViewEncapsulation, ViewChild, Optional, SkipSelf } from '@angular/core';
2
+ import { Injectable, Pipe, APP_INITIALIZER, Injector, NgModule, Inject, Component, Input, EventEmitter, Output, ViewEncapsulation, Directive, ViewChild, Optional, SkipSelf } from '@angular/core';
3
3
  import * as i1 from '@angular/router';
4
4
  import { NavigationEnd, NavigationStart, NavigationCancel, NavigationError } from '@angular/router';
5
5
  import * as i1$3 from '@angular/common/http';
@@ -18,15 +18,18 @@ import Swal from 'sweetalert2';
18
18
  import { v4 } from 'uuid';
19
19
  import * as i1$2 from 'ngx-toastr';
20
20
  import * as i1$4 from '@angular/platform-browser';
21
- import * as i1$6 from '@angular/forms';
21
+ import * as i1$6 from '@fortawesome/angular-fontawesome';
22
+ import { FontAwesomeModule } from '@fortawesome/angular-fontawesome';
23
+ import * as i1$7 from '@angular/forms';
22
24
  import { FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
23
- import * as i1$7 from 'angular-froala-wysiwyg';
25
+ import * as i1$8 from 'angular-froala-wysiwyg';
24
26
  import { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';
25
- import * as i1$8 from '@progress/kendo-angular-dialog';
27
+ import * as i1$9 from '@progress/kendo-angular-dialog';
26
28
  import { DialogsModule } from '@progress/kendo-angular-dialog';
27
29
  import * as i6 from 'ngx-captcha';
28
30
  import { NgxCaptchaModule } from 'ngx-captcha';
29
31
  import { ButtonsModule } from '@progress/kendo-angular-buttons';
32
+ import { faCheckCircle, faCircleXmark } from '@fortawesome/free-solid-svg-icons';
30
33
 
31
34
  /*
32
35
  <file>
@@ -1379,6 +1382,10 @@ class AppContextService extends BaseApiService {
1379
1382
  this.storageKeyName = 'appContext';
1380
1383
  this.subscription = null;
1381
1384
  this.successes = [];
1385
+ //Private Streams
1386
+ this._updated = new Subject();
1387
+ //Public Streams
1388
+ this.updated$ = this._updated.asObservable();
1382
1389
  this.baseUrl = '/api/appContext';
1383
1390
  }
1384
1391
  //Session
@@ -1421,6 +1428,11 @@ class AppContextService extends BaseApiService {
1421
1428
  this.successes = [];
1422
1429
  this.subscription.unsubscribe();
1423
1430
  this.subscription = null;
1431
+ if (data) {
1432
+ let now = new Date();
1433
+ console.log('AppContext has been updated at ' + now);
1434
+ this._updated.next(data);
1435
+ }
1424
1436
  }
1425
1437
  getCurrentPrivate(success = null, getCachedIfExist = true) {
1426
1438
  if (getCachedIfExist) {
@@ -2375,6 +2387,240 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
2375
2387
  type: Output
2376
2388
  }] } });
2377
2389
 
2390
+ /*
2391
+ <file>
2392
+ Project:
2393
+ @osovitny/anatoly
2394
+
2395
+ Authors:
2396
+ Vadim Osovitny
2397
+ Anatoly Osovitny
2398
+
2399
+ Created:
2400
+ 15 Aug 2022
2401
+
2402
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
2403
+ </file>
2404
+ */
2405
+ class CheckIconComponent {
2406
+ constructor() {
2407
+ //Inputs
2408
+ this.checked = true;
2409
+ }
2410
+ }
2411
+ CheckIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CheckIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2412
+ CheckIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: CheckIconComponent, selector: "anatoly-check-icon", inputs: { checked: "checked" }, ngImport: i0, template: "<fa-icon [icon]=\"this.checked ? 'check-circle' : 'circle-xmark'\" [ngClass]=\"checked ? 'text-success' : 'text-danger'\">\r\n</fa-icon>\r\n<ng-content></ng-content>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "component", type: i1$6.FaIconComponent, selector: "fa-icon", inputs: ["icon", "title", "spin", "pulse", "mask", "styles", "flip", "size", "pull", "border", "inverse", "symbol", "rotate", "fixedWidth", "classes", "transform", "a11yRole"] }] });
2413
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CheckIconComponent, decorators: [{
2414
+ type: Component,
2415
+ args: [{ selector: 'anatoly-check-icon', template: "<fa-icon [icon]=\"this.checked ? 'check-circle' : 'circle-xmark'\" [ngClass]=\"checked ? 'text-success' : 'text-danger'\">\r\n</fa-icon>\r\n<ng-content></ng-content>\r\n" }]
2416
+ }], propDecorators: { checked: [{
2417
+ type: Input
2418
+ }] } });
2419
+
2420
+ /*
2421
+ <file>
2422
+ Project:
2423
+ @osovitny/anatoly
2424
+
2425
+ Authors:
2426
+ Vadim Osovitny
2427
+ Anatoly Osovitny
2428
+
2429
+ Created:
2430
+ 4 Jul 2018
2431
+
2432
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
2433
+ </file>
2434
+ */
2435
+ class SignInButtonComponent {
2436
+ constructor() { }
2437
+ }
2438
+ SignInButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2439
+ SignInButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SignInButtonComponent, selector: "anatoly-signin-button", inputs: { classbtn: "classbtn" }, ngImport: i0, template: "<a href=\"identity/signIn\" class=\"{{classbtn}}\">Sign In</a>\r\n" });
2440
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SignInButtonComponent, decorators: [{
2441
+ type: Component,
2442
+ args: [{ selector: "anatoly-signin-button", template: "<a href=\"identity/signIn\" class=\"{{classbtn}}\">Sign In</a>\r\n" }]
2443
+ }], ctorParameters: function () { return []; }, propDecorators: { classbtn: [{
2444
+ type: Input
2445
+ }] } });
2446
+
2447
+ /*
2448
+ <file>
2449
+ Project:
2450
+ @osovitny/anatoly
2451
+
2452
+ Authors:
2453
+ Vadim Osovitny
2454
+ Anatoly Osovitny
2455
+
2456
+ Created:
2457
+ 4 Jul 2018
2458
+
2459
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
2460
+ </file>
2461
+ */
2462
+ class SignOutButtonComponent {
2463
+ constructor() { }
2464
+ }
2465
+ SignOutButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SignOutButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2466
+ SignOutButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SignOutButtonComponent, selector: "anatoly-signout-button", inputs: { classbtn: "classbtn" }, ngImport: i0, template: "<a href=\"identity/signOut\" class=\"{{classbtn}}\">Sign Out</a>\r\n" });
2467
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SignOutButtonComponent, decorators: [{
2468
+ type: Component,
2469
+ args: [{ selector: "anatoly-signout-button", template: "<a href=\"identity/signOut\" class=\"{{classbtn}}\">Sign Out</a>\r\n" }]
2470
+ }], ctorParameters: function () { return []; }, propDecorators: { classbtn: [{
2471
+ type: Input
2472
+ }] } });
2473
+
2474
+ /*
2475
+ <file>
2476
+ Project:
2477
+ @osovitny/anatoly
2478
+
2479
+ Authors:
2480
+ Vadim Osovitny
2481
+ Anatoly Osovitny
2482
+
2483
+ Created:
2484
+ 29 Jul 2022
2485
+
2486
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
2487
+ </file>
2488
+ */
2489
+ class NodataComponent {
2490
+ constructor() {
2491
+ this.dataLoading = false;
2492
+ this.dataLoaded = false;
2493
+ this.dataFound = false;
2494
+ this.icon = 'fas fa-cubes fa-w-16 fa-9x';
2495
+ this.heading = 'No data found';
2496
+ this.headingClass = 'text-uppercase text-primary';
2497
+ }
2498
+ }
2499
+ NodataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NodataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2500
+ NodataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: NodataComponent, selector: "anatoly-nodata", inputs: { dataLoading: "dataLoading", dataLoaded: "dataLoaded", dataFound: "dataFound", icon: "icon", heading: "heading", headingClass: "headingClass" }, ngImport: i0, template: "<div class=\"no-data\" *ngIf='dataLoaded && !dataFound'>\r\n <div class='loaded'>\r\n <i class='{{icon}}'></i>\r\n <h2 class='{{headingClass}}'>{{heading}}</h2>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2501
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NodataComponent, decorators: [{
2502
+ type: Component,
2503
+ args: [{ selector: 'anatoly-nodata', template: "<div class=\"no-data\" *ngIf='dataLoaded && !dataFound'>\r\n <div class='loaded'>\r\n <i class='{{icon}}'></i>\r\n <h2 class='{{headingClass}}'>{{heading}}</h2>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n" }]
2504
+ }], ctorParameters: function () { return []; }, propDecorators: { dataLoading: [{
2505
+ type: Input
2506
+ }], dataLoaded: [{
2507
+ type: Input
2508
+ }], dataFound: [{
2509
+ type: Input
2510
+ }], icon: [{
2511
+ type: Input
2512
+ }], heading: [{
2513
+ type: Input
2514
+ }], headingClass: [{
2515
+ type: Input
2516
+ }] } });
2517
+
2518
+ /*
2519
+ <file>
2520
+ Project:
2521
+ @osovitny/anatoly
2522
+
2523
+ Authors:
2524
+ Vadim Osovitny
2525
+ Anatoly Osovitny
2526
+
2527
+ Created:
2528
+ 9 May 2020
2529
+
2530
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
2531
+ </file>
2532
+ */
2533
+ class LoadingComponent {
2534
+ constructor(loadingService) {
2535
+ this.loadingService = loadingService;
2536
+ // Private
2537
+ this.subs = new Subs();
2538
+ // Public
2539
+ this.show = false;
2540
+ }
2541
+ ngOnInit() {
2542
+ this.subs.sink = this.loadingService.subscribe({
2543
+ next: (data) => {
2544
+ this.show = data;
2545
+ }
2546
+ });
2547
+ }
2548
+ ngOnDestroy() {
2549
+ this.subs.unsubscribe();
2550
+ }
2551
+ }
2552
+ LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, deps: [{ token: LoadingService }], target: i0.ɵɵFactoryTarget.Component });
2553
+ LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LoadingComponent, selector: "anatoly-loading", ngImport: i0, template: "<div id=\"pnlLoading\" *ngIf=\"show\">\r\n <span class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2554
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, decorators: [{
2555
+ type: Component,
2556
+ args: [{ selector: 'anatoly-loading', template: "<div id=\"pnlLoading\" *ngIf=\"show\">\r\n <span class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n" }]
2557
+ }], ctorParameters: function () { return [{ type: LoadingService }]; } });
2558
+
2559
+ const Spinkit = {
2560
+ skChasingDots: 'sk-chasing-dots',
2561
+ skCubeGrid: 'sk-cube-grid',
2562
+ skDoubleBounce: 'sk-double-bounce',
2563
+ skRotatingPlane: 'sk-rotationg-plane',
2564
+ skSpinnerPulse: 'sk-spinner-pulse',
2565
+ skThreeBounce: 'sk-three-bounce',
2566
+ skWanderingCubes: 'sk-wandering-cubes',
2567
+ skWave: 'sk-wave',
2568
+ skLine: 'sk-line-material'
2569
+ };
2570
+
2571
+ /*
2572
+ <file>
2573
+ Project:
2574
+ @osovitny/anatoly
2575
+
2576
+ Authors:
2577
+ Vadim Osovitny
2578
+ Anatoly Osovitny
2579
+
2580
+ Created:
2581
+ 16 May 2020
2582
+
2583
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
2584
+ </file>
2585
+ */
2586
+ class PageSpinnerComponent {
2587
+ constructor(router) {
2588
+ this.router = router;
2589
+ this.isSpinnerVisible = true;
2590
+ this.Spinkit = Spinkit;
2591
+ this.backgroundColor = '#2196f3';
2592
+ this.spinner = Spinkit.skLine;
2593
+ router.events.subscribe({
2594
+ next: (routerEvent) => {
2595
+ this.checkRouterEvent(routerEvent);
2596
+ }
2597
+ });
2598
+ }
2599
+ checkRouterEvent(routerEvent) {
2600
+ if (routerEvent instanceof NavigationStart) {
2601
+ this.isSpinnerVisible = true;
2602
+ }
2603
+ if (routerEvent instanceof NavigationEnd ||
2604
+ routerEvent instanceof NavigationCancel ||
2605
+ routerEvent instanceof NavigationError) {
2606
+ this.isSpinnerVisible = false;
2607
+ }
2608
+ }
2609
+ ngOnDestroy() {
2610
+ this.isSpinnerVisible = false;
2611
+ }
2612
+ }
2613
+ PageSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: PageSpinnerComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
2614
+ PageSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: PageSpinnerComponent, selector: "anatoly-pagespinner", inputs: { backgroundColor: "backgroundColor", spinner: "spinner" }, ngImport: i0, template: "<div id=\"http-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"sk-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === Spinkit.skLine\">\r\n <div class=\"sk-child sk-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
2615
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: PageSpinnerComponent, decorators: [{
2616
+ type: Component,
2617
+ args: [{ selector: 'anatoly-pagespinner', encapsulation: ViewEncapsulation.None, template: "<div id=\"http-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"sk-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === Spinkit.skLine\">\r\n <div class=\"sk-child sk-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
2618
+ }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { backgroundColor: [{
2619
+ type: Input
2620
+ }], spinner: [{
2621
+ type: Input
2622
+ }] } });
2623
+
2378
2624
  /*
2379
2625
  <file>
2380
2626
  Project:
@@ -2494,36 +2740,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
2494
2740
  type: Input
2495
2741
  }] } });
2496
2742
 
2497
- /*
2498
- <file>
2499
- Project:
2500
- @osovitny/anatoly
2501
-
2502
- Authors:
2503
- Vadim Osovitny
2504
- Anatoly Osovitny
2505
-
2506
- Created:
2507
- 15 Aug 2022
2508
-
2509
- Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
2510
- </file>
2511
- */
2512
- class CheckIconComponent {
2513
- constructor() {
2514
- //Inputs
2515
- this.checked = true;
2516
- }
2517
- }
2518
- CheckIconComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CheckIconComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2519
- CheckIconComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: CheckIconComponent, selector: "anatoly-check-icon", inputs: { checked: "checked" }, ngImport: i0, template: "<i class='fas' [ngClass]=\"{ 'fa-check-circle text-success': checked, 'fa-times-circle text-danger':!checked }\"></i>\r\n<ng-content></ng-content>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }] });
2520
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CheckIconComponent, decorators: [{
2521
- type: Component,
2522
- args: [{ selector: 'anatoly-check-icon', template: "<i class='fas' [ngClass]=\"{ 'fa-check-circle text-success': checked, 'fa-times-circle text-danger':!checked }\"></i>\r\n<ng-content></ng-content>\r\n" }]
2523
- }], ctorParameters: function () { return []; }, propDecorators: { checked: [{
2524
- type: Input
2525
- }] } });
2526
-
2527
2743
  /*
2528
2744
  <file>
2529
2745
  Project:
@@ -2917,14 +3133,14 @@ class NativeElementDirective {
2917
3133
  this.control.control.nativeElement = this.el.nativeElement;
2918
3134
  }
2919
3135
  }
2920
- NativeElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NativeElementDirective, deps: [{ token: i0.ElementRef }, { token: i1$6.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
3136
+ NativeElementDirective.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NativeElementDirective, deps: [{ token: i0.ElementRef }, { token: i1$7.NgControl }], target: i0.ɵɵFactoryTarget.Directive });
2921
3137
  NativeElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.6", type: NativeElementDirective, selector: "[formControl], [formControlName]", ngImport: i0 });
2922
3138
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NativeElementDirective, decorators: [{
2923
3139
  type: Directive,
2924
3140
  args: [{
2925
3141
  selector: '[formControl], [formControlName]'
2926
3142
  }]
2927
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$6.NgControl }]; } });
3143
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$7.NgControl }]; } });
2928
3144
 
2929
3145
  /*
2930
3146
  <file>
@@ -3004,210 +3220,47 @@ class ValidationSummaryComponent extends BaseEditComponent {
3004
3220
  /**
3005
3221
  * Retrieve tilte of control
3006
3222
  * @param control
3007
- */
3008
- getControlTitle(control) {
3009
- if (control?.nativeElement) {
3010
- let controlTitle = this.getTitleAttribute(control.nativeElement);
3011
- if (controlTitle) {
3012
- return controlTitle;
3013
- }
3014
- }
3015
- return undefined;
3016
- }
3017
- /**
3018
- * Return title attribute of form control
3019
- */
3020
- getTitleAttribute(nativeElement) {
3021
- let title;
3022
- switch (nativeElement.tagName) {
3023
- // For Kendo time and date picker element title is assigned to the 4th child control.
3024
- case "KENDO-TIMEPICKER":
3025
- case "KENDO-DATEPICKER":
3026
- title =
3027
- nativeElement.children[0]?.children[0]?.children[0]?.children[0]?.getAttribute("title");
3028
- break;
3029
- // For Kendo numaric element title is assigned to the 2nd child control.
3030
- case "KENDO-NUMERICTEXTBOX":
3031
- title = nativeElement.children[0]?.children[0]?.getAttribute("title");
3032
- break;
3033
- default:
3034
- title = nativeElement.getAttribute("title");
3035
- break;
3036
- }
3037
- return title;
3038
- }
3039
- }
3040
- ValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ValidationSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3041
- ValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ValidationSummaryComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "", isInline: true });
3042
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ValidationSummaryComponent, decorators: [{
3043
- type: Component,
3044
- args: [{
3045
- template: "",
3046
- }]
3047
- }], ctorParameters: function () { return []; } });
3048
-
3049
- /*
3050
- <file>
3051
- Project:
3052
- @osovitny/anatoly
3053
-
3054
- Authors:
3055
- Vadim Osovitny
3056
- Anatoly Osovitny
3057
-
3058
- Created:
3059
- 6 Dec 2017
3060
-
3061
- Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3062
- </file>
3063
- */
3064
- class ItemValidationSummaryComponent extends ValidationSummaryComponent {
3065
- constructor() {
3066
- super();
3067
- }
3068
- }
3069
- ItemValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ItemValidationSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3070
- ItemValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: { controlName: "controlName", controlTitle: "controlTitle" }, usesInheritance: true, ngImport: i0, template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(controlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.get(controlName), controlTitle)\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n", dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3071
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ItemValidationSummaryComponent, decorators: [{
3072
- type: Component,
3073
- args: [{ selector: "anatoly-item-validation-summary", template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(controlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.get(controlName), controlTitle)\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n" }]
3074
- }], ctorParameters: function () { return []; }, propDecorators: { controlName: [{
3075
- type: Input
3076
- }], controlTitle: [{
3077
- type: Input
3078
- }] } });
3079
-
3080
- /*
3081
- <file>
3082
- Project:
3083
- @osovitny/anatoly
3084
-
3085
- Authors:
3086
- Vadim Osovitny
3087
- Anatoly Osovitny
3088
-
3089
- Created:
3090
- 12 Dec 2017
3091
-
3092
- Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3093
- </file>
3094
- */
3095
- class FormsHtmlEditorComponent extends BaseHtmlEditorComponent {
3096
- constructor() {
3097
- super();
3098
- this.editorFormKey = "html";
3099
- }
3100
- setFormValueAfterInitialized(name, value) {
3101
- this.doAfterInitialized(function (that) {
3102
- that.setFormValue(name, value);
3103
- });
3104
- }
3105
- }
3106
- FormsHtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormsHtmlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3107
- FormsHtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: FormsHtmlEditorComponent, selector: "anatoly-forms-html-editor", inputs: { editorFormKey: "editorFormKey" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\" class=\"form-group\" >\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\" [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [controlName]=\"editorFormKey\"\r\n [controlTitle]=\"editorLabelText\">\r\n </anatoly-item-validation-summary>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$7.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
3108
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormsHtmlEditorComponent, decorators: [{
3109
- type: Component,
3110
- args: [{ selector: "anatoly-forms-html-editor", template: "<div [formGroup]=\"formGroup\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\" class=\"form-group\" >\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\" [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [controlName]=\"editorFormKey\"\r\n [controlTitle]=\"editorLabelText\">\r\n </anatoly-item-validation-summary>\r\n</div>\r\n" }]
3111
- }], ctorParameters: function () { return []; }, propDecorators: { editorFormKey: [{
3112
- type: Input
3113
- }] } });
3114
-
3115
- /*
3116
- <file>
3117
- Project:
3118
- @osovitny/anatoly
3119
-
3120
- Authors:
3121
- Vadim Osovitny
3122
- Anatoly Osovitny
3123
-
3124
- Created:
3125
- 12 Dec 2017
3126
-
3127
- Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3128
- </file>
3129
- */
3130
- class HtmlEditorComponent extends BaseHtmlEditorComponent {
3131
- constructor() {
3132
- super();
3133
- }
3134
- setHtml(content) {
3135
- this.doAfterInitialized(function (that) {
3136
- let editor = that.getEditor();
3137
- if (typeof editor == "undefined" || editor == null) {
3138
- return;
3139
- }
3140
- editor.html.set(content);
3141
- });
3142
- }
3143
- getHtml() {
3144
- let editor = this.getEditor();
3145
- if (typeof editor == "undefined" || editor == null) {
3146
- return;
3147
- }
3148
- return editor.html.get(false);
3149
- }
3150
- }
3151
- HtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HtmlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3152
- HtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: HtmlEditorComponent, selector: "anatoly-html-editor", usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$7.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }] });
3153
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HtmlEditorComponent, decorators: [{
3154
- type: Component,
3155
- args: [{ selector: "anatoly-html-editor", template: "<div class=\"form-group\">\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n</div>\r\n" }]
3156
- }], ctorParameters: function () { return []; } });
3157
-
3158
- /*
3159
- <file>
3160
- Project:
3161
- @osovitny/anatoly
3162
-
3163
- Authors:
3164
- Vadim Osovitny
3165
- Anatoly Osovitny
3166
-
3167
- Created:
3168
- 4 Jul 2018
3169
-
3170
- Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3171
- </file>
3172
- */
3173
- class SignInButtonComponent {
3174
- constructor() { }
3175
- }
3176
- SignInButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SignInButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3177
- SignInButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SignInButtonComponent, selector: "anatoly-signin-button", inputs: { classbtn: "classbtn" }, ngImport: i0, template: "<a href=\"identity/signIn\" class=\"{{classbtn}}\">Sign In</a>\r\n" });
3178
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SignInButtonComponent, decorators: [{
3179
- type: Component,
3180
- args: [{ selector: "anatoly-signin-button", template: "<a href=\"identity/signIn\" class=\"{{classbtn}}\">Sign In</a>\r\n" }]
3181
- }], ctorParameters: function () { return []; }, propDecorators: { classbtn: [{
3182
- type: Input
3183
- }] } });
3184
-
3185
- /*
3186
- <file>
3187
- Project:
3188
- @osovitny/anatoly
3189
-
3190
- Authors:
3191
- Vadim Osovitny
3192
- Anatoly Osovitny
3193
-
3194
- Created:
3195
- 4 Jul 2018
3196
-
3197
- Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3198
- </file>
3199
- */
3200
- class SignOutButtonComponent {
3201
- constructor() { }
3223
+ */
3224
+ getControlTitle(control) {
3225
+ if (control?.nativeElement) {
3226
+ let controlTitle = this.getTitleAttribute(control.nativeElement);
3227
+ if (controlTitle) {
3228
+ return controlTitle;
3229
+ }
3230
+ }
3231
+ return undefined;
3232
+ }
3233
+ /**
3234
+ * Return title attribute of form control
3235
+ */
3236
+ getTitleAttribute(nativeElement) {
3237
+ let title;
3238
+ switch (nativeElement.tagName) {
3239
+ // For Kendo time and date picker element title is assigned to the 4th child control.
3240
+ case "KENDO-TIMEPICKER":
3241
+ case "KENDO-DATEPICKER":
3242
+ title =
3243
+ nativeElement.children[0]?.children[0]?.children[0]?.children[0]?.getAttribute("title");
3244
+ break;
3245
+ // For Kendo numaric element title is assigned to the 2nd child control.
3246
+ case "KENDO-NUMERICTEXTBOX":
3247
+ title = nativeElement.children[0]?.children[0]?.getAttribute("title");
3248
+ break;
3249
+ default:
3250
+ title = nativeElement.getAttribute("title");
3251
+ break;
3252
+ }
3253
+ return title;
3254
+ }
3202
3255
  }
3203
- SignOutButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SignOutButtonComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3204
- SignOutButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SignOutButtonComponent, selector: "anatoly-signout-button", inputs: { classbtn: "classbtn" }, ngImport: i0, template: "<a href=\"identity/signOut\" class=\"{{classbtn}}\">Sign Out</a>\r\n" });
3205
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SignOutButtonComponent, decorators: [{
3256
+ ValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ValidationSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3257
+ ValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ValidationSummaryComponent, selector: "ng-component", usesInheritance: true, ngImport: i0, template: "", isInline: true });
3258
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ValidationSummaryComponent, decorators: [{
3206
3259
  type: Component,
3207
- args: [{ selector: "anatoly-signout-button", template: "<a href=\"identity/signOut\" class=\"{{classbtn}}\">Sign Out</a>\r\n" }]
3208
- }], ctorParameters: function () { return []; }, propDecorators: { classbtn: [{
3209
- type: Input
3210
- }] } });
3260
+ args: [{
3261
+ template: "",
3262
+ }]
3263
+ }], ctorParameters: function () { return []; } });
3211
3264
 
3212
3265
  /*
3213
3266
  <file>
@@ -3219,37 +3272,24 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
3219
3272
  Anatoly Osovitny
3220
3273
 
3221
3274
  Created:
3222
- 29 Jul 2022
3223
-
3275
+ 6 Dec 2017
3276
+
3224
3277
  Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3225
3278
  </file>
3226
3279
  */
3227
- class NodataComponent {
3280
+ class ItemValidationSummaryComponent extends ValidationSummaryComponent {
3228
3281
  constructor() {
3229
- this.dataLoading = false;
3230
- this.dataLoaded = false;
3231
- this.dataFound = false;
3232
- this.icon = 'fas fa-cubes fa-w-16 fa-9x';
3233
- this.heading = 'No data found';
3234
- this.headingClass = 'text-uppercase text-primary';
3282
+ super();
3235
3283
  }
3236
3284
  }
3237
- NodataComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NodataComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3238
- NodataComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: NodataComponent, selector: "anatoly-nodata", inputs: { dataLoading: "dataLoading", dataLoaded: "dataLoaded", dataFound: "dataFound", icon: "icon", heading: "heading", headingClass: "headingClass" }, ngImport: i0, template: "<div class=\"no-data\" *ngIf='dataLoaded && !dataFound'>\r\n <div class='loaded'>\r\n <i class='{{icon}}'></i>\r\n <h2 class='{{headingClass}}'>{{heading}}</h2>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3239
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NodataComponent, decorators: [{
3285
+ ItemValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ItemValidationSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3286
+ ItemValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: { controlName: "controlName", controlTitle: "controlTitle" }, usesInheritance: true, ngImport: i0, template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(controlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.get(controlName), controlTitle)\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n", dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3287
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ItemValidationSummaryComponent, decorators: [{
3240
3288
  type: Component,
3241
- args: [{ selector: 'anatoly-nodata', template: "<div class=\"no-data\" *ngIf='dataLoaded && !dataFound'>\r\n <div class='loaded'>\r\n <i class='{{icon}}'></i>\r\n <h2 class='{{headingClass}}'>{{heading}}</h2>\r\n <ng-content></ng-content>\r\n </div>\r\n</div>\r\n" }]
3242
- }], ctorParameters: function () { return []; }, propDecorators: { dataLoading: [{
3243
- type: Input
3244
- }], dataLoaded: [{
3245
- type: Input
3246
- }], dataFound: [{
3247
- type: Input
3248
- }], icon: [{
3249
- type: Input
3250
- }], heading: [{
3289
+ args: [{ selector: "anatoly-item-validation-summary", template: "<ul class=\"list-unstyled\" *ngIf=\"isControlInvalid(controlName)\">\r\n <li *ngFor=\"let error of getValidationMessages(formGroup.get(controlName), controlTitle)\">\r\n <span class=\"help-block\">{{ error }}</span>\r\n </li>\r\n</ul>\r\n\r\n" }]
3290
+ }], ctorParameters: function () { return []; }, propDecorators: { controlName: [{
3251
3291
  type: Input
3252
- }], headingClass: [{
3292
+ }], controlTitle: [{
3253
3293
  type: Input
3254
3294
  }] } });
3255
3295
 
@@ -3263,48 +3303,30 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
3263
3303
  Anatoly Osovitny
3264
3304
 
3265
3305
  Created:
3266
- 9 May 2020
3267
-
3306
+ 12 Dec 2017
3307
+
3268
3308
  Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3269
3309
  </file>
3270
3310
  */
3271
- class LoadingComponent {
3272
- constructor(loadingService) {
3273
- this.loadingService = loadingService;
3274
- // Private
3275
- this.subs = new Subs();
3276
- // Public
3277
- this.show = false;
3311
+ class FormsHtmlEditorComponent extends BaseHtmlEditorComponent {
3312
+ constructor() {
3313
+ super();
3314
+ this.editorFormKey = "html";
3278
3315
  }
3279
- ngOnInit() {
3280
- this.subs.sink = this.loadingService.subscribe({
3281
- next: (data) => {
3282
- this.show = data;
3283
- }
3316
+ setFormValueAfterInitialized(name, value) {
3317
+ this.doAfterInitialized(function (that) {
3318
+ that.setFormValue(name, value);
3284
3319
  });
3285
3320
  }
3286
- ngOnDestroy() {
3287
- this.subs.unsubscribe();
3288
- }
3289
3321
  }
3290
- LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, deps: [{ token: LoadingService }], target: i0.ɵɵFactoryTarget.Component });
3291
- LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LoadingComponent, selector: "anatoly-loading", ngImport: i0, template: "<div id=\"pnlLoading\" *ngIf=\"show\">\r\n <span class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3292
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, decorators: [{
3322
+ FormsHtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormsHtmlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3323
+ FormsHtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: FormsHtmlEditorComponent, selector: "anatoly-forms-html-editor", inputs: { editorFormKey: "editorFormKey" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]=\"formGroup\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\" class=\"form-group\" >\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\" [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [controlName]=\"editorFormKey\"\r\n [controlTitle]=\"editorLabelText\">\r\n </anatoly-item-validation-summary>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: i1$8.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
3324
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormsHtmlEditorComponent, decorators: [{
3293
3325
  type: Component,
3294
- args: [{ selector: 'anatoly-loading', template: "<div id=\"pnlLoading\" *ngIf=\"show\">\r\n <span class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n" }]
3295
- }], ctorParameters: function () { return [{ type: LoadingService }]; } });
3296
-
3297
- const Spinkit = {
3298
- skChasingDots: 'sk-chasing-dots',
3299
- skCubeGrid: 'sk-cube-grid',
3300
- skDoubleBounce: 'sk-double-bounce',
3301
- skRotatingPlane: 'sk-rotationg-plane',
3302
- skSpinnerPulse: 'sk-spinner-pulse',
3303
- skThreeBounce: 'sk-three-bounce',
3304
- skWanderingCubes: 'sk-wandering-cubes',
3305
- skWave: 'sk-wave',
3306
- skLine: 'sk-line-material'
3307
- };
3326
+ args: [{ selector: "anatoly-forms-html-editor", template: "<div [formGroup]=\"formGroup\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\" class=\"form-group\" >\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\" [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n <anatoly-item-validation-summary [formGroup]=\"formGroup\"\r\n [formSubmitted]=\"formSubmitted\"\r\n [controlName]=\"editorFormKey\"\r\n [controlTitle]=\"editorLabelText\">\r\n </anatoly-item-validation-summary>\r\n</div>\r\n" }]
3327
+ }], ctorParameters: function () { return []; }, propDecorators: { editorFormKey: [{
3328
+ type: Input
3329
+ }] } });
3308
3330
 
3309
3331
  /*
3310
3332
  <file>
@@ -3316,48 +3338,38 @@ const Spinkit = {
3316
3338
  Anatoly Osovitny
3317
3339
 
3318
3340
  Created:
3319
- 16 May 2020
3341
+ 12 Dec 2017
3320
3342
 
3321
3343
  Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3322
3344
  </file>
3323
3345
  */
3324
- class PageSpinnerComponent {
3325
- constructor(router) {
3326
- this.router = router;
3327
- this.isSpinnerVisible = true;
3328
- this.Spinkit = Spinkit;
3329
- this.backgroundColor = '#2196f3';
3330
- this.spinner = Spinkit.skLine;
3331
- router.events.subscribe({
3332
- next: (routerEvent) => {
3333
- this.checkRouterEvent(routerEvent);
3346
+ class HtmlEditorComponent extends BaseHtmlEditorComponent {
3347
+ constructor() {
3348
+ super();
3349
+ }
3350
+ setHtml(content) {
3351
+ this.doAfterInitialized(function (that) {
3352
+ let editor = that.getEditor();
3353
+ if (typeof editor == "undefined" || editor == null) {
3354
+ return;
3334
3355
  }
3356
+ editor.html.set(content);
3335
3357
  });
3336
3358
  }
3337
- checkRouterEvent(routerEvent) {
3338
- if (routerEvent instanceof NavigationStart) {
3339
- this.isSpinnerVisible = true;
3340
- }
3341
- if (routerEvent instanceof NavigationEnd ||
3342
- routerEvent instanceof NavigationCancel ||
3343
- routerEvent instanceof NavigationError) {
3344
- this.isSpinnerVisible = false;
3359
+ getHtml() {
3360
+ let editor = this.getEditor();
3361
+ if (typeof editor == "undefined" || editor == null) {
3362
+ return;
3345
3363
  }
3346
- }
3347
- ngOnDestroy() {
3348
- this.isSpinnerVisible = false;
3364
+ return editor.html.get(false);
3349
3365
  }
3350
3366
  }
3351
- PageSpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: PageSpinnerComponent, deps: [{ token: i1.Router }], target: i0.ɵɵFactoryTarget.Component });
3352
- PageSpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: PageSpinnerComponent, selector: "anatoly-pagespinner", inputs: { backgroundColor: "backgroundColor", spinner: "spinner" }, ngImport: i0, template: "<div id=\"http-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"sk-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === Spinkit.skLine\">\r\n <div class=\"sk-child sk-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
3353
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: PageSpinnerComponent, decorators: [{
3367
+ HtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HtmlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3368
+ HtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: HtmlEditorComponent, selector: "anatoly-html-editor", usesInheritance: true, ngImport: i0, template: "<div class=\"form-group\">\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$8.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }] });
3369
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HtmlEditorComponent, decorators: [{
3354
3370
  type: Component,
3355
- args: [{ selector: 'anatoly-pagespinner', encapsulation: ViewEncapsulation.None, template: "<div id=\"http-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"sk-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === Spinkit.skLine\">\r\n <div class=\"sk-child sk-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
3356
- }], ctorParameters: function () { return [{ type: i1.Router }]; }, propDecorators: { backgroundColor: [{
3357
- type: Input
3358
- }], spinner: [{
3359
- type: Input
3360
- }] } });
3371
+ args: [{ selector: "anatoly-html-editor", template: "<div class=\"form-group\">\r\n <label class=\"col-form-label\">{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\"></textarea>\r\n</div>\r\n" }]
3372
+ }], ctorParameters: function () { return []; } });
3361
3373
 
3362
3374
  /*
3363
3375
  <file>
@@ -3732,12 +3744,12 @@ class ContactUsForm extends BaseEditComponent {
3732
3744
  this.selectedTopic = event.target.value;
3733
3745
  }
3734
3746
  }
3735
- ContactUsForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsForm, deps: [{ token: i1$6.FormBuilder }, { token: AppContextService }, { token: EmailsApiService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
3736
- ContactUsForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ContactUsForm, selector: "anatoly-forms-contactus-form", inputs: { showActionButtons: "showActionButtons" }, outputs: { submit: "submit" }, viewQueries: [{ propertyName: "recaptcha", first: true, predicate: ["recaptcha"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<form (ngSubmit)='onSubmit()' [formGroup]='formGroup' novalidate>\r\n <anatoly-form-validation-summary [formGroup]='formGroup'\r\n [visible]='formSubmitted && formGroup.invalid'></anatoly-form-validation-summary>\r\n\r\n <div class='contact-us'>\r\n <div class=\"row\">\r\n <div class='form-fields col-6'>\r\n <p>What can we help you with?</p>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('topic') }\" class='form-topic'>\r\n <div class='form-select-wrapper'>\r\n <label class='assistive-text'>Topic *</label>\r\n <select (change)='onTopicChange($event)' class='form-select' formControlName='topic'>\r\n <option *ngFor='let topic of topicList' [value]='topic.value'>{{ topic.value }} </option>\r\n </select>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='topic'\r\n controlTitle='topic'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('name') }\" class='form-name'>\r\n <label class='assistive-text'>Name *</label>\r\n <input class='form-control' formControlName='name' placeholder='Name *' type='text'>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='name'\r\n controlTitle='name'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('email') }\" class='form-email'>\r\n <label class='assistive-text'>E-mail * </label>\r\n <input class='form-control' formControlName='email' placeholder='E-mail *' type='text' />\r\n <p *ngIf='!isUserSignedIn'>Please indicate the email used for your MailEx login if you already have an account</p>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='email'\r\n controlTitle='email'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('subject') }\" class='form-subject'>\r\n <label class='assistive-text'>Subject *</label>\r\n <input class='form-control' formControlName='subject' placeholder='Subject *' type='text' />\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='subject'\r\n controlTitle='subject'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n <div class='col-6'>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('message') }\" class='form-message'>\r\n <label class='assistive-text'>Message *</label>\r\n <textarea formControlName='message' name='message' placeholder='Message *' rows='4'\r\n type='text'></textarea>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='message'\r\n controlTitle='message'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row form-footer\">\r\n <div class=\"col-6\">\r\n <div style='transform:scale(0.8);transform-origin:0;'>\r\n <ngx-recaptcha2 #recaptcha [siteKey]='siteKey' formControlName='captcha'></ngx-recaptcha2>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <button *ngIf='showActionButtons'\r\n [class.btn-primary]='!formGroup.invalid'\r\n class='btn btn-success float-right m-t-20'\r\n type='submit'>\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$6.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size", "hl"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: FormValidationSummaryComponent, selector: "anatoly-form-validation-summary", inputs: ["visible", "customerrors", "viewtype"] }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
3747
+ ContactUsForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsForm, deps: [{ token: i1$7.FormBuilder }, { token: AppContextService }, { token: EmailsApiService }, { token: NotificationService }], target: i0.ɵɵFactoryTarget.Component });
3748
+ ContactUsForm.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ContactUsForm, selector: "anatoly-forms-contactus-form", inputs: { showActionButtons: "showActionButtons" }, outputs: { submit: "submit" }, viewQueries: [{ propertyName: "recaptcha", first: true, predicate: ["recaptcha"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<form (ngSubmit)='onSubmit()' [formGroup]='formGroup' novalidate>\r\n <anatoly-form-validation-summary [formGroup]='formGroup'\r\n [visible]='formSubmitted && formGroup.invalid'></anatoly-form-validation-summary>\r\n\r\n <div class='contact-us'>\r\n <div class=\"row\">\r\n <div class='form-fields col-6'>\r\n <p>What can we help you with?</p>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('topic') }\" class='form-topic'>\r\n <div class='form-select-wrapper'>\r\n <label class='assistive-text'>Topic *</label>\r\n <select (change)='onTopicChange($event)' class='form-select' formControlName='topic'>\r\n <option *ngFor='let topic of topicList' [value]='topic.value'>{{ topic.value }} </option>\r\n </select>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='topic'\r\n controlTitle='topic'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('name') }\" class='form-name'>\r\n <label class='assistive-text'>Name *</label>\r\n <input class='form-control' formControlName='name' placeholder='Name *' type='text'>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='name'\r\n controlTitle='name'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('email') }\" class='form-email'>\r\n <label class='assistive-text'>E-mail * </label>\r\n <input class='form-control' formControlName='email' placeholder='E-mail *' type='text' />\r\n <p *ngIf='!isUserSignedIn'>Please indicate the email used for your MailEx login if you already have an account</p>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='email'\r\n controlTitle='email'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('subject') }\" class='form-subject'>\r\n <label class='assistive-text'>Subject *</label>\r\n <input class='form-control' formControlName='subject' placeholder='Subject *' type='text' />\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='subject'\r\n controlTitle='subject'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n <div class='col-6'>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('message') }\" class='form-message'>\r\n <label class='assistive-text'>Message *</label>\r\n <textarea formControlName='message' name='message' placeholder='Message *' rows='4'\r\n type='text'></textarea>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='message'\r\n controlTitle='message'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row form-footer\">\r\n <div class=\"col-6\">\r\n <div style='transform:scale(0.8);transform-origin:0;'>\r\n <ngx-recaptcha2 #recaptcha [siteKey]='siteKey' formControlName='captcha'></ngx-recaptcha2>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <button *ngIf='showActionButtons'\r\n [class.btn-primary]='!formGroup.invalid'\r\n class='btn btn-success float-right m-t-20'\r\n type='submit'>\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$7.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1$7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: i6.ReCaptcha2Component, selector: "ngx-recaptcha2", inputs: ["theme", "size", "hl"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: FormValidationSummaryComponent, selector: "anatoly-form-validation-summary", inputs: ["visible", "customerrors", "viewtype"] }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
3737
3749
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsForm, decorators: [{
3738
3750
  type: Component,
3739
3751
  args: [{ selector: 'anatoly-forms-contactus-form', template: "<form (ngSubmit)='onSubmit()' [formGroup]='formGroup' novalidate>\r\n <anatoly-form-validation-summary [formGroup]='formGroup'\r\n [visible]='formSubmitted && formGroup.invalid'></anatoly-form-validation-summary>\r\n\r\n <div class='contact-us'>\r\n <div class=\"row\">\r\n <div class='form-fields col-6'>\r\n <p>What can we help you with?</p>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('topic') }\" class='form-topic'>\r\n <div class='form-select-wrapper'>\r\n <label class='assistive-text'>Topic *</label>\r\n <select (change)='onTopicChange($event)' class='form-select' formControlName='topic'>\r\n <option *ngFor='let topic of topicList' [value]='topic.value'>{{ topic.value }} </option>\r\n </select>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='topic'\r\n controlTitle='topic'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('name') }\" class='form-name'>\r\n <label class='assistive-text'>Name *</label>\r\n <input class='form-control' formControlName='name' placeholder='Name *' type='text'>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='name'\r\n controlTitle='name'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('email') }\" class='form-email'>\r\n <label class='assistive-text'>E-mail * </label>\r\n <input class='form-control' formControlName='email' placeholder='E-mail *' type='text' />\r\n <p *ngIf='!isUserSignedIn'>Please indicate the email used for your MailEx login if you already have an account</p>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='email'\r\n controlTitle='email'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('subject') }\" class='form-subject'>\r\n <label class='assistive-text'>Subject *</label>\r\n <input class='form-control' formControlName='subject' placeholder='Subject *' type='text' />\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='subject'\r\n controlTitle='subject'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n <div class='col-6'>\r\n <div [ngClass]=\"{'has-error': isControlInvalid('message') }\" class='form-message'>\r\n <label class='assistive-text'>Message *</label>\r\n <textarea formControlName='message' name='message' placeholder='Message *' rows='4'\r\n type='text'></textarea>\r\n <anatoly-item-validation-summary [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'\r\n controlName='message'\r\n controlTitle='message'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"row form-footer\">\r\n <div class=\"col-6\">\r\n <div style='transform:scale(0.8);transform-origin:0;'>\r\n <ngx-recaptcha2 #recaptcha [siteKey]='siteKey' formControlName='captcha'></ngx-recaptcha2>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <button *ngIf='showActionButtons'\r\n [class.btn-primary]='!formGroup.invalid'\r\n class='btn btn-success float-right m-t-20'\r\n type='submit'>\r\n Submit\r\n </button>\r\n </div>\r\n </div>\r\n </div>\r\n</form>\r\n" }]
3740
- }], ctorParameters: function () { return [{ type: i1$6.FormBuilder }, { type: AppContextService }, { type: EmailsApiService }, { type: NotificationService }]; }, propDecorators: { showActionButtons: [{
3752
+ }], ctorParameters: function () { return [{ type: i1$7.FormBuilder }, { type: AppContextService }, { type: EmailsApiService }, { type: NotificationService }]; }, propDecorators: { showActionButtons: [{
3741
3753
  type: Input
3742
3754
  }], submit: [{
3743
3755
  type: Output
@@ -3777,7 +3789,7 @@ class ContactUsDialog extends BaseDialog {
3777
3789
  }
3778
3790
  }
3779
3791
  ContactUsDialog.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsDialog, deps: [], target: i0.ɵɵFactoryTarget.Component });
3780
- ContactUsDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ContactUsDialog, selector: "anatoly-contactus-dialog", viewQueries: [{ propertyName: "contactUsForm", first: true, predicate: ["contactusform"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<kendo-dialog (close)='onClose()' *ngIf='isOpen' [width]='800' title='Contact Us' class=\"k-dialog-wrapper\">\r\n <div class=\"k-content k-window-content k-dialog-content\">\r\n <anatoly-forms-contactus-form #contactusform [showActionButtons]='false' (submit)='onSubmit()'>\r\n </anatoly-forms-contactus-form>\r\n </div>\r\n <kendo-dialog-actions class=\"k-dialog-buttongroup k-actions k-actions-stretched\">\r\n <button (click)='onSubmitFire()' class='btn btn-success' type='button'>Submit</button>\r\n <button (click)='onClose()' class='btn btn-danger' type='button'>Cancel</button>\r\n </kendo-dialog-actions>\r\n</kendo-dialog>\r\n", dependencies: [{ kind: "component", type: i1$8.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: i1$8.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ContactUsForm, selector: "anatoly-forms-contactus-form", inputs: ["showActionButtons"], outputs: ["submit"] }] });
3792
+ ContactUsDialog.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: ContactUsDialog, selector: "anatoly-contactus-dialog", viewQueries: [{ propertyName: "contactUsForm", first: true, predicate: ["contactusform"], descendants: true }], usesInheritance: true, ngImport: i0, template: "<kendo-dialog (close)='onClose()' *ngIf='isOpen' [width]='800' title='Contact Us' class=\"k-dialog-wrapper\">\r\n <div class=\"k-content k-window-content k-dialog-content\">\r\n <anatoly-forms-contactus-form #contactusform [showActionButtons]='false' (submit)='onSubmit()'>\r\n </anatoly-forms-contactus-form>\r\n </div>\r\n <kendo-dialog-actions class=\"k-dialog-buttongroup k-actions k-actions-stretched\">\r\n <button (click)='onSubmitFire()' class='btn btn-success' type='button'>Submit</button>\r\n <button (click)='onClose()' class='btn btn-danger' type='button'>Cancel</button>\r\n </kendo-dialog-actions>\r\n</kendo-dialog>\r\n", dependencies: [{ kind: "component", type: i1$9.DialogComponent, selector: "kendo-dialog", inputs: ["actions", "actionsLayout", "autoFocusedElement", "title", "width", "minWidth", "maxWidth", "height", "minHeight", "maxHeight", "animation"], outputs: ["action", "close"], exportAs: ["kendoDialog"] }, { kind: "component", type: i1$9.DialogActionsComponent, selector: "kendo-dialog-actions", inputs: ["actions", "layout"], outputs: ["action"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: ContactUsForm, selector: "anatoly-forms-contactus-form", inputs: ["showActionButtons"], outputs: ["submit"] }] });
3781
3793
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsDialog, decorators: [{
3782
3794
  type: Component,
3783
3795
  args: [{ selector: 'anatoly-contactus-dialog', template: "<kendo-dialog (close)='onClose()' *ngIf='isOpen' [width]='800' title='Contact Us' class=\"k-dialog-wrapper\">\r\n <div class=\"k-content k-window-content k-dialog-content\">\r\n <anatoly-forms-contactus-form #contactusform [showActionButtons]='false' (submit)='onSubmit()'>\r\n </anatoly-forms-contactus-form>\r\n </div>\r\n <kendo-dialog-actions class=\"k-dialog-buttongroup k-actions k-actions-stretched\">\r\n <button (click)='onSubmitFire()' class='btn btn-success' type='button'>Submit</button>\r\n <button (click)='onClose()' class='btn btn-danger' type='button'>Cancel</button>\r\n </kendo-dialog-actions>\r\n</kendo-dialog>\r\n" }]
@@ -3923,12 +3935,12 @@ class AddressComponent extends BaseEditComponent {
3923
3935
  this.change.emit(usState);
3924
3936
  }
3925
3937
  }
3926
- AddressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddressComponent, deps: [{ token: i1$6.FormBuilder }, { token: CoreApiService }], target: i0.ɵɵFactoryTarget.Component });
3927
- AddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: AddressComponent, selector: "anatoly-forms-address", inputs: { title: "title", isTitleVisible: "isTitleVisible", isRequired: "isRequired", address: "address" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: "<anatoly-card [class]=\"'card-primary card-outline'\">\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div class='row' [formGroup]='formGroup'>\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label class='col-form-label required'>Street Address</label>\r\n <input type='text' class='form-control' formControlName='address_street' placeholder='Street Address'>\r\n <anatoly-item-validation-summary controlName='address_street'\r\n controlTitle='Street'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street2')}\" >\r\n <input type='text' class='form-control' formControlName='address_street2' placeholder='Apartment, suite, unit, building, floor, etc.'>\r\n <anatoly-item-validation-summary controlName='address_street2'\r\n controlTitle='Street2'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label class='col-form-label required'>City</label>\r\n <input type='text' class='form-control' formControlName='address_city' placeholder='City'>\r\n <anatoly-item-validation-summary controlName='address_city'\r\n controlTitle='City'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label class='col-form-label required'>State</label>\r\n <select class='form-control' (change)='onUSStateChange($event)' formControlName='address_stateOrRegion'>\r\n <option *ngFor='let state of usStateData' [value]='state.code'>{{state.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_stateOrRegion'\r\n controlTitle='State'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label class='col-form-label required'>zipcode</label>\r\n <input type='text' class='form-control' formControlName='address_zipcode' placeholder='zipcode'>\r\n <anatoly-item-validation-summary controlName='address_zipcode'\r\n controlTitle='zipcode'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label class='col-form-label required'>Country</label>\r\n <select class='form-control' (change)='onCountryChange($event)' formControlName='address_country' data-placeholder='Select a Country'>\r\n <option *ngFor='let country of countryData' [value]='country.code'>{{country.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_country'\r\n controlTitle='Country'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: CardComponent, selector: "anatoly-card", inputs: ["class"] }, { kind: "component", type: CardHeaderComponent, selector: "anatoly-card-header", inputs: ["class", "title"] }, { kind: "component", type: CardBodyComponent, selector: "anatoly-card-body", inputs: ["class"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
3938
+ AddressComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddressComponent, deps: [{ token: i1$7.FormBuilder }, { token: CoreApiService }], target: i0.ɵɵFactoryTarget.Component });
3939
+ AddressComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: AddressComponent, selector: "anatoly-forms-address", inputs: { title: "title", isTitleVisible: "isTitleVisible", isRequired: "isRequired", address: "address" }, outputs: { change: "change" }, usesInheritance: true, ngImport: i0, template: "<anatoly-card [class]=\"'card-primary card-outline'\">\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div class='row' [formGroup]='formGroup'>\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label class='col-form-label required'>Street Address</label>\r\n <input type='text' class='form-control' formControlName='address_street' placeholder='Street Address'>\r\n <anatoly-item-validation-summary controlName='address_street'\r\n controlTitle='Street'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street2')}\" >\r\n <input type='text' class='form-control' formControlName='address_street2' placeholder='Apartment, suite, unit, building, floor, etc.'>\r\n <anatoly-item-validation-summary controlName='address_street2'\r\n controlTitle='Street2'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label class='col-form-label required'>City</label>\r\n <input type='text' class='form-control' formControlName='address_city' placeholder='City'>\r\n <anatoly-item-validation-summary controlName='address_city'\r\n controlTitle='City'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label class='col-form-label required'>State</label>\r\n <select class='form-control' (change)='onUSStateChange($event)' formControlName='address_stateOrRegion'>\r\n <option *ngFor='let state of usStateData' [value]='state.code'>{{state.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_stateOrRegion'\r\n controlTitle='State'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label class='col-form-label required'>zipcode</label>\r\n <input type='text' class='form-control' formControlName='address_zipcode' placeholder='zipcode'>\r\n <anatoly-item-validation-summary controlName='address_zipcode'\r\n controlTitle='zipcode'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label class='col-form-label required'>Country</label>\r\n <select class='form-control' (change)='onCountryChange($event)' formControlName='address_country' data-placeholder='Select a Country'>\r\n <option *ngFor='let country of countryData' [value]='country.code'>{{country.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_country'\r\n controlTitle='Country'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: CardComponent, selector: "anatoly-card", inputs: ["class"] }, { kind: "component", type: CardHeaderComponent, selector: "anatoly-card-header", inputs: ["class", "title"] }, { kind: "component", type: CardBodyComponent, selector: "anatoly-card-body", inputs: ["class"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
3928
3940
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AddressComponent, decorators: [{
3929
3941
  type: Component,
3930
3942
  args: [{ selector: 'anatoly-forms-address', template: "<anatoly-card [class]=\"'card-primary card-outline'\">\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div class='row' [formGroup]='formGroup'>\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label class='col-form-label required'>Street Address</label>\r\n <input type='text' class='form-control' formControlName='address_street' placeholder='Street Address'>\r\n <anatoly-item-validation-summary controlName='address_street'\r\n controlTitle='Street'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-12' [ngClass]=\"{'has-error': isControlInvalid('address_street2')}\" >\r\n <input type='text' class='form-control' formControlName='address_street2' placeholder='Apartment, suite, unit, building, floor, etc.'>\r\n <anatoly-item-validation-summary controlName='address_street2'\r\n controlTitle='Street2'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label class='col-form-label required'>City</label>\r\n <input type='text' class='form-control' formControlName='address_city' placeholder='City'>\r\n <anatoly-item-validation-summary controlName='address_city'\r\n controlTitle='City'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label class='col-form-label required'>State</label>\r\n <select class='form-control' (change)='onUSStateChange($event)' formControlName='address_stateOrRegion'>\r\n <option *ngFor='let state of usStateData' [value]='state.code'>{{state.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_stateOrRegion'\r\n controlTitle='State'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label class='col-form-label required'>zipcode</label>\r\n <input type='text' class='form-control' formControlName='address_zipcode' placeholder='zipcode'>\r\n <anatoly-item-validation-summary controlName='address_zipcode'\r\n controlTitle='zipcode'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n <div class='form-group col-3' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label class='col-form-label required'>Country</label>\r\n <select class='form-control' (change)='onCountryChange($event)' formControlName='address_country' data-placeholder='Select a Country'>\r\n <option *ngFor='let country of countryData' [value]='country.code'>{{country.name}}</option>\r\n </select>\r\n <anatoly-item-validation-summary controlName='address_country'\r\n controlTitle='Country'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
3931
- }], ctorParameters: function () { return [{ type: i1$6.FormBuilder }, { type: CoreApiService }]; }, propDecorators: { title: [{
3943
+ }], ctorParameters: function () { return [{ type: i1$7.FormBuilder }, { type: CoreApiService }]; }, propDecorators: { title: [{
3932
3944
  type: Input
3933
3945
  }], isTitleVisible: [{
3934
3946
  type: Input
@@ -4006,12 +4018,12 @@ class CompanyComponent extends BaseEditComponent {
4006
4018
  return JSON.stringify(data);
4007
4019
  }
4008
4020
  }
4009
- CompanyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CompanyComponent, deps: [{ token: i1$6.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
4010
- CompanyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: CompanyComponent, selector: "anatoly-forms-company", inputs: { title: "title", isTitleVisible: "isTitleVisible", company: "company" }, usesInheritance: true, ngImport: i0, template: "<anatoly-card [class]=\"'card-primary card-outline'\">\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div [formGroup]='formGroup' class='row'>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_name') }\">\r\n <label class='col-form-label'>Name</label>\r\n <input type='text' class='form-control' formControlName='company_name' placeholder='Company Name'>\r\n <anatoly-item-validation-summary controlName='company_name'\r\n controlTitle='Company Name'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_phone') }\">\r\n <label class='col-form-label'>Phone</label>\r\n <input type='tel' class='form-control' formControlName='company_phone' placeholder='Company Phone'>\r\n <anatoly-item-validation-summary controlName='company_phone'\r\n controlTitle='Company Phone'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_email') }\">\r\n <label class='col-form-label'>Email</label>\r\n <input type='email' class='form-control' formControlName='company_email' placeholder='Company Email'>\r\n <anatoly-item-validation-summary controlName='company_email'\r\n controlTitle='Company Email'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_websiteUrl') }\">\r\n <label class='col-form-label'>Website Url</label>\r\n <input type='url' placeholder='https://example.com' pattern='https://.*' size='30'\r\n class='form-control' formControlName='company_websiteUrl'>\r\n <anatoly-item-validation-summary controlName='company_websiteUrl'\r\n controlTitle='Company website url'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$6.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: CardComponent, selector: "anatoly-card", inputs: ["class"] }, { kind: "component", type: CardHeaderComponent, selector: "anatoly-card-header", inputs: ["class", "title"] }, { kind: "component", type: CardBodyComponent, selector: "anatoly-card-body", inputs: ["class"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
4021
+ CompanyComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CompanyComponent, deps: [{ token: i1$7.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
4022
+ CompanyComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: CompanyComponent, selector: "anatoly-forms-company", inputs: { title: "title", isTitleVisible: "isTitleVisible", company: "company" }, usesInheritance: true, ngImport: i0, template: "<anatoly-card [class]=\"'card-primary card-outline'\">\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div [formGroup]='formGroup' class='row'>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_name') }\">\r\n <label class='col-form-label'>Name</label>\r\n <input type='text' class='form-control' formControlName='company_name' placeholder='Company Name'>\r\n <anatoly-item-validation-summary controlName='company_name'\r\n controlTitle='Company Name'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_phone') }\">\r\n <label class='col-form-label'>Phone</label>\r\n <input type='tel' class='form-control' formControlName='company_phone' placeholder='Company Phone'>\r\n <anatoly-item-validation-summary controlName='company_phone'\r\n controlTitle='Company Phone'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_email') }\">\r\n <label class='col-form-label'>Email</label>\r\n <input type='email' class='form-control' formControlName='company_email' placeholder='Company Email'>\r\n <anatoly-item-validation-summary controlName='company_email'\r\n controlTitle='Company Email'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_websiteUrl') }\">\r\n <label class='col-form-label'>Website Url</label>\r\n <input type='url' placeholder='https://example.com' pattern='https://.*' size='30'\r\n class='form-control' formControlName='company_websiteUrl'>\r\n <anatoly-item-validation-summary controlName='company_websiteUrl'\r\n controlTitle='Company website url'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$7.PatternValidator, selector: "[pattern][formControlName],[pattern][formControl],[pattern][ngModel]", inputs: ["pattern"] }, { kind: "directive", type: i1$7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "component", type: CardComponent, selector: "anatoly-card", inputs: ["class"] }, { kind: "component", type: CardHeaderComponent, selector: "anatoly-card-header", inputs: ["class", "title"] }, { kind: "component", type: CardBodyComponent, selector: "anatoly-card-body", inputs: ["class"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
4011
4023
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: CompanyComponent, decorators: [{
4012
4024
  type: Component,
4013
4025
  args: [{ selector: 'anatoly-forms-company', template: "<anatoly-card [class]=\"'card-primary card-outline'\">\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title'></anatoly-card-header>\r\n <anatoly-card-body>\r\n <div [formGroup]='formGroup' class='row'>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_name') }\">\r\n <label class='col-form-label'>Name</label>\r\n <input type='text' class='form-control' formControlName='company_name' placeholder='Company Name'>\r\n <anatoly-item-validation-summary controlName='company_name'\r\n controlTitle='Company Name'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_phone') }\">\r\n <label class='col-form-label'>Phone</label>\r\n <input type='tel' class='form-control' formControlName='company_phone' placeholder='Company Phone'>\r\n <anatoly-item-validation-summary controlName='company_phone'\r\n controlTitle='Company Phone'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_email') }\">\r\n <label class='col-form-label'>Email</label>\r\n <input type='email' class='form-control' formControlName='company_email' placeholder='Company Email'>\r\n <anatoly-item-validation-summary controlName='company_email'\r\n controlTitle='Company Email'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_websiteUrl') }\">\r\n <label class='col-form-label'>Website Url</label>\r\n <input type='url' placeholder='https://example.com' pattern='https://.*' size='30'\r\n class='form-control' formControlName='company_websiteUrl'>\r\n <anatoly-item-validation-summary controlName='company_websiteUrl'\r\n controlTitle='Company website url'\r\n [formGroup]='formGroup'\r\n [formSubmitted]='formSubmitted'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n\r\n </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
4014
- }], ctorParameters: function () { return [{ type: i1$6.FormBuilder }]; }, propDecorators: { title: [{
4026
+ }], ctorParameters: function () { return [{ type: i1$7.FormBuilder }]; }, propDecorators: { title: [{
4015
4027
  type: Input
4016
4028
  }], isTitleVisible: [{
4017
4029
  type: Input
@@ -4077,7 +4089,7 @@ class UrlSlugComponent extends BaseEditComponent {
4077
4089
  }
4078
4090
  }
4079
4091
  UrlSlugComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: UrlSlugComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
4080
- UrlSlugComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: UrlSlugComponent, selector: "anatoly-forms-urlslug", inputs: { title: "title", isTitleVisible: "isTitleVisible", controlName: "controlName", controlTitle: "controlTitle", class: "class", watchedControlName: "watchedControlName", urlPrefix: "urlPrefix", isGoButtonVisible: "isGoButtonVisible" }, outputs: { generating: "generating" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]='formGroup' [ngClass]=\"{'has-error': isControlInvalid(controlName)}\"\r\n class=\"permalink form-group {{class}}\">\r\n <div class=\"d-flex align-items-end\">\r\n\r\n <div class=\"form-group\">\r\n <label *ngIf='isTitleVisible' class='col-form-label'>\r\n {{ title }}\r\n <span class=\"urlPrefix\">\r\n {{ urlPrefix }}\r\n </span>\r\n </label>\r\n </div>\r\n <div class='form-group flex-fill'>\r\n <input [formControlName]='controlName' type='text' placeholder='Type url slug here' (focusout)='onUrlSlugChange()'\r\n class='form-control' />\r\n </div>\r\n <div class=\"form-group flex-shrink-1\" *ngIf=\"isGoButtonVisible\">\r\n <a href=\"{{urlPrefix}}{{hrefGo}}\" target=\"_blank\" class=\"btn btn-primary\">Go</a>\r\n </div>\r\n <anatoly-item-validation-summary [formGroup]='formGroup' [formSubmitted]='formSubmitted' [controlName]='controlName'\r\n [controlTitle]='controlTitle'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$6.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
4092
+ UrlSlugComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: UrlSlugComponent, selector: "anatoly-forms-urlslug", inputs: { title: "title", isTitleVisible: "isTitleVisible", controlName: "controlName", controlTitle: "controlTitle", class: "class", watchedControlName: "watchedControlName", urlPrefix: "urlPrefix", isGoButtonVisible: "isGoButtonVisible" }, outputs: { generating: "generating" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]='formGroup' [ngClass]=\"{'has-error': isControlInvalid(controlName)}\"\r\n class=\"permalink form-group {{class}}\">\r\n <div class=\"d-flex align-items-end\">\r\n\r\n <div class=\"form-group\">\r\n <label *ngIf='isTitleVisible' class='col-form-label'>\r\n {{ title }}\r\n <span class=\"urlPrefix\">\r\n {{ urlPrefix }}\r\n </span>\r\n </label>\r\n </div>\r\n <div class='form-group flex-fill'>\r\n <input [formControlName]='controlName' type='text' placeholder='Type url slug here' (focusout)='onUrlSlugChange()'\r\n class='form-control' />\r\n </div>\r\n <div class=\"form-group flex-shrink-1\" *ngIf=\"isGoButtonVisible\">\r\n <a href=\"{{urlPrefix}}{{hrefGo}}\" target=\"_blank\" class=\"btn btn-primary\">Go</a>\r\n </div>\r\n <anatoly-item-validation-summary [formGroup]='formGroup' [formSubmitted]='formSubmitted' [controlName]='controlName'\r\n [controlTitle]='controlTitle'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$7.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1$7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }, { kind: "component", type: ItemValidationSummaryComponent, selector: "anatoly-item-validation-summary", inputs: ["controlName", "controlTitle"] }] });
4081
4093
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: UrlSlugComponent, decorators: [{
4082
4094
  type: Component,
4083
4095
  args: [{ selector: 'anatoly-forms-urlslug', template: "<div [formGroup]='formGroup' [ngClass]=\"{'has-error': isControlInvalid(controlName)}\"\r\n class=\"permalink form-group {{class}}\">\r\n <div class=\"d-flex align-items-end\">\r\n\r\n <div class=\"form-group\">\r\n <label *ngIf='isTitleVisible' class='col-form-label'>\r\n {{ title }}\r\n <span class=\"urlPrefix\">\r\n {{ urlPrefix }}\r\n </span>\r\n </label>\r\n </div>\r\n <div class='form-group flex-fill'>\r\n <input [formControlName]='controlName' type='text' placeholder='Type url slug here' (focusout)='onUrlSlugChange()'\r\n class='form-control' />\r\n </div>\r\n <div class=\"form-group flex-shrink-1\" *ngIf=\"isGoButtonVisible\">\r\n <a href=\"{{urlPrefix}}{{hrefGo}}\" target=\"_blank\" class=\"btn btn-primary\">Go</a>\r\n </div>\r\n <anatoly-item-validation-summary [formGroup]='formGroup' [formSubmitted]='formSubmitted' [controlName]='controlName'\r\n [controlTitle]='controlTitle'>\r\n </anatoly-item-validation-summary>\r\n </div>\r\n</div>\r\n" }]
@@ -4147,7 +4159,7 @@ class TimezoneDropdownlist extends BaseEditComponent {
4147
4159
  }
4148
4160
  }
4149
4161
  TimezoneDropdownlist.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: TimezoneDropdownlist, deps: [{ token: CoreApiService }, { token: AppContextService }], target: i0.ɵɵFactoryTarget.Component });
4150
- TimezoneDropdownlist.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: TimezoneDropdownlist, selector: "anatoly-forms-timezone-dropdownlist", inputs: { title: "title", isTitleVisible: "isTitleVisible", controlName: "controlName", controlTitle: "controlTitle" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]='formGroup' class='form-group'>\r\n <label *ngIf='isTitleVisible' class='col-form-label'>Timezone</label>\r\n <select [formControlName]='controlName' class='form-control'>\r\n <option *ngFor='let timezone of timezoneListItems'\r\n [value]='timezone.code'>\r\n ({{timezone.offset}}) {{timezone.name}}\r\n </option>\r\n </select>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$6.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$6.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$6.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$6.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$6.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$6.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }] });
4162
+ TimezoneDropdownlist.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: TimezoneDropdownlist, selector: "anatoly-forms-timezone-dropdownlist", inputs: { title: "title", isTitleVisible: "isTitleVisible", controlName: "controlName", controlTitle: "controlTitle" }, usesInheritance: true, ngImport: i0, template: "<div [formGroup]='formGroup' class='form-group'>\r\n <label *ngIf='isTitleVisible' class='col-form-label'>Timezone</label>\r\n <select [formControlName]='controlName' class='form-control'>\r\n <option *ngFor='let timezone of timezoneListItems'\r\n [value]='timezone.code'>\r\n ({{timezone.offset}}) {{timezone.name}}\r\n </option>\r\n </select>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1$7.NgSelectOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$7.ɵNgSelectMultipleOption, selector: "option", inputs: ["ngValue", "value"] }, { kind: "directive", type: i1$7.SelectControlValueAccessor, selector: "select:not([multiple])[formControlName],select:not([multiple])[formControl],select:not([multiple])[ngModel]", inputs: ["compareWith"] }, { kind: "directive", type: i1$7.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1$7.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1$7.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i1$7.FormControlName, selector: "[formControlName]", inputs: ["formControlName", "disabled", "ngModel"], outputs: ["ngModelChange"] }, { kind: "directive", type: NativeElementDirective, selector: "[formControl], [formControlName]" }] });
4151
4163
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: TimezoneDropdownlist, decorators: [{
4152
4164
  type: Component,
4153
4165
  args: [{ selector: 'anatoly-forms-timezone-dropdownlist', template: "<div [formGroup]='formGroup' class='form-group'>\r\n <label *ngIf='isTitleVisible' class='col-form-label'>Timezone</label>\r\n <select [formControlName]='controlName' class='form-control'>\r\n <option *ngFor='let timezone of timezoneListItems'\r\n [value]='timezone.code'>\r\n ({{timezone.offset}}) {{timezone.name}}\r\n </option>\r\n </select>\r\n</div>\r\n" }]
@@ -4412,6 +4424,44 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
4412
4424
  type: SkipSelf
4413
4425
  }] }]; } });
4414
4426
 
4427
+ /*
4428
+ <file>
4429
+ Project:
4430
+ MailEx
4431
+
4432
+ Authors:
4433
+ Vadim Osovitny vadim@osovitny.com
4434
+ Anatoly Osovitny anatoly@osovitny.com
4435
+
4436
+ Created:
4437
+ 18 Aug 2022
4438
+
4439
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
4440
+ </file>
4441
+ */
4442
+ class FaModule {
4443
+ constructor(library) {
4444
+ library.addIcons(faCheckCircle, faCircleXmark);
4445
+ }
4446
+ }
4447
+ FaModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FaModule, deps: [{ token: i1$6.FaIconLibrary }], target: i0.ɵɵFactoryTarget.NgModule });
4448
+ FaModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: FaModule, imports: [CommonModule,
4449
+ FontAwesomeModule], exports: [FontAwesomeModule] });
4450
+ FaModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FaModule, imports: [CommonModule,
4451
+ FontAwesomeModule, FontAwesomeModule] });
4452
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FaModule, decorators: [{
4453
+ type: NgModule,
4454
+ args: [{
4455
+ imports: [
4456
+ CommonModule,
4457
+ FontAwesomeModule
4458
+ ],
4459
+ exports: [
4460
+ FontAwesomeModule
4461
+ ]
4462
+ }]
4463
+ }], ctorParameters: function () { return [{ type: i1$6.FaIconLibrary }]; } });
4464
+
4415
4465
  /*
4416
4466
  <file>
4417
4467
  Project:
@@ -4430,28 +4480,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
4430
4480
  const FroalaEditorModuleWithProviders = FroalaEditorModule.forRoot();
4431
4481
  const FroalaViewModuleWithProviders = FroalaViewModule.forRoot();
4432
4482
  const COMPONENTS = [
4433
- //billing
4434
4483
  BuyAccessButtonComponent,
4435
4484
  SubscribePlanButtonComponent,
4485
+ CheckIconComponent,
4486
+ SignInButtonComponent,
4487
+ SignUpButtonComponent,
4488
+ SignOutButtonComponent,
4489
+ NodataComponent,
4490
+ PageSpinnerComponent,
4491
+ LoadingComponent,
4436
4492
  //Cards
4437
4493
  CardComponent,
4438
4494
  CardHeaderComponent,
4439
4495
  CardBodyComponent,
4440
4496
  CardFooterComponent,
4441
- //Check
4442
- CheckIconComponent,
4443
4497
  //HtmlEditor
4444
4498
  HtmlEditorComponent,
4445
4499
  FormsHtmlEditorComponent,
4446
- //identity
4447
- SignInButtonComponent,
4448
- SignUpButtonComponent,
4449
- SignOutButtonComponent,
4450
- ///
4451
- NodataComponent,
4452
- //Spinners
4453
- PageSpinnerComponent,
4454
- LoadingComponent,
4500
+ //Dialogs
4501
+ ContactUsDialog,
4455
4502
  //Directives
4456
4503
  NativeElementDirective,
4457
4504
  //Forms
@@ -4460,8 +4507,6 @@ const COMPONENTS = [
4460
4507
  UrlSlugComponent,
4461
4508
  TimezoneDropdownlist,
4462
4509
  ContactUsForm,
4463
- //Dialogs
4464
- ContactUsDialog,
4465
4510
  //Pipes
4466
4511
  SafeHtmlPipe,
4467
4512
  ReplaceTextPipe,
@@ -4473,29 +4518,25 @@ const COMPONENTS = [
4473
4518
  class AnatolyUIModule {
4474
4519
  }
4475
4520
  AnatolyUIModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AnatolyUIModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
4476
- AnatolyUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: AnatolyUIModule, declarations: [
4477
- //billing
4478
- BuyAccessButtonComponent,
4521
+ AnatolyUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "14.0.6", ngImport: i0, type: AnatolyUIModule, declarations: [BuyAccessButtonComponent,
4479
4522
  SubscribePlanButtonComponent,
4523
+ CheckIconComponent,
4524
+ SignInButtonComponent,
4525
+ SignUpButtonComponent,
4526
+ SignOutButtonComponent,
4527
+ NodataComponent,
4528
+ PageSpinnerComponent,
4529
+ LoadingComponent,
4480
4530
  //Cards
4481
4531
  CardComponent,
4482
4532
  CardHeaderComponent,
4483
4533
  CardBodyComponent,
4484
4534
  CardFooterComponent,
4485
- //Check
4486
- CheckIconComponent,
4487
4535
  //HtmlEditor
4488
4536
  HtmlEditorComponent,
4489
4537
  FormsHtmlEditorComponent,
4490
- //identity
4491
- SignInButtonComponent,
4492
- SignUpButtonComponent,
4493
- SignOutButtonComponent,
4494
- ///
4495
- NodataComponent,
4496
- //Spinners
4497
- PageSpinnerComponent,
4498
- LoadingComponent,
4538
+ //Dialogs
4539
+ ContactUsDialog,
4499
4540
  //Directives
4500
4541
  NativeElementDirective,
4501
4542
  //Forms
@@ -4504,8 +4545,6 @@ AnatolyUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
4504
4545
  UrlSlugComponent,
4505
4546
  TimezoneDropdownlist,
4506
4547
  ContactUsForm,
4507
- //Dialogs
4508
- ContactUsDialog,
4509
4548
  //Pipes
4510
4549
  SafeHtmlPipe,
4511
4550
  ReplaceTextPipe,
@@ -4517,29 +4556,26 @@ AnatolyUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
4517
4556
  CommonModule,
4518
4557
  ReactiveFormsModule,
4519
4558
  FormsModule,
4520
- NgxCaptchaModule, i1$7.FroalaEditorModule, i1$7.FroalaViewModule], exports: [
4521
- //billing
4522
- BuyAccessButtonComponent,
4559
+ NgxCaptchaModule,
4560
+ FaModule, i1$8.FroalaEditorModule, i1$8.FroalaViewModule], exports: [BuyAccessButtonComponent,
4523
4561
  SubscribePlanButtonComponent,
4562
+ CheckIconComponent,
4563
+ SignInButtonComponent,
4564
+ SignUpButtonComponent,
4565
+ SignOutButtonComponent,
4566
+ NodataComponent,
4567
+ PageSpinnerComponent,
4568
+ LoadingComponent,
4524
4569
  //Cards
4525
4570
  CardComponent,
4526
4571
  CardHeaderComponent,
4527
4572
  CardBodyComponent,
4528
4573
  CardFooterComponent,
4529
- //Check
4530
- CheckIconComponent,
4531
4574
  //HtmlEditor
4532
4575
  HtmlEditorComponent,
4533
4576
  FormsHtmlEditorComponent,
4534
- //identity
4535
- SignInButtonComponent,
4536
- SignUpButtonComponent,
4537
- SignOutButtonComponent,
4538
- ///
4539
- NodataComponent,
4540
- //Spinners
4541
- PageSpinnerComponent,
4542
- LoadingComponent,
4577
+ //Dialogs
4578
+ ContactUsDialog,
4543
4579
  //Directives
4544
4580
  NativeElementDirective,
4545
4581
  //Forms
@@ -4548,8 +4584,6 @@ AnatolyUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
4548
4584
  UrlSlugComponent,
4549
4585
  TimezoneDropdownlist,
4550
4586
  ContactUsForm,
4551
- //Dialogs
4552
- ContactUsDialog,
4553
4587
  //Pipes
4554
4588
  SafeHtmlPipe,
4555
4589
  ReplaceTextPipe,
@@ -4563,6 +4597,7 @@ AnatolyUIModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version
4563
4597
  ReactiveFormsModule,
4564
4598
  FormsModule,
4565
4599
  NgxCaptchaModule,
4600
+ FaModule,
4566
4601
  FroalaEditorModuleWithProviders,
4567
4602
  FroalaViewModuleWithProviders] });
4568
4603
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AnatolyUIModule, decorators: [{
@@ -4575,6 +4610,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
4575
4610
  ReactiveFormsModule,
4576
4611
  FormsModule,
4577
4612
  NgxCaptchaModule,
4613
+ FaModule,
4578
4614
  FroalaEditorModuleWithProviders,
4579
4615
  FroalaViewModuleWithProviders,
4580
4616
  ],
@@ -4595,5 +4631,5 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
4595
4631
  * Generated bundle index. Do not edit.
4596
4632
  */
4597
4633
 
4598
- export { AddressComponent, Alerts, AnatolyCoreModule, AnatolyDataModule, AnatolyHttpInterceptor, AnatolyUIModule, AppContextService, AppCoreSettings, BaseApiService, BaseComponent, BaseDialog, BaseEditComponent, BaseGoService, BaseGridEditService, BaseGridReadService, BaseHtmlEditorComponent, BaseList, BasePage, BasePagedPage, BuyAccessButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CheckIconComponent, CompanyComponent, ContactUsDialog, ContactUsForm, Convert, CoreApiService, DOM, DefaultEditorOptions, DigitalMarketingService, EmailsApiService, FileSizePipe, FormValidationSummaryComponent, FormsHtmlEditorComponent, FroalaEditorModuleWithProviders, FroalaViewModuleWithProviders, GlobalErrorHandler, GoogleAnalyticsService, Guid, HtmlEditorComponent, IdleService, InjectorInstance, ItemValidationSummaryComponent, LoadingComponent, LoadingService, LocalStorageService, LocalizationInjectorInstance, LocalizationModule, LocalizationService, LocalizationSettingsModule, LocalizePipe, LoggingService, NativeElementDirective, NodataComponent, NotificationService, NotificationsApiService, PageSpinnerComponent, ReplaceTextPipe, SafeHtmlPipe, SessionStorageService, SignInButtonComponent, SignOutButtonComponent, SignUpButtonComponent, Subs, SubscribePlanButtonComponent, TimezoneDropdownlist, TranslateModuleAtRoot, UrlSlugComponent, Urls, Utils, ValidationSummaryComponent, customTranslateLoaderFactory, localizationInitializerFactory, throwIfAlreadyLoaded };
4634
+ export { AddressComponent, Alerts, AnatolyCoreModule, AnatolyDataModule, AnatolyHttpInterceptor, AnatolyUIModule, AppContextService, AppCoreSettings, BaseApiService, BaseComponent, BaseDialog, BaseEditComponent, BaseGoService, BaseGridEditService, BaseGridReadService, BaseHtmlEditorComponent, BaseList, BasePage, BasePagedPage, BuyAccessButtonComponent, CardBodyComponent, CardComponent, CardFooterComponent, CardHeaderComponent, CheckIconComponent, CompanyComponent, ContactUsDialog, ContactUsForm, Convert, CoreApiService, DOM, DefaultEditorOptions, DigitalMarketingService, EmailsApiService, FaModule, FileSizePipe, FormValidationSummaryComponent, FormsHtmlEditorComponent, FroalaEditorModuleWithProviders, FroalaViewModuleWithProviders, GlobalErrorHandler, GoogleAnalyticsService, Guid, HtmlEditorComponent, IdleService, InjectorInstance, ItemValidationSummaryComponent, LoadingComponent, LoadingService, LocalStorageService, LocalizationInjectorInstance, LocalizationModule, LocalizationService, LocalizationSettingsModule, LocalizePipe, LoggingService, NativeElementDirective, NodataComponent, NotificationService, NotificationsApiService, PageSpinnerComponent, ReplaceTextPipe, SafeHtmlPipe, SessionStorageService, SignInButtonComponent, SignOutButtonComponent, SignUpButtonComponent, Subs, SubscribePlanButtonComponent, TimezoneDropdownlist, TranslateModuleAtRoot, UrlSlugComponent, Urls, Utils, ValidationSummaryComponent, customTranslateLoaderFactory, localizationInitializerFactory, throwIfAlreadyLoaded };
4599
4635
  //# sourceMappingURL=osovitny-anatoly.mjs.map