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