@mychoice/mychoice-sdk-modules 2.1.88 → 2.2.1
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/cjs/index.js +254 -215
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/insurances/car/pages/quote/sections/VehicleOfferCoverage.d.ts +3 -0
- package/dist/cjs/insurances/car/pages/quote/sections/blocks/VehicleOfferCoverage.d.ts +9 -0
- package/dist/cjs/shared/headers/HeaderDesktop/BeginInsurance.d.ts +3 -0
- package/dist/cjs/shared/headers/HeaderDesktop/index.d.ts +1 -0
- package/dist/cjs/shared/headers/HeaderMobile/BeginInsurance.d.ts +3 -0
- package/dist/cjs/shared/headers/HeaderMobile/index.d.ts +1 -0
- package/dist/esm/index.js +254 -217
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/insurances/car/pages/quote/sections/VehicleOfferCoverage.d.ts +3 -0
- package/dist/esm/insurances/car/pages/quote/sections/blocks/VehicleOfferCoverage.d.ts +9 -0
- package/dist/esm/shared/headers/HeaderDesktop/BeginInsurance.d.ts +3 -0
- package/dist/esm/shared/headers/HeaderDesktop/index.d.ts +1 -0
- package/dist/esm/shared/headers/HeaderMobile/BeginInsurance.d.ts +3 -0
- package/dist/esm/shared/headers/HeaderMobile/index.d.ts +1 -0
- package/dist/index.d.ts +5 -1
- package/package.json +4 -4
package/dist/cjs/index.js
CHANGED
|
@@ -22,13 +22,11 @@ var GooglePlacesAutocomplete__default = /*#__PURE__*/_interopDefaultLegacy(Googl
|
|
|
22
22
|
var TagManager__default = /*#__PURE__*/_interopDefaultLegacy(TagManager);
|
|
23
23
|
|
|
24
24
|
const LabelFormBox = (props) => {
|
|
25
|
-
const { name, className, title, subTitle, description, isRemovable, onIconClick, isActive
|
|
26
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
25
|
+
const { name, className, title, subTitle, description, isRemovable, onIconClick, isActive } = props;
|
|
26
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
27
27
|
const isThebig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
28
|
-
const isMychoice =
|
|
29
|
-
return (jsxRuntime.jsxs("div", { className: `label-container ${className}`, children: [jsxRuntime.jsx(mychoiceSdkComponents.TitleForm, { className: isThebig ? 'thebig-medium' : '', title: title, subTitle: subTitle, isActive: isActive }),
|
|
30
|
-
&& jsxRuntime.jsx(mychoiceSdkComponents.TooltipForm, { id: `${name.toLowerCase()}-tooltip`, description: description, color: isMychoice ? '#F7C2D9' : '' }), isRemovable
|
|
31
|
-
&& (jsxRuntime.jsx(mychoiceSdkComponents.IconDelete, { className: "icon-label-delete", onClick: onIconClick, color: mychoiceSdkComponents.ColorVariablesTypes.Primary, height: "1.125rem", width: "1.125rem" }))] }));
|
|
28
|
+
const isMychoice = mychoiceSdkComponents.isMyChoiceLike(appType);
|
|
29
|
+
return (jsxRuntime.jsxs("div", { className: `label-container ${className}`, children: [jsxRuntime.jsx(mychoiceSdkComponents.TitleForm, { className: isThebig ? 'thebig-medium' : '', title: title, subTitle: subTitle, isActive: isActive }), name && description && (jsxRuntime.jsx(mychoiceSdkComponents.TooltipForm, { id: `${name.toLowerCase()}-tooltip`, description: description, color: isMychoice ? '#F7C2D9' : '' })), isRemovable && (jsxRuntime.jsx(mychoiceSdkComponents.IconDelete, { className: "icon-label-delete", onClick: onIconClick, color: mychoiceSdkComponents.ColorVariablesTypes.Primary, height: "1.125rem", width: "1.125rem" }))] }));
|
|
32
30
|
};
|
|
33
31
|
LabelFormBox.defaultProps = {
|
|
34
32
|
className: '',
|
|
@@ -119,11 +117,11 @@ DateSelectFormBox.defaultProps = {
|
|
|
119
117
|
};
|
|
120
118
|
|
|
121
119
|
const SwitchButtonBox = (props) => {
|
|
122
|
-
const { name, title, description, hintMessage, isRemovable, errorMessage, className, defaultValue, items, onChange
|
|
120
|
+
const { name, title, description, hintMessage, isRemovable, errorMessage, className, defaultValue, items, onChange } = props;
|
|
123
121
|
const [activeId, setActiveId] = React.useState(defaultValue);
|
|
124
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
122
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
125
123
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
126
|
-
const isMychoice =
|
|
124
|
+
const isMychoice = mychoiceSdkComponents.isMyChoiceLike(appType);
|
|
127
125
|
const setClassNames = (isActive) => {
|
|
128
126
|
if (isTheBig) {
|
|
129
127
|
return isActive ? 'thebig-bold' : 'thebig-regular';
|
|
@@ -233,9 +231,14 @@ const BlockVehLinks = () => {
|
|
|
233
231
|
};
|
|
234
232
|
|
|
235
233
|
const BlockNextPageInfo$2 = () => {
|
|
236
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
237
|
-
|
|
238
|
-
|
|
234
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
235
|
+
if (appType === mychoiceSdkComponents.AppTypes.TheBig) {
|
|
236
|
+
return (jsxRuntime.jsx("div", { className: "privacy-policy", children: jsxRuntime.jsxs("p", { children: [jsxRuntime.jsx("span", { children: "DISCLAIMER: " }), "As insurance premiums are based on the information you provide it is important that it be 100% accurate and up to date. If you are not sure it is best to check before completing your quote."] }) }));
|
|
237
|
+
}
|
|
238
|
+
if (appType === mychoiceSdkComponents.AppTypes.MyChoice) {
|
|
239
|
+
return (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("h5", { children: "On the next page, you will also be able to:" }), jsxRuntime.jsxs("div", { className: "next-page-points", children: [jsxRuntime.jsx("p", { children: "1. See what rates insurance carriers are offering" }), jsxRuntime.jsx("p", { children: "2. Get in touch with a broker and secure your rate" }), jsxRuntime.jsx("p", { children: "3. Potentially save more by speaking with a broker" })] }), jsxRuntime.jsx("div", { className: "privacy-policy", children: jsxRuntime.jsxs("p", { children: ["Once you submit this form, you are agreeing to have your insurance quote sent to you via email and My Choice will provide your contact information to one of our trusted broker partners, who will contact you after your quote is complete to further assist you in securing your best rate. For more details, see our", jsxRuntime.jsx("a", { href: "https://www.mychoice.ca/privacy-policy/", children: " Privacy Policy" }), "."] }) })] }));
|
|
240
|
+
}
|
|
241
|
+
return null;
|
|
239
242
|
};
|
|
240
243
|
|
|
241
244
|
const BlockSubmit$2 = ({ className, label, buttonSize, isRecalc = false, }) => {
|
|
@@ -388,8 +391,8 @@ const OfferSection = ({ offerCompany, brokerCompany, offerPrice, phoneNumber, is
|
|
|
388
391
|
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
389
392
|
const { postRequestQuoteOnliaUrl } = mychoiceSdkStore.CarQuoteDataHandler();
|
|
390
393
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
391
|
-
const isMyChoice =
|
|
392
|
-
const mychoiceCls =
|
|
394
|
+
const isMyChoice = mychoiceSdkComponents.isMyChoiceLike(appType);
|
|
395
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
393
396
|
const { weekdayHours, saturdayHours, sundayHours } = operationHours;
|
|
394
397
|
const [detailsIsOpen, setDetailsIsOpenIsOpen] = React.useState(isBestOffer ?? false);
|
|
395
398
|
const handleDropdownClick = () => {
|
|
@@ -425,66 +428,73 @@ OfferSection.defaultProps = {
|
|
|
425
428
|
isBestOffer: false,
|
|
426
429
|
};
|
|
427
430
|
|
|
428
|
-
var logo = "data:image/png;base64,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";
|
|
431
|
+
var logo$1 = "data:image/png;base64,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";
|
|
429
432
|
|
|
430
|
-
const TITLE = {
|
|
433
|
+
var logo = "data:image/png;base64,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";
|
|
434
|
+
|
|
435
|
+
const TITLE_MYCHOICE = {
|
|
431
436
|
car: 'Hello Canadian Drivers, Welcome to MyChoice!',
|
|
432
437
|
home: 'Hello Canadian Residents, Welcome to MyChoice!',
|
|
433
438
|
life: 'Hello Canadian Residents, Welcome to MyChoice!',
|
|
434
439
|
};
|
|
435
|
-
const
|
|
440
|
+
const TITLE_BEGIN = {
|
|
441
|
+
car: 'Hello Canadian Drivers, Welcome to Begin Insurance!',
|
|
442
|
+
home: 'Hello Canadian Residents, Welcome to Begin Insurance!',
|
|
443
|
+
life: 'Hello Canadian Residents, Welcome to Begin Insurance!',
|
|
444
|
+
};
|
|
445
|
+
const TEXT_MYCHOICE = {
|
|
436
446
|
car: 'Our apologies but unfortunately, we are unable to provide you with an auto insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, drive safely!',
|
|
437
447
|
home: 'Our apologies but unfortunately, we are unable to provide you with an property insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, stay safe!',
|
|
438
448
|
life: 'Our apologies, but at this time, none of our insurance partners offer any life insurance products that match the combination of your age, product type, and desired coverage amount you selected. As you shop around, it’s important to note that once you reach a certain age, life insurance options become more limited, as many providers have stricter eligibility criteria for older applicants. We encourage you to consider selecting a different product or coverage amount and try again.',
|
|
439
449
|
};
|
|
450
|
+
const TEXT_BEGIN = {
|
|
451
|
+
car: 'Our apologies but unfortunately, we are unable to provide you with an auto insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, drive safely!',
|
|
452
|
+
home: 'Our apologies but unfortunately, we are unable to provide you with an property insurance rate in your home province at this current time however we are actively working on adding partners to our platform who will be able to provide you with a rate in the near future! Please check back with us at a later date, in the meantime, stay safe!',
|
|
453
|
+
life: 'Our apologies, but at this time, none of our insurance partners offer any life insurance products that match the combination of your age, product type, and desired coverage amount you selected. As you shop around, it is important to note that once you reach a certain age, life insurance options become more limited, as many providers have stricter eligibility criteria for older applicants. We encourage you to consider selecting a different product or coverage amount and try again.',
|
|
454
|
+
};
|
|
440
455
|
const NoQuotesMessage = ({ type }) => {
|
|
441
456
|
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
442
|
-
if (
|
|
457
|
+
if (!mychoiceSdkComponents.isMyChoiceLike(appType))
|
|
443
458
|
return null;
|
|
444
|
-
|
|
459
|
+
const isBegin = appType === mychoiceSdkComponents.AppTypes.BeginInsurance;
|
|
460
|
+
const logo$2 = isBegin ? logo : logo$1;
|
|
461
|
+
const title = isBegin ? TITLE_BEGIN[type] : TITLE_MYCHOICE[type];
|
|
462
|
+
const text = isBegin ? TEXT_BEGIN[type] : TEXT_MYCHOICE[type];
|
|
463
|
+
const altText = isBegin ? 'Begin Insurance' : 'My Choice';
|
|
464
|
+
return (jsxRuntime.jsxs("div", { className: "offer-section mychoice", children: [jsxRuntime.jsx("div", { style: { width: '100%' }, children: jsxRuntime.jsx("img", { src: logo$2, alt: altText, style: { width: '120px' } }) }), jsxRuntime.jsx("p", { children: jsxRuntime.jsx("h3", { style: { whiteSpace: 'normal' }, children: title }) }), jsxRuntime.jsx("p", { style: { lineHeight: '1.25rem' }, children: text })] }));
|
|
445
465
|
};
|
|
446
466
|
|
|
447
467
|
const usePathGroups = (insuranceType) => {
|
|
448
468
|
const { appConfigState } = mychoiceSdkStore.useStoreAppConfig();
|
|
469
|
+
const { localIndex, appType } = appConfigState;
|
|
449
470
|
const insurancePathGroup = {
|
|
450
|
-
[`${mychoiceSdkComponents.InsuranceTypes.Car}`]: [{ name: 'Car', link: `/${
|
|
451
|
-
[`${mychoiceSdkComponents.InsuranceTypes.Home}`]: [{ name: 'Home', link: `/${
|
|
452
|
-
// @todo: will be used in future
|
|
453
|
-
// [`${InsuranceTypes.Life}`]: [{ name: 'Life', link: `/${appConfigState.localIndex}/life` }],
|
|
471
|
+
[`${mychoiceSdkComponents.InsuranceTypes.Car}`]: [{ name: 'Car', link: `/${localIndex}/car` }],
|
|
472
|
+
[`${mychoiceSdkComponents.InsuranceTypes.Home}`]: [{ name: 'Home', link: `/${localIndex}/home` }],
|
|
454
473
|
};
|
|
455
|
-
|
|
474
|
+
// Begin Insurance only shows Auto and Home
|
|
475
|
+
const beginInsurancePathGroup = [
|
|
476
|
+
{ name: 'Auto', link: '/insurance/car' },
|
|
477
|
+
{ name: 'Home', link: '/insurance/home' },
|
|
478
|
+
];
|
|
479
|
+
// MyChoice shows all options including Life and Learn
|
|
480
|
+
const myChoicePathGroup = [
|
|
456
481
|
{ name: 'Car', link: '/insurance/car' },
|
|
457
482
|
{ name: 'Home', link: '/insurance/home' },
|
|
458
483
|
{ name: 'Life', link: '/insurance/life' },
|
|
459
484
|
{ name: 'Learn', link: 'https://www.mychoice.ca/blog/' },
|
|
460
485
|
];
|
|
461
|
-
|
|
462
|
-
// const loggedOutPathGroup = [
|
|
463
|
-
// { name: 'Login', link: '/accounts/signin' },
|
|
464
|
-
// { name: 'Signup', link: '/accounts/signup' },
|
|
465
|
-
// ];
|
|
466
|
-
//
|
|
467
|
-
// const loggedInPathGroup = [
|
|
468
|
-
// { name: 'My Profile', link: '/accounts/myProfile' },
|
|
469
|
-
// { name: 'Quotes History', link: '/accounts/quotes/history' },
|
|
470
|
-
// { name: 'Logout', link: '/accounts/logout' },
|
|
471
|
-
// ];
|
|
486
|
+
const externalPathGroup = appType === mychoiceSdkComponents.AppTypes.BeginInsurance ? beginInsurancePathGroup : myChoicePathGroup;
|
|
472
487
|
return {
|
|
473
488
|
insurancePathGroup: insurancePathGroup[insuranceType],
|
|
474
489
|
externalPathGroup,
|
|
475
|
-
// loggedOutPathGroup,
|
|
476
|
-
// loggedInPathGroup,
|
|
477
490
|
};
|
|
478
491
|
};
|
|
479
492
|
|
|
480
|
-
const HeaderMyChoice = ({ className
|
|
493
|
+
const HeaderMyChoice = ({ className }) => {
|
|
481
494
|
const { appConfigState: { insuranceType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
482
|
-
const insuranceTypeCls = insuranceType !== mychoiceSdkComponents.InsuranceTypes.Car &&
|
|
483
|
-
insuranceType !== mychoiceSdkComponents.InsuranceTypes.Life
|
|
484
|
-
? mychoiceSdkComponents.InsuranceTypes.Home
|
|
485
|
-
: insuranceType;
|
|
495
|
+
const insuranceTypeCls = insuranceType !== mychoiceSdkComponents.InsuranceTypes.Car && insuranceType !== mychoiceSdkComponents.InsuranceTypes.Life ? mychoiceSdkComponents.InsuranceTypes.Home : insuranceType;
|
|
486
496
|
const { externalPathGroup } = usePathGroups(insuranceTypeCls);
|
|
487
|
-
return (jsxRuntime.jsx("div", { className: `${className} primary-header`, children: jsxRuntime.jsxs("div", { className: "content", children: [jsxRuntime.jsx("div", { className: "logo", children: jsxRuntime.jsx("a", { href: "https://www.mychoice.ca/", rel: "noreferrer", children: jsxRuntime.jsx("img", { src: logo, alt: "logotype" }) }) }), jsxRuntime.jsx("div", { className: "nav-links", children: jsxRuntime.jsx(mychoiceSdkComponents.HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsxRuntime.jsx("div", { className: "empty-box" })] }) }));
|
|
497
|
+
return (jsxRuntime.jsx("div", { className: `${className} primary-header`, children: jsxRuntime.jsxs("div", { className: "content", children: [jsxRuntime.jsx("div", { className: "logo", children: jsxRuntime.jsx("a", { href: "https://www.mychoice.ca/", rel: "noreferrer", children: jsxRuntime.jsx("img", { src: logo$1, alt: "logotype" }) }) }), jsxRuntime.jsx("div", { className: "nav-links", children: jsxRuntime.jsx(mychoiceSdkComponents.HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsxRuntime.jsx("div", { className: "empty-box" })] }) }));
|
|
488
498
|
};
|
|
489
499
|
HeaderMyChoice.defaultProps = {
|
|
490
500
|
className: '',
|
|
@@ -492,30 +502,53 @@ HeaderMyChoice.defaultProps = {
|
|
|
492
502
|
|
|
493
503
|
const HeaderPartner = ({ className }) => {
|
|
494
504
|
const { partnerState } = mychoiceSdkStore.useStorePartner();
|
|
495
|
-
return (jsxRuntime.jsx("div", { className: `${className} primary-header-partner`, children: jsxRuntime.jsxs("div", { className: "content", children: [jsxRuntime.jsx("a", { href: partnerState.redirectUrl || 'https://www.mychoice.ca/', target: "_blank", rel: "noreferrer", children: jsxRuntime.jsx("img", { src: partnerState.logo ||
|
|
505
|
+
return (jsxRuntime.jsx("div", { className: `${className} primary-header-partner`, children: jsxRuntime.jsxs("div", { className: "content", children: [jsxRuntime.jsx("a", { href: partnerState.redirectUrl || 'https://www.mychoice.ca/', target: "_blank", rel: "noreferrer", children: jsxRuntime.jsx("img", { src: partnerState.logo ||
|
|
506
|
+
'https://s3.amazonaws.com/mychoice-logos-dev/partners/newpartner/AE1C9160-F0AD-4969-BEBB-86EBFA7CF2E7.png', alt: "new-partner-logotype" }) }), jsxRuntime.jsx("div", {})] }) }));
|
|
496
507
|
};
|
|
497
508
|
|
|
498
509
|
var theBigLogotype = "data:image/png;base64,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";
|
|
499
510
|
|
|
500
|
-
const HeaderTheBig = ({ textBack, className
|
|
511
|
+
const HeaderTheBig = ({ textBack, className }) => (jsxRuntime.jsx("div", { className: `${className} primary-header-thebig`, children: jsxRuntime.jsxs("div", { className: "content", children: [jsxRuntime.jsx("div", { className: "logo", children: jsxRuntime.jsx("img", { src: theBigLogotype, alt: "thebig-logotype" }) }), jsxRuntime.jsx("a", { href: "https://www.thebig.ca/", target: "_blank", rel: "noreferrer", children: jsxRuntime.jsxs("div", { className: "back-button", children: [jsxRuntime.jsx("div", { className: "back-icon" }), jsxRuntime.jsx("h2", { children: textBack })] }) })] }) }));
|
|
501
512
|
HeaderTheBig.defaultProps = {
|
|
502
513
|
className: '',
|
|
503
514
|
};
|
|
504
515
|
|
|
505
|
-
const
|
|
506
|
-
const { appConfigState: { insuranceType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
516
|
+
const HeaderBeginInsurance = ({ className }) => {
|
|
517
|
+
const { appConfigState: { insuranceType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
518
|
+
const insuranceTypeCls = insuranceType !== mychoiceSdkComponents.InsuranceTypes.Car && insuranceType !== mychoiceSdkComponents.InsuranceTypes.Life ? mychoiceSdkComponents.InsuranceTypes.Home : insuranceType;
|
|
519
|
+
const { externalPathGroup } = usePathGroups(insuranceTypeCls);
|
|
520
|
+
return (jsxRuntime.jsx("div", { className: `${className} primary-header`, children: jsxRuntime.jsxs("div", { className: "content", children: [jsxRuntime.jsx("div", { className: "logo", children: jsxRuntime.jsx("a", { href: "https://www.begininsurance.com/", rel: "noreferrer", children: jsxRuntime.jsx("img", { src: logo, alt: "Begin Insurance" }) }) }), jsxRuntime.jsx("div", { className: "nav-links", children: jsxRuntime.jsx(mychoiceSdkComponents.HeaderNavGroup, { className: insuranceTypeCls, navItems: externalPathGroup, isExternal: true }) }), jsxRuntime.jsx("div", { className: "empty-box" })] }) }));
|
|
521
|
+
};
|
|
522
|
+
HeaderBeginInsurance.defaultProps = {
|
|
523
|
+
className: '',
|
|
524
|
+
};
|
|
525
|
+
|
|
526
|
+
const HeaderMyChoiceMobile = ({ className }) => {
|
|
527
|
+
const { appConfigState: { insuranceType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
507
528
|
const { externalPathGroup } = usePathGroups(insuranceType);
|
|
508
529
|
const [isMenuOpen, setIsMenuOpen] = React.useState(false);
|
|
509
530
|
const handleMenuClick = () => {
|
|
510
531
|
setIsMenuOpen(!isMenuOpen);
|
|
511
532
|
};
|
|
512
|
-
|
|
513
|
-
return (jsxRuntime.jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxRuntime.jsxs("div", { className: "content-mobile", children: [jsxRuntime.jsx("div", { className: "logo", children: jsxRuntime.jsx("a", { href: "https://www.mychoice.ca/", target: "_blank", rel: "noreferrer", children: jsxRuntime.jsx("img", { src: logo, alt: "logotype" }) }) }), jsxRuntime.jsx(mychoiceSdkComponents.ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsxRuntime.jsx("div", { className: "menu-items", children: jsxRuntime.jsx("div", { className: "nav-links", children: jsxRuntime.jsx(mychoiceSdkComponents.HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
|
|
533
|
+
return (jsxRuntime.jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxRuntime.jsxs("div", { className: "content-mobile", children: [jsxRuntime.jsx("div", { className: "logo", children: jsxRuntime.jsx("a", { href: "https://www.mychoice.ca/", target: "_blank", rel: "noreferrer", children: jsxRuntime.jsx("img", { src: logo$1, alt: "logotype" }) }) }), jsxRuntime.jsx(mychoiceSdkComponents.ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsxRuntime.jsx("div", { className: "menu-items", children: jsxRuntime.jsx("div", { className: "nav-links", children: jsxRuntime.jsx(mychoiceSdkComponents.HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
|
|
514
534
|
};
|
|
515
535
|
HeaderMyChoiceMobile.defaultProps = {
|
|
516
536
|
className: '',
|
|
517
537
|
};
|
|
518
538
|
|
|
539
|
+
const HeaderBeginInsuranceMobile = ({ className }) => {
|
|
540
|
+
const { appConfigState: { insuranceType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
541
|
+
const { externalPathGroup } = usePathGroups(insuranceType);
|
|
542
|
+
const [isMenuOpen, setIsMenuOpen] = React.useState(false);
|
|
543
|
+
const handleMenuClick = () => {
|
|
544
|
+
setIsMenuOpen(!isMenuOpen);
|
|
545
|
+
};
|
|
546
|
+
return (jsxRuntime.jsxs("div", { className: `${className} ${isMenuOpen ? 'open' : ''} primary-header-mobile`, children: [jsxRuntime.jsxs("div", { className: "content-mobile", children: [jsxRuntime.jsx("div", { className: "logo", children: jsxRuntime.jsx("a", { href: "https://www.begininsurance.com/", target: "_blank", rel: "noreferrer", children: jsxRuntime.jsx("img", { src: logo, alt: "Begin Insurance" }) }) }), jsxRuntime.jsx(mychoiceSdkComponents.ButtonMenu, { className: `${className} ${isMenuOpen ? 'is-active' : ''}`, onClick: handleMenuClick })] }), isMenuOpen && (jsxRuntime.jsx("div", { className: "menu-items", children: jsxRuntime.jsx("div", { className: "nav-links", children: jsxRuntime.jsx(mychoiceSdkComponents.HeaderNavGroup, { className: insuranceType, navItems: externalPathGroup, isExternal: true }) }) }))] }));
|
|
547
|
+
};
|
|
548
|
+
HeaderBeginInsuranceMobile.defaultProps = {
|
|
549
|
+
className: '',
|
|
550
|
+
};
|
|
551
|
+
|
|
519
552
|
const LoaderVid = () => {
|
|
520
553
|
const { appDeviceType } = mychoiceSdkStore.useStoreDeviceType();
|
|
521
554
|
const isMobile = appDeviceType === mychoiceSdkComponents.DeviceTypes.Mobile;
|
|
@@ -526,11 +559,11 @@ const LoaderPrimary = () => {
|
|
|
526
559
|
const { appLoaderState } = mychoiceSdkStore.useStoreAppLoader();
|
|
527
560
|
const { appConfigState } = mychoiceSdkStore.useStoreAppConfig();
|
|
528
561
|
const isLastPage = window.location.pathname.includes('discount') || window.location.pathname.includes('/life/applicant');
|
|
529
|
-
const isHome = window.location.pathname.includes('home') ||
|
|
530
|
-
|
|
531
|
-
|
|
532
|
-
|
|
533
|
-
|
|
562
|
+
const isHome = window.location.pathname.includes('home') ||
|
|
563
|
+
window.location.pathname.includes('condo') ||
|
|
564
|
+
window.location.pathname.includes('tenant');
|
|
565
|
+
return (jsxRuntime.jsxs("div", { className: "loader-wrapper", children: [appConfigState.appType === mychoiceSdkComponents.AppTypes.MyChoice && !isLastPage ? jsxRuntime.jsx(LoaderVid, {}) : jsxRuntime.jsx(mychoiceSdkComponents.IconLoaderPrimary, {}), appLoaderState.description ? (jsxRuntime.jsx("h4", { children: appLoaderState.description.split('\n').map((line, index) => (jsxRuntime.jsxs("div", { children: [line, jsxRuntime.jsx("br", {})] }, index))) })) : (!appLoaderState.description &&
|
|
566
|
+
isHome && jsxRuntime.jsx("h4", { children: "Hang tight, while we collect and process information about your property." }))] }));
|
|
534
567
|
};
|
|
535
568
|
|
|
536
569
|
const ModalConfirm = () => {
|
|
@@ -780,16 +813,16 @@ const BlockCarConditionInfo = () => {
|
|
|
780
813
|
};
|
|
781
814
|
|
|
782
815
|
const VehicleSectionMain = () => {
|
|
783
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
784
|
-
const mychoiceCls =
|
|
816
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
817
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
785
818
|
return (jsxRuntime.jsxs("div", { className: `form-section top-section ${mychoiceCls}`, children: [mychoiceCls && jsxRuntime.jsx("h2", { className: "section-title", children: "Give us the scoop on your four-wheeled friend." }), jsxRuntime.jsx(BlockCarInfo, {}), jsxRuntime.jsx(BlockCarConditionInfo, {})] }));
|
|
786
819
|
};
|
|
787
820
|
|
|
788
821
|
const VehicleSectionCoverage = () => {
|
|
789
822
|
const { vehicleState, dispatchVehicleState } = mychoiceSdkStore.useStoreFormCarVehicle();
|
|
790
823
|
const { collision, comprehensive } = vehicleState.items[vehicleState.activeIndex];
|
|
791
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
792
|
-
const mychoiceCls =
|
|
824
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
825
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
793
826
|
const handleComprehensiveChange = ({ value }) => {
|
|
794
827
|
dispatchVehicleState({
|
|
795
828
|
type: mychoiceSdkStore.StoreFormCarVehicleActionTypes.FormCarComprehensiveCoverageSelect,
|
|
@@ -943,11 +976,11 @@ const TabDriver = ({ createItem, readOnly }) => {
|
|
|
943
976
|
|
|
944
977
|
const SectionDriverInfo = () => {
|
|
945
978
|
const { configState } = mychoiceSdkStore.useStoreFormCarConfig();
|
|
946
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
979
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
947
980
|
const { driverState, dispatchDriverInfoState } = mychoiceSdkStore.useStoreFormCarDriverInfo();
|
|
948
981
|
const { discountState, dispatchDiscountState } = mychoiceSdkStore.useStoreFormCarDiscount();
|
|
949
|
-
const { firstName, maritalStatus, birthDay, birthMonth, birthYear, occupation, gender, applicantRelationship
|
|
950
|
-
const mychoiceCls =
|
|
982
|
+
const { firstName, maritalStatus, birthDay, birthMonth, birthYear, occupation, gender, applicantRelationship } = driverState.items[driverState.activeIndex];
|
|
983
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
951
984
|
const defaultDateOfBirth = {
|
|
952
985
|
day: birthDay,
|
|
953
986
|
month: birthMonth,
|
|
@@ -1011,17 +1044,16 @@ const SectionDriverInfo = () => {
|
|
|
1011
1044
|
payload: { applicantRelationship: value },
|
|
1012
1045
|
});
|
|
1013
1046
|
};
|
|
1014
|
-
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [mychoiceCls && jsxRuntime.jsx("h2", { className: "section-title", children: "Time for a micro autobiography \u2013 tell us about you." }), jsxRuntime.jsx(InputFormBox, { name: "firstName", title: "What is your legal first name?", onChange: handleFirstNameChange, defaultValue: firstName, description: "The name on a policy should match the one on your official driver\u2019s licence.", placeholder: "Driver First Name", error: !firstName && driverState.inValidation, errorMessage: getErrorMessage(firstName, driverState.inValidation) }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.maritalStatusOptions, name: "maritalStatus", onChange: handleMaritalStatusChange, defaultValue: getSelectedOption(mychoiceSdkComponents.maritalStatusOptions, maritalStatus), title: "What is your marital status?", placeholder: "Select from the list", description: "If you are married, it may have a positive effect on your car insurance premiums and coverage. In some provinces, the law now considers same-sex partners to have a common-law marriage, so you will need to check your local regulations. If you are divorced or widowed, select single.", autoSelectIfValueIsOutOfOptions: false, error: !maritalStatus && driverState.inValidation, errorMessage: getErrorMessage(maritalStatus, driverState.inValidation) }), jsxRuntime.jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "When were you born?", description: "Insurers generally consider your age and driving experience when calculating a vehicle insurance quote. The safest drivers are often those who are over thirty, but each insurer will have their own parameters. The youngest and oldest drivers have the greatest liability reflected in their premiums due to inexperience or health complications, respectively.", errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], driverState.inValidation), error: driverState.inValidation, maxDate: mychoiceSdkComponents.subYearsFromDate('', configState.licenceConfig.minLicenceAge || 16), isDay: true }), jsxRuntime.jsx(SwitchButtonBox, { name: "occupation", items: mychoiceSdkComponents.occupationOptions, onChange: handleOccupationChange, defaultValue: getSelectedOption(mychoiceSdkComponents.occupationOptions, occupation), title: "Are you currently employed or unemployed?", description: "Your employment status reflects your driving frequency, and insurers consider this in your policy." }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.genderOptions, onChange: handleGenderChange, name: "gender", defaultValue: getSelectedOption(mychoiceSdkComponents.genderOptions, gender), title: "What is your gender?", description: "The gender on the policy should match your official driver\u2019s licence. Some insurers analyze a driver's sex when creating a policy. Men are typically considered higher risk than female drivers, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though." }), driverState.activeIndex > 0
|
|
1015
|
-
&& (jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.applicantRelationshipOptions, name: "applicantRelationship", onChange: handleApplicantRelationshipChange, defaultValue: getSelectedOption(mychoiceSdkComponents.applicantRelationshipOptions, applicantRelationship), title: "Relationship to applicant", placeholder: "Select...", autoSelectIfValueIsOutOfOptions: false, error: !applicantRelationship && driverState.inValidation, errorMessage: getErrorMessage(applicantRelationship, driverState.inValidation) }))] }));
|
|
1047
|
+
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [mychoiceCls && jsxRuntime.jsx("h2", { className: "section-title", children: "Time for a micro autobiography \u2013 tell us about you." }), jsxRuntime.jsx(InputFormBox, { name: "firstName", title: "What is your legal first name?", onChange: handleFirstNameChange, defaultValue: firstName, description: "The name on a policy should match the one on your official driver\u2019s licence.", placeholder: "Driver First Name", error: !firstName && driverState.inValidation, errorMessage: getErrorMessage(firstName, driverState.inValidation) }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.maritalStatusOptions, name: "maritalStatus", onChange: handleMaritalStatusChange, defaultValue: getSelectedOption(mychoiceSdkComponents.maritalStatusOptions, maritalStatus), title: "What is your marital status?", placeholder: "Select from the list", description: "If you are married, it may have a positive effect on your car insurance premiums and coverage. In some provinces, the law now considers same-sex partners to have a common-law marriage, so you will need to check your local regulations. If you are divorced or widowed, select single.", autoSelectIfValueIsOutOfOptions: false, error: !maritalStatus && driverState.inValidation, errorMessage: getErrorMessage(maritalStatus, driverState.inValidation) }), jsxRuntime.jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "When were you born?", description: "Insurers generally consider your age and driving experience when calculating a vehicle insurance quote. The safest drivers are often those who are over thirty, but each insurer will have their own parameters. The youngest and oldest drivers have the greatest liability reflected in their premiums due to inexperience or health complications, respectively.", errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], driverState.inValidation), error: driverState.inValidation, maxDate: mychoiceSdkComponents.subYearsFromDate('', configState.licenceConfig.minLicenceAge || 16), isDay: true }), jsxRuntime.jsx(SwitchButtonBox, { name: "occupation", items: mychoiceSdkComponents.occupationOptions, onChange: handleOccupationChange, defaultValue: getSelectedOption(mychoiceSdkComponents.occupationOptions, occupation), title: "Are you currently employed or unemployed?", description: "Your employment status reflects your driving frequency, and insurers consider this in your policy." }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.genderOptions, onChange: handleGenderChange, name: "gender", defaultValue: getSelectedOption(mychoiceSdkComponents.genderOptions, gender), title: "What is your gender?", description: "The gender on the policy should match your official driver\u2019s licence. Some insurers analyze a driver's sex when creating a policy. Men are typically considered higher risk than female drivers, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though." }), driverState.activeIndex > 0 && (jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.applicantRelationshipOptions, name: "applicantRelationship", onChange: handleApplicantRelationshipChange, defaultValue: getSelectedOption(mychoiceSdkComponents.applicantRelationshipOptions, applicantRelationship), title: "Relationship to applicant", placeholder: "Select...", autoSelectIfValueIsOutOfOptions: false, error: !applicantRelationship && driverState.inValidation, errorMessage: getErrorMessage(applicantRelationship, driverState.inValidation) }))] }));
|
|
1016
1048
|
};
|
|
1017
1049
|
|
|
1018
1050
|
const SectionDriverLicence = () => {
|
|
1019
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
1051
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
1020
1052
|
const [driverEducation, setDriverEducation] = React.useState(false);
|
|
1021
1053
|
const { configState } = mychoiceSdkStore.useStoreFormCarConfig();
|
|
1022
1054
|
const { driverState, dispatchDriverLicenceState } = mychoiceSdkStore.useStoreFormCarDriverLicence();
|
|
1023
1055
|
const { isAlbertaProvince } = mychoiceSdkStore.useProvince();
|
|
1024
|
-
const mychoiceCls =
|
|
1056
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1025
1057
|
const { firstName, birthDay, birthMonth, birthYear, licenceInfo: { firstLicenceAge, licenceType, g1LicenceYear, g1LicenceMonth, gLicenceYear, gLicenceMonth, g2LicenceYear, g2LicenceMonth, passedDriverTraining, previousLicence, }, minMaxDates, } = driverState.items[driverState.activeIndex];
|
|
1026
1058
|
const { gMax = mychoiceSdkComponents.getFormattedDate('', 'yyyy-MM-dd'), gMin = '1922-01-01', gOneMax = mychoiceSdkComponents.getFormattedDate('', 'yyyy-MM-dd'), gOneMin = '1922-01-01', gTwoMax = mychoiceSdkComponents.getFormattedDate('', 'yyyy-MM-dd'), gTwoMin = '1922-01-01', gBlock = false, gTwoBlock = false, gOneBlock = false, licenceAgeMax = 16, } = minMaxDates ?? {};
|
|
1027
1059
|
const maxLicenceAge = licenceAgeMax;
|
|
@@ -1030,7 +1062,7 @@ const SectionDriverLicence = () => {
|
|
|
1030
1062
|
const defaultMinDate = birthDate && firstLicenceAge ? mychoiceSdkComponents.addYearsToDate(birthDate, +firstLicenceAge) : '';
|
|
1031
1063
|
const isOnlyG = mychoiceSdkComponents.checkDateIsSpecial(defaultMinDate, configState.minDates.g.specialDate);
|
|
1032
1064
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
1033
|
-
const { g, g1, g2, minLicenceAge
|
|
1065
|
+
const { g, g1, g2, minLicenceAge } = configState.licenceConfig;
|
|
1034
1066
|
const licenceTypeOptions = [
|
|
1035
1067
|
{ value: g.name, name: g.title },
|
|
1036
1068
|
{ value: g1.name, name: g1.title },
|
|
@@ -1060,7 +1092,8 @@ const SectionDriverLicence = () => {
|
|
|
1060
1092
|
return gOneMin;
|
|
1061
1093
|
case mychoiceSdkComponents.DriverLicenceTypes.G2:
|
|
1062
1094
|
return gTwoMin;
|
|
1063
|
-
default:
|
|
1095
|
+
default:
|
|
1096
|
+
return '';
|
|
1064
1097
|
}
|
|
1065
1098
|
};
|
|
1066
1099
|
const getMaxDate = (type) => {
|
|
@@ -1071,7 +1104,8 @@ const SectionDriverLicence = () => {
|
|
|
1071
1104
|
return gOneMax;
|
|
1072
1105
|
case mychoiceSdkComponents.DriverLicenceTypes.G2:
|
|
1073
1106
|
return gTwoMax;
|
|
1074
|
-
default:
|
|
1107
|
+
default:
|
|
1108
|
+
return '';
|
|
1075
1109
|
}
|
|
1076
1110
|
};
|
|
1077
1111
|
const getLicenceYear = (type) => {
|
|
@@ -1082,7 +1116,8 @@ const SectionDriverLicence = () => {
|
|
|
1082
1116
|
return g1LicenceYear;
|
|
1083
1117
|
case mychoiceSdkComponents.DriverLicenceTypes.G2:
|
|
1084
1118
|
return g2LicenceYear;
|
|
1085
|
-
default:
|
|
1119
|
+
default:
|
|
1120
|
+
return '';
|
|
1086
1121
|
}
|
|
1087
1122
|
};
|
|
1088
1123
|
const getLicenceMonth = (type) => {
|
|
@@ -1093,7 +1128,8 @@ const SectionDriverLicence = () => {
|
|
|
1093
1128
|
return g1LicenceMonth;
|
|
1094
1129
|
case mychoiceSdkComponents.DriverLicenceTypes.G2:
|
|
1095
1130
|
return g2LicenceMonth;
|
|
1096
|
-
default:
|
|
1131
|
+
default:
|
|
1132
|
+
return '';
|
|
1097
1133
|
}
|
|
1098
1134
|
};
|
|
1099
1135
|
const getDefaultLicenceDate = (type) => ({
|
|
@@ -1146,8 +1182,10 @@ const SectionDriverLicence = () => {
|
|
|
1146
1182
|
const formattedMinDate = `${mychoiceSdkComponents.getFormattedDate(licenceMinDate, 'MMMM yyyy')}`;
|
|
1147
1183
|
const defaultHintMessage = `${formattedMinDate} would be your earliest ${licenceTypeTitle}
|
|
1148
1184
|
licence date based on your first licenced age and date of birth`;
|
|
1149
|
-
return currentType === mychoiceSdkComponents.DriverLicenceTypes.G2
|
|
1150
|
-
|
|
1185
|
+
return currentType === mychoiceSdkComponents.DriverLicenceTypes.G2
|
|
1186
|
+
? `${defaultHintMessage}
|
|
1187
|
+
if you completed a driver education course`
|
|
1188
|
+
: defaultHintMessage;
|
|
1151
1189
|
};
|
|
1152
1190
|
const getLicenceAgeTitle = () => {
|
|
1153
1191
|
if (isAlbertaProvince && isTheBig) {
|
|
@@ -1155,10 +1193,10 @@ const SectionDriverLicence = () => {
|
|
|
1155
1193
|
}
|
|
1156
1194
|
return `What age was ${firstName || driverNameDefault} when first licenced?`;
|
|
1157
1195
|
};
|
|
1158
|
-
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx(InputFormBox, { name: "firstLicenceAge", title: getLicenceAgeTitle(), onChange: handleLicenceAgeChange, type: mychoiceSdkComponents.InputTypes.Number, defaultValue: firstLicenceAge, description: configState.toolTip.licenceAge, hintMessage: birthDate
|
|
1159
|
-
|
|
1160
|
-
|
|
1161
|
-
|
|
1196
|
+
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx(InputFormBox, { name: "firstLicenceAge", title: getLicenceAgeTitle(), onChange: handleLicenceAgeChange, type: mychoiceSdkComponents.InputTypes.Number, defaultValue: firstLicenceAge, description: configState.toolTip.licenceAge, hintMessage: birthDate
|
|
1197
|
+
? `${firstName || driverNameDefault} was licenced in
|
|
1198
|
+
${Number(birthYear) + Number(firstLicenceAge)} - ${Number(birthYear) + Number(firstLicenceAge) + 1}`
|
|
1199
|
+
: '', placeholder: "Select Licence Age", disabled: !birthDate, error: !firstLicenceAge && driverState.inValidation, errorMessage: getErrorMessage(firstLicenceAge, driverState.inValidation), minValue: minLicenceAge || 16, maxValue: maxLicenceAge }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.getLicenceTypeOptions(licenceTypeOptions, mychoiceSdkComponents.getDisabledLicenceTypes(gBlock, gTwoBlock, gOneBlock), true), name: "licenceType", onChange: handleLicenceTypeChange, defaultValue: getSelectedOption(licenceTypeOptions, licenceType), title: `Please choose the type of licence that ${firstName || driverNameDefault} currently holds`, placeholder: "Select from the list", disabled: !birthDate, description: configState.toolTip.licenceType, autoSelectIfValueIsOutOfOptions: false }), licenceType === mychoiceSdkComponents.DriverLicenceTypes.G && !isOnlyG && (jsxRuntime.jsx(DateSelectFormBox, { name: "g2LicenceDate", dateNames: ['g2LicenceYear', 'g2LicenceMonth'], onDateChange: handleLicenceDateChange(mychoiceSdkComponents.DriverLicenceTypes.G2), defaultValue: getDefaultLicenceDate(mychoiceSdkComponents.DriverLicenceTypes.G2), title: `${configState.licenceConfig.g2.title} licence date`, errorMessage: getDateErrorMessage(['01', g2LicenceMonth, g2LicenceYear], driverState.inValidation), hintMessage: getHintMessage(mychoiceSdkComponents.DriverLicenceTypes.G2), error: driverState.inValidation, minDate: getMinDate(mychoiceSdkComponents.DriverLicenceTypes.G2), maxDate: getMaxDate(mychoiceSdkComponents.DriverLicenceTypes.G2) })), licenceType && (jsxRuntime.jsx(DateSelectFormBox, { name: `${licenceType}LicenceDate`, dateNames: [`${licenceType}LicenceYear`, `${licenceType}LicenceMonth`], onDateChange: handleLicenceDateChange(), defaultValue: getDefaultLicenceDate(licenceType), title: `${configState.licenceConfig[licenceType].title} licence date`, errorMessage: getDateErrorMessage(['01', getLicenceMonth(licenceType), getLicenceYear(licenceType)], driverState.inValidation), hintMessage: getHintMessage(), error: driverState.inValidation, maxDate: getMaxDate(licenceType), minDate: getMinDate(licenceType) })), driverEducation && (jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleTrainingChange, name: "passedDriverTraining", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, passedDriverTraining), title: `Has ${firstName || driverNameDefault} completed a driver education course within the last 3 years?` })), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handlePreviousLicenceChange, name: "previousLicence", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, previousLicence), title: `Has ${firstName || driverNameDefault} ever had a full license anywhere else in Canada or USA?`, description: "If you have driving experience outside Canada or the United States, it may lower your premium. Your insurer may require proof of insurance in these other locations or some proof of driving experience from the country you indicate (like a copy of a previous driver\u2019s licence)." })] }));
|
|
1162
1200
|
};
|
|
1163
1201
|
|
|
1164
1202
|
const SectionDriverInsurancePolicy = () => {
|
|
@@ -1167,18 +1205,14 @@ const SectionDriverInsurancePolicy = () => {
|
|
|
1167
1205
|
const { driverState, dispatchDriverInsuranceState } = mychoiceSdkStore.useStoreFormCarDriverInsurance();
|
|
1168
1206
|
const { discountState, dispatchDiscountState } = mychoiceSdkStore.useStoreFormCarDiscount();
|
|
1169
1207
|
const { quoteState: { isRequested }, } = mychoiceSdkStore.useStoreFormCarQuote();
|
|
1170
|
-
const { listed, listedMonth = '', listedYear = '', insured, insuredDate = '', firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge, licenceType, gLicenceYear, gLicenceMonth, g1LicenceYear, g1LicenceMonth
|
|
1208
|
+
const { listed, listedMonth = '', listedYear = '', insured, insuredDate = '', firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge, licenceType, gLicenceYear, gLicenceMonth, g1LicenceYear, g1LicenceMonth }, } = driverState.items[driverState.activeIndex];
|
|
1171
1209
|
const { policyStartYear, policyStartMonth, policyStartDay } = discountState;
|
|
1172
1210
|
const driverNameDefault = `Driver ${driverState.activeIndex + 1}`;
|
|
1173
|
-
const birthDate = birthYear && birthMonth && birthDay
|
|
1174
|
-
? `${birthYear}-${birthMonth}-${birthDay}`
|
|
1175
|
-
: '';
|
|
1211
|
+
const birthDate = birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '';
|
|
1176
1212
|
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
1177
|
-
const mychoiceCls =
|
|
1213
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1178
1214
|
const getPeriodOptions = (year, month) => {
|
|
1179
|
-
const options = [
|
|
1180
|
-
{ value: '', name: 'Date Period', disabled: true },
|
|
1181
|
-
];
|
|
1215
|
+
const options = [{ value: '', name: 'Date Period', disabled: true }];
|
|
1182
1216
|
if (year && month) {
|
|
1183
1217
|
const todayDate = new Date();
|
|
1184
1218
|
const month = String(todayDate.getMonth() + 1).padStart(2, '0');
|
|
@@ -1234,9 +1268,7 @@ you had insurance. If this is correct, please continue with the form.`);
|
|
|
1234
1268
|
}
|
|
1235
1269
|
};
|
|
1236
1270
|
if (birthDate) {
|
|
1237
|
-
const defaultMinDate = birthDate && firstLicenceAge
|
|
1238
|
-
? mychoiceSdkComponents.addYearsToDate(birthDate, +firstLicenceAge)
|
|
1239
|
-
: '';
|
|
1271
|
+
const defaultMinDate = birthDate && firstLicenceAge ? mychoiceSdkComponents.addYearsToDate(birthDate, +firstLicenceAge) : '';
|
|
1240
1272
|
const isOnlyG = mychoiceSdkComponents.checkDateIsSpecial(defaultMinDate, configState.minDates.g.specialDate);
|
|
1241
1273
|
if (isOnlyG) {
|
|
1242
1274
|
setMessage(gLicenceYear, gLicenceMonth);
|
|
@@ -1255,16 +1287,7 @@ you had insurance. If this is correct, please continue with the form.`);
|
|
|
1255
1287
|
else {
|
|
1256
1288
|
setHintMessage('');
|
|
1257
1289
|
}
|
|
1258
|
-
}, [
|
|
1259
|
-
listedYear,
|
|
1260
|
-
listedMonth,
|
|
1261
|
-
g1LicenceYear,
|
|
1262
|
-
g1LicenceMonth,
|
|
1263
|
-
firstLicenceAge,
|
|
1264
|
-
birthDate,
|
|
1265
|
-
gLicenceYear,
|
|
1266
|
-
gLicenceMonth,
|
|
1267
|
-
]);
|
|
1290
|
+
}, [listedYear, listedMonth, g1LicenceYear, g1LicenceMonth, firstLicenceAge, birthDate, gLicenceYear, gLicenceMonth]);
|
|
1268
1291
|
const handleInsuredChange = ({ value }) => {
|
|
1269
1292
|
dispatchDriverInsuranceState({
|
|
1270
1293
|
type: mychoiceSdkStore.StoreFormCarDriverInsuranceActionTypes.FormCarDriverInsuredSelect,
|
|
@@ -1319,18 +1342,16 @@ you had insurance. If this is correct, please continue with the form.`);
|
|
|
1319
1342
|
};
|
|
1320
1343
|
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsxs("div", { className: "box-container", children: [jsxRuntime.jsx(DateSelectFormBox, { name: "listedYear", dateNames: ['listedYear', 'listedMonth'], onDateChange: handleListedDateChange, defaultValue: defaultListedDate, disabled: !listed, title: `When was ${firstName || driverNameDefault} first listed as a driver on a Canadian or US insurance policy?`, description: "The selection indicates what year the main driver was first listed on a Canadian or US insurance policy. If you do not remember your age, it is acceptable to provide a best estimate for the purposes of the policy or quote.", errorMessage: listed
|
|
1321
1344
|
? getDateErrorMessage(['01', listedMonth, listedYear], driverState.inValidation)
|
|
1322
|
-
: '', error: driverState.inValidation, hintMessage: hintMessage, minDate: mychoiceSdkComponents.getMinDate(birthDate, firstLicenceAge) }), jsxRuntime.jsx(mychoiceSdkComponents.CheckboxForm, { name: "listed", label: "Never listed on an insurance policy", onChange: handleListedChange, defaultValue: !listed })] }), listed && (jsxRuntime.jsxs("div", { className: "box-container", children: [jsxRuntime.jsx(SelectFormBox, { name: "insuredDate", onChange: handleInsuredPeriodChange, options: getPeriodOptions(listedYear, listedMonth), defaultValue: insuredDate, disabled: !insured, title: `How long has ${firstName || driverNameDefault} been with their current insurance provider?`, description: "It is common for insurers to provide loyalty rewards or discounts for valued customers. Loyalty is a positive trait in the industry, and most insurance companies will want to provide some incentive for continued customer relationships through tangible policy rewards.", errorMessage: insured
|
|
1323
|
-
? getErrorMessage(insuredDate, driverState.inValidation)
|
|
1324
|
-
: '', error: !insuredDate && driverState.inValidation }), jsxRuntime.jsx(mychoiceSdkComponents.CheckboxForm, { name: "insured", label: "Not currently insured", onChange: handleInsuredChange, defaultValue: !insured })] })), jsxRuntime.jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartDateChange, defaultValue: defaultPolicyStartDate, title: "What is the ideal start date for your new insurance policy?", description: "Select your preferred date for the beginning of your new insurance policy.For instance, you may set the start date for the day that your current insurance expires to ensure that you\u2019re continuously covered. Alternatively, select today's date for a quote or new policy.", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], driverState.inValidation), error: driverState.inValidation, minDate: mychoiceSdkComponents.addDaysToDate('', 1), maxDate: mychoiceSdkComponents.addDaysToDate('', 60), isDay: true })] }));
|
|
1345
|
+
: '', error: driverState.inValidation, hintMessage: hintMessage, minDate: mychoiceSdkComponents.getMinDate(birthDate, firstLicenceAge) }), jsxRuntime.jsx(mychoiceSdkComponents.CheckboxForm, { name: "listed", label: "Never listed on an insurance policy", onChange: handleListedChange, defaultValue: !listed })] }), listed && (jsxRuntime.jsxs("div", { className: "box-container", children: [jsxRuntime.jsx(SelectFormBox, { name: "insuredDate", onChange: handleInsuredPeriodChange, options: getPeriodOptions(listedYear, listedMonth), defaultValue: insuredDate, disabled: !insured, title: `How long has ${firstName || driverNameDefault} been with their current insurance provider?`, description: "It is common for insurers to provide loyalty rewards or discounts for valued customers. Loyalty is a positive trait in the industry, and most insurance companies will want to provide some incentive for continued customer relationships through tangible policy rewards.", errorMessage: insured ? getErrorMessage(insuredDate, driverState.inValidation) : '', error: !insuredDate && driverState.inValidation }), jsxRuntime.jsx(mychoiceSdkComponents.CheckboxForm, { name: "insured", label: "Not currently insured", onChange: handleInsuredChange, defaultValue: !insured })] })), jsxRuntime.jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartDateChange, defaultValue: defaultPolicyStartDate, title: "What is the ideal start date for your new insurance policy?", description: "Select your preferred date for the beginning of your new insurance policy.For instance, you may set the start date for the day that your current insurance expires to ensure that you\u2019re continuously covered. Alternatively, select today's date for a quote or new policy.", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], driverState.inValidation), error: driverState.inValidation, minDate: mychoiceSdkComponents.addDaysToDate('', 1), maxDate: mychoiceSdkComponents.addDaysToDate('', 60), isDay: true })] }));
|
|
1325
1346
|
};
|
|
1326
1347
|
|
|
1327
1348
|
const SectionDriverCancellation = () => {
|
|
1328
1349
|
const { driverState, dispatchDriverCancellationState } = mychoiceSdkStore.useStoreFormCarDriverCancellation();
|
|
1329
1350
|
const { dispatchDriverBaseState } = mychoiceSdkStore.useStoreFormCarDriverBase();
|
|
1330
1351
|
const { insuranceCancellation, insuranceCancellationList = [] } = driverState.items[driverState.activeIndex];
|
|
1331
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
1352
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
1332
1353
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
1333
|
-
const mychoiceCls =
|
|
1354
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1334
1355
|
const { firstName, birthYear, birthMonth, birthDay, licenceInfo: { firstLicenceAge }, } = driverState.items[driverState.activeIndex];
|
|
1335
1356
|
const birthDate = birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '';
|
|
1336
1357
|
const handleIconClick = (index) => () => {
|
|
@@ -1406,7 +1427,7 @@ const SectionDriverCancellation = () => {
|
|
|
1406
1427
|
}
|
|
1407
1428
|
};
|
|
1408
1429
|
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Insurance Cancellation" }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuranceCancellation), title: `Has ${firstName} had an insurance company cancellation or
|
|
1409
|
-
a time without insurance coverage, within the past 3 years?`, description: "If an insurance company cancels your policy, it will increase your future insurance premiums. The most common reasons for cancellations include missed payments, excessive claims, false declarations, or criminal actions, for example. If you cancel the insurance policy, it is not relevant." }), insuranceCancellation && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [insuranceCancellationList?.map(({ cancellationReason, startYear, startMonth, endYear, endMonth
|
|
1430
|
+
a time without insurance coverage, within the past 3 years?`, description: "If an insurance company cancels your policy, it will increase your future insurance premiums. The most common reasons for cancellations include missed payments, excessive claims, false declarations, or criminal actions, for example. If you cancel the insurance policy, it is not relevant." }), insuranceCancellation && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [insuranceCancellationList?.map(({ cancellationReason, startYear, startMonth, endYear, endMonth }, index) => {
|
|
1410
1431
|
const defaultStartDate = {
|
|
1411
1432
|
year: startYear,
|
|
1412
1433
|
month: startMonth,
|
|
@@ -1416,12 +1437,11 @@ const SectionDriverCancellation = () => {
|
|
|
1416
1437
|
month: endMonth,
|
|
1417
1438
|
};
|
|
1418
1439
|
const now = mychoiceSdkComponents.getFormattedDate('', 'yyyy-MM-dd');
|
|
1419
|
-
const days = birthDay ?
|
|
1440
|
+
const days = birthDay ? +birthDay + 1 : 1;
|
|
1420
1441
|
const endDate = endYear && endMonth ? mychoiceSdkStore.addDayToDate(`${endYear}-${endMonth}`, days) : now;
|
|
1421
1442
|
const currentMinDate = mychoiceSdkComponents.getMinDateByYears(mychoiceSdkComponents.getMinDate(birthDate, firstLicenceAge), 3);
|
|
1422
1443
|
const currentEndDate = mychoiceSdkComponents.compareDates(endDate, currentMinDate) < 0 ? currentMinDate : endDate;
|
|
1423
|
-
return (jsxRuntime.jsxs("div", { className: "list-block", children: [jsxRuntime.jsx("hr", {}), jsxRuntime.jsxs("div", { className: "list-item", children: [jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.insuranceCancellationReasonOptions, name: `cancellationReason-${index}`, onChange: handleReasonChange(index), defaultValue: cancellationReason, title: "Reason", placeholder: "Select from the list", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), autoSelectIfValueIsOutOfOptions: false, error: !cancellationReason && driverState.inValidation, errorMessage: getErrorMessage(cancellationReason, driverState.inValidation) }), jsxRuntime.jsx(DateSelectFormBox, { name: `startDate-${index}`, dateNames: [`startYear-${index}`, `startMonth-${index}`], onDateChange: handleStartDateChange(index), defaultValue: defaultStartDate, title: "Start date", errorMessage: getDateErrorMessage(['01', startMonth, startYear], driverState.inValidation), error: driverState.inValidation, minDate: currentMinDate, maxDate: currentEndDate }), jsxRuntime.jsx(DateSelectFormBox, { name: `endDate-${index}`, dateNames: [`endYear-${index}`, `endMonth-${index}`], onDateChange: handleEndDateChange(index), defaultValue: defaultEndDate, title: "End Date", errorMessage: getDateErrorMessage(['01', endMonth, endYear], driverState.inValidation), error: driverState.inValidation, minDate: startMonth && startYear
|
|
1424
|
-
? mychoiceSdkStore.addDayToDate(`${startYear}-${startMonth}`, days) : currentMinDate })] })] }, `insurance-cancellation-${index}`));
|
|
1444
|
+
return (jsxRuntime.jsxs("div", { className: "list-block", children: [jsxRuntime.jsx("hr", {}), jsxRuntime.jsxs("div", { className: "list-item", children: [jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.insuranceCancellationReasonOptions, name: `cancellationReason-${index}`, onChange: handleReasonChange(index), defaultValue: cancellationReason, title: "Reason", placeholder: "Select from the list", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), autoSelectIfValueIsOutOfOptions: false, error: !cancellationReason && driverState.inValidation, errorMessage: getErrorMessage(cancellationReason, driverState.inValidation) }), jsxRuntime.jsx(DateSelectFormBox, { name: `startDate-${index}`, dateNames: [`startYear-${index}`, `startMonth-${index}`], onDateChange: handleStartDateChange(index), defaultValue: defaultStartDate, title: "Start date", errorMessage: getDateErrorMessage(['01', startMonth, startYear], driverState.inValidation), error: driverState.inValidation, minDate: currentMinDate, maxDate: currentEndDate }), jsxRuntime.jsx(DateSelectFormBox, { name: `endDate-${index}`, dateNames: [`endYear-${index}`, `endMonth-${index}`], onDateChange: handleEndDateChange(index), defaultValue: defaultEndDate, title: "End Date", errorMessage: getDateErrorMessage(['01', endMonth, endYear], driverState.inValidation), error: driverState.inValidation, minDate: startMonth && startYear ? mychoiceSdkStore.addDayToDate(`${startYear}-${startMonth}`, days) : currentMinDate })] })] }, `insurance-cancellation-${index}`));
|
|
1425
1445
|
}), insuranceCancellationList?.length < 3 && (jsxRuntime.jsx(mychoiceSdkComponents.ButtonBase, { category: mychoiceSdkComponents.CategoryTypes.Filled, onClick: handleAddButtonClick, size: mychoiceSdkComponents.SizeTypes.Medium, color: mychoiceSdkComponents.ColorTypes.Primary, label: "Add another" }))] }))] }));
|
|
1426
1446
|
};
|
|
1427
1447
|
|
|
@@ -1677,8 +1697,8 @@ const BlockDriverTicket = () => {
|
|
|
1677
1697
|
};
|
|
1678
1698
|
|
|
1679
1699
|
const SectionDriverHistory = () => {
|
|
1680
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
1681
|
-
const mychoiceCls =
|
|
1700
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
1701
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1682
1702
|
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx(BlockDriverSuspension, {}), jsxRuntime.jsx(BlockDriverAccident, {}), jsxRuntime.jsx(BlockDriverTicket, {})] }));
|
|
1683
1703
|
};
|
|
1684
1704
|
|
|
@@ -1717,7 +1737,7 @@ const PageDriver = () => {
|
|
|
1717
1737
|
React.useEffect(() => {
|
|
1718
1738
|
setIsRender(true);
|
|
1719
1739
|
}, [isRender]);
|
|
1720
|
-
return (jsxRuntime.jsxs("div", { className: "form-container", children: [jsxRuntime.jsx(TabDriver, { createItem: createDriver }), jsxRuntime.jsxs("div", { className: "form-section-container", children: [isRender && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(SectionDriverInfo, {}), jsxRuntime.jsx(SectionDriverLicence, {}), jsxRuntime.jsx(SectionDriverInsurancePolicy, {}), jsxRuntime.jsx(SectionDriverCancellation, {}), jsxRuntime.jsx(SectionDriverHistory, {}),
|
|
1740
|
+
return (jsxRuntime.jsxs("div", { className: "form-container", children: [jsxRuntime.jsx(TabDriver, { createItem: createDriver }), jsxRuntime.jsxs("div", { className: "form-section-container", children: [isRender && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(SectionDriverInfo, {}), jsxRuntime.jsx(SectionDriverLicence, {}), jsxRuntime.jsx(SectionDriverInsurancePolicy, {}), jsxRuntime.jsx(SectionDriverCancellation, {}), jsxRuntime.jsx(SectionDriverHistory, {}), mychoiceSdkComponents.isMyChoiceLike(appType) && jsxRuntime.jsx(HonestyMessage, {})] })), appType === mychoiceSdkComponents.AppTypes.TheBig ? (jsxRuntime.jsx(NavigationBottomTheBig, { createItem: createDriver, formSteps: formSteps[mychoiceSdkComponents.InsuranceTypes.Car], itemCount: items.length, validateForm: validateForm, formIsValid: driverFormIsValid })) : (jsxRuntime.jsx(NavigationBottom, { className: "mychoice", createItem: createDriver, formSteps: formSteps[mychoiceSdkComponents.InsuranceTypes.Car], itemCount: items.length, validateForm: validateForm, formIsValid: driverFormIsValid }))] }), localIndex !== mychoiceSdkComponents.defaultLocalIndex && (jsxRuntime.jsx("img", { className: "logo-for-partner", src: myChoicePartnerLogo, alt: "partner logo" }))] }));
|
|
1721
1741
|
};
|
|
1722
1742
|
|
|
1723
1743
|
const getDynamicLicenceBoxProps = ({ isAlbertaProvince, isOntarioProvince, isNewfoundlandProvince, isNovaScotiaProvince, isNewBrunswickProvince, }) => {
|
|
@@ -1767,11 +1787,11 @@ const SectionDiscountInfo$1 = () => {
|
|
|
1767
1787
|
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
1768
1788
|
const allProvinces = mychoiceSdkStore.useProvince();
|
|
1769
1789
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
1770
|
-
const mychoiceCls =
|
|
1790
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1771
1791
|
const { discountState, dispatchDiscountState } = mychoiceSdkStore.useStoreFormCarDiscount();
|
|
1772
1792
|
const { validateEmail, errorMessage } = mychoiceSdkStore.useHandlerCarQuoterEmail();
|
|
1773
1793
|
const { multiplePoliciesDiscount, appInstallDiscount, caaMemberDiscount, quoterInfo, emailTo: { email, emailStatus }, } = discountState;
|
|
1774
|
-
const { firstName, lastName, phone, driverLicense = '', caslConsent
|
|
1794
|
+
const { firstName, lastName, phone, driverLicense = '', caslConsent } = quoterInfo;
|
|
1775
1795
|
const handleMultiplePolicyChange = ({ value }) => {
|
|
1776
1796
|
dispatchDiscountState({
|
|
1777
1797
|
type: mychoiceSdkStore.StoreFormCarDiscountActionTypes.FormCarDiscountMultiplePoliciesSelect,
|
|
@@ -1825,8 +1845,7 @@ const SectionDiscountInfo$1 = () => {
|
|
|
1825
1845
|
};
|
|
1826
1846
|
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [isTheBig ? (jsxRuntime.jsx(LabelFormBox, { title: "You are seconds away from receiving your car insurance quotes,\n please provide your email after completing the discount section so we\n can send you your personalized free car insurance quotes!" })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), jsxRuntime.jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your car insurance quotes, please provide your email after completing the discount section so we can send you your personalized free car insurance quotes!" })] })), jsxRuntime.jsx(BlockVehLinks, {}), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, multiplePoliciesDiscount), title: "You could receive a 10-15% discount for bundling insurance with multiple policies with the same insurance company. Does that interest you?", description: "Bundling your home and auto insurance can save you significantly on insurance premiums as a whole package. Do you want to learn more about the benefits of multiple policies for home, tenant, condo, or car insurance? All you have to do is select yes.." }), !isTheBig && (jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleCaaMemberChange, name: "caaMemberDiscount", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, caaMemberDiscount), title: "Please indicate if you are a member of CAA, you could save up to an additional 20%." })), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleAppInstallChange, name: "appInstallDiscount", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, appInstallDiscount), title: "You could receive up to a 30% discount by using an app to track driving habits. Does that interest you?", description: "Get rewarded for safe driving with the click of a button. If you install the app, you may be eligible for a 30% discount on your insurance premiums. Typically, you receive 10% of the discount upfront and the balance after six months of good driving." }), isTheBig ? (jsxRuntime.jsxs("div", { className: "input-form-box-container", children: [jsxRuntime.jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxRuntime.jsxs("ol", { className: "ordered-block", children: [jsxRuntime.jsx("li", { children: "See what rates insurance carriers are offering" }), jsxRuntime.jsx("li", { children: "Get in touch with us and secure your rate" }), jsxRuntime.jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })) : (jsxRuntime.jsx("h2", { children: "Complete the form below to see which companies are offering your quotes." })), jsxRuntime.jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsxRuntime.jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), isTheBig && (jsxRuntime.jsx(InputFormLicenceBox, { ...getDynamicLicenceBoxProps({ ...allProvinces }), name: "driverLicense", title: "Driver Licence Number (Optional)", onChange: handleDriverLicenseChange, defaultValue: driverLicense, description: "Enter your drivers licence number in to receive a more accurate, prequalified quote from our broker partners. This will enable you to provide less details over the phone if you choose to have a broker contact you. This is an optional input." })), jsxRuntime.jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsxRuntime.jsx(InputFormEmailBox, { validationStatus: emailStatus, errorMessage: emailStatus === mychoiceSdkComponents.ValidationStatusTypes.Declined
|
|
1827
1847
|
? errorMessage
|
|
1828
|
-
: getErrorMessage(email, discountState.inValidation), error: emailStatus === mychoiceSdkComponents.ValidationStatusTypes.Declined ||
|
|
1829
|
-
(!email && discountState.inValidation), name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: isTheBig ? 'johnsmith@thebig.ca' : 'johnsmith@mychoice.ca' }), isTheBig && (jsxRuntime.jsx(mychoiceSdkComponents.CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsxRuntime.jsx(BlockSubmit$2, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsxRuntime.jsx(BlockNextPageInfo$2, {})] }));
|
|
1848
|
+
: getErrorMessage(email, discountState.inValidation), error: emailStatus === mychoiceSdkComponents.ValidationStatusTypes.Declined || (!email && discountState.inValidation), name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: mychoiceSdkComponents.getPlaceholderEmail(appType) }), isTheBig && (jsxRuntime.jsx(mychoiceSdkComponents.CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsxRuntime.jsx(BlockSubmit$2, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsxRuntime.jsx(BlockNextPageInfo$2, {})] }));
|
|
1830
1849
|
};
|
|
1831
1850
|
|
|
1832
1851
|
const PageCarDiscount = () => {
|
|
@@ -1851,10 +1870,10 @@ const SectionQuoteEdit$2 = () => {
|
|
|
1851
1870
|
const { appConfigState } = mychoiceSdkStore.useStoreAppConfig();
|
|
1852
1871
|
const { driverState, dispatchDriverBaseState } = mychoiceSdkStore.useStoreFormCarDriverBase();
|
|
1853
1872
|
const { vehicleState, dispatchVehicleState } = mychoiceSdkStore.useStoreFormCarVehicle();
|
|
1854
|
-
const { discountState: { appInstallDiscount, multiplePoliciesDiscount } } = mychoiceSdkStore.useStoreFormCarDiscount();
|
|
1855
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
1873
|
+
const { discountState: { appInstallDiscount, multiplePoliciesDiscount }, } = mychoiceSdkStore.useStoreFormCarDiscount();
|
|
1874
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
1856
1875
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
1857
|
-
const mychoiceCls =
|
|
1876
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1858
1877
|
const navigate = reactRouterDom.useNavigate();
|
|
1859
1878
|
const vehicles = vehicleState.items.map(({ year, make, model }) => [`${year} ${make} ${model}`]);
|
|
1860
1879
|
const drivers = driverState.items.map(({ firstName }) => [`${firstName}`]);
|
|
@@ -1919,7 +1938,7 @@ const BlockMCEndorsements = () => {
|
|
|
1919
1938
|
const SectionQuoteRecalc$1 = () => {
|
|
1920
1939
|
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
1921
1940
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
1922
|
-
const mychoiceCls =
|
|
1941
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
1923
1942
|
const { vehicleState, dispatchVehicleState } = mychoiceSdkStore.useStoreFormCarVehicle();
|
|
1924
1943
|
const { comprehensive, collision, liability } = vehicleState.items[vehicleState.activeIndex];
|
|
1925
1944
|
const handleComprehensiveChange = ({ value }) => {
|
|
@@ -2080,7 +2099,7 @@ const SectionAddress = () => {
|
|
|
2080
2099
|
const { streetAddress = '', postalCode = '', addressObject, errorMessage } = item;
|
|
2081
2100
|
const navigate = reactRouterDom.useNavigate();
|
|
2082
2101
|
const asyncSelectRef = React.useRef(null);
|
|
2083
|
-
const isMychoice =
|
|
2102
|
+
const isMychoice = mychoiceSdkComponents.isMyChoiceLike(appType);
|
|
2084
2103
|
const mychoiceCls = isMychoice ? 'mychoice' : '';
|
|
2085
2104
|
const handleAddressChange = (address) => {
|
|
2086
2105
|
dispatchPostalState({
|
|
@@ -2318,9 +2337,9 @@ const SectionApplicantInfo = () => {
|
|
|
2318
2337
|
const { applicantState, dispatchApplicantInfoState } = mychoiceSdkStore.useStoreFormHomeApplicantInfo();
|
|
2319
2338
|
const { discountState, dispatchDiscountState } = mychoiceSdkStore.useStoreFormHomeDiscount();
|
|
2320
2339
|
const { dwellingState, dispatchDwellingState } = mychoiceSdkStore.useStoreFormHomeDwelling();
|
|
2321
|
-
const { firstName, insured: { birthDay, birthMonth, birthYear
|
|
2322
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
2323
|
-
const mychoiceCls =
|
|
2340
|
+
const { firstName, insured: { birthDay, birthMonth, birthYear }, } = applicantState;
|
|
2341
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
2342
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2324
2343
|
const { familiesCount, occupiedYear } = dwellingState;
|
|
2325
2344
|
// VARIABLES =========
|
|
2326
2345
|
const birthDate = birthYear ? `${birthYear}-${birthMonth || '01'}-${birthDay || '01'}` : '';
|
|
@@ -2401,9 +2420,9 @@ const SectionApplicantInsurancePolicy = () => {
|
|
|
2401
2420
|
const { applicantState, dispatchApplicantInsuranceState } = mychoiceSdkStore.useStoreFormHomeApplicantInsurance();
|
|
2402
2421
|
const { discountState, dispatchDiscountState } = mychoiceSdkStore.useStoreFormHomeDiscount();
|
|
2403
2422
|
const { policyStartYear, policyStartMonth, policyStartDay } = discountState;
|
|
2404
|
-
const { insuredCurrent, insuredBefore, insured: { dateInsuredCurrent, dateInsuredSince } } = applicantState;
|
|
2405
|
-
const { appConfigState: { appType, insuranceType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
2406
|
-
const mychoiceCls =
|
|
2423
|
+
const { insuredCurrent, insuredBefore, insured: { dateInsuredCurrent, dateInsuredSince }, } = applicantState;
|
|
2424
|
+
const { appConfigState: { appType, insuranceType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
2425
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2407
2426
|
const defaultPolicyStartDate = {
|
|
2408
2427
|
year: policyStartYear,
|
|
2409
2428
|
month: policyStartMonth,
|
|
@@ -2453,19 +2472,17 @@ const SectionApplicantInsurancePolicy = () => {
|
|
|
2453
2472
|
payload: { dateInsuredCurrent: value },
|
|
2454
2473
|
});
|
|
2455
2474
|
};
|
|
2456
|
-
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartChange, defaultValue: defaultPolicyStartDate, title: "What date do you want to start this policy?", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], applicantState.inValidation), error: applicantState.inValidation, minDate: mychoiceSdkComponents.addDaysToDate('', 1), maxDate: mychoiceSdkComponents.addDaysToDate('', 60), isDay: true }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleInsuredCurrentChange, name: "insuredCurrent", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuredCurrent), title: "Is your existing policy currently active?", description: "Insurers offer better rates to customers who have a long history of coverage without any gaps.", errorMessage: getErrorMessage(insuredCurrent, applicantState.inValidation) }), insuredCurrent
|
|
2457
|
-
&& (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.insuredYearsOptions, name: "dateInsuredSince", onChange: handleInsuredSinceDateChange, defaultValue: getSelectedOption(mychoiceSdkComponents.insuredYearsOptions, dateInsuredSince), title: "For how long have you maintained uninterrupted insurance coverage?", description: `Let us know how long you’ve had ${insuranceType} insurance without letting the policy expire. It’s fine if you’ve changed providers in the past: what matters is that you switched before your coverage expired.`, placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredSince && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredSince, applicantState.inValidation) }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.getInsuranceYearsOptions(dateInsuredSince || mychoiceSdkComponents.insuredYearsOptions.length.toString()), name: "dateInsuredCurrent", onChange: handleInsuredCurrentDateChange, defaultValue: getSelectedOption(mychoiceSdkComponents.getInsuranceYearsOptions(dateInsuredSince || mychoiceSdkComponents.insuredYearsOptions.length.toString()), dateInsuredCurrent), title: "What is the duration of your insurance coverage with your existing provider?", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredCurrent && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredCurrent, applicantState.inValidation) })] })), (!insuredCurrent && insuredCurrent !== undefined)
|
|
2458
|
-
&& (jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleInsuredBeforeChange, name: "insuredBefore", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuredBefore), title: `Have you had a ${insuranceType} insurance policy in the past?`, description: "The gender on the policy should match your official applicant\u2019s licence. Some insurers analyze a applicant's sex when creating a policy. Men are typically considered higher risk than female applicants, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though.", errorMessage: getErrorMessage(insuredBefore, applicantState.inValidation) }))] }));
|
|
2475
|
+
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx(DateSelectFormBox, { name: "policyStart", dateNames: ['policyStartYear', 'policyStartMonth', 'policyStartDay'], onDateChange: handlePolicyStartChange, defaultValue: defaultPolicyStartDate, title: "What date do you want to start this policy?", errorMessage: getDateErrorMessage([policyStartDay || '', policyStartMonth || '', policyStartYear || ''], applicantState.inValidation), error: applicantState.inValidation, minDate: mychoiceSdkComponents.addDaysToDate('', 1), maxDate: mychoiceSdkComponents.addDaysToDate('', 60), isDay: true }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleInsuredCurrentChange, name: "insuredCurrent", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuredCurrent), title: "Is your existing policy currently active?", description: "Insurers offer better rates to customers who have a long history of coverage without any gaps.", errorMessage: getErrorMessage(insuredCurrent, applicantState.inValidation) }), insuredCurrent && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.insuredYearsOptions, name: "dateInsuredSince", onChange: handleInsuredSinceDateChange, defaultValue: getSelectedOption(mychoiceSdkComponents.insuredYearsOptions, dateInsuredSince), title: "For how long have you maintained uninterrupted insurance coverage?", description: `Let us know how long you’ve had ${insuranceType} insurance without letting the policy expire. It’s fine if you’ve changed providers in the past: what matters is that you switched before your coverage expired.`, placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredSince && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredSince, applicantState.inValidation) }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.getInsuranceYearsOptions(dateInsuredSince || mychoiceSdkComponents.insuredYearsOptions.length.toString()), name: "dateInsuredCurrent", onChange: handleInsuredCurrentDateChange, defaultValue: getSelectedOption(mychoiceSdkComponents.getInsuranceYearsOptions(dateInsuredSince || mychoiceSdkComponents.insuredYearsOptions.length.toString()), dateInsuredCurrent), title: "What is the duration of your insurance coverage with your existing provider?", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !dateInsuredCurrent && applicantState.inValidation, errorMessage: getErrorMessage(dateInsuredCurrent, applicantState.inValidation) })] })), !insuredCurrent && insuredCurrent !== undefined && (jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleInsuredBeforeChange, name: "insuredBefore", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuredBefore), title: `Have you had a ${insuranceType} insurance policy in the past?`, description: "The gender on the policy should match your official applicant\u2019s licence. Some insurers analyze a applicant's sex when creating a policy. Men are typically considered higher risk than female applicants, but the statistics supporting this idea vary from province to province. On average, men and women pay roughly the same for insurance, though.", errorMessage: getErrorMessage(insuredBefore, applicantState.inValidation) }))] }));
|
|
2459
2476
|
};
|
|
2460
2477
|
|
|
2461
2478
|
const SectionApplicantCancellation = () => {
|
|
2462
2479
|
const { applicantState, dispatchApplicantCancellationState } = mychoiceSdkStore.useStoreFormHomeApplicantCancellation();
|
|
2463
2480
|
const { dispatchApplicantBaseState } = mychoiceSdkStore.useStoreFormHomeApplicantBase();
|
|
2464
2481
|
const { insuranceCancellation, insuranceCancellationList } = applicantState;
|
|
2465
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
2482
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
2466
2483
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
2467
|
-
const mychoiceCls =
|
|
2468
|
-
const { insured: { birthYear, birthMonth, birthDay } } = applicantState;
|
|
2484
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2485
|
+
const { insured: { birthYear, birthMonth, birthDay }, } = applicantState;
|
|
2469
2486
|
const handleIconClick = (index) => () => {
|
|
2470
2487
|
dispatchApplicantCancellationState({
|
|
2471
2488
|
type: mychoiceSdkStore.StoreFormHomeApplicantCancellationActionTypes.FormHomeApplicantCancellationDelete,
|
|
@@ -2509,24 +2526,23 @@ const SectionApplicantCancellation = () => {
|
|
|
2509
2526
|
});
|
|
2510
2527
|
}
|
|
2511
2528
|
};
|
|
2512
|
-
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Cancellations" }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuranceCancellation), title: "Have you ever had a cancelation due to non payment?" }), insuranceCancellation && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [insuranceCancellationList?.map(({ cancellationYear, cancellationMonth
|
|
2529
|
+
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Cancellations" }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleCancellationChange, name: "insuranceCancellation", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuranceCancellation), title: "Have you ever had a cancelation due to non payment?" }), insuranceCancellation && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [insuranceCancellationList?.map(({ cancellationYear, cancellationMonth }, index) => {
|
|
2513
2530
|
const defaultCancellationDate = {
|
|
2514
2531
|
year: cancellationYear,
|
|
2515
2532
|
month: cancellationMonth,
|
|
2516
2533
|
day: '01',
|
|
2517
2534
|
};
|
|
2518
2535
|
return (jsxRuntime.jsxs("div", { className: "list-block", children: [jsxRuntime.jsx("hr", {}), jsxRuntime.jsx("div", { className: "list-item", children: jsxRuntime.jsx(DateSelectFormBox, { name: `cancellationDate-${index}`, dateNames: [`cancellationYear-${index}`, `cancellationMonth-${index}`], onDateChange: handleCancellationDateChange(index), defaultValue: defaultCancellationDate, title: "What was the date of the cancellation?", isRemovable: insuranceCancellationList.length > 1, onIconClick: handleIconClick(index), errorMessage: getDateErrorMessage(['01', cancellationMonth, cancellationYear], applicantState.inValidation), error: applicantState.inValidation, minDate: birthYear && birthMonth && birthDay ? `${birthYear}-${birthMonth}-${birthDay}` : '' }) })] }, `insurance-cancellation-${index}`));
|
|
2519
|
-
}), insuranceCancellationList && insuranceCancellationList.length < 3
|
|
2520
|
-
? (jsxRuntime.jsx(mychoiceSdkComponents.ButtonBase, { category: mychoiceSdkComponents.CategoryTypes.Filled, onClick: handleAddButtonClick, size: mychoiceSdkComponents.SizeTypes.Medium, color: mychoiceSdkComponents.ColorTypes.Primary, label: "Add another" })) : (jsxRuntime.jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance cancelations. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
|
|
2536
|
+
}), insuranceCancellationList && insuranceCancellationList.length < 3 ? (jsxRuntime.jsx(mychoiceSdkComponents.ButtonBase, { category: mychoiceSdkComponents.CategoryTypes.Filled, onClick: handleAddButtonClick, size: mychoiceSdkComponents.SizeTypes.Medium, color: mychoiceSdkComponents.ColorTypes.Primary, label: "Add another" })) : (jsxRuntime.jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance cancelations. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
|
|
2521
2537
|
};
|
|
2522
2538
|
|
|
2523
2539
|
const SectionApplicantClaim = () => {
|
|
2524
2540
|
const { applicantState, dispatchApplicantClaimState } = mychoiceSdkStore.useStoreFormHomeApplicantClaim();
|
|
2525
2541
|
const { dispatchApplicantBaseState } = mychoiceSdkStore.useStoreFormHomeApplicantBase();
|
|
2526
2542
|
const { insuranceClaim, insuranceClaimList } = applicantState;
|
|
2527
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
2543
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
2528
2544
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
2529
|
-
const mychoiceCls =
|
|
2545
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2530
2546
|
const handleIconClick = (index) => () => {
|
|
2531
2547
|
dispatchApplicantClaimState({
|
|
2532
2548
|
type: mychoiceSdkStore.StoreFormHomeApplicantClaimActionTypes.FormHomeApplicantClaimDelete,
|
|
@@ -2579,15 +2595,14 @@ const SectionApplicantClaim = () => {
|
|
|
2579
2595
|
});
|
|
2580
2596
|
}
|
|
2581
2597
|
};
|
|
2582
|
-
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Claims" }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleClaimChange, name: "insuranceClaim", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuranceClaim), title: "Any claims within the last 5 years?", description: "Your quotes will be more accurate if you let us know your claims history." }), insuranceClaim && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [insuranceClaimList?.map(({ claimYear, claimMonth, claimType
|
|
2598
|
+
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h2", { className: isTheBig ? 'thebig-bold' : '', children: "Claims" }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleClaimChange, name: "insuranceClaim", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, insuranceClaim), title: "Any claims within the last 5 years?", description: "Your quotes will be more accurate if you let us know your claims history." }), insuranceClaim && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [insuranceClaimList?.map(({ claimYear, claimMonth, claimType }, index) => {
|
|
2583
2599
|
const defaultClaimDate = {
|
|
2584
2600
|
year: claimYear,
|
|
2585
2601
|
month: claimMonth,
|
|
2586
2602
|
day: '01',
|
|
2587
2603
|
};
|
|
2588
2604
|
return (jsxRuntime.jsxs("div", { className: "list-block", children: [jsxRuntime.jsx("hr", {}), jsxRuntime.jsxs("div", { className: "list-item", children: [jsxRuntime.jsx(DateSelectFormBox, { name: `claimDate-${index}`, dateNames: [`claimYear-${index}`, `claimMonth-${index}`], onDateChange: handleClaimDateChange(index), defaultValue: defaultClaimDate, title: "Claim Date", isRemovable: insuranceClaimList.length > 1, onIconClick: handleIconClick(index), errorMessage: getDateErrorMessage(['01', claimMonth, claimYear], applicantState.inValidation), error: applicantState.inValidation, minDate: mychoiceSdkComponents.subYearsFromDate('', 5) }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.claimTypeOptions, name: `claim-type-${index}`, onChange: handleClaimTypeChange(index), defaultValue: claimType, title: "Claim Type", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !claimType && applicantState.inValidation, errorMessage: getErrorMessage(claimType, applicantState.inValidation) })] })] }, `driver-claim-${index}`));
|
|
2589
|
-
}), insuranceClaimList && insuranceClaimList.length < 3
|
|
2590
|
-
? (jsxRuntime.jsx(mychoiceSdkComponents.ButtonBase, { category: mychoiceSdkComponents.CategoryTypes.Filled, onClick: handleAddButtonClick, size: mychoiceSdkComponents.SizeTypes.Medium, color: mychoiceSdkComponents.ColorTypes.Primary, label: "Add another" })) : (jsxRuntime.jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance claims. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
|
|
2605
|
+
}), insuranceClaimList && insuranceClaimList.length < 3 ? (jsxRuntime.jsx(mychoiceSdkComponents.ButtonBase, { category: mychoiceSdkComponents.CategoryTypes.Filled, onClick: handleAddButtonClick, size: mychoiceSdkComponents.SizeTypes.Medium, color: mychoiceSdkComponents.ColorTypes.Primary, label: "Add another" })) : (jsxRuntime.jsx("p", { className: "warning-message", children: "We\u2019re sorry. We cannot currently provide quotes online for 3+ insurance claims. Please call one of our broker partners at 1.855.843.1570 to ensure you get an accurate quote over the phone." }))] }))] }));
|
|
2591
2606
|
};
|
|
2592
2607
|
|
|
2593
2608
|
const PageApplicant = () => {
|
|
@@ -2843,9 +2858,14 @@ const BlockDwellingInfo = () => {
|
|
|
2843
2858
|
};
|
|
2844
2859
|
|
|
2845
2860
|
const BlockNextPageInfo$1 = () => {
|
|
2846
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
2847
|
-
|
|
2848
|
-
|
|
2861
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
2862
|
+
if (appType === mychoiceSdkComponents.AppTypes.TheBig) {
|
|
2863
|
+
return (jsxRuntime.jsx("div", { className: "privacy-policy", children: jsxRuntime.jsxs("p", { children: [jsxRuntime.jsx("span", { children: "DISCLAIMER: " }), "As insurance premiums are based on the information you provide it is important that it be 100% accurate and up to date. If you are not sure it is best to check before completing your quote."] }) }));
|
|
2864
|
+
}
|
|
2865
|
+
if (appType === mychoiceSdkComponents.AppTypes.MyChoice) {
|
|
2866
|
+
jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("h5", { children: "On the next page, you will also be able to:" }), jsxRuntime.jsxs("div", { className: "next-page-points", children: [jsxRuntime.jsx("p", { children: "1. See what rates insurance carriers are offering" }), jsxRuntime.jsx("p", { children: "2. Get in touch with a broker and secure your rate" }), jsxRuntime.jsx("p", { children: "3. Potentially save more by speaking with a broker" })] }), jsxRuntime.jsx("div", { className: "privacy-policy", children: jsxRuntime.jsxs("p", { children: ["Once you submit this form, you are agreeing to have your insurance quote sent to you via email and My Choice will provide your contact information to one of our trusted broker partners, who will contact you after your quote is complete to further assist you in securing your best rate. For more details, see our", jsxRuntime.jsx("a", { href: "https://www.mychoice.ca/privacy-policy/", children: " Privacy Policy" }), "."] }) })] });
|
|
2867
|
+
}
|
|
2868
|
+
return null;
|
|
2849
2869
|
};
|
|
2850
2870
|
|
|
2851
2871
|
const BlockSubmit$1 = ({ className, label, buttonSize, isRecalc = false, }) => {
|
|
@@ -2875,14 +2895,14 @@ BlockSubmit$1.defaultProps = {
|
|
|
2875
2895
|
};
|
|
2876
2896
|
|
|
2877
2897
|
const SectionDiscountInfo = () => {
|
|
2878
|
-
const { appConfigState: { appType, insuranceType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
2898
|
+
const { appConfigState: { appType, insuranceType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
2879
2899
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
2880
|
-
const mychoiceCls =
|
|
2900
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2881
2901
|
const { discountState, dispatchDiscountState } = mychoiceSdkStore.useStoreFormHomeDiscount();
|
|
2882
2902
|
// const { applicantState, dispatchApplicantInfoState } = useStoreFormHomeApplicantInfo();
|
|
2883
2903
|
const { validateEmail, errorMessage } = mychoiceSdkStore.useHandlerHomeQuoterEmail();
|
|
2884
2904
|
const { multiplePoliciesDiscount, emailTo: { email, emailStatus }, quoterInfo = {}, } = discountState;
|
|
2885
|
-
const { firstName = '', lastName = '', phone = '', caslConsent
|
|
2905
|
+
const { firstName = '', lastName = '', phone = '', caslConsent } = quoterInfo;
|
|
2886
2906
|
const handleMultiplePolicyChange = ({ value }) => {
|
|
2887
2907
|
dispatchDiscountState({
|
|
2888
2908
|
type: mychoiceSdkStore.StoreFormHomeDiscountActionTypes.FormHomeDiscountMultiplePoliciesSelect,
|
|
@@ -2916,13 +2936,11 @@ const SectionDiscountInfo = () => {
|
|
|
2916
2936
|
payload: { caslConsent: value },
|
|
2917
2937
|
});
|
|
2918
2938
|
};
|
|
2919
|
-
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), isTheBig
|
|
2920
|
-
? (jsxRuntime.jsx(LabelFormBox, { title: `You are seconds away from receiving your ${insuranceType} insurance quotes, please provide your email after completing the discount section so we can send you your personalized free ${insuranceType} insurance quotes!` }))
|
|
2921
|
-
: (jsxRuntime.jsx("span", { className: "info-title-message", children: `You are seconds away from receiving your ${insuranceType} insurance quotes,
|
|
2939
|
+
return (jsxRuntime.jsxs("div", { className: `form-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h2", { className: "section-title", children: "A little extra info for discounts and connecting you with our partners." }), isTheBig ? (jsxRuntime.jsx(LabelFormBox, { title: `You are seconds away from receiving your ${insuranceType} insurance quotes, please provide your email after completing the discount section so we can send you your personalized free ${insuranceType} insurance quotes!` })) : (jsxRuntime.jsx("span", { className: "info-title-message", children: `You are seconds away from receiving your ${insuranceType} insurance quotes,
|
|
2922
2940
|
please provide your email after completing the discount section so we
|
|
2923
|
-
can send you your personalized free ${insuranceType} insurance quotes!` })), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, multiplePoliciesDiscount), title: "You could potentially save up to 18% more. Would you consider consolidating multiple policies (like auto insurance) with the same provider?", description: "Most insurers offer discounts to consumers who purchase multiple policies. Select \u2018yes\u2019 if you\u2019d like to bundle your home and auto insurance policies." }), jsxRuntime.jsx(BlockDwellingInfo, {}), jsxRuntime.jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsxRuntime.jsx(InputFormBox, { name: "lastName", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), jsxRuntime.jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsxRuntime.jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder:
|
|
2924
|
-
? errorMessage
|
|
2925
|
-
|
|
2941
|
+
can send you your personalized free ${insuranceType} insurance quotes!` })), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleMultiplePolicyChange, name: "multiplePoliciesDiscount", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, multiplePoliciesDiscount), title: "You could potentially save up to 18% more. Would you consider consolidating multiple policies (like auto insurance) with the same provider?", description: "Most insurers offer discounts to consumers who purchase multiple policies. Select \u2018yes\u2019 if you\u2019d like to bundle your home and auto insurance policies." }), jsxRuntime.jsx(BlockDwellingInfo, {}), jsxRuntime.jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && discountState.inValidation, errorMessage: getErrorMessage(firstName, discountState.inValidation) }), jsxRuntime.jsx(InputFormBox, { name: "lastName", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && discountState.inValidation, errorMessage: getErrorMessage(lastName, discountState.inValidation) }), jsxRuntime.jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && discountState.inValidation, errorMessage: getErrorMessage(phone, discountState.inValidation) }), jsxRuntime.jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please share your email address with us, we'll use it to send you a copy of your quotes.", description: "We will provide you with your insurance quotes immediately after this form completion. If you are not ready to apply today, don\u2019t worry as we will be emailing your quotes to you if you\u2019d like to complete at a later date with the help of one of our trusted broker partners.", onChange: handleEmailChange, defaultValue: email, placeholder: mychoiceSdkComponents.getPlaceholderEmail(appType), errorMessage: emailStatus === mychoiceSdkComponents.ValidationStatusTypes.Declined
|
|
2942
|
+
? errorMessage
|
|
2943
|
+
: getErrorMessage(email, discountState.inValidation), error: emailStatus === mychoiceSdkComponents.ValidationStatusTypes.Declined || (!email && discountState.inValidation) }), isTheBig && (jsxRuntime.jsx(mychoiceSdkComponents.CheckboxForm, { className: "casl-consent", name: "caslConsent", label: "Yes, I consent to receiving emails from the Billyard Insurance Group.\n I understand that I can unsubscribe at any time", onChange: handleCaslConsentChange, defaultValue: caslConsent })), jsxRuntime.jsx(BlockSubmit$1, { className: isTheBig ? 'thebig-bold' : 'mychoice' }), jsxRuntime.jsx(BlockNextPageInfo$1, {})] }));
|
|
2926
2944
|
};
|
|
2927
2945
|
|
|
2928
2946
|
const PageHomeDiscount = () => {
|
|
@@ -2945,18 +2963,18 @@ const PageHomeDiscount = () => {
|
|
|
2945
2963
|
};
|
|
2946
2964
|
|
|
2947
2965
|
const SectionQuoteEdit$1 = () => {
|
|
2948
|
-
const { appConfigState: { localIndex, insuranceType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
2966
|
+
const { appConfigState: { localIndex, insuranceType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
2949
2967
|
const { applicantState } = mychoiceSdkStore.useStoreFormHomeApplicantBase();
|
|
2950
2968
|
const { dwellingState } = mychoiceSdkStore.useStoreFormHomeDwelling();
|
|
2951
2969
|
const { postalState } = mychoiceSdkStore.useStoreFormHomePostal();
|
|
2952
|
-
const { discountState: { multiplePoliciesDiscount, quoterInfo } } = mychoiceSdkStore.useStoreFormHomeDiscount();
|
|
2953
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
2970
|
+
const { discountState: { multiplePoliciesDiscount, quoterInfo }, } = mychoiceSdkStore.useStoreFormHomeDiscount();
|
|
2971
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
2954
2972
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
2955
|
-
const mychoiceCls =
|
|
2956
|
-
const { item: { postalCode, provinceCode, city, streetAddress
|
|
2973
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
2974
|
+
const { item: { postalCode, provinceCode, city, streetAddress }, } = postalState;
|
|
2957
2975
|
const { deadbolt, sprinkler, burglarAlarm, fireAlarm, fireExtinguishersCount, // mortgagesCount,
|
|
2958
2976
|
} = dwellingState;
|
|
2959
|
-
const { insured: { nonsmoker } } = applicantState;
|
|
2977
|
+
const { insured: { nonsmoker }, } = applicantState;
|
|
2960
2978
|
const discounts = [];
|
|
2961
2979
|
const isHome = insuranceType === mychoiceSdkComponents.InsuranceTypes.Home;
|
|
2962
2980
|
if (multiplePoliciesDiscount) {
|
|
@@ -3001,17 +3019,23 @@ const SectionQuoteEdit$1 = () => {
|
|
|
3001
3019
|
const discountEdit = () => () => {
|
|
3002
3020
|
navigate(`/${localIndex || mychoiceSdkComponents.defaultLocalIndex}/${insuranceType}/discount`);
|
|
3003
3021
|
};
|
|
3004
|
-
return (jsxRuntime.jsxs("div", { className: `edit-quote-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h3", { className: isTheBig ? 'thebig-bold' : '', children: "Edit Quote" }), jsxRuntime.jsxs("div", { className: "edit-section-content", children: [jsxRuntime.jsx(mychoiceSdkComponents.QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: addressEdit, title: "Address", items: [[address]] }), jsxRuntime.jsx(mychoiceSdkComponents.QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: dwellingEdit, title: "Property Information", items: [[`Year Built: ${dwellingState.builtYear}`]] }), jsxRuntime.jsx(mychoiceSdkComponents.QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: applicantEdit, title: "Applicant Information", items: [
|
|
3022
|
+
return (jsxRuntime.jsxs("div", { className: `edit-quote-section ${mychoiceCls}`, children: [jsxRuntime.jsx("h3", { className: isTheBig ? 'thebig-bold' : '', children: "Edit Quote" }), jsxRuntime.jsxs("div", { className: "edit-section-content", children: [jsxRuntime.jsx(mychoiceSdkComponents.QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: addressEdit, title: "Address", items: [[address]] }), jsxRuntime.jsx(mychoiceSdkComponents.QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: dwellingEdit, title: "Property Information", items: [[`Year Built: ${dwellingState.builtYear}`]] }), jsxRuntime.jsx(mychoiceSdkComponents.QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: applicantEdit, title: "Applicant Information", items: [
|
|
3023
|
+
[
|
|
3024
|
+
`Name: ${quoterInfo?.firstName}`,
|
|
3025
|
+
`Occupied by: ${occupiedMembers}`,
|
|
3026
|
+
`Year Occupied: ${dwellingState.occupiedYear}`,
|
|
3027
|
+
],
|
|
3028
|
+
] }), jsxRuntime.jsx(mychoiceSdkComponents.QuoteEdit, { className: isTheBig ? 'thebig-medium' : '', editClick: discountEdit, title: "Discount Information", items: [discounts] })] })] }));
|
|
3005
3029
|
};
|
|
3006
3030
|
|
|
3007
3031
|
// import { BlockEndorsements } from './blocks/BlockEndorsements';
|
|
3008
3032
|
const SectionQuoteRecalc = () => {
|
|
3009
3033
|
const [ppLocalOptions, setPpLocalOptions] = React.useState(mychoiceSdkComponents.ppOptions);
|
|
3010
|
-
const { appConfigState: { appType, insuranceType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
3034
|
+
const { appConfigState: { appType, insuranceType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
3011
3035
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
3012
|
-
const mychoiceCls =
|
|
3036
|
+
const mychoiceCls = mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : '';
|
|
3013
3037
|
const { dwellingState, dispatchDwellingState } = mychoiceSdkStore.useStoreFormHomeDwelling();
|
|
3014
|
-
const { deductible, liability, waterCoverage, pp
|
|
3038
|
+
const { deductible, liability, waterCoverage, pp } = dwellingState;
|
|
3015
3039
|
React.useEffect(() => {
|
|
3016
3040
|
if (insuranceType === mychoiceSdkComponents.InsuranceTypes.Condo) {
|
|
3017
3041
|
setPpLocalOptions(mychoiceSdkComponents.ppOptions.slice(1));
|
|
@@ -3044,9 +3068,7 @@ const SectionQuoteRecalc = () => {
|
|
|
3044
3068
|
payload: { waterCoverage: value },
|
|
3045
3069
|
});
|
|
3046
3070
|
};
|
|
3047
|
-
return (jsxRuntime.jsx("div", { className: "form-container", children: jsxRuntime.jsxs("div", { className: `form-section edit-recalc-container ${mychoiceCls}`, children: [jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.homeCoverageOptions, name: "deductible", onChange: handleDeductibleChange, defaultValue: getSelectedOption(mychoiceSdkComponents.homeCoverageOptions, deductible), title: "Deductible", description: "The deductible is the sum you commit to paying out-of-pocket when making an insurance claim. This amount is subtracted from the total payout you receive from your insurance provider. As an illustration, if your agreed-upon deductible is $500 and the overall damage cost is $5,000, you would cover the first $500, while the insurance company would handle the remaining $4,500. By choosing to increase your deductible, you can reduce the price of your premium.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.homeLiabilityOptions, name: "liability", onChange: handleLiabilityChange, defaultValue: getSelectedOption(mychoiceSdkComponents.homeLiabilityOptions, liability), title: "Liability", description: "Liability insurance safeguards you in case someone gets hurt on your premises, regardless of whether the injury was accidental. For instance, if an individual falls over and injures themselves within your property and opts to take legal action, liability insurance will shoulder a portion of the related expenses. Additionally, it provides protection in the event that you cause damage to another person's property. However, it's important to note that elevating your liability limit can lead to a higher premium cost.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), !(insuranceType === mychoiceSdkComponents.InsuranceTypes.Home) && (jsxRuntime.jsx(SelectFormBox, { options: ppLocalOptions, name: "pp", onChange: handlePpChange, defaultValue: getSelectedOption(ppLocalOptions, pp), title: "Personal Property Limit", description: "Personal property refers to the items that you own and typically store within your home, including things like furniture, appliances, clothing, and so on.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false })), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleWaterCoverageChange, name: "waterCoverage", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, waterCoverage), title: "Water Damage", description: "Water damage insurance includes the following three types of coverage:\n\n1. Sewer Backup Coverage: This protection safeguards you against floods resulting from an overflow of the sewage system due to heavy rainfall or snowmelt.\n\n2. Overland Water Coverage: This coverage defends you against damages from water entering your home at or above ground level, which may be due to an overflowing lake or river, heavy rain, or melted snow.\n\n3. Ground Water Coverage: This coverage provides protection from damage caused by groundwater entering your home through the foundation, floors, or basement walls following sudden water accumulation after substantial rain or snowmelt.\n\nPlease be aware that each insurance provider may have unique policies regarding water damage coverage. Some providers may only offer all three types of coverage together, while others might offer just one. To determine the coverage that is most appropriate for your needs, please consult with our broker partner." }), jsxRuntime.jsx(BlockSubmit$1, { className: `${isTheBig ? 'thebig-bold' : 'mychoice'} recalculate`, label: "Recalculate Quote", buttonSize: mychoiceSdkComponents.SizeTypes.Medium, isRecalc: true }), jsxRuntime.jsx("div", { className: "endorsements-container", children: jsxRuntime.jsxs("div", { className: "labels-block", children: [!(insuranceType === mychoiceSdkComponents.InsuranceTypes.Home)
|
|
3048
|
-
? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(LabelFormBox, { name: "additionalLivingExpenses", title: "Additional Living Expenses", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), insuranceType === mychoiceSdkComponents.InsuranceTypes.Condo
|
|
3049
|
-
&& (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(LabelFormBox, { name: "contingentLiability", title: "Contingent Liability", description: "Contingent liability provides protection for your condominium unit if the condominium management's insurance policy proves to be inadequate or has lapsed. For information on the coverage limit, please speak with the broker.", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "lossAssessmentProperty", title: "Loss Assessment - Property", description: "This type of coverage safeguards the communal property that you utilize along with other condominium residents, in the event that the policy held by the condominium management falls short or has ended. For specifics regarding the coverage limit, please engage with the broker.", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "lossAssessmentLiability", title: "Loss Assessment - Liability", description: "This coverage shields the collective liability that you and other condo residents bear for the shared property, should the condo management's insurance policy be inadequate or have expired. To understand the limit of this coverage, it's advisable to consult with the broker.", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "bettermentsImprovements", title: "Betterments and Improvements", description: "This coverage applies to any enhancements you've made to the built-in attributes and amenities of your condominium. To determine the extent of this coverage, please speak with the broker.", isActive: true })] }))] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(LabelFormBox, { name: "outbuildings", title: "Outbuildings", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "contents", title: "Contents", isActive: true })] })), jsxRuntime.jsx(LabelFormBox, { name: "voluntaryMedical", title: "Voluntary Medical", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "voluntaryProperty", title: "Voluntary Property", description: "This coverage provides protection if you inadvertently cause damage to another individual's property, irrespective of your legal obligation to compensate for the damages. For information regarding the coverage limit, please consult with the broker.", isActive: true })] }) })] }) }));
|
|
3071
|
+
return (jsxRuntime.jsx("div", { className: "form-container", children: jsxRuntime.jsxs("div", { className: `form-section edit-recalc-container ${mychoiceCls}`, children: [jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.homeCoverageOptions, name: "deductible", onChange: handleDeductibleChange, defaultValue: getSelectedOption(mychoiceSdkComponents.homeCoverageOptions, deductible), title: "Deductible", description: "The deductible is the sum you commit to paying out-of-pocket when making an insurance claim. This amount is subtracted from the total payout you receive from your insurance provider. As an illustration, if your agreed-upon deductible is $500 and the overall damage cost is $5,000, you would cover the first $500, while the insurance company would handle the remaining $4,500. By choosing to increase your deductible, you can reduce the price of your premium.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.homeLiabilityOptions, name: "liability", onChange: handleLiabilityChange, defaultValue: getSelectedOption(mychoiceSdkComponents.homeLiabilityOptions, liability), title: "Liability", description: "Liability insurance safeguards you in case someone gets hurt on your premises, regardless of whether the injury was accidental. For instance, if an individual falls over and injures themselves within your property and opts to take legal action, liability insurance will shoulder a portion of the related expenses. Additionally, it provides protection in the event that you cause damage to another person's property. However, it's important to note that elevating your liability limit can lead to a higher premium cost.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false }), !(insuranceType === mychoiceSdkComponents.InsuranceTypes.Home) && (jsxRuntime.jsx(SelectFormBox, { options: ppLocalOptions, name: "pp", onChange: handlePpChange, defaultValue: getSelectedOption(ppLocalOptions, pp), title: "Personal Property Limit", description: "Personal property refers to the items that you own and typically store within your home, including things like furniture, appliances, clothing, and so on.", placeholder: "Select from the list", autoSelectIfValueIsOutOfOptions: false })), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.yesNoOptions, onChange: handleWaterCoverageChange, name: "waterCoverage", defaultValue: getSelectedOption(mychoiceSdkComponents.yesNoOptions, waterCoverage), title: "Water Damage", description: "Water damage insurance includes the following three types of coverage:\n\n1. Sewer Backup Coverage: This protection safeguards you against floods resulting from an overflow of the sewage system due to heavy rainfall or snowmelt.\n\n2. Overland Water Coverage: This coverage defends you against damages from water entering your home at or above ground level, which may be due to an overflowing lake or river, heavy rain, or melted snow.\n\n3. Ground Water Coverage: This coverage provides protection from damage caused by groundwater entering your home through the foundation, floors, or basement walls following sudden water accumulation after substantial rain or snowmelt.\n\nPlease be aware that each insurance provider may have unique policies regarding water damage coverage. Some providers may only offer all three types of coverage together, while others might offer just one. To determine the coverage that is most appropriate for your needs, please consult with our broker partner." }), jsxRuntime.jsx(BlockSubmit$1, { className: `${isTheBig ? 'thebig-bold' : 'mychoice'} recalculate`, label: "Recalculate Quote", buttonSize: mychoiceSdkComponents.SizeTypes.Medium, isRecalc: true }), jsxRuntime.jsx("div", { className: "endorsements-container", children: jsxRuntime.jsxs("div", { className: "labels-block", children: [!(insuranceType === mychoiceSdkComponents.InsuranceTypes.Home) ? (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(LabelFormBox, { name: "additionalLivingExpenses", title: "Additional Living Expenses", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), insuranceType === mychoiceSdkComponents.InsuranceTypes.Condo && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(LabelFormBox, { name: "contingentLiability", title: "Contingent Liability", description: "Contingent liability provides protection for your condominium unit if the condominium management's insurance policy proves to be inadequate or has lapsed. For information on the coverage limit, please speak with the broker.", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "lossAssessmentProperty", title: "Loss Assessment - Property", description: "This type of coverage safeguards the communal property that you utilize along with other condominium residents, in the event that the policy held by the condominium management falls short or has ended. For specifics regarding the coverage limit, please engage with the broker.", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "lossAssessmentLiability", title: "Loss Assessment - Liability", description: "This coverage shields the collective liability that you and other condo residents bear for the shared property, should the condo management's insurance policy be inadequate or have expired. To understand the limit of this coverage, it's advisable to consult with the broker.", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "bettermentsImprovements", title: "Betterments and Improvements", description: "This coverage applies to any enhancements you've made to the built-in attributes and amenities of your condominium. To determine the extent of this coverage, please speak with the broker.", isActive: true })] }))] })) : (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(LabelFormBox, { name: "outbuildings", title: "Outbuildings", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "contents", title: "Contents", isActive: true })] })), jsxRuntime.jsx(LabelFormBox, { name: "voluntaryMedical", title: "Voluntary Medical", description: "This coverage allows you to cover the medical expenses of someone who sustains an injury on your property, irrespective of your legal liability for the damages. To clarify the extent of this coverage, please engage in a conversation with the broker.", isActive: true }), jsxRuntime.jsx(LabelFormBox, { name: "voluntaryProperty", title: "Voluntary Property", description: "This coverage provides protection if you inadvertently cause damage to another individual's property, irrespective of your legal obligation to compensate for the damages. For information regarding the coverage limit, please consult with the broker.", isActive: true })] }) })] }) }));
|
|
3050
3072
|
};
|
|
3051
3073
|
|
|
3052
3074
|
const SplashScreen$1 = () => {
|
|
@@ -3116,7 +3138,7 @@ const Description = () => (jsxRuntime.jsxs("div", { children: [jsxRuntime.jsx("s
|
|
|
3116
3138
|
const SectionCoverage = () => {
|
|
3117
3139
|
const { coverageState: { type, coverage, province, inValidation }, dispatchCoverageState, } = mychoiceSdkStore.useStoreFormLifeCoverage();
|
|
3118
3140
|
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
3119
|
-
const isMychoice =
|
|
3141
|
+
const isMychoice = mychoiceSdkComponents.isMyChoiceLike(appType);
|
|
3120
3142
|
// const handleProvinceChange = ({ value }: OnChangeEventInterface) => {
|
|
3121
3143
|
// dispatchCoverageState({
|
|
3122
3144
|
// type: StoreFormLifeCoverageActionTypes.FormLifeProvinceSelect,
|
|
@@ -3299,10 +3321,9 @@ const SectionApplicant = () => {
|
|
|
3299
3321
|
textAlign: 'center',
|
|
3300
3322
|
fontSize: '1.15rem',
|
|
3301
3323
|
marginTop: '10px',
|
|
3302
|
-
}, children: `Canadians have compared rates in the last 24 hours and saved ${savedPercentage}% on average` })] }), jsxRuntime.jsx("h2", { className: "section-title", style: { textAlign: 'center' }, children: `${lockEmoji} Complete the form below to see which companies are offering your quotes.` }), jsxRuntime.jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your life insurance quotes, please provide your email after completing the final steps so we can send you your personalized free life insurance quotes!" }), jsxRuntime.jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "Date of birth", error: inValidation, errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], inValidation), maxDate: mychoiceSdkComponents.subYearsFromDate('', 14), isDay: true }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.genderOptions, name: "gender", onChange: handleGenderChange, defaultValue: getSelectedOption(mychoiceSdkComponents.genderOptions, gender), title: "Gender", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !gender && inValidation, errorMessage: getErrorMessage(`${gender}`.toString(), inValidation) }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.smokerOptions, onChange: handleSmokerChange, name: "smoker", defaultValue: getSelectedOption(mychoiceSdkComponents.smokerOptions, smoker), title: "Smoker" }), isTheBig && (jsxRuntime.jsxs("div", { className: "input-form-box-container", children: [jsxRuntime.jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxRuntime.jsxs("ol", { className: "ordered-block", children: [jsxRuntime.jsx("li", { children: "See what rates insurance carriers are offering" }), jsxRuntime.jsx("li", { children: "Get in touch with us and secure your rate" }), jsxRuntime.jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })), jsxRuntime.jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && inValidation, errorMessage: getErrorMessage(firstName, inValidation) }), jsxRuntime.jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && inValidation, errorMessage: getErrorMessage(lastName, inValidation) }), jsxRuntime.jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && inValidation, errorMessage: getErrorMessage(phone, inValidation) }), jsxRuntime.jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please provide your email address so we can send you a copy of your quotes", onChange: handleEmailChange, defaultValue: email, placeholder:
|
|
3324
|
+
}, children: `Canadians have compared rates in the last 24 hours and saved ${savedPercentage}% on average` })] }), jsxRuntime.jsx("h2", { className: "section-title", style: { textAlign: 'center' }, children: `${lockEmoji} Complete the form below to see which companies are offering your quotes.` }), jsxRuntime.jsx("span", { className: "info-title-message", children: "You are seconds away from receiving your life insurance quotes, please provide your email after completing the final steps so we can send you your personalized free life insurance quotes!" }), jsxRuntime.jsx(DateSelectFormBox, { name: "dateOfBirth", dateNames: ['birthYear', 'birthMonth', 'birthDay'], onDateChange: handleDateOfBirthChange, defaultValue: defaultDateOfBirth, title: "Date of birth", error: inValidation, errorMessage: getDateErrorMessage([birthDay || '', birthMonth || '', birthYear || ''], inValidation), maxDate: mychoiceSdkComponents.subYearsFromDate('', 14), isDay: true }), jsxRuntime.jsx(SelectFormBox, { options: mychoiceSdkComponents.genderOptions, name: "gender", onChange: handleGenderChange, defaultValue: getSelectedOption(mychoiceSdkComponents.genderOptions, gender), title: "Gender", placeholder: "Select", autoSelectIfValueIsOutOfOptions: false, error: !gender && inValidation, errorMessage: getErrorMessage(`${gender}`.toString(), inValidation) }), jsxRuntime.jsx(SwitchButtonBox, { items: mychoiceSdkComponents.smokerOptions, onChange: handleSmokerChange, name: "smoker", defaultValue: getSelectedOption(mychoiceSdkComponents.smokerOptions, smoker), title: "Smoker" }), isTheBig && (jsxRuntime.jsxs("div", { className: "input-form-box-container", children: [jsxRuntime.jsx(LabelFormBox, { title: "Complete this form to see all your personalized\n quotes on the next page, you will also be able to:" }), jsxRuntime.jsxs("ol", { className: "ordered-block", children: [jsxRuntime.jsx("li", { children: "See what rates insurance carriers are offering" }), jsxRuntime.jsx("li", { children: "Get in touch with us and secure your rate" }), jsxRuntime.jsx("li", { children: "Potentially save more by speaking with a broker" })] })] })), jsxRuntime.jsx(InputFormBox, { name: "firstName", title: "First Name", onChange: handleFirstNameChange, defaultValue: firstName, placeholder: "Your First Name", error: !firstName && inValidation, errorMessage: getErrorMessage(firstName, inValidation) }), jsxRuntime.jsx(InputFormBox, { name: "lastname", title: "Last Name", onChange: handleLastNameChange, defaultValue: lastName, placeholder: "Your Last Name", error: !lastName && inValidation, errorMessage: getErrorMessage(lastName, inValidation) }), jsxRuntime.jsx(InputFormPhoneBox, { name: "phone", onChange: handlePhoneNumberChange, defaultValue: phone, title: "Phone Number", placeholder: "(855) 325-8444", error: !phone && inValidation, errorMessage: getErrorMessage(phone, inValidation) }), jsxRuntime.jsx(InputFormEmailBox, { validationStatus: emailStatus, name: "email", title: "Please provide your email address so we can send you a copy of your quotes", onChange: handleEmailChange, defaultValue: email, placeholder: mychoiceSdkComponents.getPlaceholderEmail(appType), errorMessage: emailStatus === mychoiceSdkComponents.ValidationStatusTypes.Declined
|
|
3303
3325
|
? errorMessage
|
|
3304
|
-
: getErrorMessage(email, inValidation), error: emailStatus === mychoiceSdkComponents.ValidationStatusTypes.Declined ||
|
|
3305
|
-
(!email && inValidation) }), jsxRuntime.jsx(BlockSubmit, { className: isTheBig ? 'thebig-bold' : '' }), jsxRuntime.jsx(BlockNextPageInfo, {})] }));
|
|
3326
|
+
: getErrorMessage(email, inValidation), error: emailStatus === mychoiceSdkComponents.ValidationStatusTypes.Declined || (!email && inValidation) }), jsxRuntime.jsx(BlockSubmit, { className: isTheBig ? 'thebig-bold' : '' }), jsxRuntime.jsx(BlockNextPageInfo, {})] }));
|
|
3306
3327
|
};
|
|
3307
3328
|
|
|
3308
3329
|
const PageLifeApplicant = () => {
|
|
@@ -3415,16 +3436,18 @@ const getFormattedAddress = (unitNumber, streetAddress, city, provinceCode, post
|
|
|
3415
3436
|
return '';
|
|
3416
3437
|
};
|
|
3417
3438
|
const ModalAddress = () => {
|
|
3418
|
-
const { appModalState: { title, description, submitButtonText, cancelButtonText, submitCallBack, cancelCallBack
|
|
3419
|
-
const { status, getPostal, errorMessage: reqErrorMessage
|
|
3420
|
-
const { postalState: { item, inValidation }, dispatchPostalState } = mychoiceSdkStore.useStoreFormHomePostal();
|
|
3421
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
3422
|
-
const { postalCode, city, provinceCode, streetAddress, unitNumber
|
|
3439
|
+
const { appModalState: { title, description, submitButtonText, cancelButtonText, submitCallBack, cancelCallBack }, dispatchAppModalState, } = mychoiceSdkStore.useStoreAppModal();
|
|
3440
|
+
const { status, getPostal, errorMessage: reqErrorMessage } = mychoiceSdkStore.useHandlerPostal(mychoiceSdkComponents.InsuranceTypes.Home);
|
|
3441
|
+
const { postalState: { item, inValidation }, dispatchPostalState, } = mychoiceSdkStore.useStoreFormHomePostal();
|
|
3442
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
3443
|
+
const { postalCode, city, provinceCode, streetAddress, unitNumber } = item;
|
|
3423
3444
|
const [localPostalCode, setLocalPostalCode] = React.useState(postalCode);
|
|
3424
3445
|
const [localUnitNumber, setLocalUnitNumber] = React.useState(unitNumber);
|
|
3425
3446
|
const [localStreetAddress, setLocalStreetAddress] = React.useState(streetAddress);
|
|
3426
3447
|
const loading = status === mychoiceSdkComponents.RequestStatusTypes.Loading;
|
|
3427
|
-
const streetAddressErrMessage = !/\b\s+\b/.test(localStreetAddress)
|
|
3448
|
+
const streetAddressErrMessage = !/\b\s+\b/.test(localStreetAddress)
|
|
3449
|
+
? 'The street address should be in the format "123 Streetname Rd."'
|
|
3450
|
+
: '';
|
|
3428
3451
|
const postalCodeErrMessage = localPostalCode.length < 4 ? 'Postal code should have at least 4 characters' : '';
|
|
3429
3452
|
const handleClick = (callBack) => () => {
|
|
3430
3453
|
if (callBack) {
|
|
@@ -3440,10 +3463,14 @@ const ModalAddress = () => {
|
|
|
3440
3463
|
submitCallBack();
|
|
3441
3464
|
}
|
|
3442
3465
|
else if (!localPostalCode || !localStreetAddress || streetAddressErrMessage || postalCodeErrMessage) {
|
|
3443
|
-
dispatchPostalState({
|
|
3466
|
+
dispatchPostalState({
|
|
3467
|
+
type: mychoiceSdkStore.StoreFormHomePostalActionTypes.FormHomePostalValidate,
|
|
3468
|
+
payload: { inValidation: true },
|
|
3469
|
+
});
|
|
3444
3470
|
}
|
|
3445
3471
|
else {
|
|
3446
|
-
getPostal(mychoiceSdkComponents.postalCodeFormat(localPostalCode))
|
|
3472
|
+
getPostal(mychoiceSdkComponents.postalCodeFormat(localPostalCode))
|
|
3473
|
+
.then((result) => {
|
|
3447
3474
|
const formattedAddress = getFormattedAddress(localUnitNumber, localStreetAddress, result?.data?.city || '', result?.data?.provinceCode || '', localPostalCode, 'Canada');
|
|
3448
3475
|
dispatchPostalState({
|
|
3449
3476
|
type: mychoiceSdkStore.StoreFormHomePostalActionTypes.FormHomePostalSet,
|
|
@@ -3456,7 +3483,8 @@ const ModalAddress = () => {
|
|
|
3456
3483
|
},
|
|
3457
3484
|
});
|
|
3458
3485
|
dispatchAppModalState({ type: mychoiceSdkStore.StoreConfigAppModalActionTypes.AppModalClose });
|
|
3459
|
-
})
|
|
3486
|
+
})
|
|
3487
|
+
.catch();
|
|
3460
3488
|
}
|
|
3461
3489
|
}
|
|
3462
3490
|
};
|
|
@@ -3473,7 +3501,7 @@ const ModalAddress = () => {
|
|
|
3473
3501
|
break;
|
|
3474
3502
|
}
|
|
3475
3503
|
};
|
|
3476
|
-
return (jsxRuntime.jsxs("div", { className: `modal-container edit-address ${
|
|
3504
|
+
return (jsxRuntime.jsxs("div", { className: `modal-container edit-address ${mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: [title && jsxRuntime.jsx("h3", { children: title }), description && jsxRuntime.jsx("p", { children: description }), jsxRuntime.jsx(InputFormBox, { name: "streetAddress", title: "Street Address", onChange: handleChange('streetAddress'), defaultValue: localStreetAddress, placeholder: "Street Name and Number", error: (!localStreetAddress || !/\b\s+\b/.test(localStreetAddress)) && inValidation, errorMessage: getErrorMessage(localStreetAddress, inValidation, streetAddressErrMessage) }), jsxRuntime.jsx(InputFormBox, { name: "unitApartmentNumber", title: "Unit/Apartment number", onChange: handleChange('unitNumber'), defaultValue: localUnitNumber, placeholder: "Unit, Suite or Apartment Number" }), jsxRuntime.jsx(InputFormBox, { name: "city", title: "City", defaultValue: city, placeholder: "City", error: !city && inValidation, errorMessage: getErrorMessage(city, inValidation), disabled: true }), jsxRuntime.jsx(InputFormBox, { name: "postalCode", title: "Postal Code", onChange: handleChange('postalCode'), defaultValue: localPostalCode, placeholder: "", maxLength: 7, error: ((!localPostalCode || localPostalCode.length < 4) && inValidation) || !!reqErrorMessage, errorMessage: getErrorMessage(localPostalCode, inValidation, postalCodeErrMessage) || reqErrorMessage }), jsxRuntime.jsx(InputFormBox, { name: "province", title: "Province Code", defaultValue: provinceCode, placeholder: "", error: !provinceCode && inValidation, errorMessage: getErrorMessage(provinceCode, inValidation), disabled: true }), jsxRuntime.jsxs("div", { className: "modal-buttons", children: [cancelButtonText && (jsxRuntime.jsx(mychoiceSdkComponents.ButtonBase, { type: mychoiceSdkComponents.ButtonTypes.Button, label: cancelButtonText, category: mychoiceSdkComponents.CategoryTypes.Outlined, color: mychoiceSdkComponents.ColorTypes.Default, variant: mychoiceSdkComponents.ButtonVariantTypes.Rectangle, size: mychoiceSdkComponents.SizeTypes.Large, onClick: handleClick(cancelCallBack) })), jsxRuntime.jsx(mychoiceSdkComponents.ButtonBase, { className: `${loading ? 'disabled' : ''}`, type: mychoiceSdkComponents.ButtonTypes.Button, label: !loading ? submitButtonText || 'OK' : '', category: mychoiceSdkComponents.CategoryTypes.Filled, color: mychoiceSdkComponents.ColorTypes.Primary, variant: mychoiceSdkComponents.ButtonVariantTypes.Rectangle, size: mychoiceSdkComponents.SizeTypes.Large, onClick: onSubmit, children: loading ? jsxRuntime.jsx(mychoiceSdkComponents.IconLoaderSecondary, {}) : undefined })] })] }));
|
|
3477
3505
|
};
|
|
3478
3506
|
|
|
3479
3507
|
const ModalFinale = () => {
|
|
@@ -3500,8 +3528,8 @@ PostalCodeDataBox.defaultProps = {
|
|
|
3500
3528
|
postalCode: '',
|
|
3501
3529
|
};
|
|
3502
3530
|
|
|
3503
|
-
const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted
|
|
3504
|
-
const { appConfigState: { insuranceType, appType, localIndex } } = mychoiceSdkStore.useStoreAppConfig();
|
|
3531
|
+
const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted }) => {
|
|
3532
|
+
const { appConfigState: { insuranceType, appType, localIndex }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
3505
3533
|
const { appDeviceType } = mychoiceSdkStore.useStoreDeviceType();
|
|
3506
3534
|
const isMobile = appDeviceType === mychoiceSdkComponents.DeviceTypes.Mobile;
|
|
3507
3535
|
const navigate = reactRouterDom.useNavigate();
|
|
@@ -3513,7 +3541,9 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3513
3541
|
const activeStep = formSteps.find((step) => currentPath[currentPath.length - 1] === step.path?.substring(1));
|
|
3514
3542
|
let activeIndex = formSteps.indexOf(activeStep);
|
|
3515
3543
|
activeIndex = activeIndex === -1 ? 0 : activeIndex;
|
|
3516
|
-
let navigationCls = propertyIsCompleted
|
|
3544
|
+
let navigationCls = propertyIsCompleted
|
|
3545
|
+
? 'mychoice-car-navigation-step-container'
|
|
3546
|
+
: 'mychoice-home-navigation-step-container';
|
|
3517
3547
|
if (insuranceType === mychoiceSdkComponents.InsuranceTypes.Life) {
|
|
3518
3548
|
navigationCls = 'mychoice-life-navigation-step-container';
|
|
3519
3549
|
}
|
|
@@ -3527,7 +3557,8 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3527
3557
|
// }
|
|
3528
3558
|
// }, [propertyIsCompleted]);
|
|
3529
3559
|
const handleStepClick = (item, itemIndex) => () => {
|
|
3530
|
-
if (window.location.pathname !== `/${localIndex}/${insuranceType}${item.path}`) {
|
|
3560
|
+
if (window.location.pathname !== `/${localIndex}/${insuranceType}${item.path}`) {
|
|
3561
|
+
// ignore double click
|
|
3531
3562
|
if (activeIndex > (itemIndex || 0)) {
|
|
3532
3563
|
navigate(`/${localIndex}/${insuranceType}${item?.path}`);
|
|
3533
3564
|
}
|
|
@@ -3543,13 +3574,16 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3543
3574
|
validateOptions.forEach((option, index) => {
|
|
3544
3575
|
const isValid = !option.isValid ? option.validate(false) : option.isValid;
|
|
3545
3576
|
formValidations.push({
|
|
3546
|
-
isValid,
|
|
3577
|
+
isValid,
|
|
3578
|
+
validate: option.validate,
|
|
3579
|
+
requestFn: option?.requestFn || undefined,
|
|
3580
|
+
index,
|
|
3547
3581
|
});
|
|
3548
3582
|
});
|
|
3549
3583
|
}
|
|
3550
3584
|
const formValidated = formValidations.find((option) => !option.isValid);
|
|
3551
3585
|
if (formValidated && !formValidated.isValid) {
|
|
3552
|
-
navigate(`/${localIndex}/${insuranceType}${formSteps[
|
|
3586
|
+
navigate(`/${localIndex}/${insuranceType}${formSteps[formValidated.index || 0]?.path}`);
|
|
3553
3587
|
//
|
|
3554
3588
|
// dispatchAppModalState({
|
|
3555
3589
|
// type: StoreConfigAppModalActionTypes.AppModalMessageModal,
|
|
@@ -3571,7 +3605,7 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3571
3605
|
}
|
|
3572
3606
|
}
|
|
3573
3607
|
};
|
|
3574
|
-
return (jsxRuntime.jsxs("ol", { className:
|
|
3608
|
+
return (jsxRuntime.jsxs("ol", { className: mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice-navigation-steps-container' : 'navigation-steps-container', children: [!isMobile ? (jsxRuntime.jsx(jsxRuntime.Fragment, { children: formSteps?.map((item, index) => {
|
|
3575
3609
|
let cls;
|
|
3576
3610
|
switch (true) {
|
|
3577
3611
|
case activeIndex > index:
|
|
@@ -3580,16 +3614,15 @@ const StepsBox = ({ formSteps, validationHooks, propertyIsCompleted, }) => {
|
|
|
3580
3614
|
case activeIndex === index:
|
|
3581
3615
|
cls = 'in-progress';
|
|
3582
3616
|
break;
|
|
3583
|
-
default:
|
|
3617
|
+
default:
|
|
3618
|
+
cls = 'todo';
|
|
3584
3619
|
}
|
|
3585
3620
|
// const homeNavigationCls = propertyIsCompleted ? 'mychoice-car-navigation-step-container' : 'mychoice-home-navigation-step-container';
|
|
3586
|
-
if (
|
|
3621
|
+
if (mychoiceSdkComponents.isMyChoiceLike(appType) && index === formSteps.length - 1) {
|
|
3587
3622
|
return jsxRuntime.jsx(jsxRuntime.Fragment, {});
|
|
3588
3623
|
}
|
|
3589
|
-
return (jsxRuntime.jsx("div", { role: "presentation", className:
|
|
3590
|
-
|
|
3591
|
-
: jsxRuntime.jsx(mychoiceSdkComponents.Step, { className: cls, item: item, index: index }, `${index}-${item?.title}`) }, `${index}-${item?.title}`));
|
|
3592
|
-
}) })) : jsxRuntime.jsx(mychoiceSdkComponents.Step, { item: formSteps[activeIndex], index: activeIndex, itemsCount: formSteps.length, isMobile: true }), appType === mychoiceSdkComponents.AppTypes.MyChoice && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("hr", {}), jsxRuntime.jsxs("div", { className: "estimated-minutes", children: [jsxRuntime.jsx(mychoiceSdkComponents.IconClock, {}), jsxRuntime.jsxs("div", { children: ["Estimated", ' ', jsxRuntime.jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] })] })] }))] }));
|
|
3624
|
+
return (jsxRuntime.jsx("div", { role: "presentation", className: mychoiceSdkComponents.isMyChoiceLike(appType) ? navigationCls : 'navigation-step-container', onKeyDown: handleStepClick(item, index), onClick: handleStepClick(item, index), children: mychoiceSdkComponents.isMyChoiceLike(appType) ? (jsxRuntime.jsx(mychoiceSdkComponents.MychoiceStep, { className: cls, item: item, index: index }, `${index}-${item?.title}`)) : (jsxRuntime.jsx(mychoiceSdkComponents.Step, { className: cls, item: item, index: index }, `${index}-${item?.title}`)) }, `${index}-${item?.title}`));
|
|
3625
|
+
}) })) : (jsxRuntime.jsx(mychoiceSdkComponents.Step, { item: formSteps[activeIndex], index: activeIndex, itemsCount: formSteps.length, isMobile: true })), mychoiceSdkComponents.isMyChoiceLike(appType) && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx("hr", {}), jsxRuntime.jsxs("div", { className: "estimated-minutes", children: [jsxRuntime.jsx(mychoiceSdkComponents.IconClock, {}), jsxRuntime.jsxs("div", { children: ["Estimated", ' ', jsxRuntime.jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, " ", formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] })] })] }))] }));
|
|
3593
3626
|
};
|
|
3594
3627
|
StepsBox.defaultProps = {
|
|
3595
3628
|
partnerId: '',
|
|
@@ -3676,7 +3709,7 @@ ButtonsBox.defaultProps = {
|
|
|
3676
3709
|
|
|
3677
3710
|
const NavigationTop = ({ title, postalCode, validationHooks, formSteps, clearForm, propertyIsCompleted, }) => {
|
|
3678
3711
|
const { pathname } = reactRouterDom.useLocation();
|
|
3679
|
-
const { appConfigState: { appType, localIndex } } = mychoiceSdkStore.useStoreAppConfig();
|
|
3712
|
+
const { appConfigState: { appType, localIndex }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
3680
3713
|
const isTheBig = appType === mychoiceSdkComponents.AppTypes.TheBig;
|
|
3681
3714
|
const { appDeviceType } = mychoiceSdkStore.useStoreDeviceType();
|
|
3682
3715
|
const isDesktop = appDeviceType === mychoiceSdkComponents.DeviceTypes.Desktop;
|
|
@@ -3702,8 +3735,7 @@ const NavigationTop = ({ title, postalCode, validationHooks, formSteps, clearFor
|
|
|
3702
3735
|
return `rgba(${r}, ${g}, ${b}, ${alpha})`;
|
|
3703
3736
|
}
|
|
3704
3737
|
}
|
|
3705
|
-
return (jsxRuntime.jsx("div", { className: localIndex !== mychoiceSdkComponents.defaultLocalIndex ? 'navigation-container-partner' : 'navigation-container', children: jsxRuntime.jsxs("div", { className: `content ${
|
|
3706
|
-
? (jsxRuntime.jsx(jsxRuntime.Fragment, { children: !isDesktop && (formSteps.length - activeIndex - 1) ? (jsxRuntime.jsxs("div", { className: "estimated-minutes", children: [jsxRuntime.jsx(mychoiceSdkComponents.IconClock, {}), jsxRuntime.jsxs("div", { children: [isMobile ? (jsxRuntime.jsx("div", { children: jsxRuntime.jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }) })) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { children: ["Estimated", ' ', jsxRuntime.jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] }) })), jsxRuntime.jsx("span", { children: `Step ${activeIndex + 1}/${formSteps.length - 1}` })] })] })) : jsxRuntime.jsx("span", {}) })) : (jsxRuntime.jsx(StepsBox, { formSteps: formSteps, validationHooks: validationHooks, propertyIsCompleted: propertyIsCompleted })), jsxRuntime.jsx(ButtonsBox, { formSteps: formSteps, validationHooks: validationHooks, clearForm: clearForm, propertyIsCompleted: propertyIsCompleted })] }) }));
|
|
3738
|
+
return (jsxRuntime.jsx("div", { className: localIndex !== mychoiceSdkComponents.defaultLocalIndex ? 'navigation-container-partner' : 'navigation-container', children: jsxRuntime.jsxs("div", { className: `content ${mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: [jsxRuntime.jsx(PostalCodeDataBox, { className: isTheBig ? 'thebig' : '', title: title, postalCode: postalCode }), mychoiceSdkComponents.isMyChoiceLike(appType) ? (jsxRuntime.jsx(jsxRuntime.Fragment, { children: !isDesktop && formSteps.length - activeIndex - 1 ? (jsxRuntime.jsxs("div", { className: "estimated-minutes", children: [jsxRuntime.jsx(mychoiceSdkComponents.IconClock, {}), jsxRuntime.jsxs("div", { children: [isMobile ? (jsxRuntime.jsx("div", { children: jsxRuntime.jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }) })) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { children: ["Estimated", ' ', jsxRuntime.jsxs("span", { className: "time", children: [formSteps.length - activeIndex - 1, ' ', formSteps.length - activeIndex - 1 > 1 ? 'minutes' : 'minute'] }), ' ', "to complete"] }) })), jsxRuntime.jsx("span", { children: `Step ${activeIndex + 1}/${formSteps.length - 1}` })] })] })) : (jsxRuntime.jsx("span", {})) })) : (jsxRuntime.jsx(StepsBox, { formSteps: formSteps, validationHooks: validationHooks, propertyIsCompleted: propertyIsCompleted })), jsxRuntime.jsx(ButtonsBox, { formSteps: formSteps, validationHooks: validationHooks, clearForm: clearForm, propertyIsCompleted: propertyIsCompleted })] }) }));
|
|
3707
3739
|
};
|
|
3708
3740
|
NavigationTop.defaultProps = {
|
|
3709
3741
|
isMobile: false,
|
|
@@ -3714,9 +3746,9 @@ const NavigationBottom = ({ createItem, validateForm, formSteps, className, item
|
|
|
3714
3746
|
const { pathname } = reactRouterDom.useLocation();
|
|
3715
3747
|
const navigate = reactRouterDom.useNavigate();
|
|
3716
3748
|
const { appConfigState } = mychoiceSdkStore.useStoreAppConfig();
|
|
3717
|
-
const isMychoice = appConfigState.appType
|
|
3749
|
+
const isMychoice = mychoiceSdkComponents.isMyChoiceLike(appConfigState.appType);
|
|
3718
3750
|
const { insuranceType } = appConfigState;
|
|
3719
|
-
const { dwellingState: { isCompleted } } = mychoiceSdkStore.useStoreFormHomeDwelling();
|
|
3751
|
+
const { dwellingState: { isCompleted }, } = mychoiceSdkStore.useStoreFormHomeDwelling();
|
|
3720
3752
|
const [steps, setSteps] = React.useState(formSteps);
|
|
3721
3753
|
const currentPath = pathname.split('/');
|
|
3722
3754
|
const activeIndex = steps.find((step) => currentPath[currentPath.length - 1] === step.path?.substring(1))?.key || 0;
|
|
@@ -3950,39 +3982,35 @@ const AppModalWrapper = () => {
|
|
|
3950
3982
|
const { appModalState } = mychoiceSdkStore.useStoreAppModal();
|
|
3951
3983
|
switch (appModalState.modalType) {
|
|
3952
3984
|
case mychoiceSdkComponents.ModalTypes.MessageModal:
|
|
3953
|
-
return
|
|
3985
|
+
return jsxRuntime.jsx(ModalMessage, {});
|
|
3954
3986
|
case mychoiceSdkComponents.ModalTypes.ConfirmModal:
|
|
3955
|
-
return
|
|
3987
|
+
return jsxRuntime.jsx(ModalConfirm, {});
|
|
3956
3988
|
case mychoiceSdkComponents.ModalTypes.PostalModal:
|
|
3957
|
-
return
|
|
3989
|
+
return jsxRuntime.jsx(ModalPostal, {});
|
|
3958
3990
|
case mychoiceSdkComponents.ModalTypes.AddressModal:
|
|
3959
|
-
return
|
|
3991
|
+
return jsxRuntime.jsx(ModalAddress, {});
|
|
3960
3992
|
case mychoiceSdkComponents.ModalTypes.FinaleModal:
|
|
3961
|
-
return
|
|
3993
|
+
return jsxRuntime.jsx(ModalFinale, {});
|
|
3962
3994
|
default:
|
|
3963
3995
|
return null;
|
|
3964
3996
|
}
|
|
3965
3997
|
};
|
|
3966
3998
|
const AppModal = () => {
|
|
3967
3999
|
const { appModalState } = mychoiceSdkStore.useStoreAppModal();
|
|
3968
|
-
const { appConfigState: { appType } } = mychoiceSdkStore.useStoreAppConfig();
|
|
4000
|
+
const { appConfigState: { appType }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
3969
4001
|
const insuranceType = mychoiceSdkComponents.getInsuranceType();
|
|
3970
4002
|
if (appModalState.isOpen && document.location.pathname.indexOf(insuranceType) !== -1) {
|
|
3971
|
-
return (jsxRuntime.jsx("div", { className: `app-modal ${
|
|
4003
|
+
return (jsxRuntime.jsx("div", { className: `app-modal ${mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: jsxRuntime.jsx(AppModalWrapper, {}) }));
|
|
3972
4004
|
}
|
|
3973
4005
|
return null;
|
|
3974
4006
|
};
|
|
3975
4007
|
|
|
3976
4008
|
const AppHeader = () => {
|
|
3977
|
-
const { appConfigState: { appType, localIndex } } = mychoiceSdkStore.useStoreAppConfig();
|
|
4009
|
+
const { appConfigState: { appType, localIndex }, } = mychoiceSdkStore.useStoreAppConfig();
|
|
3978
4010
|
const { appDeviceType } = mychoiceSdkStore.useStoreDeviceType();
|
|
3979
4011
|
if (appType) {
|
|
3980
|
-
return (jsxRuntime.jsxs("div", { className: "app-header", children: [appType === mychoiceSdkComponents.AppTypes.TheBig && jsxRuntime.jsx(HeaderTheBig, { textBack: "home" }), appType === mychoiceSdkComponents.AppTypes.MyChoice
|
|
3981
|
-
|
|
3982
|
-
? jsxRuntime.jsx(HeaderPartner, {})
|
|
3983
|
-
: (jsxRuntime.jsx(jsxRuntime.Fragment, { children: appDeviceType === mychoiceSdkComponents.DeviceTypes.Desktop
|
|
3984
|
-
? jsxRuntime.jsx(HeaderMyChoice, {})
|
|
3985
|
-
: jsxRuntime.jsx(HeaderMyChoiceMobile, {}) })))] }));
|
|
4012
|
+
return (jsxRuntime.jsxs("div", { className: "app-header", children: [appType === mychoiceSdkComponents.AppTypes.TheBig && jsxRuntime.jsx(HeaderTheBig, { textBack: "home" }), appType === mychoiceSdkComponents.AppTypes.BeginInsurance && (jsxRuntime.jsx(jsxRuntime.Fragment, { children: appDeviceType === mychoiceSdkComponents.DeviceTypes.Desktop ? jsxRuntime.jsx(HeaderBeginInsurance, {}) : jsxRuntime.jsx(HeaderBeginInsuranceMobile, {}) })), appType === mychoiceSdkComponents.AppTypes.MyChoice &&
|
|
4013
|
+
(localIndex !== mychoiceSdkComponents.defaultLocalIndex ? (jsxRuntime.jsx(HeaderPartner, {})) : (jsxRuntime.jsx(jsxRuntime.Fragment, { children: appDeviceType === mychoiceSdkComponents.DeviceTypes.Desktop ? jsxRuntime.jsx(HeaderMyChoice, {}) : jsxRuntime.jsx(HeaderMyChoiceMobile, {}) })))] }));
|
|
3986
4014
|
}
|
|
3987
4015
|
return null;
|
|
3988
4016
|
};
|
|
@@ -4082,7 +4110,7 @@ const AppRouteWrapper = (props) => {
|
|
|
4082
4110
|
let postalCode = carPostal;
|
|
4083
4111
|
const { clearFormData, checkIsExpired, checkIsExpiredWithModal } = mychoiceSdkStore.ClearFormDataHandler();
|
|
4084
4112
|
const { appLoaderState } = mychoiceSdkStore.useStoreAppLoader();
|
|
4085
|
-
const isMychoice =
|
|
4113
|
+
const isMychoice = mychoiceSdkComponents.isMyChoiceLike(appType);
|
|
4086
4114
|
switch (insuranceType) {
|
|
4087
4115
|
case mychoiceSdkComponents.InsuranceTypes.Car:
|
|
4088
4116
|
postalCode = carPostal;
|
|
@@ -4347,7 +4375,7 @@ const AppRouteWrapper = (props) => {
|
|
|
4347
4375
|
}
|
|
4348
4376
|
}
|
|
4349
4377
|
}, [carPostal, homePostal, lifePostal, isReady]);
|
|
4350
|
-
return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: isReady && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(AppHeader, {}), jsxRuntime.jsx(AppModal, {}), insuranceType && (jsxRuntime.jsx(NavigationTop, { title: `${insuranceType.replace(/^./, insuranceType[0].toUpperCase())} Insurance Quote`, postalCode: postalCode, formSteps: steps, validationHooks: validationHooks, clearForm: clearFormData, propertyIsCompleted: isCompleted })), insuranceType &&
|
|
4378
|
+
return (jsxRuntime.jsx(jsxRuntime.Fragment, { children: isReady && (jsxRuntime.jsxs(jsxRuntime.Fragment, { children: [jsxRuntime.jsx(AppHeader, {}), jsxRuntime.jsx(AppModal, {}), insuranceType && (jsxRuntime.jsx(NavigationTop, { title: `${insuranceType.replace(/^./, insuranceType[0].toUpperCase())} Insurance Quote`, postalCode: postalCode, formSteps: steps, validationHooks: validationHooks, clearForm: clearFormData, propertyIsCompleted: isCompleted })), insuranceType && mychoiceSdkComponents.isMyChoiceLike(appType) && (jsxRuntime.jsx("div", { className: localIndex !== mychoiceSdkComponents.defaultLocalIndex ? 'step-progress-bar-partner' : 'step-progress-bar', children: jsxRuntime.jsx("span", { style: { width: progressLength } }) })), jsxRuntime.jsx("div", { className: `${insuranceType ? 'form-page-content' : ''} ${insuranceType && mychoiceSdkComponents.isMyChoiceLike(appType) ? 'mychoice' : ''}`, children: insuranceType && mychoiceSdkComponents.isMyChoiceLike(appType) && isDesktop && progressLength ? (jsxRuntime.jsx(jsxRuntime.Fragment, { children: jsxRuntime.jsxs("div", { className: "mychoice-content", children: [jsxRuntime.jsx(StepsBox, { className: "step-box", formSteps: steps, validationHooks: validationHooks, propertyIsCompleted: isCompleted }), children, jsxRuntime.jsx("div", { className: "empty-steps-container" })] }) })) : (children) }), isMychoice && !appLoaderState.isOpen && jsxRuntime.jsx(ProviderImageFooter, {})] })) }));
|
|
4351
4379
|
};
|
|
4352
4380
|
const NestedRoutes = () => {
|
|
4353
4381
|
const insuranceType = mychoiceSdkComponents.getInsuranceType();
|
|
@@ -4489,7 +4517,7 @@ const AppConfig = (props) => {
|
|
|
4489
4517
|
// home insurance steps states
|
|
4490
4518
|
const { dispatchPostalState: dispatchHomePostalState } = mychoiceSdkStore.useStoreFormHomePostal();
|
|
4491
4519
|
const { dispatchApplicantBaseState } = mychoiceSdkStore.useStoreFormHomeApplicantBase();
|
|
4492
|
-
const { dwellingState: { isCompleted }, dispatchDwellingState } = mychoiceSdkStore.useStoreFormHomeDwelling();
|
|
4520
|
+
const { dwellingState: { isCompleted }, dispatchDwellingState, } = mychoiceSdkStore.useStoreFormHomeDwelling();
|
|
4493
4521
|
const { dispatchDiscountState: dispatchHomeDiscountState } = mychoiceSdkStore.useStoreFormHomeDiscount();
|
|
4494
4522
|
const { dispatchQuoteState: dispatchHomeQuoteState } = mychoiceSdkStore.useStoreFormHomeQuote();
|
|
4495
4523
|
// life insurance
|
|
@@ -4548,8 +4576,7 @@ const AppConfig = (props) => {
|
|
|
4548
4576
|
if (authHandler.status === mychoiceSdkComponents.RequestStatusTypes.Waiting) {
|
|
4549
4577
|
authHandler.checkUser();
|
|
4550
4578
|
}
|
|
4551
|
-
if (authHandler.status !== mychoiceSdkComponents.RequestStatusTypes.Waiting
|
|
4552
|
-
&& authHandler.status !== mychoiceSdkComponents.RequestStatusTypes.Loading) {
|
|
4579
|
+
if (authHandler.status !== mychoiceSdkComponents.RequestStatusTypes.Waiting && authHandler.status !== mychoiceSdkComponents.RequestStatusTypes.Loading) {
|
|
4553
4580
|
if (insuranceType === mychoiceSdkComponents.InsuranceTypes.Car) {
|
|
4554
4581
|
dispatchCarPostalState({
|
|
4555
4582
|
type: mychoiceSdkStore.StoreFormCarPostalActionTypes.FormCarPostalGetLocal,
|
|
@@ -4579,7 +4606,9 @@ const AppConfig = (props) => {
|
|
|
4579
4606
|
type: mychoiceSdkStore.StoreFormCarQuoteActionTypes.FormCarQuoteGetLocal,
|
|
4580
4607
|
});
|
|
4581
4608
|
}
|
|
4582
|
-
if (insuranceType === mychoiceSdkComponents.InsuranceTypes.Home ||
|
|
4609
|
+
if (insuranceType === mychoiceSdkComponents.InsuranceTypes.Home ||
|
|
4610
|
+
insuranceType === mychoiceSdkComponents.InsuranceTypes.Condo ||
|
|
4611
|
+
insuranceType === mychoiceSdkComponents.InsuranceTypes.Tenant) {
|
|
4583
4612
|
dispatchHomePostalState({
|
|
4584
4613
|
type: mychoiceSdkStore.StoreFormHomePostalActionTypes.FormHomePostalGetLocal,
|
|
4585
4614
|
});
|
|
@@ -4630,6 +4659,14 @@ const AppConfig = (props) => {
|
|
|
4630
4659
|
payload: true,
|
|
4631
4660
|
});
|
|
4632
4661
|
}
|
|
4662
|
+
if (appType === mychoiceSdkComponents.AppTypes.BeginInsurance) {
|
|
4663
|
+
// Begin Insurance brand colors: Navy Blue primary, Green accent
|
|
4664
|
+
setExternalColors('#0F2043', '#50C878');
|
|
4665
|
+
dispatchAppConfigState({
|
|
4666
|
+
type: mychoiceSdkStore.StoreConfigAppConfigActionTypes.AppConfigSetPreloaded,
|
|
4667
|
+
payload: true,
|
|
4668
|
+
});
|
|
4669
|
+
}
|
|
4633
4670
|
}, [appType]);
|
|
4634
4671
|
React.useEffect(() => {
|
|
4635
4672
|
if (insuranceType === mychoiceSdkComponents.InsuranceTypes.Home && isCompleted) {
|
|
@@ -4686,6 +4723,8 @@ AppWrapper.defaultProps = {
|
|
|
4686
4723
|
|
|
4687
4724
|
exports.AppWrapper = AppWrapper;
|
|
4688
4725
|
exports.DateSelectFormBox = DateSelectFormBox;
|
|
4726
|
+
exports.HeaderBeginInsurance = HeaderBeginInsurance;
|
|
4727
|
+
exports.HeaderBeginInsuranceMobile = HeaderBeginInsuranceMobile;
|
|
4689
4728
|
exports.HeaderMyChoice = HeaderMyChoice;
|
|
4690
4729
|
exports.HeaderMyChoiceMobile = HeaderMyChoiceMobile;
|
|
4691
4730
|
exports.HeaderPartner = HeaderPartner;
|