@osovitny/anatoly 3.17.149 → 3.17.151

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.
@@ -810,7 +810,104 @@ const GABillingEvents = {
810
810
 
811
811
  Authors:
812
812
  Vadim Osovitny vadim.osovitny@osovitny.com
813
- Anatoly Osovitny anatoly.osovitny@osovitny.com
813
+
814
+ Created:
815
+ 09 Feb 2024
816
+
817
+ Sources:
818
+ https://playcode.io/javascript
819
+ https://github.com/date-fns/date-fns/blob/main/src/isDate/index.ts
820
+ https://github.com/date-fns/date-fns/blob/main/src/isValid/index.ts
821
+
822
+ Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
823
+ </file>
824
+ */
825
+ class is {
826
+ /**
827
+ * @name isDate
828
+ * @summary Is the given value a date?
829
+ */
830
+ static date(value) {
831
+ return (value instanceof Date ||
832
+ (typeof value === "object" && Object.prototype.toString.call(value) === "[object Date]"));
833
+ }
834
+ /**
835
+ * @name isDateValid
836
+ * @summary Is the given date valid?
837
+ */
838
+ static dateValid(date) {
839
+ if (!is.date(date) && typeof date !== "number") {
840
+ return false;
841
+ }
842
+ let d = new Date(date);
843
+ return !isNaN(Number(d));
844
+ }
845
+ static dateInvalid(date) {
846
+ return !is.dateValid(date);
847
+ }
848
+ static objectNullOrEmpty(obj) {
849
+ return !obj || Object.keys(obj).length == 0;
850
+ }
851
+ static string(value) {
852
+ return (typeof value === 'string' || value instanceof String);
853
+ }
854
+ static emptyString(value) {
855
+ return (is.string(value) && (value.length == 0));
856
+ }
857
+ static notEmptyString(value) {
858
+ return (is.string(value) && (value.length > 0));
859
+ }
860
+ static number(value) {
861
+ return (typeof value === 'number');
862
+ }
863
+ static boolean(value) {
864
+ return (typeof value === 'boolean');
865
+ }
866
+ static array(value) {
867
+ return (value instanceof Array);
868
+ }
869
+ static emptyArray(value) {
870
+ return (is.array(value) && (value.length == 0));
871
+ }
872
+ static notEmptyArray(value) {
873
+ return (is.array(value) && (value.length > 0));
874
+ }
875
+ static undefined(value) {
876
+ return (typeof value === 'undefined');
877
+ }
878
+ }
879
+ /*
880
+ is = {
881
+ DONE string: function (obj) { return (typeof obj === 'string'); },
882
+ DONE emptyString: function (obj) { return (is.string(obj) && (obj.length == 0)); },
883
+ DONE nonEmptyString: function (obj) { return (is.string(obj) && (obj.length > 0)); },
884
+ DONE number: function (obj) { return (typeof obj === 'number'); },
885
+ DONE bool: function (obj) { return (typeof obj === 'boolean'); },
886
+ DONE array: function (obj) { return (obj instanceof Array); },
887
+ DONE emptyArray: function (obj) { return (is.array(obj) && (obj.length == 0)); },
888
+ DONE notEmptyArray: function (obj) { return (is.array(obj) && (obj.length > 0)); },
889
+ DONE undefined: function (obj) { return (typeof obj === 'undefined'); },
890
+
891
+ 'null': function (obj) { return (obj === null); },
892
+ notNull: function (obj) { return (obj !== null); },
893
+ invalid: function (obj) { return (is['null'](obj) || is.undefined(obj)); },
894
+ valid: function (obj) { return (!is['null'](obj) && !is.undefined(obj)); },
895
+
896
+ document: function (obj) { return (obj === document); },
897
+ window: function (obj) { return (obj === window); },
898
+ element: function (obj) { return (obj instanceof HTMLElement); },
899
+ event: function (obj) { return (obj instanceof Event); },
900
+ link: function (obj) { return (is.element(obj) && (obj.tagName == 'A')); }
901
+ };
902
+ */
903
+
904
+ /*
905
+ <file>
906
+ Project:
907
+ @osovitny/anatoly
908
+
909
+ Authors:
910
+ Vadim Osovitny vadim.osovitny@osovitny.com
814
911
 
815
912
  Created:
816
913
  29 June 2020
@@ -884,19 +981,25 @@ class Convert {
884
981
  return `${address.street} ${address.street2} ${address.city} ${address.stateOrRegion} ${address.zipcode} ${address.country}`;
885
982
  }
886
983
  static stringToBoolean(value) {
887
- switch (value.toLowerCase().trim()) {
888
- case "true":
889
- case "yes":
890
- case "1":
891
- return true;
892
- case "false":
893
- case "no":
894
- case "0":
895
- case null:
896
- return false;
897
- default:
898
- return Boolean(value);
984
+ if (value) {
985
+ if (is.boolean(value)) {
986
+ return value;
987
+ }
988
+ if (is.string(value)) {
989
+ switch (value.toLowerCase().trim()) {
990
+ case "true":
991
+ case "yes":
992
+ case "1":
993
+ return true;
994
+ case "false":
995
+ case "no":
996
+ case "0":
997
+ case null:
998
+ return false;
999
+ }
1000
+ }
899
1001
  }
1002
+ return false;
900
1003
  }
901
1004
  }
902
1005
 
@@ -2493,105 +2596,6 @@ function throwIfAlreadyLoaded(parentModule, moduleName) {
2493
2596
  }
2494
2597
  }
2495
2598
 
2496
- /*
2497
- <file>
2498
- Project:
2499
- @osovitny/anatoly
2500
-
2501
- Authors:
2502
- Vadim Osovitny vadim.osovitny@osovitny.com
2503
- Anatoly Osovitny anatoly.osovitny@osovitny.com
2504
-
2505
- Created:
2506
- 09 Feb 2024
2507
-
2508
- Sources:
2509
- https://playcode.io/javascript
2510
- https://github.com/date-fns/date-fns/blob/main/src/isDate/index.ts
2511
- https://github.com/date-fns/date-fns/blob/main/src/isValid/index.ts
2512
-
2513
- Copyright (c) 2016-2025 Osovitny Inc. All rights reserved.
2514
- </file>
2515
- */
2516
- class is {
2517
- /**
2518
- * @name isDate
2519
- * @summary Is the given value a date?
2520
- */
2521
- static date(value) {
2522
- return (value instanceof Date ||
2523
- (typeof value === "object" && Object.prototype.toString.call(value) === "[object Date]"));
2524
- }
2525
- /**
2526
- * @name isDateValid
2527
- * @summary Is the given date valid?
2528
- */
2529
- static dateValid(date) {
2530
- if (!is.date(date) && typeof date !== "number") {
2531
- return false;
2532
- }
2533
- let d = new Date(date);
2534
- return !isNaN(Number(d));
2535
- }
2536
- static dateInvalid(date) {
2537
- return !is.dateValid(date);
2538
- }
2539
- static objectNullOrEmpty(obj) {
2540
- return !obj || Object.keys(obj).length == 0;
2541
- }
2542
- static string(value) {
2543
- return (typeof value === 'string' || value instanceof String);
2544
- }
2545
- static emptyString(value) {
2546
- return (is.string(value) && (value.length == 0));
2547
- }
2548
- static notEmptyString(value) {
2549
- return (is.string(value) && (value.length > 0));
2550
- }
2551
- static number(value) {
2552
- return (typeof value === 'number');
2553
- }
2554
- static boolean(value) {
2555
- return (typeof value === 'boolean');
2556
- }
2557
- static array(value) {
2558
- return (value instanceof Array);
2559
- }
2560
- static emptyArray(value) {
2561
- return (is.array(value) && (value.length == 0));
2562
- }
2563
- static notEmptyArray(value) {
2564
- return (is.array(value) && (value.length > 0));
2565
- }
2566
- static undefined(value) {
2567
- return (typeof value === 'undefined');
2568
- }
2569
- }
2570
- /*
2571
- is = {
2572
- DONE string: function (obj) { return (typeof obj === 'string'); },
2573
- DONE emptyString: function (obj) { return (is.string(obj) && (obj.length == 0)); },
2574
- DONE nonEmptyString: function (obj) { return (is.string(obj) && (obj.length > 0)); },
2575
- DONE number: function (obj) { return (typeof obj === 'number'); },
2576
- DONE bool: function (obj) { return (typeof obj === 'boolean'); },
2577
- DONE array: function (obj) { return (obj instanceof Array); },
2578
- DONE emptyArray: function (obj) { return (is.array(obj) && (obj.length == 0)); },
2579
- DONE notEmptyArray: function (obj) { return (is.array(obj) && (obj.length > 0)); },
2580
- DONE undefined: function (obj) { return (typeof obj === 'undefined'); },
2581
-
2582
- 'null': function (obj) { return (obj === null); },
2583
- notNull: function (obj) { return (obj !== null); },
2584
- invalid: function (obj) { return (is['null'](obj) || is.undefined(obj)); },
2585
- valid: function (obj) { return (!is['null'](obj) && !is.undefined(obj)); },
2586
-
2587
- document: function (obj) { return (obj === document); },
2588
- window: function (obj) { return (obj === window); },
2589
- element: function (obj) { return (obj instanceof HTMLElement); },
2590
- event: function (obj) { return (obj instanceof Event); },
2591
- link: function (obj) { return (is.element(obj) && (obj.tagName == 'A')); }
2592
- };
2593
- */
2594
-
2595
2599
  class StarterService extends ApiServiceBase {
2596
2600
  constructor(http, appContext, logger) {
2597
2601
  super(http);
@@ -9381,7 +9385,7 @@ class AddressComponent extends EditComponentBase {
9381
9385
  this.change.emit(usState);
9382
9386
  }
9383
9387
  static { this.ɵfac = function AddressComponent_Factory(t) { return new (t || AddressComponent)(i0.ɵɵdirectiveInject(i2.FormBuilder), i0.ɵɵdirectiveInject(CoreApiService)); }; }
9384
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressComponent, selectors: [["anatoly-forms-address"]], inputs: { address: "address" }, outputs: { change: "change" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 30, vars: 29, consts: [["classes", "card-outline card-primary"], [3, "title", 4, "ngIf"], [3, "formGroup"], [1, "row>"], [1, "form-group", 3, "ngClass"], ["type", "text", "formControlName", "address_street", "placeholder", "Street Address", 1, "form-control"], ["controlName", "address_street", "controlTitle", "Street", 3, "formGroup", "formSubmitted"], ["type", "text", "formControlName", "address_street2", "placeholder", "Apartment, suite, unit, building, floor, etc.", 1, "form-control"], ["controlName", "address_street2", "controlTitle", "Street2", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-3", "mb-0", 3, "ngClass"], ["type", "text", "formControlName", "address_city", "placeholder", "City", 1, "form-control"], ["controlName", "address_city", "controlTitle", "City", 3, "formGroup", "formSubmitted"], ["class", "form-group col-3 mb-0", 3, "ngClass", 4, "ngIf"], ["type", "text", "formControlName", "address_zipcode", "placeholder", "zipcode", 1, "form-control"], ["controlName", "address_zipcode", "controlTitle", "zipcode", 3, "formGroup", "formSubmitted"], ["formControlName", "address_country", "data-placeholder", "Select a Country", 1, "form-control", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], ["controlName", "address_country", "controlTitle", "Country", 3, "formGroup", "formSubmitted"], [3, "title"], ["formControlName", "address_stateOrRegion", 1, "form-control", 3, "change"], ["controlName", "address_stateOrRegion", "controlTitle", "State", 3, "formGroup", "formSubmitted"], [3, "value"]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
9388
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: AddressComponent, selectors: [["anatoly-forms-address"]], inputs: { address: "address" }, outputs: { change: "change" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 30, vars: 29, consts: [["classes", "card-outline card-primary"], [3, "title", 4, "ngIf"], [3, "formGroup"], [1, "row"], [1, "form-group", 3, "ngClass"], ["type", "text", "formControlName", "address_street", "placeholder", "Street Address", 1, "form-control"], ["controlName", "address_street", "controlTitle", "Street", 3, "formGroup", "formSubmitted"], ["type", "text", "formControlName", "address_street2", "placeholder", "Apartment, suite, unit, building, floor, etc.", 1, "form-control"], ["controlName", "address_street2", "controlTitle", "Street2", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-3", "mb-0", 3, "ngClass"], ["type", "text", "formControlName", "address_city", "placeholder", "City", 1, "form-control"], ["controlName", "address_city", "controlTitle", "City", 3, "formGroup", "formSubmitted"], ["class", "form-group col-3 mb-0", 3, "ngClass", 4, "ngIf"], ["type", "text", "formControlName", "address_zipcode", "placeholder", "zipcode", 1, "form-control"], ["controlName", "address_zipcode", "controlTitle", "zipcode", 3, "formGroup", "formSubmitted"], ["formControlName", "address_country", "data-placeholder", "Select a Country", 1, "form-control", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], ["controlName", "address_country", "controlTitle", "Country", 3, "formGroup", "formSubmitted"], [3, "title"], ["formControlName", "address_stateOrRegion", 1, "form-control", 3, "change"], ["controlName", "address_stateOrRegion", "controlTitle", "State", 3, "formGroup", "formSubmitted"], [3, "value"]], template: function AddressComponent_Template(rf, ctx) { if (rf & 1) {
9385
9389
  i0.ɵɵelementStart(0, "anatoly-card", 0);
9386
9390
  i0.ɵɵtemplate(1, AddressComponent_anatoly_card_header_1_Template, 1, 1, "anatoly-card-header", 1);
9387
9391
  i0.ɵɵelementStart(2, "anatoly-card-body", 2)(3, "div", 3)(4, "div", 4)(5, "label");
@@ -9445,7 +9449,7 @@ class AddressComponent extends EditComponentBase {
9445
9449
  }
9446
9450
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(AddressComponent, [{
9447
9451
  type: Component,
9448
- args: [{ selector: 'anatoly-forms-address', template: "<anatoly-card classes='card-outline card-primary'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title' />\r\n <anatoly-card-body [formGroup]='formGroup'>\r\n <div class=\"row>\">\r\n <div class='form-group' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label>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 <div class='form-group' [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 </div>\r\n <div class=\"row>\">\r\n <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label>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 <div class='form-group col-3 mb-0' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label>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 <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label>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 <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label>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" }]
9452
+ args: [{ selector: 'anatoly-forms-address', template: "<anatoly-card classes='card-outline card-primary'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title' />\r\n <anatoly-card-body [formGroup]='formGroup'>\r\n <div class=\"row\">\r\n <div class='form-group' [ngClass]=\"{'has-error': isControlInvalid('address_street')}\" >\r\n <label>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 <div class='form-group' [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 </div>\r\n <div class=\"row\">\r\n <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_city')}\">\r\n <label>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 <div class='form-group col-3 mb-0' *ngIf=\"formGroup.value.address_country == 'US'\" [ngClass]=\"{'has-error': isControlInvalid('address_stateOrRegion')}\">\r\n <label>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 <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_zipcode')}\" >\r\n <label>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 <div class='form-group col-3 mb-0' [ngClass]=\"{'has-error': isControlInvalid('address_country')}\">\r\n <label>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" }]
9449
9453
  }], () => [{ type: i2.FormBuilder }, { type: CoreApiService }], { address: [{
9450
9454
  type: Input
9451
9455
  }], change: [{
@@ -9526,7 +9530,7 @@ class CompanyComponent extends EditComponentBase {
9526
9530
  return JSON.stringify(data);
9527
9531
  }
9528
9532
  static { this.ɵfac = function CompanyComponent_Factory(t) { return new (t || CompanyComponent)(i0.ɵɵdirectiveInject(i2.FormBuilder)); }; }
9529
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CompanyComponent, selectors: [["anatoly-forms-company"]], inputs: { company: "company" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 25, vars: 22, consts: [["classes", "card-outline card-primary"], [3, "title", 4, "ngIf"], [3, "formGroup"], [1, "row>"], [1, "form-group", "col-6", 3, "ngClass"], ["type", "text", "formControlName", "company_name", "placeholder", "Company Name", 1, "form-control"], ["controlName", "company_name", "controlTitle", "Company Name", 3, "formGroup", "formSubmitted"], ["type", "tel", "formControlName", "company_phone", "placeholder", "Company Phone", 1, "form-control"], ["controlName", "company_phone", "controlTitle", "Company Phone", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-6", "mb-0", 3, "ngClass"], ["type", "email", "formControlName", "company_email", "placeholder", "Company Email", 1, "form-control"], ["controlName", "company_email", "controlTitle", "Company Email", 3, "formGroup", "formSubmitted"], ["type", "url", "placeholder", "https://example.com", "pattern", "https://.*", "size", "30", "formControlName", "company_websiteUrl", 1, "form-control"], ["controlName", "company_websiteUrl", "controlTitle", "Company website url", 3, "formGroup", "formSubmitted"], [3, "title"]], template: function CompanyComponent_Template(rf, ctx) { if (rf & 1) {
9533
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: CompanyComponent, selectors: [["anatoly-forms-company"]], inputs: { company: "company" }, features: [i0.ɵɵInheritDefinitionFeature], decls: 25, vars: 22, consts: [["classes", "card-outline card-primary"], [3, "title", 4, "ngIf"], [3, "formGroup"], [1, "row"], [1, "form-group", "col-6", 3, "ngClass"], ["type", "text", "formControlName", "company_name", "placeholder", "Company Name", 1, "form-control"], ["controlName", "company_name", "controlTitle", "Company Name", 3, "formGroup", "formSubmitted"], ["type", "tel", "formControlName", "company_phone", "placeholder", "Company Phone", 1, "form-control"], ["controlName", "company_phone", "controlTitle", "Company Phone", 3, "formGroup", "formSubmitted"], [1, "form-group", "col-6", "mb-0", 3, "ngClass"], ["type", "email", "formControlName", "company_email", "placeholder", "Company Email", 1, "form-control"], ["controlName", "company_email", "controlTitle", "Company Email", 3, "formGroup", "formSubmitted"], ["type", "url", "placeholder", "https://example.com", "pattern", "https://.*", "size", "30", "formControlName", "company_websiteUrl", 1, "form-control"], ["controlName", "company_websiteUrl", "controlTitle", "Company website url", 3, "formGroup", "formSubmitted"], [3, "title"]], template: function CompanyComponent_Template(rf, ctx) { if (rf & 1) {
9530
9534
  i0.ɵɵelementStart(0, "anatoly-card", 0);
9531
9535
  i0.ɵɵtemplate(1, CompanyComponent_anatoly_card_header_1_Template, 1, 1, "anatoly-card-header", 1);
9532
9536
  i0.ɵɵelementStart(2, "anatoly-card-body", 2)(3, "div", 3)(4, "div", 4)(5, "label");
@@ -9574,7 +9578,7 @@ class CompanyComponent extends EditComponentBase {
9574
9578
  }
9575
9579
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(CompanyComponent, [{
9576
9580
  type: Component,
9577
- args: [{ selector: 'anatoly-forms-company', template: "<anatoly-card classes='card-outline card-primary'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title' />\r\n <anatoly-card-body [formGroup]='formGroup' >\r\n <div class=\"row>\">\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_name') }\">\r\n <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>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>\r\n <div class=\"row>\">\r\n <div class='form-group col-6 mb-0' [ngClass]=\"{'has-error': isControlInvalid('company_email') }\">\r\n <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 mb-0' [ngClass]=\"{'has-error': isControlInvalid('company_websiteUrl') }\">\r\n <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 </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
9581
+ args: [{ selector: 'anatoly-forms-company', template: "<anatoly-card classes='card-outline card-primary'>\r\n <anatoly-card-header *ngIf='isTitleVisible' [title]='title' />\r\n <anatoly-card-body [formGroup]='formGroup' >\r\n <div class=\"row\">\r\n <div class='form-group col-6' [ngClass]=\"{'has-error': isControlInvalid('company_name') }\">\r\n <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>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>\r\n <div class=\"row\">\r\n <div class='form-group col-6 mb-0' [ngClass]=\"{'has-error': isControlInvalid('company_email') }\">\r\n <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 mb-0' [ngClass]=\"{'has-error': isControlInvalid('company_websiteUrl') }\">\r\n <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 </div>\r\n </anatoly-card-body>\r\n</anatoly-card>\r\n" }]
9578
9582
  }], () => [{ type: i2.FormBuilder }], { company: [{
9579
9583
  type: Input
9580
9584
  }] }); })();