taxtank-core 0.23.1 → 0.23.4

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 (30) hide show
  1. package/bundles/taxtank-core.umd.js +246 -111
  2. package/bundles/taxtank-core.umd.js.map +1 -1
  3. package/esm2015/lib/collections/property/property-sale/property-sale.collection.js +16 -0
  4. package/esm2015/lib/collections/property/property.collection.js +13 -1
  5. package/esm2015/lib/forms/bank/bank-account/bank-account-properties.form.js +11 -3
  6. package/esm2015/lib/forms/report/my-tax/index.js +2 -1
  7. package/esm2015/lib/forms/report/my-tax/my-tax-cgt.form.js +25 -0
  8. package/esm2015/lib/models/property/property-sale/property-sale.js +10 -1
  9. package/esm2015/lib/models/property/property.js +13 -1
  10. package/esm2015/lib/models/report/my-tax/index.js +3 -1
  11. package/esm2015/lib/models/report/my-tax/my-tax-cgt/cgt-exemption-and-rollover-code.enum.js +9 -0
  12. package/esm2015/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.js +26 -0
  13. package/esm2015/lib/services/http/tutorial-video/tutorial-video.service.js +8 -2
  14. package/esm2015/lib/services/http/tutorial-video/video-source.interface.js +1 -1
  15. package/esm2015/public-api.js +2 -2
  16. package/fesm2015/taxtank-core.js +225 -108
  17. package/fesm2015/taxtank-core.js.map +1 -1
  18. package/lib/collections/property/property-sale/property-sale.collection.d.ts +10 -0
  19. package/lib/collections/property/property.collection.d.ts +8 -0
  20. package/lib/forms/bank/bank-account/bank-account-properties.form.d.ts +5 -0
  21. package/lib/forms/report/my-tax/index.d.ts +1 -0
  22. package/lib/forms/report/my-tax/my-tax-cgt.form.d.ts +5 -0
  23. package/lib/models/property/property-sale/property-sale.d.ts +5 -0
  24. package/lib/models/property/property.d.ts +10 -0
  25. package/lib/models/report/my-tax/index.d.ts +2 -0
  26. package/lib/models/report/my-tax/my-tax-cgt/cgt-exemption-and-rollover-code.enum.d.ts +7 -0
  27. package/lib/models/report/my-tax/my-tax-cgt/my-tax-cgt.d.ts +23 -0
  28. package/lib/services/http/tutorial-video/video-source.interface.d.ts +5 -0
  29. package/package.json +1 -1
  30. package/public-api.d.ts +1 -1
@@ -3730,6 +3730,13 @@ class Property extends Property$1 {
3730
3730
  isOneYearExemptionApplicable(sale) {
3731
3731
  return sale.grossCGT > 0 && this.getOwnershipDuration(sale, 'years') > 0;
3732
3732
  }
3733
+ /**
3734
+ * CGT is not applicable for properties acquired before 20.09.1985 (tax didn't exist before this date).
3735
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Capital gains or losses" section)
3736
+ */
3737
+ isCGTApplicable() {
3738
+ return this.contractDate >= Property.preCGTAssetDate;
3739
+ }
3733
3740
  /**
3734
3741
  * ownership duration from purchase till sale
3735
3742
  */
@@ -3745,6 +3752,11 @@ class Property extends Property$1 {
3745
3752
  return transactions.cashPosition - Math.abs(depreciations.claimAmount);
3746
3753
  }
3747
3754
  }
3755
+ /**
3756
+ * Property acquired before 20 September 1985 will generally be treated as pre-Capital Gains Tax (CGT) assets.
3757
+ * Any assets acquired before this day are CGT exempt (because the tax didn't exist before this date).
3758
+ */
3759
+ Property.preCGTAssetDate = new Date(1985, 9, 20);
3748
3760
  __decorate([
3749
3761
  Type(() => Date)
3750
3762
  ], Property.prototype, "contractDate", void 0);
@@ -5150,6 +5162,12 @@ class PropertyCollection extends Collection {
5150
5162
  getSharedProperties() {
5151
5163
  return new PropertyCollection(this.items.filter((property) => !property.isOwn()));
5152
5164
  }
5165
+ /**
5166
+ * Properties that are taxed and will be included in reports (Tax summary, My tax report, e.t.c.)
5167
+ */
5168
+ getTaxInclusive() {
5169
+ return this.create(this.items.filter((property) => property.category.isTaxInclusive));
5170
+ }
5153
5171
  getUnsold() {
5154
5172
  return this.create(this.items.filter((property) => !property.isSold()));
5155
5173
  }
@@ -5174,6 +5192,12 @@ class PropertyCollection extends Collection {
5174
5192
  get marketValueGrowth() {
5175
5193
  return (this.marketValue - this.purchasePrice) / this.purchasePrice;
5176
5194
  }
5195
+ /**
5196
+ * list of properties
5197
+ */
5198
+ getCGTApplicable() {
5199
+ return this.create(this.items.filter((property) => property.isCGTApplicable()));
5200
+ }
5177
5201
  getOwnerOccupiedProperties() {
5178
5202
  return new PropertyCollection(this.items.filter((property) => property.category.isOwnerOccupied()));
5179
5203
  }
@@ -5228,6 +5252,21 @@ class PropertyCollection extends Collection {
5228
5252
  }
5229
5253
  }
5230
5254
 
5255
+ class PropertySaleCollection extends Collection {
5256
+ get grossCGT() {
5257
+ return this.create(this.items.filter((propertySale) => propertySale.grossCGT > 0)).sumBy('grossCGT');
5258
+ }
5259
+ /**
5260
+ * Property sales are CGT applicable unless it has "Principle place of residence" exemption type
5261
+ */
5262
+ getCGTApplicable() {
5263
+ return this.create(this.items.filter((propertySale) => propertySale.isCGTApplicable()));
5264
+ }
5265
+ getByPropertyShareIds(ids) {
5266
+ return this.filterBy('share.id', ids);
5267
+ }
5268
+ }
5269
+
5231
5270
  /**
5232
5271
  * Enum with symbols based on depreciation LVP asset type
5233
5272
  */
@@ -5832,53 +5871,6 @@ class VehicleCollection extends Collection {
5832
5871
  }
5833
5872
  }
5834
5873
 
5835
- /**
5836
- * @TODO Alex/Vik: think and create some new collection type
5837
- * @TODO Alex: research all constants and make the same structure
5838
- */
5839
- class ChartAccountsCategoryECollection {
5840
- constructor(items) {
5841
- this.items = items || [
5842
- ChartAccountsCategoryEnum.PROPERTY_INCOME,
5843
- ChartAccountsCategoryEnum.PROPERTY_EXPENSE,
5844
- ChartAccountsCategoryEnum.PROPERTY_DEPRECIATION,
5845
- ChartAccountsCategoryEnum.PROPERTY_CAPITAL_WORKS,
5846
- ChartAccountsCategoryEnum.WORK_DEPRECIATION,
5847
- ChartAccountsCategoryEnum.WORK_INCOME,
5848
- ChartAccountsCategoryEnum.WORK_EXPENSE,
5849
- ChartAccountsCategoryEnum.OTHER_INCOME,
5850
- ChartAccountsCategoryEnum.OTHER_EXPENSE,
5851
- ChartAccountsCategoryEnum.PERSONAL_INCOME,
5852
- ChartAccountsCategoryEnum.PERSONAL_EXPENSE,
5853
- ChartAccountsCategoryEnum.SOLE_INCOME,
5854
- ChartAccountsCategoryEnum.SOLE_EXPENSE,
5855
- ChartAccountsCategoryEnum.SOLE_DEPRECIATION
5856
- ];
5857
- }
5858
- getByType(types) {
5859
- if (!Array.isArray(types)) {
5860
- types = [types];
5861
- }
5862
- const items = [];
5863
- types.forEach((type) => {
5864
- const filtered = this.items.filter((item) => ChartAccountsCategoryEnum[item].includes(type.toUpperCase()));
5865
- items.push(...filtered);
5866
- });
5867
- return new ChartAccountsCategoryECollection(items);
5868
- }
5869
- getByTankType(tankTypes) {
5870
- if (!Array.isArray(tankTypes)) {
5871
- tankTypes = [tankTypes];
5872
- }
5873
- const items = [];
5874
- tankTypes.forEach((tankType) => {
5875
- const filtered = this.items.filter((item) => ChartAccountsCategoryEnum[item].includes(tankType.toUpperCase()));
5876
- items.push(...filtered);
5877
- });
5878
- return new ChartAccountsCategoryECollection(items);
5879
- }
5880
- }
5881
-
5882
5874
  var ChartAccountsEtpEnum;
5883
5875
  (function (ChartAccountsEtpEnum) {
5884
5876
  ChartAccountsEtpEnum[ChartAccountsEtpEnum["ETP_R"] = 549] = "ETP_R";
@@ -6603,6 +6595,53 @@ __decorate([
6603
6595
  Type(() => ChartSerie)
6604
6596
  ], ChartData.prototype, "data", void 0);
6605
6597
 
6598
+ /**
6599
+ * @TODO Alex/Vik: think and create some new collection type
6600
+ * @TODO Alex: research all constants and make the same structure
6601
+ */
6602
+ class ChartAccountsCategoryECollection {
6603
+ constructor(items) {
6604
+ this.items = items || [
6605
+ ChartAccountsCategoryEnum.PROPERTY_INCOME,
6606
+ ChartAccountsCategoryEnum.PROPERTY_EXPENSE,
6607
+ ChartAccountsCategoryEnum.PROPERTY_DEPRECIATION,
6608
+ ChartAccountsCategoryEnum.PROPERTY_CAPITAL_WORKS,
6609
+ ChartAccountsCategoryEnum.WORK_DEPRECIATION,
6610
+ ChartAccountsCategoryEnum.WORK_INCOME,
6611
+ ChartAccountsCategoryEnum.WORK_EXPENSE,
6612
+ ChartAccountsCategoryEnum.OTHER_INCOME,
6613
+ ChartAccountsCategoryEnum.OTHER_EXPENSE,
6614
+ ChartAccountsCategoryEnum.PERSONAL_INCOME,
6615
+ ChartAccountsCategoryEnum.PERSONAL_EXPENSE,
6616
+ ChartAccountsCategoryEnum.SOLE_INCOME,
6617
+ ChartAccountsCategoryEnum.SOLE_EXPENSE,
6618
+ ChartAccountsCategoryEnum.SOLE_DEPRECIATION
6619
+ ];
6620
+ }
6621
+ getByType(types) {
6622
+ if (!Array.isArray(types)) {
6623
+ types = [types];
6624
+ }
6625
+ const items = [];
6626
+ types.forEach((type) => {
6627
+ const filtered = this.items.filter((item) => ChartAccountsCategoryEnum[item].includes(type.toUpperCase()));
6628
+ items.push(...filtered);
6629
+ });
6630
+ return new ChartAccountsCategoryECollection(items);
6631
+ }
6632
+ getByTankType(tankTypes) {
6633
+ if (!Array.isArray(tankTypes)) {
6634
+ tankTypes = [tankTypes];
6635
+ }
6636
+ const items = [];
6637
+ tankTypes.forEach((tankType) => {
6638
+ const filtered = this.items.filter((item) => ChartAccountsCategoryEnum[item].includes(tankType.toUpperCase()));
6639
+ items.push(...filtered);
6640
+ });
6641
+ return new ChartAccountsCategoryECollection(items);
6642
+ }
6643
+ }
6644
+
6606
6645
  class ChartAccountsDepreciation$1 extends AbstractModel {
6607
6646
  }
6608
6647
 
@@ -7631,6 +7670,14 @@ class PropertySale extends PropertySale$1 {
7631
7670
  get saleCostsTotalAmount() {
7632
7671
  return this.commission + this.legalFees + this.otherCost;
7633
7672
  }
7673
+ /**
7674
+ * CGT is not applicable for sales with "Principle place of residence" exemption type.
7675
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Capital gains or losses" section)
7676
+ */
7677
+ isCGTApplicable() {
7678
+ var _a;
7679
+ return ((_a = this.taxExemption) === null || _a === void 0 ? void 0 : _a.id) !== TaxExemptionEnum.PPR;
7680
+ }
7634
7681
  }
7635
7682
  __decorate([
7636
7683
  Type(() => Number)
@@ -7674,6 +7721,40 @@ class MyTaxBusinessOrLosses {
7674
7721
  }
7675
7722
  }
7676
7723
 
7724
+ ;
7725
+ /**
7726
+ * Report related to Property sales CGT details.
7727
+ * All fields are about current year, except netCapitalLoss
7728
+ *
7729
+ */
7730
+ class MyTaxCgt {
7731
+ static createFrom(propertySales, properties, clientCapitalLoss) {
7732
+ return plainToClass(MyTaxCgt, {
7733
+ hasCapitalGain: !!propertySales.grossCGT,
7734
+ hasExemption: this.isCGTApplicable(propertySales, properties),
7735
+ netCapitalGain: propertySales.sumBy('netCGT'),
7736
+ grossCapitalGain: propertySales.grossCGT,
7737
+ netCapitalLoss: clientCapitalLoss
7738
+ });
7739
+ }
7740
+ /**
7741
+ * Exemption is applicable for PPR sales and properties acquired before Property.preCGTAssetDate
7742
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Capital gains or losses" section)
7743
+ */
7744
+ static isCGTApplicable(sales, properties) {
7745
+ return !sales.getCGTApplicable().length || !properties.getCGTApplicable().length;
7746
+ }
7747
+ }
7748
+
7749
+ /**
7750
+ * https://taxtank.atlassian.net/wiki/spaces/TAXTANK/pages/4644110466/Tax+Return+MyTax+-+Online+Form ("Capital gains or losses" section)
7751
+ */
7752
+ var CgtExemptionAndRolloverCodeEnum;
7753
+ (function (CgtExemptionAndRolloverCodeEnum) {
7754
+ CgtExemptionAndRolloverCodeEnum[CgtExemptionAndRolloverCodeEnum["MAIN_RESIDENT_EXEMPTION_I"] = 0] = "MAIN_RESIDENT_EXEMPTION_I";
7755
+ CgtExemptionAndRolloverCodeEnum[CgtExemptionAndRolloverCodeEnum["PRE_CGT_ASSET_J"] = 1] = "PRE_CGT_ASSET_J";
7756
+ })(CgtExemptionAndRolloverCodeEnum || (CgtExemptionAndRolloverCodeEnum = {}));
7757
+
7677
7758
  /**
7678
7759
  * Const with the categories for my-tax 'Deductions' report.
7679
7760
  * Grouped by ChartAccountsHeadingListEnum / ChartAccountsListEnum based on rules from documentation
@@ -12960,7 +13041,13 @@ class TutorialVideoService {
12960
13041
  }
12961
13042
  get() {
12962
13043
  return this.http.get(`${TutorialVideoService.googleUrl}&q='${TutorialVideoService.parents}'+in+parents&key=${this.environment.googleDriveId}`)
12963
- .pipe(map((response) => response.files));
13044
+ .pipe(map((response) => {
13045
+ // video has a title like "1. Title".
13046
+ response.files.forEach((item) => {
13047
+ item.name = item.name.split('.', 2)[1];
13048
+ });
13049
+ return response.files;
13050
+ }));
12964
13051
  }
12965
13052
  }
12966
13053
  TutorialVideoService.googleUrl = `https://www.googleapis.com/drive/v3/files?fields=*&mimeType='video/mp4'&orderBy=name`;
@@ -13089,6 +13176,27 @@ class AbstractForm extends FormGroup {
13089
13176
  }
13090
13177
  }
13091
13178
 
13179
+ /**
13180
+ * Check if at least one form field is true, otherwise form is invalid.
13181
+ * Use with groups of boolean form controls (checkbox, toggle, etc.)
13182
+ */
13183
+ function atLeastOneCheckedValidator() {
13184
+ return (formGroup) => {
13185
+ return Object.values(formGroup.controls)
13186
+ .find((control) => control.value) ? null : { nothingChecked: true };
13187
+ };
13188
+ }
13189
+
13190
+ /**
13191
+ * Validation function for autocomplete fields. Checks that the user should select a value from a list rather than type in input field
13192
+ * @TODO Alex: create class AppValidators with static methods and move there all custom validators (line Angular Validators)
13193
+ */
13194
+ function autocompleteValidator() {
13195
+ return (control) => {
13196
+ return (!control.value || (typeof control.value === 'object')) ? null : { notFromList: true };
13197
+ };
13198
+ }
13199
+
13092
13200
  function conditionalValidator(condition, validator) {
13093
13201
  return function (control) {
13094
13202
  revalidateOnChanges(control);
@@ -13114,6 +13222,43 @@ function revalidateOnChanges(control) {
13114
13222
  return;
13115
13223
  }
13116
13224
 
13225
+ /**
13226
+ * Regular expressions that are used to check password strength and valid values
13227
+ */
13228
+ const PASSWORD_REGEXPS = {
13229
+ medium: /(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})/,
13230
+ strong: /(((?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]))|((?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*]))|((?=.*[A-Z])(?=.*[0-9]))(?=.*[!@#$%^&*]))(?=.{8,})/,
13231
+ format: /^[0-9a-zA-Z!@$!%*?&#]*$/
13232
+ };
13233
+ function passwordValidator() {
13234
+ return (control) => {
13235
+ if (!PASSWORD_REGEXPS.format.test(control.value)) {
13236
+ return { passwordInvalid: true };
13237
+ }
13238
+ if (!PASSWORD_REGEXPS.medium.test(control.value)) {
13239
+ return { passwordWeak: true };
13240
+ }
13241
+ return null;
13242
+ };
13243
+ }
13244
+
13245
+ function passwordMatchValidator(newPassControlName, confirmPassControlName) {
13246
+ return (group) => {
13247
+ const passwordControl = group.get(newPassControlName);
13248
+ const confirmControl = group.get(confirmPassControlName);
13249
+ if (confirmControl.errors && !confirmControl.hasError('passwordMismatch')) {
13250
+ // return if another validator has already found an error on the confirmControl
13251
+ return this;
13252
+ }
13253
+ if (passwordControl.value !== confirmControl.value) {
13254
+ confirmControl.setErrors({ passwordMismatch: true });
13255
+ }
13256
+ else {
13257
+ confirmControl.setErrors(null);
13258
+ }
13259
+ };
13260
+ }
13261
+
13117
13262
  /**
13118
13263
  * Validator that check if sum amount of provided fields is greater than provided sum
13119
13264
  * @param field to check in each formArray element
@@ -13161,7 +13306,7 @@ class BankAccountPropertiesForm extends FormArray {
13161
13306
  this.push(new FormGroup({
13162
13307
  property: new FormControl(null, Validators.required),
13163
13308
  // @TODO disable for loans
13164
- percent: new FormControl({ value: 100, disabled: !this.at(0).contains('percent') }, Validators.required),
13309
+ percent: new FormControl({ value: this.getRemainingPercent(), disabled: !this.at(0).contains('percent') }, Validators.required),
13165
13310
  // @TODO enable for loans
13166
13311
  // amount: new FormControl(
13167
13312
  // {value: this.bankAccount.currentBalance * bankAccountProperty.percent / 100},
@@ -13190,6 +13335,14 @@ class BankAccountPropertiesForm extends FormArray {
13190
13335
  propertyFormGroup.get('percent').disable();
13191
13336
  });
13192
13337
  }
13338
+ /**
13339
+ * Percentage available for adding a new bank account property.
13340
+ * Remaining percent can't be more than 100 and less than 0
13341
+ */
13342
+ getRemainingPercent() {
13343
+ const currentTotalPercent = this.controls.reduce((sum, control) => sum + control.get('percent').value, 0);
13344
+ return currentTotalPercent < 100 ? 100 - currentTotalPercent : 0;
13345
+ }
13193
13346
  }
13194
13347
 
13195
13348
  class BankAccountAllocationForm extends AbstractForm {
@@ -13382,64 +13535,6 @@ class BankLoginForm extends AbstractForm {
13382
13535
  }
13383
13536
  }
13384
13537
 
13385
- /**
13386
- * Check if at least one form field is true, otherwise form is invalid.
13387
- * Use with groups of boolean form controls (checkbox, toggle, etc.)
13388
- */
13389
- function atLeastOneCheckedValidator() {
13390
- return (formGroup) => {
13391
- return Object.values(formGroup.controls)
13392
- .find((control) => control.value) ? null : { nothingChecked: true };
13393
- };
13394
- }
13395
-
13396
- /**
13397
- * Validation function for autocomplete fields. Checks that the user should select a value from a list rather than type in input field
13398
- * @TODO Alex: create class AppValidators with static methods and move there all custom validators (line Angular Validators)
13399
- */
13400
- function autocompleteValidator() {
13401
- return (control) => {
13402
- return (!control.value || (typeof control.value === 'object')) ? null : { notFromList: true };
13403
- };
13404
- }
13405
-
13406
- /**
13407
- * Regular expressions that are used to check password strength and valid values
13408
- */
13409
- const PASSWORD_REGEXPS = {
13410
- medium: /(((?=.*[a-z])(?=.*[A-Z]))|((?=.*[a-z])(?=.*[0-9]))|((?=.*[A-Z])(?=.*[0-9])))(?=.{6,})/,
13411
- strong: /(((?=.*[a-z])(?=.*[A-Z])(?=.*[!@#$%^&*]))|((?=.*[a-z])(?=.*[0-9])(?=.*[!@#$%^&*]))|((?=.*[A-Z])(?=.*[0-9]))(?=.*[!@#$%^&*]))(?=.{8,})/,
13412
- format: /^[0-9a-zA-Z!@$!%*?&#]*$/
13413
- };
13414
- function passwordValidator() {
13415
- return (control) => {
13416
- if (!PASSWORD_REGEXPS.format.test(control.value)) {
13417
- return { passwordInvalid: true };
13418
- }
13419
- if (!PASSWORD_REGEXPS.medium.test(control.value)) {
13420
- return { passwordWeak: true };
13421
- }
13422
- return null;
13423
- };
13424
- }
13425
-
13426
- function passwordMatchValidator(newPassControlName, confirmPassControlName) {
13427
- return (group) => {
13428
- const passwordControl = group.get(newPassControlName);
13429
- const confirmControl = group.get(confirmPassControlName);
13430
- if (confirmControl.errors && !confirmControl.hasError('passwordMismatch')) {
13431
- // return if another validator has already found an error on the confirmControl
13432
- return this;
13433
- }
13434
- if (passwordControl.value !== confirmControl.value) {
13435
- confirmControl.setErrors({ passwordMismatch: true });
13436
- }
13437
- else {
13438
- confirmControl.setErrors(null);
13439
- }
13440
- };
13441
- }
13442
-
13443
13538
  class ClientIncomeTypesForm extends AbstractForm {
13444
13539
  constructor(clientIncomeTypes) {
13445
13540
  super({
@@ -13642,6 +13737,28 @@ class MyTaxBusinessOrLossesForm extends AbstractForm {
13642
13737
  }
13643
13738
  }
13644
13739
 
13740
+ class MyTaxCgtForm extends AbstractForm {
13741
+ constructor(gainsOrLosses) {
13742
+ super({
13743
+ hasCapitalGain: new FormControl(gainsOrLosses.hasCapitalGain),
13744
+ hasExemption: new FormControl(gainsOrLosses.hasExemption),
13745
+ exemptionType: new FormControl(null, conditionalValidator(() => this.get('hasExemption').value, Validators.required)),
13746
+ netCapitalGain: new FormControl({
13747
+ value: gainsOrLosses.netCapitalGain,
13748
+ disabled: true
13749
+ }),
13750
+ grossCapitalGain: new FormControl({
13751
+ value: gainsOrLosses.grossCapitalGain,
13752
+ disabled: true
13753
+ }),
13754
+ netCapitalLoss: new FormControl({
13755
+ value: gainsOrLosses.netCapitalLoss,
13756
+ disabled: true
13757
+ })
13758
+ });
13759
+ }
13760
+ }
13761
+
13645
13762
  class MyTaxDeductionsForm extends AbstractForm {
13646
13763
  constructor(deductions) {
13647
13764
  var _a;
@@ -14032,5 +14149,5 @@ class SoleDetailsForm extends AbstractForm {
14032
14149
  * Generated bundle index. Do not edit.
14033
14150
  */
14034
14151
 
14035
- export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountLoanForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasiqConfig, BasiqJob, BasiqService, BasiqToken, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEFAULT_VEHICLE_EXPENSE, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookPeriod, LoginForm, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessOrLosses, MyTaxBusinessOrLossesForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEmployeeShareSchemes, MyTaxEmployeeShareSchemesForm, 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, PdfOrientationEnum, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, SUBSCRIPTION_DESCRIPTION, SUBSCRIPTION_TITLE, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentStatusEnum, ServicePrice, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductIdEnum, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessAllocation, SoleBusinessForm, SoleBusinessLoss, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceItem, SoleInvoiceTemplate, SpareDocumentSpareTypeEnum, SseService, SubscriptionService, SubscriptionTypeEnum, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, Vehicle, VehicleClaim, VehicleClaimForm, VehicleClaimMethodEnum, VehicleClaimService, VehicleCollection, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WORK_TANK_LOGBOOK_PURPOSE_OPTIONS, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, displayMatOptions, enumToList, getDocIcon, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
14152
+ export { AbstractForm, AbstractModel, AccountSetupItem, AccountSetupItemCollection, AccountSetupService, Address, AddressService, AddressTypeEnum, AlphabetColorsEnum, AppEvent, AppEventTypeEnum, AssetEntityTypeEnum, AssetTypeEnum, AssetsService, AuthService, BANK_ACCOUNT_TYPES, Badge, BadgeColorEnum, Bank, BankAccount, BankAccountAddManualForm, BankAccountAllocationForm, BankAccountCalculationService, BankAccountChartData, BankAccountCollection, BankAccountImportForm, BankAccountLoanForm, BankAccountPropertiesForm, BankAccountProperty, BankAccountService, BankAccountStatusEnum, BankAccountTypeEnum, BankAccountsImportForm, BankConnection, BankConnectionService, BankConnectionStatusEnum, BankLoginData, BankLoginForm, BankService, BankTransaction, BankTransactionCalculationService, BankTransactionChartData, BankTransactionCollection, BankTransactionService, BankTransactionSummaryFieldsEnum, BankTransactionTypeEnum, BasiqConfig, BasiqJob, BasiqService, BasiqToken, BorrowingExpense, BorrowingExpenseLoan, BorrowingExpenseService, CAPITAL_COSTS_ITEMS, CHART_ACCOUNTS_CATEGORIES, CalculationFormItem, CalculationFormTypeEnum, CgtExemptionAndRolloverCodeEnum, ChartAccounts, ChartAccountsCategoryECollection, ChartAccountsCategoryEnum, ChartAccountsCollection, ChartAccountsDepreciation, ChartAccountsDepreciationService, ChartAccountsEtpEnum, ChartAccountsHeading, ChartAccountsHeadingListEnum, ChartAccountsHeadingTaxDeductibleEnum, ChartAccountsHeadingTaxableEnum, ChartAccountsHeadingVehicleListEnum, ChartAccountsListEnum, ChartAccountsMetadata, ChartAccountsMetadataListEnum, ChartAccountsMetadataTypeEnum, ChartAccountsService, ChartAccountsTaxLabelsEnum, ChartAccountsTypeEnum, ChartAccountsValue, ChartData, ChartSerie, Chat, ChatService, ChatStatusEnum, ChatViewTypeEnum, ClientCollection, ClientDetails, ClientDetailsMedicareExemptionEnum, ClientDetailsWorkDepreciationCalculationEnum, ClientDetailsWorkingHolidayMakerEnum, ClientIncomeTypes, ClientIncomeTypesForm, ClientIncomeTypesService, ClientInvite, ClientInviteService, ClientInviteStatusEnum, ClientInviteTypeEnum, ClientMovement, ClientMovementCollection, ClientMovementService, ClientPortfolioChartData, ClientPortfolioReport, ClientPortfolioReportCollection, ClientPortfolioReportService, Collection, CollectionDictionary, CorelogicService, CorelogicSuggestion, Country, DEDUCTION_CATEGORIES, DEFAULT_VEHICLE_EXPENSE, DEPRECIATION_GROUPS, DOCUMENT_FILE_TYPES, DeductionClothingTypeEnum, DeductionSelfEducationTypeEnum, Depreciation, DepreciationCalculationEnum, DepreciationCalculationPercentEnum, DepreciationCapitalProject, DepreciationCapitalProjectService, DepreciationCollection, DepreciationForecast, DepreciationForecastCollection, DepreciationGroup, DepreciationGroupEnum, DepreciationGroupItem, DepreciationLvpAssetTypeEnum, DepreciationLvpReportItem, DepreciationLvpReportItemCollection, DepreciationReceipt, DepreciationReportItem, DepreciationReportItemCollection, DepreciationService, DepreciationTypeEnum, DepreciationWriteOffAmountEnum, Dictionary, Document, DocumentApiUrlPrefixEnum, DocumentFolder, DocumentFolderService, ENDPOINTS, EmployeeCollection, EmployeeDetails, EmployeeInvite, EmployeeInviteService, EmployeeService, Endpoint, EquityPositionChartService, EventDispatcherService, ExportDataTable, ExportFormatEnum, ExportFormatterService, ExportableCollection, FacebookService, FinancialYear, Firm, FirmService, FirmTypeEnum, HeaderTitleService, IconsFileEnum, IncomeAmountTypeEnum, IncomePosition, IncomeSource, IncomeSourceChartData, IncomeSourceCollection, IncomeSourceForecast, IncomeSourceForecastService, IncomeSourceForecastTrustTypeEnum, IncomeSourceService, IncomeSourceType, IncomeSourceTypeEnum, IncomeSourceTypeListOtherEnum, IncomeSourceTypeListSoleEnum, IncomeSourceTypeListWorkEnum, InterceptorsModule, IntercomService, InviteStatusEnum, JwtService, KompassifyService, Loan, LoanBankTypeEnum, LoanCollection, LoanFrequencyEnum, LoanInterestTypeEnum, LoanMaxNumberOfPaymentsEnum, LoanPayment, LoanPaymentCollection, LoanPayout, LoanPayoutTypeEnum, LoanRepaymentFrequencyEnum, LoanRepaymentTypeEnum, LoanService, LoanTypeEnum, LoanVehicleTypeEnum, LogbookPeriod, LoginForm, MODULE_URL_LIST, MONTHS, Message, MessageCollection, MessageDocument, MessageDocumentCollection, MessageDocumentService, MessageService, MonthNameShortEnum, MonthNumberEnum, MyAccountHistory, MyAccountHistoryInitiatedByEnum, MyAccountHistoryStatusEnum, MyAccountHistoryTypeEnum, MyTaxBusinessOrLosses, MyTaxBusinessOrLossesForm, MyTaxCgt, MyTaxCgtForm, MyTaxDeductions, MyTaxDeductionsForm, MyTaxDividends, MyTaxDividendsForm, MyTaxEmployeeShareSchemes, MyTaxEmployeeShareSchemesForm, 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, PdfOrientationEnum, PdfSettings, Phone, PhoneTypeEnum, PreloaderService, Property, PropertyCalculationService, PropertyCategory, PropertyCategoryListEnum, PropertyCategoryMovement, PropertyCategoryMovementService, PropertyCategoryService, PropertyCollection, PropertyDepreciationCalculationEnum, PropertyDocument, PropertyDocumentService, PropertyEquityChartData, PropertyEquityChartItem, PropertyForecast, PropertyReportItem, PropertyReportItemCollection, PropertyReportItemDepreciationCollection, PropertyReportItemTransaction, PropertyReportItemTransactionCollection, PropertySale, PropertySaleCollection, PropertySaleService, PropertySaleTaxExemptionMetadata, PropertyService, PropertyShare, PropertyShareAccessEnum, PropertyShareService, PropertyShareStatusEnum, PropertySubscription, PropertyTransactionReportService, PropertyValuation, RegisterClientForm, RegisterFirmForm, RegistrationInvite, RegistrationInviteStatusEnum, ReportItem, ReportItemCollection, ReportItemDetails, ResetPasswordForm, SUBSCRIPTION_DESCRIPTION, SUBSCRIPTION_TITLE, SalaryForecast, SalaryForecastFrequencyEnum, SalaryForecastService, ServiceNotificationService, ServiceNotificationStatusEnum, ServiceNotificationTypeEnum, ServicePayment, ServicePaymentStatusEnum, ServicePrice, ServicePriceRecurringIntervalEnum, ServicePriceService, ServicePriceTypeEnum, ServiceProduct, ServiceProductIdEnum, ServiceProductStatusEnum, ServiceSubscription, ServiceSubscriptionCollection, ServiceSubscriptionItem, ServiceSubscriptionStatusEnum, ShareFilterOptionsEnum, SoleBusiness, SoleBusinessAllocation, SoleBusinessForm, SoleBusinessLoss, SoleBusinessService, SoleContact, SoleContactForm, SoleContactService, SoleDetails, SoleDetailsForm, SoleDetailsService, SoleForecast, SoleForecastService, SoleInvoice, SoleInvoiceItem, SoleInvoiceTemplate, SpareDocumentSpareTypeEnum, SseService, SubscriptionService, SubscriptionTypeEnum, TAX_RETURN_CATEGORIES, TYPE_LOAN, TankTypeEnum, TaxCalculationMedicareExemptionEnum, TaxCalculationTypeEnum, TaxExemption, TaxExemptionEnum, TaxExemptionMetadata, TaxExemptionMetadataEnum, TaxExemptionService, TaxReturnCategoryListEnum, TaxReturnCategorySectionEnum, TaxReview, TaxReviewCollection, TaxReviewHistoryService, TaxReviewService, TaxReviewStatusEnum, TaxSummary, TaxSummaryListEnum, TaxSummarySection, TaxSummarySectionEnum, TaxSummaryService, TaxSummaryTaxSummaryEnum, TaxSummaryTypeEnum, TicketFeedbackEnum, TicketStatusEnum, TicketTypesEnum, Toast, ToastService, ToastTypeEnum, Transaction, TransactionAllocation, TransactionAllocationCollection, TransactionAllocationService, TransactionBase, TransactionCalculationService, TransactionCategoryEnum, TransactionCollection, TransactionMetadata, TransactionOperationEnum, TransactionReceipt, TransactionService, TransactionSourceEnum, TransactionTypeEnum, TtCoreModule, TutorialVideoService, USER_ROLES, USER_WORK_POSITION, User, UserEventSetting, UserEventSettingCollection, UserEventSettingFieldEnum, UserEventSettingService, UserEventStatusEnum, UserEventType, UserEventTypeCategory, UserEventTypeClientTypeEnum, UserEventTypeEmployeeTypeEnum, UserEventTypeFrequencyEnum, UserEventTypeService, UserEventTypeUserTypeEnum, UserMedicareExemptionEnum, UserRolesEnum, UserService, UserStatusEnum, UserSwitcherService, UserTitleEnum, UserToRegister, UserWorkDepreciationCalculationEnum, UserWorkingHolidayMakerEnum, Vehicle, VehicleClaim, VehicleClaimForm, VehicleClaimMethodEnum, VehicleClaimService, VehicleCollection, VehicleExpense, VehicleExpenseCollection, VehicleForm, VehicleLogbook, VehicleLogbookCollection, VehicleLogbookPurposeEnum, VehicleLogbookService, VehicleService, WORK_TANK_LOGBOOK_PURPOSE_OPTIONS, XlsxService, atLeastOneCheckedValidator, atoLinks, autocompleteValidator, cloneDeep, compare, compareMatOptions, conditionalValidator, createDate, displayMatOptions, enumToList, getDocIcon, passwordMatchValidator, passwordValidator, replace, roundTo, sort, sortDeep, taxReviewFilterPredicate };
14036
14153
  //# sourceMappingURL=taxtank-core.js.map