@flarehr/apollo-super-selection 3.59.63229 → 3.62.64158

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 (45) 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-0f723eb4.system.js +1 -1
  4. package/dist/lib/apollo-super-selection/p-af8b28ab.entry.js +14 -0
  5. package/dist/lib/apollo-super-selection/p-e4cfd5f5.system.entry.js +69 -0
  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_28.cjs.entry.js → sss-button_30.cjs.entry.js} +259 -61
  9. package/dist/lib/collection/apollo-super-selection.css +1 -1
  10. package/dist/lib/collection/collection-manifest.json +7 -3
  11. package/dist/lib/collection/components/super-selection-app/api/super-selection.api.dto.js +12 -0
  12. package/dist/lib/collection/components/super-selection-app/funds/constants.js +26 -8
  13. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund-inputs.js +28 -12
  14. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.js +8 -2
  15. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/promoted-fund-join-v1-page.js +30 -0
  16. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/promoted-fund-join-v2-page.js +30 -0
  17. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/services/{promoted-fund-join-iframe-builder.js → promoted-fund-join-v1-iframe-builder.js} +2 -2
  18. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/services/promoted-fund-join-v2-iframe-builder.js +117 -0
  19. package/dist/lib/collection/components/super-selection-app/funds/slate-super/slate-join-page.js +2 -6
  20. package/dist/lib/collection/components/super-selection-app/misc/iframe-host.js +32 -0
  21. package/dist/lib/collection/components/super-selection-app/services/super-selection-app.routes.js +4 -2
  22. package/dist/lib/collection/components/super-selection-app/super-choice-page/super-choice-page.js +54 -41
  23. package/dist/lib/collection/components/super-selection-app/super-selection-app.js +2 -1
  24. package/dist/lib/esm/apollo-super-selection.js +1 -1
  25. package/dist/lib/esm/loader.js +1 -1
  26. package/dist/lib/esm/{sss-button_28.entry.js → sss-button_30.entry.js} +257 -61
  27. package/dist/lib/esm-es5/apollo-super-selection.js +1 -1
  28. package/dist/lib/esm-es5/loader.js +1 -1
  29. package/dist/lib/esm-es5/{sss-button_28.entry.js → sss-button_30.entry.js} +3 -3
  30. package/dist/lib/types/components/super-selection-app/api/super-selection.api.dto.d.ts +10 -0
  31. package/dist/lib/types/components/super-selection-app/funds/constants.d.ts +12 -0
  32. package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund-inputs.d.ts +6 -1
  33. package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.d.ts +1 -0
  34. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/{promoted-fund-join-page.d.ts → promoted-fund-join-v1-page.d.ts} +1 -3
  35. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/promoted-fund-join-v2-page.d.ts +5 -0
  36. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/services/{promoted-fund-join-iframe-builder.d.ts → promoted-fund-join-v1-iframe-builder.d.ts} +2 -2
  37. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/services/promoted-fund-join-v2-iframe-builder.d.ts +9 -0
  38. package/dist/lib/types/components/super-selection-app/funds/slate-super/slate-join-page.d.ts +0 -2
  39. package/dist/lib/types/components/super-selection-app/misc/iframe-host.d.ts +6 -0
  40. package/dist/lib/types/components/super-selection-app/services/super-selection-app.routes.d.ts +2 -1
  41. package/dist/lib/types/components.d.ts +41 -10
  42. package/package.json +1 -1
  43. package/dist/lib/apollo-super-selection/p-1c352f8f.system.entry.js +0 -69
  44. package/dist/lib/apollo-super-selection/p-be78d5fd.entry.js +0 -14
  45. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/promoted-fund-join-page.js +0 -34
@@ -264,7 +264,7 @@ class TapSubscriber extends datoramaAkita.Subscriber {
264
264
  }
265
265
  }
266
266
 
267
- const AppVersion = '3.59.63229';
267
+ const AppVersion = '3.62.64158';
268
268
 
269
269
  // -------------------------------------------------------------------------------------
270
270
  // guards
@@ -3559,7 +3559,8 @@ var SuperSelectionAppRoutes;
3559
3559
  SuperSelectionAppRoutes["ExistingChoicePage"] = "/existing";
3560
3560
  SuperSelectionAppRoutes["ChoicePage"] = "/";
3561
3561
  SuperSelectionAppRoutes["SlateJoin"] = "/slate/join/";
3562
- SuperSelectionAppRoutes["PromotedFundJoin"] = "/promoted-fund/join";
3562
+ SuperSelectionAppRoutes["PromotedFundJoinV1"] = "/promoted-fund/join/v1";
3563
+ SuperSelectionAppRoutes["PromotedFundJoinV2"] = "/promoted-fund/join/v2";
3563
3564
  SuperSelectionAppRoutes["MyOwnFund"] = "/super-choice/my-own-fund/";
3564
3565
  SuperSelectionAppRoutes["SelfManagedFund"] = "/super-choice/smsf/";
3565
3566
  SuperSelectionAppRoutes["DefaultFund"] = "/super-choice/default/";
@@ -3571,7 +3572,8 @@ const superSelectionAppStencilRoutes = [
3571
3572
  index.h("stencil-route", { url: SuperSelectionAppRoutes.ExistingChoicePage, component: "sss-existing-choice-page" }),
3572
3573
  index.h("stencil-route", { exact: true, url: SuperSelectionAppRoutes.ChoicePage, component: "sss-super-choice-page" }),
3573
3574
  index.h("stencil-route", { url: SuperSelectionAppRoutes.SlateJoin, component: "sss-slate-join-page" }),
3574
- index.h("stencil-route", { url: SuperSelectionAppRoutes.PromotedFundJoin, component: "sss-promoted-fund-join-page" }),
3575
+ index.h("stencil-route", { url: SuperSelectionAppRoutes.PromotedFundJoinV1, component: "sss-promoted-fund-join-v1-page" }),
3576
+ index.h("stencil-route", { url: SuperSelectionAppRoutes.PromotedFundJoinV2, component: "sss-promoted-fund-join-v2-page" }),
3575
3577
  index.h("stencil-route", { url: SuperSelectionAppRoutes.MyOwnFund, component: "sss-my-own-fund" }),
3576
3578
  index.h("stencil-route", { url: SuperSelectionAppRoutes.SelfManagedFund, component: "sss-self-managed-fund" }),
3577
3579
  index.h("stencil-route", { url: SuperSelectionAppRoutes.DefaultFund, component: "sss-default-fund" }),
@@ -3994,11 +3996,25 @@ const Active = {
3994
3996
  PdsUrl: 'https://www.activesuper.com.au/pds',
3995
3997
  Abn: '28 901 371 321'
3996
3998
  };
3999
+ const AustralianEthical = {
4000
+ Id: 'australian-ethical',
4001
+ Name: 'Australian Ethical',
4002
+ PdsUrl: 'https://www.australianethical.com.au/TODO',
4003
+ Abn: '47 003 188 930'
4004
+ };
4005
+ const Virgin = {
4006
+ Id: 'virgin',
4007
+ Name: 'Virgin Money Super',
4008
+ PdsUrl: 'https://virginmoney.com.au/superannuation/TODO',
4009
+ Abn: '19 905 422 981'
4010
+ };
3997
4011
  const PromotedFundIdList = [
3998
4012
  { dtoPropName: 'slate', id: Slate.Id },
3999
4013
  { dtoPropName: 'australianRetirementTrust', id: AustralianRetirementTrust.Id },
4000
4014
  { dtoPropName: 'aware', id: Aware.Id },
4001
- { dtoPropName: 'active', id: Active.Id }
4015
+ { dtoPropName: 'active', id: Active.Id },
4016
+ { dtoPropName: 'australianEthical', id: AustralianEthical.Id },
4017
+ { dtoPropName: 'virgin', id: Virgin.Id }
4002
4018
  ];
4003
4019
  const getFundNameById = (id) => {
4004
4020
  switch (id) {
@@ -4010,10 +4026,22 @@ const getFundNameById = (id) => {
4010
4026
  return Aware.Name;
4011
4027
  case Active.Id:
4012
4028
  return Active.Name;
4029
+ case AustralianEthical.Id:
4030
+ return AustralianEthical.Name;
4031
+ case Virgin.Id:
4032
+ return Virgin.Name;
4013
4033
  default:
4014
4034
  return;
4015
4035
  }
4016
4036
  };
4037
+ const getFundUsiById = (id) => {
4038
+ switch (id) {
4039
+ case Slate.Id:
4040
+ return Slate.Usi;
4041
+ default:
4042
+ return; // other promoted funds have dynamic USI
4043
+ }
4044
+ };
4017
4045
  const getLogoSrc = (id) => {
4018
4046
  let logo = '';
4019
4047
  switch (id) {
@@ -4029,6 +4057,12 @@ const getLogoSrc = (id) => {
4029
4057
  case Active.Id:
4030
4058
  logo = 'logo-active.svg';
4031
4059
  break;
4060
+ case AustralianEthical.Id:
4061
+ logo = 'logo-slate.png';
4062
+ break;
4063
+ case Virgin.Id:
4064
+ logo = 'logo-slate.png';
4065
+ break;
4032
4066
  default:
4033
4067
  return;
4034
4068
  }
@@ -4049,6 +4083,12 @@ function getPromotedFundUsi(dto) {
4049
4083
  else if ('active' in dto) {
4050
4084
  return some(dto.active.usi);
4051
4085
  }
4086
+ else if ('australianEthical' in dto) {
4087
+ return some(dto.australianEthical.usi);
4088
+ }
4089
+ else if ('virgin' in dto) {
4090
+ return some(dto.virgin.usi);
4091
+ }
4052
4092
  else {
4053
4093
  return none;
4054
4094
  }
@@ -4083,6 +4123,12 @@ function getPromotedFundMemberNumber(dto) {
4083
4123
  else if ('active' in dto) {
4084
4124
  return some(dto.active.memberNumber);
4085
4125
  }
4126
+ else if ('australianEthical' in dto) {
4127
+ return some(dto.australianEthical.memberNumber);
4128
+ }
4129
+ else if ('virgin' in dto) {
4130
+ return some(dto.virgin.memberNumber);
4131
+ }
4086
4132
  else {
4087
4133
  return none;
4088
4134
  }
@@ -4309,6 +4355,18 @@ const HeaderSection = class {
4309
4355
  }
4310
4356
  };
4311
4357
 
4358
+ const IFrameHost = class {
4359
+ constructor(hostRef) {
4360
+ index.registerInstance(this, hostRef);
4361
+ }
4362
+ componentDidLoad() {
4363
+ this.build(this.iframeElement);
4364
+ }
4365
+ render() {
4366
+ return (index.h("div", { class: "w-screen" }, index.h("iframe", { width: "100%", height: window.innerHeight, style: { border: 'none' }, ref: (el) => (this.iframeElement = el) })));
4367
+ }
4368
+ };
4369
+
4312
4370
  const LoadingIndicator = class {
4313
4371
  constructor(hostRef) {
4314
4372
  index.registerInstance(this, hostRef);
@@ -4433,7 +4491,7 @@ const initial$1 = {
4433
4491
  };
4434
4492
  const { state: state$2 } = createStore(initial$1);
4435
4493
 
4436
- class PromotedFundJoinIFrameBuilder {
4494
+ class PromotedFundJoinV1IFrameBuilder {
4437
4495
  constructor() {
4438
4496
  this.hostIsLocalSuperSelection = () => window.location.origin === 'http://localhost:7100';
4439
4497
  this.environmentDiscriminator = () => {
@@ -4534,17 +4592,132 @@ class PromotedFundJoinIFrameBuilder {
4534
4592
  };
4535
4593
  }
4536
4594
  }
4537
- const PromotedFundJoinIFrameBuilder$1 = new PromotedFundJoinIFrameBuilder();
4595
+ const PromotedFundJoinV1IFrameBuilder$1 = new PromotedFundJoinV1IFrameBuilder();
4538
4596
 
4539
- const PromotedFundJoinPage = class {
4597
+ const PromotedFundJoinV1Page = class {
4540
4598
  constructor(hostRef) {
4541
4599
  index.registerInstance(this, hostRef);
4542
4600
  }
4543
- componentDidLoad() {
4544
- PromotedFundJoinIFrameBuilder$1.build(this.iframeElement, this.history);
4601
+ render() {
4602
+ return (index.h("sss-iframe-host", { build: (iframe) => PromotedFundJoinV1IFrameBuilder$1.build(iframe, this.history) }));
4603
+ }
4604
+ };
4605
+
4606
+ class PromotedFundJoinV2IFrameBuilder {
4607
+ constructor() {
4608
+ this.environmentDiscriminator = () => {
4609
+ const discriminator = window.location.hostname.toLowerCase().split('.')[0];
4610
+ switch (discriminator) {
4611
+ case 'autodev-partner':
4612
+ case 'test-partner':
4613
+ case 'partner':
4614
+ case 'sandbox-partner':
4615
+ return discriminator.replace('partner', '');
4616
+ default:
4617
+ return 'autodev-';
4618
+ }
4619
+ };
4620
+ this.promotedFundJoinAppUrl = () => {
4621
+ return `https://${this.environmentDiscriminator()}api.simplefinancialchoices.com/promoted-funds/embed`;
4622
+ };
4623
+ }
4624
+ build(iframe$1, history) {
4625
+ if (!(iframe$1 === null || iframe$1 === void 0 ? void 0 : iframe$1.contentDocument))
4626
+ return;
4627
+ const postData = Object.assign(Object.assign({}, this.getMemberData()), { partnerId: superSelectionAppService.partnerIdOrDefault, accountId: superSelectionAppService.accountIdOrDefault, fundId: state$2.fundId, authToken: superSelectionAppService.jwt });
4628
+ const handleMessage = (event) => {
4629
+ var _a;
4630
+ const { data } = event;
4631
+ if (!data) {
4632
+ return;
4633
+ }
4634
+ if (data.sender === 'promoted-fund-redirect') {
4635
+ window.removeEventListener('message', handleMessage);
4636
+ switch (data.type) {
4637
+ case 'cancel':
4638
+ navigationService.navigateInternally(history, SuperSelectionAppRoutes.ChoicePage);
4639
+ break;
4640
+ case 'success':
4641
+ if (data.memberNumber) {
4642
+ navigationService.navigateInternallyToStandardChoice({
4643
+ history,
4644
+ fundName: (_a = getFundNameById(state$2.fundId)) !== null && _a !== void 0 ? _a : '',
4645
+ handleSubmitFn: (standardChoiceFormSignature) => promotedFundChoiceApi.submitChoiceAsync(Object.assign(Object.assign({}, state$2), { memberNumber: data.memberNumber, usi: data.usi.replace(/ /g, ''), standardChoiceFormSignature, shownFunds: superSelectionAppService.promotedFunds })),
4646
+ promotedFundId: state$2.fundId
4647
+ });
4648
+ break;
4649
+ }
4650
+ /* falls through */
4651
+ default:
4652
+ navigationService.navigateInternally(history, SuperSelectionAppRoutes.ChoicePage);
4653
+ break;
4654
+ }
4655
+ return;
4656
+ }
4657
+ if (data.sender === 'promoted-fund-join') {
4658
+ switch (data.type) {
4659
+ case 'contentResized':
4660
+ iframe$1.height = data.height > 0 ? data.height : iframe$1.height;
4661
+ iframe$1.width = data.width > 0 ? data.width : iframe$1.width;
4662
+ break;
4663
+ case 'pageNavigated':
4664
+ window.scroll(iframe$1.offsetLeft, iframe$1.offsetTop);
4665
+ iframe.navigation(window.location.href);
4666
+ break;
4667
+ }
4668
+ }
4669
+ };
4670
+ window.addEventListener('message', handleMessage);
4671
+ const iframeDoc = iframe$1.contentDocument;
4672
+ iframeDoc.open();
4673
+ const form = iframeDoc.createElement('form');
4674
+ form.method = 'POST';
4675
+ form.target = '_self';
4676
+ form.action = this.promotedFundJoinAppUrl();
4677
+ let prop;
4678
+ for (prop in postData) {
4679
+ const value = postData[prop];
4680
+ if (value !== undefined) {
4681
+ const input = document.createElement('input');
4682
+ input.type = 'hidden';
4683
+ input.name = prop;
4684
+ input.value = value;
4685
+ form.append(input);
4686
+ }
4687
+ }
4688
+ iframeDoc.appendChild(form);
4689
+ iframeDoc.close();
4690
+ form.submit();
4691
+ }
4692
+ getMemberData() {
4693
+ var _a, _b;
4694
+ const superBuyer = superSelectionAppService.superBuyer;
4695
+ return {
4696
+ title: superBuyer.userProfile.title,
4697
+ firstName: superBuyer.userProfile.firstName,
4698
+ middleName: superBuyer.userProfile.middleName,
4699
+ lastName: superBuyer.userProfile.lastName,
4700
+ dateOfBirth: superBuyer.userProfile.dateOfBirth,
4701
+ gender: superBuyer.userProfile.gender,
4702
+ email: superBuyer.userProfile.email,
4703
+ mobilePhone: superBuyer.userProfile.mobilePhone,
4704
+ taxFileNumber: (_a = superBuyer.tfn) !== null && _a !== void 0 ? _a : '',
4705
+ addressLine1: superBuyer.userProfile.address.addressLine1,
4706
+ addressLine2: (_b = superBuyer.userProfile.address.addressLine2) !== null && _b !== void 0 ? _b : '',
4707
+ city: superBuyer.userProfile.address.city,
4708
+ state: superBuyer.userProfile.address.state,
4709
+ postCode: superBuyer.userProfile.address.postcode
4710
+ };
4711
+ }
4712
+ }
4713
+ const PromotedFundJoinV2IFrameBuilder$1 = new PromotedFundJoinV2IFrameBuilder();
4714
+
4715
+ const PromotedFundJoinV2Page = class {
4716
+ constructor(hostRef) {
4717
+ index.registerInstance(this, hostRef);
4545
4718
  }
4546
4719
  render() {
4547
- return (index.h(index.Host, { class: "w-screen" }, index.h("iframe", { width: "100%", height: window.innerHeight, style: { border: 'none' }, ref: (el) => (this.iframeElement = el) })));
4720
+ return (index.h("sss-iframe-host", { build: (iframe) => PromotedFundJoinV2IFrameBuilder$1.build(iframe, this.history) }));
4548
4721
  }
4549
4722
  };
4550
4723
 
@@ -4553,6 +4726,7 @@ const SelfManagedFund = class {
4553
4726
  index.registerInstance(this, hostRef);
4554
4727
  this.showSmsfNotSupported = false;
4555
4728
  this.isSubmitDisabled = true;
4729
+ this.isAbnValid = false;
4556
4730
  this.eventTrackingService = EventTrackingService.Instance;
4557
4731
  this.success = () => {
4558
4732
  navigationService.navigateInternallyToStandardChoice({
@@ -4590,9 +4764,14 @@ const SelfManagedFund = class {
4590
4764
  render() {
4591
4765
  return (index.h(index.Host, null, index.h("sss-header-section", { currentPage: "own-fund" }), index.h("div", { class: "flex justify-center mt-11" }, index.h("sss-custom-fund", null, index.h("form", { noValidate: true, onSubmit: (ev) => ev.preventDefault(), class: {
4592
4766
  'was-validated': this.formState === 'validated'
4593
- }, ref: (el) => (this.formElement = el), onInput: (_) => (this.isSubmitDisabled = !this.formElement.checkValidity()) }, index.h("div", { class: "p-4 sm:p-6 border shadow-sm rounded-lg max-w-560" }, index.h("p", { class: "sm:text-lg font-bold" }, "Fund details"), index.h("div", { class: "bg-yellow-50 border-l-4 border-yellow-400 p-4 my-3" }, index.h("div", { class: "flex" }, index.h("div", { class: "flex-shrink-0" }, index.h("img", { class: "h-5 w-5", src: index.getAssetPath('assets/icon-exclamation.svg') })), index.h("div", { class: "ml-3 text-sm text-yellow-700 leading-5" }, "Make sure your Self-managed super fund (SMSF) is a registered fund before completing this step."))), index.h("sss-self-managed-fund-inputs", { fundForm: state$1.selfManagedFundForm, showValidationErrors: this.formState === 'validated', onFormChanged: (event) => {
4767
+ }, ref: (el) => (this.formElement = el) }, index.h("div", { class: "p-4 sm:p-6 border shadow-sm rounded-lg max-w-560" }, index.h("p", { class: "sm:text-lg font-bold" }, "Fund details"), index.h("div", { class: "bg-yellow-50 border-l-4 border-yellow-400 p-4 my-3" }, index.h("div", { class: "flex" }, index.h("div", { class: "flex-shrink-0" }, index.h("img", { class: "h-5 w-5", src: index.getAssetPath('assets/icon-exclamation.svg') })), index.h("div", { class: "ml-3 text-sm text-yellow-700 leading-5" }, "Make sure your Self-managed super fund (SMSF) is a registered fund before completing this step."))), index.h("sss-self-managed-fund-inputs", { fundForm: state$1.selfManagedFundForm, showValidationErrors: this.formState === 'validated', onFormChanged: (event) => {
4594
4768
  state$1.selfManagedFundForm = Object.assign(Object.assign({}, state$1.selfManagedFundForm), event.detail);
4595
- } })), index.h("div", { class: "flex justify-center mt-8" }, index.h("div", { class: "sm:max-w-320 w-full" }, index.h("div", { class: "mb-4" }, index.h("sss-button", { fillWidth: true, promiseFn: () => this.handleSubmitForm(), disabled: this.isSubmitDisabled }, "Continue")), index.h("stencil-route-link", { url: SuperSelectionAppRoutes.ChoicePage }, index.h("sss-button", { fillWidth: true, variant: "secondary" }, "Back")))), this.showSmsfNotSupported && (index.h("sss-smsf-not-supported-dialog", { ref: (el) => (this.notSupportedDialog = el), onContinue: this.success })))))));
4769
+ if (event.detail.isAbnValid !== undefined)
4770
+ this.isAbnValid = event.detail.isAbnValid;
4771
+ this.isSubmitDisabled = !this.formElement.checkValidity() || !this.isAbnValid;
4772
+ } })), index.h("div", { class: "flex justify-center mt-8" }, index.h("div", { class: "sm:max-w-320 w-full" }, index.h("div", { class: "mb-4", onClick:
4773
+ // user clicks on disabled button (div wrapper) then validation errors will show
4774
+ () => (this.formState = 'validated') }, index.h("sss-button", { fillWidth: true, promiseFn: () => this.handleSubmitForm(), disabled: this.isSubmitDisabled }, "Continue")), index.h("stencil-route-link", { url: SuperSelectionAppRoutes.ChoicePage }, index.h("sss-button", { fillWidth: true, variant: "secondary" }, "Back")))), this.showSmsfNotSupported && (index.h("sss-smsf-not-supported-dialog", { ref: (el) => (this.notSupportedDialog = el), onContinue: this.success })))))));
4596
4775
  }
4597
4776
  componentDidRender() {
4598
4777
  var _a;
@@ -4728,6 +4907,7 @@ const SelfManagedFundInputs = class {
4728
4907
  constructor(hostRef) {
4729
4908
  index.registerInstance(this, hostRef);
4730
4909
  this.formChanged = index.createEvent(this, "formChanged", 7);
4910
+ this.isAbnValid = false;
4731
4911
  this.currentBank = none;
4732
4912
  this.addressErrorMessage = none;
4733
4913
  this.stateOptions = [
@@ -4749,19 +4929,23 @@ const SelfManagedFundInputs = class {
4749
4929
  'invalid:border-red-300 invalid:text-red-900 invalid:placeholder-red-300 invalid:focus:ring-red-500 invalid:focus:border-red-500': this
4750
4930
  .showValidationErrors
4751
4931
  };
4752
- return (index.h("div", null, index.h("div", null, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund name"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundName", id: "fundName", value: state$1.selfManagedFundForm.fundName, onChange: (ev) => this.updateFormField('fundName', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund name"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund ABN"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundAbn", id: "fundAbn", value: state$1.selfManagedFundForm.fundAbn, onChange: (ev) => this.updateFormField('fundAbn', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund ABN"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Electronic service address alias (ESA)"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundEsa", id: "fundEsa", value: state$1.selfManagedFundForm.fundEsa, onChange: (ev) => this.updateFormField('fundEsa', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund ESA"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund address"), index.h("div", { class: "mt-1 rounded-md shadow-sm -space-y-px" }, index.h("input", { placeholder: "Address line 1", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-t-md shadow-none': true }), required: true, minlength: "2", name: "addressLine1", id: "addressLine1", value: state$1.selfManagedFundForm.addressLine1, onChange: (ev) => {
4932
+ return (index.h("div", null, index.h("div", null, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund name"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundName", id: "fundName", value: state$1.selfManagedFundForm.fundName, onChange: (ev) => this.updateFormField('fundName', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund name"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund ABN"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundAbn", id: "fundAbn", value: state$1.selfManagedFundForm.fundAbn, inputmode: "numeric", pattern: "[0-9]*", onKeyUp: (ev) => {
4933
+ this.updateFormField('fundAbn', ev.target.value.trim());
4934
+ this.isAbnValid = this.validateAbn(ev.target.value);
4935
+ this.updateFormField('isAbnValid', this.isAbnValid);
4936
+ } }), this.showValidationErrors && !this.isAbnValid && (index.h("div", { class: "mt-2 text-sm text-red-600" }, "Enter a valid fund ABN (digits only)")))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Electronic service address alias (ESA)"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundEsa", id: "fundEsa", value: state$1.selfManagedFundForm.fundEsa, onChange: (ev) => this.updateFormField('fundEsa', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund ESA"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund address"), index.h("div", { class: "mt-1 rounded-md shadow-sm -space-y-px" }, index.h("input", { placeholder: "Address line 1", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-t-md shadow-none': true }), required: true, minlength: "2", name: "addressLine1", id: "addressLine1", value: state$1.selfManagedFundForm.addressLine1, onChange: (ev) => {
4753
4937
  this.updateFormField('addressLine1', ev.target.value.trim());
4754
4938
  this.updateAddressErrorMessage();
4755
4939
  }, ref: (el) => (this.addressLine1Element = el) }), index.h("input", { placeholder: "Address line 2 (optional)", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none shadow-none': true }), name: "addressLine2", id: "addressLine2", value: state$1.selfManagedFundForm.addressLine2, onChange: (ev) => this.updateFormField('addressLine2', ev.target.value.trim()) }), index.h("input", { placeholder: "City/suburb", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none shadow-none': true }), name: "city", required: true, id: "city", value: state$1.selfManagedFundForm.city, onChange: (ev) => {
4756
4940
  this.updateFormField('city', ev.target.value.trim());
4757
4941
  this.updateAddressErrorMessage();
4758
- }, ref: (el) => (this.cityElement = el) }), index.h("div", { class: "flex -space-x-px" }, index.h("div", { class: "w-1/2 flex-1 min-w-0" }, index.h("input", { placeholder: "Postcode", type: "text", required: true, class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-bl-md shadow-none': true }), name: "postcode", minlength: "4", maxlength: "4", pattern: "[0-9]{4}", id: "postcode", value: state$1.selfManagedFundForm.postcode, onChange: (ev) => {
4942
+ }, ref: (el) => (this.cityElement = el) }), index.h("div", { class: "flex -space-x-px" }, index.h("div", { class: "w-1/2 flex-1 min-w-0" }, index.h("input", { placeholder: "Postcode", type: "text", required: true, class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-bl-md shadow-none': true }), name: "postcode", minlength: "4", maxlength: "4", pattern: "[0-9]{4}", id: "postcode", value: state$1.selfManagedFundForm.postcode, inputmode: "numeric", onChange: (ev) => {
4759
4943
  this.updateFormField('postcode', ev.target.value.trim());
4760
4944
  this.updateAddressErrorMessage();
4761
- }, ref: (el) => (this.postcodeElement = el) })), index.h("div", { class: "flex-1 min-w-0" }, index.h("select", { class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-br-md shadow-none': true, 'text-gray-500': !this.fundForm.state }), name: "state", required: true, id: "state", onChange: (ev) => {
4945
+ }, ref: (el) => (this.postcodeElement = el) })), index.h("div", { class: "flex-1 min-w-0" }, index.h("select", { class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-br-md shadow-none': true, 'text-gray-500': this.fundForm.state !== undefined }), name: "state", required: true, id: "state", onChange: (ev) => {
4762
4946
  this.updateFormField('state', ev.target.value.trim());
4763
4947
  this.updateAddressErrorMessage();
4764
- }, ref: (el) => (this.stateElement = el) }, index.h("option", { disabled: true, selected: !this.fundForm.state, value: "" }, "State"), this.stateOptions.map((s) => (index.h("option", { value: s.value, selected: this.fundForm.state === s.value }, s.label))))))), isSome(this.addressErrorMessage) && this.showValidationErrors && (index.h("div", { class: "mt-2 text-sm text-red-600" }, this.addressErrorMessage.value))), index.h("h3", { class: "text-lg font-bold mt-6" }, "Fund bank details"), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Account name"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bankAccountName", minlength: "2", id: "bankAccountName", value: state$1.selfManagedFundForm.bankAccountName, onChange: (ev) => this.updateFormField('bankAccountName', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account name"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "BSB"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bsb", id: "bsb", minlength: "6", maxlength: "7", onKeyUp: (ev) => this.updateCurrentBank(ev), pattern: this.bsbRegex.source, value: state$1.selfManagedFundForm.bsb }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid BSB"))), isSome(this.currentBank) && (index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Bank name"), index.h("div", { class: "mt-1 shadow-sm px-3 py-2 rounded-md border border-gray-300 bg-gray-50 text-gray-500 text-sm" }, this.currentBank.value))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Account number"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bankAccountNumber", id: "bankAccountNumber", minlength: "2", maxlength: "11", pattern: this.bankAccountNumberRegex.source, value: state$1.selfManagedFundForm.bankAccountNumber, onKeyUp: (ev) => this.updateCurrentBankAccountNumber(ev), onChange: (ev) => this.updateFormField('bankAccountNumber', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account number")))));
4948
+ }, ref: (el) => (this.stateElement = el) }, index.h("option", { disabled: true, selected: this.fundForm.state !== undefined, value: "" }, "State"), this.stateOptions.map((s) => (index.h("option", { value: s.value, selected: this.fundForm.state === s.value }, s.label))))))), isSome(this.addressErrorMessage) && this.showValidationErrors && (index.h("div", { class: "mt-2 text-sm text-red-600" }, this.addressErrorMessage.value))), index.h("h3", { class: "text-lg font-bold mt-6" }, "Fund bank details"), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Account name"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bankAccountName", minlength: "2", id: "bankAccountName", value: state$1.selfManagedFundForm.bankAccountName, onChange: (ev) => this.updateFormField('bankAccountName', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account name"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "BSB"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bsb", id: "bsb", minlength: "6", maxlength: "7", inputmode: "numeric", onKeyUp: (ev) => this.updateCurrentBank(ev), pattern: this.bsbRegex.source, value: state$1.selfManagedFundForm.bsb }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid BSB"))), isSome(this.currentBank) && (index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Bank name"), index.h("div", { class: "mt-1 shadow-sm px-3 py-2 rounded-md border border-gray-300 bg-gray-50 text-gray-500 text-sm" }, this.currentBank.value))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Account number"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bankAccountNumber", id: "bankAccountNumber", minlength: "2", maxlength: "11", pattern: this.bankAccountNumberRegex.source, inputmode: "numeric", value: state$1.selfManagedFundForm.bankAccountNumber, onKeyUp: (ev) => this.updateCurrentBankAccountNumber(ev), onChange: (ev) => this.updateFormField('bankAccountNumber', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account number")))));
4765
4949
  }
4766
4950
  updateFormField(key, value) {
4767
4951
  this.formChanged.emit({ [key]: value });
@@ -4803,6 +4987,17 @@ const SelfManagedFundInputs = class {
4803
4987
  }
4804
4988
  this.addressErrorMessage = message;
4805
4989
  }
4990
+ validateAbn(abn) {
4991
+ const digitArray = abn.split('').map(Number);
4992
+ const isAllDigits = digitArray.every((d) => !isNaN(d));
4993
+ if (!isAllDigits || digitArray.length !== 11) {
4994
+ return false;
4995
+ }
4996
+ const weightingFactors = [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19];
4997
+ digitArray[0]--;
4998
+ const sum = digitArray.reduce((sum, digit, i) => sum + digit * weightingFactors[i], 0);
4999
+ return sum % 89 === 0;
5000
+ }
4806
5001
  };
4807
5002
 
4808
5003
  var __decorate = (undefined && undefined.__decorate) || function (decorators, target, key, desc) {
@@ -5009,11 +5204,8 @@ const SlateJoinPage = class {
5009
5204
  constructor(hostRef) {
5010
5205
  index.registerInstance(this, hostRef);
5011
5206
  }
5012
- componentDidLoad() {
5013
- slateIFrameBuilder.build(this.iframeElement, this.history);
5014
- }
5015
5207
  render() {
5016
- return (index.h(index.Host, { class: "w-screen" }, index.h("iframe", { width: "100%", height: window.innerHeight, style: { border: 'none' }, ref: (el) => (this.iframeElement = el) })));
5208
+ return index.h("sss-iframe-host", { build: (iframe) => slateIFrameBuilder.build(iframe, this.history) });
5017
5209
  }
5018
5210
  };
5019
5211
 
@@ -5129,6 +5321,9 @@ const SuperChoicePage = class {
5129
5321
  } }, index.h("sss-super-choice-item-bottom", { disclaimer: fund.disclaimer, abnInfo: fund.abnInfo, abn: fund.abn, onJoinFundClicked: async () => this.handleJoinSuperClickAsync(fund) })))))), index.h("div", { class: "flex justify-center mt-8 sm:mt-12" }, index.h("div", { class: "pb-8 sm:pb-12 max-w-720 border-b" }, index.h("h5", { class: "font-bold sm:text-lg" }, "Or, choose another super fund:"), index.h("ul", { class: "list-disc list-outside ml-6 mt-3 mb-6 space-y-2 leading-6 text-sm sm:text-base" }, index.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."), index.h("li", null, "If you are unsure of your current super fund details, you can find out at", ' ', index.h("a", { class: "text-primary-base font-medium", target: "_blank", href: navigationService.toExternalUrl(mygovLink) }, mygovLinkDisplay)), index.h("li", null, "A full list of super funds can be viewed at", ' ', index.h("a", { class: "text-primary-base font-medium", target: "_blank", href: navigationService.toExternalUrl(superfundsLink) }, superfundsLinkDisplay))), index.h("stencil-route-link", { url: SuperSelectionAppRoutes.MyOwnFund }, index.h("sss-button", { fillWidthOnMobile: true }, "Choose another super fund")))), FeatureFlagService.isNewComplianceEnabled() && (index.h("div", { class: "flex justify-center" }, index.h("div", { class: "pt-8 sm:pt-12 max-w-720" }, index.h("h5", { class: "font-semibold" }, "IMPORTANT INFORMATION:"), index.h("ul", { class: "list-disc list-outside ml-6 mt-3 space-y-2 text-sm leading-6" }, index.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."), index.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."), index.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."), index.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."), index.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)."))))))));
5130
5322
  }
5131
5323
  allFunds() {
5324
+ const Link = (props, children) => {
5325
+ return (index.h("a", { class: "font-medium underline", target: "_blank", href: navigationService.toExternalUrl(props.href), onClick: props.onClick }, children));
5326
+ };
5132
5327
  return [
5133
5328
  {
5134
5329
  fundId: Slate.Id,
@@ -5140,7 +5335,7 @@ const SuperChoicePage = class {
5140
5335
  { order: 2, value: 'Advanced mobile app with retirement forecast and smart features' },
5141
5336
  { order: 3, value: 'Member advocates at Slate to assist with your account' }
5142
5337
  ],
5143
- disclaimer: (index.h("p", { class: "small text-muted" }, "You should consider the", ' ', index.h("a", { class: "font-medium underline", target: "_blank", href: navigationService.toExternalUrl(Slate.PdsUrl), onClick: () => this.pdsViewedAsync(Slate.Name, Slate.Usi) }, "Product Disclosure Statement"), ' ', "and", ' ', index.h("a", { class: "font-medium underline", target: "_blank", href: navigationService.toExternalUrl('https://slate.co/forms-and-documents/target-market-determination/') }, "Target Market Determination"), ' ', "before deciding to invest in or apply to become a member of the fund.")),
5338
+ disclaimer: (index.h("p", { class: "small text-muted" }, "You should consider the", ' ', index.h(Link, { href: Slate.PdsUrl, onClick: () => this.pdsViewedAsync(Slate.Name, Slate.Usi) }, "Product Disclosure Statement"), ' ', "and", ' ', index.h(Link, { href: "https://slate.co/forms-and-documents/target-market-determination/" }, "Target Market Determination"), ' ', "before deciding to invest in or apply to become a member of the fund.")),
5144
5339
  abnInfo: `Diversa Trustees Limited`,
5145
5340
  abn: Slate.DiversaAbn
5146
5341
  },
@@ -5148,14 +5343,14 @@ const SuperChoicePage = class {
5148
5343
  fundId: AustralianRetirementTrust.Id,
5149
5344
  name: AustralianRetirementTrust.Name,
5150
5345
  logo: 'logo-art.svg',
5151
- route: SuperSelectionAppRoutes.PromotedFundJoin,
5346
+ route: SuperSelectionAppRoutes.PromotedFundJoinV1,
5152
5347
  features: [
5153
5348
  { order: 1, value: '$200 billion in retirement savings' },
5154
5349
  { order: 2, value: '2+ million members' },
5155
5350
  { order: 3, value: 'A focus on delivering strong, long‑term returns' }
5156
5351
  ],
5157
5352
  featureSubText: 'QSuper is now part of Australian Retirement Trust. If you have an existing QSuper account, you will continue to hold that account by selecting this option.',
5158
- disclaimer: (index.h("p", null, "You should consider the", ' ', index.h("a", { class: "font-medium underline", target: "_blank", href: navigationService.toExternalUrl(AustralianRetirementTrust.PdsUrl), onClick: () => this.pdsViewedAsync(AustralianRetirementTrust.Name) }, "Product Disclosure Statement"), ' ', "and", ' ', index.h("a", { class: "font-medium underline", target: "_blank", href: navigationService.toExternalUrl('https://www.australianretirementtrust.com.au/tmd') }, "Target Market Determination"), ' ', "before deciding to invest in or apply to become a member of this fund.")),
5353
+ disclaimer: (index.h("p", null, "You should consider the", ' ', index.h(Link, { href: AustralianRetirementTrust.PdsUrl, onClick: () => this.pdsViewedAsync(AustralianRetirementTrust.Name) }, "Product Disclosure Statement"), ' ', "and", ' ', index.h(Link, { href: "https://www.australianretirementtrust.com.au/tmd" }, "Target Market Determination"), ' ', "before deciding to invest in or apply to become a member of this fund.")),
5159
5354
  abnInfo: `Australian Retirement Trust`,
5160
5355
  abn: AustralianRetirementTrust.Abn
5161
5356
  },
@@ -5163,13 +5358,13 @@ const SuperChoicePage = class {
5163
5358
  fundId: Aware.Id,
5164
5359
  name: Aware.Name,
5165
5360
  logo: 'logo-aware.svg',
5166
- route: SuperSelectionAppRoutes.PromotedFundJoin,
5361
+ route: SuperSelectionAppRoutes.PromotedFundJoinV1,
5167
5362
  features: [
5168
5363
  { order: 1, value: 'Acting on climate change' },
5169
5364
  { order: 2, value: 'All profits go to members' },
5170
5365
  { order: 3, value: 'One of Australia’s largest funds' }
5171
5366
  ],
5172
- disclaimer: (index.h("p", null, "You should consider the", ' ', index.h("a", { class: "font-medium underline", target: "_blank", href: navigationService.toExternalUrl(Aware.PdsUrl), onClick: () => this.pdsViewedAsync(Aware.Name) }, "Product Disclosure Statement"), ' ', "before deciding to invest in or apply to become a member of this fund.")),
5367
+ disclaimer: (index.h("p", null, "You should consider the", ' ', index.h(Link, { href: Aware.PdsUrl, onClick: () => this.pdsViewedAsync(Aware.Name) }, "Product Disclosure Statement"), ' ', "before deciding to invest in or apply to become a member of this fund.")),
5173
5368
  abnInfo: `Aware Super Pty Ltd`,
5174
5369
  abn: Aware.Abn
5175
5370
  },
@@ -5177,14 +5372,38 @@ const SuperChoicePage = class {
5177
5372
  fundId: Active.Id,
5178
5373
  name: Active.Name,
5179
5374
  logo: 'logo-active.svg',
5180
- route: SuperSelectionAppRoutes.PromotedFundJoin,
5375
+ route: SuperSelectionAppRoutes.PromotedFundJoinV1,
5181
5376
  features: [
5182
5377
  { order: 1, value: "One of Canstar's top-performing funds*" },
5183
5378
  { order: 2, value: 'Recognised as a leader in responsible investment' },
5184
5379
  { order: 3, value: 'Calls answered in 20 seconds (average over 5 years)' }
5185
5380
  ],
5186
5381
  featureSubText: '*Past performance is not a reliable indicator of future performance. As at 22 April 2022, Active Super is ranked among Canstar’s top five funds for 18-49 year-olds with a balance up to $250,000 based on returns over 5 years in the Accumulation Scheme.',
5187
- disclaimer: (index.h("p", null, "Issued by LGSS Pty Limited as trustee for Local Government Super (Active Super ABN:28 901 371 321). Consider the PDS and TMD at", ' ', index.h("a", { class: "font-medium underline", target: "_blank", onClick: () => this.pdsViewedAsync(Active.Name), href: navigationService.toExternalUrl(Active.PdsUrl) }, "activesuper.com.au"), ' ', "before making a decision."))
5382
+ disclaimer: (index.h("p", null, "Issued by LGSS Pty Limited as trustee for Local Government Super (Active Super ABN:28 901 371 321). Consider the PDS and TMD at", ' ', index.h(Link, { onClick: () => this.pdsViewedAsync(Active.Name), href: Active.PdsUrl }, "activesuper.com.au"), ' ', "before making a decision."))
5383
+ },
5384
+ {
5385
+ fundId: AustralianEthical.Id,
5386
+ name: AustralianEthical.Name,
5387
+ logo: 'logo-slate.png',
5388
+ route: SuperSelectionAppRoutes.PromotedFundJoinV2,
5389
+ features: [
5390
+ { order: 1, value: 'TODO #1' },
5391
+ { order: 2, value: 'TODO #2' },
5392
+ { order: 3, value: 'TODO #3' }
5393
+ ],
5394
+ disclaimer: (index.h("p", null, "You should consider the", ' ', index.h(Link, { href: AustralianEthical.PdsUrl, onClick: () => this.pdsViewedAsync(AustralianEthical.Name) }, "Product Disclosure Statement"), ' ', "before deciding to invest in or apply to become a member of this fund."))
5395
+ },
5396
+ {
5397
+ fundId: Virgin.Id,
5398
+ name: Virgin.Name,
5399
+ logo: 'logo-slate.png',
5400
+ route: SuperSelectionAppRoutes.PromotedFundJoinV2,
5401
+ features: [
5402
+ { order: 1, value: 'TODO #1' },
5403
+ { order: 2, value: 'TODO #2' },
5404
+ { order: 3, value: 'TODO #3' }
5405
+ ],
5406
+ disclaimer: (index.h("p", null, "You should consider the", ' ', index.h(Link, { href: Virgin.PdsUrl, onClick: () => this.pdsViewedAsync(Virgin.Name) }, "Product Disclosure Statement"), ' ', "before deciding to invest in or apply to become a member of this fund."))
5188
5407
  }
5189
5408
  ];
5190
5409
  }
@@ -5199,39 +5418,15 @@ const SuperChoicePage = class {
5199
5418
  return fundTiles;
5200
5419
  }
5201
5420
  async handleJoinSuperClickAsync(fund) {
5421
+ var _a;
5202
5422
  const promotedFundsShown = superSelectionAppService.promotedFunds;
5203
- if (fund.fundId === Slate.Id) {
5204
- await this.eventTrackingService.TrackPromotedSuperFundDetailViewedAsync({
5205
- fundUsi: Slate.Usi,
5206
- fundName: Slate.Name,
5207
- promotedFundId: Slate.Id,
5208
- promotedFundsShown
5209
- });
5210
- }
5211
- else if (fund.fundId === AustralianRetirementTrust.Id) {
5212
- await this.eventTrackingService.TrackPromotedSuperFundDetailViewedAsync({
5213
- fundName: AustralianRetirementTrust.Name,
5214
- promotedFundId: AustralianRetirementTrust.Id,
5215
- promotedFundsShown
5216
- });
5217
- state$2.fundId = fund.fundId;
5218
- }
5219
- else if (fund.fundId === Aware.Id) {
5220
- await this.eventTrackingService.TrackPromotedSuperFundDetailViewedAsync({
5221
- fundName: Aware.Name,
5222
- promotedFundId: Aware.Id,
5223
- promotedFundsShown
5224
- });
5225
- state$2.fundId = fund.fundId;
5226
- }
5227
- else if (fund.fundId === Active.Id) {
5228
- await this.eventTrackingService.TrackPromotedSuperFundDetailViewedAsync({
5229
- fundName: Active.Name,
5230
- promotedFundId: Active.Id,
5231
- promotedFundsShown
5232
- });
5233
- state$2.fundId = fund.fundId;
5234
- }
5423
+ await this.eventTrackingService.TrackPromotedSuperFundDetailViewedAsync({
5424
+ fundUsi: getFundUsiById(fund.fundId),
5425
+ fundName: (_a = getFundNameById(fund.fundId)) !== null && _a !== void 0 ? _a : '',
5426
+ promotedFundId: fund.fundId,
5427
+ promotedFundsShown
5428
+ });
5429
+ state$2.fundId = fund.fundId;
5235
5430
  return navigationService.navigateInternally(this.history, fund.route);
5236
5431
  }
5237
5432
  pdsViewedAsync(name, usi) {
@@ -6255,7 +6450,8 @@ const SuperSelectionApp = class {
6255
6450
  }
6256
6451
  isFundJoinPage() {
6257
6452
  return (window.location.pathname.includes(SuperSelectionAppRoutes.SlateJoin) ||
6258
- window.location.pathname.includes(SuperSelectionAppRoutes.PromotedFundJoin));
6453
+ window.location.pathname.includes(SuperSelectionAppRoutes.PromotedFundJoinV1) ||
6454
+ window.location.pathname.includes(SuperSelectionAppRoutes.PromotedFundJoinV2));
6259
6455
  }
6260
6456
  static get assetsDirs() { return ["assets"]; }
6261
6457
  static get watchers() { return {
@@ -16630,11 +16826,13 @@ exports.sss_dropdown_async = SelectInputAsync;
16630
16826
  exports.sss_existing_choice_page = ExistingChoice;
16631
16827
  exports.sss_footer_section = FooterSection;
16632
16828
  exports.sss_header_section = HeaderSection;
16829
+ exports.sss_iframe_host = IFrameHost;
16633
16830
  exports.sss_loading_indicator = LoadingIndicator;
16634
16831
  exports.sss_loading_page = LoadingPage;
16635
16832
  exports.sss_my_own_fund = MyOwnFund;
16636
16833
  exports.sss_my_own_fund_inputs = MyOwnFundInputs;
16637
- exports.sss_promoted_fund_join_page = PromotedFundJoinPage;
16834
+ exports.sss_promoted_fund_join_v1_page = PromotedFundJoinV1Page;
16835
+ exports.sss_promoted_fund_join_v2_page = PromotedFundJoinV2Page;
16638
16836
  exports.sss_self_managed_fund = SelfManagedFund;
16639
16837
  exports.sss_self_managed_fund_inputs = SelfManagedFundInputs;
16640
16838
  exports.sss_slate_join_page = SlateJoinPage;