@mychoice/mychoice-sdk-store 2.2.12 → 2.2.17
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 +82 -4
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/services/api/carInsuranceApi.interfaces.d.ts +235 -0
- package/dist/cjs/services/api/index.d.ts +1 -0
- package/dist/cjs/states/reducers/states/formStates/FormCarState/ConfigState/hoox.d.ts +3 -0
- package/dist/cjs/states/reducers/states/formStates/FormCarState/DiscountState/interfaces.d.ts +1 -0
- package/dist/cjs/states/reducers/states/formStates/FormCarState/QuoteState/interfaces.d.ts +3 -1
- package/dist/cjs/states/reducers/states/formStates/FormCarState/VehicleState/actions.d.ts +5 -1
- package/dist/cjs/states/reducers/states/formStates/FormCarState/VehicleState/helper.d.ts +2 -2
- package/dist/cjs/states/reducers/states/formStates/FormCarState/VehicleState/initialState.d.ts +5 -0
- package/dist/cjs/states/reducers/states/formStates/FormCarState/VehicleState/interfaces.d.ts +28 -0
- package/dist/cjs/states/reducers/states/formStates/FormHomeState/QuoteState/interfaces.d.ts +3 -1
- package/dist/cjs/states/reducers/states/formStates/FormLifeState/QuoteState/interfaces.d.ts +1 -0
- package/dist/esm/index.js +82 -5
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/services/api/carInsuranceApi.interfaces.d.ts +235 -0
- package/dist/esm/services/api/index.d.ts +1 -0
- package/dist/esm/states/reducers/states/formStates/FormCarState/ConfigState/hoox.d.ts +3 -0
- package/dist/esm/states/reducers/states/formStates/FormCarState/DiscountState/interfaces.d.ts +1 -0
- package/dist/esm/states/reducers/states/formStates/FormCarState/QuoteState/interfaces.d.ts +3 -1
- package/dist/esm/states/reducers/states/formStates/FormCarState/VehicleState/actions.d.ts +5 -1
- package/dist/esm/states/reducers/states/formStates/FormCarState/VehicleState/helper.d.ts +2 -2
- package/dist/esm/states/reducers/states/formStates/FormCarState/VehicleState/initialState.d.ts +5 -0
- package/dist/esm/states/reducers/states/formStates/FormCarState/VehicleState/interfaces.d.ts +28 -0
- package/dist/esm/states/reducers/states/formStates/FormHomeState/QuoteState/interfaces.d.ts +3 -1
- package/dist/esm/states/reducers/states/formStates/FormLifeState/QuoteState/interfaces.d.ts +1 -0
- package/dist/index.d.ts +45 -4
- package/package.json +3 -3
package/dist/cjs/index.js
CHANGED
|
@@ -429,6 +429,7 @@ const globalStateReducer = redux.combineReducers({
|
|
|
429
429
|
exports.CarBrokerTypeEnum = void 0;
|
|
430
430
|
(function (CarBrokerTypeEnum) {
|
|
431
431
|
CarBrokerTypeEnum["Youset"] = "youset";
|
|
432
|
+
CarBrokerTypeEnum["Mitch"] = "mitch";
|
|
432
433
|
})(exports.CarBrokerTypeEnum || (exports.CarBrokerTypeEnum = {}));
|
|
433
434
|
|
|
434
435
|
const vehicleComprehensiveInitialState = {
|
|
@@ -455,6 +456,11 @@ const limitedWaiverOfDepreciationInitialState = {
|
|
|
455
456
|
coverage: true,
|
|
456
457
|
limit: 1,
|
|
457
458
|
};
|
|
459
|
+
const vehicleAccidentBenefitsInitialState = {
|
|
460
|
+
baseCoverage: 'minimum_required',
|
|
461
|
+
additionalCoverages: [],
|
|
462
|
+
abAcknowledged: false,
|
|
463
|
+
};
|
|
458
464
|
const vehicleItemInitialState = {
|
|
459
465
|
year: '',
|
|
460
466
|
make: '',
|
|
@@ -477,6 +483,7 @@ const vehicleItemInitialState = {
|
|
|
477
483
|
lossofuse: { ...vehicleLossOfUseInitialState },
|
|
478
484
|
liabilityfordamage: { ...vehicleLiabilityForDamageInitialState },
|
|
479
485
|
limitedwaiverofdepreciation: { ...limitedWaiverOfDepreciationInitialState },
|
|
486
|
+
accidentbenefits: { ...vehicleAccidentBenefitsInitialState },
|
|
480
487
|
postalCode: '',
|
|
481
488
|
locationIndex: '',
|
|
482
489
|
city: '',
|
|
@@ -532,6 +539,10 @@ exports.StoreFormCarVehicleActionTypes = void 0;
|
|
|
532
539
|
StoreFormCarVehicleActionTypes["FormCarLossOfUseCoverageSelect"] = "FormCarLossOfUseCoverageSelect";
|
|
533
540
|
StoreFormCarVehicleActionTypes["FormCarLiabilityForDamageCoverageSelect"] = "FormCarLiabilityForDamageCoverageSelect";
|
|
534
541
|
StoreFormCarVehicleActionTypes["FormCarLimitedWaiverOfDepreciationCoverageSelect"] = "FormCarLimitedWaiverOfDepreciationCoverageSelect";
|
|
542
|
+
StoreFormCarVehicleActionTypes["FormCarAccidentBenefitsBaseCoverageSelect"] = "FormCarAccidentBenefitsBaseCoverageSelect";
|
|
543
|
+
StoreFormCarVehicleActionTypes["FormCarAccidentBenefitsAdditionalCoveragesSet"] = "FormCarAccidentBenefitsAdditionalCoveragesSet";
|
|
544
|
+
StoreFormCarVehicleActionTypes["FormCarAccidentBenefitsAdditionalCoverageRemove"] = "FormCarAccidentBenefitsAdditionalCoverageRemove";
|
|
545
|
+
StoreFormCarVehicleActionTypes["FormCarAccidentBenefitsAcknowledge"] = "FormCarAccidentBenefitsAcknowledge";
|
|
535
546
|
})(exports.StoreFormCarVehicleActionTypes || (exports.StoreFormCarVehicleActionTypes = {}));
|
|
536
547
|
|
|
537
548
|
const createTab = (name, id) => ({
|
|
@@ -565,6 +576,7 @@ const createVehicleItem = (state) => ({
|
|
|
565
576
|
comprehensive: state.items[0].comprehensive,
|
|
566
577
|
collision: state.items[0].collision,
|
|
567
578
|
liability: state.items[0].liability,
|
|
579
|
+
accidentbenefits: state.items[0].accidentbenefits,
|
|
568
580
|
},
|
|
569
581
|
],
|
|
570
582
|
tabs: [...state.tabs, { ...createTab('Vehicle', state.tabs.length) }],
|
|
@@ -696,6 +708,26 @@ const formCarVehicleStateReducer = (state = { ...carFormVehicleInitialState }, a
|
|
|
696
708
|
return setLocalVehicles(action.localIndex, setCarCoverageProperty(state, 'liabilityfordamage', action.payload.coverage, action.payload.limit));
|
|
697
709
|
case exports.StoreFormCarVehicleActionTypes.FormCarLimitedWaiverOfDepreciationCoverageSelect:
|
|
698
710
|
return setLocalVehicles(action.localIndex, setCarCoverageProperty(state, 'limitedwaiverofdepreciation', action.payload.coverage, action.payload.limit));
|
|
711
|
+
case exports.StoreFormCarVehicleActionTypes.FormCarAccidentBenefitsBaseCoverageSelect:
|
|
712
|
+
return setLocalVehicles(action.localIndex, setItemProperty(state, 'accidentbenefits', {
|
|
713
|
+
...state.items[state.activeIndex].accidentbenefits,
|
|
714
|
+
baseCoverage: action.payload.baseCoverage,
|
|
715
|
+
}));
|
|
716
|
+
case exports.StoreFormCarVehicleActionTypes.FormCarAccidentBenefitsAdditionalCoveragesSet:
|
|
717
|
+
return setLocalVehicles(action.localIndex, setItemProperty(state, 'accidentbenefits', {
|
|
718
|
+
...state.items[state.activeIndex].accidentbenefits,
|
|
719
|
+
additionalCoverages: action.payload.additionalCoverages,
|
|
720
|
+
}));
|
|
721
|
+
case exports.StoreFormCarVehicleActionTypes.FormCarAccidentBenefitsAdditionalCoverageRemove:
|
|
722
|
+
return setLocalVehicles(action.localIndex, setItemProperty(state, 'accidentbenefits', {
|
|
723
|
+
...state.items[state.activeIndex].accidentbenefits,
|
|
724
|
+
additionalCoverages: state.items[state.activeIndex].accidentbenefits.additionalCoverages.filter((coverage) => coverage !== action.payload.coverageValue),
|
|
725
|
+
}));
|
|
726
|
+
case exports.StoreFormCarVehicleActionTypes.FormCarAccidentBenefitsAcknowledge:
|
|
727
|
+
return setLocalVehicles(action.localIndex, setItemProperty(state, 'accidentbenefits', {
|
|
728
|
+
...state.items[state.activeIndex].accidentbenefits,
|
|
729
|
+
abAcknowledged: true,
|
|
730
|
+
}));
|
|
699
731
|
default:
|
|
700
732
|
return state;
|
|
701
733
|
}
|
|
@@ -2263,6 +2295,7 @@ const getDwellingInitialState = (type) => {
|
|
|
2263
2295
|
exports.HomeBrokerTypeEnum = void 0;
|
|
2264
2296
|
(function (HomeBrokerTypeEnum) {
|
|
2265
2297
|
HomeBrokerTypeEnum["Youset"] = "youset";
|
|
2298
|
+
HomeBrokerTypeEnum["Mitch"] = "mitch";
|
|
2266
2299
|
})(exports.HomeBrokerTypeEnum || (exports.HomeBrokerTypeEnum = {}));
|
|
2267
2300
|
|
|
2268
2301
|
const formHomePostalInitialState = {
|
|
@@ -3721,6 +3754,16 @@ const useProvince = () => {
|
|
|
3721
3754
|
isOntarioProvince: code === OntarioCode,
|
|
3722
3755
|
};
|
|
3723
3756
|
};
|
|
3757
|
+
const useAbReform = () => {
|
|
3758
|
+
const { isOntarioProvince } = useProvince();
|
|
3759
|
+
const { discountState } = useTypedSelector((state) => state).formCarState;
|
|
3760
|
+
const { policyStartYear, policyStartMonth, policyStartDay, policyStart, } = discountState;
|
|
3761
|
+
const policyStartDate = policyStartYear && policyStartMonth && policyStartDay
|
|
3762
|
+
? `${policyStartYear}-${policyStartMonth}-${policyStartDay}`
|
|
3763
|
+
: policyStart;
|
|
3764
|
+
const isAbReformActive = isOntarioProvince && policyStartDate >= '2026-07-01';
|
|
3765
|
+
return { isAbReformActive };
|
|
3766
|
+
};
|
|
3724
3767
|
|
|
3725
3768
|
const useStoreFormHomeQuote = () => {
|
|
3726
3769
|
const { appConfigState } = useStoreAppConfig();
|
|
@@ -5054,9 +5097,12 @@ const CarQuoteDataHandler = () => {
|
|
|
5054
5097
|
const postal = mychoiceSdkComponents.deepClone(postalState).item;
|
|
5055
5098
|
const discount = mychoiceSdkComponents.deepClone(discountState);
|
|
5056
5099
|
const { policyStartYear, policyStartMonth, policyStartDay } = discountState;
|
|
5100
|
+
const policyStartDate = policyStartYear && policyStartMonth && policyStartDay
|
|
5101
|
+
? `${policyStartYear}-${policyStartMonth}-${policyStartDay}`
|
|
5102
|
+
: discountState.policyStart;
|
|
5057
5103
|
// dispatchQuoteState({ type: StoreFormCarQuoteActionTypes.UpdateCarCallMessage, payload: { showCallMessage: false } });
|
|
5058
5104
|
if (policyStartYear && policyStartMonth && policyStartDay) {
|
|
5059
|
-
discount.policyStart =
|
|
5105
|
+
discount.policyStart = policyStartDate;
|
|
5060
5106
|
delete discount.policyStartYear;
|
|
5061
5107
|
delete discount.policyStartMonth;
|
|
5062
5108
|
delete discount.policyStartDay;
|
|
@@ -5073,6 +5119,13 @@ const CarQuoteDataHandler = () => {
|
|
|
5073
5119
|
provinceName: postal.provinceName,
|
|
5074
5120
|
};
|
|
5075
5121
|
requestBody.quoterInfo.recalculate = isRecalc;
|
|
5122
|
+
const isAbReformEligible = requestBody.provinceCode === 'ON' && policyStartDate >= '2026-07-01';
|
|
5123
|
+
// Flag if any Accident Benefits buy-ups are selected (Ontario only)
|
|
5124
|
+
if (isRecalc && isAbReformEligible) {
|
|
5125
|
+
const hasAbChanges = vehicles.some((v) => v.accidentbenefits?.baseCoverage !== 'minimum_required'
|
|
5126
|
+
|| v.accidentbenefits?.additionalCoverages?.length > 0);
|
|
5127
|
+
requestBody.quoterInfo.accidentBenefitsChanged = hasAbChanges;
|
|
5128
|
+
}
|
|
5076
5129
|
delete requestBody.isValid;
|
|
5077
5130
|
delete requestBody.inValidation;
|
|
5078
5131
|
if (hasToBeConfirmed !== undefined) {
|
|
@@ -5282,7 +5335,20 @@ const CarQuoteDataHandler = () => {
|
|
|
5282
5335
|
vehicle.comprehensive.coverage = false;
|
|
5283
5336
|
vehicle.comprehensive.deductible = 1000;
|
|
5284
5337
|
}
|
|
5285
|
-
|
|
5338
|
+
const { accidentbenefits, ...vehiclePayload } = vehicle;
|
|
5339
|
+
const transformedVehicle = { ...vehiclePayload };
|
|
5340
|
+
if (accidentbenefits) {
|
|
5341
|
+
const { baseCoverage, additionalCoverages } = accidentbenefits;
|
|
5342
|
+
if (isAbReformEligible
|
|
5343
|
+
&& (baseCoverage !== 'minimum_required' || additionalCoverages.length > 0)) {
|
|
5344
|
+
transformedVehicle.accidentBenefits = {
|
|
5345
|
+
baseCoverage,
|
|
5346
|
+
additionalCoverages,
|
|
5347
|
+
};
|
|
5348
|
+
}
|
|
5349
|
+
}
|
|
5350
|
+
// eslint-disable-next-line @typescript-eslint/no-explicit-any
|
|
5351
|
+
return transformedVehicle;
|
|
5286
5352
|
});
|
|
5287
5353
|
requestBody.vehlinks = localVehlinks;
|
|
5288
5354
|
return {
|
|
@@ -5863,6 +5929,7 @@ const useValidationVehicle = () => {
|
|
|
5863
5929
|
const { inValidation: vehicleFormIsInValidation = false, isValid: vehicleFormIsValid = false, } = vehicleState;
|
|
5864
5930
|
const { appConfigState } = useStoreAppConfig();
|
|
5865
5931
|
const { dispatchAppModalState } = useStoreAppModal();
|
|
5932
|
+
const { isAbReformActive } = useAbReform();
|
|
5866
5933
|
const navigate = reactRouterDom.useNavigate();
|
|
5867
5934
|
const vehicleFormValidate = (isRedirect = true) => {
|
|
5868
5935
|
let formIsValid = false;
|
|
@@ -5893,6 +5960,13 @@ const useValidationVehicle = () => {
|
|
|
5893
5960
|
return item;
|
|
5894
5961
|
});
|
|
5895
5962
|
});
|
|
5963
|
+
if (isAbReformActive) {
|
|
5964
|
+
vehicleState.items.forEach((item) => {
|
|
5965
|
+
if (!item.accidentbenefits.abAcknowledged) {
|
|
5966
|
+
errors.push('abAcknowledged');
|
|
5967
|
+
}
|
|
5968
|
+
});
|
|
5969
|
+
}
|
|
5896
5970
|
if (!errors.length) {
|
|
5897
5971
|
dispatchVehicleState({
|
|
5898
5972
|
type: exports.StoreFormCarVehicleActionTypes.FormCarVehicleValidateSet,
|
|
@@ -5905,12 +5979,15 @@ const useValidationVehicle = () => {
|
|
|
5905
5979
|
formIsValid = true;
|
|
5906
5980
|
}
|
|
5907
5981
|
else {
|
|
5908
|
-
const element = document.getElementsByName(errors[0])[0];
|
|
5982
|
+
const element = document.getElementsByName(errors[0])[0] ?? document.getElementById(errors[0]);
|
|
5909
5983
|
element?.scrollIntoView({ block: 'center', behavior: 'smooth' });
|
|
5984
|
+
const hasOnlyAbError = errors.every((e) => e === 'abAcknowledged');
|
|
5910
5985
|
dispatchAppModalState({
|
|
5911
5986
|
type: exports.StoreConfigAppModalActionTypes.AppModalMessageModal,
|
|
5912
5987
|
payload: {
|
|
5913
|
-
title:
|
|
5988
|
+
title: hasOnlyAbError
|
|
5989
|
+
? 'Please review the Accident Benefits section'
|
|
5990
|
+
: 'Please enter missing values of required fields',
|
|
5914
5991
|
},
|
|
5915
5992
|
});
|
|
5916
5993
|
dispatchVehicleState({
|
|
@@ -7478,6 +7555,7 @@ exports.parseAutofillParam = parseAutofillParam;
|
|
|
7478
7555
|
exports.parseLifeAutofillParam = parseLifeAutofillParam;
|
|
7479
7556
|
exports.reducers = reducers;
|
|
7480
7557
|
exports.token = default_1;
|
|
7558
|
+
exports.useAbReform = useAbReform;
|
|
7481
7559
|
exports.useAutofillCarForm = useAutofillCarForm;
|
|
7482
7560
|
exports.useAutofillLifeForm = useAutofillLifeForm;
|
|
7483
7561
|
exports.useHandlerAuth = useHandlerAuth;
|