@flarehr/apollo-super-selection 3.61.64036 → 3.64.64582
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.esm.js +1 -1
- package/dist/lib/apollo-super-selection/p-0f723eb4.system.js +1 -1
- package/dist/lib/apollo-super-selection/{p-11954377.entry.js → p-1c2481c7.entry.js} +4 -4
- package/dist/lib/apollo-super-selection/{p-4b744211.system.entry.js → p-5139d22d.system.entry.js} +18 -18
- package/dist/lib/cjs/apollo-super-selection.cjs.js +1 -1
- package/dist/lib/cjs/loader.cjs.js +1 -1
- package/dist/lib/cjs/sss-button_30.cjs.entry.js +34 -6
- package/dist/lib/collection/collection-manifest.json +1 -1
- 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/self-managed-fund-inputs.js +18 -10
- package/dist/lib/collection/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.js +13 -2
- package/dist/lib/esm/apollo-super-selection.js +1 -1
- package/dist/lib/esm/loader.js +1 -1
- package/dist/lib/esm/sss-button_30.entry.js +34 -6
- package/dist/lib/esm-es5/apollo-super-selection.js +1 -1
- package/dist/lib/esm-es5/loader.js +1 -1
- package/dist/lib/esm-es5/sss-button_30.entry.js +1 -1
- 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/self-managed-fund-inputs.d.ts +6 -1
- package/dist/lib/types/components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.d.ts +2 -0
- package/dist/lib/types/components.d.ts +2 -1
- package/package.json +1 -1
|
@@ -18,5 +18,5 @@ const patchBrowser = () => {
|
|
|
18
18
|
|
|
19
19
|
patchBrowser().then(options => {
|
|
20
20
|
appGlobals.globalScripts();
|
|
21
|
-
return index.bootstrapLazy([["context-consumer.cjs",[[0,"context-consumer",{"context":[16],"renderer":[16],"subscribe":[16],"unsubscribe":[32]}]]],["stencil-async-content.cjs",[[0,"stencil-async-content",{"documentLocation":[1,"document-location"],"content":[32]}]]],["stencil-route-title.cjs",[[0,"stencil-route-title",{"titleSuffix":[1,"title-suffix"],"pageTitle":[1,"page-title"]}]]],["stencil-router-prompt.cjs",[[0,"stencil-router-prompt",{"when":[4],"message":[1],"history":[16],"unblock":[32]}]]],["stencil-router-redirect.cjs",[[0,"stencil-router-redirect",{"history":[16],"root":[1],"url":[1]}]]],["sss-button_30.cjs",[[0,"sss-my-own-fund",{"history":[16],"formState":[32],"isNotAllInformationProvidedMessageVisible":[32],"isSubmitDisabled":[32]}],[0,"sss-self-managed-fund",{"history":[16],"formState":[32],"showSmsfNotSupported":[32],"isSubmitDisabled":[32]}],[0,"sss-super-choice-page",{"history":[16],"promotedFunds":[32]}],[1,"super-selection-app-host",{"sessionState":[32],"jwt":[32],"appConfiguration":[32]}],[0,"sss-default-fund",{"history":[16],"defaultFundProductName":[32]}],[0,"sss-standard-choice-form",{"history":[16],"standardChoiceFormSignature":[32],"formState":[32],"isSubmitDisabled":[32]}],[0,"sss-consent-page",{"history":[16]}],[0,"sss-existing-choice-page",{"history":[16],"existingFund":[32]}],[0,"sss-promoted-fund-join-v1-page",{"history":[16]}],[0,"sss-promoted-fund-join-v2-page",{"history":[16]}],[0,"sss-slate-join-page",{"history":[16]}],[0,"sss-success"],[1,"super-selection-app",{"accessToken":[1,"access-token"],"backendUrl":[1,"backend-url"],"appBaseUrl":[1,"app-base-url"],"history":[16],"location":[16],"isSelfHosted":[4,"is-self-hosted"],"isAppInitialised":[32]}],[0,"sss-my-own-fund-inputs",{"myOwnFundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"selectedOption":[32]}],[0,"sss-smsf-not-supported-dialog"],[0,"sss-super-choice-item-bottom",{"disclaimer":[16],"abnInfo":[1,"abn-info"],"abn":[1]}],[0,"sss-loading-page"],[0,"sss-self-managed-fund-inputs",{"fundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"currentBank":[32],"addressErrorMessage":[32]}],[0,"sss-super-choice-item-top",{"name":[1],"logo":[1],"features":[1],"featureSubText":[1,"feature-sub-text"]}],[0,"sss-dropdown-async",{"placeholder":[1],"searchFunction":[16],"value":[16],"required":[4],"requiredValidationMessage":[1,"required-validation-message"],"disabled":[4],"minSearchStringLength":[2,"min-search-string-length"],"showValidationErrors":[4,"show-validation-errors"],"searchState":[32],"inputValue":[32],"isDropdownVisible":[32],"filteredOptions":[32],"highlightedOptionIndex":[32],"selectedOption":[32]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"],[2,"keydown","handleKeyDown"]]],[0,"sss-footer-section"],[4,"stencil-route-switch",{"group":[513],"scrollTopOffset":[2,"scroll-top-offset"],"location":[16],"routeViewsUpdated":[16]}],[4,"stencil-router",{"root":[1],"historyType":[1,"history-type"],"titleSuffix":[1,"title-suffix"],"scrollTopOffset":[2,"scroll-top-offset"],"location":[32],"history":[32]}],[4,"sss-custom-fund",{"history":[16],"currentCustomFund":[32],"fundOptionsList":[32],"showFundOptionsSelection":[32]}],[0,"sss-iframe-host",{"build":[16]}],[0,"sss-header-section",{"currentPage":[1,"current-page"]}],[4,"stencil-route-link",{"url":[1],"urlMatch":[1,"url-match"],"activeClass":[1,"active-class"],"exact":[4],"strict":[4],"custom":[1],"anchorClass":[1,"anchor-class"],"anchorRole":[1,"anchor-role"],"anchorTitle":[1,"anchor-title"],"anchorTabIndex":[1,"anchor-tab-index"],"anchorId":[1,"anchor-id"],"history":[16],"location":[16],"root":[1],"ariaHaspopup":[1,"aria-haspopup"],"ariaPosinset":[1,"aria-posinset"],"ariaSetsize":[2,"aria-setsize"],"ariaLabel":[1,"aria-label"],"match":[32]}],[4,"sss-button",{"fillWidth":[4,"fill-width"],"fillWidthOnMobile":[4,"fill-width-on-mobile"],"disabled":[4],"variant":[1],"promiseFn":[16],"state":[32]}],[0,"sss-loading-indicator",{"theme":[1],"size":[2]}],[0,"stencil-route",{"group":[513],"componentUpdated":[16],"match":[1040],"url":[1],"component":[1],"componentProps":[16],"exact":[4],"routeRender":[16],"scrollTopOffset":[2,"scroll-top-offset"],"routeViewsUpdated":[16],"location":[16],"history":[16],"historyType":[1,"history-type"]}]]]], options);
|
|
21
|
+
return index.bootstrapLazy([["context-consumer.cjs",[[0,"context-consumer",{"context":[16],"renderer":[16],"subscribe":[16],"unsubscribe":[32]}]]],["stencil-async-content.cjs",[[0,"stencil-async-content",{"documentLocation":[1,"document-location"],"content":[32]}]]],["stencil-route-title.cjs",[[0,"stencil-route-title",{"titleSuffix":[1,"title-suffix"],"pageTitle":[1,"page-title"]}]]],["stencil-router-prompt.cjs",[[0,"stencil-router-prompt",{"when":[4],"message":[1],"history":[16],"unblock":[32]}]]],["stencil-router-redirect.cjs",[[0,"stencil-router-redirect",{"history":[16],"root":[1],"url":[1]}]]],["sss-button_30.cjs",[[0,"sss-my-own-fund",{"history":[16],"formState":[32],"isNotAllInformationProvidedMessageVisible":[32],"isSubmitDisabled":[32]}],[0,"sss-self-managed-fund",{"history":[16],"formState":[32],"showSmsfNotSupported":[32],"isSubmitDisabled":[32]}],[0,"sss-super-choice-page",{"history":[16],"promotedFunds":[32]}],[1,"super-selection-app-host",{"sessionState":[32],"jwt":[32],"appConfiguration":[32]}],[0,"sss-default-fund",{"history":[16],"defaultFundProductName":[32]}],[0,"sss-standard-choice-form",{"history":[16],"standardChoiceFormSignature":[32],"formState":[32],"isSubmitDisabled":[32]}],[0,"sss-consent-page",{"history":[16]}],[0,"sss-existing-choice-page",{"history":[16],"existingFund":[32]}],[0,"sss-promoted-fund-join-v1-page",{"history":[16]}],[0,"sss-promoted-fund-join-v2-page",{"history":[16]}],[0,"sss-slate-join-page",{"history":[16]}],[0,"sss-success"],[1,"super-selection-app",{"accessToken":[1,"access-token"],"backendUrl":[1,"backend-url"],"appBaseUrl":[1,"app-base-url"],"history":[16],"location":[16],"isSelfHosted":[4,"is-self-hosted"],"isAppInitialised":[32]}],[0,"sss-my-own-fund-inputs",{"myOwnFundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"selectedOption":[32]}],[0,"sss-smsf-not-supported-dialog"],[0,"sss-super-choice-item-bottom",{"disclaimer":[16],"abnInfo":[1,"abn-info"],"abn":[1]}],[0,"sss-loading-page"],[0,"sss-self-managed-fund-inputs",{"fundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"isAbnValid":[32],"isAbnTouched":[32],"currentBank":[32],"addressErrorMessage":[32]}],[0,"sss-super-choice-item-top",{"name":[1],"logo":[1],"features":[1],"featureSubText":[1,"feature-sub-text"]}],[0,"sss-dropdown-async",{"placeholder":[1],"searchFunction":[16],"value":[16],"required":[4],"requiredValidationMessage":[1,"required-validation-message"],"disabled":[4],"minSearchStringLength":[2,"min-search-string-length"],"showValidationErrors":[4,"show-validation-errors"],"searchState":[32],"inputValue":[32],"isDropdownVisible":[32],"filteredOptions":[32],"highlightedOptionIndex":[32],"selectedOption":[32]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"],[2,"keydown","handleKeyDown"]]],[0,"sss-footer-section"],[4,"stencil-route-switch",{"group":[513],"scrollTopOffset":[2,"scroll-top-offset"],"location":[16],"routeViewsUpdated":[16]}],[4,"stencil-router",{"root":[1],"historyType":[1,"history-type"],"titleSuffix":[1,"title-suffix"],"scrollTopOffset":[2,"scroll-top-offset"],"location":[32],"history":[32]}],[4,"sss-custom-fund",{"history":[16],"currentCustomFund":[32],"fundOptionsList":[32],"showFundOptionsSelection":[32]}],[0,"sss-iframe-host",{"build":[16]}],[0,"sss-header-section",{"currentPage":[1,"current-page"]}],[4,"stencil-route-link",{"url":[1],"urlMatch":[1,"url-match"],"activeClass":[1,"active-class"],"exact":[4],"strict":[4],"custom":[1],"anchorClass":[1,"anchor-class"],"anchorRole":[1,"anchor-role"],"anchorTitle":[1,"anchor-title"],"anchorTabIndex":[1,"anchor-tab-index"],"anchorId":[1,"anchor-id"],"history":[16],"location":[16],"root":[1],"ariaHaspopup":[1,"aria-haspopup"],"ariaPosinset":[1,"aria-posinset"],"ariaSetsize":[2,"aria-setsize"],"ariaLabel":[1,"aria-label"],"match":[32]}],[4,"sss-button",{"fillWidth":[4,"fill-width"],"fillWidthOnMobile":[4,"fill-width-on-mobile"],"disabled":[4],"variant":[1],"promiseFn":[16],"state":[32]}],[0,"sss-loading-indicator",{"theme":[1],"size":[2]}],[0,"stencil-route",{"group":[513],"componentUpdated":[16],"match":[1040],"url":[1],"component":[1],"componentProps":[16],"exact":[4],"routeRender":[16],"scrollTopOffset":[2,"scroll-top-offset"],"routeViewsUpdated":[16],"location":[16],"history":[16],"historyType":[1,"history-type"]}]]]], options);
|
|
22
22
|
});
|
|
@@ -17,7 +17,7 @@ const defineCustomElements = (win, options) => {
|
|
|
17
17
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
18
18
|
return patchEsm().then(() => {
|
|
19
19
|
appGlobals.globalScripts();
|
|
20
|
-
return index.bootstrapLazy([["context-consumer.cjs",[[0,"context-consumer",{"context":[16],"renderer":[16],"subscribe":[16],"unsubscribe":[32]}]]],["stencil-async-content.cjs",[[0,"stencil-async-content",{"documentLocation":[1,"document-location"],"content":[32]}]]],["stencil-route-title.cjs",[[0,"stencil-route-title",{"titleSuffix":[1,"title-suffix"],"pageTitle":[1,"page-title"]}]]],["stencil-router-prompt.cjs",[[0,"stencil-router-prompt",{"when":[4],"message":[1],"history":[16],"unblock":[32]}]]],["stencil-router-redirect.cjs",[[0,"stencil-router-redirect",{"history":[16],"root":[1],"url":[1]}]]],["sss-button_30.cjs",[[0,"sss-my-own-fund",{"history":[16],"formState":[32],"isNotAllInformationProvidedMessageVisible":[32],"isSubmitDisabled":[32]}],[0,"sss-self-managed-fund",{"history":[16],"formState":[32],"showSmsfNotSupported":[32],"isSubmitDisabled":[32]}],[0,"sss-super-choice-page",{"history":[16],"promotedFunds":[32]}],[1,"super-selection-app-host",{"sessionState":[32],"jwt":[32],"appConfiguration":[32]}],[0,"sss-default-fund",{"history":[16],"defaultFundProductName":[32]}],[0,"sss-standard-choice-form",{"history":[16],"standardChoiceFormSignature":[32],"formState":[32],"isSubmitDisabled":[32]}],[0,"sss-consent-page",{"history":[16]}],[0,"sss-existing-choice-page",{"history":[16],"existingFund":[32]}],[0,"sss-promoted-fund-join-v1-page",{"history":[16]}],[0,"sss-promoted-fund-join-v2-page",{"history":[16]}],[0,"sss-slate-join-page",{"history":[16]}],[0,"sss-success"],[1,"super-selection-app",{"accessToken":[1,"access-token"],"backendUrl":[1,"backend-url"],"appBaseUrl":[1,"app-base-url"],"history":[16],"location":[16],"isSelfHosted":[4,"is-self-hosted"],"isAppInitialised":[32]}],[0,"sss-my-own-fund-inputs",{"myOwnFundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"selectedOption":[32]}],[0,"sss-smsf-not-supported-dialog"],[0,"sss-super-choice-item-bottom",{"disclaimer":[16],"abnInfo":[1,"abn-info"],"abn":[1]}],[0,"sss-loading-page"],[0,"sss-self-managed-fund-inputs",{"fundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"currentBank":[32],"addressErrorMessage":[32]}],[0,"sss-super-choice-item-top",{"name":[1],"logo":[1],"features":[1],"featureSubText":[1,"feature-sub-text"]}],[0,"sss-dropdown-async",{"placeholder":[1],"searchFunction":[16],"value":[16],"required":[4],"requiredValidationMessage":[1,"required-validation-message"],"disabled":[4],"minSearchStringLength":[2,"min-search-string-length"],"showValidationErrors":[4,"show-validation-errors"],"searchState":[32],"inputValue":[32],"isDropdownVisible":[32],"filteredOptions":[32],"highlightedOptionIndex":[32],"selectedOption":[32]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"],[2,"keydown","handleKeyDown"]]],[0,"sss-footer-section"],[4,"stencil-route-switch",{"group":[513],"scrollTopOffset":[2,"scroll-top-offset"],"location":[16],"routeViewsUpdated":[16]}],[4,"stencil-router",{"root":[1],"historyType":[1,"history-type"],"titleSuffix":[1,"title-suffix"],"scrollTopOffset":[2,"scroll-top-offset"],"location":[32],"history":[32]}],[4,"sss-custom-fund",{"history":[16],"currentCustomFund":[32],"fundOptionsList":[32],"showFundOptionsSelection":[32]}],[0,"sss-iframe-host",{"build":[16]}],[0,"sss-header-section",{"currentPage":[1,"current-page"]}],[4,"stencil-route-link",{"url":[1],"urlMatch":[1,"url-match"],"activeClass":[1,"active-class"],"exact":[4],"strict":[4],"custom":[1],"anchorClass":[1,"anchor-class"],"anchorRole":[1,"anchor-role"],"anchorTitle":[1,"anchor-title"],"anchorTabIndex":[1,"anchor-tab-index"],"anchorId":[1,"anchor-id"],"history":[16],"location":[16],"root":[1],"ariaHaspopup":[1,"aria-haspopup"],"ariaPosinset":[1,"aria-posinset"],"ariaSetsize":[2,"aria-setsize"],"ariaLabel":[1,"aria-label"],"match":[32]}],[4,"sss-button",{"fillWidth":[4,"fill-width"],"fillWidthOnMobile":[4,"fill-width-on-mobile"],"disabled":[4],"variant":[1],"promiseFn":[16],"state":[32]}],[0,"sss-loading-indicator",{"theme":[1],"size":[2]}],[0,"stencil-route",{"group":[513],"componentUpdated":[16],"match":[1040],"url":[1],"component":[1],"componentProps":[16],"exact":[4],"routeRender":[16],"scrollTopOffset":[2,"scroll-top-offset"],"routeViewsUpdated":[16],"location":[16],"history":[16],"historyType":[1,"history-type"]}]]]], options);
|
|
20
|
+
return index.bootstrapLazy([["context-consumer.cjs",[[0,"context-consumer",{"context":[16],"renderer":[16],"subscribe":[16],"unsubscribe":[32]}]]],["stencil-async-content.cjs",[[0,"stencil-async-content",{"documentLocation":[1,"document-location"],"content":[32]}]]],["stencil-route-title.cjs",[[0,"stencil-route-title",{"titleSuffix":[1,"title-suffix"],"pageTitle":[1,"page-title"]}]]],["stencil-router-prompt.cjs",[[0,"stencil-router-prompt",{"when":[4],"message":[1],"history":[16],"unblock":[32]}]]],["stencil-router-redirect.cjs",[[0,"stencil-router-redirect",{"history":[16],"root":[1],"url":[1]}]]],["sss-button_30.cjs",[[0,"sss-my-own-fund",{"history":[16],"formState":[32],"isNotAllInformationProvidedMessageVisible":[32],"isSubmitDisabled":[32]}],[0,"sss-self-managed-fund",{"history":[16],"formState":[32],"showSmsfNotSupported":[32],"isSubmitDisabled":[32]}],[0,"sss-super-choice-page",{"history":[16],"promotedFunds":[32]}],[1,"super-selection-app-host",{"sessionState":[32],"jwt":[32],"appConfiguration":[32]}],[0,"sss-default-fund",{"history":[16],"defaultFundProductName":[32]}],[0,"sss-standard-choice-form",{"history":[16],"standardChoiceFormSignature":[32],"formState":[32],"isSubmitDisabled":[32]}],[0,"sss-consent-page",{"history":[16]}],[0,"sss-existing-choice-page",{"history":[16],"existingFund":[32]}],[0,"sss-promoted-fund-join-v1-page",{"history":[16]}],[0,"sss-promoted-fund-join-v2-page",{"history":[16]}],[0,"sss-slate-join-page",{"history":[16]}],[0,"sss-success"],[1,"super-selection-app",{"accessToken":[1,"access-token"],"backendUrl":[1,"backend-url"],"appBaseUrl":[1,"app-base-url"],"history":[16],"location":[16],"isSelfHosted":[4,"is-self-hosted"],"isAppInitialised":[32]}],[0,"sss-my-own-fund-inputs",{"myOwnFundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"selectedOption":[32]}],[0,"sss-smsf-not-supported-dialog"],[0,"sss-super-choice-item-bottom",{"disclaimer":[16],"abnInfo":[1,"abn-info"],"abn":[1]}],[0,"sss-loading-page"],[0,"sss-self-managed-fund-inputs",{"fundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"isAbnValid":[32],"isAbnTouched":[32],"currentBank":[32],"addressErrorMessage":[32]}],[0,"sss-super-choice-item-top",{"name":[1],"logo":[1],"features":[1],"featureSubText":[1,"feature-sub-text"]}],[0,"sss-dropdown-async",{"placeholder":[1],"searchFunction":[16],"value":[16],"required":[4],"requiredValidationMessage":[1,"required-validation-message"],"disabled":[4],"minSearchStringLength":[2,"min-search-string-length"],"showValidationErrors":[4,"show-validation-errors"],"searchState":[32],"inputValue":[32],"isDropdownVisible":[32],"filteredOptions":[32],"highlightedOptionIndex":[32],"selectedOption":[32]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"],[2,"keydown","handleKeyDown"]]],[0,"sss-footer-section"],[4,"stencil-route-switch",{"group":[513],"scrollTopOffset":[2,"scroll-top-offset"],"location":[16],"routeViewsUpdated":[16]}],[4,"stencil-router",{"root":[1],"historyType":[1,"history-type"],"titleSuffix":[1,"title-suffix"],"scrollTopOffset":[2,"scroll-top-offset"],"location":[32],"history":[32]}],[4,"sss-custom-fund",{"history":[16],"currentCustomFund":[32],"fundOptionsList":[32],"showFundOptionsSelection":[32]}],[0,"sss-iframe-host",{"build":[16]}],[0,"sss-header-section",{"currentPage":[1,"current-page"]}],[4,"stencil-route-link",{"url":[1],"urlMatch":[1,"url-match"],"activeClass":[1,"active-class"],"exact":[4],"strict":[4],"custom":[1],"anchorClass":[1,"anchor-class"],"anchorRole":[1,"anchor-role"],"anchorTitle":[1,"anchor-title"],"anchorTabIndex":[1,"anchor-tab-index"],"anchorId":[1,"anchor-id"],"history":[16],"location":[16],"root":[1],"ariaHaspopup":[1,"aria-haspopup"],"ariaPosinset":[1,"aria-posinset"],"ariaSetsize":[2,"aria-setsize"],"ariaLabel":[1,"aria-label"],"match":[32]}],[4,"sss-button",{"fillWidth":[4,"fill-width"],"fillWidthOnMobile":[4,"fill-width-on-mobile"],"disabled":[4],"variant":[1],"promiseFn":[16],"state":[32]}],[0,"sss-loading-indicator",{"theme":[1],"size":[2]}],[0,"stencil-route",{"group":[513],"componentUpdated":[16],"match":[1040],"url":[1],"component":[1],"componentProps":[16],"exact":[4],"routeRender":[16],"scrollTopOffset":[2,"scroll-top-offset"],"routeViewsUpdated":[16],"location":[16],"history":[16],"historyType":[1,"history-type"]}]]]], options);
|
|
21
21
|
});
|
|
22
22
|
};
|
|
23
23
|
|
|
@@ -264,7 +264,7 @@ class TapSubscriber extends datoramaAkita.Subscriber {
|
|
|
264
264
|
}
|
|
265
265
|
}
|
|
266
266
|
|
|
267
|
-
const AppVersion = '3.
|
|
267
|
+
const AppVersion = '3.64.64582';
|
|
268
268
|
|
|
269
269
|
// -------------------------------------------------------------------------------------
|
|
270
270
|
// guards
|
|
@@ -4721,11 +4721,24 @@ const PromotedFundJoinV2Page = class {
|
|
|
4721
4721
|
}
|
|
4722
4722
|
};
|
|
4723
4723
|
|
|
4724
|
+
function validateAbn(abn) {
|
|
4725
|
+
const digitArray = abn.split('').map(Number);
|
|
4726
|
+
const isAllDigits = digitArray.every((d) => !isNaN(d));
|
|
4727
|
+
const weightingFactors = [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19];
|
|
4728
|
+
if (!isAllDigits || digitArray.length !== weightingFactors.length) {
|
|
4729
|
+
return false;
|
|
4730
|
+
}
|
|
4731
|
+
digitArray[0]--;
|
|
4732
|
+
const sum = digitArray.reduce((sum, digit, i) => sum + digit * weightingFactors[i], 0);
|
|
4733
|
+
return sum % 89 === 0;
|
|
4734
|
+
}
|
|
4735
|
+
|
|
4724
4736
|
const SelfManagedFund = class {
|
|
4725
4737
|
constructor(hostRef) {
|
|
4726
4738
|
index.registerInstance(this, hostRef);
|
|
4727
4739
|
this.showSmsfNotSupported = false;
|
|
4728
4740
|
this.isSubmitDisabled = true;
|
|
4741
|
+
this.isAbnValid = validateAbn(state$1.selfManagedFundForm.fundAbn);
|
|
4729
4742
|
this.eventTrackingService = EventTrackingService.Instance;
|
|
4730
4743
|
this.success = () => {
|
|
4731
4744
|
navigationService.navigateInternallyToStandardChoice({
|
|
@@ -4756,6 +4769,7 @@ const SelfManagedFund = class {
|
|
|
4756
4769
|
};
|
|
4757
4770
|
}
|
|
4758
4771
|
componentDidLoad() {
|
|
4772
|
+
this.updateIsSubmitDisabled();
|
|
4759
4773
|
return this.eventTrackingService.TrackSmsfSuperFundDetailViewedAsync({
|
|
4760
4774
|
promotedFundsShown: superSelectionAppService.promotedFunds
|
|
4761
4775
|
});
|
|
@@ -4763,14 +4777,22 @@ const SelfManagedFund = class {
|
|
|
4763
4777
|
render() {
|
|
4764
4778
|
return (index.h(index.Host, null, index.h("sss-header-section", { currentPage: "own-fund" }), index.h("div", { class: "flex justify-center mt-11" }, index.h("sss-custom-fund", null, index.h("form", { noValidate: true, onSubmit: (ev) => ev.preventDefault(), class: {
|
|
4765
4779
|
'was-validated': this.formState === 'validated'
|
|
4766
|
-
}, ref: (el) => (this.formElement = el)
|
|
4780
|
+
}, ref: (el) => (this.formElement = el) }, index.h("div", { class: "p-4 sm:p-6 border shadow-sm rounded-lg max-w-560" }, index.h("p", { class: "sm:text-lg font-bold" }, "Fund details"), index.h("div", { class: "bg-yellow-50 border-l-4 border-yellow-400 p-4 my-3" }, index.h("div", { class: "flex" }, index.h("div", { class: "flex-shrink-0" }, index.h("img", { class: "h-5 w-5", src: index.getAssetPath('assets/icon-exclamation.svg') })), index.h("div", { class: "ml-3 text-sm text-yellow-700 leading-5" }, "Make sure your Self-managed super fund (SMSF) is a registered fund before completing this step."))), index.h("sss-self-managed-fund-inputs", { fundForm: state$1.selfManagedFundForm, showValidationErrors: this.formState === 'validated', onFormChanged: (event) => {
|
|
4767
4781
|
state$1.selfManagedFundForm = Object.assign(Object.assign({}, state$1.selfManagedFundForm), event.detail);
|
|
4768
|
-
|
|
4782
|
+
if (event.detail.isAbnValid !== undefined)
|
|
4783
|
+
this.isAbnValid = event.detail.isAbnValid;
|
|
4784
|
+
this.updateIsSubmitDisabled();
|
|
4785
|
+
} })), index.h("div", { class: "flex justify-center mt-8" }, index.h("div", { class: "sm:max-w-320 w-full" }, index.h("div", { class: "mb-4", onClick:
|
|
4786
|
+
// user clicks on disabled button (div wrapper) then validation errors will show
|
|
4787
|
+
() => (this.formState = 'validated') }, index.h("sss-button", { fillWidth: true, promiseFn: () => this.handleSubmitForm(), disabled: this.isSubmitDisabled }, "Continue")), index.h("stencil-route-link", { url: SuperSelectionAppRoutes.ChoicePage }, index.h("sss-button", { fillWidth: true, variant: "secondary" }, "Back")))), this.showSmsfNotSupported && (index.h("sss-smsf-not-supported-dialog", { ref: (el) => (this.notSupportedDialog = el), onContinue: this.success })))))));
|
|
4769
4788
|
}
|
|
4770
4789
|
componentDidRender() {
|
|
4771
4790
|
var _a;
|
|
4772
4791
|
this.showSmsfNotSupported && ((_a = this.notSupportedDialog) === null || _a === void 0 ? void 0 : _a.scrollIntoView());
|
|
4773
4792
|
}
|
|
4793
|
+
updateIsSubmitDisabled() {
|
|
4794
|
+
this.isSubmitDisabled = !this.formElement.checkValidity() || !this.isAbnValid;
|
|
4795
|
+
}
|
|
4774
4796
|
async handleSubmitForm() {
|
|
4775
4797
|
this.formState = 'validated';
|
|
4776
4798
|
if (this.formElement.checkValidity()) {
|
|
@@ -4901,6 +4923,8 @@ const SelfManagedFundInputs = class {
|
|
|
4901
4923
|
constructor(hostRef) {
|
|
4902
4924
|
index.registerInstance(this, hostRef);
|
|
4903
4925
|
this.formChanged = index.createEvent(this, "formChanged", 7);
|
|
4926
|
+
this.isAbnValid = false;
|
|
4927
|
+
this.isAbnTouched = false;
|
|
4904
4928
|
this.currentBank = none;
|
|
4905
4929
|
this.addressErrorMessage = none;
|
|
4906
4930
|
this.stateOptions = [
|
|
@@ -4922,19 +4946,23 @@ const SelfManagedFundInputs = class {
|
|
|
4922
4946
|
'invalid:border-red-300 invalid:text-red-900 invalid:placeholder-red-300 invalid:focus:ring-red-500 invalid:focus:border-red-500': this
|
|
4923
4947
|
.showValidationErrors
|
|
4924
4948
|
};
|
|
4925
|
-
return (index.h("div", null, index.h("div", null, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund name"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundName", id: "fundName", value: state$1.selfManagedFundForm.fundName, onChange: (ev) => this.updateFormField('fundName', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund name"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund ABN"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundAbn", id: "fundAbn", value: state$1.selfManagedFundForm.fundAbn,
|
|
4949
|
+
return (index.h("div", null, index.h("div", null, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund name"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundName", id: "fundName", value: state$1.selfManagedFundForm.fundName, onChange: (ev) => this.updateFormField('fundName', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund name"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund ABN"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundAbn", id: "fundAbn", value: state$1.selfManagedFundForm.fundAbn, inputmode: "numeric", pattern: "[0-9]*", onKeyUp: (ev) => {
|
|
4950
|
+
this.updateFormField('fundAbn', ev.target.value.trim());
|
|
4951
|
+
this.isAbnValid = validateAbn(ev.target.value);
|
|
4952
|
+
this.updateFormField('isAbnValid', this.isAbnValid);
|
|
4953
|
+
}, onBlur: () => (this.isAbnTouched = true) }), (this.isAbnTouched || this.showValidationErrors) && !this.isAbnValid && (index.h("div", { class: "mt-2 text-sm text-red-600" }, "Enter a valid fund ABN (digits only)")))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Electronic service address alias (ESA)"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundEsa", id: "fundEsa", value: state$1.selfManagedFundForm.fundEsa, onChange: (ev) => this.updateFormField('fundEsa', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund ESA"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Fund address"), index.h("div", { class: "mt-1 rounded-md shadow-sm -space-y-px" }, index.h("input", { placeholder: "Address line 1", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-t-md shadow-none': true }), required: true, minlength: "2", name: "addressLine1", id: "addressLine1", value: state$1.selfManagedFundForm.addressLine1, onChange: (ev) => {
|
|
4926
4954
|
this.updateFormField('addressLine1', ev.target.value.trim());
|
|
4927
4955
|
this.updateAddressErrorMessage();
|
|
4928
4956
|
}, ref: (el) => (this.addressLine1Element = el) }), index.h("input", { placeholder: "Address line 2 (optional)", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none shadow-none': true }), name: "addressLine2", id: "addressLine2", value: state$1.selfManagedFundForm.addressLine2, onChange: (ev) => this.updateFormField('addressLine2', ev.target.value.trim()) }), index.h("input", { placeholder: "City/suburb", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none shadow-none': true }), name: "city", required: true, id: "city", value: state$1.selfManagedFundForm.city, onChange: (ev) => {
|
|
4929
4957
|
this.updateFormField('city', ev.target.value.trim());
|
|
4930
4958
|
this.updateAddressErrorMessage();
|
|
4931
|
-
}, ref: (el) => (this.cityElement = el) }), index.h("div", { class: "flex -space-x-px" }, index.h("div", { class: "w-1/2 flex-1 min-w-0" }, index.h("input", { placeholder: "Postcode", type: "text", required: true, class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-bl-md shadow-none': true }), name: "postcode", minlength: "4", maxlength: "4", pattern: "[0-9]{4}", id: "postcode", value: state$1.selfManagedFundForm.postcode, onChange: (ev) => {
|
|
4959
|
+
}, ref: (el) => (this.cityElement = el) }), index.h("div", { class: "flex -space-x-px" }, index.h("div", { class: "w-1/2 flex-1 min-w-0" }, index.h("input", { placeholder: "Postcode", type: "text", required: true, class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-bl-md shadow-none': true }), name: "postcode", minlength: "4", maxlength: "4", pattern: "[0-9]{4}", id: "postcode", value: state$1.selfManagedFundForm.postcode, inputmode: "numeric", onChange: (ev) => {
|
|
4932
4960
|
this.updateFormField('postcode', ev.target.value.trim());
|
|
4933
4961
|
this.updateAddressErrorMessage();
|
|
4934
4962
|
}, ref: (el) => (this.postcodeElement = el) })), index.h("div", { class: "flex-1 min-w-0" }, index.h("select", { class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-br-md shadow-none': true, 'text-gray-500': this.fundForm.state !== undefined }), name: "state", required: true, id: "state", onChange: (ev) => {
|
|
4935
4963
|
this.updateFormField('state', ev.target.value.trim());
|
|
4936
4964
|
this.updateAddressErrorMessage();
|
|
4937
|
-
}, ref: (el) => (this.stateElement = el) }, index.h("option", { disabled: true, selected: this.fundForm.state !== undefined, value: "" }, "State"), this.stateOptions.map((s) => (index.h("option", { value: s.value, selected: this.fundForm.state === s.value }, s.label))))))), isSome(this.addressErrorMessage) && this.showValidationErrors && (index.h("div", { class: "mt-2 text-sm text-red-600" }, this.addressErrorMessage.value))), index.h("h3", { class: "text-lg font-bold mt-6" }, "Fund bank details"), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Account name"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bankAccountName", minlength: "2", id: "bankAccountName", value: state$1.selfManagedFundForm.bankAccountName, onChange: (ev) => this.updateFormField('bankAccountName', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account name"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "BSB"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bsb", id: "bsb", minlength: "6", maxlength: "7", onKeyUp: (ev) => this.updateCurrentBank(ev), pattern: this.bsbRegex.source, value: state$1.selfManagedFundForm.bsb }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid BSB"))), isSome(this.currentBank) && (index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Bank name"), index.h("div", { class: "mt-1 shadow-sm px-3 py-2 rounded-md border border-gray-300 bg-gray-50 text-gray-500 text-sm" }, this.currentBank.value))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Account number"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bankAccountNumber", id: "bankAccountNumber", minlength: "2", maxlength: "11", pattern: this.bankAccountNumberRegex.source, value: state$1.selfManagedFundForm.bankAccountNumber, onKeyUp: (ev) => this.updateCurrentBankAccountNumber(ev), onChange: (ev) => this.updateFormField('bankAccountNumber', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account number")))));
|
|
4965
|
+
}, ref: (el) => (this.stateElement = el) }, index.h("option", { disabled: true, selected: this.fundForm.state !== undefined, value: "" }, "State"), this.stateOptions.map((s) => (index.h("option", { value: s.value, selected: this.fundForm.state === s.value }, s.label))))))), isSome(this.addressErrorMessage) && this.showValidationErrors && (index.h("div", { class: "mt-2 text-sm text-red-600" }, this.addressErrorMessage.value))), index.h("h3", { class: "text-lg font-bold mt-6" }, "Fund bank details"), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Account name"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bankAccountName", minlength: "2", id: "bankAccountName", value: state$1.selfManagedFundForm.bankAccountName, onChange: (ev) => this.updateFormField('bankAccountName', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account name"))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "BSB"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bsb", id: "bsb", minlength: "6", maxlength: "7", inputmode: "numeric", onKeyUp: (ev) => this.updateCurrentBank(ev), pattern: this.bsbRegex.source, value: state$1.selfManagedFundForm.bsb }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid BSB"))), isSome(this.currentBank) && (index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Bank name"), index.h("div", { class: "mt-1 shadow-sm px-3 py-2 rounded-md border border-gray-300 bg-gray-50 text-gray-500 text-sm" }, this.currentBank.value))), index.h("div", { class: "mt-3" }, index.h("label", { class: "text-sm font-medium text-gray-700" }, "Account number"), index.h("div", { class: "mt-1" }, index.h("input", { type: "text", required: true, class: inputClass, name: "bankAccountNumber", id: "bankAccountNumber", minlength: "2", maxlength: "11", pattern: this.bankAccountNumberRegex.source, inputmode: "numeric", value: state$1.selfManagedFundForm.bankAccountNumber, onKeyUp: (ev) => this.updateCurrentBankAccountNumber(ev), onChange: (ev) => this.updateFormField('bankAccountNumber', ev.target.value.trim()) }), index.h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account number")))));
|
|
4938
4966
|
}
|
|
4939
4967
|
updateFormField(key, value) {
|
|
4940
4968
|
this.formChanged.emit({ [key]: value });
|
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
"entries": [
|
|
3
3
|
"./components/super-selection-app/misc/button.js",
|
|
4
4
|
"./components/super-selection-app/misc/dropdown-async.js",
|
|
5
|
+
"./components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund-inputs.js",
|
|
5
6
|
"./components/super-selection-app/super-selection-app.js",
|
|
6
7
|
"./components/app-host/loading-page.js",
|
|
7
8
|
"./components/app-host/super-selection-app-host.js",
|
|
@@ -13,7 +14,6 @@
|
|
|
13
14
|
"./components/super-selection-app/funds/custom-fund/default-fund/default-fund.js",
|
|
14
15
|
"./components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund-inputs.js",
|
|
15
16
|
"./components/super-selection-app/funds/custom-fund/my-own-fund/my-own-fund.js",
|
|
16
|
-
"./components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund-inputs.js",
|
|
17
17
|
"./components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-fund.js",
|
|
18
18
|
"./components/super-selection-app/funds/custom-fund/self-managed-fund/self-managed-not-supported.js",
|
|
19
19
|
"./components/super-selection-app/funds/promoted-fund/promoted-fund-join-v1-page.js",
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export function validateAbn(abn) {
|
|
2
|
+
const digitArray = abn.split('').map(Number);
|
|
3
|
+
const isAllDigits = digitArray.every((d) => !isNaN(d));
|
|
4
|
+
const weightingFactors = [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19];
|
|
5
|
+
if (!isAllDigits || digitArray.length !== weightingFactors.length) {
|
|
6
|
+
return false;
|
|
7
|
+
}
|
|
8
|
+
digitArray[0]--;
|
|
9
|
+
const sum = digitArray.reduce((sum, digit, i) => sum + digit * weightingFactors[i], 0);
|
|
10
|
+
return sum % 89 === 0;
|
|
11
|
+
}
|
|
@@ -1,9 +1,12 @@
|
|
|
1
1
|
import { Component, Event, h, Prop, State } from '@stencil/core';
|
|
2
2
|
import { isNone, isSome, none, some } from 'fp-ts/Option';
|
|
3
3
|
import customFundState from '../custom-fund.store';
|
|
4
|
+
import { validateAbn } from './abn-validation';
|
|
4
5
|
import bsbNumbers from './bankBsbNumbers';
|
|
5
6
|
export class SelfManagedFundInputs {
|
|
6
7
|
constructor() {
|
|
8
|
+
this.isAbnValid = false;
|
|
9
|
+
this.isAbnTouched = false;
|
|
7
10
|
this.currentBank = none;
|
|
8
11
|
this.addressErrorMessage = none;
|
|
9
12
|
this.stateOptions = [
|
|
@@ -34,8 +37,12 @@ export class SelfManagedFundInputs {
|
|
|
34
37
|
h("div", { class: "mt-3" },
|
|
35
38
|
h("label", { class: "text-sm font-medium text-gray-700" }, "Fund ABN"),
|
|
36
39
|
h("div", { class: "mt-1" },
|
|
37
|
-
h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundAbn", id: "fundAbn", value: customFundState.selfManagedFundForm.fundAbn,
|
|
38
|
-
|
|
40
|
+
h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundAbn", id: "fundAbn", value: customFundState.selfManagedFundForm.fundAbn, inputmode: "numeric", pattern: "[0-9]*", onKeyUp: (ev) => {
|
|
41
|
+
this.updateFormField('fundAbn', ev.target.value.trim());
|
|
42
|
+
this.isAbnValid = validateAbn(ev.target.value);
|
|
43
|
+
this.updateFormField('isAbnValid', this.isAbnValid);
|
|
44
|
+
}, onBlur: () => (this.isAbnTouched = true) }),
|
|
45
|
+
(this.isAbnTouched || this.showValidationErrors) && !this.isAbnValid && (h("div", { class: "mt-2 text-sm text-red-600" }, "Enter a valid fund ABN (digits only)")))),
|
|
39
46
|
h("div", { class: "mt-3" },
|
|
40
47
|
h("label", { class: "text-sm font-medium text-gray-700" }, "Electronic service address alias (ESA)"),
|
|
41
48
|
h("div", { class: "mt-1" },
|
|
@@ -55,7 +62,7 @@ export class SelfManagedFundInputs {
|
|
|
55
62
|
}, ref: (el) => (this.cityElement = el) }),
|
|
56
63
|
h("div", { class: "flex -space-x-px" },
|
|
57
64
|
h("div", { class: "w-1/2 flex-1 min-w-0" },
|
|
58
|
-
h("input", { placeholder: "Postcode", type: "text", required: true, class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-bl-md shadow-none': true }), name: "postcode", minlength: "4", maxlength: "4", pattern: "[0-9]{4}", id: "postcode", value: customFundState.selfManagedFundForm.postcode, onChange: (ev) => {
|
|
65
|
+
h("input", { placeholder: "Postcode", type: "text", required: true, class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-bl-md shadow-none': true }), name: "postcode", minlength: "4", maxlength: "4", pattern: "[0-9]{4}", id: "postcode", value: customFundState.selfManagedFundForm.postcode, inputmode: "numeric", onChange: (ev) => {
|
|
59
66
|
this.updateFormField('postcode', ev.target.value.trim());
|
|
60
67
|
this.updateAddressErrorMessage();
|
|
61
68
|
}, ref: (el) => (this.postcodeElement = el) })),
|
|
@@ -76,7 +83,7 @@ export class SelfManagedFundInputs {
|
|
|
76
83
|
h("div", { class: "mt-3" },
|
|
77
84
|
h("label", { class: "text-sm font-medium text-gray-700" }, "BSB"),
|
|
78
85
|
h("div", { class: "mt-1" },
|
|
79
|
-
h("input", { type: "text", required: true, class: inputClass, name: "bsb", id: "bsb", minlength: "6", maxlength: "7", onKeyUp: (ev) => this.updateCurrentBank(ev), pattern: this.bsbRegex.source, value: customFundState.selfManagedFundForm.bsb }),
|
|
86
|
+
h("input", { type: "text", required: true, class: inputClass, name: "bsb", id: "bsb", minlength: "6", maxlength: "7", inputmode: "numeric", onKeyUp: (ev) => this.updateCurrentBank(ev), pattern: this.bsbRegex.source, value: customFundState.selfManagedFundForm.bsb }),
|
|
80
87
|
h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid BSB"))),
|
|
81
88
|
isSome(this.currentBank) && (h("div", { class: "mt-3" },
|
|
82
89
|
h("label", { class: "text-sm font-medium text-gray-700" }, "Bank name"),
|
|
@@ -84,7 +91,7 @@ export class SelfManagedFundInputs {
|
|
|
84
91
|
h("div", { class: "mt-3" },
|
|
85
92
|
h("label", { class: "text-sm font-medium text-gray-700" }, "Account number"),
|
|
86
93
|
h("div", { class: "mt-1" },
|
|
87
|
-
h("input", { type: "text", required: true, class: inputClass, name: "bankAccountNumber", id: "bankAccountNumber", minlength: "2", maxlength: "11", pattern: this.bankAccountNumberRegex.source, value: customFundState.selfManagedFundForm.bankAccountNumber, onKeyUp: (ev) => this.updateCurrentBankAccountNumber(ev), onChange: (ev) => this.updateFormField('bankAccountNumber', ev.target.value.trim()) }),
|
|
94
|
+
h("input", { type: "text", required: true, class: inputClass, name: "bankAccountNumber", id: "bankAccountNumber", minlength: "2", maxlength: "11", pattern: this.bankAccountNumberRegex.source, inputmode: "numeric", value: customFundState.selfManagedFundForm.bankAccountNumber, onKeyUp: (ev) => this.updateCurrentBankAccountNumber(ev), onChange: (ev) => this.updateFormField('bankAccountNumber', ev.target.value.trim()) }),
|
|
88
95
|
h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account number")))));
|
|
89
96
|
}
|
|
90
97
|
updateFormField(key, value) {
|
|
@@ -171,6 +178,8 @@ export class SelfManagedFundInputs {
|
|
|
171
178
|
}
|
|
172
179
|
}; }
|
|
173
180
|
static get states() { return {
|
|
181
|
+
"isAbnValid": {},
|
|
182
|
+
"isAbnTouched": {},
|
|
174
183
|
"currentBank": {},
|
|
175
184
|
"addressErrorMessage": {}
|
|
176
185
|
}; }
|
|
@@ -185,15 +194,14 @@ export class SelfManagedFundInputs {
|
|
|
185
194
|
"text": ""
|
|
186
195
|
},
|
|
187
196
|
"complexType": {
|
|
188
|
-
"original": "Partial<
|
|
189
|
-
"resolved": "{ fundName?: string | undefined; fundAbn?: string | undefined; fundEsa?: string | undefined; addressLine1?: string | undefined; addressLine2?: string | undefined; state?: string | undefined; postcode?: string | undefined; city?: string | undefined; bankAccountName?: string | undefined; bsb?: string | undefined; bankAccountNumber?: string | undefined; }",
|
|
197
|
+
"original": "Partial<FormChangedEvent>",
|
|
198
|
+
"resolved": "{ isAbnValid?: boolean | undefined; fundName?: string | undefined; fundAbn?: string | undefined; fundEsa?: string | undefined; addressLine1?: string | undefined; addressLine2?: string | undefined; state?: string | undefined; postcode?: string | undefined; city?: string | undefined; bankAccountName?: string | undefined; bsb?: string | undefined; bankAccountNumber?: string | undefined; }",
|
|
190
199
|
"references": {
|
|
191
200
|
"Partial": {
|
|
192
201
|
"location": "global"
|
|
193
202
|
},
|
|
194
|
-
"
|
|
195
|
-
"location": "
|
|
196
|
-
"path": "./self-managed-fund.form"
|
|
203
|
+
"FormChangedEvent": {
|
|
204
|
+
"location": "local"
|
|
197
205
|
}
|
|
198
206
|
}
|
|
199
207
|
}
|
|
@@ -6,10 +6,12 @@ import { SuperSelectionAppRoutes } from '../../../services/super-selection-app.r
|
|
|
6
6
|
import superSelectionAppService from '../../../services/super-selection-app.service';
|
|
7
7
|
import customFundChoiceApi from '../api/custom-fund-choice.api';
|
|
8
8
|
import customFundState from '../custom-fund.store';
|
|
9
|
+
import { validateAbn } from './abn-validation';
|
|
9
10
|
export class SelfManagedFund {
|
|
10
11
|
constructor() {
|
|
11
12
|
this.showSmsfNotSupported = false;
|
|
12
13
|
this.isSubmitDisabled = true;
|
|
14
|
+
this.isAbnValid = validateAbn(customFundState.selfManagedFundForm.fundAbn);
|
|
13
15
|
this.eventTrackingService = EventTrackingService.Instance;
|
|
14
16
|
this.success = () => {
|
|
15
17
|
navigationService.navigateInternallyToStandardChoice({
|
|
@@ -40,6 +42,7 @@ export class SelfManagedFund {
|
|
|
40
42
|
};
|
|
41
43
|
}
|
|
42
44
|
componentDidLoad() {
|
|
45
|
+
this.updateIsSubmitDisabled();
|
|
43
46
|
return this.eventTrackingService.TrackSmsfSuperFundDetailViewedAsync({
|
|
44
47
|
promotedFundsShown: superSelectionAppService.promotedFunds
|
|
45
48
|
});
|
|
@@ -51,7 +54,7 @@ export class SelfManagedFund {
|
|
|
51
54
|
h("sss-custom-fund", null,
|
|
52
55
|
h("form", { noValidate: true, onSubmit: (ev) => ev.preventDefault(), class: {
|
|
53
56
|
'was-validated': this.formState === 'validated'
|
|
54
|
-
}, ref: (el) => (this.formElement = el)
|
|
57
|
+
}, ref: (el) => (this.formElement = el) },
|
|
55
58
|
h("div", { class: "p-4 sm:p-6 border shadow-sm rounded-lg max-w-560" },
|
|
56
59
|
h("p", { class: "sm:text-lg font-bold" }, "Fund details"),
|
|
57
60
|
h("div", { class: "bg-yellow-50 border-l-4 border-yellow-400 p-4 my-3" },
|
|
@@ -61,10 +64,15 @@ export class SelfManagedFund {
|
|
|
61
64
|
h("div", { class: "ml-3 text-sm text-yellow-700 leading-5" }, "Make sure your Self-managed super fund (SMSF) is a registered fund before completing this step."))),
|
|
62
65
|
h("sss-self-managed-fund-inputs", { fundForm: customFundState.selfManagedFundForm, showValidationErrors: this.formState === 'validated', onFormChanged: (event) => {
|
|
63
66
|
customFundState.selfManagedFundForm = Object.assign(Object.assign({}, customFundState.selfManagedFundForm), event.detail);
|
|
67
|
+
if (event.detail.isAbnValid !== undefined)
|
|
68
|
+
this.isAbnValid = event.detail.isAbnValid;
|
|
69
|
+
this.updateIsSubmitDisabled();
|
|
64
70
|
} })),
|
|
65
71
|
h("div", { class: "flex justify-center mt-8" },
|
|
66
72
|
h("div", { class: "sm:max-w-320 w-full" },
|
|
67
|
-
h("div", { class: "mb-4"
|
|
73
|
+
h("div", { class: "mb-4", onClick:
|
|
74
|
+
// user clicks on disabled button (div wrapper) then validation errors will show
|
|
75
|
+
() => (this.formState = 'validated') },
|
|
68
76
|
h("sss-button", { fillWidth: true, promiseFn: () => this.handleSubmitForm(), disabled: this.isSubmitDisabled }, "Continue")),
|
|
69
77
|
h("stencil-route-link", { url: SuperSelectionAppRoutes.ChoicePage },
|
|
70
78
|
h("sss-button", { fillWidth: true, variant: "secondary" }, "Back")))),
|
|
@@ -74,6 +82,9 @@ export class SelfManagedFund {
|
|
|
74
82
|
var _a;
|
|
75
83
|
this.showSmsfNotSupported && ((_a = this.notSupportedDialog) === null || _a === void 0 ? void 0 : _a.scrollIntoView());
|
|
76
84
|
}
|
|
85
|
+
updateIsSubmitDisabled() {
|
|
86
|
+
this.isSubmitDisabled = !this.formElement.checkValidity() || !this.isAbnValid;
|
|
87
|
+
}
|
|
77
88
|
async handleSubmitForm() {
|
|
78
89
|
this.formState = 'validated';
|
|
79
90
|
if (this.formElement.checkValidity()) {
|
|
@@ -16,5 +16,5 @@ const patchBrowser = () => {
|
|
|
16
16
|
|
|
17
17
|
patchBrowser().then(options => {
|
|
18
18
|
globalScripts();
|
|
19
|
-
return bootstrapLazy([["context-consumer",[[0,"context-consumer",{"context":[16],"renderer":[16],"subscribe":[16],"unsubscribe":[32]}]]],["stencil-async-content",[[0,"stencil-async-content",{"documentLocation":[1,"document-location"],"content":[32]}]]],["stencil-route-title",[[0,"stencil-route-title",{"titleSuffix":[1,"title-suffix"],"pageTitle":[1,"page-title"]}]]],["stencil-router-prompt",[[0,"stencil-router-prompt",{"when":[4],"message":[1],"history":[16],"unblock":[32]}]]],["stencil-router-redirect",[[0,"stencil-router-redirect",{"history":[16],"root":[1],"url":[1]}]]],["sss-button_30",[[0,"sss-my-own-fund",{"history":[16],"formState":[32],"isNotAllInformationProvidedMessageVisible":[32],"isSubmitDisabled":[32]}],[0,"sss-self-managed-fund",{"history":[16],"formState":[32],"showSmsfNotSupported":[32],"isSubmitDisabled":[32]}],[0,"sss-super-choice-page",{"history":[16],"promotedFunds":[32]}],[1,"super-selection-app-host",{"sessionState":[32],"jwt":[32],"appConfiguration":[32]}],[0,"sss-default-fund",{"history":[16],"defaultFundProductName":[32]}],[0,"sss-standard-choice-form",{"history":[16],"standardChoiceFormSignature":[32],"formState":[32],"isSubmitDisabled":[32]}],[0,"sss-consent-page",{"history":[16]}],[0,"sss-existing-choice-page",{"history":[16],"existingFund":[32]}],[0,"sss-promoted-fund-join-v1-page",{"history":[16]}],[0,"sss-promoted-fund-join-v2-page",{"history":[16]}],[0,"sss-slate-join-page",{"history":[16]}],[0,"sss-success"],[1,"super-selection-app",{"accessToken":[1,"access-token"],"backendUrl":[1,"backend-url"],"appBaseUrl":[1,"app-base-url"],"history":[16],"location":[16],"isSelfHosted":[4,"is-self-hosted"],"isAppInitialised":[32]}],[0,"sss-my-own-fund-inputs",{"myOwnFundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"selectedOption":[32]}],[0,"sss-smsf-not-supported-dialog"],[0,"sss-super-choice-item-bottom",{"disclaimer":[16],"abnInfo":[1,"abn-info"],"abn":[1]}],[0,"sss-loading-page"],[0,"sss-self-managed-fund-inputs",{"fundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"currentBank":[32],"addressErrorMessage":[32]}],[0,"sss-super-choice-item-top",{"name":[1],"logo":[1],"features":[1],"featureSubText":[1,"feature-sub-text"]}],[0,"sss-dropdown-async",{"placeholder":[1],"searchFunction":[16],"value":[16],"required":[4],"requiredValidationMessage":[1,"required-validation-message"],"disabled":[4],"minSearchStringLength":[2,"min-search-string-length"],"showValidationErrors":[4,"show-validation-errors"],"searchState":[32],"inputValue":[32],"isDropdownVisible":[32],"filteredOptions":[32],"highlightedOptionIndex":[32],"selectedOption":[32]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"],[2,"keydown","handleKeyDown"]]],[0,"sss-footer-section"],[4,"stencil-route-switch",{"group":[513],"scrollTopOffset":[2,"scroll-top-offset"],"location":[16],"routeViewsUpdated":[16]}],[4,"stencil-router",{"root":[1],"historyType":[1,"history-type"],"titleSuffix":[1,"title-suffix"],"scrollTopOffset":[2,"scroll-top-offset"],"location":[32],"history":[32]}],[4,"sss-custom-fund",{"history":[16],"currentCustomFund":[32],"fundOptionsList":[32],"showFundOptionsSelection":[32]}],[0,"sss-iframe-host",{"build":[16]}],[0,"sss-header-section",{"currentPage":[1,"current-page"]}],[4,"stencil-route-link",{"url":[1],"urlMatch":[1,"url-match"],"activeClass":[1,"active-class"],"exact":[4],"strict":[4],"custom":[1],"anchorClass":[1,"anchor-class"],"anchorRole":[1,"anchor-role"],"anchorTitle":[1,"anchor-title"],"anchorTabIndex":[1,"anchor-tab-index"],"anchorId":[1,"anchor-id"],"history":[16],"location":[16],"root":[1],"ariaHaspopup":[1,"aria-haspopup"],"ariaPosinset":[1,"aria-posinset"],"ariaSetsize":[2,"aria-setsize"],"ariaLabel":[1,"aria-label"],"match":[32]}],[4,"sss-button",{"fillWidth":[4,"fill-width"],"fillWidthOnMobile":[4,"fill-width-on-mobile"],"disabled":[4],"variant":[1],"promiseFn":[16],"state":[32]}],[0,"sss-loading-indicator",{"theme":[1],"size":[2]}],[0,"stencil-route",{"group":[513],"componentUpdated":[16],"match":[1040],"url":[1],"component":[1],"componentProps":[16],"exact":[4],"routeRender":[16],"scrollTopOffset":[2,"scroll-top-offset"],"routeViewsUpdated":[16],"location":[16],"history":[16],"historyType":[1,"history-type"]}]]]], options);
|
|
19
|
+
return bootstrapLazy([["context-consumer",[[0,"context-consumer",{"context":[16],"renderer":[16],"subscribe":[16],"unsubscribe":[32]}]]],["stencil-async-content",[[0,"stencil-async-content",{"documentLocation":[1,"document-location"],"content":[32]}]]],["stencil-route-title",[[0,"stencil-route-title",{"titleSuffix":[1,"title-suffix"],"pageTitle":[1,"page-title"]}]]],["stencil-router-prompt",[[0,"stencil-router-prompt",{"when":[4],"message":[1],"history":[16],"unblock":[32]}]]],["stencil-router-redirect",[[0,"stencil-router-redirect",{"history":[16],"root":[1],"url":[1]}]]],["sss-button_30",[[0,"sss-my-own-fund",{"history":[16],"formState":[32],"isNotAllInformationProvidedMessageVisible":[32],"isSubmitDisabled":[32]}],[0,"sss-self-managed-fund",{"history":[16],"formState":[32],"showSmsfNotSupported":[32],"isSubmitDisabled":[32]}],[0,"sss-super-choice-page",{"history":[16],"promotedFunds":[32]}],[1,"super-selection-app-host",{"sessionState":[32],"jwt":[32],"appConfiguration":[32]}],[0,"sss-default-fund",{"history":[16],"defaultFundProductName":[32]}],[0,"sss-standard-choice-form",{"history":[16],"standardChoiceFormSignature":[32],"formState":[32],"isSubmitDisabled":[32]}],[0,"sss-consent-page",{"history":[16]}],[0,"sss-existing-choice-page",{"history":[16],"existingFund":[32]}],[0,"sss-promoted-fund-join-v1-page",{"history":[16]}],[0,"sss-promoted-fund-join-v2-page",{"history":[16]}],[0,"sss-slate-join-page",{"history":[16]}],[0,"sss-success"],[1,"super-selection-app",{"accessToken":[1,"access-token"],"backendUrl":[1,"backend-url"],"appBaseUrl":[1,"app-base-url"],"history":[16],"location":[16],"isSelfHosted":[4,"is-self-hosted"],"isAppInitialised":[32]}],[0,"sss-my-own-fund-inputs",{"myOwnFundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"selectedOption":[32]}],[0,"sss-smsf-not-supported-dialog"],[0,"sss-super-choice-item-bottom",{"disclaimer":[16],"abnInfo":[1,"abn-info"],"abn":[1]}],[0,"sss-loading-page"],[0,"sss-self-managed-fund-inputs",{"fundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"isAbnValid":[32],"isAbnTouched":[32],"currentBank":[32],"addressErrorMessage":[32]}],[0,"sss-super-choice-item-top",{"name":[1],"logo":[1],"features":[1],"featureSubText":[1,"feature-sub-text"]}],[0,"sss-dropdown-async",{"placeholder":[1],"searchFunction":[16],"value":[16],"required":[4],"requiredValidationMessage":[1,"required-validation-message"],"disabled":[4],"minSearchStringLength":[2,"min-search-string-length"],"showValidationErrors":[4,"show-validation-errors"],"searchState":[32],"inputValue":[32],"isDropdownVisible":[32],"filteredOptions":[32],"highlightedOptionIndex":[32],"selectedOption":[32]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"],[2,"keydown","handleKeyDown"]]],[0,"sss-footer-section"],[4,"stencil-route-switch",{"group":[513],"scrollTopOffset":[2,"scroll-top-offset"],"location":[16],"routeViewsUpdated":[16]}],[4,"stencil-router",{"root":[1],"historyType":[1,"history-type"],"titleSuffix":[1,"title-suffix"],"scrollTopOffset":[2,"scroll-top-offset"],"location":[32],"history":[32]}],[4,"sss-custom-fund",{"history":[16],"currentCustomFund":[32],"fundOptionsList":[32],"showFundOptionsSelection":[32]}],[0,"sss-iframe-host",{"build":[16]}],[0,"sss-header-section",{"currentPage":[1,"current-page"]}],[4,"stencil-route-link",{"url":[1],"urlMatch":[1,"url-match"],"activeClass":[1,"active-class"],"exact":[4],"strict":[4],"custom":[1],"anchorClass":[1,"anchor-class"],"anchorRole":[1,"anchor-role"],"anchorTitle":[1,"anchor-title"],"anchorTabIndex":[1,"anchor-tab-index"],"anchorId":[1,"anchor-id"],"history":[16],"location":[16],"root":[1],"ariaHaspopup":[1,"aria-haspopup"],"ariaPosinset":[1,"aria-posinset"],"ariaSetsize":[2,"aria-setsize"],"ariaLabel":[1,"aria-label"],"match":[32]}],[4,"sss-button",{"fillWidth":[4,"fill-width"],"fillWidthOnMobile":[4,"fill-width-on-mobile"],"disabled":[4],"variant":[1],"promiseFn":[16],"state":[32]}],[0,"sss-loading-indicator",{"theme":[1],"size":[2]}],[0,"stencil-route",{"group":[513],"componentUpdated":[16],"match":[1040],"url":[1],"component":[1],"componentProps":[16],"exact":[4],"routeRender":[16],"scrollTopOffset":[2,"scroll-top-offset"],"routeViewsUpdated":[16],"location":[16],"history":[16],"historyType":[1,"history-type"]}]]]], options);
|
|
20
20
|
});
|
package/dist/lib/esm/loader.js
CHANGED
|
@@ -13,7 +13,7 @@ const defineCustomElements = (win, options) => {
|
|
|
13
13
|
if (typeof window === 'undefined') return Promise.resolve();
|
|
14
14
|
return patchEsm().then(() => {
|
|
15
15
|
globalScripts();
|
|
16
|
-
return bootstrapLazy([["context-consumer",[[0,"context-consumer",{"context":[16],"renderer":[16],"subscribe":[16],"unsubscribe":[32]}]]],["stencil-async-content",[[0,"stencil-async-content",{"documentLocation":[1,"document-location"],"content":[32]}]]],["stencil-route-title",[[0,"stencil-route-title",{"titleSuffix":[1,"title-suffix"],"pageTitle":[1,"page-title"]}]]],["stencil-router-prompt",[[0,"stencil-router-prompt",{"when":[4],"message":[1],"history":[16],"unblock":[32]}]]],["stencil-router-redirect",[[0,"stencil-router-redirect",{"history":[16],"root":[1],"url":[1]}]]],["sss-button_30",[[0,"sss-my-own-fund",{"history":[16],"formState":[32],"isNotAllInformationProvidedMessageVisible":[32],"isSubmitDisabled":[32]}],[0,"sss-self-managed-fund",{"history":[16],"formState":[32],"showSmsfNotSupported":[32],"isSubmitDisabled":[32]}],[0,"sss-super-choice-page",{"history":[16],"promotedFunds":[32]}],[1,"super-selection-app-host",{"sessionState":[32],"jwt":[32],"appConfiguration":[32]}],[0,"sss-default-fund",{"history":[16],"defaultFundProductName":[32]}],[0,"sss-standard-choice-form",{"history":[16],"standardChoiceFormSignature":[32],"formState":[32],"isSubmitDisabled":[32]}],[0,"sss-consent-page",{"history":[16]}],[0,"sss-existing-choice-page",{"history":[16],"existingFund":[32]}],[0,"sss-promoted-fund-join-v1-page",{"history":[16]}],[0,"sss-promoted-fund-join-v2-page",{"history":[16]}],[0,"sss-slate-join-page",{"history":[16]}],[0,"sss-success"],[1,"super-selection-app",{"accessToken":[1,"access-token"],"backendUrl":[1,"backend-url"],"appBaseUrl":[1,"app-base-url"],"history":[16],"location":[16],"isSelfHosted":[4,"is-self-hosted"],"isAppInitialised":[32]}],[0,"sss-my-own-fund-inputs",{"myOwnFundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"selectedOption":[32]}],[0,"sss-smsf-not-supported-dialog"],[0,"sss-super-choice-item-bottom",{"disclaimer":[16],"abnInfo":[1,"abn-info"],"abn":[1]}],[0,"sss-loading-page"],[0,"sss-self-managed-fund-inputs",{"fundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"currentBank":[32],"addressErrorMessage":[32]}],[0,"sss-super-choice-item-top",{"name":[1],"logo":[1],"features":[1],"featureSubText":[1,"feature-sub-text"]}],[0,"sss-dropdown-async",{"placeholder":[1],"searchFunction":[16],"value":[16],"required":[4],"requiredValidationMessage":[1,"required-validation-message"],"disabled":[4],"minSearchStringLength":[2,"min-search-string-length"],"showValidationErrors":[4,"show-validation-errors"],"searchState":[32],"inputValue":[32],"isDropdownVisible":[32],"filteredOptions":[32],"highlightedOptionIndex":[32],"selectedOption":[32]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"],[2,"keydown","handleKeyDown"]]],[0,"sss-footer-section"],[4,"stencil-route-switch",{"group":[513],"scrollTopOffset":[2,"scroll-top-offset"],"location":[16],"routeViewsUpdated":[16]}],[4,"stencil-router",{"root":[1],"historyType":[1,"history-type"],"titleSuffix":[1,"title-suffix"],"scrollTopOffset":[2,"scroll-top-offset"],"location":[32],"history":[32]}],[4,"sss-custom-fund",{"history":[16],"currentCustomFund":[32],"fundOptionsList":[32],"showFundOptionsSelection":[32]}],[0,"sss-iframe-host",{"build":[16]}],[0,"sss-header-section",{"currentPage":[1,"current-page"]}],[4,"stencil-route-link",{"url":[1],"urlMatch":[1,"url-match"],"activeClass":[1,"active-class"],"exact":[4],"strict":[4],"custom":[1],"anchorClass":[1,"anchor-class"],"anchorRole":[1,"anchor-role"],"anchorTitle":[1,"anchor-title"],"anchorTabIndex":[1,"anchor-tab-index"],"anchorId":[1,"anchor-id"],"history":[16],"location":[16],"root":[1],"ariaHaspopup":[1,"aria-haspopup"],"ariaPosinset":[1,"aria-posinset"],"ariaSetsize":[2,"aria-setsize"],"ariaLabel":[1,"aria-label"],"match":[32]}],[4,"sss-button",{"fillWidth":[4,"fill-width"],"fillWidthOnMobile":[4,"fill-width-on-mobile"],"disabled":[4],"variant":[1],"promiseFn":[16],"state":[32]}],[0,"sss-loading-indicator",{"theme":[1],"size":[2]}],[0,"stencil-route",{"group":[513],"componentUpdated":[16],"match":[1040],"url":[1],"component":[1],"componentProps":[16],"exact":[4],"routeRender":[16],"scrollTopOffset":[2,"scroll-top-offset"],"routeViewsUpdated":[16],"location":[16],"history":[16],"historyType":[1,"history-type"]}]]]], options);
|
|
16
|
+
return bootstrapLazy([["context-consumer",[[0,"context-consumer",{"context":[16],"renderer":[16],"subscribe":[16],"unsubscribe":[32]}]]],["stencil-async-content",[[0,"stencil-async-content",{"documentLocation":[1,"document-location"],"content":[32]}]]],["stencil-route-title",[[0,"stencil-route-title",{"titleSuffix":[1,"title-suffix"],"pageTitle":[1,"page-title"]}]]],["stencil-router-prompt",[[0,"stencil-router-prompt",{"when":[4],"message":[1],"history":[16],"unblock":[32]}]]],["stencil-router-redirect",[[0,"stencil-router-redirect",{"history":[16],"root":[1],"url":[1]}]]],["sss-button_30",[[0,"sss-my-own-fund",{"history":[16],"formState":[32],"isNotAllInformationProvidedMessageVisible":[32],"isSubmitDisabled":[32]}],[0,"sss-self-managed-fund",{"history":[16],"formState":[32],"showSmsfNotSupported":[32],"isSubmitDisabled":[32]}],[0,"sss-super-choice-page",{"history":[16],"promotedFunds":[32]}],[1,"super-selection-app-host",{"sessionState":[32],"jwt":[32],"appConfiguration":[32]}],[0,"sss-default-fund",{"history":[16],"defaultFundProductName":[32]}],[0,"sss-standard-choice-form",{"history":[16],"standardChoiceFormSignature":[32],"formState":[32],"isSubmitDisabled":[32]}],[0,"sss-consent-page",{"history":[16]}],[0,"sss-existing-choice-page",{"history":[16],"existingFund":[32]}],[0,"sss-promoted-fund-join-v1-page",{"history":[16]}],[0,"sss-promoted-fund-join-v2-page",{"history":[16]}],[0,"sss-slate-join-page",{"history":[16]}],[0,"sss-success"],[1,"super-selection-app",{"accessToken":[1,"access-token"],"backendUrl":[1,"backend-url"],"appBaseUrl":[1,"app-base-url"],"history":[16],"location":[16],"isSelfHosted":[4,"is-self-hosted"],"isAppInitialised":[32]}],[0,"sss-my-own-fund-inputs",{"myOwnFundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"selectedOption":[32]}],[0,"sss-smsf-not-supported-dialog"],[0,"sss-super-choice-item-bottom",{"disclaimer":[16],"abnInfo":[1,"abn-info"],"abn":[1]}],[0,"sss-loading-page"],[0,"sss-self-managed-fund-inputs",{"fundForm":[16],"showValidationErrors":[4,"show-validation-errors"],"isAbnValid":[32],"isAbnTouched":[32],"currentBank":[32],"addressErrorMessage":[32]}],[0,"sss-super-choice-item-top",{"name":[1],"logo":[1],"features":[1],"featureSubText":[1,"feature-sub-text"]}],[0,"sss-dropdown-async",{"placeholder":[1],"searchFunction":[16],"value":[16],"required":[4],"requiredValidationMessage":[1,"required-validation-message"],"disabled":[4],"minSearchStringLength":[2,"min-search-string-length"],"showValidationErrors":[4,"show-validation-errors"],"searchState":[32],"inputValue":[32],"isDropdownVisible":[32],"filteredOptions":[32],"highlightedOptionIndex":[32],"selectedOption":[32]},[[2,"focus","handleFocus"],[2,"blur","handleBlur"],[2,"keydown","handleKeyDown"]]],[0,"sss-footer-section"],[4,"stencil-route-switch",{"group":[513],"scrollTopOffset":[2,"scroll-top-offset"],"location":[16],"routeViewsUpdated":[16]}],[4,"stencil-router",{"root":[1],"historyType":[1,"history-type"],"titleSuffix":[1,"title-suffix"],"scrollTopOffset":[2,"scroll-top-offset"],"location":[32],"history":[32]}],[4,"sss-custom-fund",{"history":[16],"currentCustomFund":[32],"fundOptionsList":[32],"showFundOptionsSelection":[32]}],[0,"sss-iframe-host",{"build":[16]}],[0,"sss-header-section",{"currentPage":[1,"current-page"]}],[4,"stencil-route-link",{"url":[1],"urlMatch":[1,"url-match"],"activeClass":[1,"active-class"],"exact":[4],"strict":[4],"custom":[1],"anchorClass":[1,"anchor-class"],"anchorRole":[1,"anchor-role"],"anchorTitle":[1,"anchor-title"],"anchorTabIndex":[1,"anchor-tab-index"],"anchorId":[1,"anchor-id"],"history":[16],"location":[16],"root":[1],"ariaHaspopup":[1,"aria-haspopup"],"ariaPosinset":[1,"aria-posinset"],"ariaSetsize":[2,"aria-setsize"],"ariaLabel":[1,"aria-label"],"match":[32]}],[4,"sss-button",{"fillWidth":[4,"fill-width"],"fillWidthOnMobile":[4,"fill-width-on-mobile"],"disabled":[4],"variant":[1],"promiseFn":[16],"state":[32]}],[0,"sss-loading-indicator",{"theme":[1],"size":[2]}],[0,"stencil-route",{"group":[513],"componentUpdated":[16],"match":[1040],"url":[1],"component":[1],"componentProps":[16],"exact":[4],"routeRender":[16],"scrollTopOffset":[2,"scroll-top-offset"],"routeViewsUpdated":[16],"location":[16],"history":[16],"historyType":[1,"history-type"]}]]]], options);
|
|
17
17
|
});
|
|
18
18
|
};
|
|
19
19
|
|
|
@@ -260,7 +260,7 @@ class TapSubscriber extends Subscriber {
|
|
|
260
260
|
}
|
|
261
261
|
}
|
|
262
262
|
|
|
263
|
-
const AppVersion = '3.
|
|
263
|
+
const AppVersion = '3.64.64582';
|
|
264
264
|
|
|
265
265
|
// -------------------------------------------------------------------------------------
|
|
266
266
|
// guards
|
|
@@ -4717,11 +4717,24 @@ const PromotedFundJoinV2Page = class {
|
|
|
4717
4717
|
}
|
|
4718
4718
|
};
|
|
4719
4719
|
|
|
4720
|
+
function validateAbn(abn) {
|
|
4721
|
+
const digitArray = abn.split('').map(Number);
|
|
4722
|
+
const isAllDigits = digitArray.every((d) => !isNaN(d));
|
|
4723
|
+
const weightingFactors = [10, 1, 3, 5, 7, 9, 11, 13, 15, 17, 19];
|
|
4724
|
+
if (!isAllDigits || digitArray.length !== weightingFactors.length) {
|
|
4725
|
+
return false;
|
|
4726
|
+
}
|
|
4727
|
+
digitArray[0]--;
|
|
4728
|
+
const sum = digitArray.reduce((sum, digit, i) => sum + digit * weightingFactors[i], 0);
|
|
4729
|
+
return sum % 89 === 0;
|
|
4730
|
+
}
|
|
4731
|
+
|
|
4720
4732
|
const SelfManagedFund = class {
|
|
4721
4733
|
constructor(hostRef) {
|
|
4722
4734
|
registerInstance(this, hostRef);
|
|
4723
4735
|
this.showSmsfNotSupported = false;
|
|
4724
4736
|
this.isSubmitDisabled = true;
|
|
4737
|
+
this.isAbnValid = validateAbn(state$1.selfManagedFundForm.fundAbn);
|
|
4725
4738
|
this.eventTrackingService = EventTrackingService.Instance;
|
|
4726
4739
|
this.success = () => {
|
|
4727
4740
|
navigationService.navigateInternallyToStandardChoice({
|
|
@@ -4752,6 +4765,7 @@ const SelfManagedFund = class {
|
|
|
4752
4765
|
};
|
|
4753
4766
|
}
|
|
4754
4767
|
componentDidLoad() {
|
|
4768
|
+
this.updateIsSubmitDisabled();
|
|
4755
4769
|
return this.eventTrackingService.TrackSmsfSuperFundDetailViewedAsync({
|
|
4756
4770
|
promotedFundsShown: superSelectionAppService.promotedFunds
|
|
4757
4771
|
});
|
|
@@ -4759,14 +4773,22 @@ const SelfManagedFund = class {
|
|
|
4759
4773
|
render() {
|
|
4760
4774
|
return (h(Host, null, h("sss-header-section", { currentPage: "own-fund" }), h("div", { class: "flex justify-center mt-11" }, h("sss-custom-fund", null, h("form", { noValidate: true, onSubmit: (ev) => ev.preventDefault(), class: {
|
|
4761
4775
|
'was-validated': this.formState === 'validated'
|
|
4762
|
-
}, ref: (el) => (this.formElement = el)
|
|
4776
|
+
}, ref: (el) => (this.formElement = el) }, h("div", { class: "p-4 sm:p-6 border shadow-sm rounded-lg max-w-560" }, h("p", { class: "sm:text-lg font-bold" }, "Fund details"), h("div", { class: "bg-yellow-50 border-l-4 border-yellow-400 p-4 my-3" }, h("div", { class: "flex" }, h("div", { class: "flex-shrink-0" }, h("img", { class: "h-5 w-5", src: getAssetPath('assets/icon-exclamation.svg') })), h("div", { class: "ml-3 text-sm text-yellow-700 leading-5" }, "Make sure your Self-managed super fund (SMSF) is a registered fund before completing this step."))), h("sss-self-managed-fund-inputs", { fundForm: state$1.selfManagedFundForm, showValidationErrors: this.formState === 'validated', onFormChanged: (event) => {
|
|
4763
4777
|
state$1.selfManagedFundForm = Object.assign(Object.assign({}, state$1.selfManagedFundForm), event.detail);
|
|
4764
|
-
|
|
4778
|
+
if (event.detail.isAbnValid !== undefined)
|
|
4779
|
+
this.isAbnValid = event.detail.isAbnValid;
|
|
4780
|
+
this.updateIsSubmitDisabled();
|
|
4781
|
+
} })), h("div", { class: "flex justify-center mt-8" }, h("div", { class: "sm:max-w-320 w-full" }, h("div", { class: "mb-4", onClick:
|
|
4782
|
+
// user clicks on disabled button (div wrapper) then validation errors will show
|
|
4783
|
+
() => (this.formState = 'validated') }, h("sss-button", { fillWidth: true, promiseFn: () => this.handleSubmitForm(), disabled: this.isSubmitDisabled }, "Continue")), h("stencil-route-link", { url: SuperSelectionAppRoutes.ChoicePage }, h("sss-button", { fillWidth: true, variant: "secondary" }, "Back")))), this.showSmsfNotSupported && (h("sss-smsf-not-supported-dialog", { ref: (el) => (this.notSupportedDialog = el), onContinue: this.success })))))));
|
|
4765
4784
|
}
|
|
4766
4785
|
componentDidRender() {
|
|
4767
4786
|
var _a;
|
|
4768
4787
|
this.showSmsfNotSupported && ((_a = this.notSupportedDialog) === null || _a === void 0 ? void 0 : _a.scrollIntoView());
|
|
4769
4788
|
}
|
|
4789
|
+
updateIsSubmitDisabled() {
|
|
4790
|
+
this.isSubmitDisabled = !this.formElement.checkValidity() || !this.isAbnValid;
|
|
4791
|
+
}
|
|
4770
4792
|
async handleSubmitForm() {
|
|
4771
4793
|
this.formState = 'validated';
|
|
4772
4794
|
if (this.formElement.checkValidity()) {
|
|
@@ -4897,6 +4919,8 @@ const SelfManagedFundInputs = class {
|
|
|
4897
4919
|
constructor(hostRef) {
|
|
4898
4920
|
registerInstance(this, hostRef);
|
|
4899
4921
|
this.formChanged = createEvent(this, "formChanged", 7);
|
|
4922
|
+
this.isAbnValid = false;
|
|
4923
|
+
this.isAbnTouched = false;
|
|
4900
4924
|
this.currentBank = none;
|
|
4901
4925
|
this.addressErrorMessage = none;
|
|
4902
4926
|
this.stateOptions = [
|
|
@@ -4918,19 +4942,23 @@ const SelfManagedFundInputs = class {
|
|
|
4918
4942
|
'invalid:border-red-300 invalid:text-red-900 invalid:placeholder-red-300 invalid:focus:ring-red-500 invalid:focus:border-red-500': this
|
|
4919
4943
|
.showValidationErrors
|
|
4920
4944
|
};
|
|
4921
|
-
return (h("div", null, h("div", null, h("label", { class: "text-sm font-medium text-gray-700" }, "Fund name"), h("div", { class: "mt-1" }, h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundName", id: "fundName", value: state$1.selfManagedFundForm.fundName, onChange: (ev) => this.updateFormField('fundName', ev.target.value.trim()) }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund name"))), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Fund ABN"), h("div", { class: "mt-1" }, h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundAbn", id: "fundAbn", value: state$1.selfManagedFundForm.fundAbn,
|
|
4945
|
+
return (h("div", null, h("div", null, h("label", { class: "text-sm font-medium text-gray-700" }, "Fund name"), h("div", { class: "mt-1" }, h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundName", id: "fundName", value: state$1.selfManagedFundForm.fundName, onChange: (ev) => this.updateFormField('fundName', ev.target.value.trim()) }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund name"))), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Fund ABN"), h("div", { class: "mt-1" }, h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundAbn", id: "fundAbn", value: state$1.selfManagedFundForm.fundAbn, inputmode: "numeric", pattern: "[0-9]*", onKeyUp: (ev) => {
|
|
4946
|
+
this.updateFormField('fundAbn', ev.target.value.trim());
|
|
4947
|
+
this.isAbnValid = validateAbn(ev.target.value);
|
|
4948
|
+
this.updateFormField('isAbnValid', this.isAbnValid);
|
|
4949
|
+
}, onBlur: () => (this.isAbnTouched = true) }), (this.isAbnTouched || this.showValidationErrors) && !this.isAbnValid && (h("div", { class: "mt-2 text-sm text-red-600" }, "Enter a valid fund ABN (digits only)")))), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Electronic service address alias (ESA)"), h("div", { class: "mt-1" }, h("input", { type: "text", class: inputClass, required: true, minlength: "2", name: "fundEsa", id: "fundEsa", value: state$1.selfManagedFundForm.fundEsa, onChange: (ev) => this.updateFormField('fundEsa', ev.target.value.trim()) }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid fund ESA"))), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Fund address"), h("div", { class: "mt-1 rounded-md shadow-sm -space-y-px" }, h("input", { placeholder: "Address line 1", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-t-md shadow-none': true }), required: true, minlength: "2", name: "addressLine1", id: "addressLine1", value: state$1.selfManagedFundForm.addressLine1, onChange: (ev) => {
|
|
4922
4950
|
this.updateFormField('addressLine1', ev.target.value.trim());
|
|
4923
4951
|
this.updateAddressErrorMessage();
|
|
4924
4952
|
}, ref: (el) => (this.addressLine1Element = el) }), h("input", { placeholder: "Address line 2 (optional)", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none shadow-none': true }), name: "addressLine2", id: "addressLine2", value: state$1.selfManagedFundForm.addressLine2, onChange: (ev) => this.updateFormField('addressLine2', ev.target.value.trim()) }), h("input", { placeholder: "City/suburb", type: "text", class: Object.assign(Object.assign({}, inputClass), { 'rounded-none shadow-none': true }), name: "city", required: true, id: "city", value: state$1.selfManagedFundForm.city, onChange: (ev) => {
|
|
4925
4953
|
this.updateFormField('city', ev.target.value.trim());
|
|
4926
4954
|
this.updateAddressErrorMessage();
|
|
4927
|
-
}, ref: (el) => (this.cityElement = el) }), h("div", { class: "flex -space-x-px" }, h("div", { class: "w-1/2 flex-1 min-w-0" }, h("input", { placeholder: "Postcode", type: "text", required: true, class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-bl-md shadow-none': true }), name: "postcode", minlength: "4", maxlength: "4", pattern: "[0-9]{4}", id: "postcode", value: state$1.selfManagedFundForm.postcode, onChange: (ev) => {
|
|
4955
|
+
}, ref: (el) => (this.cityElement = el) }), h("div", { class: "flex -space-x-px" }, h("div", { class: "w-1/2 flex-1 min-w-0" }, h("input", { placeholder: "Postcode", type: "text", required: true, class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-bl-md shadow-none': true }), name: "postcode", minlength: "4", maxlength: "4", pattern: "[0-9]{4}", id: "postcode", value: state$1.selfManagedFundForm.postcode, inputmode: "numeric", onChange: (ev) => {
|
|
4928
4956
|
this.updateFormField('postcode', ev.target.value.trim());
|
|
4929
4957
|
this.updateAddressErrorMessage();
|
|
4930
4958
|
}, ref: (el) => (this.postcodeElement = el) })), h("div", { class: "flex-1 min-w-0" }, h("select", { class: Object.assign(Object.assign({}, inputClass), { 'rounded-none rounded-br-md shadow-none': true, 'text-gray-500': this.fundForm.state !== undefined }), name: "state", required: true, id: "state", onChange: (ev) => {
|
|
4931
4959
|
this.updateFormField('state', ev.target.value.trim());
|
|
4932
4960
|
this.updateAddressErrorMessage();
|
|
4933
|
-
}, ref: (el) => (this.stateElement = el) }, h("option", { disabled: true, selected: this.fundForm.state !== undefined, value: "" }, "State"), this.stateOptions.map((s) => (h("option", { value: s.value, selected: this.fundForm.state === s.value }, s.label))))))), isSome(this.addressErrorMessage) && this.showValidationErrors && (h("div", { class: "mt-2 text-sm text-red-600" }, this.addressErrorMessage.value))), h("h3", { class: "text-lg font-bold mt-6" }, "Fund bank details"), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Account name"), h("div", { class: "mt-1" }, h("input", { type: "text", required: true, class: inputClass, name: "bankAccountName", minlength: "2", id: "bankAccountName", value: state$1.selfManagedFundForm.bankAccountName, onChange: (ev) => this.updateFormField('bankAccountName', ev.target.value.trim()) }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account name"))), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "BSB"), h("div", { class: "mt-1" }, h("input", { type: "text", required: true, class: inputClass, name: "bsb", id: "bsb", minlength: "6", maxlength: "7", onKeyUp: (ev) => this.updateCurrentBank(ev), pattern: this.bsbRegex.source, value: state$1.selfManagedFundForm.bsb }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid BSB"))), isSome(this.currentBank) && (h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Bank name"), h("div", { class: "mt-1 shadow-sm px-3 py-2 rounded-md border border-gray-300 bg-gray-50 text-gray-500 text-sm" }, this.currentBank.value))), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Account number"), h("div", { class: "mt-1" }, h("input", { type: "text", required: true, class: inputClass, name: "bankAccountNumber", id: "bankAccountNumber", minlength: "2", maxlength: "11", pattern: this.bankAccountNumberRegex.source, value: state$1.selfManagedFundForm.bankAccountNumber, onKeyUp: (ev) => this.updateCurrentBankAccountNumber(ev), onChange: (ev) => this.updateFormField('bankAccountNumber', ev.target.value.trim()) }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account number")))));
|
|
4961
|
+
}, ref: (el) => (this.stateElement = el) }, h("option", { disabled: true, selected: this.fundForm.state !== undefined, value: "" }, "State"), this.stateOptions.map((s) => (h("option", { value: s.value, selected: this.fundForm.state === s.value }, s.label))))))), isSome(this.addressErrorMessage) && this.showValidationErrors && (h("div", { class: "mt-2 text-sm text-red-600" }, this.addressErrorMessage.value))), h("h3", { class: "text-lg font-bold mt-6" }, "Fund bank details"), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Account name"), h("div", { class: "mt-1" }, h("input", { type: "text", required: true, class: inputClass, name: "bankAccountName", minlength: "2", id: "bankAccountName", value: state$1.selfManagedFundForm.bankAccountName, onChange: (ev) => this.updateFormField('bankAccountName', ev.target.value.trim()) }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account name"))), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "BSB"), h("div", { class: "mt-1" }, h("input", { type: "text", required: true, class: inputClass, name: "bsb", id: "bsb", minlength: "6", maxlength: "7", inputmode: "numeric", onKeyUp: (ev) => this.updateCurrentBank(ev), pattern: this.bsbRegex.source, value: state$1.selfManagedFundForm.bsb }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid BSB"))), isSome(this.currentBank) && (h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Bank name"), h("div", { class: "mt-1 shadow-sm px-3 py-2 rounded-md border border-gray-300 bg-gray-50 text-gray-500 text-sm" }, this.currentBank.value))), h("div", { class: "mt-3" }, h("label", { class: "text-sm font-medium text-gray-700" }, "Account number"), h("div", { class: "mt-1" }, h("input", { type: "text", required: true, class: inputClass, name: "bankAccountNumber", id: "bankAccountNumber", minlength: "2", maxlength: "11", pattern: this.bankAccountNumberRegex.source, inputmode: "numeric", value: state$1.selfManagedFundForm.bankAccountNumber, onKeyUp: (ev) => this.updateCurrentBankAccountNumber(ev), onChange: (ev) => this.updateFormField('bankAccountNumber', ev.target.value.trim()) }), h("div", { class: "invalid-feedback mt-2 text-sm text-red-600" }, "Enter a valid bank account number")))));
|
|
4934
4962
|
}
|
|
4935
4963
|
updateFormField(key, value) {
|
|
4936
4964
|
this.formChanged.emit({ [key]: value });
|