@osovitny/anatoly 2.14.3 → 2.14.5

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.
@@ -11,32 +11,19 @@ import { utcToZonedTime } from 'date-fns-tz';
11
11
  import enUS from 'date-fns/locale/en-US';
12
12
  import * as i1$1 from '@ngx-translate/core';
13
13
  import { TranslateModule, TranslateLoader, TranslateService } from '@ngx-translate/core';
14
- import * as i1$6 from '@angular/common';
14
+ import * as i1$5 from '@angular/common';
15
15
  import { LOCATION_INITIALIZED, DOCUMENT, CommonModule } from '@angular/common';
16
16
  import { TranslateHttpLoader } from '@ngx-translate/http-loader';
17
17
  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 { Utils as Utils$1 } from '@core/utils';
22
- import { Subs as Subs$1 } from '@core/subs';
23
- import * as i1$7 from '@angular/forms';
21
+ import * as i1$6 from '@angular/forms';
24
22
  import { FormControl, Validators, ReactiveFormsModule, FormsModule } from '@angular/forms';
25
- import { Alerts as Alerts$1 } from '@core/notifications/alerts';
26
- import * as i1$5 from '@core/services/appcontext.service';
27
- import * as i2 from '@data/services/billing-api.service';
28
- import { AppCoreSettings as AppCoreSettings$1 } from '@core/consts/settings';
29
- import * as i1$8 from 'angular-froala-wysiwyg';
23
+ import * as i1$7 from 'angular-froala-wysiwyg';
30
24
  import { FroalaEditorModule, FroalaViewModule } from 'angular-froala-wysiwyg';
31
- import * as i1$9 from '@core/services/loading.service';
32
- import { BaseEditComponent as BaseEditComponent$1 } from '@anatoly/ui/components/base-edit.component';
33
- import * as i2$1 from '@anatoly/core/services/appcontext.service';
34
- import * as i3 from '@anatoly/data/services/emails-api.service';
35
- import * as i4 from '@anatoly/core/notifications/services/notification-service';
36
25
  import * as i6 from 'ngx-captcha';
37
26
  import { NgxCaptchaModule } from 'ngx-captcha';
38
- import { throwIfAlreadyLoaded as throwIfAlreadyLoaded$1 } from '@core/guards/once-import.guard';
39
- import { BaseApiService as BaseApiService$1 } from '@data/base/base-api.service';
40
27
 
41
28
  /*
42
29
  <file>
@@ -2013,10 +2000,10 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
2013
2000
  */
2014
2001
  class BaseComponent {
2015
2002
  constructor() {
2016
- this.subs = new Subs$1();
2003
+ this.subs = new Subs();
2017
2004
  }
2018
2005
  getQSId() {
2019
- var id = Utils$1.getValueByNameInQS("id");
2006
+ var id = Utils.getValueByNameInQS("id");
2020
2007
  if (typeof id === "undefined" || id == "")
2021
2008
  return null;
2022
2009
  return id;
@@ -2058,7 +2045,7 @@ class BaseEditComponent extends BaseComponent {
2058
2045
  this.formSubmitted = false;
2059
2046
  }
2060
2047
  isActionAdding() {
2061
- var id = Utils$1.getValueByNameInQS("id");
2048
+ var id = Utils.getValueByNameInQS("id");
2062
2049
  if (typeof id === "undefined" || id == "")
2063
2050
  return true;
2064
2051
  return false;
@@ -2286,21 +2273,21 @@ class BuyAccessButtonComponent {
2286
2273
  onBuyPlan() {
2287
2274
  const text = `Requested plan: ${this.plantitle} `;
2288
2275
  const that = this;
2289
- Alerts$1.areYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {
2276
+ Alerts.areYouSure(text, 'Buying access', 'Confirm change', 'Cancel', () => {
2290
2277
  that.api.buyAccess(that.plan, () => {
2291
- Alerts$1.success('Access Granted', null, null, () => {
2278
+ Alerts.success('Access Granted', null, null, () => {
2292
2279
  window.location.reload();
2293
2280
  });
2294
2281
  });
2295
2282
  });
2296
2283
  }
2297
2284
  }
2298
- BuyAccessButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BuyAccessButtonComponent, deps: [{ token: i1$5.AppContextService }, { token: i2.BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
2299
- BuyAccessButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BuyAccessButtonComponent, selector: "anatoly-buyaccess-button", inputs: { plan: "plan", plantitle: "plantitle" }, ngImport: i0, template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"plan != currentPlan && currentPlan == 1\" (click)=\"onBuyPlan()\">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
2285
+ BuyAccessButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BuyAccessButtonComponent, deps: [{ token: AppContextService }, { token: BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
2286
+ BuyAccessButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: BuyAccessButtonComponent, selector: "anatoly-buyaccess-button", inputs: { plan: "plan", plantitle: "plantitle" }, ngImport: i0, template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"plan != currentPlan && currentPlan == 1\" (click)=\"onBuyPlan()\">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
2300
2287
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: BuyAccessButtonComponent, decorators: [{
2301
2288
  type: Component,
2302
2289
  args: [{ selector: 'anatoly-buyaccess-button', template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"plan != currentPlan && currentPlan == 1\" (click)=\"onBuyPlan()\">\r\n Buy Now\r\n </button>\r\n </div>\r\n</div>\r\n" }]
2303
- }], ctorParameters: function () { return [{ type: i1$5.AppContextService }, { type: i2.BillingApiService }]; }, propDecorators: { plan: [{
2290
+ }], ctorParameters: function () { return [{ type: AppContextService }, { type: BillingApiService }]; }, propDecorators: { plan: [{
2304
2291
  type: Input
2305
2292
  }], plantitle: [{
2306
2293
  type: Input
@@ -2331,21 +2318,21 @@ class UpgradePlanButtonComponent {
2331
2318
  onUpgradePlan() {
2332
2319
  const text = `Current plan: ${this.currentplantitle} New plan: ${this.requestedplantitle}`;
2333
2320
  const that = this;
2334
- Alerts$1.areYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {
2321
+ Alerts.areYouSure(text, 'Change billing plan', 'Confirm change', 'Cancel', () => {
2335
2322
  that.api.requestNewSubscription(that.requestedplan, () => {
2336
- Alerts$1.success('Your request for changing plan has been sent.', null, null, () => {
2323
+ Alerts.success('Your request for changing plan has been sent.', null, null, () => {
2337
2324
  window.location.reload();
2338
2325
  });
2339
2326
  });
2340
2327
  });
2341
2328
  }
2342
2329
  }
2343
- UpgradePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: UpgradePlanButtonComponent, deps: [{ token: i2.BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
2330
+ UpgradePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: UpgradePlanButtonComponent, deps: [{ token: BillingApiService }], target: i0.ɵɵFactoryTarget.Component });
2344
2331
  UpgradePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: UpgradePlanButtonComponent, selector: "anatoly-upgrade-plan-button", inputs: { currentplantitle: "currentplantitle", requestedplan: "requestedplan", requestedplantitle: "requestedplantitle" }, ngImport: i0, template: "<button class=\"btn btn-block btn-primary\" (click)=\"onUpgradePlan()\">\r\n Upgrade\r\n</button>\r\n" });
2345
2332
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: UpgradePlanButtonComponent, decorators: [{
2346
2333
  type: Component,
2347
2334
  args: [{ selector: 'anatoly-upgrade-plan-button', template: "<button class=\"btn btn-block btn-primary\" (click)=\"onUpgradePlan()\">\r\n Upgrade\r\n</button>\r\n" }]
2348
- }], ctorParameters: function () { return [{ type: i2.BillingApiService }]; }, propDecorators: { currentplantitle: [{
2335
+ }], ctorParameters: function () { return [{ type: BillingApiService }]; }, propDecorators: { currentplantitle: [{
2349
2336
  type: Input
2350
2337
  }], requestedplan: [{
2351
2338
  type: Input
@@ -2398,12 +2385,12 @@ class SubscribePlanButtonComponent {
2398
2385
  });
2399
2386
  }
2400
2387
  }
2401
- SubscribePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SubscribePlanButtonComponent, deps: [{ token: i1$5.AppContextService }], target: i0.ɵɵFactoryTarget.Component });
2402
- SubscribePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SubscribePlanButtonComponent, selector: "anatoly-subscribe-plan-button", inputs: { plan: "plan", plantitle: "plantitle" }, ngImport: i0, template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"requestedPlan != null && requestedPlan != 0 && plan == requestedPlan\">\r\n Requested\r\n </button>\r\n\r\n <anatoly-upgrade-plan-button *ngIf=\"plan != currentPlan && plan != requestedPlan\"\r\n [currentplantitle]=\"currentPlanTitle\"\r\n [requestedplan]=plan\r\n [requestedplantitle]=\"plantitle\">\r\n </anatoly-upgrade-plan-button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UpgradePlanButtonComponent, selector: "anatoly-upgrade-plan-button", inputs: ["currentplantitle", "requestedplan", "requestedplantitle"] }, { kind: "component", type: SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
2388
+ SubscribePlanButtonComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SubscribePlanButtonComponent, deps: [{ token: AppContextService }], target: i0.ɵɵFactoryTarget.Component });
2389
+ SubscribePlanButtonComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SubscribePlanButtonComponent, selector: "anatoly-subscribe-plan-button", inputs: { plan: "plan", plantitle: "plantitle" }, ngImport: i0, template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"requestedPlan != null && requestedPlan != 0 && plan == requestedPlan\">\r\n Requested\r\n </button>\r\n\r\n <anatoly-upgrade-plan-button *ngIf=\"plan != currentPlan && plan != requestedPlan\"\r\n [currentplantitle]=\"currentPlanTitle\"\r\n [requestedplan]=plan\r\n [requestedplantitle]=\"plantitle\">\r\n </anatoly-upgrade-plan-button>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: UpgradePlanButtonComponent, selector: "anatoly-upgrade-plan-button", inputs: ["currentplantitle", "requestedplan", "requestedplantitle"] }, { kind: "component", type: SignUpButtonComponent, selector: "anatoly-signup-button", inputs: ["classbtn"] }] });
2403
2390
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SubscribePlanButtonComponent, decorators: [{
2404
2391
  type: Component,
2405
2392
  args: [{ selector: "anatoly-subscribe-plan-button", template: "<div *ngIf=\"contextUpdated\">\r\n <div *ngIf=\"!isUserSignedIn\">\r\n <anatoly-signup-button classbtn=\"btn btn-block btn-primary\"></anatoly-signup-button>\r\n </div>\r\n\r\n <div *ngIf=\"isUserSignedIn\">\r\n <button class=\"btn btn-block btn-success selectPlan\" *ngIf=\"plan == currentPlan\">\r\n Your Plan\r\n </button>\r\n\r\n <button class=\"btn btn-block btn-warning selectPlan\" *ngIf=\"requestedPlan != null && requestedPlan != 0 && plan == requestedPlan\">\r\n Requested\r\n </button>\r\n\r\n <anatoly-upgrade-plan-button *ngIf=\"plan != currentPlan && plan != requestedPlan\"\r\n [currentplantitle]=\"currentPlanTitle\"\r\n [requestedplan]=plan\r\n [requestedplantitle]=\"plantitle\">\r\n </anatoly-upgrade-plan-button>\r\n </div>\r\n</div>\r\n" }]
2406
- }], ctorParameters: function () { return [{ type: i1$5.AppContextService }]; }, propDecorators: { plan: [{
2393
+ }], ctorParameters: function () { return [{ type: AppContextService }]; }, propDecorators: { plan: [{
2407
2394
  type: Input
2408
2395
  }], plantitle: [{
2409
2396
  type: Input
@@ -2565,7 +2552,7 @@ class BaseHtmlEditorComponent extends BaseEditComponent {
2565
2552
  opt = JSON.parse(this.editorOptions);
2566
2553
  }
2567
2554
  let newOptions = $.extend({}, DefaultEditorOptions, opt);
2568
- const key = AppCoreSettings$1.froalaEditorKey;
2555
+ const key = AppCoreSettings.froalaEditorKey;
2569
2556
  if (key) {
2570
2557
  newOptions = $.extend({}, newOptions, JSON.parse('{ "key": "' + key + '" }'));
2571
2558
  }
@@ -2664,14 +2651,14 @@ class NativeElementDirective {
2664
2651
  this.control.control.nativeElement = this.el.nativeElement;
2665
2652
  }
2666
2653
  }
2667
- 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 });
2654
+ 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 });
2668
2655
  NativeElementDirective.ɵdir = i0.ɵɵngDeclareDirective({ minVersion: "14.0.0", version: "14.0.6", type: NativeElementDirective, selector: "[formControl], [formControlName]", ngImport: i0 });
2669
2656
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: NativeElementDirective, decorators: [{
2670
2657
  type: Directive,
2671
2658
  args: [{
2672
2659
  selector: '[formControl], [formControlName]'
2673
2660
  }]
2674
- }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$7.NgControl }]; } });
2661
+ }], ctorParameters: function () { return [{ type: i0.ElementRef }, { type: i1$6.NgControl }]; } });
2675
2662
 
2676
2663
  /*
2677
2664
  <file>
@@ -2821,7 +2808,7 @@ class ItemValidationSummaryComponent extends ValidationSummaryComponent {
2821
2808
  }
2822
2809
  }
2823
2810
  ItemValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ItemValidationSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2824
- 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$6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
2811
+ 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"] }] });
2825
2812
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ItemValidationSummaryComponent, decorators: [{
2826
2813
  type: Component,
2827
2814
  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" }]
@@ -2861,7 +2848,7 @@ class FormsHtmlEditorComponent extends BaseHtmlEditorComponent {
2861
2848
  }
2862
2849
  }
2863
2850
  FormsHtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormsHtmlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2864
- 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\">\r\n <div class=\"form-group\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\">\r\n <label class=\"control-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\"\r\n [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </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</div>\r\n", dependencies: [{ kind: "directive", type: i1$6.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"] }] });
2851
+ 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\">\r\n <div class=\"form-group\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\">\r\n <label class=\"control-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\"\r\n [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </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</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"] }] });
2865
2852
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormsHtmlEditorComponent, decorators: [{
2866
2853
  type: Component,
2867
2854
  args: [{ selector: "anatoly-forms-html-editor", template: "<div [formGroup]=\"formGroup\">\r\n <div class=\"form-group\" [ngClass]=\"{'has-error': isControlInvalid(editorFormKey) }\">\r\n <label class=\"control-label\">{{ editorLabelText }}</label>\r\n <textarea [formControlName]=\"editorFormKey\"\r\n [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </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</div>\r\n" }]
@@ -2909,7 +2896,7 @@ class HtmlEditorComponent extends BaseHtmlEditorComponent {
2909
2896
  }
2910
2897
  }
2911
2898
  HtmlEditorComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HtmlEditorComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
2912
- HtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: HtmlEditorComponent, selector: "anatoly-html-editor", usesInheritance: true, ngImport: i0, template: "<div>\r\n <label>{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n</div>", dependencies: [{ kind: "directive", type: i1$8.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }] });
2899
+ HtmlEditorComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: HtmlEditorComponent, selector: "anatoly-html-editor", usesInheritance: true, ngImport: i0, template: "<div>\r\n <label>{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n</div>", dependencies: [{ kind: "directive", type: i1$7.FroalaEditorDirective, selector: "[froalaEditor]", inputs: ["froalaEditor", "froalaModel"], outputs: ["froalaModelChange", "froalaInit"], exportAs: ["froalaEditor"] }] });
2913
2900
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: HtmlEditorComponent, decorators: [{
2914
2901
  type: Component,
2915
2902
  args: [{ selector: "anatoly-html-editor", template: "<div>\r\n <label>{{ editorLabelText }}</label>\r\n <textarea [froalaEditor]=\"options\" (froalaInit)=\"initializeControl($event)\">\r\n </textarea>\r\n</div>" }]
@@ -2997,7 +2984,7 @@ class LoadingComponent {
2997
2984
  constructor(loadingService) {
2998
2985
  this.loadingService = loadingService;
2999
2986
  // Private
3000
- this.subs = new Subs$1();
2987
+ this.subs = new Subs();
3001
2988
  // Public
3002
2989
  this.show = false;
3003
2990
  }
@@ -3010,12 +2997,12 @@ class LoadingComponent {
3010
2997
  this.subs.unsubscribe();
3011
2998
  }
3012
2999
  }
3013
- LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, deps: [{ token: i1$9.LoadingService }], target: i0.ɵɵFactoryTarget.Component });
3014
- LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LoadingComponent, selector: "anatoly-loading", ngImport: i0, template: "<div *ngIf=\"show\">\r\n <span id=\"pnlLoading\" class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3000
+ LoadingComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, deps: [{ token: LoadingService }], target: i0.ɵɵFactoryTarget.Component });
3001
+ LoadingComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: LoadingComponent, selector: "anatoly-loading", ngImport: i0, template: "<div *ngIf=\"show\">\r\n <span id=\"pnlLoading\" 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"] }] });
3015
3002
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: LoadingComponent, decorators: [{
3016
3003
  type: Component,
3017
3004
  args: [{ selector: 'anatoly-loading', template: "<div *ngIf=\"show\">\r\n <span id=\"pnlLoading\" class=\"k-icon k-i-loading\"></span>\r\n</div>\r\n" }]
3018
- }], ctorParameters: function () { return [{ type: i1$9.LoadingService }]; } });
3005
+ }], ctorParameters: function () { return [{ type: LoadingService }]; } });
3019
3006
 
3020
3007
  /*
3021
3008
  <file>
@@ -3071,7 +3058,7 @@ class SpinnerComponent {
3071
3058
  }
3072
3059
  }
3073
3060
  SpinnerComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SpinnerComponent, deps: [{ token: i1.Router }, { token: DOCUMENT }], target: i0.ɵɵFactoryTarget.Component });
3074
- SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SpinnerComponent, selector: "spinner", inputs: { backgroundColor: "backgroundColor", spinner: "spinner" }, ngImport: i0, template: "<div id=\"spinner-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"spinner-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === spinnerSpinKit.spinnerLine\">\r\n <div class=\"spinner-child spinner-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n", dependencies: [{ kind: "directive", type: i1$6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }], encapsulation: i0.ViewEncapsulation.None });
3061
+ SpinnerComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: SpinnerComponent, selector: "spinner", inputs: { backgroundColor: "backgroundColor", spinner: "spinner" }, ngImport: i0, template: "<div id=\"spinner-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"spinner-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === spinnerSpinKit.spinnerLine\">\r\n <div class=\"spinner-child spinner-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 });
3075
3062
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: SpinnerComponent, decorators: [{
3076
3063
  type: Component,
3077
3064
  args: [{ selector: 'spinner', encapsulation: ViewEncapsulation.None, template: "<div id=\"spinner-loader\" *ngIf=\"isSpinnerVisible\">\r\n <div class=\"loader-bg\">\r\n <div class=\"spinner-line-material\" [class.colored]=\"!backgroundColor\" *ngIf=\"spinner === spinnerSpinKit.spinnerLine\">\r\n <div class=\"spinner-child spinner-bounce1\" [style.background-color]='backgroundColor'></div>\r\n </div>\r\n </div>\r\n</div>\r\n" }]
@@ -3086,6 +3073,42 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
3086
3073
  type: Input
3087
3074
  }] } });
3088
3075
 
3076
+ /*
3077
+ <file>
3078
+ Project:
3079
+ @osovitny/anatoly
3080
+
3081
+ Authors:
3082
+ Vadim Osovitny
3083
+ Anatoly Osovitny
3084
+
3085
+ Created:
3086
+ 16 Jun 2022
3087
+
3088
+ Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3089
+ </file>
3090
+ */
3091
+ class EmailsApiService extends BaseApiService {
3092
+ constructor(http) {
3093
+ super(http);
3094
+ this.http = http;
3095
+ }
3096
+ sendContactUs(captcha, name, email, topic, subject, message, success, error) {
3097
+ return this.post('sendContactUs', { captcha, name, email, topic, subject, message }).subscribe(data => {
3098
+ if (success)
3099
+ success(data);
3100
+ }, e => {
3101
+ if (error)
3102
+ error(e);
3103
+ });
3104
+ }
3105
+ }
3106
+ EmailsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, deps: [{ token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
3107
+ EmailsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService });
3108
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, decorators: [{
3109
+ type: Injectable
3110
+ }], ctorParameters: function () { return [{ type: i1$3.HttpClient }]; } });
3111
+
3089
3112
  /*
3090
3113
  <file>
3091
3114
  Project:
@@ -3135,7 +3158,7 @@ class FormValidationSummaryComponent extends ValidationSummaryComponent {
3135
3158
  }
3136
3159
  }
3137
3160
  FormValidationSummaryComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormValidationSummaryComponent, deps: [], target: i0.ɵɵFactoryTarget.Component });
3138
- FormValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: FormValidationSummaryComponent, selector: "anatoly-form-validation-summary", inputs: { visible: "visible", customerrors: "customerrors", viewtype: "viewtype" }, usesInheritance: true, ngImport: i0, template: "<div class=\"callout callout-danger\" *ngIf=\"visible\">\r\n <h6 class=\"box-title\">There are problems with the form</h6>\r\n <ul>\r\n <li *ngFor=\"let error of getErrors()\"><span>{{error}}</span></li>\r\n </ul>\r\n</div>\r\n\r\n", dependencies: [{ kind: "directive", type: i1$6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
3161
+ FormValidationSummaryComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.0.6", type: FormValidationSummaryComponent, selector: "anatoly-form-validation-summary", inputs: { visible: "visible", customerrors: "customerrors", viewtype: "viewtype" }, usesInheritance: true, ngImport: i0, template: "<div class=\"callout callout-danger\" *ngIf=\"visible\">\r\n <h6 class=\"box-title\">There are problems with the form</h6>\r\n <ul>\r\n <li *ngFor=\"let error of getErrors()\"><span>{{error}}</span></li>\r\n </ul>\r\n</div>\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"] }] });
3139
3162
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: FormValidationSummaryComponent, decorators: [{
3140
3163
  type: Component,
3141
3164
  args: [{ selector: "anatoly-form-validation-summary", template: "<div class=\"callout callout-danger\" *ngIf=\"visible\">\r\n <h6 class=\"box-title\">There are problems with the form</h6>\r\n <ul>\r\n <li *ngFor=\"let error of getErrors()\"><span>{{error}}</span></li>\r\n </ul>\r\n</div>\r\n\r\n" }]
@@ -3162,7 +3185,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
3162
3185
  Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3163
3186
  </file>
3164
3187
  */
3165
- class ContactUsForm extends BaseEditComponent$1 {
3188
+ class ContactUsForm extends BaseEditComponent {
3166
3189
  constructor(fb, appContext, api, notificationService) {
3167
3190
  super();
3168
3191
  this.fb = fb;
@@ -3239,12 +3262,12 @@ class ContactUsForm extends BaseEditComponent$1 {
3239
3262
  this.selectedTopic = event.target.value;
3240
3263
  }
3241
3264
  }
3242
- ContactUsForm.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsForm, deps: [{ token: i1$7.FormBuilder }, { token: i2$1.AppContextService }, { token: i3.EmailsApiService }, { token: i4.NotificationService }], target: i0.ɵɵFactoryTarget.Component });
3243
- 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$6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i1$6.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i1$6.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"] }] });
3265
+ 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 });
3266
+ 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"] }] });
3244
3267
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: ContactUsForm, decorators: [{
3245
3268
  type: Component,
3246
3269
  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" }]
3247
- }], ctorParameters: function () { return [{ type: i1$7.FormBuilder }, { type: i2$1.AppContextService }, { type: i3.EmailsApiService }, { type: i4.NotificationService }]; }, propDecorators: { showActionButtons: [{
3270
+ }], ctorParameters: function () { return [{ type: i1$6.FormBuilder }, { type: AppContextService }, { type: EmailsApiService }, { type: NotificationService }]; }, propDecorators: { showActionButtons: [{
3248
3271
  type: Input
3249
3272
  }], submit: [{
3250
3273
  type: Output
@@ -3424,42 +3447,6 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
3424
3447
  }] }];
3425
3448
  } });
3426
3449
 
3427
- /*
3428
- <file>
3429
- Project:
3430
- @osovitny/anatoly
3431
-
3432
- Authors:
3433
- Vadim Osovitny
3434
- Anatoly Osovitny
3435
-
3436
- Created:
3437
- 16 Jun 2022
3438
-
3439
- Copyright (c) 2016-2022 Osovitny Inc. All rights reserved.
3440
- </file>
3441
- */
3442
- class EmailsApiService extends BaseApiService$1 {
3443
- constructor(http) {
3444
- super(http);
3445
- this.http = http;
3446
- }
3447
- sendContactUs(captcha, name, email, topic, subject, message, success, error) {
3448
- return this.post('sendContactUs', { captcha, name, email, topic, subject, message }).subscribe(data => {
3449
- if (success)
3450
- success(data);
3451
- }, e => {
3452
- if (error)
3453
- error(e);
3454
- });
3455
- }
3456
- }
3457
- EmailsApiService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, deps: [{ token: i1$3.HttpClient }], target: i0.ɵɵFactoryTarget.Injectable });
3458
- EmailsApiService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService });
3459
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: EmailsApiService, decorators: [{
3460
- type: Injectable
3461
- }], ctorParameters: function () { return [{ type: i1$3.HttpClient }]; } });
3462
-
3463
3450
  /*
3464
3451
  <file>
3465
3452
  Project:
@@ -3477,7 +3464,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.0.6", ngImpor
3477
3464
  */
3478
3465
  class AnatolyDataModule {
3479
3466
  constructor(parentModule) {
3480
- throwIfAlreadyLoaded$1(parentModule, 'AnatolyDataModule');
3467
+ throwIfAlreadyLoaded(parentModule, 'AnatolyDataModule');
3481
3468
  }
3482
3469
  }
3483
3470
  AnatolyDataModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.0.6", ngImport: i0, type: AnatolyDataModule, deps: [{ token: AnatolyDataModule, optional: true, skipSelf: true }], target: i0.ɵɵFactoryTarget.NgModule });
@@ -3549,7 +3536,7 @@ AnatolyUIModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version
3549
3536
  ItemValidationSummaryComponent], imports: [CommonModule,
3550
3537
  ReactiveFormsModule,
3551
3538
  FormsModule,
3552
- NgxCaptchaModule, i1$8.FroalaEditorModule, i1$8.FroalaViewModule], exports: [SubscribePlanButtonComponent,
3539
+ NgxCaptchaModule, i1$7.FroalaEditorModule, i1$7.FroalaViewModule], exports: [SubscribePlanButtonComponent,
3553
3540
  UpgradePlanButtonComponent,
3554
3541
  BuyAccessButtonComponent,
3555
3542
  SignInButtonComponent,