taxtank-core 0.31.26 → 0.31.28

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (60) hide show
  1. package/esm2020/lib/collections/user-event-type-collection.mjs +5 -1
  2. package/esm2020/lib/db/Models/client/annual-client-details.mjs +1 -1
  3. package/esm2020/lib/db/Models/client/client-details.mjs +1 -1
  4. package/esm2020/lib/forms/report/my-tax/my-tax-medicare.form.mjs +10 -5
  5. package/esm2020/lib/interfaces/index.mjs +2 -2
  6. package/esm2020/lib/interfaces/mp-trackable.interface.mjs +2 -0
  7. package/esm2020/lib/models/budget/budget.mjs +4 -1
  8. package/esm2020/lib/models/client/annual-client-details.mjs +13 -1
  9. package/esm2020/lib/models/client/client-income-types.mjs +4 -1
  10. package/esm2020/lib/models/dictionary/dictionary.mjs +8 -1
  11. package/esm2020/lib/models/user/user.mjs +7 -2
  12. package/esm2020/lib/models/user-event/user-event-setting.mjs +4 -1
  13. package/esm2020/lib/models/user-event/user-event-type.mjs +6 -2
  14. package/esm2020/lib/services/auth/auth.service.mjs +15 -5
  15. package/esm2020/lib/services/http/facebook/facebook.service.mjs +8 -4
  16. package/esm2020/lib/services/http/google/google.service.mjs +8 -4
  17. package/esm2020/lib/services/http/property/property-category-movement/property-category-movement.service.mjs +4 -1
  18. package/esm2020/lib/services/http/rest/rest-old.service.mjs +4 -2
  19. package/esm2020/lib/services/http/rest/rest.service.mjs +11 -2
  20. package/esm2020/lib/services/http/user/financial-year/financial-year.service.mjs +7 -4
  21. package/esm2020/lib/services/http/user/user-event-setting/user-event-setting.service.mjs +7 -34
  22. package/esm2020/lib/services/http/user/user-event-type/user-event-type.service.mjs +7 -4
  23. package/esm2020/lib/services/http/user/user.service.mjs +40 -7
  24. package/esm2020/lib/services/index.mjs +2 -1
  25. package/esm2020/lib/services/mixpanel/mixpanel.service.mjs +47 -0
  26. package/fesm2015/taxtank-core.mjs +289 -162
  27. package/fesm2015/taxtank-core.mjs.map +1 -1
  28. package/fesm2020/taxtank-core.mjs +287 -162
  29. package/fesm2020/taxtank-core.mjs.map +1 -1
  30. package/lib/collections/user-event-type-collection.d.ts +2 -0
  31. package/lib/db/Models/client/annual-client-details.d.ts +2 -0
  32. package/lib/db/Models/client/client-details.d.ts +0 -5
  33. package/lib/forms/report/my-tax/my-tax-medicare.form.d.ts +6 -3
  34. package/lib/interfaces/index.d.ts +1 -1
  35. package/lib/interfaces/mp-trackable.interface.d.ts +5 -0
  36. package/lib/models/budget/budget.d.ts +3 -1
  37. package/lib/models/client/annual-client-details.d.ts +12 -1
  38. package/lib/models/client/client-income-types.d.ts +8 -1
  39. package/lib/models/dictionary/dictionary.d.ts +2 -0
  40. package/lib/models/user/user.d.ts +7 -3
  41. package/lib/models/user-event/user-event-setting.d.ts +8 -1
  42. package/lib/models/user-event/user-event-type.d.ts +1 -0
  43. package/lib/services/auth/auth.service.d.ts +3 -1
  44. package/lib/services/http/facebook/facebook.service.d.ts +3 -1
  45. package/lib/services/http/google/google.service.d.ts +3 -1
  46. package/lib/services/http/property/property-category-movement/property-category-movement.service.d.ts +2 -0
  47. package/lib/services/http/rest/rest-old.service.d.ts +2 -0
  48. package/lib/services/http/rest/rest.service.d.ts +2 -0
  49. package/lib/services/http/user/financial-year/financial-year.service.d.ts +3 -1
  50. package/lib/services/http/user/user-event-setting/user-event-setting.service.d.ts +7 -9
  51. package/lib/services/http/user/user-event-type/user-event-type.service.d.ts +7 -4
  52. package/lib/services/index.d.ts +1 -0
  53. package/lib/services/mixpanel/mixpanel.service.d.ts +16 -0
  54. package/package.json +3 -1
  55. package/esm2020/lib/interfaces/table-exportable.interface.mjs +0 -2
  56. package/esm2020/lib/models/export/export-row-data-type.enum.mjs +0 -10
  57. package/esm2020/lib/models/export/export-row.mjs +0 -6
  58. package/lib/interfaces/table-exportable.interface.d.ts +0 -7
  59. package/lib/models/export/export-row-data-type.enum.d.ts +0 -8
  60. package/lib/models/export/export-row.d.ts +0 -8
@@ -1,5 +1,5 @@
1
1
  import * as i0 from '@angular/core';
2
- import { Injectable, Inject, EventEmitter, NgModule } from '@angular/core';
2
+ import { Injectable, Inject, inject, EventEmitter, NgModule } from '@angular/core';
3
3
  import * as i1$1 from '@angular/common';
4
4
  import { CommonModule, DatePipe } from '@angular/common';
5
5
  import * as i1 from '@angular/common/http';
@@ -27,6 +27,7 @@ import compact from 'lodash/compact';
27
27
  import concat from 'lodash/concat';
28
28
  import cloneDeep$1 from 'lodash/cloneDeep';
29
29
  import clone from 'lodash/clone';
30
+ import * as mixpanel from 'mixpanel-browser';
30
31
  import { EventSourcePolyfill } from 'event-source-polyfill/src/eventsource.min.js';
31
32
  import { JwtHelperService } from '@auth0/angular-jwt';
32
33
  import * as i4 from '@angular/router';
@@ -3867,6 +3868,18 @@ class AnnualClientDetails extends AbstractModel {
3867
3868
  get spouseMonthlyIncome() {
3868
3869
  return this.spouseAnnualIncome / 12;
3869
3870
  }
3871
+ get mpData() {
3872
+ return {
3873
+ capitalLoss: this.capitalLoss,
3874
+ privateHealthCare: this.privateHealthCare,
3875
+ spouse: this.spouse,
3876
+ dependants: this.dependants,
3877
+ studentLoanAmount: this.studentLoanAmount,
3878
+ financialYear: this.financialYear,
3879
+ reportableFringeBenefits: this.reportableFringeBenefits,
3880
+ exemptForeignEmploymentIncome: this.exemptForeignEmploymentIncome,
3881
+ };
3882
+ }
3870
3883
  }
3871
3884
  __decorate([
3872
3885
  Type(() => ClientDetails)
@@ -3879,6 +3892,9 @@ class ClientIncomeTypes extends ClientIncomeTypes$1 {
3879
3892
  get length() {
3880
3893
  return Object.values(this).filter((value) => typeof value === 'boolean' && value).length;
3881
3894
  }
3895
+ get mpData() {
3896
+ return { work: this.work, property: this.property, sole: this.sole, holding: this.holdings };
3897
+ }
3882
3898
  }
3883
3899
 
3884
3900
  var ClientInviteStatusEnum;
@@ -4408,6 +4424,105 @@ __decorate([
4408
4424
  Type(() => Firm)
4409
4425
  ], EmployeeDetails.prototype, "firm", void 0);
4410
4426
 
4427
+ class ServicePayment extends ServicePayment$1 {
4428
+ /**
4429
+ * Stripe stores actual links to payment invoices for 30 days.
4430
+ * Link expires after 30 days
4431
+ */
4432
+ isInvoiceLinkExpired() {
4433
+ const expirationDate = new Date(this.date.setDate(this.date.getDate() + ServicePayment.daysToInvoiceUrlExpired));
4434
+ return expirationDate.getTime() < new Date().getTime();
4435
+ }
4436
+ }
4437
+ ServicePayment.daysToInvoiceUrlExpired = 30;
4438
+ __decorate([
4439
+ Type(() => ServiceSubscription)
4440
+ ], ServicePayment.prototype, "subscription", void 0);
4441
+ __decorate([
4442
+ Type(() => Date)
4443
+ ], ServicePayment.prototype, "date", void 0);
4444
+
4445
+ let ServicePaymentMethod$1 = class ServicePaymentMethod extends AbstractModel {
4446
+ };
4447
+
4448
+ var PaymentMethodBrandEnum;
4449
+ (function (PaymentMethodBrandEnum) {
4450
+ PaymentMethodBrandEnum["UNKNOWN"] = "Unknown";
4451
+ PaymentMethodBrandEnum["AMEX"] = "American Express";
4452
+ PaymentMethodBrandEnum["DINERS"] = "Diners Club";
4453
+ PaymentMethodBrandEnum["DISCOVER"] = "Discover";
4454
+ PaymentMethodBrandEnum["JCB"] = "JCB";
4455
+ PaymentMethodBrandEnum["MASTERCARD"] = "Mastercard";
4456
+ PaymentMethodBrandEnum["UNIONPAY"] = "UnionPay";
4457
+ PaymentMethodBrandEnum["VISA"] = "Visa";
4458
+ })(PaymentMethodBrandEnum || (PaymentMethodBrandEnum = {}));
4459
+
4460
+ var ServicePaymentMethodCardBrandEnum;
4461
+ (function (ServicePaymentMethodCardBrandEnum) {
4462
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNKNOWN"] = 0] = "UNKNOWN";
4463
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["AMEX"] = 1] = "AMEX";
4464
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DINERS"] = 2] = "DINERS";
4465
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DISCOVER"] = 3] = "DISCOVER";
4466
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["JCB"] = 4] = "JCB";
4467
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["MASTERCARD"] = 5] = "MASTERCARD";
4468
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNIONPAY"] = 6] = "UNIONPAY";
4469
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["VISA"] = 7] = "VISA";
4470
+ })(ServicePaymentMethodCardBrandEnum || (ServicePaymentMethodCardBrandEnum = {}));
4471
+
4472
+ var ServicePaymentMethodTypeEnum;
4473
+ (function (ServicePaymentMethodTypeEnum) {
4474
+ ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["AU_BECS_DEBIT"] = 1] = "AU_BECS_DEBIT";
4475
+ ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["CARD"] = 2] = "CARD";
4476
+ })(ServicePaymentMethodTypeEnum || (ServicePaymentMethodTypeEnum = {}));
4477
+
4478
+ class ServicePaymentMethod extends ServicePaymentMethod$1 {
4479
+ get logo() {
4480
+ if (!this.isCard()) {
4481
+ return null;
4482
+ }
4483
+ return `/assets/img/payment-methods/${this.cardBrand}.svg`;
4484
+ }
4485
+ get brandName() {
4486
+ return this.isCard() ? PaymentMethodBrandEnum[ServicePaymentMethodCardBrandEnum[this.cardBrand]] : 'BECS Direct Debit (AU)';
4487
+ }
4488
+ /**
4489
+ * Get expiration date formatted string (MM/YY)
4490
+ */
4491
+ get expirationDate() {
4492
+ if (!this.isCard()) {
4493
+ return null;
4494
+ }
4495
+ return `${('0' + this.cardExpirationMonth).slice(-2)}/${this.cardExpirationYear.toString().slice(-2)}`;
4496
+ }
4497
+ get description() {
4498
+ return `${this.brandName} ***${this.lastFourDigits}`;
4499
+ }
4500
+ isCard() {
4501
+ return this.type === ServicePaymentMethodTypeEnum.CARD;
4502
+ }
4503
+ }
4504
+
4505
+ /**
4506
+ * Enum with icon-names related to tank roles
4507
+ */
4508
+ var ServiceProductIconsEnum;
4509
+ (function (ServiceProductIconsEnum) {
4510
+ ServiceProductIconsEnum["ROLE_USER_WORK"] = "icon-case";
4511
+ ServiceProductIconsEnum["ROLE_USER_PROPERTY"] = "icon-property";
4512
+ ServiceProductIconsEnum["ROLE_USER_SOLE"] = "icon-sole-tank";
4513
+ ServiceProductIconsEnum["ROLE_USER_HOLDING"] = "icon-holding-tank";
4514
+ })(ServiceProductIconsEnum || (ServiceProductIconsEnum = {}));
4515
+
4516
+ /**
4517
+ * List of user roles related to tanks (subscription products)
4518
+ */
4519
+ const SERVICE_PRODUCT_ROLES = [
4520
+ UserRolesEnum.WORK_TANK,
4521
+ UserRolesEnum.PROPERTY_TANK,
4522
+ UserRolesEnum.SOLE_TANK,
4523
+ UserRolesEnum.HOLDING_TANK
4524
+ ];
4525
+
4411
4526
  class SoleBusinessAllocation extends SoleBusinessAllocation$1 {
4412
4527
  }
4413
4528
  __decorate([
@@ -5160,6 +5275,11 @@ class User extends User$1 {
5160
5275
  get financialYears() {
5161
5276
  return range(Math.min(FinancialYear.toFinYear(this.createdAt) - 1, 2022), FinancialYear.toFinYear(new Date()) + 1);
5162
5277
  }
5278
+ get mpData() {
5279
+ return {
5280
+ clientDetails: {}
5281
+ };
5282
+ }
5163
5283
  }
5164
5284
  __decorate([
5165
5285
  Type(() => ServiceSubscription)
@@ -7888,6 +8008,13 @@ class Dictionary {
7888
8008
  get(key) {
7889
8009
  return this.items[key] !== undefined ? this.items[key] : null;
7890
8010
  }
8011
+ merge(dictionary) {
8012
+ Object.assign(this.items, dictionary.items);
8013
+ return this;
8014
+ }
8015
+ toArray() {
8016
+ return Object.values(this.items);
8017
+ }
7891
8018
  groupItems(items, path) {
7892
8019
  items.forEach((item) => {
7893
8020
  let key = get(item, path);
@@ -8860,6 +8987,9 @@ class UserEventSettingCollection extends Collection {
8860
8987
  * Collection of user event settings
8861
8988
  */
8862
8989
  class UserEventTypeCollection extends Collection {
8990
+ toSettings() {
8991
+ return new UserEventSettingCollection(this.map((type) => type.toSetting()));
8992
+ }
8863
8993
  }
8864
8994
 
8865
8995
  class HoldingCollection extends ExportableCollection {
@@ -9719,105 +9849,6 @@ __decorate([
9719
9849
  })
9720
9850
  ], Notification.prototype, "redirectionLink", void 0);
9721
9851
 
9722
- class ServicePayment extends ServicePayment$1 {
9723
- /**
9724
- * Stripe stores actual links to payment invoices for 30 days.
9725
- * Link expires after 30 days
9726
- */
9727
- isInvoiceLinkExpired() {
9728
- const expirationDate = new Date(this.date.setDate(this.date.getDate() + ServicePayment.daysToInvoiceUrlExpired));
9729
- return expirationDate.getTime() < new Date().getTime();
9730
- }
9731
- }
9732
- ServicePayment.daysToInvoiceUrlExpired = 30;
9733
- __decorate([
9734
- Type(() => ServiceSubscription)
9735
- ], ServicePayment.prototype, "subscription", void 0);
9736
- __decorate([
9737
- Type(() => Date)
9738
- ], ServicePayment.prototype, "date", void 0);
9739
-
9740
- let ServicePaymentMethod$1 = class ServicePaymentMethod extends AbstractModel {
9741
- };
9742
-
9743
- var PaymentMethodBrandEnum;
9744
- (function (PaymentMethodBrandEnum) {
9745
- PaymentMethodBrandEnum["UNKNOWN"] = "Unknown";
9746
- PaymentMethodBrandEnum["AMEX"] = "American Express";
9747
- PaymentMethodBrandEnum["DINERS"] = "Diners Club";
9748
- PaymentMethodBrandEnum["DISCOVER"] = "Discover";
9749
- PaymentMethodBrandEnum["JCB"] = "JCB";
9750
- PaymentMethodBrandEnum["MASTERCARD"] = "Mastercard";
9751
- PaymentMethodBrandEnum["UNIONPAY"] = "UnionPay";
9752
- PaymentMethodBrandEnum["VISA"] = "Visa";
9753
- })(PaymentMethodBrandEnum || (PaymentMethodBrandEnum = {}));
9754
-
9755
- var ServicePaymentMethodCardBrandEnum;
9756
- (function (ServicePaymentMethodCardBrandEnum) {
9757
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNKNOWN"] = 0] = "UNKNOWN";
9758
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["AMEX"] = 1] = "AMEX";
9759
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DINERS"] = 2] = "DINERS";
9760
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DISCOVER"] = 3] = "DISCOVER";
9761
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["JCB"] = 4] = "JCB";
9762
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["MASTERCARD"] = 5] = "MASTERCARD";
9763
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNIONPAY"] = 6] = "UNIONPAY";
9764
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["VISA"] = 7] = "VISA";
9765
- })(ServicePaymentMethodCardBrandEnum || (ServicePaymentMethodCardBrandEnum = {}));
9766
-
9767
- var ServicePaymentMethodTypeEnum;
9768
- (function (ServicePaymentMethodTypeEnum) {
9769
- ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["AU_BECS_DEBIT"] = 1] = "AU_BECS_DEBIT";
9770
- ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["CARD"] = 2] = "CARD";
9771
- })(ServicePaymentMethodTypeEnum || (ServicePaymentMethodTypeEnum = {}));
9772
-
9773
- class ServicePaymentMethod extends ServicePaymentMethod$1 {
9774
- get logo() {
9775
- if (!this.isCard()) {
9776
- return null;
9777
- }
9778
- return `/assets/img/payment-methods/${this.cardBrand}.svg`;
9779
- }
9780
- get brandName() {
9781
- return this.isCard() ? PaymentMethodBrandEnum[ServicePaymentMethodCardBrandEnum[this.cardBrand]] : 'BECS Direct Debit (AU)';
9782
- }
9783
- /**
9784
- * Get expiration date formatted string (MM/YY)
9785
- */
9786
- get expirationDate() {
9787
- if (!this.isCard()) {
9788
- return null;
9789
- }
9790
- return `${('0' + this.cardExpirationMonth).slice(-2)}/${this.cardExpirationYear.toString().slice(-2)}`;
9791
- }
9792
- get description() {
9793
- return `${this.brandName} ***${this.lastFourDigits}`;
9794
- }
9795
- isCard() {
9796
- return this.type === ServicePaymentMethodTypeEnum.CARD;
9797
- }
9798
- }
9799
-
9800
- /**
9801
- * Enum with icon-names related to tank roles
9802
- */
9803
- var ServiceProductIconsEnum;
9804
- (function (ServiceProductIconsEnum) {
9805
- ServiceProductIconsEnum["ROLE_USER_WORK"] = "icon-case";
9806
- ServiceProductIconsEnum["ROLE_USER_PROPERTY"] = "icon-property";
9807
- ServiceProductIconsEnum["ROLE_USER_SOLE"] = "icon-sole-tank";
9808
- ServiceProductIconsEnum["ROLE_USER_HOLDING"] = "icon-holding-tank";
9809
- })(ServiceProductIconsEnum || (ServiceProductIconsEnum = {}));
9810
-
9811
- /**
9812
- * List of user roles related to tanks (subscription products)
9813
- */
9814
- const SERVICE_PRODUCT_ROLES = [
9815
- UserRolesEnum.WORK_TANK,
9816
- UserRolesEnum.PROPERTY_TANK,
9817
- UserRolesEnum.SOLE_TANK,
9818
- UserRolesEnum.HOLDING_TANK
9819
- ];
9820
-
9821
9852
  class DocumentFolder extends DocumentFolder$1 {
9822
9853
  }
9823
9854
 
@@ -10056,6 +10087,9 @@ class Budget extends Budget$1 {
10056
10087
  get rulesCollection() {
10057
10088
  return new Collection(this.rules);
10058
10089
  }
10090
+ get mpData() {
10091
+ return {};
10092
+ }
10059
10093
  }
10060
10094
  __decorate([
10061
10095
  Type(() => BudgetRule)
@@ -10208,6 +10242,50 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
10208
10242
  }]
10209
10243
  }] });
10210
10244
 
10245
+ /**
10246
+ * Service to work with mixpanel https://docs.mixpanel.com/docs/tracking/reference/javascript
10247
+ */
10248
+ class MixpanelService {
10249
+ constructor(environment) {
10250
+ this.environment = environment;
10251
+ }
10252
+ init() {
10253
+ if (!this.environment.enableMixpanel) {
10254
+ return;
10255
+ }
10256
+ mixpanel.init(this.environment.mixpanelToken);
10257
+ }
10258
+ identify(id) {
10259
+ if (!this.environment.enableMixpanel) {
10260
+ return;
10261
+ }
10262
+ mixpanel.identify(id);
10263
+ }
10264
+ reset() {
10265
+ if (!this.environment.enableMixpanel) {
10266
+ return;
10267
+ }
10268
+ mixpanel.reset();
10269
+ }
10270
+ track(event, properties = {}) {
10271
+ if (!this.environment.enableMixpanel) {
10272
+ return;
10273
+ }
10274
+ mixpanel.track(event, properties);
10275
+ }
10276
+ }
10277
+ MixpanelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MixpanelService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10278
+ MixpanelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MixpanelService, providedIn: 'root' });
10279
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MixpanelService, decorators: [{
10280
+ type: Injectable,
10281
+ args: [{
10282
+ providedIn: 'root'
10283
+ }]
10284
+ }], ctorParameters: function () { return [{ type: undefined, decorators: [{
10285
+ type: Inject,
10286
+ args: ['environment']
10287
+ }] }]; } });
10288
+
10211
10289
  /**
10212
10290
  * @TODO Alex (TT-1777): replace old logic with the new when all services ready
10213
10291
  * @TODO Alex (TT-1777): rename old logic and keep it for custom events
@@ -10347,6 +10425,7 @@ let RestService$1 = class RestService extends DataService {
10347
10425
  * @TODO Alex: disable batch by default
10348
10426
  */
10349
10427
  this.disabledMethods = [];
10428
+ this.mpService = inject(MixpanelService);
10350
10429
  this.roles = [];
10351
10430
  // @TODO Alex remove, bad idea to call empty method overrided in child (because it will be called with parent context)
10352
10431
  this.listenEvents();
@@ -10465,6 +10544,12 @@ let RestService$1 = class RestService extends DataService {
10465
10544
  * Handle response data - update cache and dispatch event if it is needed
10466
10545
  */
10467
10546
  handleResponse(response, method) {
10547
+ // not other way to check interface
10548
+ if ('mpData' in response[0]) {
10549
+ response.forEach((model) => {
10550
+ this.mpService.track(`${method}${this.modelClass.name}`, model['mpData']);
10551
+ });
10552
+ }
10468
10553
  if (this.getCache()) {
10469
10554
  this.updateCache(response, method);
10470
10555
  }
@@ -10478,6 +10563,7 @@ let RestService$1 = class RestService extends DataService {
10478
10563
  */
10479
10564
  updateCache(items, method) {
10480
10565
  let cache;
10566
+ // @TODO vik mp.track
10481
10567
  switch (method) {
10482
10568
  case 'post':
10483
10569
  cache = this.cache.push(...items);
@@ -11598,11 +11684,12 @@ class FacebookService {
11598
11684
  /**
11599
11685
  * @TODO when google login will be done, it needs to be moved to an abstract class
11600
11686
  */
11601
- constructor(http, toastService, jwtService, router, environment) {
11687
+ constructor(http, toastService, jwtService, router, mpService, environment) {
11602
11688
  this.http = http;
11603
11689
  this.toastService = toastService;
11604
11690
  this.jwtService = jwtService;
11605
11691
  this.router = router;
11692
+ this.mpService = mpService;
11606
11693
  this.environment = environment;
11607
11694
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
11608
11695
  this.isFacebookEnabled = !!environment['facebookAppId'];
@@ -11625,6 +11712,8 @@ class FacebookService {
11625
11712
  setAuth(response) {
11626
11713
  this.jwtService.saveTokens(response);
11627
11714
  this.isLoggedInSubject.next(true);
11715
+ this.mpService.identify(this.jwtService.getUser().id);
11716
+ this.mpService.track('loginFB');
11628
11717
  }
11629
11718
  /**
11630
11719
  * get facebook auth access token
@@ -11661,22 +11750,23 @@ FacebookService.authOptions = {
11661
11750
  auth_type: 'rerequest',
11662
11751
  return_scopes: true
11663
11752
  };
11664
- FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11753
+ FacebookService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: MixpanelService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11665
11754
  FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, providedIn: 'root' });
11666
11755
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, decorators: [{
11667
11756
  type: Injectable,
11668
11757
  args: [{
11669
11758
  providedIn: 'root'
11670
11759
  }]
11671
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: undefined, decorators: [{
11760
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: MixpanelService }, { type: undefined, decorators: [{
11672
11761
  type: Inject,
11673
11762
  args: ['environment']
11674
11763
  }] }]; } });
11675
11764
 
11676
11765
  class AuthService {
11677
- constructor(http, jwtService, environment) {
11766
+ constructor(http, jwtService, mpService, environment) {
11678
11767
  this.http = http;
11679
11768
  this.jwtService = jwtService;
11769
+ this.mpService = mpService;
11680
11770
  this.environment = environment;
11681
11771
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
11682
11772
  }
@@ -11687,7 +11777,12 @@ class AuthService {
11687
11777
  login(username, password) {
11688
11778
  return this.http.post(`${this.environment.apiV2}/login`, { username, password }).pipe(map((response) => {
11689
11779
  this.setAuth(response);
11780
+ this.mpService.identify(this.jwtService.getUser().id);
11781
+ this.mpService.track('login');
11690
11782
  return response;
11783
+ }), catchError((error) => {
11784
+ this.mpService.track('loginError', { username });
11785
+ return throwError(error);
11691
11786
  }));
11692
11787
  }
11693
11788
  refresh(refreshToken) {
@@ -11698,17 +11793,19 @@ class AuthService {
11698
11793
  }
11699
11794
  logoutFront(url = '/login') {
11700
11795
  localStorage.clear();
11796
+ this.mpService.track('logout');
11797
+ this.mpService.reset();
11701
11798
  location.replace(url);
11702
11799
  }
11703
11800
  }
11704
- AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11801
+ AuthService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, deps: [{ token: i1.HttpClient }, { token: JwtService }, { token: MixpanelService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11705
11802
  AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, providedIn: 'root' });
11706
11803
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, decorators: [{
11707
11804
  type: Injectable,
11708
11805
  args: [{
11709
11806
  providedIn: 'root'
11710
11807
  }]
11711
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: JwtService }, { type: undefined, decorators: [{
11808
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: JwtService }, { type: MixpanelService }, { type: undefined, decorators: [{
11712
11809
  type: Inject,
11713
11810
  args: ['environment']
11714
11811
  }] }]; } });
@@ -11719,11 +11816,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
11719
11816
  * https://developers.google.com/identity/gsi/web/guides/overview
11720
11817
  */
11721
11818
  class GoogleService {
11722
- constructor(http, toastService, jwtService, router, environment) {
11819
+ constructor(http, toastService, jwtService, router, mpService, environment) {
11723
11820
  this.http = http;
11724
11821
  this.toastService = toastService;
11725
11822
  this.jwtService = jwtService;
11726
11823
  this.router = router;
11824
+ this.mpService = mpService;
11727
11825
  this.environment = environment;
11728
11826
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
11729
11827
  this.isGoogleEnabled = !!this.environment['googleClientId'];
@@ -11756,6 +11854,8 @@ class GoogleService {
11756
11854
  .subscribe((response) => {
11757
11855
  this.jwtService.saveTokens(response);
11758
11856
  this.isLoggedInSubject.next(true);
11857
+ this.mpService.identify(this.jwtService.getUser().id);
11858
+ this.mpService.track('loginGoogle');
11759
11859
  this.router.navigate([redirectUrl]);
11760
11860
  }, (error) => {
11761
11861
  this.toastService.error(error.error.violations[0].message);
@@ -11771,14 +11871,14 @@ class GoogleService {
11771
11871
  google.accounts.id.disableAutoSelect();
11772
11872
  }
11773
11873
  }
11774
- GoogleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: GoogleService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11874
+ GoogleService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: GoogleService, deps: [{ token: i1.HttpClient }, { token: ToastService }, { token: JwtService }, { token: i4.Router }, { token: MixpanelService }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
11775
11875
  GoogleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: GoogleService, providedIn: 'root' });
11776
11876
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: GoogleService, decorators: [{
11777
11877
  type: Injectable,
11778
11878
  args: [{
11779
11879
  providedIn: 'root'
11780
11880
  }]
11781
- }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: undefined, decorators: [{
11881
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: MixpanelService }, { type: undefined, decorators: [{
11782
11882
  type: Inject,
11783
11883
  args: ['environment']
11784
11884
  }] }]; } });
@@ -11850,6 +11950,7 @@ class RestService {
11850
11950
  this.toastService = toastService;
11851
11951
  // subject for service cache
11852
11952
  this.cacheSubject = new ReplaySubject(1);
11953
+ this.mpService = inject(MixpanelService);
11853
11954
  this.roles = [];
11854
11955
  this.listenEvents();
11855
11956
  }
@@ -12981,6 +13082,9 @@ class PropertyCategoryMovementService extends RestService$1 {
12981
13082
  this.endpointUri = 'properties/category-movements';
12982
13083
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
12983
13084
  }
13085
+ post(movement) {
13086
+ return super.post(movement, `${this.environment.apiV2}/properties/${movement.property.id}/category-movements`);
13087
+ }
12984
13088
  }
12985
13089
  PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
12986
13090
  PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
@@ -15175,15 +15279,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
15175
15279
  class UserEventTypeCategory extends UserEventTypeCategory$1 {
15176
15280
  }
15177
15281
 
15282
+ var UserEventTypeFrequencyEnum;
15283
+ (function (UserEventTypeFrequencyEnum) {
15284
+ UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["DAILY"] = 1] = "DAILY";
15285
+ UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["WEEKLY"] = 2] = "WEEKLY";
15286
+ UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["MONTHLY"] = 3] = "MONTHLY";
15287
+ })(UserEventTypeFrequencyEnum || (UserEventTypeFrequencyEnum = {}));
15288
+
15178
15289
  class UserEventType extends UserEventType$1 {
15179
15290
  toSetting() {
15180
15291
  return plainToClass(UserEventSetting, {
15181
15292
  byEmail: this.byEmail,
15182
15293
  byNotification: this.byNotification,
15183
15294
  frequency: this.frequency,
15184
- type: this
15295
+ type: this,
15185
15296
  });
15186
15297
  }
15298
+ get frequencyLabel() {
15299
+ return this.frequency ? UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum[this.frequency]] : null;
15300
+ }
15187
15301
  }
15188
15302
  __decorate([
15189
15303
  Type(() => UserEventTypeCategory)
@@ -15195,6 +15309,9 @@ class UserEventSetting extends UserEventSetting$1 {
15195
15309
  // flag indicates that the setting is updating now saved or not
15196
15310
  this.isUpdating = false;
15197
15311
  }
15312
+ get mpData() {
15313
+ return { type: this.type.name, byEmail: this.byEmail, byNotification: this.byNotification, frequency: this.type.frequencyLabel };
15314
+ }
15198
15315
  }
15199
15316
  __decorate([
15200
15317
  Type(() => UserEventType)
@@ -15203,38 +15320,14 @@ __decorate([
15203
15320
  Exclude({ toPlainOnly: true })
15204
15321
  ], UserEventSetting.prototype, "isUpdating", void 0);
15205
15322
 
15206
- class UserEventSettingService extends RestService {
15323
+ class UserEventSettingService extends RestService$1 {
15207
15324
  constructor() {
15208
15325
  super(...arguments);
15209
15326
  this.modelClass = UserEventSetting;
15210
- this.url = 'user-event-settings';
15211
- this.isHydra = true;
15212
- }
15213
- /**
15214
- * Send batch to add/updated settings
15215
- */
15216
- saveBatch(settings) {
15217
- // batch with post/put requests based on setting id
15218
- const batch = settings.map((setting) => {
15219
- setting.isUpdating = true;
15220
- if (setting.id) {
15221
- return this.http.put(`${this.environment.apiV2}/${this.url}/${setting.id}`, classToPlain(setting));
15222
- }
15223
- return this.http.post(`${this.environment.apiV2}/${this.url}`, classToPlain(setting));
15224
- });
15225
- return forkJoin(batch).pipe(map((eventSettings) => {
15226
- eventSettings.forEach((eventSetting) => {
15227
- // get setting from cache by saved setting id
15228
- const cachedSetting = this.cache.find((setting) => setting.id === eventSetting.id);
15229
- if (cachedSetting) {
15230
- replace(this.cache, eventSetting);
15231
- }
15232
- else {
15233
- this.cache.push(plainToClass(UserEventSetting, eventSetting));
15234
- }
15235
- });
15236
- this.updateCache();
15237
- }));
15327
+ this.collectionClass = UserEventSettingCollection;
15328
+ this.endpointUri = 'user-event-settings';
15329
+ this.isApiPlatform = true;
15330
+ this.disabledMethods = ['postBatch', 'putBatch', 'delete', 'deleteBatch'];
15238
15331
  }
15239
15332
  }
15240
15333
  UserEventSettingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: UserEventSettingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -15246,12 +15339,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
15246
15339
  }]
15247
15340
  }] });
15248
15341
 
15249
- class UserEventTypeService extends RestService {
15342
+ class UserEventTypeService extends RestService$1 {
15250
15343
  constructor() {
15251
15344
  super(...arguments);
15252
15345
  this.modelClass = UserEventType;
15253
- this.url = 'user-event-types';
15254
- this.isHydra = true;
15346
+ this.collectionClass = UserEventTypeCollection;
15347
+ this.endpointUri = 'user-event-types';
15348
+ this.isApiPlatform = true;
15349
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
15255
15350
  }
15256
15351
  }
15257
15352
  UserEventTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: UserEventTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -15309,6 +15404,7 @@ class UserService extends RestService$1 {
15309
15404
  return super.fetch(`${this.apiUrl}/current`).pipe(map((users) => {
15310
15405
  localStorage.setItem('userId', this.getCacheFirst().id.toString());
15311
15406
  localStorage.setItem('financialYear', this.getCacheFirst().financialYear.toString());
15407
+ this.mpService.identify(this.getCacheFirst().id);
15312
15408
  return users;
15313
15409
  }));
15314
15410
  }
@@ -15316,22 +15412,53 @@ class UserService extends RestService$1 {
15316
15412
  return this.http.post(`${this.apiUrl}/registration`, data);
15317
15413
  }
15318
15414
  changePassword(currentPassword, newPassword) {
15319
- return this.http.put(`${this.apiUrl}/password/change`, { currentPassword, newPassword });
15415
+ return this.http.put(`${this.apiUrl}/password/change`, { currentPassword, newPassword })
15416
+ .pipe(map((response) => {
15417
+ this.mpService.track('passwordChange');
15418
+ return response;
15419
+ }), catchError((error) => {
15420
+ this.mpService.track('passwordChangeError');
15421
+ return throwError(error);
15422
+ }));
15320
15423
  }
15321
15424
  recoveryPassword(email) {
15322
- return this.http.put(`${this.apiUrl}/password/recovery`, { email });
15425
+ return this.http.put(`${this.apiUrl}/password/recovery`, { email })
15426
+ .pipe(map((response) => {
15427
+ this.mpService.track('passwordRecovery', { email });
15428
+ return response;
15429
+ }), catchError((error) => {
15430
+ this.mpService.track('passwordRecoveryError', { email });
15431
+ return throwError(error);
15432
+ }));
15323
15433
  }
15324
15434
  resetPassword(newPassword, resetToken) {
15325
- return this.http.put(`${this.apiUrl}/password/reset`, { newPassword, resetToken });
15435
+ return this.http.put(`${this.apiUrl}/password/reset`, { newPassword, resetToken })
15436
+ .pipe(catchError((error) => {
15437
+ // success tracked on back-end side to attach it to existing user before login
15438
+ this.mpService.track('passwordResetError', { resetToken });
15439
+ return throwError(error);
15440
+ }));
15326
15441
  }
15327
15442
  resendConfirmationEmail(email) {
15328
- return this.http.post(`${this.apiUrl}/confirmation/resend`, { email });
15443
+ return this.http.post(`${this.apiUrl}/confirmation/resend`, { email })
15444
+ .pipe(map((response) => {
15445
+ this.mpService.track('emailConfirmResend', { email });
15446
+ return response;
15447
+ }), catchError((error) => {
15448
+ this.mpService.track('emailConfirmResendError', { email });
15449
+ return throwError(error);
15450
+ }));
15329
15451
  }
15330
15452
  /**
15331
15453
  * Confirm registered user
15332
15454
  */
15333
15455
  confirm(verificationCode) {
15334
- return this.http.post(`${this.apiUrl}/confirmation`, { verificationCode });
15456
+ return this.http.post(`${this.apiUrl}/confirmation`, { verificationCode })
15457
+ .pipe(catchError((error) => {
15458
+ // success tracked on back-end side to attach it to existing user before login
15459
+ this.mpService.track('emailConfirmError', { verificationCode });
15460
+ return throwError(error);
15461
+ }));
15335
15462
  }
15336
15463
  /**
15337
15464
  * Search existing user
@@ -15380,18 +15507,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
15380
15507
  }] }]; } });
15381
15508
 
15382
15509
  class FinancialYearService {
15383
- constructor(http, environment) {
15510
+ constructor(http, environment, mpService) {
15384
15511
  this.http = http;
15385
15512
  this.environment = environment;
15513
+ this.mpService = mpService;
15386
15514
  }
15387
15515
  switch(year) {
15388
15516
  return this.http.get(`${this.environment.apiV2}/financial-year/switch`, { params: new HttpParams({ fromString: `financialYear=${year}` }) }).pipe(map(() => {
15389
15517
  localStorage.setItem('financialYear', year.toString());
15518
+ this.mpService.track('switchYear', { year });
15390
15519
  window.location.reload();
15391
15520
  }));
15392
15521
  }
15393
15522
  }
15394
- FinancialYearService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearService, deps: [{ token: i1.HttpClient }, { token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
15523
+ FinancialYearService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearService, deps: [{ token: i1.HttpClient }, { token: 'environment' }, { token: MixpanelService }], target: i0.ɵɵFactoryTarget.Injectable });
15395
15524
  FinancialYearService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearService, providedIn: 'root' });
15396
15525
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearService, decorators: [{
15397
15526
  type: Injectable,
@@ -15401,7 +15530,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
15401
15530
  }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
15402
15531
  type: Inject,
15403
15532
  args: ['environment']
15404
- }] }]; } });
15533
+ }] }, { type: MixpanelService }]; } });
15405
15534
 
15406
15535
  class HoldingService extends RestService$1 {
15407
15536
  constructor() {
@@ -19845,13 +19974,6 @@ var UserEventStatusEnum;
19845
19974
  UserEventStatusEnum[UserEventStatusEnum["OUTDATED"] = 5] = "OUTDATED";
19846
19975
  })(UserEventStatusEnum || (UserEventStatusEnum = {}));
19847
19976
 
19848
- var UserEventTypeFrequencyEnum;
19849
- (function (UserEventTypeFrequencyEnum) {
19850
- UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["DAILY"] = 1] = "DAILY";
19851
- UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["WEEKLY"] = 2] = "WEEKLY";
19852
- UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["MONTHLY"] = 3] = "MONTHLY";
19853
- })(UserEventTypeFrequencyEnum || (UserEventTypeFrequencyEnum = {}));
19854
-
19855
19977
  var UserEventTypeUserTypeEnum;
19856
19978
  (function (UserEventTypeUserTypeEnum) {
19857
19979
  UserEventTypeUserTypeEnum[UserEventTypeUserTypeEnum["REGISTERED"] = 1000] = "REGISTERED";
@@ -22327,12 +22449,15 @@ class MyTaxLossesForm extends AbstractForm {
22327
22449
  }
22328
22450
  }
22329
22451
 
22452
+ /**
22453
+ * @TODO separate into 2 forms
22454
+ */
22330
22455
  class MyTaxMedicareForm extends AbstractForm {
22331
- constructor(user) {
22456
+ constructor(user, annualClientDetails = plainToClass(AnnualClientDetails, {})) {
22332
22457
  super({
22333
- hasDependants: new UntypedFormControl(!!user.clientDetails.dependants),
22334
- dependants: new UntypedFormControl(user.clientDetails.dependants, Validators.required),
22335
- privateHealthCare: new UntypedFormControl(user.clientDetails.privateHealthCare),
22458
+ hasDependants: new UntypedFormControl(!!annualClientDetails.dependants),
22459
+ dependants: new UntypedFormControl(annualClientDetails.dependants, Validators.required),
22460
+ privateHealthCare: new UntypedFormControl(annualClientDetails.privateHealthCare),
22336
22461
  hasMedicareExemption: new UntypedFormControl(!!user.clientDetails.medicareExemption),
22337
22462
  medicareExemption: new UntypedFormControl(user.clientDetails.medicareExemption, Validators.required),
22338
22463
  });
@@ -23433,5 +23558,5 @@ var MessagesEnum;
23433
23558
  * Generated bundle index. Do not edit.
23434
23559
  */
23435
23560
 
23436
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsInvoiceExpenseEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteMessages, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, Holding, HoldingCollection, HoldingForm, HoldingIncomeForm, HoldingMessagesEnum, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleForm, HoldingSaleMessagesEnum, HoldingSaleService, HoldingService, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentForm, PropertyDocumentMessagesEnum, PropertyDocumentService, PropertyEditForm, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyMessagesEnum, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, PropertyValuationForm, PropertyValuationMessages, PropertyValuationService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SERVICE_PRODUCT_ROLES, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, taxReviewFilterPredicate, toArray };
23561
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressForm, AddressService, AddressTypeEnum, AllocationGroup, AllocationGroupCollection, AllocationRule, AllocationRuleCollection, AllocationRuleConditionComparisonOperatorEnum, AllocationRuleConditionFieldEnum, AllocationRuleConditionOperatorEnum, AllocationRuleForm, AllocationRuleService, AllocationRuleTransaction, AllocationRuleTransactionMetaField, AllocationRuleTypeEnum, AlphabetColorsEnum, AnnualClientDetails, AnnualClientDetailsForm, AnnualClientDetailsService, AnnualFrequencyEnum, AppEvent, AppEvent2, AppEventTypeEnum, AppFile, AssetEntityTypeEnum, AssetSale, AssetSaleCollection, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionMessagesEnum, BankConnectionService, BankConnectionStatusEnum, BankExternalStats, BankPopularEnum, BankProviderEnum, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasReport, BasReportForm, BasReportService, BasiqConfig, BasiqJob, BasiqJobResponse, BasiqJobStep, BasiqMessagesEnum, BasiqService, BasiqToken, BasiqTokenService, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, BorrowingReport, BorrowingReportForm, BorrowingReportMessagesEnum, BorrowingReportService, Budget, BudgetForm, BudgetMessagesEnum, BudgetRule, BudgetService, BusinessTypeEnum, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsHoldingUntaxedIncomeListEnum, ChartAccountsInvoiceExpenseEnum, ChartAccountsKeepSign, ChartAccountsListEnum, ChartAccountsMetaField, ChartAccountsMetaFieldListEnum, ChartAccountsMetaFieldTypeEnum, ChartAccountsSalaryAdjustmentsListEnum, ChartAccountsSalaryIncludedListEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartAccountsValueService, ChartData, ChartSerie, Chat, ChatCollection, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsForm, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteCollection, ClientInviteMessages, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationForm, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpRateEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderForm, DocumentFolderMessagesEnum, DocumentFolderService, DocumentForm, DocumentMessagesEnum, DocumentService, DocumentTypeEnum, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeMessagesEnum, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FileService, FileValidator, FinancialYear, FinancialYearService, Firm, FirmForm, FirmMessagesEnum, FirmService, FirmTypeEnum, FormValidationsEnum, GoogleService, HeaderTitleService, Holding, HoldingCollection, HoldingForm, HoldingIncomeForm, HoldingMessagesEnum, HoldingReinvest, HoldingReinvestForm, HoldingSale, HoldingSaleCollection, HoldingSaleForm, HoldingSaleMessagesEnum, HoldingSaleService, HoldingService, HoldingType, HoldingTypeCategoryEnum, HoldingTypeCollection, HoldingTypeExchange, HoldingTypeExchangeService, HoldingTypeForm, HoldingTypeMessagesEnum, HoldingTypeService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastCollection, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListHoldingEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, IncomeSourceTypeService, InterceptorsModule, IntercomService, InviteStatusEnum, JsPdf, JwtService, Loan, LoanBankTypeEnum, LoanCollection, LoanForm, LoanFrequencyEnum, LoanInterestTypeEnum, LoanInterestTypeLabelEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanRepaymentTypeLabelEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookBestPeriodService, LogbookPeriod, LoginForm, LossTypeEnum, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MessagesEnum, MixpanelService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessDetails, MyTaxBusinessDetailsForm, MyTaxBusinessIncome, MyTaxBusinessIncomeForm, MyTaxBusinessIncomeOrLossesForm, MyTaxBusinessLosses, MyTaxBusinessLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEstimate, MyTaxIncomeStatements, MyTaxIncomeStatementsForm, MyTaxIncomeTests, MyTaxIncomeTestsForm, MyTaxInterest, MyTaxInterestForm, MyTaxLosses, MyTaxLossesForm, MyTaxMedicareForm, MyTaxOffsets, MyTaxOffsetsForm, MyTaxOtherIncome, MyTaxOtherIncomeForm, MyTaxPartnershipsAndTrusts, MyTaxPartnershipsAndTrustsForm, MyTaxRent, MyTaxRentForm, Notification, Occupation, OccupationService, PASSWORD_REGEXPS, PasswordForm, PdfFromDataTableService, PdfFromDomElementService, PdfFromHtmlTableService, PdfFromTableService, PdfOrientationEnum, PdfSettings, Phone, PhoneForm, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementCollection, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentForm, PropertyDocumentMessagesEnum, PropertyDocumentService, PropertyEditForm, PropertyEquityChartData, PropertyEquityChartItem, PropertyEquityChartTypeEnum, PropertyForecast, PropertyMessagesEnum, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciation, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleCostBase, PropertySaleCostBaseForm, PropertySaleCostSaleForm, PropertySaleExemptionsForm, PropertySaleService, PropertySaleTaxExemptionMetaField, PropertySaleTaxExemptionMetaFieldCollection, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareCollection, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, PropertyValuationForm, PropertyValuationMessages, PropertyValuationService, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, RestService$1 as RestService, RewardfulService, SERVICE_PRODUCT_ROLES, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentMethod, ServicePaymentMethodService, ServicePaymentService, ServicePaymentStatusEnum, ServicePrice, ServicePriceCollection, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductCollection, ServiceProductIconsEnum, ServiceProductIdEnum, ServiceProductService, ServiceProductStatusEnum, ServicePromoCode, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessActivity, SoleBusinessActivityService, SoleBusinessAllocation, SoleBusinessAllocationsForm, SoleBusinessForm, SoleBusinessLoss, SoleBusinessLossForm, SoleBusinessLossOffsetRule, SoleBusinessLossOffsetRuleService, SoleBusinessLossReport, SoleBusinessLossService, SoleBusinessLossesCollection, SoleBusinessMessagesEnum, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDepreciationMethod, SoleDepreciationMethodEnum, SoleDepreciationMethodForm, SoleDepreciationMethodService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleIncomeForm, SoleInvoice, SoleInvoiceCollection, SoleInvoiceForm, SoleInvoiceItem, SoleInvoiceItemCollection, SoleInvoiceItemForm, SoleInvoiceService, SoleInvoiceStatusesEnum, SoleInvoiceTaxTypeEnum, SoleInvoiceTemplate, SoleInvoiceTemplateForm, SoleInvoiceTemplateService, SoleInvoiceTemplateTaxTypeEnum, SpareDocumentSpareTypeEnum, SseService, StatesEnum, SubscriptionItemCollection, SubscriptionMessagesEnum, SubscriptionService, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetaField, TaxExemptionMetaFieldEnum, TaxExemptionService, TaxReturn, TaxReturnCategory, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReturnItem, TaxReturnItemEnum, TaxReturnItemService, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewMessagesEnum, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionBaseForm, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionForm, TransactionMetaField, TransactionOperationEnum, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, UniqueEmailValidator, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeCollection, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserForm, UserInviteForm, UserMedicareExemptionEnum, UserMessagesEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, UsersInviteService, Vehicle, VehicleClaim, VehicleClaimCollection, VehicleClaimDetails, VehicleClaimDetailsForm, VehicleClaimDetailsMethodEnum, VehicleClaimDetailsService, VehicleClaimForm, VehicleClaimService, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookForm, VehicleLogbookMessages, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleMessagesEnum, VehicleService, WorkExpenseForm, WorkIncomeForm, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, currentFinYearValidator, displayMatOptions, enumToList, fieldsSumValidator, getDocIcon, greaterThanValidator, minDateValidator, passwordMatchValidator, passwordValidator, replace, sort, sortDeep, taxReviewFilterPredicate, toArray };
23437
23562
  //# sourceMappingURL=taxtank-core.mjs.map