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';
@@ -3888,6 +3889,18 @@ class AnnualClientDetails extends AbstractModel {
3888
3889
  get spouseMonthlyIncome() {
3889
3890
  return this.spouseAnnualIncome / 12;
3890
3891
  }
3892
+ get mpData() {
3893
+ return {
3894
+ capitalLoss: this.capitalLoss,
3895
+ privateHealthCare: this.privateHealthCare,
3896
+ spouse: this.spouse,
3897
+ dependants: this.dependants,
3898
+ studentLoanAmount: this.studentLoanAmount,
3899
+ financialYear: this.financialYear,
3900
+ reportableFringeBenefits: this.reportableFringeBenefits,
3901
+ exemptForeignEmploymentIncome: this.exemptForeignEmploymentIncome,
3902
+ };
3903
+ }
3891
3904
  }
3892
3905
  __decorate([
3893
3906
  Type(() => ClientDetails)
@@ -3900,6 +3913,9 @@ class ClientIncomeTypes extends ClientIncomeTypes$1 {
3900
3913
  get length() {
3901
3914
  return Object.values(this).filter((value) => typeof value === 'boolean' && value).length;
3902
3915
  }
3916
+ get mpData() {
3917
+ return { work: this.work, property: this.property, sole: this.sole, holding: this.holdings };
3918
+ }
3903
3919
  }
3904
3920
 
3905
3921
  var ClientInviteStatusEnum;
@@ -4434,6 +4450,105 @@ __decorate([
4434
4450
  Type(() => Firm)
4435
4451
  ], EmployeeDetails.prototype, "firm", void 0);
4436
4452
 
4453
+ class ServicePayment extends ServicePayment$1 {
4454
+ /**
4455
+ * Stripe stores actual links to payment invoices for 30 days.
4456
+ * Link expires after 30 days
4457
+ */
4458
+ isInvoiceLinkExpired() {
4459
+ const expirationDate = new Date(this.date.setDate(this.date.getDate() + ServicePayment.daysToInvoiceUrlExpired));
4460
+ return expirationDate.getTime() < new Date().getTime();
4461
+ }
4462
+ }
4463
+ ServicePayment.daysToInvoiceUrlExpired = 30;
4464
+ __decorate([
4465
+ Type(() => ServiceSubscription)
4466
+ ], ServicePayment.prototype, "subscription", void 0);
4467
+ __decorate([
4468
+ Type(() => Date)
4469
+ ], ServicePayment.prototype, "date", void 0);
4470
+
4471
+ let ServicePaymentMethod$1 = class ServicePaymentMethod extends AbstractModel {
4472
+ };
4473
+
4474
+ var PaymentMethodBrandEnum;
4475
+ (function (PaymentMethodBrandEnum) {
4476
+ PaymentMethodBrandEnum["UNKNOWN"] = "Unknown";
4477
+ PaymentMethodBrandEnum["AMEX"] = "American Express";
4478
+ PaymentMethodBrandEnum["DINERS"] = "Diners Club";
4479
+ PaymentMethodBrandEnum["DISCOVER"] = "Discover";
4480
+ PaymentMethodBrandEnum["JCB"] = "JCB";
4481
+ PaymentMethodBrandEnum["MASTERCARD"] = "Mastercard";
4482
+ PaymentMethodBrandEnum["UNIONPAY"] = "UnionPay";
4483
+ PaymentMethodBrandEnum["VISA"] = "Visa";
4484
+ })(PaymentMethodBrandEnum || (PaymentMethodBrandEnum = {}));
4485
+
4486
+ var ServicePaymentMethodCardBrandEnum;
4487
+ (function (ServicePaymentMethodCardBrandEnum) {
4488
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNKNOWN"] = 0] = "UNKNOWN";
4489
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["AMEX"] = 1] = "AMEX";
4490
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DINERS"] = 2] = "DINERS";
4491
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DISCOVER"] = 3] = "DISCOVER";
4492
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["JCB"] = 4] = "JCB";
4493
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["MASTERCARD"] = 5] = "MASTERCARD";
4494
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNIONPAY"] = 6] = "UNIONPAY";
4495
+ ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["VISA"] = 7] = "VISA";
4496
+ })(ServicePaymentMethodCardBrandEnum || (ServicePaymentMethodCardBrandEnum = {}));
4497
+
4498
+ var ServicePaymentMethodTypeEnum;
4499
+ (function (ServicePaymentMethodTypeEnum) {
4500
+ ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["AU_BECS_DEBIT"] = 1] = "AU_BECS_DEBIT";
4501
+ ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["CARD"] = 2] = "CARD";
4502
+ })(ServicePaymentMethodTypeEnum || (ServicePaymentMethodTypeEnum = {}));
4503
+
4504
+ class ServicePaymentMethod extends ServicePaymentMethod$1 {
4505
+ get logo() {
4506
+ if (!this.isCard()) {
4507
+ return null;
4508
+ }
4509
+ return `/assets/img/payment-methods/${this.cardBrand}.svg`;
4510
+ }
4511
+ get brandName() {
4512
+ return this.isCard() ? PaymentMethodBrandEnum[ServicePaymentMethodCardBrandEnum[this.cardBrand]] : 'BECS Direct Debit (AU)';
4513
+ }
4514
+ /**
4515
+ * Get expiration date formatted string (MM/YY)
4516
+ */
4517
+ get expirationDate() {
4518
+ if (!this.isCard()) {
4519
+ return null;
4520
+ }
4521
+ return `${('0' + this.cardExpirationMonth).slice(-2)}/${this.cardExpirationYear.toString().slice(-2)}`;
4522
+ }
4523
+ get description() {
4524
+ return `${this.brandName} ***${this.lastFourDigits}`;
4525
+ }
4526
+ isCard() {
4527
+ return this.type === ServicePaymentMethodTypeEnum.CARD;
4528
+ }
4529
+ }
4530
+
4531
+ /**
4532
+ * Enum with icon-names related to tank roles
4533
+ */
4534
+ var ServiceProductIconsEnum;
4535
+ (function (ServiceProductIconsEnum) {
4536
+ ServiceProductIconsEnum["ROLE_USER_WORK"] = "icon-case";
4537
+ ServiceProductIconsEnum["ROLE_USER_PROPERTY"] = "icon-property";
4538
+ ServiceProductIconsEnum["ROLE_USER_SOLE"] = "icon-sole-tank";
4539
+ ServiceProductIconsEnum["ROLE_USER_HOLDING"] = "icon-holding-tank";
4540
+ })(ServiceProductIconsEnum || (ServiceProductIconsEnum = {}));
4541
+
4542
+ /**
4543
+ * List of user roles related to tanks (subscription products)
4544
+ */
4545
+ const SERVICE_PRODUCT_ROLES = [
4546
+ UserRolesEnum.WORK_TANK,
4547
+ UserRolesEnum.PROPERTY_TANK,
4548
+ UserRolesEnum.SOLE_TANK,
4549
+ UserRolesEnum.HOLDING_TANK
4550
+ ];
4551
+
4437
4552
  class SoleBusinessAllocation extends SoleBusinessAllocation$1 {
4438
4553
  }
4439
4554
  __decorate([
@@ -5186,6 +5301,11 @@ class User extends User$1 {
5186
5301
  get financialYears() {
5187
5302
  return range(Math.min(FinancialYear.toFinYear(this.createdAt) - 1, 2022), FinancialYear.toFinYear(new Date()) + 1);
5188
5303
  }
5304
+ get mpData() {
5305
+ return {
5306
+ clientDetails: {}
5307
+ };
5308
+ }
5189
5309
  }
5190
5310
  __decorate([
5191
5311
  Type(() => ServiceSubscription)
@@ -7938,6 +8058,13 @@ class Dictionary {
7938
8058
  get(key) {
7939
8059
  return this.items[key] !== undefined ? this.items[key] : null;
7940
8060
  }
8061
+ merge(dictionary) {
8062
+ Object.assign(this.items, dictionary.items);
8063
+ return this;
8064
+ }
8065
+ toArray() {
8066
+ return Object.values(this.items);
8067
+ }
7941
8068
  groupItems(items, path) {
7942
8069
  items.forEach((item) => {
7943
8070
  let key = get(item, path);
@@ -8914,6 +9041,9 @@ class UserEventSettingCollection extends Collection {
8914
9041
  * Collection of user event settings
8915
9042
  */
8916
9043
  class UserEventTypeCollection extends Collection {
9044
+ toSettings() {
9045
+ return new UserEventSettingCollection(this.map((type) => type.toSetting()));
9046
+ }
8917
9047
  }
8918
9048
 
8919
9049
  class HoldingCollection extends ExportableCollection {
@@ -9780,105 +9910,6 @@ __decorate([
9780
9910
  })
9781
9911
  ], Notification.prototype, "redirectionLink", void 0);
9782
9912
 
9783
- class ServicePayment extends ServicePayment$1 {
9784
- /**
9785
- * Stripe stores actual links to payment invoices for 30 days.
9786
- * Link expires after 30 days
9787
- */
9788
- isInvoiceLinkExpired() {
9789
- const expirationDate = new Date(this.date.setDate(this.date.getDate() + ServicePayment.daysToInvoiceUrlExpired));
9790
- return expirationDate.getTime() < new Date().getTime();
9791
- }
9792
- }
9793
- ServicePayment.daysToInvoiceUrlExpired = 30;
9794
- __decorate([
9795
- Type(() => ServiceSubscription)
9796
- ], ServicePayment.prototype, "subscription", void 0);
9797
- __decorate([
9798
- Type(() => Date)
9799
- ], ServicePayment.prototype, "date", void 0);
9800
-
9801
- let ServicePaymentMethod$1 = class ServicePaymentMethod extends AbstractModel {
9802
- };
9803
-
9804
- var PaymentMethodBrandEnum;
9805
- (function (PaymentMethodBrandEnum) {
9806
- PaymentMethodBrandEnum["UNKNOWN"] = "Unknown";
9807
- PaymentMethodBrandEnum["AMEX"] = "American Express";
9808
- PaymentMethodBrandEnum["DINERS"] = "Diners Club";
9809
- PaymentMethodBrandEnum["DISCOVER"] = "Discover";
9810
- PaymentMethodBrandEnum["JCB"] = "JCB";
9811
- PaymentMethodBrandEnum["MASTERCARD"] = "Mastercard";
9812
- PaymentMethodBrandEnum["UNIONPAY"] = "UnionPay";
9813
- PaymentMethodBrandEnum["VISA"] = "Visa";
9814
- })(PaymentMethodBrandEnum || (PaymentMethodBrandEnum = {}));
9815
-
9816
- var ServicePaymentMethodCardBrandEnum;
9817
- (function (ServicePaymentMethodCardBrandEnum) {
9818
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNKNOWN"] = 0] = "UNKNOWN";
9819
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["AMEX"] = 1] = "AMEX";
9820
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DINERS"] = 2] = "DINERS";
9821
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["DISCOVER"] = 3] = "DISCOVER";
9822
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["JCB"] = 4] = "JCB";
9823
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["MASTERCARD"] = 5] = "MASTERCARD";
9824
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["UNIONPAY"] = 6] = "UNIONPAY";
9825
- ServicePaymentMethodCardBrandEnum[ServicePaymentMethodCardBrandEnum["VISA"] = 7] = "VISA";
9826
- })(ServicePaymentMethodCardBrandEnum || (ServicePaymentMethodCardBrandEnum = {}));
9827
-
9828
- var ServicePaymentMethodTypeEnum;
9829
- (function (ServicePaymentMethodTypeEnum) {
9830
- ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["AU_BECS_DEBIT"] = 1] = "AU_BECS_DEBIT";
9831
- ServicePaymentMethodTypeEnum[ServicePaymentMethodTypeEnum["CARD"] = 2] = "CARD";
9832
- })(ServicePaymentMethodTypeEnum || (ServicePaymentMethodTypeEnum = {}));
9833
-
9834
- class ServicePaymentMethod extends ServicePaymentMethod$1 {
9835
- get logo() {
9836
- if (!this.isCard()) {
9837
- return null;
9838
- }
9839
- return `/assets/img/payment-methods/${this.cardBrand}.svg`;
9840
- }
9841
- get brandName() {
9842
- return this.isCard() ? PaymentMethodBrandEnum[ServicePaymentMethodCardBrandEnum[this.cardBrand]] : 'BECS Direct Debit (AU)';
9843
- }
9844
- /**
9845
- * Get expiration date formatted string (MM/YY)
9846
- */
9847
- get expirationDate() {
9848
- if (!this.isCard()) {
9849
- return null;
9850
- }
9851
- return `${('0' + this.cardExpirationMonth).slice(-2)}/${this.cardExpirationYear.toString().slice(-2)}`;
9852
- }
9853
- get description() {
9854
- return `${this.brandName} ***${this.lastFourDigits}`;
9855
- }
9856
- isCard() {
9857
- return this.type === ServicePaymentMethodTypeEnum.CARD;
9858
- }
9859
- }
9860
-
9861
- /**
9862
- * Enum with icon-names related to tank roles
9863
- */
9864
- var ServiceProductIconsEnum;
9865
- (function (ServiceProductIconsEnum) {
9866
- ServiceProductIconsEnum["ROLE_USER_WORK"] = "icon-case";
9867
- ServiceProductIconsEnum["ROLE_USER_PROPERTY"] = "icon-property";
9868
- ServiceProductIconsEnum["ROLE_USER_SOLE"] = "icon-sole-tank";
9869
- ServiceProductIconsEnum["ROLE_USER_HOLDING"] = "icon-holding-tank";
9870
- })(ServiceProductIconsEnum || (ServiceProductIconsEnum = {}));
9871
-
9872
- /**
9873
- * List of user roles related to tanks (subscription products)
9874
- */
9875
- const SERVICE_PRODUCT_ROLES = [
9876
- UserRolesEnum.WORK_TANK,
9877
- UserRolesEnum.PROPERTY_TANK,
9878
- UserRolesEnum.SOLE_TANK,
9879
- UserRolesEnum.HOLDING_TANK
9880
- ];
9881
-
9882
9913
  class DocumentFolder extends DocumentFolder$1 {
9883
9914
  }
9884
9915
 
@@ -10117,6 +10148,9 @@ class Budget extends Budget$1 {
10117
10148
  get rulesCollection() {
10118
10149
  return new Collection(this.rules);
10119
10150
  }
10151
+ get mpData() {
10152
+ return {};
10153
+ }
10120
10154
  }
10121
10155
  __decorate([
10122
10156
  Type(() => BudgetRule)
@@ -10270,6 +10304,52 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
10270
10304
  }]
10271
10305
  }] });
10272
10306
 
10307
+ /**
10308
+ * Service to work with mixpanel https://docs.mixpanel.com/docs/tracking/reference/javascript
10309
+ */
10310
+ class MixpanelService {
10311
+ constructor(environment) {
10312
+ this.environment = environment;
10313
+ }
10314
+ init() {
10315
+ if (!this.environment.enableMixpanel) {
10316
+ return;
10317
+ }
10318
+ mixpanel.init(this.environment.mixpanelToken);
10319
+ }
10320
+ identify(id) {
10321
+ if (!this.environment.enableMixpanel) {
10322
+ return;
10323
+ }
10324
+ mixpanel.identify(id);
10325
+ }
10326
+ reset() {
10327
+ if (!this.environment.enableMixpanel) {
10328
+ return;
10329
+ }
10330
+ mixpanel.reset();
10331
+ }
10332
+ track(event, properties = {}) {
10333
+ if (!this.environment.enableMixpanel) {
10334
+ return;
10335
+ }
10336
+ mixpanel.track(event, properties);
10337
+ }
10338
+ }
10339
+ MixpanelService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MixpanelService, deps: [{ token: 'environment' }], target: i0.ɵɵFactoryTarget.Injectable });
10340
+ MixpanelService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MixpanelService, providedIn: 'root' });
10341
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: MixpanelService, decorators: [{
10342
+ type: Injectable,
10343
+ args: [{
10344
+ providedIn: 'root'
10345
+ }]
10346
+ }], ctorParameters: function () {
10347
+ return [{ type: undefined, decorators: [{
10348
+ type: Inject,
10349
+ args: ['environment']
10350
+ }] }];
10351
+ } });
10352
+
10273
10353
  /**
10274
10354
  * @TODO Alex (TT-1777): replace old logic with the new when all services ready
10275
10355
  * @TODO Alex (TT-1777): rename old logic and keep it for custom events
@@ -10411,6 +10491,7 @@ let RestService$1 = class RestService extends DataService {
10411
10491
  * @TODO Alex: disable batch by default
10412
10492
  */
10413
10493
  this.disabledMethods = [];
10494
+ this.mpService = inject(MixpanelService);
10414
10495
  this.roles = [];
10415
10496
  // @TODO Alex remove, bad idea to call empty method overrided in child (because it will be called with parent context)
10416
10497
  this.listenEvents();
@@ -10529,6 +10610,12 @@ let RestService$1 = class RestService extends DataService {
10529
10610
  * Handle response data - update cache and dispatch event if it is needed
10530
10611
  */
10531
10612
  handleResponse(response, method) {
10613
+ // not other way to check interface
10614
+ if ('mpData' in response[0]) {
10615
+ response.forEach((model) => {
10616
+ this.mpService.track(`${method}${this.modelClass.name}`, model['mpData']);
10617
+ });
10618
+ }
10532
10619
  if (this.getCache()) {
10533
10620
  this.updateCache(response, method);
10534
10621
  }
@@ -10542,6 +10629,7 @@ let RestService$1 = class RestService extends DataService {
10542
10629
  */
10543
10630
  updateCache(items, method) {
10544
10631
  let cache;
10632
+ // @TODO vik mp.track
10545
10633
  switch (method) {
10546
10634
  case 'post':
10547
10635
  cache = this.cache.push(...items);
@@ -11679,11 +11767,12 @@ class FacebookService {
11679
11767
  /**
11680
11768
  * @TODO when google login will be done, it needs to be moved to an abstract class
11681
11769
  */
11682
- constructor(http, toastService, jwtService, router, environment) {
11770
+ constructor(http, toastService, jwtService, router, mpService, environment) {
11683
11771
  this.http = http;
11684
11772
  this.toastService = toastService;
11685
11773
  this.jwtService = jwtService;
11686
11774
  this.router = router;
11775
+ this.mpService = mpService;
11687
11776
  this.environment = environment;
11688
11777
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
11689
11778
  this.isFacebookEnabled = !!environment['facebookAppId'];
@@ -11708,6 +11797,8 @@ class FacebookService {
11708
11797
  setAuth(response) {
11709
11798
  this.jwtService.saveTokens(response);
11710
11799
  this.isLoggedInSubject.next(true);
11800
+ this.mpService.identify(this.jwtService.getUser().id);
11801
+ this.mpService.track('loginFB');
11711
11802
  }
11712
11803
  /**
11713
11804
  * get facebook auth access token
@@ -11744,7 +11835,7 @@ FacebookService.authOptions = {
11744
11835
  auth_type: 'rerequest',
11745
11836
  return_scopes: true
11746
11837
  };
11747
- 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 });
11838
+ 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 });
11748
11839
  FacebookService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, providedIn: 'root' });
11749
11840
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FacebookService, decorators: [{
11750
11841
  type: Injectable,
@@ -11752,16 +11843,17 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
11752
11843
  providedIn: 'root'
11753
11844
  }]
11754
11845
  }], ctorParameters: function () {
11755
- return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: undefined, decorators: [{
11846
+ return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: MixpanelService }, { type: undefined, decorators: [{
11756
11847
  type: Inject,
11757
11848
  args: ['environment']
11758
11849
  }] }];
11759
11850
  } });
11760
11851
 
11761
11852
  class AuthService {
11762
- constructor(http, jwtService, environment) {
11853
+ constructor(http, jwtService, mpService, environment) {
11763
11854
  this.http = http;
11764
11855
  this.jwtService = jwtService;
11856
+ this.mpService = mpService;
11765
11857
  this.environment = environment;
11766
11858
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
11767
11859
  }
@@ -11772,7 +11864,12 @@ class AuthService {
11772
11864
  login(username, password) {
11773
11865
  return this.http.post(`${this.environment.apiV2}/login`, { username, password }).pipe(map((response) => {
11774
11866
  this.setAuth(response);
11867
+ this.mpService.identify(this.jwtService.getUser().id);
11868
+ this.mpService.track('login');
11775
11869
  return response;
11870
+ }), catchError((error) => {
11871
+ this.mpService.track('loginError', { username });
11872
+ return throwError(error);
11776
11873
  }));
11777
11874
  }
11778
11875
  refresh(refreshToken) {
@@ -11783,10 +11880,12 @@ class AuthService {
11783
11880
  }
11784
11881
  logoutFront(url = '/login') {
11785
11882
  localStorage.clear();
11883
+ this.mpService.track('logout');
11884
+ this.mpService.reset();
11786
11885
  location.replace(url);
11787
11886
  }
11788
11887
  }
11789
- 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 });
11888
+ 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 });
11790
11889
  AuthService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, providedIn: 'root' });
11791
11890
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: AuthService, decorators: [{
11792
11891
  type: Injectable,
@@ -11794,7 +11893,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
11794
11893
  providedIn: 'root'
11795
11894
  }]
11796
11895
  }], ctorParameters: function () {
11797
- return [{ type: i1.HttpClient }, { type: JwtService }, { type: undefined, decorators: [{
11896
+ return [{ type: i1.HttpClient }, { type: JwtService }, { type: MixpanelService }, { type: undefined, decorators: [{
11798
11897
  type: Inject,
11799
11898
  args: ['environment']
11800
11899
  }] }];
@@ -11806,11 +11905,12 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
11806
11905
  * https://developers.google.com/identity/gsi/web/guides/overview
11807
11906
  */
11808
11907
  class GoogleService {
11809
- constructor(http, toastService, jwtService, router, environment) {
11908
+ constructor(http, toastService, jwtService, router, mpService, environment) {
11810
11909
  this.http = http;
11811
11910
  this.toastService = toastService;
11812
11911
  this.jwtService = jwtService;
11813
11912
  this.router = router;
11913
+ this.mpService = mpService;
11814
11914
  this.environment = environment;
11815
11915
  this.isLoggedInSubject = new BehaviorSubject(!this.jwtService.isTokenExpired());
11816
11916
  this.isGoogleEnabled = !!this.environment['googleClientId'];
@@ -11843,6 +11943,8 @@ class GoogleService {
11843
11943
  .subscribe((response) => {
11844
11944
  this.jwtService.saveTokens(response);
11845
11945
  this.isLoggedInSubject.next(true);
11946
+ this.mpService.identify(this.jwtService.getUser().id);
11947
+ this.mpService.track('loginGoogle');
11846
11948
  this.router.navigate([redirectUrl]);
11847
11949
  }, (error) => {
11848
11950
  this.toastService.error(error.error.violations[0].message);
@@ -11858,7 +11960,7 @@ class GoogleService {
11858
11960
  google.accounts.id.disableAutoSelect();
11859
11961
  }
11860
11962
  }
11861
- 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 });
11963
+ 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 });
11862
11964
  GoogleService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: GoogleService, providedIn: 'root' });
11863
11965
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: GoogleService, decorators: [{
11864
11966
  type: Injectable,
@@ -11866,7 +11968,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
11866
11968
  providedIn: 'root'
11867
11969
  }]
11868
11970
  }], ctorParameters: function () {
11869
- return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: undefined, decorators: [{
11971
+ return [{ type: i1.HttpClient }, { type: ToastService }, { type: JwtService }, { type: i4.Router }, { type: MixpanelService }, { type: undefined, decorators: [{
11870
11972
  type: Inject,
11871
11973
  args: ['environment']
11872
11974
  }] }];
@@ -11939,6 +12041,7 @@ class RestService {
11939
12041
  this.toastService = toastService;
11940
12042
  // subject for service cache
11941
12043
  this.cacheSubject = new ReplaySubject(1);
12044
+ this.mpService = inject(MixpanelService);
11942
12045
  this.roles = [];
11943
12046
  this.listenEvents();
11944
12047
  }
@@ -13078,6 +13181,9 @@ class PropertyCategoryMovementService extends RestService$1 {
13078
13181
  this.endpointUri = 'properties/category-movements';
13079
13182
  this.disabledMethods = ['postBatch', 'putBatch', 'deleteBatch'];
13080
13183
  }
13184
+ post(movement) {
13185
+ return super.post(movement, `${this.environment.apiV2}/properties/${movement.property.id}/category-movements`);
13186
+ }
13081
13187
  }
13082
13188
  PropertyCategoryMovementService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PropertyCategoryMovementService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
13083
13189
  PropertyCategoryMovementService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: PropertyCategoryMovementService, providedIn: 'root' });
@@ -15294,15 +15400,25 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
15294
15400
  class UserEventTypeCategory extends UserEventTypeCategory$1 {
15295
15401
  }
15296
15402
 
15403
+ var UserEventTypeFrequencyEnum;
15404
+ (function (UserEventTypeFrequencyEnum) {
15405
+ UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["DAILY"] = 1] = "DAILY";
15406
+ UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["WEEKLY"] = 2] = "WEEKLY";
15407
+ UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["MONTHLY"] = 3] = "MONTHLY";
15408
+ })(UserEventTypeFrequencyEnum || (UserEventTypeFrequencyEnum = {}));
15409
+
15297
15410
  class UserEventType extends UserEventType$1 {
15298
15411
  toSetting() {
15299
15412
  return plainToClass(UserEventSetting, {
15300
15413
  byEmail: this.byEmail,
15301
15414
  byNotification: this.byNotification,
15302
15415
  frequency: this.frequency,
15303
- type: this
15416
+ type: this,
15304
15417
  });
15305
15418
  }
15419
+ get frequencyLabel() {
15420
+ return this.frequency ? UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum[this.frequency]] : null;
15421
+ }
15306
15422
  }
15307
15423
  __decorate([
15308
15424
  Type(() => UserEventTypeCategory)
@@ -15314,6 +15430,9 @@ class UserEventSetting extends UserEventSetting$1 {
15314
15430
  // flag indicates that the setting is updating now saved or not
15315
15431
  this.isUpdating = false;
15316
15432
  }
15433
+ get mpData() {
15434
+ return { type: this.type.name, byEmail: this.byEmail, byNotification: this.byNotification, frequency: this.type.frequencyLabel };
15435
+ }
15317
15436
  }
15318
15437
  __decorate([
15319
15438
  Type(() => UserEventType)
@@ -15322,38 +15441,14 @@ __decorate([
15322
15441
  Exclude({ toPlainOnly: true })
15323
15442
  ], UserEventSetting.prototype, "isUpdating", void 0);
15324
15443
 
15325
- class UserEventSettingService extends RestService {
15444
+ class UserEventSettingService extends RestService$1 {
15326
15445
  constructor() {
15327
15446
  super(...arguments);
15328
15447
  this.modelClass = UserEventSetting;
15329
- this.url = 'user-event-settings';
15330
- this.isHydra = true;
15331
- }
15332
- /**
15333
- * Send batch to add/updated settings
15334
- */
15335
- saveBatch(settings) {
15336
- // batch with post/put requests based on setting id
15337
- const batch = settings.map((setting) => {
15338
- setting.isUpdating = true;
15339
- if (setting.id) {
15340
- return this.http.put(`${this.environment.apiV2}/${this.url}/${setting.id}`, classToPlain(setting));
15341
- }
15342
- return this.http.post(`${this.environment.apiV2}/${this.url}`, classToPlain(setting));
15343
- });
15344
- return forkJoin(batch).pipe(map((eventSettings) => {
15345
- eventSettings.forEach((eventSetting) => {
15346
- // get setting from cache by saved setting id
15347
- const cachedSetting = this.cache.find((setting) => setting.id === eventSetting.id);
15348
- if (cachedSetting) {
15349
- replace(this.cache, eventSetting);
15350
- }
15351
- else {
15352
- this.cache.push(plainToClass(UserEventSetting, eventSetting));
15353
- }
15354
- });
15355
- this.updateCache();
15356
- }));
15448
+ this.collectionClass = UserEventSettingCollection;
15449
+ this.endpointUri = 'user-event-settings';
15450
+ this.isApiPlatform = true;
15451
+ this.disabledMethods = ['postBatch', 'putBatch', 'delete', 'deleteBatch'];
15357
15452
  }
15358
15453
  }
15359
15454
  UserEventSettingService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: UserEventSettingService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -15365,12 +15460,14 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
15365
15460
  }]
15366
15461
  }] });
15367
15462
 
15368
- class UserEventTypeService extends RestService {
15463
+ class UserEventTypeService extends RestService$1 {
15369
15464
  constructor() {
15370
15465
  super(...arguments);
15371
15466
  this.modelClass = UserEventType;
15372
- this.url = 'user-event-types';
15373
- this.isHydra = true;
15467
+ this.collectionClass = UserEventTypeCollection;
15468
+ this.endpointUri = 'user-event-types';
15469
+ this.isApiPlatform = true;
15470
+ this.disabledMethods = ['post', 'postBatch', 'put', 'putBatch', 'delete', 'deleteBatch'];
15374
15471
  }
15375
15472
  }
15376
15473
  UserEventTypeService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: UserEventTypeService, deps: null, target: i0.ɵɵFactoryTarget.Injectable });
@@ -15428,6 +15525,7 @@ class UserService extends RestService$1 {
15428
15525
  return super.fetch(`${this.apiUrl}/current`).pipe(map((users) => {
15429
15526
  localStorage.setItem('userId', this.getCacheFirst().id.toString());
15430
15527
  localStorage.setItem('financialYear', this.getCacheFirst().financialYear.toString());
15528
+ this.mpService.identify(this.getCacheFirst().id);
15431
15529
  return users;
15432
15530
  }));
15433
15531
  }
@@ -15435,22 +15533,53 @@ class UserService extends RestService$1 {
15435
15533
  return this.http.post(`${this.apiUrl}/registration`, data);
15436
15534
  }
15437
15535
  changePassword(currentPassword, newPassword) {
15438
- return this.http.put(`${this.apiUrl}/password/change`, { currentPassword, newPassword });
15536
+ return this.http.put(`${this.apiUrl}/password/change`, { currentPassword, newPassword })
15537
+ .pipe(map((response) => {
15538
+ this.mpService.track('passwordChange');
15539
+ return response;
15540
+ }), catchError((error) => {
15541
+ this.mpService.track('passwordChangeError');
15542
+ return throwError(error);
15543
+ }));
15439
15544
  }
15440
15545
  recoveryPassword(email) {
15441
- return this.http.put(`${this.apiUrl}/password/recovery`, { email });
15546
+ return this.http.put(`${this.apiUrl}/password/recovery`, { email })
15547
+ .pipe(map((response) => {
15548
+ this.mpService.track('passwordRecovery', { email });
15549
+ return response;
15550
+ }), catchError((error) => {
15551
+ this.mpService.track('passwordRecoveryError', { email });
15552
+ return throwError(error);
15553
+ }));
15442
15554
  }
15443
15555
  resetPassword(newPassword, resetToken) {
15444
- return this.http.put(`${this.apiUrl}/password/reset`, { newPassword, resetToken });
15556
+ return this.http.put(`${this.apiUrl}/password/reset`, { newPassword, resetToken })
15557
+ .pipe(catchError((error) => {
15558
+ // success tracked on back-end side to attach it to existing user before login
15559
+ this.mpService.track('passwordResetError', { resetToken });
15560
+ return throwError(error);
15561
+ }));
15445
15562
  }
15446
15563
  resendConfirmationEmail(email) {
15447
- return this.http.post(`${this.apiUrl}/confirmation/resend`, { email });
15564
+ return this.http.post(`${this.apiUrl}/confirmation/resend`, { email })
15565
+ .pipe(map((response) => {
15566
+ this.mpService.track('emailConfirmResend', { email });
15567
+ return response;
15568
+ }), catchError((error) => {
15569
+ this.mpService.track('emailConfirmResendError', { email });
15570
+ return throwError(error);
15571
+ }));
15448
15572
  }
15449
15573
  /**
15450
15574
  * Confirm registered user
15451
15575
  */
15452
15576
  confirm(verificationCode) {
15453
- return this.http.post(`${this.apiUrl}/confirmation`, { verificationCode });
15577
+ return this.http.post(`${this.apiUrl}/confirmation`, { verificationCode })
15578
+ .pipe(catchError((error) => {
15579
+ // success tracked on back-end side to attach it to existing user before login
15580
+ this.mpService.track('emailConfirmError', { verificationCode });
15581
+ return throwError(error);
15582
+ }));
15454
15583
  }
15455
15584
  /**
15456
15585
  * Search existing user
@@ -15501,18 +15630,20 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
15501
15630
  } });
15502
15631
 
15503
15632
  class FinancialYearService {
15504
- constructor(http, environment) {
15633
+ constructor(http, environment, mpService) {
15505
15634
  this.http = http;
15506
15635
  this.environment = environment;
15636
+ this.mpService = mpService;
15507
15637
  }
15508
15638
  switch(year) {
15509
15639
  return this.http.get(`${this.environment.apiV2}/financial-year/switch`, { params: new HttpParams({ fromString: `financialYear=${year}` }) }).pipe(map(() => {
15510
15640
  localStorage.setItem('financialYear', year.toString());
15641
+ this.mpService.track('switchYear', { year });
15511
15642
  window.location.reload();
15512
15643
  }));
15513
15644
  }
15514
15645
  }
15515
- 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 });
15646
+ 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 });
15516
15647
  FinancialYearService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearService, providedIn: 'root' });
15517
15648
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImport: i0, type: FinancialYearService, decorators: [{
15518
15649
  type: Injectable,
@@ -15523,7 +15654,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "15.2.4", ngImpor
15523
15654
  return [{ type: i1.HttpClient }, { type: undefined, decorators: [{
15524
15655
  type: Inject,
15525
15656
  args: ['environment']
15526
- }] }];
15657
+ }] }, { type: MixpanelService }];
15527
15658
  } });
15528
15659
 
15529
15660
  class HoldingService extends RestService$1 {
@@ -19974,13 +20105,6 @@ var UserEventStatusEnum;
19974
20105
  UserEventStatusEnum[UserEventStatusEnum["OUTDATED"] = 5] = "OUTDATED";
19975
20106
  })(UserEventStatusEnum || (UserEventStatusEnum = {}));
19976
20107
 
19977
- var UserEventTypeFrequencyEnum;
19978
- (function (UserEventTypeFrequencyEnum) {
19979
- UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["DAILY"] = 1] = "DAILY";
19980
- UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["WEEKLY"] = 2] = "WEEKLY";
19981
- UserEventTypeFrequencyEnum[UserEventTypeFrequencyEnum["MONTHLY"] = 3] = "MONTHLY";
19982
- })(UserEventTypeFrequencyEnum || (UserEventTypeFrequencyEnum = {}));
19983
-
19984
20108
  var UserEventTypeUserTypeEnum;
19985
20109
  (function (UserEventTypeUserTypeEnum) {
19986
20110
  UserEventTypeUserTypeEnum[UserEventTypeUserTypeEnum["REGISTERED"] = 1000] = "REGISTERED";
@@ -22464,12 +22588,15 @@ class MyTaxLossesForm extends AbstractForm {
22464
22588
  }
22465
22589
  }
22466
22590
 
22591
+ /**
22592
+ * @TODO separate into 2 forms
22593
+ */
22467
22594
  class MyTaxMedicareForm extends AbstractForm {
22468
- constructor(user) {
22595
+ constructor(user, annualClientDetails = plainToClass(AnnualClientDetails, {})) {
22469
22596
  super({
22470
- hasDependants: new UntypedFormControl(!!user.clientDetails.dependants),
22471
- dependants: new UntypedFormControl(user.clientDetails.dependants, Validators.required),
22472
- privateHealthCare: new UntypedFormControl(user.clientDetails.privateHealthCare),
22597
+ hasDependants: new UntypedFormControl(!!annualClientDetails.dependants),
22598
+ dependants: new UntypedFormControl(annualClientDetails.dependants, Validators.required),
22599
+ privateHealthCare: new UntypedFormControl(annualClientDetails.privateHealthCare),
22473
22600
  hasMedicareExemption: new UntypedFormControl(!!user.clientDetails.medicareExemption),
22474
22601
  medicareExemption: new UntypedFormControl(user.clientDetails.medicareExemption, Validators.required),
22475
22602
  });
@@ -23576,5 +23703,5 @@ var MessagesEnum;
23576
23703
  * Generated bundle index. Do not edit.
23577
23704
  */
23578
23705
 
23579
- 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 };
23706
+ 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 };
23580
23707
  //# sourceMappingURL=taxtank-core.mjs.map