@flarehr/apollo-super-selection 4.27.29425 → 4.29.30453

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 (56) hide show
  1. package/dist/lib/apollo-super-selection/apollo-super-selection.css +1 -1
  2. package/dist/lib/apollo-super-selection/apollo-super-selection.esm.js +1 -1
  3. package/dist/lib/apollo-super-selection/p-16367be3.system.entry.js +69 -0
  4. package/dist/lib/apollo-super-selection/{p-77f20abe.entry.js → p-29a35f2a.entry.js} +4 -4
  5. package/dist/lib/apollo-super-selection/p-bdcfc026.system.js +1 -1
  6. package/dist/lib/cjs/apollo-super-selection.cjs.js +1 -1
  7. package/dist/lib/cjs/loader.cjs.js +1 -1
  8. package/dist/lib/cjs/sss-button_30.cjs.entry.js +248 -199
  9. package/dist/lib/collection/apollo-super-selection.css +1 -1
  10. package/dist/lib/collection/components/super-selection-app/api/super-selection.api.dto.js +71 -86
  11. package/dist/lib/collection/components/super-selection-app/api/super-selection.api.js +12 -0
  12. package/dist/lib/collection/components/super-selection-app/consent/consent.js +2 -6
  13. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/default-fund/default-fund.js +1 -1
  14. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund.js +1 -7
  15. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.js +2 -5
  16. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/api/promoted-fund-choice.api.js +9 -0
  17. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/funds/hesta-default.js +23 -0
  18. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/promoted-fund.store.js +4 -5
  19. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/services/promoted-fund-join-v1-iframe-builder.js +1 -10
  20. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/services/promoted-fund-join-v2-iframe-builder.js +14 -14
  21. package/dist/lib/collection/components/super-selection-app/funds/slate-super/services/slate-iframe-builder.js +1 -8
  22. package/dist/lib/collection/components/super-selection-app/services/existing-super-choice-info.service.js +61 -45
  23. package/dist/lib/collection/components/super-selection-app/services/misc.service.js +7 -0
  24. package/dist/lib/collection/components/super-selection-app/services/super-selection-app.service.js +33 -0
  25. package/dist/lib/collection/components/super-selection-app/services/super-selection.store.js +4 -1
  26. package/dist/lib/collection/components/super-selection-app/super-choice-page/super-choice-item/super-choice-item-top.js +19 -1
  27. package/dist/lib/collection/components/super-selection-app/super-choice-page/super-choice-page.js +39 -11
  28. package/dist/lib/collection/utils/index.js +3 -0
  29. package/dist/lib/esm/apollo-super-selection.js +1 -1
  30. package/dist/lib/esm/loader.js +1 -1
  31. package/dist/lib/esm/sss-button_30.entry.js +248 -199
  32. package/dist/lib/esm-es5/apollo-super-selection.js +1 -1
  33. package/dist/lib/esm-es5/loader.js +1 -1
  34. package/dist/lib/esm-es5/sss-button_30.entry.js +4 -4
  35. package/dist/lib/types/components/super-selection-app/api/super-selection-events.model.d.ts +2 -6
  36. package/dist/lib/types/components/super-selection-app/api/super-selection.api.d.ts +3 -1
  37. package/dist/lib/types/components/super-selection-app/api/super-selection.api.dto.d.ts +35 -0
  38. package/dist/lib/types/components/super-selection-app/consent/consent.d.ts +0 -1
  39. package/dist/lib/types/components/super-selection-app/funds/custom-fund/api/custom-fund-choice.api.dto.d.ts +11 -7
  40. package/dist/lib/types/components/super-selection-app/funds/custom-fund/member-name-input.d.ts +1 -1
  41. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/api/promoted-fund-choice.api.d.ts +2 -1
  42. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/api/promoted-fund-choice.api.dto.d.ts +12 -0
  43. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/funds/hesta-default.d.ts +3 -0
  44. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/promoted-fund.store.d.ts +3 -2
  45. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/types.d.ts +2 -1
  46. package/dist/lib/types/components/super-selection-app/funds/slate-super/api/slate-choice.api.dto.d.ts +3 -0
  47. package/dist/lib/types/components/super-selection-app/services/existing-super-choice-info.service.d.ts +9 -1
  48. package/dist/lib/types/components/super-selection-app/services/misc.service.d.ts +6 -0
  49. package/dist/lib/types/components/super-selection-app/services/super-selection-app.service.d.ts +9 -1
  50. package/dist/lib/types/components/super-selection-app/services/super-selection.store.d.ts +4 -1
  51. package/dist/lib/types/components/super-selection-app/super-choice-page/super-choice-item/super-choice-item-top.d.ts +1 -0
  52. package/dist/lib/types/components/super-selection-app/super-choice-page/super-choice-page.d.ts +1 -0
  53. package/dist/lib/types/components.d.ts +2 -0
  54. package/dist/lib/types/utils/index.d.ts +1 -0
  55. package/package.json +1 -1
  56. package/dist/lib/apollo-super-selection/p-3457c8b6.system.entry.js +0 -69
@@ -260,7 +260,7 @@ class TapSubscriber extends Subscriber {
260
260
  }
261
261
  }
262
262
 
263
- const AppVersion = '4.27.29425';
263
+ const AppVersion = '4.29.30453';
264
264
 
265
265
  // -------------------------------------------------------------------------------------
266
266
  // guards
@@ -3301,6 +3301,18 @@ class SuperSelectionApi {
3301
3301
  })
3302
3302
  .json();
3303
3303
  }
3304
+ async getCampaignConnectAsync() {
3305
+ return buildBackendApiClient()
3306
+ .url('campaign-connect')
3307
+ .get()
3308
+ .notFound(() => {
3309
+ throw new Error('Failed to fetch campaign connect.');
3310
+ })
3311
+ .json();
3312
+ }
3313
+ async clickPromotedTileAsync(payload) {
3314
+ return buildBackendApiClient().url('click-promoted-tile').post(payload).res();
3315
+ }
3304
3316
  toSearchFilterQueryString(searchFilter) {
3305
3317
  return (`search=${searchFilter.searchString}` +
3306
3318
  (searchFilter.maxRecordCount > 0 ? '&maxRecordCount=' + searchFilter.maxRecordCount : ''));
@@ -3324,7 +3336,10 @@ const initialState = {
3324
3336
  accountConfiguration: Option.none,
3325
3337
  profileConfiguration: Option.none,
3326
3338
  hasSuccessPageBeenAcknowledged: false,
3327
- hasSuperSelectionBeenSubmitted: false
3339
+ hasSuperSelectionBeenSubmitted: false,
3340
+ campaignConnectEnabled: false,
3341
+ campaignConnectPromise: Option.none,
3342
+ campaignConnect: Option.none
3328
3343
  };
3329
3344
 
3330
3345
  class SuperSelectionAppService {
@@ -3361,11 +3376,29 @@ class SuperSelectionAppService {
3361
3376
  return this._state.appBaseUrl.value;
3362
3377
  }
3363
3378
  get promotedFunds() {
3379
+ if (this._state.campaignConnectEnabled && Option.isSome(this._state.campaignConnect)) {
3380
+ return this._state.campaignConnect.value.promotedFunds;
3381
+ }
3364
3382
  if (Option.isNone(this._state.promotedFunds)) {
3365
3383
  throw Error('Promoted Funds is not set');
3366
3384
  }
3367
3385
  return this._state.promotedFunds.value;
3368
3386
  }
3387
+ get promotedDefaultFundPosition() {
3388
+ if (this._state.campaignConnectEnabled && Option.isSome(this._state.campaignConnect)) {
3389
+ return Option.fromNullable(this._state.campaignConnect.value.promotedDefaultFundPosition);
3390
+ }
3391
+ return Option.none;
3392
+ }
3393
+ get promotedFundsConfig() {
3394
+ return {
3395
+ shownFunds: this.promotedFunds,
3396
+ promotedDefaultFundPosition: Option.toUndefined(this.promotedDefaultFundPosition),
3397
+ promotedFundsConfigSource: Option.isSome(this._state.campaignConnect)
3398
+ ? 'campaignConnect'
3399
+ : 'superSelection'
3400
+ };
3401
+ }
3369
3402
  get profileId() {
3370
3403
  if (Option.isNone(this._state.profileId)) {
3371
3404
  throw Error('Failed to get Profile ID from JWT');
@@ -3403,6 +3436,21 @@ class SuperSelectionAppService {
3403
3436
  this._state.profileConfiguration = Option.fromNullable(appStateResponse.profileConfiguration);
3404
3437
  this._state.superBuyer = Option.fromNullable(appStateResponse.superBuyer);
3405
3438
  this._state.promotedFunds = Option.fromNullable(appStateResponse.promotedFunds);
3439
+ this._state.campaignConnectEnabled = appStateResponse.campaignConnectEnabled;
3440
+ if (this._state.campaignConnectEnabled) {
3441
+ this._state.campaignConnectPromise = Option.fromNullable(superSelectionApi.getCampaignConnectAsync());
3442
+ }
3443
+ }
3444
+ async completeCampaignConnectRequestSafe() {
3445
+ if (this._state.campaignConnectEnabled) {
3446
+ try {
3447
+ const campaignConnect = await _function.pipe(this._state.campaignConnectPromise, Option.getOrElse(() => superSelectionApi.getCampaignConnectAsync()));
3448
+ this._state.campaignConnect = Option.fromNullable(campaignConnect);
3449
+ }
3450
+ catch (_a) {
3451
+ return;
3452
+ }
3453
+ }
3406
3454
  }
3407
3455
  }
3408
3456
  const superSelectionAppService = new SuperSelectionAppService();
@@ -3625,19 +3673,16 @@ const navigationService = new NavigationService();
3625
3673
  const Consent = class {
3626
3674
  constructor(hostRef) {
3627
3675
  registerInstance(this, hostRef);
3628
- this.promotedFunds = superSelectionAppService.promotedFunds;
3629
3676
  this.eventTrackingService = EventTrackingService.Instance;
3630
3677
  }
3631
3678
  componentDidLoad() {
3632
- const detail = { promotedFundsShown: this.promotedFunds };
3633
- return this.eventTrackingService.TrackSuperFundDisclaimerViewedAsync(detail);
3679
+ return this.eventTrackingService.TrackSuperFundDisclaimerViewedAsync({});
3634
3680
  }
3635
3681
  render() {
3636
3682
  return (h("div", null, h("div", { class: "text-2xl sm:text-3xl font-bold text-center leading-8" }, "Important information about super"), h("div", { class: "sm:text-lg text-gray-600 mt-3 sm:mt-4 max-w-800 text-center leading-7 sm:leading-8" }, "The choice of superannuation fund is an important personal financial decision. Next, you\u2019ll be asked to nominate a super fund to receive your employer contributions."), h("div", { class: "flex justify-center mt-8 sm:mt-12" }, h("div", { class: "border shadow-sm p-4 pb-6 sm:p-6 sm:pb-8 max-w-560 rounded-lg" }, h("div", { class: "sm:text-lg font-bold leading-6" }, "By clicking \u201CContinue\u201D you acknowledge that:"), h("ul", { class: "list-disc list-outside ml-6 mt-3 mb-6 space-y-2 text-sm leading-6" }, h("li", null, "Flare (we/us) provides this paperless employee management service, will feature superannuation funds and offer you employee benefits that you may be interested in;"), h("li", null, "all content contained in the following pages does not take into account any of your objectives, financial situation or needs and does not constitute financial product advice;"), h("li", null, "in featuring any superannuation funds, we, the technology partner you are accessing us via, or your employer, are not providing any opinion or recommendation (actual or implied) in relation to the suitability or appropriateness of the featured funds;"), h("li", null, "if you do choose one of the featured superannuation funds, we and our associates will normally receive a fee for you doing so;"), h("li", null, "in the event that you choose one of the featured superannuation funds, we may pass on your personal information and TFN to a related party for the purpose of completing your chosen fund's application form.")), h("sss-button", { fillWidth: true, promiseFn: () => this.handleSuperFundDisclaimerAccepted() }, "Continue")))));
3637
3683
  }
3638
3684
  async handleSuperFundDisclaimerAccepted() {
3639
- const detail = { promotedFundsShown: this.promotedFunds };
3640
- await this.eventTrackingService.TrackSuperFundDisclaimerAcceptedAsync(detail);
3685
+ await this.eventTrackingService.TrackSuperFundDisclaimerAcceptedAsync({});
3641
3686
  navigationService.navigateInternally(this.history, SuperSelectionAppRoutes.ChoicePage);
3642
3687
  }
3643
3688
  };
@@ -3827,7 +3872,7 @@ const DefaultFund = class {
3827
3872
  history: this.history,
3828
3873
  fundName: `Employer’s default fund`,
3829
3874
  handleSubmitFn: async (standardChoiceFormSignature) => {
3830
- await customFundChoiceApi.submitDefaultFundChoiceAsync({ standardChoiceFormSignature });
3875
+ await customFundChoiceApi.submitDefaultFundChoiceAsync(Object.assign({ standardChoiceFormSignature }, superSelectionAppService.promotedFundsConfig));
3831
3876
  }
3832
3877
  });
3833
3878
  }
@@ -4297,101 +4342,81 @@ const getFundUsiByFundId = (fundId) => fundId == fund$6.fundId ? some(slateUsi)
4297
4342
  const getLogoSrcByFundId = (fundId) => fundsById[fundId] != undefined ? some(getAssetPath(`assets/${fundsById[fundId].logo}`)) : none;
4298
4343
 
4299
4344
  function getPromotedFundUsi(dto) {
4300
- if ('slate' in dto) {
4301
- return none;
4302
- }
4303
- else if ('australianRetirementTrust' in dto) {
4304
- return some(dto.australianRetirementTrust.usi);
4305
- }
4306
- else if ('aware' in dto) {
4307
- return some(dto.aware.usi);
4308
- }
4309
- else if ('active' in dto) {
4310
- return some(dto.active.usi);
4311
- }
4312
- else if ('australianEthical' in dto) {
4313
- return some(dto.australianEthical.usi);
4314
- }
4315
- else if ('virgin' in dto) {
4316
- return some(dto.virgin.usi);
4317
- }
4318
- else if ('spirit' in dto) {
4319
- return some(dto.spirit.usi);
4320
- }
4321
- else if ('firstSuper' in dto) {
4322
- return some(dto.firstSuper.usi);
4323
- }
4324
- else if ('mercerMyChoice' in dto) {
4325
- return some(dto.mercerMyChoice.usi);
4326
- }
4327
- else {
4328
- return none;
4345
+ switch (dto.kind) {
4346
+ case 'slate':
4347
+ return none;
4348
+ case 'australianRetirementTrust':
4349
+ return some(dto.australianRetirementTrust.usi);
4350
+ case 'aware':
4351
+ return some(dto.aware.usi);
4352
+ case 'active':
4353
+ return some(dto.active.usi);
4354
+ case 'australianEthical':
4355
+ return some(dto.australianEthical.usi);
4356
+ case 'virgin':
4357
+ return some(dto.virgin.usi);
4358
+ case 'spirit':
4359
+ return some(dto.spirit.usi);
4360
+ case 'firstSuper':
4361
+ return some(dto.firstSuper.usi);
4362
+ case 'mercerMyChoice':
4363
+ return some(dto.mercerMyChoice.usi);
4364
+ default:
4365
+ return none;
4329
4366
  }
4330
4367
  }
4331
4368
  function getSuperChoiceUsi(dto) {
4332
- if ('promoted' in dto) {
4333
- return getPromotedFundUsi(dto.promoted);
4334
- }
4335
- else if ('myOwnFund' in dto) {
4336
- return some(dto.myOwnFund.usi);
4337
- }
4338
- else if ('smsf' in dto) {
4339
- return none;
4340
- }
4341
- else if ('default' in dto) {
4342
- return some(dto.default.usi);
4343
- }
4344
- else {
4345
- return none;
4369
+ switch (dto.kind) {
4370
+ case 'Promoted':
4371
+ return getPromotedFundUsi(dto.promoted);
4372
+ case 'MyOwnFund':
4373
+ return some(dto.myOwnFund.usi);
4374
+ case 'SMSF':
4375
+ return none;
4376
+ case 'Default':
4377
+ return some(dto.default.usi);
4378
+ case 'PromotedDefault':
4379
+ return some(dto.promotedDefault.usi);
4380
+ default:
4381
+ return none;
4346
4382
  }
4347
4383
  }
4348
4384
  function getPromotedFundMemberNumber(dto) {
4349
- if ('slate' in dto) {
4350
- return some(dto.slate.memberNumber);
4351
- }
4352
- else if ('australianRetirementTrust' in dto) {
4353
- return some(dto.australianRetirementTrust.memberNumber);
4354
- }
4355
- else if ('aware' in dto) {
4356
- return some(dto.aware.memberNumber);
4357
- }
4358
- else if ('active' in dto) {
4359
- return some(dto.active.memberNumber);
4360
- }
4361
- else if ('australianEthical' in dto) {
4362
- return some(dto.australianEthical.memberNumber);
4363
- }
4364
- else if ('virgin' in dto) {
4365
- return some(dto.virgin.memberNumber);
4366
- }
4367
- else if ('spirit' in dto) {
4368
- return some(dto.spirit.memberNumber);
4369
- }
4370
- else if ('firstSuper' in dto) {
4371
- return some(dto.firstSuper.memberNumber);
4372
- }
4373
- else if ('mercerMyChoice' in dto) {
4374
- return some(dto.mercerMyChoice.memberNumber);
4375
- }
4376
- else {
4377
- return none;
4385
+ switch (dto.kind) {
4386
+ case 'slate':
4387
+ return some(dto.slate.memberNumber);
4388
+ case 'australianRetirementTrust':
4389
+ return some(dto.australianRetirementTrust.memberNumber);
4390
+ case 'aware':
4391
+ return some(dto.aware.memberNumber);
4392
+ case 'active':
4393
+ return some(dto.active.memberNumber);
4394
+ case 'australianEthical':
4395
+ return some(dto.australianEthical.memberNumber);
4396
+ case 'virgin':
4397
+ return some(dto.virgin.memberNumber);
4398
+ case 'spirit':
4399
+ return some(dto.spirit.memberNumber);
4400
+ case 'firstSuper':
4401
+ return some(dto.firstSuper.memberNumber);
4402
+ case 'mercerMyChoice':
4403
+ return some(dto.mercerMyChoice.memberNumber);
4404
+ default:
4405
+ return none;
4378
4406
  }
4379
4407
  }
4380
4408
  function getSuperChoiceMemberNumber(dto) {
4381
- if ('promoted' in dto) {
4382
- return getPromotedFundMemberNumber(dto.promoted);
4383
- }
4384
- else if ('myOwnFund' in dto) {
4385
- return some(dto.myOwnFund.memberNumber);
4386
- }
4387
- else if ('smsf' in dto) {
4388
- return none;
4389
- }
4390
- else if ('default' in dto) {
4391
- return none;
4392
- }
4393
- else {
4394
- return none;
4409
+ switch (dto.kind) {
4410
+ case 'Promoted':
4411
+ return getPromotedFundMemberNumber(dto.promoted);
4412
+ case 'MyOwnFund':
4413
+ return some(dto.myOwnFund.memberNumber);
4414
+ case 'SMSF':
4415
+ case 'Default':
4416
+ case 'PromotedDefault':
4417
+ return none;
4418
+ default:
4419
+ return none;
4395
4420
  }
4396
4421
  }
4397
4422
 
@@ -4407,53 +4432,67 @@ class ExistingFundService {
4407
4432
  const dateSubmitted = choice.dateSubmitted == undefined ? none : some(new Date(choice.dateSubmitted));
4408
4433
  const usi = getSuperChoiceUsi(choiceDetails);
4409
4434
  const memberNumber = getSuperChoiceMemberNumber(choiceDetails);
4410
- if ('promoted' in choiceDetails) {
4411
- const dtoPropName = Object.keys(choiceDetails.promoted)[0];
4412
- const fund = getFundByDtoPropName(dtoPropName);
4413
- if (isNone(fund))
4435
+ switch (choiceDetails.kind) {
4436
+ case 'Promoted': {
4437
+ const dtoPropName = Object.keys(choiceDetails.promoted)[0];
4438
+ const fund = getFundByDtoPropName(dtoPropName);
4439
+ if (isNone(fund))
4440
+ return none;
4441
+ return some({
4442
+ type: 'Promoted Fund',
4443
+ id: fund.value.fundId,
4444
+ name: fund.value.name,
4445
+ usi: usi,
4446
+ valid: 'Active',
4447
+ memberNumber: memberNumber,
4448
+ lastNominatedAt: dateSubmitted
4449
+ });
4450
+ }
4451
+ case 'MyOwnFund': {
4452
+ const fundUsi = choiceDetails.myOwnFund.usi;
4453
+ const fund = await this.getFundByUsiAsync(fundUsi);
4454
+ return some({
4455
+ type: 'My Own Fund',
4456
+ name: isSome(fund) ? fund.value.productName : fundUsi,
4457
+ usi: usi,
4458
+ valid: this.toFundValidState(fund),
4459
+ memberNumber: memberNumber,
4460
+ lastNominatedAt: dateSubmitted
4461
+ });
4462
+ }
4463
+ case 'SMSF':
4464
+ return some({
4465
+ type: 'Self Managed Fund',
4466
+ name: choiceDetails.smsf.fundName,
4467
+ valid: 'Unknown',
4468
+ lastNominatedAt: dateSubmitted
4469
+ });
4470
+ case 'Default': {
4471
+ const defaultUsi = choiceDetails.default.usi;
4472
+ const defaultFund = await this.getFundByUsiAsync(defaultUsi);
4473
+ return some({
4474
+ type: 'Default Fund',
4475
+ name: isSome(defaultFund) ? defaultFund.value.productName : defaultUsi,
4476
+ usi: usi,
4477
+ valid: this.toFundValidState(defaultFund),
4478
+ lastNominatedAt: dateSubmitted
4479
+ });
4480
+ }
4481
+ case 'PromotedDefault': {
4482
+ const defaultUsi = choiceDetails.promotedDefault.usi;
4483
+ const defaultFund = await this.getFundByUsiAsync(defaultUsi);
4484
+ return some({
4485
+ type: 'Promoted Default Fund',
4486
+ id: choiceDetails.promotedDefault.fundId,
4487
+ name: isSome(defaultFund) ? defaultFund.value.productName : defaultUsi,
4488
+ usi: usi,
4489
+ valid: this.toFundValidState(defaultFund),
4490
+ lastNominatedAt: dateSubmitted
4491
+ });
4492
+ }
4493
+ default:
4414
4494
  return none;
4415
- return some({
4416
- type: 'Promoted Fund',
4417
- id: fund.value.fundId,
4418
- name: fund.value.name,
4419
- usi: usi,
4420
- valid: 'Active',
4421
- memberNumber: memberNumber,
4422
- lastNominatedAt: dateSubmitted
4423
- });
4424
4495
  }
4425
- else if ('smsf' in choiceDetails) {
4426
- return some({
4427
- type: 'Self Managed Fund',
4428
- name: choiceDetails.smsf.fundName,
4429
- valid: 'Unknown',
4430
- lastNominatedAt: dateSubmitted
4431
- });
4432
- }
4433
- else if ('myOwnFund' in choiceDetails) {
4434
- const fundUsi = choiceDetails.myOwnFund.usi;
4435
- const fund = await this.getFundByUsiAsync(fundUsi);
4436
- return some({
4437
- type: 'My Own Fund',
4438
- name: isSome(fund) ? fund.value.productName : fundUsi,
4439
- usi: usi,
4440
- valid: this.toFundValidState(fund),
4441
- memberNumber: memberNumber,
4442
- lastNominatedAt: dateSubmitted
4443
- });
4444
- }
4445
- else if ('default' in choiceDetails) {
4446
- const defaultUsi = choiceDetails.default.usi;
4447
- const defaultFund = await this.getFundByUsiAsync(defaultUsi);
4448
- return some({
4449
- type: 'Default Fund',
4450
- name: isSome(defaultFund) ? defaultFund.value.productName : defaultUsi,
4451
- usi: usi,
4452
- valid: this.toFundValidState(defaultFund),
4453
- lastNominatedAt: dateSubmitted
4454
- });
4455
- }
4456
- return none;
4457
4496
  }
4458
4497
  async submitRetainSuperFundAsync(dto) {
4459
4498
  return buildBackendApiClient()
@@ -4668,13 +4707,7 @@ const MyOwnFund = class {
4668
4707
  history: this.history,
4669
4708
  fundName: this.getOrError(state$1.myOwnFundForm.fundName),
4670
4709
  handleSubmitFn: async (standardChoiceFormSignature) => {
4671
- const customFundChoiceDto = {
4672
- fundUsi: this.getOrError(state$1.myOwnFundForm.fundUsi),
4673
- memberNumber: this.getOrError(state$1.myOwnFundForm.memberNumber),
4674
- memberFirstName: this.getOrError(state$1.myOwnFundForm.memberFirstName),
4675
- memberFamilyName: this.getOrError(state$1.myOwnFundForm.memberFamilyName),
4676
- standardChoiceFormSignature
4677
- };
4710
+ const customFundChoiceDto = Object.assign({ fundUsi: this.getOrError(state$1.myOwnFundForm.fundUsi), memberNumber: this.getOrError(state$1.myOwnFundForm.memberNumber), memberFirstName: this.getOrError(state$1.myOwnFundForm.memberFirstName), memberFamilyName: this.getOrError(state$1.myOwnFundForm.memberFamilyName), standardChoiceFormSignature }, superSelectionAppService.promotedFundsConfig);
4678
4711
  await customFundChoiceApi.submitCustomFundChoiceAsync(customFundChoiceDto);
4679
4712
  }
4680
4713
  });
@@ -4805,16 +4838,23 @@ class PromotedFundChoiceApi {
4805
4838
  })
4806
4839
  .text();
4807
4840
  }
4841
+ async submitDefaultChoiceAsync(dto) {
4842
+ return buildBackendApiClient()
4843
+ .url('super-choice/promoted-fund/default')
4844
+ .post(dto)
4845
+ .badRequest(() => {
4846
+ throw new Error('Failed to process Promoted Default Fund choice request');
4847
+ })
4848
+ .text();
4849
+ }
4808
4850
  }
4809
4851
  const promotedFundChoiceApi = new PromotedFundChoiceApi();
4810
4852
 
4811
4853
  const initial$1 = {
4812
- fundId: ''
4854
+ fundId: '',
4855
+ isPromotedDefault: false
4813
4856
  };
4814
- const { state: state$2 } = createStore(initial$1);
4815
- function reset$1() {
4816
- state$2.fundId = initial$1.fundId;
4817
- }
4857
+ const { state: state$2, reset: reset$1 } = createStore(initial$1);
4818
4858
 
4819
4859
  class PromotedFundJoinV1IFrameBuilder {
4820
4860
  constructor() {
@@ -4850,16 +4890,7 @@ class PromotedFundJoinV1IFrameBuilder {
4850
4890
  navigationService.navigateInternallyToStandardChoice({
4851
4891
  history,
4852
4892
  fundName: Option.isSome(fundName) ? fundName.value : '',
4853
- handleSubmitFn: (standardChoiceFormSignature) => promotedFundChoiceApi.submitChoiceAsync({
4854
- fundId: promotedFundId,
4855
- memberNumber: data.memberNumber,
4856
- memberFirstName: data.memberFirstName,
4857
- memberFamilyName: data.memberFamilyName,
4858
- usi: data.usi.replace(/ /g, ''),
4859
- standardChoiceFormSignature,
4860
- shownFunds: superSelectionAppService.promotedFunds,
4861
- defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi)
4862
- }),
4893
+ handleSubmitFn: (standardChoiceFormSignature) => promotedFundChoiceApi.submitChoiceAsync(Object.assign({ fundId: promotedFundId, memberNumber: data.memberNumber, memberFirstName: data.memberFirstName, memberFamilyName: data.memberFamilyName, usi: data.usi.replace(/ /g, ''), standardChoiceFormSignature, defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi) }, superSelectionAppService.promotedFundsConfig)),
4863
4894
  promotedFundId
4864
4895
  });
4865
4896
  break;
@@ -4960,7 +4991,7 @@ class PromotedFundJoinV2IFrameBuilder {
4960
4991
  build(iframe$1, history) {
4961
4992
  if (!(iframe$1 === null || iframe$1 === void 0 ? void 0 : iframe$1.contentDocument))
4962
4993
  return;
4963
- const postData = Object.assign(Object.assign({}, this.getMemberData()), { partnerId: superSelectionAppService.partnerIdOrDefault, accountId: superSelectionAppService.accountIdOrDefault, fundId: state$2.fundId, authToken: superSelectionAppService.jwt });
4994
+ const postData = Object.assign(Object.assign({}, this.getMemberData()), { partnerId: superSelectionAppService.partnerIdOrDefault, accountId: superSelectionAppService.accountIdOrDefault, fundId: state$2.fundId, authToken: superSelectionAppService.jwt, employerDefault: state$2.isPromotedDefault });
4964
4995
  const handleMessage = (event) => {
4965
4996
  const { data } = event;
4966
4997
  if (!data) {
@@ -4979,17 +5010,10 @@ class PromotedFundJoinV2IFrameBuilder {
4979
5010
  navigationService.navigateInternallyToStandardChoice({
4980
5011
  history,
4981
5012
  fundName: Option.isSome(fundName) ? fundName.value : '',
4982
- handleSubmitFn: (standardChoiceFormSignature) => promotedFundChoiceApi.submitChoiceAsync({
4983
- fundId: promotedFundId,
4984
- memberNumber: data.memberNumber,
4985
- memberFirstName: data.memberFirstName,
4986
- memberFamilyName: data.memberFamilyName,
4987
- usi: data.usi.replace(/ /g, ''),
4988
- standardChoiceFormSignature,
4989
- shownFunds: superSelectionAppService.promotedFunds,
4990
- defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi)
4991
- }),
4992
- promotedFundId
5013
+ promotedFundId,
5014
+ handleSubmitFn: state$2.isPromotedDefault
5015
+ ? (standardChoiceFormSignature) => promotedFundChoiceApi.submitDefaultChoiceAsync(Object.assign({ fundId: promotedFundId, usi: data.usi.replace(/ /g, ''), standardChoiceFormSignature, defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi) }, superSelectionAppService.promotedFundsConfig))
5016
+ : (standardChoiceFormSignature) => promotedFundChoiceApi.submitChoiceAsync(Object.assign({ fundId: promotedFundId, memberNumber: data.memberNumber, memberFirstName: data.memberFirstName, memberFamilyName: data.memberFamilyName, usi: data.usi.replace(/ /g, ''), standardChoiceFormSignature, defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi) }, superSelectionAppService.promotedFundsConfig))
4993
5017
  });
4994
5018
  break;
4995
5019
  }
@@ -5026,9 +5050,16 @@ class PromotedFundJoinV2IFrameBuilder {
5026
5050
  const value = postData[prop];
5027
5051
  if (value !== undefined) {
5028
5052
  const input = document.createElement('input');
5029
- input.type = 'hidden';
5030
5053
  input.name = prop;
5031
- input.value = value;
5054
+ if (typeof value === 'boolean') {
5055
+ input.type = 'checkbox';
5056
+ input.checked = value;
5057
+ input.style.visibility = 'hidden';
5058
+ }
5059
+ else {
5060
+ input.type = 'hidden';
5061
+ input.value = value;
5062
+ }
5032
5063
  form.append(input);
5033
5064
  }
5034
5065
  }
@@ -5091,8 +5122,7 @@ const SelfManagedFund = class {
5091
5122
  history: this.history,
5092
5123
  fundName: 'Self-managed super fund',
5093
5124
  handleSubmitFn: async (standardChoiceFormSignature) => {
5094
- const requestDto = {
5095
- smsfChoice: {
5125
+ const requestDto = Object.assign({ smsfChoice: {
5096
5126
  abn: state$1.selfManagedFundForm.fundAbn,
5097
5127
  fundName: state$1.selfManagedFundForm.fundName,
5098
5128
  fundAddress: {
@@ -5108,9 +5138,7 @@ const SelfManagedFund = class {
5108
5138
  electronicServiceAddress: state$1.selfManagedFundForm.fundEsa,
5109
5139
  memberFirstName: state$1.selfManagedFundForm.memberFirstName,
5110
5140
  memberFamilyName: state$1.selfManagedFundForm.memberFamilyName
5111
- },
5112
- standardChoiceFormSignature
5113
- };
5141
+ }, standardChoiceFormSignature }, superSelectionAppService.promotedFundsConfig);
5114
5142
  await customFundChoiceApi.submitSelfManagedFundChoiceAsync(requestDto);
5115
5143
  }
5116
5144
  });
@@ -5480,14 +5508,7 @@ class SlateIFrameBuilder {
5480
5508
  navigationService.navigateInternallyToStandardChoice({
5481
5509
  history,
5482
5510
  fundName: fund$6.name,
5483
- handleSubmitFn: (standardChoiceFormSignature) => slateChoiceApi.submitSlateChoiceAsync({
5484
- memberNumber: data.memberNumber,
5485
- memberFirstName: data.memberFirstName,
5486
- memberFamilyName: data.memberFamilyName,
5487
- standardChoiceFormSignature,
5488
- shownFunds: superSelectionAppService.promotedFunds,
5489
- defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi)
5490
- }),
5511
+ handleSubmitFn: (standardChoiceFormSignature) => slateChoiceApi.submitSlateChoiceAsync(Object.assign({ memberNumber: data.memberNumber, memberFirstName: data.memberFirstName, memberFamilyName: data.memberFamilyName, standardChoiceFormSignature, defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi) }, superSelectionAppService.promotedFundsConfig)),
5491
5512
  promotedFundId: fund$6.fundId
5492
5513
  });
5493
5514
  break;
@@ -5642,17 +5663,27 @@ const SuperChoiceItemTop = class {
5642
5663
  registerInstance(this, hostRef);
5643
5664
  }
5644
5665
  render() {
5645
- return (h(Host, null, h("div", { class: "px-4 lg:px-6 pt-6" }, h("div", { class: "text-right w-100 -mt-5 -mr-3.5 lg:-mr-5" }, h("span", { class: "text-xs bg-gray-100 text-gray-800 font-medium rounded-xl py-0.5 px-2.5 mr-0.5" }, "Featured")), h("div", { class: "flex lg:block mt-2 md:mt-0 lg:mt-4" }, h("img", { class: "h-12 md:h-14 lg:h-16 object-contain w-auto w-[80px] md:w-[96px] lg:w-[140px] md:hidden lg:block lg:object-left", alt: this.name, src: getAssetPath(`assets/${this.logo}`) }), h("div", { class: "grid content-center" }, h("p", { class: "text-base md:text-lg font-bold ml-4 md:ml-0 md:mb-0 lg:mt-4" }, this.name))), h("div", { class: "mt-4 sm:mt-2 text-sm space-y-2" }, this.features.map((feature) => (h("div", { class: "flex" }, h("div", { class: "h-5 w-5 flex-none mr-1.5" }, h("img", { alt: "checked", src: getAssetPath(`assets/icon-check.svg`) })), h("div", { class: "leading-5" }, feature))))), this.featureSubText && (h("p", { class: "text-xs text-gray-500 italic mt-4 leading-4" }, this.featureSubText)))));
5666
+ return (h(Host, null, h("div", { class: "px-4 lg:px-6 pt-6" }, h("div", { class: "text-right w-100 -mt-5 -mr-3.5 lg:-mr-5" }, this.isPromotedDefault && (h("span", { class: "text-xs bg-blue-100 text-blue-800 font-medium rounded-xl py-0.5 px-2.5 mr-1" }, "Employer Default")), h("span", { class: "text-xs bg-gray-100 text-gray-800 font-medium rounded-xl py-0.5 px-2.5 mr-0.5" }, "Featured")), h("div", { class: "flex lg:block mt-2 md:mt-0 lg:mt-4" }, h("img", { class: "h-12 md:h-14 lg:h-16 object-contain w-[80px] md:w-[96px] lg:w-[140px] md:hidden lg:block lg:object-left", alt: this.name, src: getAssetPath(`assets/${this.logo}`) }), h("div", { class: "grid content-center" }, h("p", { class: "text-base md:text-lg font-bold ml-4 md:ml-0 md:mb-0 lg:mt-4" }, this.name))), h("div", { class: "mt-4 sm:mt-2 text-sm space-y-2" }, this.features.map((feature) => (h("div", { class: "flex" }, h("div", { class: "h-5 w-5 flex-none mr-1.5" }, h("img", { alt: "checked", src: getAssetPath(`assets/icon-check.svg`) })), h("div", { class: "leading-5" }, feature))))), this.featureSubText && (h("p", { class: "text-xs text-gray-500 italic mt-4 leading-4" }, this.featureSubText)))));
5646
5667
  }
5647
5668
  };
5648
5669
 
5670
+ class MiscService {
5671
+ trackClickPromotedTileAsync(payload) {
5672
+ return superSelectionApi.clickPromotedTileAsync(payload);
5673
+ }
5674
+ }
5675
+ const miscService = new MiscService();
5676
+
5649
5677
  const SuperChoicePage = class {
5650
5678
  constructor(hostRef) {
5651
5679
  registerInstance(this, hostRef);
5652
- this.promotedFunds = this.getPromotedFunds();
5680
+ this.campaignConnectRequestInProgress = true;
5653
5681
  this.eventTrackingService = EventTrackingService.Instance;
5654
5682
  }
5655
- componentDidLoad() {
5683
+ async componentDidLoad() {
5684
+ await superSelectionAppService.completeCampaignConnectRequestSafe();
5685
+ this.promotedFunds = this.getPromotedFunds();
5686
+ this.campaignConnectRequestInProgress = false;
5656
5687
  const promotedFundsShown = this.promotedFunds.map((item) => item.fundId);
5657
5688
  return this.eventTrackingService.TrackSuperFundPanelViewedAsync({
5658
5689
  promotedFundsShown,
@@ -5664,6 +5695,9 @@ const SuperChoicePage = class {
5664
5695
  const mygovLinkDisplay = 'www.my.gov.au';
5665
5696
  const superfundsLink = 'https://www.apra.gov.au/register-of-superannuation-institutions';
5666
5697
  const superfundsLinkDisplay = 'www.apra.gov.au';
5698
+ if (this.campaignConnectRequestInProgress) {
5699
+ return (h("div", { class: "w-[327px] sm:w-full bg-white flex flex-col items-center" }, h("div", { class: "w-full sm:w-[440px] h-9 bg-gray-200 animate-pulse rounded" }), h("div", { class: "mt-6 w-full sm:w-[720px] h-6 bg-gray-200 animate-pulse rounded" }), h("div", { class: "mt-2 w-[220px] sm:w-[560px] h-6 bg-gray-200 animate-pulse rounded" }), h("div", { class: "mt-10 w-full sm:w-[560px] h-80 bg-gray-200 animate-pulse rounded" }), h("div", { class: "mt-10 w-full sm:w-[200px] h-11 bg-gray-200 animate-pulse rounded" })));
5700
+ }
5667
5701
  return (h(Host, null, h("div", null, h("sss-header-section", { currentPage: "choice" }), h("div", { class: "mt-8 text-sm text-center leading-6" }, h("p", { class: "leading-6" }, "Not ready to join a new fund, or want to nominate another super fund?"), h("stencil-route-link", { url: SuperSelectionAppRoutes.MyOwnFund }, h("span", { class: "inline-block text-primary-base font-medium mt-3" }, "Skip Featured Funds\u00A0", h("svg", { xmlns: "http://www.w3.org/2000/svg", fill: "none", viewBox: "0 0 24 24", "stroke-width": "1.5", stroke: "currentColor", class: "inline h-5 w-5 fill-primary-base group-hover:fill-white" }, h("path", { "stroke-linecap": "round", "stroke-linejoin": "round", d: "M17.25 8.25L21 12m0 0l-3.75 3.75M21 12H3" }))))), h("div", { class: "flex justify-center mt-8" }, h("div", { class: {
5668
5702
  'lg:grid border-l border-t lg:border-b rounded-lg': true,
5669
5703
  'lg:grid-cols-1 max-w-400': this.promotedFunds.length === 1,
@@ -5677,7 +5711,7 @@ const SuperChoicePage = class {
5677
5711
  } }, h("div", { class: {
5678
5712
  'flex border-b lg:border-b-0': true,
5679
5713
  'rounded-b-lg': index === this.promotedFunds.length - 1
5680
- } }, h("div", { class: "hidden md:flex lg:hidden w-36 justify-center pt-6 pl-6" }, h("img", { class: "h-16 object-contain w-full max-w-[96px]", alt: fund.name, src: getAssetPath(`assets/${fund.logo}`) })), h("div", { class: "w-full" }, h("sss-super-choice-item-top", { logo: fund.logo, name: fund.name, features: fund.features, featureSubText: fund.featureSubText }), h("div", { class: "lg:hidden" }, h("sss-super-choice-item-bottom", { disclaimer: fund.disclaimer, abnInfo: fund.abnInfo, abn: fund.abn, onJoinFundClicked: async () => this.handleJoinSuperClickAsync(fund) }))))))), this.promotedFunds.map((fund, index) => (h("div", { class: {
5714
+ } }, h("div", { class: "hidden md:flex lg:hidden w-36 justify-center pt-6 pl-6" }, h("img", { class: "h-16 object-contain w-full max-w-[96px]", alt: fund.name, src: getAssetPath(`assets/${fund.logo}`) })), h("div", { class: "w-full" }, h("sss-super-choice-item-top", { logo: fund.logo, name: fund.name, features: fund.features, featureSubText: fund.featureSubText, isPromotedDefault: fund.isPromotedDefault }), h("div", { class: "lg:hidden" }, h("sss-super-choice-item-bottom", { disclaimer: fund.disclaimer, abnInfo: fund.abnInfo, abn: fund.abn, onJoinFundClicked: async () => this.handleJoinSuperClickAsync(fund) }))))))), this.promotedFunds.map((fund, index) => (h("div", { class: {
5681
5715
  'hidden lg:block border-r': true,
5682
5716
  'rounded-br-lg': index === this.promotedFunds.length - 1
5683
5717
  } }, h("sss-super-choice-item-bottom", { disclaimer: fund.disclaimer, abnInfo: fund.abnInfo, abn: fund.abn, onJoinFundClicked: async () => this.handleJoinSuperClickAsync(fund) })))))), h("div", { class: "flex justify-center mt-8 sm:mt-12" }, h("div", { class: "pb-8 sm:pb-12 max-w-720 border-b" }, h("h5", { class: "font-bold sm:text-lg" }, "Or, choose another super fund:"), h("ul", { class: "list-disc list-outside ml-6 mt-3 mb-6 space-y-2 leading-6 text-sm sm:text-base" }, h("li", null, "Select this option if you'd like to use your current account with another super fund, your self-managed super fund, or your employer's default fund."), h("li", null, "If you are unsure of your current super fund details, you can find out at", ' ', h("a", { class: "text-primary-base font-medium hover:text-primary-hover", target: "_blank", href: navigationService.toExternalUrl(mygovLink) }, mygovLinkDisplay)), h("li", null, "A full list of super funds can be viewed at", ' ', h("a", { class: "text-primary-base font-medium hover:text-primary-hover", target: "_blank", href: navigationService.toExternalUrl(superfundsLink) }, superfundsLinkDisplay))), h("stencil-route-link", { url: SuperSelectionAppRoutes.MyOwnFund }, h("sss-button", { fillWidthOnMobile: true }, "Choose another super fund")))), h("div", { class: "flex justify-center" }, h("div", { class: "pt-8 sm:pt-12 max-w-720" }, h("h5", { class: "font-semibold" }, "IMPORTANT INFORMATION:"), h("ul", { class: "list-disc list-outside ml-6 mt-3 space-y-2 text-sm leading-6" }, h("li", null, "The superannuation funds featured above are for your information only. The order, position and placement of content should not be interpreted as an opinion or recommendation (actual or implied) by Flare as to the suitability or appropriateness of any superannuation fund for you. In featuring these superannuation funds, Flare has not taken into account your objectives, financial situation or needs."), h("li", null, "This is not a comparison service. This page contains factual information only and does not constitute either general or personal advice about any financial products. We do not take into account your objectives, financial situation or needs. If you have questions or need help making a decision about your superannuation fund, you should speak to a licensed financial product advice provider."), h("li", null, "Flare, the technology partner you are accessing Flare via and your employer do not endorse or accept responsibility for any financial product advice or services provided by the promoters or trustees of the featured superannuation funds. Flare does not endorse or accept responsibility for any of the content shown about any of the featured superannuation funds."), h("li", null, "You should consider the relevant superannuation fund\u2019s PDS and TMD (if applicable) in deciding whether to apply to join the superannuation fund. Each of the superannuation funds featured above include a link to their PDS and TMD (if applicable) for your convenience. If you are considering joining another superannuation fund, you can typically find the PDS and TMD (if applicable) on that fund\u2019s website."), h("li", null, "You should be aware that, if you do choose one of the featured superannuation funds, Flare and it\u2019s associates will normally receive a fee for you doing so (this includes Simple Financial Choices Pty Ltd, a wholly owned subsidiary of Flare, which is a sub-promoter of Slate Super).")))))));
@@ -5693,17 +5727,32 @@ const SuperChoicePage = class {
5693
5727
  return fundTiles;
5694
5728
  }
5695
5729
  async handleJoinSuperClickAsync(fund) {
5730
+ var _a;
5696
5731
  const promotedFundsShown = superSelectionAppService.promotedFunds;
5697
5732
  const fundUsi = getFundUsiByFundId(fund.fundId);
5698
5733
  const fundName = getFundNameByFundId(fund.fundId);
5699
- await this.eventTrackingService.TrackPromotedSuperFundDetailViewedAsync({
5700
- fundUsi: Option.isSome(fundUsi) ? fundUsi.value : undefined,
5701
- fundName: Option.isSome(fundName) ? fundName.value : '',
5702
- promotedFundId: fund.fundId,
5703
- promotedFundsShown,
5704
- defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi)
5705
- });
5734
+ await Promise.all([
5735
+ this.eventTrackingService.TrackPromotedSuperFundDetailViewedAsync({
5736
+ fundUsi: Option.isSome(fundUsi) ? fundUsi.value : undefined,
5737
+ fundName: Option.isSome(fundName) ? fundName.value : '',
5738
+ promotedFundId: fund.fundId,
5739
+ promotedFundsShown,
5740
+ defaultFundUsiSet: Option.toUndefined(superSelectionAppService.defaultFundUsi)
5741
+ }),
5742
+ miscService.trackClickPromotedTileAsync(fund.isPromotedDefault
5743
+ ? {
5744
+ promotedDefault: {
5745
+ fundId: fund.fundId
5746
+ }
5747
+ }
5748
+ : {
5749
+ promoted: {
5750
+ fundId: fund.fundId
5751
+ }
5752
+ })
5753
+ ]);
5706
5754
  state$2.fundId = fund.fundId;
5755
+ state$2.isPromotedDefault = (_a = fund.isPromotedDefault) !== null && _a !== void 0 ? _a : false;
5707
5756
  return navigationService.navigateInternally(this.history, fund.route);
5708
5757
  }
5709
5758
  static get assetsDirs() { return ["assets"]; }