@flarehr/apollo-super-selection 3.52.60060 → 3.55.61713

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 (203) hide show
  1. package/dist/lib/apollo-super-selection/apollo-super-selection.css +1 -0
  2. package/dist/lib/apollo-super-selection/apollo-super-selection.esm.js +1 -1
  3. package/dist/lib/apollo-super-selection/apollo-super-selection.js +1 -1
  4. package/dist/lib/apollo-super-selection/assets/icon-check.svg +3 -0
  5. package/dist/lib/apollo-super-selection/assets/icon-exclamation.svg +3 -0
  6. package/dist/lib/apollo-super-selection/assets/icon-information-circle.svg +3 -0
  7. package/dist/lib/apollo-super-selection/p-0d3b8084.system.entry.js +1 -0
  8. package/dist/lib/apollo-super-selection/p-0ef73515.entry.js +1 -0
  9. package/dist/lib/apollo-super-selection/p-0f723eb4.system.js +1 -0
  10. package/dist/lib/apollo-super-selection/{p-01a9f4a4.entry.js → p-12d77532.entry.js} +1 -1
  11. package/dist/lib/apollo-super-selection/p-14885f78.system.js +15 -0
  12. package/dist/lib/apollo-super-selection/{p-381262c1.system.js → p-15f0e5eb.system.js} +1 -1
  13. package/dist/lib/apollo-super-selection/p-29c11183.js +15 -0
  14. package/dist/lib/apollo-super-selection/{p-20136efe.entry.js → p-375401a0.entry.js} +1 -1
  15. package/dist/lib/apollo-super-selection/{p-285da037.system.entry.js → p-3ce021a5.system.entry.js} +1 -1
  16. package/dist/lib/apollo-super-selection/{p-61734b66.js → p-40e504c4.js} +1 -1
  17. package/dist/lib/apollo-super-selection/p-67b71067.entry.js +1 -0
  18. package/dist/lib/apollo-super-selection/{p-082669d9.js → p-683b6e23.js} +1 -1
  19. package/dist/lib/apollo-super-selection/{p-38ee2795.system.js → p-6cdec249.system.js} +1 -1
  20. package/dist/lib/apollo-super-selection/{p-cd49a6b7.system.entry.js → p-76eee25a.system.entry.js} +1 -1
  21. package/dist/lib/apollo-super-selection/p-86e3e03f.js +1 -0
  22. package/dist/lib/apollo-super-selection/{p-8cbfc343.system.entry.js → p-918a740c.system.entry.js} +1 -1
  23. package/dist/lib/apollo-super-selection/p-93f7a547.entry.js +14 -0
  24. package/dist/lib/apollo-super-selection/p-c249f6ed.system.js +1 -0
  25. package/dist/lib/apollo-super-selection/p-c2b9cfa5.system.entry.js +69 -0
  26. package/dist/lib/apollo-super-selection/{p-a98c2760.entry.js → p-cb6b386e.entry.js} +1 -1
  27. package/dist/lib/apollo-super-selection/{p-f15bf700.system.entry.js → p-e9a34be2.system.entry.js} +1 -1
  28. package/dist/lib/cjs/{active-router-e92fd784.js → active-router-71d965f4.js} +1 -1
  29. package/dist/lib/cjs/apollo-super-selection.cjs.js +4 -5
  30. package/dist/lib/cjs/{app-globals-45007120.js → app-globals-b1125d8c.js} +1 -1
  31. package/dist/lib/cjs/context-consumer.cjs.entry.js +1 -1
  32. package/dist/lib/cjs/{datorama-akita-7f4b082a.js → datorama-akita-6c9cb8fb.js} +1005 -68
  33. package/dist/lib/cjs/{index-942e6faa.js → index-f746d8f0.js} +2 -0
  34. package/dist/lib/cjs/loader.cjs.js +4 -5
  35. package/dist/lib/cjs/{fl-button_31.cjs.entry.js → sss-button_28.cjs.entry.js} +2138 -2177
  36. package/dist/lib/cjs/stencil-async-content.cjs.entry.js +1 -1
  37. package/dist/lib/cjs/stencil-route-title.cjs.entry.js +2 -2
  38. package/dist/lib/cjs/stencil-router-prompt.cjs.entry.js +2 -2
  39. package/dist/lib/cjs/stencil-router-redirect.cjs.entry.js +2 -2
  40. package/dist/lib/collection/apollo-super-selection.css +1 -0
  41. package/dist/lib/collection/collection-manifest.json +16 -28
  42. package/dist/lib/collection/components/app-host/loading-page.js +3 -3
  43. package/dist/lib/collection/components/app-host/super-selection-app-host.css +0 -4
  44. package/dist/lib/collection/components/app-host/super-selection-app-host.js +7 -19
  45. package/dist/lib/collection/components/super-selection-app/api/super-selection.api.dto.js +69 -1
  46. package/dist/lib/collection/components/super-selection-app/api/super-selection.api.js +9 -3
  47. package/dist/lib/collection/components/super-selection-app/app-state-pages/success.js +16 -21
  48. package/dist/lib/collection/components/super-selection-app/assets/icon-check.svg +3 -0
  49. package/dist/lib/collection/components/super-selection-app/assets/icon-exclamation.svg +3 -0
  50. package/dist/lib/collection/components/super-selection-app/assets/icon-information-circle.svg +3 -0
  51. package/dist/lib/collection/components/super-selection-app/consent/consent.js +57 -0
  52. package/dist/lib/collection/components/super-selection-app/existing-choice/existing-choice.js +136 -0
  53. package/dist/lib/collection/components/super-selection-app/footer-section/footer-section.js +6 -18
  54. package/dist/lib/collection/components/super-selection-app/funds/constants.js +50 -0
  55. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/custom-fund.js +32 -16
  56. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/custom-fund.store.js +10 -14
  57. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/default-fund/default-fund.js +36 -45
  58. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund-inputs.js +40 -19
  59. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund.js +45 -40
  60. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund-inputs.js +104 -58
  61. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.js +53 -49
  62. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-not-supported.js +6 -16
  63. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/promoted-fund-join-page.js +1 -1
  64. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/promoted-fund.store.js +1 -4
  65. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/services/promoted-fund-join-iframe-builder.js +10 -4
  66. package/dist/lib/collection/components/super-selection-app/funds/slate-super/services/slate-iframe-builder.js +13 -4
  67. package/dist/lib/collection/components/super-selection-app/funds/slate-super/slate-join-page.js +2 -3
  68. package/dist/lib/collection/components/super-selection-app/header-section/header-section.js +45 -0
  69. package/dist/lib/collection/components/super-selection-app/misc/button.js +146 -0
  70. package/dist/lib/collection/components/super-selection-app/misc/dropdown-async.css +7 -0
  71. package/dist/lib/collection/components/super-selection-app/misc/dropdown-async.js +359 -0
  72. package/dist/lib/collection/components/super-selection-app/misc/loading-indicator.js +52 -0
  73. package/dist/lib/collection/components/super-selection-app/services/australian-fund-lookup.service.js +8 -4
  74. package/dist/lib/collection/components/super-selection-app/services/event-tracking.service.js +20 -0
  75. package/dist/lib/collection/components/super-selection-app/services/existing-super-choice-info.service.js +95 -0
  76. package/dist/lib/collection/components/super-selection-app/services/feature-flag.service.js +11 -0
  77. package/dist/lib/collection/components/super-selection-app/services/navigation.service.js +8 -0
  78. package/dist/lib/collection/components/super-selection-app/services/super-selection-app.routes.js +6 -4
  79. package/dist/lib/collection/components/super-selection-app/standard-choice/standard-choice-form.js +69 -34
  80. package/dist/lib/collection/components/super-selection-app/standard-choice/standard-choice-form.store.js +10 -0
  81. package/dist/lib/collection/components/super-selection-app/super-choice-page/super-choice-item/super-choice-item-bottom.js +94 -0
  82. package/dist/lib/collection/components/super-selection-app/super-choice-page/super-choice-item/super-choice-item-top.js +90 -0
  83. package/dist/lib/collection/components/super-selection-app/super-choice-page/super-choice-page.js +85 -92
  84. package/dist/lib/collection/components/super-selection-app/super-selection-app.css +16 -4
  85. package/dist/lib/collection/components/super-selection-app/super-selection-app.js +59 -11
  86. package/dist/lib/esm/{active-router-4c80d3d2.js → active-router-2056f552.js} +1 -1
  87. package/dist/lib/esm/apollo-super-selection.js +4 -5
  88. package/dist/lib/esm/{app-globals-7ac1ffba.js → app-globals-c1f89805.js} +1 -1
  89. package/dist/lib/esm/context-consumer.entry.js +1 -1
  90. package/dist/lib/esm/{datorama-akita-79ce4385.js → datorama-akita-127aea91.js} +960 -28
  91. package/dist/lib/esm/{index-0496d1af.js → index-e1e930c8.js} +2 -1
  92. package/dist/lib/esm/loader.js +4 -5
  93. package/dist/lib/esm/{fl-button_31.entry.js → sss-button_28.entry.js} +2124 -2160
  94. package/dist/lib/esm/stencil-async-content.entry.js +1 -1
  95. package/dist/lib/esm/stencil-route-title.entry.js +2 -2
  96. package/dist/lib/esm/stencil-router-prompt.entry.js +2 -2
  97. package/dist/lib/esm/stencil-router-redirect.entry.js +2 -2
  98. package/dist/lib/esm-es5/{active-router-4c80d3d2.js → active-router-2056f552.js} +1 -1
  99. package/dist/lib/esm-es5/apollo-super-selection.js +1 -1
  100. package/dist/lib/esm-es5/{app-globals-7ac1ffba.js → app-globals-c1f89805.js} +1 -1
  101. package/dist/lib/esm-es5/context-consumer.entry.js +1 -1
  102. package/dist/lib/esm-es5/datorama-akita-127aea91.js +15 -0
  103. package/dist/lib/esm-es5/{index-0496d1af.js → index-e1e930c8.js} +1 -1
  104. package/dist/lib/esm-es5/loader.js +1 -1
  105. package/dist/lib/esm-es5/sss-button_28.entry.js +69 -0
  106. package/dist/lib/esm-es5/stencil-async-content.entry.js +1 -1
  107. package/dist/lib/esm-es5/stencil-route-title.entry.js +1 -1
  108. package/dist/lib/esm-es5/stencil-router-prompt.entry.js +1 -1
  109. package/dist/lib/esm-es5/stencil-router-redirect.entry.js +1 -1
  110. package/dist/lib/types/components/app-host/super-selection-app-host.d.ts +0 -3
  111. package/dist/lib/types/components/super-selection-app/api/super-selection-events.model.d.ts +30 -0
  112. package/dist/lib/types/components/super-selection-app/api/super-selection.api.d.ts +2 -1
  113. package/dist/lib/types/components/super-selection-app/api/super-selection.api.dto.d.ts +19 -4
  114. package/dist/lib/types/components/super-selection-app/consent/consent.d.ts +9 -0
  115. package/dist/lib/types/components/super-selection-app/existing-choice/existing-choice.d.ts +12 -0
  116. package/dist/lib/types/components/super-selection-app/footer-section/footer-section.d.ts +0 -1
  117. package/dist/lib/types/components/super-selection-app/funds/constants.d.ts +3 -0
  118. package/dist/lib/types/components/super-selection-app/funds/custom-fund/custom-fund.d.ts +1 -1
  119. package/dist/lib/types/components/super-selection-app/funds/custom-fund/custom-fund.store.d.ts +4 -6
  120. package/dist/lib/types/components/super-selection-app/funds/custom-fund/default-fund/default-fund.d.ts +0 -2
  121. package/dist/lib/types/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund-inputs.d.ts +2 -1
  122. package/dist/lib/types/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund.d.ts +1 -0
  123. package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund-inputs.d.ts +7 -0
  124. package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.d.ts +1 -0
  125. package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.form.d.ts +0 -1
  126. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/promoted-fund.store.d.ts +0 -3
  127. package/dist/lib/types/components/super-selection-app/header-section/header-section.d.ts +4 -0
  128. package/dist/lib/types/components/super-selection-app/misc/button.d.ts +11 -0
  129. package/dist/lib/types/components/super-selection-app/misc/dropdown-async.d.ts +44 -0
  130. package/dist/lib/types/components/super-selection-app/misc/loading-indicator.d.ts +5 -0
  131. package/dist/lib/types/components/super-selection-app/services/australian-fund-lookup.service.d.ts +1 -0
  132. package/dist/lib/types/components/super-selection-app/services/event-tracking.service.d.ts +4 -0
  133. package/dist/lib/types/components/super-selection-app/services/existing-super-choice-info.service.d.ts +51 -0
  134. package/dist/lib/types/components/super-selection-app/services/feature-flag.service.d.ts +3 -0
  135. package/dist/lib/types/components/super-selection-app/services/navigation.service.d.ts +6 -0
  136. package/dist/lib/types/components/super-selection-app/services/super-selection-app.routes.d.ts +3 -2
  137. package/dist/lib/types/components/super-selection-app/standard-choice/standard-choice-form.d.ts +6 -3
  138. package/dist/lib/types/components/super-selection-app/standard-choice/standard-choice-form.store.d.ts +8 -0
  139. package/dist/lib/types/components/super-selection-app/super-choice-page/super-choice-item/super-choice-item-bottom.d.ts +9 -0
  140. package/dist/lib/types/components/super-selection-app/super-choice-page/super-choice-item/super-choice-item-top.d.ts +7 -0
  141. package/dist/lib/types/components/super-selection-app/super-choice-page/super-choice-page.d.ts +1 -4
  142. package/dist/lib/types/components/super-selection-app/super-selection-app.d.ts +2 -1
  143. package/dist/lib/types/components.d.ts +148 -97
  144. package/package.json +12 -7
  145. package/dist/lib/apollo-super-selection/assets/logo-qsuper-square.png +0 -0
  146. package/dist/lib/apollo-super-selection/assets/logo-qsuper.png +0 -0
  147. package/dist/lib/apollo-super-selection/p-0623b20a.system.entry.js +0 -69
  148. package/dist/lib/apollo-super-selection/p-13573238.system.js +0 -15
  149. package/dist/lib/apollo-super-selection/p-342cee5a.js +0 -1
  150. package/dist/lib/apollo-super-selection/p-38f24f69.js +0 -1
  151. package/dist/lib/apollo-super-selection/p-642db1f7.system.entry.js +0 -1
  152. package/dist/lib/apollo-super-selection/p-64ebe17d.system.entry.js +0 -1
  153. package/dist/lib/apollo-super-selection/p-7dbe5a2f.system.js +0 -1
  154. package/dist/lib/apollo-super-selection/p-abedb220.entry.js +0 -1
  155. package/dist/lib/apollo-super-selection/p-ae4f5e0b.system.js +0 -1
  156. package/dist/lib/apollo-super-selection/p-c5e41889.entry.js +0 -1
  157. package/dist/lib/apollo-super-selection/p-d82b00ed.system.js +0 -1
  158. package/dist/lib/apollo-super-selection/p-df9ce4b7.js +0 -15
  159. package/dist/lib/apollo-super-selection/p-f7a45412.entry.js +0 -1
  160. package/dist/lib/apollo-super-selection/p-fbe8c6d1.entry.js +0 -14
  161. package/dist/lib/cjs/delay-81aff2f1.js +0 -955
  162. package/dist/lib/cjs/fl-style-guide.cjs.entry.js +0 -90
  163. package/dist/lib/collection/components/super-selection-app/footer-section/footer-section.css +0 -11
  164. package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-not-supported.css +0 -23
  165. package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/promoted-fund-standard-choice-page.js +0 -62
  166. package/dist/lib/collection/components/super-selection-app/funds/slate-super/slate-fund.store.js +0 -10
  167. package/dist/lib/collection/components/super-selection-app/funds/slate-super/slate-standard-choice-page.js +0 -67
  168. package/dist/lib/collection/components/super-selection-app/funds/slate-super/slatesuper-header.css +0 -0
  169. package/dist/lib/collection/components/super-selection-app/funds/slate-super/slatesuper-header.js +0 -19
  170. package/dist/lib/collection/components/super-selection-app/notifications-section/notifications-section.js +0 -25
  171. package/dist/lib/collection/components/super-selection-app/services/notifications.service.js +0 -37
  172. package/dist/lib/collection/components/super-selection-app/services/notifications.store.js +0 -3
  173. package/dist/lib/collection/components/super-selection-app/services/selected-super-choice-info.service.js +0 -50
  174. package/dist/lib/collection/components/super-selection-app/standard-choice/api/standard-choice.model.js +0 -1
  175. package/dist/lib/collection/components/super-selection-app/super-choice-page/assets/logo-qsuper-square.png +0 -0
  176. package/dist/lib/collection/components/super-selection-app/super-choice-page/assets/logo-qsuper.png +0 -0
  177. package/dist/lib/collection/components/super-selection-app/super-choice-page/selected-super-choice-section/selected-super-choice-section.css +0 -18
  178. package/dist/lib/collection/components/super-selection-app/super-choice-page/selected-super-choice-section/selected-super-choice-section.js +0 -53
  179. package/dist/lib/collection/components/super-selection-app/super-choice-page/super-choice-item.js +0 -296
  180. package/dist/lib/collection/components/super-selection-app/super-choice-page/super-choice-page.css +0 -70
  181. package/dist/lib/esm/delay-c0555599.js +0 -935
  182. package/dist/lib/esm/fl-style-guide.entry.js +0 -86
  183. package/dist/lib/esm-es5/datorama-akita-79ce4385.js +0 -15
  184. package/dist/lib/esm-es5/delay-c0555599.js +0 -1
  185. package/dist/lib/esm-es5/fl-button_31.entry.js +0 -69
  186. package/dist/lib/esm-es5/fl-style-guide.entry.js +0 -1
  187. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/button/button.css +0 -45
  188. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/dropdown/dropdown.css +0 -9
  189. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/dropdown-async/dropdown-async.css +0 -9
  190. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/loading-indicator/loading-indicator.css +0 -141
  191. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/promise-button/promise-button.css +0 -5
  192. package/dist/lib/node_modules/@flarehr/beacon/dist/collection/components/style-guide/style-guide.css +0 -0
  193. package/dist/lib/types/components/super-selection-app/funds/promoted-fund/promoted-fund-standard-choice-page.d.ts +0 -8
  194. package/dist/lib/types/components/super-selection-app/funds/slate-super/slate-fund.store.d.ts +0 -7
  195. package/dist/lib/types/components/super-selection-app/funds/slate-super/slate-standard-choice-page.d.ts +0 -8
  196. package/dist/lib/types/components/super-selection-app/funds/slate-super/slatesuper-header.d.ts +0 -3
  197. package/dist/lib/types/components/super-selection-app/notifications-section/notifications-section.d.ts +0 -5
  198. package/dist/lib/types/components/super-selection-app/services/notifications.service.d.ts +0 -15
  199. package/dist/lib/types/components/super-selection-app/services/notifications.store.d.ts +0 -14
  200. package/dist/lib/types/components/super-selection-app/services/selected-super-choice-info.service.d.ts +0 -18
  201. package/dist/lib/types/components/super-selection-app/standard-choice/api/standard-choice.model.d.ts +0 -3
  202. package/dist/lib/types/components/super-selection-app/super-choice-page/selected-super-choice-section/selected-super-choice-section.d.ts +0 -5
  203. package/dist/lib/types/components/super-selection-app/super-choice-page/super-choice-item.d.ts +0 -22
@@ -0,0 +1,136 @@
1
+ import { Component, h, Prop, State } from '@stencil/core';
2
+ import { isSome } from 'fp-ts/Option';
3
+ import { getFundNameById, getLogoSrc } from '../funds/constants';
4
+ import { EventTrackingService } from '../services/event-tracking.service';
5
+ import existingFundService from '../services/existing-super-choice-info.service';
6
+ import { FeatureFlagService } from '../services/feature-flag.service';
7
+ import navigationService from '../services/navigation.service';
8
+ import { SuperSelectionAppRoutes } from '../services/super-selection-app.routes';
9
+ import superSelectionAppService from '../services/super-selection-app.service';
10
+ export class ExistingChoice {
11
+ constructor() {
12
+ this.eventTrackingService = EventTrackingService.Instance;
13
+ this.createSuperFundNominationDetail = (fund) => {
14
+ function toUndefined(opt) {
15
+ return isSome(opt) ? opt.value : undefined;
16
+ }
17
+ function getUsi(fund) {
18
+ return 'usi' in fund ? toUndefined(fund.usi) : undefined;
19
+ }
20
+ function getMemberNumber(fund) {
21
+ return 'memberNumber' in fund ? toUndefined(fund.memberNumber) : undefined;
22
+ }
23
+ return {
24
+ fundType: fund.type.toString(),
25
+ fundName: fund.name,
26
+ fundUsi: getUsi(fund),
27
+ memberNumber: getMemberNumber(fund),
28
+ fundStatus: fund.valid.toString(),
29
+ lastNominatedAt: isSome(fund.lastNominatedAt) ? fund.lastNominatedAt.value.toISOString() : ''
30
+ };
31
+ };
32
+ }
33
+ componentDidLoad() {
34
+ const detail = this.createSuperFundNominationDetail(this.existingFund);
35
+ return this.eventTrackingService.TrackSuperFundNominationViewedAsync(detail);
36
+ }
37
+ async componentWillLoad() {
38
+ const chosenFundOption = await existingFundService.GetExistingFundAsync();
39
+ if (isSome(chosenFundOption) && chosenFundOption.value.valid !== 'Inactive') {
40
+ this.existingFund = chosenFundOption.value;
41
+ }
42
+ else {
43
+ navigationService.navigateInternally(this.history, FeatureFlagService.isNewComplianceEnabled()
44
+ ? SuperSelectionAppRoutes.ConsentPage
45
+ : SuperSelectionAppRoutes.ChoicePage);
46
+ }
47
+ }
48
+ render() {
49
+ const PromotedFundView = (props) => {
50
+ return (h("div", { class: "flex justify-center mt-6" },
51
+ h("img", { class: "h-16 w-auto", alt: getFundNameById(props.id), src: getLogoSrc(props.id) })));
52
+ };
53
+ const MyOwnFundView = () => {
54
+ return (h("div", { class: "flex h-20 justify-center items-center relative" },
55
+ h("div", { class: "h-20 w-20 rounded-full bg-primary-base opacity-10" }),
56
+ h("div", { class: "h-8 w-8 absolute " },
57
+ h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 576 512", class: "fill-primary-base" },
58
+ h("path", { d: "M196.6 97.83C184.1 93.41 177.6 79.7 182 67.2C195.8 28.08 233.1 0 277.1 0C320.1 0 358.3 28.08 372.1 67.2C376.5 79.7 369.1 93.41 357.5 97.83C344.1 102.2 331.3 95.7 326.9 83.2C319.6 62.66 300 48 277.1 48C254.1 48 234.5 62.66 227.3 83.2C222.8 95.7 209.1 102.2 196.6 97.83H196.6zM400 264C400 250.7 410.7 240 424 240C437.3 240 448 250.7 448 264C448 277.3 437.3 288 424 288C410.7 288 400 277.3 400 264zM224 128H376.4C394 108.4 419.6 96 448 96H465.3C480.9 96 492.3 110.7 488.5 125.8L480 159.1C501.1 176.5 519.6 198.5 530.7 224H544C561.7 224 576 238.3 576 256V352C576 369.7 561.7 384 544 384H512C499.1 401.2 482.7 415.8 464 426.6V464C464 490.5 442.5 512 416 512H368C341.5 512 320 490.5 320 464V448H272V464C272 490.5 250.5 512 224 512H176C149.5 512 128 490.5 128 464V416C90.98 388.2 66.42 344.7 64.17 295.4C27.99 290.9 0 259.1 0 222.6C0 194.7 15.72 169.3 40.6 156.9L45.27 154.5C57.12 148.6 71.54 153.4 77.47 165.3C83.39 177.1 78.59 191.5 66.73 197.5L62.06 199.8C53.44 204.1 48 212.9 48 222.6C48 235.1 57.13 245.6 69.13 247.6C87.02 178.8 149.6 128 224 128V128zM224 176C162.1 176 112 226.1 112 288C112 324.6 129.5 357.1 156.8 377.6C168.9 386.7 176 400.9 176 416V464H224V448C224 421.5 245.5 400 272 400H320C346.5 400 368 421.5 368 448V464H416V426.6C416 409.5 425.1 393.6 439.1 385C453.1 377.5 464.6 367.3 473.6 355.2C482.7 343.1 496.9 336 512 336H528V271.9C510 270.9 493.1 259.9 486.7 243.2C478.9 225.4 466.6 209.1 451.2 198.4C435.7 186.8 428.8 167.1 433.4 148.3L434 146.1C425.5 148.6 418 153.5 412.2 160C403.1 170.2 390.1 176 376.4 176H224z" })))));
59
+ };
60
+ const SelfManagedFundView = () => {
61
+ return (h("div", { class: "flex h-20 justify-center items-center relative" },
62
+ h("div", { class: "h-20 w-20 rounded-full bg-primary-base opacity-10" }),
63
+ h("div", { class: "h-8 w-8 absolute " },
64
+ h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 576 512", class: "fill-primary-base" },
65
+ h("path", { d: "M250.8 192h13.25v40C264 245.2 274.8 256 288 256s24.02-10.8 24.02-23.1V192h13.25c85.39 0 154.8-75.38 154.8-168c0-13.25-10.75-24-24-24H418.8c-55.26 0-103.4 31.75-130.8 79C260.7 31.75 212.5 0 157.3 0H120C106.8 0 96.01 10.75 96.01 23.1C96.01 116.6 165.4 192 250.8 192zM418.8 48h11.13c-9.876 54.75-53.01 96-104.5 96h-11.13C324.2 89.25 367.3 48 418.8 48zM157.3 48c51.51 0 94.64 41.25 104.5 96H250.7c-51.51 0-94.64-41.25-104.5-96H157.3zM551.1 312c-31.13-26.38-69.26-16.12-88.39-1.75l-60.38 45.5h-3.375c-.1251-38-30.5-67.88-69.13-67.88H186.7c-28.38 0-56.38 9.375-78.51 26.37L79.76 336H24C10.8 336 0 346.8 0 359.1S10.8 384 24 384l72-.0244l41.26-31.48C151.3 341.8 168.8 336 186.8 336h144c27.88 0 29 40.25-1.125 40.25h-59.88c-7.501 0-13.75 6.125-13.75 13.75c0 7.625 6.251 13.87 13.75 13.87h134.6c9.711 0 19.16-3.159 26.92-9l61.26-46.12c8.251-6.125 20.5-6.625 28.38 0c10.13 8.5 9.376 23.12-.8751 30.75l-100.6 75.5C411.7 460.8 402.3 464 392.6 464H24C10.8 464 0 474.8 0 487.1S10.8 512 24 512h368.8c20 0 39.38-6.5 55.26-18.5l100.8-75.88c16.63-12.5 26.5-31.5 27.13-52C576.7 345.1 567.8 325.5 551.1 312z" })))));
66
+ };
67
+ const DefaultFundView = () => {
68
+ return (h("div", { class: "flex h-20 justify-center items-center relative" },
69
+ h("div", { class: "h-20 w-20 rounded-full bg-primary-base opacity-10" }),
70
+ h("div", { class: "h-8 w-8 absolute " },
71
+ h("svg", { xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 512 512", class: "fill-primary-base" },
72
+ h("path", { d: "M448 96h-64V64c0-35.35-28.65-64-64-64H192C156.7 0 128 28.65 128 64v32H64C28.65 96 0 124.7 0 160v256c0 35.35 28.65 64 64 64h384c35.35 0 64-28.65 64-64V160C512 124.7 483.3 96 448 96zM192 48h128c8.837 0 16 7.163 16 16v32h-160V64C176 55.16 183.2 48 192 48zM64 144h384c8.8 0 16 7.2 16 16v96h-416V160C48 151.2 55.2 144 64 144zM448 432H64c-8.8 0-16-7.2-16-16V304H192V320c0 17.67 14.33 32 32 32h64c17.67 0 32-14.33 32-32V304h144V416C464 424.8 456.8 432 448 432z" })))));
73
+ };
74
+ return (h("div", null,
75
+ h("div", { class: "text-2xl sm:text-3xl font-bold text-center" }, "Your super choice"),
76
+ h("div", { class: "sm:text-lg text-gray-600 mt-3 sm:mt-4 max-w-800 text-center leading-7" }, "Continue with your chosen fund or choose another fund below."),
77
+ h("div", { class: "flex justify-center mt-8 sm:mt-12" },
78
+ h("div", { class: "max-w-400 w-full" },
79
+ h("div", { class: "flex-col border shadow-sm p-6 rounded-lg text-center space-y-4" },
80
+ (() => {
81
+ switch (this.existingFund.type) {
82
+ case 'Promoted Fund':
83
+ return h(PromotedFundView, { id: this.existingFund.id });
84
+ case 'Self Managed Fund':
85
+ return h(SelfManagedFundView, null);
86
+ case 'My Own Fund':
87
+ return h(MyOwnFundView, null);
88
+ case 'Default Fund':
89
+ return h(DefaultFundView, null);
90
+ }
91
+ })(),
92
+ h("div", { class: "sm:text-lg font-bold leading-6" }, this.existingFund.name),
93
+ h("div", { class: "mt-8" },
94
+ h("sss-button", { fillWidth: true, promiseFn: () => this.handleFundNominationAccepted() }, "Continue with this fund"))),
95
+ h("div", { class: "mt-4" },
96
+ h("sss-button", { fillWidth: true, variant: "secondary", promiseFn: () => this.handleFundNominationDeclined() }, "Choose another fund"))))));
97
+ }
98
+ async handleFundNominationAccepted() {
99
+ const detail = this.createSuperFundNominationDetail(this.existingFund);
100
+ await existingFundService.submitRetainSuperFundAsync(detail);
101
+ superSelectionAppService.markSuperSelectionAsSubmitted();
102
+ }
103
+ async handleFundNominationDeclined() {
104
+ const detail = this.createSuperFundNominationDetail(this.existingFund);
105
+ await this.eventTrackingService.TrackSuperFundNominationDeclinedAsync(detail);
106
+ navigationService.navigateInternally(this.history, FeatureFlagService.isNewComplianceEnabled()
107
+ ? SuperSelectionAppRoutes.ConsentPage
108
+ : SuperSelectionAppRoutes.ChoicePage);
109
+ }
110
+ static get is() { return "sss-existing-choice-page"; }
111
+ static get properties() { return {
112
+ "history": {
113
+ "type": "unknown",
114
+ "mutable": false,
115
+ "complexType": {
116
+ "original": "RouterHistory",
117
+ "resolved": "RouterHistory",
118
+ "references": {
119
+ "RouterHistory": {
120
+ "location": "import",
121
+ "path": "@stencil/router"
122
+ }
123
+ }
124
+ },
125
+ "required": false,
126
+ "optional": false,
127
+ "docs": {
128
+ "tags": [],
129
+ "text": ""
130
+ }
131
+ }
132
+ }; }
133
+ static get states() { return {
134
+ "existingFund": {}
135
+ }; }
136
+ }
@@ -2,24 +2,12 @@ import { Component, h } from '@stencil/core';
2
2
  import { AppVersion } from '../../../utils';
3
3
  export class FooterSection {
4
4
  render() {
5
- return (h("div", { class: "container mb-sm-0" },
6
- h("div", { class: "row justify-content-center pt-3 mt-3 mb-3 border-top" },
7
- h("div", { class: "text-decoration-none" },
8
- h("p", { class: "mt-3 small text-center mb-1 text-muted" }, "Powered by Flare"))),
9
- h("div", { class: "row justify-content-center pb-sm-0 px-3 px-sm-0 text-center" },
10
- h("p", { class: "text-muted small" }, "This page contains factual information only and does not take into account your particular objectives, financial circumstances or needs. If you have questions or need help making a decision about your super fund, you should speak to a licensed financial advice provider. You should consider the relevant super fund's PDS and TMD (if applicable) in deciding whether to apply to join the super fund. Each of the advertised fund's PDS and TMD (if applicable) can be found in their advertisements above. If you are considering joining another fund you can find the PDS and TMD on the fund's website. Your employer and Flare do not endorse or accept responsibility for any financial product advice or services provided by the promoters or trustees of the advertised superannuation funds. Flare do not endorse or accept responsibility for any of their content shown about any of the advertised superannuation funds as they are merely passing on the content as provided without any changes. Flare do not express any opinion or make any recommendation about any of the advertised funds.")),
11
- h("div", { class: "row justify-content-end my-1 px-3 px-sm-0" }, this.appVersionBadge())));
12
- }
13
- appVersionBadge() {
14
- return (h("small", { style: { opacity: '0.5' }, class: "text-muted" },
15
- "Powered by Flare, v",
16
- AppVersion));
5
+ return (h("div", { class: "text-center text-gray-500 text-xs mt-8 sm:mt-20 w-full max-w-960 mx-auto" },
6
+ h("span", null, "Powered by Flare"),
7
+ h("p", { class: "block text-white hover:text-inherit" },
8
+ "v",
9
+ AppVersion),
10
+ h("p", { class: "mt-4" }, "This page contains factual information only and does not take into account your particular objectives, financial circumstances or needs. If you have questions or need help making a decision about your super fund, you should speak to a licensed financial advice provider. You should consider the relevant super fund's PDS and TMD (if applicable) in deciding whether to apply to join the super fund. Each of the advertised fund's PDS and TMD (if applicable) can be found in their advertisements above. If you are considering joining another fund you can find the PDS and TMD on the fund's website. Your employer and Flare do not endorse or accept responsibility for any financial product advice or services provided by the promoters or trustees of the advertised superannuation funds. Flare do not endorse or accept responsibility for any of their content shown about any of the advertised superannuation funds as they are merely passing on the content as provided without any changes. Flare do not express any opinion or make any recommendation about any of the advertised funds.")));
17
11
  }
18
12
  static get is() { return "sss-footer-section"; }
19
- static get originalStyleUrls() { return {
20
- "$": ["footer-section.scss"]
21
- }; }
22
- static get styleUrls() { return {
23
- "$": ["footer-section.css"]
24
- }; }
25
13
  }
@@ -1,3 +1,4 @@
1
+ import { getAssetPath } from '@stencil/core';
1
2
  export const Slate = {
2
3
  Id: 'slate',
3
4
  Name: 'Slate Super',
@@ -31,3 +32,52 @@ export const PromotedFundIdList = [
31
32
  { dtoPropName: 'aware', id: Aware.Id },
32
33
  { dtoPropName: 'active', id: Active.Id }
33
34
  ];
35
+ export const getFundNameById = (id) => {
36
+ switch (id) {
37
+ case Slate.Id:
38
+ return Slate.Name;
39
+ case AustralianRetirementTrust.Id:
40
+ return AustralianRetirementTrust.Name;
41
+ case Aware.Id:
42
+ return Aware.Name;
43
+ case Active.Id:
44
+ return Active.Name;
45
+ default:
46
+ return;
47
+ }
48
+ };
49
+ export const getFundUsiById = (id) => {
50
+ switch (id) {
51
+ case Slate.Id:
52
+ return Slate.Usi;
53
+ case AustralianRetirementTrust.Id:
54
+ return;
55
+ case Aware.Id:
56
+ return;
57
+ case Active.Id:
58
+ return;
59
+ default:
60
+ return;
61
+ }
62
+ };
63
+ export const getLogoSrc = (id) => {
64
+ let logo = '';
65
+ switch (id) {
66
+ case Slate.Id:
67
+ logo = 'logo-slate.png';
68
+ break;
69
+ case AustralianRetirementTrust.Id:
70
+ logo = 'logo-art.svg';
71
+ break;
72
+ case Aware.Id:
73
+ logo = 'logo-aware.svg';
74
+ break;
75
+ case Active.Id:
76
+ logo = 'logo-active.svg';
77
+ break;
78
+ default:
79
+ return;
80
+ }
81
+ if (logo !== '')
82
+ return getAssetPath(`assets/${logo}`);
83
+ };
@@ -8,6 +8,7 @@ export class CustomFund {
8
8
  constructor() {
9
9
  this.currentCustomFund = customFundOptions[0];
10
10
  this.fundOptionsList = customFundOptions;
11
+ this.showFundOptionsSelection = false;
11
12
  }
12
13
  componentWillLoad() {
13
14
  let currentRoute = '';
@@ -22,24 +23,38 @@ export class CustomFund {
22
23
  navigationService.navigateInternally(this.history, currentRoute);
23
24
  }
24
25
  render() {
25
- return (h("div", { class: "container" },
26
- h("div", { class: "row justify-content-center" },
27
- h("div", { class: "col col-sm-10 col-md-7" },
28
- h("p", { class: "font-weight-bold text-center" }, "Choose your Super"),
29
- h("div", { class: "mb-4" },
30
- h("select", { class: "form-control", required: true, onChange: (ev) => {
31
- this.handleChange(ev.target.value.trim());
32
- } }, this.fundOptionsList.map((f) => (h("option", { value: f.value, selected: this.currentCustomFund.value === f.value }, f.label))))),
33
- h("slot", null)))));
34
- }
35
- handleChange(value) {
36
- const newFund = customFundOptions.find((item) => item.value === value) || {
37
- value: SuperSelectionAppRoutes.MyOwnFund
26
+ const ChevronDownIcon = () => {
27
+ return (h("svg", { xmlns: "http://www.w3.org/2000/svg", class: "h-5 w-5 text-gray-500", viewBox: "0 0 20 20" },
28
+ h("path", { "fill-rule": "evenodd", d: "M5.293 7.293a1 1 0 011.414 0L10 10.586l3.293-3.293a1 1 0 111.414 1.414l-4 4a1 1 0 01-1.414 0l-4-4a1 1 0 010-1.414z", "clip-rule": "evenodd" })));
29
+ };
30
+ const CheckIcon = () => {
31
+ return (h("svg", { class: "h-5 w-5 fill-primary-base", xmlns: "http://www.w3.org/2000/svg", viewBox: "0 0 20 20" },
32
+ h("path", { "fill-rule": "evenodd", d: "M16.707 5.293a1 1 0 010 1.414l-8 8a1 1 0 01-1.414 0l-4-4a1 1 0 011.414-1.414L8 12.586l7.293-7.293a1 1 0 011.414 0z", "clip-rule": "evenodd" })));
38
33
  };
39
- navigationService.navigateInternally(this.history, newFund.value);
34
+ return (h("div", { class: "max-w-560 relative" },
35
+ h("label", { class: "font-medium text-gray-700 text-sm" }, "Which fund would you like to nominate?"),
36
+ h("div", { class: "mt-1 mb-4" },
37
+ h("button", { type: "button", class: "bg-white relative w-full border border-gray-300 rounded-md shadow-sm pl-3 pr-10 py-2 text-left cursor-default focus:outline-none focus:ring-1 focus:ring-primary-focus focus:border-primary-base text-sm", onClick: () => (this.showFundOptionsSelection = !this.showFundOptionsSelection) },
38
+ h("span", { class: {
39
+ 'block truncate': true,
40
+ 'text-gray-500': this.showFundOptionsSelection
41
+ } }, this.showFundOptionsSelection ? 'Select' : this.currentCustomFund.label),
42
+ h("span", { class: "absolute inset-y-0 right-0 flex items-center pr-2 pointer-events-none" },
43
+ h(ChevronDownIcon, null))),
44
+ this.showFundOptionsSelection && (h("ul", { class: "absolute z-10 mt-1 w-full bg-white shadow-lg max-h-60 rounded-md py-1 ring-1 ring-black ring-opacity-5 overflow-auto focus:outline-none text-sm" }, this.fundOptionsList.map((f) => (h("li", { class: "text-gray-900 cursor-default select-none relative py-2 pl-3 pr-9 hover:bg-primary-hover", onClick: () => {
45
+ this.showFundOptionsSelection = !this.showFundOptionsSelection;
46
+ navigationService.navigateInternally(this.history, f.value);
47
+ } },
48
+ h("span", { class: {
49
+ 'block truncate': true,
50
+ 'font-semibold': this.currentCustomFund === f
51
+ } }, f.label),
52
+ this.currentCustomFund === f && (h("span", { class: "absolute inset-y-0 right-0 flex items-center pr-4" },
53
+ h(CheckIcon, null))))))))),
54
+ h("div", { onClick: () => (this.showFundOptionsSelection = false) },
55
+ h("slot", null))));
40
56
  }
41
57
  static get is() { return "sss-custom-fund"; }
42
- static get assetsDirs() { return ["assets"]; }
43
58
  static get properties() { return {
44
59
  "history": {
45
60
  "type": "unknown",
@@ -64,7 +79,8 @@ export class CustomFund {
64
79
  }; }
65
80
  static get states() { return {
66
81
  "currentCustomFund": {},
67
- "fundOptionsList": {}
82
+ "fundOptionsList": {},
83
+ "showFundOptionsSelection": {}
68
84
  }; }
69
85
  }
70
86
  injectHistory(CustomFund);
@@ -3,20 +3,17 @@ import * as O from 'fp-ts/Option';
3
3
  import { SuperSelectionAppRoutes } from '../../services/super-selection-app.routes';
4
4
  var CustomFundTypes;
5
5
  (function (CustomFundTypes) {
6
- CustomFundTypes["MyOwnFund"] = "My Own Fund";
7
- CustomFundTypes["DefaultFund"] = "Default Fund";
8
- CustomFundTypes["SelfManagedFund"] = "Self Managed Fund";
6
+ CustomFundTypes["MyOwnFund"] = "Your current super fund";
7
+ CustomFundTypes["DefaultFund"] = "Your employer's default fund";
8
+ CustomFundTypes["SelfManagedFund"] = "Your self-managed super fund";
9
9
  })(CustomFundTypes || (CustomFundTypes = {}));
10
10
  export const initialStateCustomFund = {
11
11
  continueAllowed: false,
12
12
  nextRoute: '/',
13
13
  myOwnFundForm: {
14
14
  fundUsi: O.none,
15
- memberNumber: O.none,
16
- standardChoiceFormSignature: O.none
17
- },
18
- defaultFundForm: {
19
- standardChoiceFormSignature: ''
15
+ fundName: O.none,
16
+ memberNumber: O.none
20
17
  },
21
18
  selfManagedFundForm: {
22
19
  fundName: '',
@@ -29,8 +26,7 @@ export const initialStateCustomFund = {
29
26
  city: '',
30
27
  bankAccountName: '',
31
28
  bsb: '',
32
- bankAccountNumber: '',
33
- standardChoiceFormSignature: ''
29
+ bankAccountNumber: ''
34
30
  },
35
31
  currentCustomFundType: CustomFundTypes.MyOwnFund,
36
32
  customFunds: [
@@ -38,13 +34,13 @@ export const initialStateCustomFund = {
38
34
  label: CustomFundTypes.MyOwnFund,
39
35
  value: SuperSelectionAppRoutes.MyOwnFund
40
36
  },
41
- {
42
- label: CustomFundTypes.DefaultFund,
43
- value: SuperSelectionAppRoutes.DefaultFund
44
- },
45
37
  {
46
38
  label: CustomFundTypes.SelfManagedFund,
47
39
  value: SuperSelectionAppRoutes.SelfManagedFund
40
+ },
41
+ {
42
+ label: CustomFundTypes.DefaultFund,
43
+ value: SuperSelectionAppRoutes.DefaultFund
48
44
  }
49
45
  ]
50
46
  };
@@ -1,13 +1,11 @@
1
- import { Component, h, Host, Prop, State } from '@stencil/core';
1
+ import { Component, getAssetPath, h, Host, Prop, State } from '@stencil/core';
2
2
  import * as O from 'fp-ts/lib/Option';
3
3
  import australianFundLookupService from '../../../services/australian-fund-lookup.service';
4
4
  import { EventTrackingService } from '../../../services/event-tracking.service';
5
5
  import navigationService from '../../../services/navigation.service';
6
- import notificationsService from '../../../services/notifications.service';
7
6
  import { SuperSelectionAppRoutes } from '../../../services/super-selection-app.routes';
8
7
  import superSelectionAppService from '../../../services/super-selection-app.service';
9
8
  import customFundChoiceApi from '../api/custom-fund-choice.api';
10
- import customFundState from '../custom-fund.store';
11
9
  export class DefaultFund {
12
10
  constructor() {
13
11
  this.defaultFundProductName = 'Loading fund...';
@@ -19,65 +17,59 @@ export class DefaultFund {
19
17
  return;
20
18
  }
21
19
  this.isDefaultFundExists = true;
22
- const defaultFundSearchResult = await australianFundLookupService.getFundByUsiAsync(defaultFundUsi.value);
20
+ const defaultFundSearchResult = await australianFundLookupService.getActiveFundByUsiAsync(defaultFundUsi.value);
23
21
  if (O.isNone(defaultFundSearchResult)) {
24
22
  this.isInvalidDefaultFund = true;
25
- notificationsService.showErrorNotification({
26
- title: 'Something is not right',
27
- description: `Couldn't find information about the configured default fund (USI ${defaultFundUsi.value})`
28
- });
29
23
  return;
30
24
  }
31
25
  this.defaultFund = defaultFundSearchResult.value;
32
26
  this.defaultFundProductName = defaultFundSearchResult.value.productName;
33
27
  }
34
28
  componentDidLoad() {
29
+ var _a, _b, _c, _d;
35
30
  return this.eventTrackingService.TrackDefaultSuperFundDetailViewedAsync({
36
- fundUsi: this.defaultFund.usi,
37
- fundName: this.defaultFund.productName,
31
+ fundUsi: (_b = (_a = this.defaultFund) === null || _a === void 0 ? void 0 : _a.usi) !== null && _b !== void 0 ? _b : '',
32
+ fundName: (_d = (_c = this.defaultFund) === null || _c === void 0 ? void 0 : _c.productName) !== null && _d !== void 0 ? _d : '',
38
33
  promotedFundsShown: superSelectionAppService.promotedFunds
39
34
  });
40
35
  }
41
36
  render() {
42
- const NoDefaultFundBlock = () => (h("div", { class: "card p-4" },
43
- h("p", { class: "font-weight-bold" }, "No Default Fund"),
44
- h("p", { class: "mb-4 small" }, "It looks like your employer has not yet defined a default fund. Please contact them if you wish to choose your company's default fund.")));
45
- const DefaultFundBlock = (props) => [
46
- h("div", { class: "card p-4" },
47
- h("p", { class: "font-weight-bold" }, "Default Fund"),
48
- h("p", { class: "mb-4 small" }, "Almost there... all you have to do now is review the fund below, complete and sign the super choice form and save. Your application to join the fund is subject to Trustee approval."),
49
- h("p", { class: "font-weight-bold mt-3" }, "Default Fund Name"),
50
- h("p", null, props.defaultFundName)),
51
- h("sss-standard-choice-form", { onStandardChoiceFormSignatureUpdated: (event) => {
52
- customFundState.defaultFundForm = Object.assign(Object.assign({}, customFundState.defaultFundForm), event.detail);
53
- } })
54
- ];
55
- return (h(Host, { class: "d-flex flex-fill" },
56
- h("sss-custom-fund", { class: "flex-fill" },
57
- h("form", { noValidate: true, onSubmit: (ev) => ev.preventDefault(), class: {
58
- 'was-validated': this.formState === 'validated'
59
- }, ref: (el) => (this.formElement = el) }, this.isDefaultFundExists ? (h(DefaultFundBlock, { defaultFundName: this.defaultFundProductName })) : (h(NoDefaultFundBlock, null))),
60
- h("div", { class: "mt-4" },
61
- h("sss-notifications-section", null)),
62
- h("div", { class: "d-flex mt-4" },
63
- h("div", { class: "flex-grow-1 w-50" },
64
- h("div", { class: "mr-2" },
65
- h("fl-button", { onClick: () => navigationService.navigateInternally(this.history, SuperSelectionAppRoutes.ChoicePage), isBlockElement: true, variant: "secondary" },
66
- h("span", null, "Back")))),
67
- h("div", { class: "flex-grow-1 w-50" }, this.isDefaultFundExists && (h("div", { class: "ml-2" },
68
- h("fl-promise-button", { isBlockElement: true, disabled: this.isInvalidDefaultFund, promiseFn: () => this.handleSubmitForm() },
69
- h("span", null, "Save and continue")))))))));
37
+ return (h(Host, null,
38
+ h("sss-header-section", { currentPage: "own-fund" }),
39
+ h("div", { class: "flex justify-center mt-11" },
40
+ h("sss-custom-fund", null,
41
+ h("div", { class: "p-4 sm:p-6 border shadow-sm rounded-lg" },
42
+ h("p", { class: "sm:text-lg font-bold mb-3" }, "Fund details"),
43
+ h("div", { class: "bg-yellow-50 border-l-4 border-yellow-400 p-4 my-3" },
44
+ h("div", { class: "flex" },
45
+ h("div", { class: "flex-shrink-0" },
46
+ h("img", { class: "h-5 w-5", src: getAssetPath('assets/icon-exclamation.svg') })),
47
+ h("div", { class: "ml-3 text-sm text-yellow-700 leading-5" }, this.isDefaultFundExists && !this.isInvalidDefaultFund ? (h("span", null, "By choosing to join your employer\u2019s default super fund, you acknowledge that your application to join is subject to Trustee approval.")) : (h("span", null, "It looks like your employer has not specified a default fund, please contact them if you\u2019d like to use your company\u2019s defaut fund."))))),
48
+ this.isDefaultFundExists && !this.isInvalidDefaultFund && (h("div", null,
49
+ h("div", { class: "mt-3" },
50
+ h("label", { class: "text-sm font-medium text-gray-700" }, "Fund Name"),
51
+ 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.defaultFundProductName)),
52
+ h("div", { class: "mt-3" },
53
+ h("label", { class: "text-sm font-medium text-gray-700" }, "Fund USI"),
54
+ 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.defaultFund.usi))))),
55
+ h("div", { class: "flex justify-center mt-8" },
56
+ h("div", { class: "sm:max-w-320 w-full" },
57
+ this.isDefaultFundExists && !this.isInvalidDefaultFund && (h("div", { class: "mb-4" },
58
+ h("sss-button", { fillWidth: true, promiseFn: () => this.handleSubmitForm() }, "Continue"))),
59
+ h("stencil-route-link", { url: SuperSelectionAppRoutes.ChoicePage },
60
+ h("sss-button", { fillWidth: true, variant: "secondary" }, "Back"))))))));
70
61
  }
71
62
  async handleSubmitForm() {
72
63
  if (this.isInvalidDefaultFund) {
73
64
  return;
74
65
  }
75
- this.formState = 'validated';
76
- if (this.formElement.checkValidity()) {
77
- await customFundChoiceApi.submitDefaultFundChoiceAsync(customFundState.defaultFundForm);
78
- superSelectionAppService.markSuperSelectionAsSubmitted();
79
- navigationService.navigateInternally(this.history, SuperSelectionAppRoutes.Success);
80
- }
66
+ navigationService.navigateInternallyToStandardChoice({
67
+ history: this.history,
68
+ fundName: `Employer’s default fund`,
69
+ handleSubmitFn: async (standardChoiceFormSignature) => {
70
+ await customFundChoiceApi.submitDefaultFundChoiceAsync({ standardChoiceFormSignature });
71
+ }
72
+ });
81
73
  }
82
74
  static get is() { return "sss-default-fund"; }
83
75
  static get properties() { return {
@@ -103,7 +95,6 @@ export class DefaultFund {
103
95
  }
104
96
  }; }
105
97
  static get states() { return {
106
- "formState": {},
107
98
  "defaultFundProductName": {}
108
99
  }; }
109
100
  }
@@ -18,24 +18,28 @@ export class MyOwnFundInputs {
18
18
  }
19
19
  render() {
20
20
  return (h("div", null,
21
- h("div", { class: "" },
22
- h("label", { class: "mb-2 font-weight-bold" }, "Superannuation Fund Name"),
23
- h("fl-dropdown-async", { searchFunction: this.searchFundsAsync, minSearchStringLength: this.MIN_SEARCH_STRING_LENGTH, required: true, requiredValidationMessage: "Select a fund", placeholder: `Search by name or USI (type at least ${this.MIN_SEARCH_STRING_LENGTH} characters)`, value: this.selectedOption, onValueChanged: (ev) => {
24
- this.selectedOption = ev.detail;
25
- this.updateFundUsi(ev.detail.value.toString());
26
- } }),
27
- h("div", { class: "invalid-feedback" }, "Select a fund"),
28
- O.isSome(this.myOwnFundForm.fundUsi) && (h("div", null,
29
- h("label", { class: "mb-2 mt-3 font-weight-bold" }, "Superannuation Fund USI"),
30
- h("p", { class: "mb-0" }, this.myOwnFundForm.fundUsi.value),
31
- h("p", { class: "small mt-1" }, "Please ensure this is the correct fund USI as some funds have similar names")))),
32
- h("div", { class: "mt-4" },
33
- h("label", { class: "mb-2 font-weight-bold" }, "Member Number"),
34
- h("input", { placeholder: "Enter your member number", type: "text", class: "form-control", required: true, pattern: "[A-Za-z0-9]{4,16}", name: "memberNumber", id: "memberNumber", value: O.toUndefined(customFundState.myOwnFundForm.memberNumber), onChange: (ev) => this.updateMemberNumber(ev.target.value.trim()) }),
35
- h("div", { class: "invalid-feedback" }, "Enter a valid member number (only numbers and / or letters)"))));
21
+ h("div", null,
22
+ h("label", { class: "text-sm font-medium text-gray-700" }, "Fund name"),
23
+ h("div", { class: "mt-1" },
24
+ h("sss-dropdown-async", { searchFunction: this.searchFundsAsync, minSearchStringLength: this.MIN_SEARCH_STRING_LENGTH, required: true, requiredValidationMessage: "Select a fund", placeholder: `Type to search by name or USI...`, value: this.selectedOption, onValueChanged: (ev) => {
25
+ this.selectedOption = ev.detail;
26
+ this.updateFund(ev.detail);
27
+ }, showValidationErrors: this.showValidationErrors })),
28
+ O.isSome(this.myOwnFundForm.fundUsi) && (h("div", { class: "mt-3" },
29
+ h("label", { class: "text-sm font-medium text-gray-700" }, "Fund USI"),
30
+ 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.myOwnFundForm.fundUsi.value)))),
31
+ h("div", { class: "mt-3" },
32
+ h("label", { class: "text-sm font-medium text-gray-700" }, "Member number"),
33
+ h("div", { class: "mt-1" },
34
+ h("input", { type: "text", class: {
35
+ 'shadow-sm focus:ring-primary-focus focus:border-primary-base block w-full text-sm border-gray-300 rounded-md': true,
36
+ 'invalid:border-red-300 invalid:text-red-900 invalid:focus:ring-red-500 invalid:focus:border-red-500': this
37
+ .showValidationErrors
38
+ }, required: true, pattern: "[A-Za-z0-9]{4,16}", name: "memberNumber", id: "memberNumber", value: O.toUndefined(customFundState.myOwnFundForm.memberNumber), onChange: (ev) => this.updateMemberNumber(ev.target.value.trim()) }),
39
+ h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid member number (only numbers and / or letters)")))));
36
40
  }
37
- updateFundUsi(usi) {
38
- this.formChanged.emit({ fundUsi: O.some(usi) });
41
+ updateFund(fund) {
42
+ this.formChanged.emit({ fundUsi: O.some(fund.value), fundName: O.some(fund.label) });
39
43
  }
40
44
  updateMemberNumber(memberNumber) {
41
45
  this.formChanged.emit({ memberNumber: O.some(memberNumber) });
@@ -47,7 +51,7 @@ export class MyOwnFundInputs {
47
51
  "mutable": false,
48
52
  "complexType": {
49
53
  "original": "MyOwnFundFormState",
50
- "resolved": "{ fundUsi: Option<string>; memberNumber: Option<string>; standardChoiceFormSignature: Option<string>; }",
54
+ "resolved": "{ fundUsi: Option<string>; fundName: Option<string>; memberNumber: Option<string>; }",
51
55
  "references": {
52
56
  "MyOwnFundFormState": {
53
57
  "location": "import",
@@ -61,6 +65,23 @@ export class MyOwnFundInputs {
61
65
  "tags": [],
62
66
  "text": ""
63
67
  }
68
+ },
69
+ "showValidationErrors": {
70
+ "type": "boolean",
71
+ "mutable": false,
72
+ "complexType": {
73
+ "original": "boolean",
74
+ "resolved": "boolean",
75
+ "references": {}
76
+ },
77
+ "required": false,
78
+ "optional": false,
79
+ "docs": {
80
+ "tags": [],
81
+ "text": ""
82
+ },
83
+ "attribute": "show-validation-errors",
84
+ "reflect": false
64
85
  }
65
86
  }; }
66
87
  static get states() { return {
@@ -78,7 +99,7 @@ export class MyOwnFundInputs {
78
99
  },
79
100
  "complexType": {
80
101
  "original": "Partial<MyOwnFundFormState>",
81
- "resolved": "{ fundUsi?: None | Some<string> | undefined; memberNumber?: None | Some<string> | undefined; standardChoiceFormSignature?: None | Some<string> | undefined; }",
102
+ "resolved": "{ fundUsi?: None | Some<string> | undefined; fundName?: None | Some<string> | undefined; memberNumber?: None | Some<string> | undefined; }",
82
103
  "references": {
83
104
  "Partial": {
84
105
  "location": "global"