@flarehr/apollo-super-selection 1.3.23524 → 1.3.23680
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.
- package/dist/lib/apollo-super-selection/apollo-super-selection.css +1 -0
- package/dist/lib/apollo-super-selection/apollo-super-selection.esm.js +1 -0
- package/dist/lib/apollo-super-selection/apollo-super-selection.js +130 -0
- package/dist/lib/apollo-super-selection/assets/icon-exclamation.svg +3 -0
- package/dist/lib/apollo-super-selection/assets/icon-information-circle.svg +3 -0
- package/dist/lib/apollo-super-selection/index.esm.js +0 -0
- package/dist/lib/apollo-super-selection/p-14885f78.system.js +15 -0
- package/dist/lib/apollo-super-selection/p-15f0e5eb.system.js +1 -0
- package/dist/lib/apollo-super-selection/p-22939048.system.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-24d6e2b8.js +1 -0
- package/dist/lib/apollo-super-selection/p-29c11183.js +15 -0
- package/dist/lib/apollo-super-selection/p-2b42304a.system.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-33eca162.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-4e871154.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-50ea2036.system.js +1 -0
- package/dist/lib/apollo-super-selection/p-53b231f0.system.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-5c73c587.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-5e00b8d8.system.entry.js +69 -0
- package/dist/lib/apollo-super-selection/p-69bbf1dd.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-71ca4cf8.system.js +1 -0
- package/dist/lib/apollo-super-selection/p-86e3e03f.js +1 -0
- package/dist/lib/apollo-super-selection/p-97188c78.system.js +1 -0
- package/dist/lib/apollo-super-selection/p-9d2a7c0e.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-9f64929e.entry.js +14 -0
- package/dist/lib/apollo-super-selection/p-a0063575.system.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-b00f648b.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-bd6e6a8f.system.js +1 -0
- package/dist/lib/apollo-super-selection/p-c775c0e4.system.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-cd3ed541.system.js +1 -0
- package/dist/lib/apollo-super-selection/p-db0bded8.js +1 -0
- package/dist/lib/apollo-super-selection/p-e957b393.system.entry.js +1 -0
- package/dist/lib/apollo-super-selection/p-fdadb647.js +1 -0
- package/dist/lib/cjs/active-router-1f555f75.js +75 -0
- package/dist/lib/cjs/apollo-super-selection.cjs.js +22 -0
- package/dist/lib/cjs/app-globals-b1125d8c.js +25 -0
- package/dist/lib/cjs/context-consumer.cjs.entry.js +29 -0
- package/dist/lib/cjs/custom-fund-choice.api-293c1ace.js +3209 -0
- package/dist/lib/cjs/datorama-akita-6c9cb8fb.js +3641 -0
- package/dist/lib/cjs/index-eb4f212f.js +1766 -0
- package/dist/lib/cjs/index.cjs.js +2 -0
- package/dist/lib/cjs/loader.cjs.js +24 -0
- package/dist/lib/cjs/sss-button_32.cjs.entry.js +14934 -0
- package/dist/lib/cjs/sss-super-byof-host.cjs.entry.js +111 -0
- package/dist/lib/cjs/stencil-async-content.cjs.entry.js +32 -0
- package/dist/lib/cjs/stencil-route-title.cjs.entry.js +32 -0
- package/dist/lib/cjs/stencil-router-prompt.cjs.entry.js +59 -0
- package/dist/lib/cjs/stencil-router-redirect.cjs.entry.js +32 -0
- package/dist/lib/collection/apollo-super-selection.css +1 -0
- package/dist/lib/collection/collection-manifest.json +98 -0
- package/dist/lib/collection/components/app-host/loading-page.js +9 -0
- package/dist/lib/collection/components/app-host/services/app-configuration.query.js +18 -0
- package/dist/lib/collection/components/app-host/services/app-configuration.service.js +25 -0
- package/dist/lib/collection/components/app-host/services/app-parameters.query.js +13 -0
- package/dist/lib/collection/components/app-host/services/app-parameters.service.js +14 -0
- package/dist/lib/collection/components/app-host/services/appinsights.service.js +46 -0
- package/dist/lib/collection/components/app-host/services/authentication.query.js +21 -0
- package/dist/lib/collection/components/app-host/services/authentication.service.js +50 -0
- package/dist/lib/collection/components/app-host/services/interop/host-interop.service.js +31 -0
- package/dist/lib/collection/components/app-host/services/interop/iframe-interop.service.js +30 -0
- package/dist/lib/collection/components/app-host/services/interop/react-native-interop.service.js +20 -0
- package/dist/lib/collection/components/app-host/services/interop.query.js +26 -0
- package/dist/lib/collection/components/app-host/services/session.store.js +38 -0
- package/dist/lib/collection/components/app-host/super-selection-app-host.css +24 -0
- package/dist/lib/collection/components/app-host/super-selection-app-host.js +87 -0
- package/dist/lib/collection/components/external-loading-page/external-loading-page.js +29 -0
- package/dist/lib/collection/components/super-byof/super-byof-types.js +1 -0
- package/dist/lib/collection/components/super-byof/super-byof.form.js +1 -0
- package/dist/lib/collection/components/super-byof/super-byof.js +139 -0
- package/dist/lib/collection/components/super-campaign/fund-tile-clicked.handler.js +49 -0
- package/dist/lib/collection/components/super-campaign/promoted-fund-joined.handler.js +121 -0
- package/dist/lib/collection/components/super-campaign/super-campaign-types.js +6 -0
- package/dist/lib/collection/components/super-campaign/super-campaign.js +210 -0
- package/dist/lib/collection/components/super-selection-app/api/api-client.js +14 -0
- package/dist/lib/collection/components/super-selection-app/api/event-tracking.api.js +9 -0
- package/dist/lib/collection/components/super-selection-app/api/super-campaign-errors-api.js +9 -0
- package/dist/lib/collection/components/super-selection-app/api/super-campaign-errors.api.dtos.js +1 -0
- package/dist/lib/collection/components/super-selection-app/api/super-selection-events.model.js +16 -0
- package/dist/lib/collection/components/super-selection-app/api/super-selection.api.dto.js +179 -0
- package/dist/lib/collection/components/super-selection-app/api/super-selection.api.js +69 -0
- package/dist/lib/collection/components/super-selection-app/app-state-pages/success.js +36 -0
- package/dist/lib/collection/components/super-selection-app/assets/icon-exclamation.svg +3 -0
- package/dist/lib/collection/components/super-selection-app/assets/icon-information-circle.svg +3 -0
- package/dist/lib/collection/components/super-selection-app/choice/choice-router.js +42 -0
- package/dist/lib/collection/components/super-selection-app/existing-choice/existing-choice.js +163 -0
- package/dist/lib/collection/components/super-selection-app/footer-section/footer-section.js +39 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/api/custom-fund-choice.api.dto.js +1 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/api/custom-fund-choice.api.js +50 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/custom-fund.js +109 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/custom-fund.store.js +36 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/default-fund/default-fund.js +114 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/featured-funds/super-campaign-featured-funds.js +113 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/featured-funds/super-campaign-featured-funds.types.js +1 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/member-name-input.js +162 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund-engagement-step-types.js +1 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund-engagement-step.js +115 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/abn-validation.js +11 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/bankBsbNumbers.js +111 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/smsf-engagement-step-host.js +161 -0
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/smsf-engagement-step-types.js +1 -0
- package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/api/promoted-fund-choice.api.dto.js +1 -0
- package/dist/lib/collection/components/super-selection-app/funds/promoted-fund/api/promoted-fund-choice.api.js +31 -0
- package/dist/lib/collection/components/super-selection-app/funds/slate-super/api/slate-choice.api.dto.js +1 -0
- package/dist/lib/collection/components/super-selection-app/funds/slate-super/api/slate-choice.api.js +13 -0
- package/dist/lib/collection/components/super-selection-app/funds/slate-super/api/slate.js +4 -0
- package/dist/lib/collection/components/super-selection-app/header-section/header-section.js +37 -0
- package/dist/lib/collection/components/super-selection-app/misc/button.js +195 -0
- package/dist/lib/collection/components/super-selection-app/misc/dropdown-async.css +7 -0
- package/dist/lib/collection/components/super-selection-app/misc/dropdown-async.js +390 -0
- package/dist/lib/collection/components/super-selection-app/misc/loading-indicator.js +52 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-common.js +22 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-display-field.js +42 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-error-box.js +66 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-invalid-my-own-fund.js +121 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-invalid-smsf.js +145 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-my-own-fund.js +223 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-smsf.js +398 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-types.js +288 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill-warning-box.js +37 -0
- package/dist/lib/collection/components/super-selection-app/prefill-fund/prefill.js +81 -0
- package/dist/lib/collection/components/super-selection-app/services/australian-fund-lookup.service.js +15 -0
- package/dist/lib/collection/components/super-selection-app/services/event-tracking.service.js +117 -0
- package/dist/lib/collection/components/super-selection-app/services/existing-super-choice-info.service.js +134 -0
- package/dist/lib/collection/components/super-selection-app/services/misc.service.js +7 -0
- package/dist/lib/collection/components/super-selection-app/services/navigation.service.js +31 -0
- package/dist/lib/collection/components/super-selection-app/services/super-selection-app.routes.js +38 -0
- package/dist/lib/collection/components/super-selection-app/services/super-selection-app.service.js +171 -0
- package/dist/lib/collection/components/super-selection-app/services/super-selection.store.js +45 -0
- package/dist/lib/collection/components/super-selection-app/standard-choice/standard-choice-form.js +155 -0
- package/dist/lib/collection/components/super-selection-app/standard-choice/standard-choice-form.store.js +11 -0
- package/dist/lib/collection/components/super-selection-app/super-selection-app.css +27 -0
- package/dist/lib/collection/components/super-selection-app/super-selection-app.js +291 -0
- package/dist/lib/collection/components/super-smsf/super-smsf-types.js +1 -0
- package/dist/lib/collection/components/super-smsf/super-smsf.form.js +1 -0
- package/dist/lib/collection/components/super-smsf/super-smsf.js +166 -0
- package/dist/lib/collection/global/init-host.js +25 -0
- package/dist/lib/collection/global/main.dev.js +29 -0
- package/dist/lib/collection/global/main.js +11 -0
- package/dist/lib/collection/global/stencil-router-workaround.js +12 -0
- package/dist/lib/collection/index.js +2 -0
- package/dist/lib/collection/utils/config.js +2 -0
- package/dist/lib/collection/utils/gtm.js +5 -0
- package/dist/lib/collection/utils/iframe.js +33 -0
- package/dist/lib/collection/utils/index.js +11 -0
- package/dist/lib/collection/utils/lazy.js +29 -0
- package/dist/lib/collection/utils/storage.js +5 -0
- package/dist/lib/esm/active-router-d18b36fb.js +73 -0
- package/dist/lib/esm/apollo-super-selection.js +20 -0
- package/dist/lib/esm/app-globals-c1f89805.js +23 -0
- package/dist/lib/esm/context-consumer.entry.js +25 -0
- package/dist/lib/esm/custom-fund-choice.api-42801d64.js +3188 -0
- package/dist/lib/esm/datorama-akita-127aea91.js +3624 -0
- package/dist/lib/esm/index-107d7c24.js +1732 -0
- package/dist/lib/esm/index.js +1 -0
- package/dist/lib/esm/loader.js +20 -0
- package/dist/lib/esm/polyfills/core-js.js +11 -0
- package/dist/lib/esm/polyfills/css-shim.js +1 -0
- package/dist/lib/esm/polyfills/dom.js +79 -0
- package/dist/lib/esm/polyfills/es5-html-element.js +1 -0
- package/dist/lib/esm/polyfills/index.js +34 -0
- package/dist/lib/esm/polyfills/system.js +6 -0
- package/dist/lib/esm/sss-button_32.entry.js +14879 -0
- package/dist/lib/esm/sss-super-byof-host.entry.js +107 -0
- package/dist/lib/esm/stencil-async-content.entry.js +28 -0
- package/dist/lib/esm/stencil-route-title.entry.js +28 -0
- package/dist/lib/esm/stencil-router-prompt.entry.js +55 -0
- package/dist/lib/esm/stencil-router-redirect.entry.js +28 -0
- package/dist/lib/esm-es5/active-router-d18b36fb.js +1 -0
- package/dist/lib/esm-es5/apollo-super-selection.js +1 -0
- package/dist/lib/esm-es5/app-globals-c1f89805.js +1 -0
- package/dist/lib/esm-es5/context-consumer.entry.js +1 -0
- package/dist/lib/esm-es5/custom-fund-choice.api-42801d64.js +1 -0
- package/dist/lib/esm-es5/datorama-akita-127aea91.js +15 -0
- package/dist/lib/esm-es5/index-107d7c24.js +1 -0
- package/dist/lib/esm-es5/index.js +0 -0
- package/dist/lib/esm-es5/loader.js +1 -0
- package/dist/lib/esm-es5/sss-button_32.entry.js +69 -0
- package/dist/lib/esm-es5/sss-super-byof-host.entry.js +1 -0
- package/dist/lib/esm-es5/stencil-async-content.entry.js +1 -0
- package/dist/lib/esm-es5/stencil-route-title.entry.js +1 -0
- package/dist/lib/esm-es5/stencil-router-prompt.entry.js +1 -0
- package/dist/lib/esm-es5/stencil-router-redirect.entry.js +1 -0
- package/dist/lib/index.cjs.js +1 -0
- package/dist/lib/index.js +1 -0
- package/dist/lib/loader/cdn.js +3 -0
- package/dist/lib/loader/index.cjs.js +3 -0
- package/dist/lib/loader/index.d.ts +13 -0
- package/dist/lib/loader/index.es2017.js +3 -0
- package/dist/lib/loader/index.js +4 -0
- package/dist/lib/loader/package.json +10 -0
- package/dist/lib/node_modules/@stencil/router/dist/collection/components/route/route.css +3 -0
- package/dist/lib/types/components/app-host/loading-page.d.ts +3 -0
- package/dist/lib/types/components/app-host/services/app-configuration.query.d.ts +11 -0
- package/dist/lib/types/components/app-host/services/app-configuration.service.d.ts +9 -0
- package/dist/lib/types/components/app-host/services/app-parameters.query.d.ts +10 -0
- package/dist/lib/types/components/app-host/services/app-parameters.service.d.ts +6 -0
- package/dist/lib/types/components/app-host/services/appinsights.service.d.ts +15 -0
- package/dist/lib/types/components/app-host/services/authentication.query.d.ts +13 -0
- package/dist/lib/types/components/app-host/services/authentication.service.d.ts +9 -0
- package/dist/lib/types/components/app-host/services/interop/host-interop.service.d.ts +7 -0
- package/dist/lib/types/components/app-host/services/interop/iframe-interop.service.d.ts +5 -0
- package/dist/lib/types/components/app-host/services/interop/react-native-interop.service.d.ts +7 -0
- package/dist/lib/types/components/app-host/services/interop.query.d.ts +11 -0
- package/dist/lib/types/components/app-host/services/session.store.d.ts +31 -0
- package/dist/lib/types/components/app-host/super-selection-app-host.d.ts +15 -0
- package/dist/lib/types/components/super-byof/super-byof-types.d.ts +26 -0
- package/dist/lib/types/components/super-byof/super-byof.d.ts +19 -0
- package/dist/lib/types/components/super-byof/super-byof.form.d.ts +6 -0
- package/dist/lib/types/components/super-campaign/fund-tile-clicked.handler.d.ts +12 -0
- package/dist/lib/types/components/super-campaign/promoted-fund-joined.handler.d.ts +15 -0
- package/dist/lib/types/components/super-campaign/super-campaign-types.d.ts +98 -0
- package/dist/lib/types/components/super-campaign/super-campaign.d.ts +27 -0
- package/dist/lib/types/components/super-selection-app/api/api-client.d.ts +2 -0
- package/dist/lib/types/components/super-selection-app/api/event-tracking.api.d.ts +6 -0
- package/dist/lib/types/components/super-selection-app/api/super-campaign-errors-api.d.ts +6 -0
- package/dist/lib/types/components/super-selection-app/api/super-campaign-errors.api.dtos.d.ts +7 -0
- package/dist/lib/types/components/super-selection-app/api/super-selection-events.model.d.ts +171 -0
- package/dist/lib/types/components/super-selection-app/api/super-selection.api.d.ts +16 -0
- package/dist/lib/types/components/super-selection-app/api/super-selection.api.dto.d.ts +248 -0
- package/dist/lib/types/components/super-selection-app/app-state-pages/success.d.ts +7 -0
- package/dist/lib/types/components/super-selection-app/choice/choice-router.d.ts +6 -0
- package/dist/lib/types/components/super-selection-app/existing-choice/existing-choice.d.ts +12 -0
- package/dist/lib/types/components/super-selection-app/footer-section/footer-section.d.ts +5 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/api/custom-fund-choice.api.d.ts +10 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/api/custom-fund-choice.api.dto.d.ts +43 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/custom-fund.d.ts +9 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/custom-fund.store.d.ts +27 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/default-fund/default-fund.d.ts +13 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/featured-funds/super-campaign-featured-funds.d.ts +18 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/featured-funds/super-campaign-featured-funds.types.d.ts +26 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/member-name-input.d.ts +14 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund-engagement-step-types.d.ts +15 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund-engagement-step.d.ts +20 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/abn-validation.d.ts +1 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/bankBsbNumbers.d.ts +112 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/smsf-engagement-step-host.d.ts +28 -0
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/smsf-engagement-step-types.d.ts +15 -0
- package/dist/lib/types/components/super-selection-app/funds/promoted-fund/api/promoted-fund-choice.api.d.ts +8 -0
- package/dist/lib/types/components/super-selection-app/funds/promoted-fund/api/promoted-fund-choice.api.dto.d.ts +23 -0
- package/dist/lib/types/components/super-selection-app/funds/slate-super/api/slate-choice.api.d.ts +6 -0
- package/dist/lib/types/components/super-selection-app/funds/slate-super/api/slate-choice.api.dto.d.ts +9 -0
- package/dist/lib/types/components/super-selection-app/funds/slate-super/api/slate.d.ts +4 -0
- package/dist/lib/types/components/super-selection-app/header-section/header-section.d.ts +3 -0
- package/dist/lib/types/components/super-selection-app/misc/button.d.ts +14 -0
- package/dist/lib/types/components/super-selection-app/misc/dropdown-async.d.ts +52 -0
- package/dist/lib/types/components/super-selection-app/misc/loading-indicator.d.ts +5 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-common.d.ts +9 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-display-field.d.ts +5 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-error-box.d.ts +5 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-invalid-my-own-fund.d.ts +18 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-invalid-smsf.d.ts +28 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-my-own-fund.d.ts +30 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-smsf.d.ts +52 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-types.d.ts +95 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill-warning-box.d.ts +4 -0
- package/dist/lib/types/components/super-selection-app/prefill-fund/prefill.d.ts +14 -0
- package/dist/lib/types/components/super-selection-app/services/australian-fund-lookup.service.d.ts +8 -0
- package/dist/lib/types/components/super-selection-app/services/event-tracking.service.d.ts +25 -0
- package/dist/lib/types/components/super-selection-app/services/existing-super-choice-info.service.d.ts +75 -0
- package/dist/lib/types/components/super-selection-app/services/misc.service.d.ts +6 -0
- package/dist/lib/types/components/super-selection-app/services/navigation.service.d.ts +17 -0
- package/dist/lib/types/components/super-selection-app/services/super-selection-app.routes.d.ts +19 -0
- package/dist/lib/types/components/super-selection-app/services/super-selection-app.service.d.ts +43 -0
- package/dist/lib/types/components/super-selection-app/services/super-selection.store.d.ts +37 -0
- package/dist/lib/types/components/super-selection-app/standard-choice/standard-choice-form.d.ts +16 -0
- package/dist/lib/types/components/super-selection-app/standard-choice/standard-choice-form.store.d.ts +42 -0
- package/dist/lib/types/components/super-selection-app/super-selection-app.d.ts +27 -0
- package/dist/lib/types/components/super-smsf/super-smsf-types.d.ts +34 -0
- package/dist/lib/types/components/super-smsf/super-smsf.d.ts +20 -0
- package/dist/lib/types/components/super-smsf/super-smsf.form.d.ts +15 -0
- package/dist/lib/types/components.d.ts +522 -0
- package/dist/lib/types/global/init-host.d.ts +1 -0
- package/dist/lib/types/global/main.d.ts +1 -0
- package/dist/lib/types/global/main.dev.d.ts +1 -0
- package/dist/lib/types/global/stencil-router-workaround.d.ts +1 -0
- package/dist/lib/types/index.d.ts +2 -0
- package/dist/lib/types/stencil-public-runtime.d.ts +1555 -0
- package/dist/lib/types/utils/config.d.ts +2 -0
- package/dist/lib/types/utils/gtm.d.ts +7 -0
- package/dist/lib/types/utils/iframe.d.ts +13 -0
- package/dist/lib/types/utils/index.d.ts +4 -0
- package/dist/lib/types/utils/lazy.d.ts +12 -0
- package/dist/lib/types/utils/storage.d.ts +4 -0
- package/package.json +1 -1
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
import * as O from 'fp-ts/lib/Option';
|
|
2
|
+
import iframe from '../../../../utils/iframe';
|
|
3
|
+
import interopQuery from '../interop.query';
|
|
4
|
+
export class IFrameInteropService {
|
|
5
|
+
static completeSuperSelectionStep() {
|
|
6
|
+
const { successRedirectionUrl } = interopQuery.getIframeInteropMode();
|
|
7
|
+
if (O.isSome(successRedirectionUrl)) {
|
|
8
|
+
window.top.location.href = successRedirectionUrl.value;
|
|
9
|
+
}
|
|
10
|
+
else {
|
|
11
|
+
iframe.complete();
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
static initFromRoute(route) {
|
|
15
|
+
const redirectionUrlQueryParameter = 'success-redirection-url';
|
|
16
|
+
const urlParams = new URLSearchParams(route);
|
|
17
|
+
const redirectionUrl = O.fromNullable(urlParams.get(redirectionUrlQueryParameter));
|
|
18
|
+
const iframeMode = { successRedirectionUrl: O.none };
|
|
19
|
+
if (O.isSome(redirectionUrl)) {
|
|
20
|
+
try {
|
|
21
|
+
const validatedUrl = new URL(redirectionUrl.value);
|
|
22
|
+
iframeMode.successRedirectionUrl = O.some(validatedUrl.toString());
|
|
23
|
+
}
|
|
24
|
+
catch (error) {
|
|
25
|
+
throw Error(`"${redirectionUrl.value}" is not a valid URL`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
return iframeMode;
|
|
29
|
+
}
|
|
30
|
+
}
|
package/dist/lib/collection/components/app-host/services/interop/react-native-interop.service.js
ADDED
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { ReactNativeInteropMode } from '../session.store';
|
|
2
|
+
export class ReactNativeInteropService {
|
|
3
|
+
static init() {
|
|
4
|
+
const isMessagingAvailable = window['ReactNativeWebView'] !== undefined;
|
|
5
|
+
if (!isMessagingAvailable) {
|
|
6
|
+
throw Error('React Native WebView messaging is not enabled. Please, refer to https://github.com/react-native-webview/react-native-webview/blob/master/docs/Guide.md#the-windowreactnativewebviewpostmessage-method-and-onmessage-prop');
|
|
7
|
+
}
|
|
8
|
+
return new ReactNativeInteropMode();
|
|
9
|
+
}
|
|
10
|
+
static completeSuperSelectionStep() {
|
|
11
|
+
this.postRNMessage();
|
|
12
|
+
}
|
|
13
|
+
static postRNMessage() {
|
|
14
|
+
const message = {
|
|
15
|
+
stepStatus: 'completed'
|
|
16
|
+
};
|
|
17
|
+
ReactNativeInteropService.getRnInterop().postMessage(JSON.stringify(message));
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
ReactNativeInteropService.getRnInterop = () => window['ReactNativeWebView'];
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import { Query } from '@datorama/akita';
|
|
2
|
+
import * as O from 'fp-ts/Option';
|
|
3
|
+
import sessionStore from './session.store';
|
|
4
|
+
export class InteropQuery extends Query {
|
|
5
|
+
constructor(store) {
|
|
6
|
+
super(store);
|
|
7
|
+
this.store = store;
|
|
8
|
+
}
|
|
9
|
+
isReactNativeInteropEnabled() {
|
|
10
|
+
return O.isSome(this.getValue().reactNativeInterop);
|
|
11
|
+
}
|
|
12
|
+
isIframeInteropEnabled() {
|
|
13
|
+
return O.isSome(this.getValue().iframeInterop);
|
|
14
|
+
}
|
|
15
|
+
getIframeInteropMode() {
|
|
16
|
+
const iframeInterop = this.getValue().iframeInterop;
|
|
17
|
+
if (O.isNone(iframeInterop)) {
|
|
18
|
+
throw Error('Failed to get iframe interop information: no data in store');
|
|
19
|
+
}
|
|
20
|
+
if (!this.isIframeInteropEnabled()) {
|
|
21
|
+
throw Error('Failed to get iframe interop information: iframe mode is disabled');
|
|
22
|
+
}
|
|
23
|
+
return iframeInterop.value;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
export default new InteropQuery(sessionStore);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
2
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
3
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
4
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
5
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
6
|
+
};
|
|
7
|
+
import { Store, StoreConfig } from '@datorama/akita';
|
|
8
|
+
import * as O from 'fp-ts/Option';
|
|
9
|
+
export var AuthenticationState;
|
|
10
|
+
(function (AuthenticationState) {
|
|
11
|
+
AuthenticationState[AuthenticationState["Unauthorized"] = 0] = "Unauthorized";
|
|
12
|
+
AuthenticationState[AuthenticationState["Authenticated"] = 1] = "Authenticated";
|
|
13
|
+
AuthenticationState[AuthenticationState["Error"] = 2] = "Error";
|
|
14
|
+
})(AuthenticationState || (AuthenticationState = {}));
|
|
15
|
+
export class ReactNativeInteropMode {
|
|
16
|
+
}
|
|
17
|
+
export class IframeInteropMode {
|
|
18
|
+
}
|
|
19
|
+
export function createInitialState() {
|
|
20
|
+
return {
|
|
21
|
+
authenticationState: AuthenticationState.Unauthorized,
|
|
22
|
+
jwt: O.none,
|
|
23
|
+
reactNativeInterop: O.none,
|
|
24
|
+
iframeInterop: O.none,
|
|
25
|
+
appConfiguration: O.none,
|
|
26
|
+
ignoreExistingSelection: false
|
|
27
|
+
};
|
|
28
|
+
}
|
|
29
|
+
let SessionStore = class SessionStore extends Store {
|
|
30
|
+
constructor() {
|
|
31
|
+
super(createInitialState());
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
SessionStore = __decorate([
|
|
35
|
+
StoreConfig({ name: 'sss-session', resettable: true })
|
|
36
|
+
], SessionStore);
|
|
37
|
+
export { SessionStore };
|
|
38
|
+
export default new SessionStore();
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
html {
|
|
2
|
+
scroll-behavior: smooth;
|
|
3
|
+
}
|
|
4
|
+
|
|
5
|
+
.sss-app-container {
|
|
6
|
+
--fl-color-primary: #2E66F7;
|
|
7
|
+
--fl-color-primary-light: #EAF0FE;
|
|
8
|
+
--fl-color-primary-dark: #031495;
|
|
9
|
+
--fl-color-primary-disabled: #88ABFA;
|
|
10
|
+
--fl-color-primary-hover: #5786F8;
|
|
11
|
+
--fl-color-primary-focus: #1033C6;
|
|
12
|
+
--fl-color-primary-text: #3d3d3d;
|
|
13
|
+
--fl-color-secondary: #e5e5e5;
|
|
14
|
+
--fl-color-secondary-hover: #b3b3b3;
|
|
15
|
+
--fl-color-secondary-focus: #b3b3b3;
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
@media screen and (-webkit-min-device-pixel-ratio: 0) {
|
|
19
|
+
select,
|
|
20
|
+
textarea,
|
|
21
|
+
input {
|
|
22
|
+
font-size: 16px;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
import { ResizeObserver as ResizeObserverPolyfill } from '@juggle/resize-observer';
|
|
2
|
+
import { Component, getAssetPath, h, Host, State } from '@stencil/core';
|
|
3
|
+
import { isNone, toUndefined } from 'fp-ts/lib/Option';
|
|
4
|
+
import initHost from '../../global/init-host';
|
|
5
|
+
import { assertExhaustive } from '../../utils';
|
|
6
|
+
import iframe from '../../utils/iframe';
|
|
7
|
+
import appInsights from '../app-host/services/appinsights.service';
|
|
8
|
+
import appConfigurationQuery from './services/app-configuration.query';
|
|
9
|
+
import appConfigurationService from './services/app-configuration.service';
|
|
10
|
+
import appParametersQuery from './services/app-parameters.query';
|
|
11
|
+
import sessionQuery from './services/authentication.query';
|
|
12
|
+
import hostInteropService from './services/interop/host-interop.service';
|
|
13
|
+
import { AuthenticationState } from './services/session.store';
|
|
14
|
+
export class SuperSelectionAppHost {
|
|
15
|
+
async componentWillLoad() {
|
|
16
|
+
await initHost();
|
|
17
|
+
sessionQuery.sessionState$.subscribe((updatedState) => (this.sessionState = updatedState));
|
|
18
|
+
sessionQuery.jwt$.subscribe((newToken) => (this.jwt = newToken));
|
|
19
|
+
appConfigurationQuery.appConfiguration$.subscribe((updatedConfiguration) => (this.appConfiguration = updatedConfiguration));
|
|
20
|
+
appParametersQuery.ignoreExistingSelection$.subscribe((newValue) => (this.ignoreExistingSelection = newValue));
|
|
21
|
+
}
|
|
22
|
+
render() {
|
|
23
|
+
return (h(Host, null,
|
|
24
|
+
h("link", { rel: "stylesheet", href: getAssetPath('apollo-super-selection.css'), media: "all" }),
|
|
25
|
+
h("div", { ref: (el) => this.observeContentResize(el) }, isNone(this.appConfiguration) ? (h("sss-loading-page", { class: "font-inter" })) : (this.renderAppContent()))));
|
|
26
|
+
}
|
|
27
|
+
renderAppContent() {
|
|
28
|
+
return (h("stencil-router", { root: appConfigurationService.getAppRootUrl(), class: "sss-app-container" },
|
|
29
|
+
h("stencil-route-switch", { scrollTopOffset: 0 },
|
|
30
|
+
h("stencil-route", { url: "/", routeRender: this.renderProtectedRoute((props) => (h("super-selection-app", Object.assign({ accessToken: toUndefined(this.jwt), ignoreExistingSelection: this.ignoreExistingSelection, backendUrl: appConfigurationQuery.configuration.ApiBaseUrl, appBaseUrl: this.getAppBaseUrl(), onSuccessPageAcknowledged: this.handleSuccessPageAcknowledged, "onStep-completion": this.handleStepSubmitSuccess, onInitialised: this.handleAppInitialised, isSelfHosted: true }, props)))) }))));
|
|
31
|
+
}
|
|
32
|
+
getAppBaseUrl() {
|
|
33
|
+
const splits = window.location.pathname.split('app');
|
|
34
|
+
return splits[0] + 'app/';
|
|
35
|
+
}
|
|
36
|
+
handleSuccessPageAcknowledged() {
|
|
37
|
+
hostInteropService.completeSuperSelectionStep();
|
|
38
|
+
}
|
|
39
|
+
handleStepSubmitSuccess() {
|
|
40
|
+
iframe.submitSuccess();
|
|
41
|
+
}
|
|
42
|
+
handleAppInitialised(evt) {
|
|
43
|
+
appInsights.addCustomProperties({
|
|
44
|
+
'X-ACCOUNT-ID': evt.detail.accountIdOrDefault,
|
|
45
|
+
'X-PARTNER-ID': evt.detail.partnerIdOrDefault,
|
|
46
|
+
'X-PROFILE-ID': evt.detail.profileId
|
|
47
|
+
});
|
|
48
|
+
appInsights.getAppInsights().trackPageView();
|
|
49
|
+
const loadingPageContainer = document.getElementById('sss-external-loading-page-container');
|
|
50
|
+
if (loadingPageContainer) {
|
|
51
|
+
document.body.removeChild(loadingPageContainer);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
observeContentResize(appContent) {
|
|
55
|
+
const ResizeObserver = window.ResizeObserver || ResizeObserverPolyfill;
|
|
56
|
+
new ResizeObserver(() => {
|
|
57
|
+
iframe.resize(appContent.offsetHeight, -1);
|
|
58
|
+
}).observe(appContent);
|
|
59
|
+
}
|
|
60
|
+
renderProtectedRoute(renderProtectedComponent) {
|
|
61
|
+
switch (this.sessionState) {
|
|
62
|
+
case AuthenticationState.Authenticated:
|
|
63
|
+
return renderProtectedComponent;
|
|
64
|
+
case AuthenticationState.Unauthorized:
|
|
65
|
+
return () => h("sss-loading-page", null);
|
|
66
|
+
case AuthenticationState.Error:
|
|
67
|
+
return () => h("h1", null, "Authentication Error");
|
|
68
|
+
default:
|
|
69
|
+
assertExhaustive(this.sessionState);
|
|
70
|
+
return () => h("h1", null, "Authentication Error");
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
static get is() { return "super-selection-app-host"; }
|
|
74
|
+
static get encapsulation() { return "shadow"; }
|
|
75
|
+
static get originalStyleUrls() { return {
|
|
76
|
+
"$": ["super-selection-app-host.scss"]
|
|
77
|
+
}; }
|
|
78
|
+
static get styleUrls() { return {
|
|
79
|
+
"$": ["super-selection-app-host.css"]
|
|
80
|
+
}; }
|
|
81
|
+
static get states() { return {
|
|
82
|
+
"sessionState": {},
|
|
83
|
+
"jwt": {},
|
|
84
|
+
"appConfiguration": {},
|
|
85
|
+
"ignoreExistingSelection": {}
|
|
86
|
+
}; }
|
|
87
|
+
}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
(function () {
|
|
2
|
+
var container = document.getElementById('sss-external-loading-page-container');
|
|
3
|
+
|
|
4
|
+
setTimeout(function () {
|
|
5
|
+
var loadingPage1 = document.getElementById('sss-external-loading-page-1');
|
|
6
|
+
if (container && loadingPage1) {
|
|
7
|
+
container.removeChild(loadingPage1);
|
|
8
|
+
}
|
|
9
|
+
}, 8000);
|
|
10
|
+
|
|
11
|
+
setTimeout(function () {
|
|
12
|
+
var loadingPage2 = document.getElementById('sss-external-loading-page-2');
|
|
13
|
+
if (container && loadingPage2) {
|
|
14
|
+
container.removeChild(loadingPage2);
|
|
15
|
+
}
|
|
16
|
+
}, 30000);
|
|
17
|
+
|
|
18
|
+
setTimeout(function () {
|
|
19
|
+
window.parent.postMessage(
|
|
20
|
+
{
|
|
21
|
+
type: 'contentResized',
|
|
22
|
+
height: container.offsetHeight,
|
|
23
|
+
width: -1,
|
|
24
|
+
sender: 'flare'
|
|
25
|
+
},
|
|
26
|
+
'*'
|
|
27
|
+
);
|
|
28
|
+
}, 0);
|
|
29
|
+
})();
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export const LoadWaitingTimeout = 30000;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,139 @@
|
|
|
1
|
+
import { Component, h, Host, Prop, State } from '@stencil/core';
|
|
2
|
+
import { injectHistory } from '@stencil/router';
|
|
3
|
+
import { fromNullable, isSome, toUndefined } from 'fp-ts/lib/Option';
|
|
4
|
+
import customFundChoiceApi from '../super-selection-app/funds/custom-fund/api/custom-fund-choice.api';
|
|
5
|
+
import customFundState from '../super-selection-app/funds/custom-fund/custom-fund.store';
|
|
6
|
+
import { EventTrackingService } from '../super-selection-app/services/event-tracking.service';
|
|
7
|
+
import navigationService from '../super-selection-app/services/navigation.service';
|
|
8
|
+
import { SuperSelectionAppRoutes } from '../super-selection-app/services/super-selection-app.routes';
|
|
9
|
+
import superSelectionAppService from '../super-selection-app/services/super-selection-app.service';
|
|
10
|
+
import { LoadWaitingTimeout } from './super-byof-types';
|
|
11
|
+
var SuperByofComponentStatus;
|
|
12
|
+
(function (SuperByofComponentStatus) {
|
|
13
|
+
SuperByofComponentStatus[SuperByofComponentStatus["NotLoaded"] = 1] = "NotLoaded";
|
|
14
|
+
SuperByofComponentStatus[SuperByofComponentStatus["Loaded"] = 2] = "Loaded";
|
|
15
|
+
})(SuperByofComponentStatus || (SuperByofComponentStatus = {}));
|
|
16
|
+
let superByofComponentStatus = SuperByofComponentStatus.NotLoaded;
|
|
17
|
+
export class SuperByofHost {
|
|
18
|
+
constructor() {
|
|
19
|
+
this.eventTrackingService = EventTrackingService.Instance;
|
|
20
|
+
this.subscribeToSuperByofEvents = () => {
|
|
21
|
+
for (const eventName in this.byofEventHandlers) {
|
|
22
|
+
document.addEventListener(eventName, this.byofEventHandlers[eventName]);
|
|
23
|
+
}
|
|
24
|
+
};
|
|
25
|
+
this.unSubscribeFromSuperByofEvents = () => {
|
|
26
|
+
for (const eventName in this.byofEventHandlers) {
|
|
27
|
+
document.removeEventListener(eventName, this.byofEventHandlers[eventName]);
|
|
28
|
+
}
|
|
29
|
+
};
|
|
30
|
+
this.byofLoaded = async (event) => {
|
|
31
|
+
if (event.detail.sender === 'super-byof') {
|
|
32
|
+
superByofComponentStatus = SuperByofComponentStatus.Loaded;
|
|
33
|
+
clearTimeout(this.loadingTimeoutRef);
|
|
34
|
+
this.eventTrackingService.TrackMyOwnSuperFundDetailViewedAsync({
|
|
35
|
+
promotedFundsShown: superSelectionAppService.promotedFunds,
|
|
36
|
+
defaultFundUsiSet: toUndefined(superSelectionAppService.defaultFundUsi)
|
|
37
|
+
});
|
|
38
|
+
}
|
|
39
|
+
return Promise.resolve();
|
|
40
|
+
};
|
|
41
|
+
this.byofCompleted = async (event) => {
|
|
42
|
+
if (event.detail.sender === 'super-byof') {
|
|
43
|
+
customFundState.myOwnFundForm = {
|
|
44
|
+
fundUsi: fromNullable(event.detail.fundUsi),
|
|
45
|
+
fundName: fromNullable(event.detail.fundName),
|
|
46
|
+
memberNumber: fromNullable(event.detail.memberNumber),
|
|
47
|
+
memberFirstName: fromNullable(event.detail.memberFirstName),
|
|
48
|
+
memberFamilyName: fromNullable(event.detail.memberLastName)
|
|
49
|
+
};
|
|
50
|
+
if (superSelectionAppService.isBringYourOwnFundCustomStepEnabled &&
|
|
51
|
+
superSelectionAppService.isUsingSuperCampaign) {
|
|
52
|
+
navigationService.navigateInternally(this.history, SuperSelectionAppRoutes.MyOwnFundEngagementStep);
|
|
53
|
+
return;
|
|
54
|
+
}
|
|
55
|
+
navigationService.navigateInternallyToStandardChoice({
|
|
56
|
+
history: this.history,
|
|
57
|
+
fundName: event.detail.fundName,
|
|
58
|
+
fundDetails: {
|
|
59
|
+
type: 'myOwnFund',
|
|
60
|
+
fundName: event.detail.fundName,
|
|
61
|
+
fundUsi: event.detail.fundUsi,
|
|
62
|
+
memberNumber: event.detail.memberNumber
|
|
63
|
+
},
|
|
64
|
+
handleSubmitFn: async (standardChoiceFormSignature) => {
|
|
65
|
+
const customFundChoiceDto = Object.assign({ fundUsi: event.detail.fundUsi, memberNumber: event.detail.memberNumber, memberFirstName: event.detail.memberFirstName, memberFamilyName: event.detail.memberLastName, standardChoiceFormSignature }, superSelectionAppService.promotedFundsConfig);
|
|
66
|
+
await customFundChoiceApi.submitCustomFundChoiceAsync(customFundChoiceDto);
|
|
67
|
+
}
|
|
68
|
+
});
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
this.byofCancelled = async (event) => {
|
|
72
|
+
if (event.detail.sender === 'super-byof') {
|
|
73
|
+
await navigationService.navigateInternally(this.history, SuperSelectionAppRoutes.ChoicePage);
|
|
74
|
+
}
|
|
75
|
+
};
|
|
76
|
+
this.byofEventHandlers = {
|
|
77
|
+
'byof-loaded': this.byofLoaded.bind(this),
|
|
78
|
+
'byof-completed': this.byofCompleted.bind(this),
|
|
79
|
+
'byof-cancelled': this.byofCancelled.bind(this)
|
|
80
|
+
};
|
|
81
|
+
}
|
|
82
|
+
async componentWillLoad() {
|
|
83
|
+
if (isSome(superSelectionAppService.backendUrl) && isSome(superSelectionAppService.state.jwt)) {
|
|
84
|
+
this.backendUrl = superSelectionAppService.backendUrl.value;
|
|
85
|
+
this.accessToken = superSelectionAppService.state.jwt.value;
|
|
86
|
+
if (superByofComponentStatus === SuperByofComponentStatus.NotLoaded) {
|
|
87
|
+
this.loadingTimeoutRef = setTimeout(this.byofLoadingTimeoutTriggered.bind(this), LoadWaitingTimeout);
|
|
88
|
+
}
|
|
89
|
+
this.subscribeToSuperByofEvents();
|
|
90
|
+
}
|
|
91
|
+
else {
|
|
92
|
+
throw Error(`SuperByofHost pre-requisites not met.`);
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
disconnectedCallback() {
|
|
96
|
+
clearTimeout(this.loadingTimeoutRef);
|
|
97
|
+
this.unSubscribeFromSuperByofEvents();
|
|
98
|
+
}
|
|
99
|
+
render() {
|
|
100
|
+
return (h(Host, null,
|
|
101
|
+
h("sss-header-section", null),
|
|
102
|
+
h("div", { class: "flex justify-center mt-11" },
|
|
103
|
+
h("sss-custom-fund", null,
|
|
104
|
+
h("apollo-super-byof", { "backend-url": this.backendUrl, "access-token": this.accessToken })))));
|
|
105
|
+
}
|
|
106
|
+
async byofLoadingTimeoutTriggered() {
|
|
107
|
+
if (superByofComponentStatus !== SuperByofComponentStatus.Loaded) {
|
|
108
|
+
throw Error(`BYOF component failed to load.`);
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
static get is() { return "sss-super-byof-host"; }
|
|
112
|
+
static get properties() { return {
|
|
113
|
+
"history": {
|
|
114
|
+
"type": "unknown",
|
|
115
|
+
"mutable": false,
|
|
116
|
+
"complexType": {
|
|
117
|
+
"original": "RouterHistory",
|
|
118
|
+
"resolved": "RouterHistory",
|
|
119
|
+
"references": {
|
|
120
|
+
"RouterHistory": {
|
|
121
|
+
"location": "import",
|
|
122
|
+
"path": "@stencil/router"
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"required": false,
|
|
127
|
+
"optional": false,
|
|
128
|
+
"docs": {
|
|
129
|
+
"tags": [],
|
|
130
|
+
"text": ""
|
|
131
|
+
}
|
|
132
|
+
}
|
|
133
|
+
}; }
|
|
134
|
+
static get states() { return {
|
|
135
|
+
"backendUrl": {},
|
|
136
|
+
"accessToken": {}
|
|
137
|
+
}; }
|
|
138
|
+
}
|
|
139
|
+
injectHistory(SuperByofHost);
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
import * as O from 'fp-ts/lib/Option';
|
|
2
|
+
import { EventTrackingService } from '../super-selection-app/services/event-tracking.service';
|
|
3
|
+
import miscService from '../super-selection-app/services/misc.service';
|
|
4
|
+
import superSelectionAppService from '../super-selection-app/services/super-selection-app.service';
|
|
5
|
+
const getSuperCampaignState = () => {
|
|
6
|
+
if (superSelectionAppService.superCampaignState != undefined)
|
|
7
|
+
return superSelectionAppService.superCampaignState;
|
|
8
|
+
throw new Error('Super campaign state has not been initialized');
|
|
9
|
+
};
|
|
10
|
+
export const fundTileClicked = async ({ sender, placementId, fundId, fundUsi, fundName, fundType }) => {
|
|
11
|
+
if (sender === 'super-campaign' || sender === 'featured-funds') {
|
|
12
|
+
const promotedFundsShown = getSuperCampaignState().PromotedFundIds;
|
|
13
|
+
const defaultFundUsiSet = O.toUndefined(superSelectionAppService.defaultFundUsi);
|
|
14
|
+
await Promise.all([
|
|
15
|
+
fundType === 'promoted-default'
|
|
16
|
+
? await EventTrackingService.Instance.TrackPromotedDefaultSuperFundDetailViewedAsync({
|
|
17
|
+
fundUsi: fundUsi !== null && fundUsi !== void 0 ? fundUsi : '',
|
|
18
|
+
fundName,
|
|
19
|
+
promotedFundId: fundId,
|
|
20
|
+
promotedFundsShown,
|
|
21
|
+
defaultFundUsiSet,
|
|
22
|
+
superCampaignEnabled: true,
|
|
23
|
+
placementId
|
|
24
|
+
})
|
|
25
|
+
: await EventTrackingService.Instance.TrackPromotedSuperFundDetailViewedAsync({
|
|
26
|
+
fundUsi: fundUsi !== null && fundUsi !== void 0 ? fundUsi : undefined,
|
|
27
|
+
fundName,
|
|
28
|
+
promotedFundId: fundId,
|
|
29
|
+
promotedFundsShown,
|
|
30
|
+
defaultFundUsiSet,
|
|
31
|
+
superCampaignEnabled: true,
|
|
32
|
+
placementId
|
|
33
|
+
}),
|
|
34
|
+
miscService.trackClickPromotedTileAsync(fundType === 'promoted-default'
|
|
35
|
+
? {
|
|
36
|
+
promotedDefault: {
|
|
37
|
+
fundId,
|
|
38
|
+
placementId
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
: {
|
|
42
|
+
promoted: {
|
|
43
|
+
fundId,
|
|
44
|
+
placementId
|
|
45
|
+
}
|
|
46
|
+
})
|
|
47
|
+
]);
|
|
48
|
+
}
|
|
49
|
+
};
|
|
@@ -0,0 +1,121 @@
|
|
|
1
|
+
import * as O from 'fp-ts/lib/Option';
|
|
2
|
+
import appInsightsService from '../app-host/services/appinsights.service';
|
|
3
|
+
import customFundChoiceApi from '../super-selection-app/funds/custom-fund/api/custom-fund-choice.api';
|
|
4
|
+
import promotedFundChoiceApi from '../super-selection-app/funds/promoted-fund/api/promoted-fund-choice.api';
|
|
5
|
+
import { slate } from '../super-selection-app/funds/slate-super/api/slate';
|
|
6
|
+
import slateChoiceApi from '../super-selection-app/funds/slate-super/api/slate-choice.api';
|
|
7
|
+
import navigationService from '../super-selection-app/services/navigation.service';
|
|
8
|
+
import superSelectionAppService from '../super-selection-app/services/super-selection-app.service';
|
|
9
|
+
import { Usi } from './super-campaign-types';
|
|
10
|
+
export class PromotedFundJoinedEventHandler {
|
|
11
|
+
constructor(placementId, history) {
|
|
12
|
+
this.handle = async (event) => {
|
|
13
|
+
if (event.detail.sender === 'super-campaign' || event.detail.sender === 'featured-funds') {
|
|
14
|
+
const fundJoinInfo = event.detail.fundJoinInfo;
|
|
15
|
+
switch (fundJoinInfo.fundType) {
|
|
16
|
+
case 'Promoted':
|
|
17
|
+
this.handlePromotedFundJoined(fundJoinInfo);
|
|
18
|
+
break;
|
|
19
|
+
case 'DefinedBenefits':
|
|
20
|
+
await this.handleDefinedBenefitsJoined(fundJoinInfo);
|
|
21
|
+
break;
|
|
22
|
+
case 'PromotedDefault':
|
|
23
|
+
this.handlePromotedDefaultFundJoined(fundJoinInfo);
|
|
24
|
+
break;
|
|
25
|
+
case 'PromotedDefaultWithJoin':
|
|
26
|
+
this.handlePromotedDefaultFundWithJoinWasJoined(fundJoinInfo);
|
|
27
|
+
break;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
return Promise.resolve();
|
|
31
|
+
};
|
|
32
|
+
this.stringIsNullOrEmtpty = (s) => {
|
|
33
|
+
return !(typeof s === 'string' && s.trim().length > 0);
|
|
34
|
+
};
|
|
35
|
+
this.handlePromotedFundJoined = (data) => {
|
|
36
|
+
if (this.stringIsNullOrEmtpty(data.memberNumber) || this.stringIsNullOrEmtpty(data.usi)) {
|
|
37
|
+
appInsightsService.trackErrorTrace('Super Campaign did not return (Promoted) memberNumber and/or usi');
|
|
38
|
+
return;
|
|
39
|
+
}
|
|
40
|
+
const usi = Usi.clean(data.usi);
|
|
41
|
+
const defaultFundUsiSet = O.toUndefined(superSelectionAppService.defaultFundUsi);
|
|
42
|
+
navigationService.navigateInternallyToStandardChoice({
|
|
43
|
+
history: this.history,
|
|
44
|
+
fundName: data.fundName,
|
|
45
|
+
promotedFundId: data.fundId,
|
|
46
|
+
fundDetails: {
|
|
47
|
+
type: 'promoted',
|
|
48
|
+
fundName: data.fundName,
|
|
49
|
+
fundUsi: usi,
|
|
50
|
+
memberNumber: data.memberNumber,
|
|
51
|
+
promotedFundId: data.fundId
|
|
52
|
+
},
|
|
53
|
+
handleSubmitFn: async (standardChoiceFormSignature) => {
|
|
54
|
+
if (data.fundId === slate.fundId) {
|
|
55
|
+
await slateChoiceApi.submitSlateChoiceAsync(Object.assign({ memberNumber: data.memberNumber, memberFirstName: data.memberFirstName, memberFamilyName: data.memberFamilyName, standardChoiceFormSignature,
|
|
56
|
+
defaultFundUsiSet, placementId: this.placementId }, this.PromotedFundsConfig));
|
|
57
|
+
}
|
|
58
|
+
else {
|
|
59
|
+
await promotedFundChoiceApi.submitChoiceAsync(Object.assign({ fundId: data.fundId, memberNumber: data.memberNumber, memberFirstName: data.memberFirstName, memberFamilyName: data.memberFamilyName, usi,
|
|
60
|
+
standardChoiceFormSignature,
|
|
61
|
+
defaultFundUsiSet, placementId: this.placementId }, this.PromotedFundsConfig));
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
});
|
|
65
|
+
};
|
|
66
|
+
this.handlePromotedDefaultFundJoined = (data) => {
|
|
67
|
+
if (this.stringIsNullOrEmtpty(data.usi)) {
|
|
68
|
+
appInsightsService.trackErrorTrace('Super Campaign did not return (PromotedDefault) usi');
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
const usi = Usi.clean(data.usi);
|
|
72
|
+
navigationService.navigateInternallyToStandardChoice({
|
|
73
|
+
history: this.history,
|
|
74
|
+
fundName: data.fundName,
|
|
75
|
+
promotedFundId: data.fundId,
|
|
76
|
+
fundDetails: {
|
|
77
|
+
type: 'promotedDefault',
|
|
78
|
+
fundName: data.fundName,
|
|
79
|
+
fundUsi: usi,
|
|
80
|
+
promotedFundId: data.fundId
|
|
81
|
+
},
|
|
82
|
+
handleSubmitFn: (standardChoiceFormSignature) => promotedFundChoiceApi.submitDefaultChoiceAsync(Object.assign({ fundId: data.fundId, usi,
|
|
83
|
+
standardChoiceFormSignature, defaultFundUsiSet: O.toUndefined(superSelectionAppService.defaultFundUsi), placementId: this.placementId }, this.PromotedFundsConfig))
|
|
84
|
+
});
|
|
85
|
+
};
|
|
86
|
+
this.handlePromotedDefaultFundWithJoinWasJoined = (data) => {
|
|
87
|
+
if (this.stringIsNullOrEmtpty(data.memberNumber) || this.stringIsNullOrEmtpty(data.usi)) {
|
|
88
|
+
appInsightsService.trackErrorTrace('Super Campaign did not return (PromotedDefaultWithJoin) memberNumber and/or usi');
|
|
89
|
+
return;
|
|
90
|
+
}
|
|
91
|
+
const usi = Usi.clean(data.usi);
|
|
92
|
+
navigationService.navigateInternallyToStandardChoice({
|
|
93
|
+
history: this.history,
|
|
94
|
+
fundName: data.fundName,
|
|
95
|
+
promotedFundId: data.fundId,
|
|
96
|
+
fundDetails: {
|
|
97
|
+
type: 'promotedDefaultWithJoin',
|
|
98
|
+
fundName: data.fundName,
|
|
99
|
+
fundUsi: usi,
|
|
100
|
+
memberNumber: data.memberNumber,
|
|
101
|
+
promotedFundId: data.fundId
|
|
102
|
+
},
|
|
103
|
+
handleSubmitFn: (standardChoiceFormSignature) => promotedFundChoiceApi.submitDefaultChoiceWithJoinAsync(Object.assign({ fundId: data.fundId, memberNumber: data.memberNumber, memberFirstName: data.memberFirstName, memberFamilyName: data.memberFamilyName, usi,
|
|
104
|
+
standardChoiceFormSignature, defaultFundUsiSet: O.toUndefined(superSelectionAppService.defaultFundUsi), placementId: this.placementId }, this.PromotedFundsConfig))
|
|
105
|
+
});
|
|
106
|
+
};
|
|
107
|
+
this.handleDefinedBenefitsJoined = async (data) => {
|
|
108
|
+
if (this.stringIsNullOrEmtpty(data.memberNumber) || this.stringIsNullOrEmtpty(data.usi)) {
|
|
109
|
+
appInsightsService.trackErrorTrace('Super Campaign did not return (DefinedBenefits) memberNumber and/or usi');
|
|
110
|
+
return;
|
|
111
|
+
}
|
|
112
|
+
await customFundChoiceApi.submitDefinedBenefitsChoiceAsync(Object.assign({ fundUsi: Usi.clean(data.usi), fundId: data.fundId, memberNumber: data.memberNumber, memberElectContributionRatePreTax: data.memberElectContributionRatePreTax, memberElectContributionRatePostTax: data.memberElectContributionRatePostTax }, this.PromotedFundsConfig));
|
|
113
|
+
superSelectionAppService.markSuperSelectionAsSubmitted();
|
|
114
|
+
};
|
|
115
|
+
this.history = history;
|
|
116
|
+
this.placementId = placementId;
|
|
117
|
+
}
|
|
118
|
+
get PromotedFundsConfig() {
|
|
119
|
+
return superSelectionAppService.promotedFundsConfig;
|
|
120
|
+
}
|
|
121
|
+
}
|