adp-web-components 0.3.20 → 0.4.0
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/branch-date-dropdown_17.cjs.entry.js +40 -39
- package/dist/cjs/dead-stock-lookup_3.cjs.entry.js +9 -9
- package/dist/cjs/flexible-container.cjs.entry.js +5 -23
- package/dist/cjs/form-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/form-date-picker.cjs.entry.js +5 -5
- package/dist/cjs/form-input_7.cjs.entry.js +17 -17
- package/dist/cjs/form-switch.cjs.entry.js +2 -2
- package/dist/cjs/form-time-picker.cjs.entry.js +6 -6
- package/dist/cjs/{functions-BAUJUMt-.js → functions-gb1i8Hkl.js} +1 -1
- package/dist/cjs/general-form.cjs.entry.js +4 -4
- package/dist/cjs/general-inquiry-form.cjs.entry.js +4 -4
- package/dist/cjs/{get-local-language-DI_UK6D5.js → get-local-language-CZeC0BN9.js} +4 -4
- package/dist/cjs/{get-mock-files-B1tNGb9m.js → get-mock-files-NMHm1Vgn.js} +1 -1
- package/dist/cjs/information-table.cjs.entry.js +24 -12
- package/dist/cjs/loader.cjs.js +1 -1
- package/dist/cjs/loading-spinner.cjs.entry.js +2 -2
- package/dist/cjs/manufacturer-part-lookup.cjs.entry.js +3 -3
- package/dist/cjs/parents-with-tag-CV2Y9Chq.js +26 -0
- package/dist/cjs/part-lookup.cjs.entry.js +2 -2
- package/dist/cjs/reveal-below-CyYolTYX.js +127 -0
- package/dist/cjs/service-booking-form.cjs.entry.js +4 -4
- package/dist/cjs/shift-accordion.cjs.entry.js +1 -1
- package/dist/cjs/shift-checkbox.cjs.entry.js +2 -2
- package/dist/cjs/shift-components.cjs.js +1 -1
- package/dist/cjs/shift-slider.cjs.entry.js +2 -2
- package/dist/cjs/shift-switch.cjs.entry.js +2 -2
- package/dist/cjs/shift-tab-content.cjs.entry.js +2 -2
- package/dist/cjs/shift-tabs_2.cjs.entry.js +10 -10
- package/dist/cjs/ssc-lookup-form.cjs.entry.js +4 -4
- package/dist/cjs/test-drive-form.cjs.entry.js +4 -4
- package/dist/cjs/{type-BHyLb1S8.js → type-CTsARyVi.js} +63 -18
- package/dist/cjs/vehicle-accessories_8.cjs.entry.js +819 -204
- package/dist/cjs/vehicle-lookup.cjs.entry.js +56 -40
- package/dist/cjs/vehicle-quotation-form.cjs.entry.js +4 -4
- package/dist/collection/collection-manifest.json +1 -1
- package/dist/collection/components/components/empty.css +1 -1
- package/dist/collection/components/components/flexible-container.css +1 -1
- package/dist/collection/components/components/flexible-container.js +2 -2
- package/dist/collection/components/components/information-table.css +1 -1
- package/dist/collection/components/components/information-table.js +21 -8
- package/dist/collection/components/components/loading-spinner.css +1 -1
- package/dist/collection/components/components/loading-spinner.js +1 -1
- package/dist/collection/components/components/shift-accordion.js +1 -1
- package/dist/collection/components/components/shift-checkbox.js +1 -1
- package/dist/collection/components/components/shift-portal.css +1 -1
- package/dist/collection/components/components/shift-select-dropdown.css +1 -1
- package/dist/collection/components/components/shift-select-dropdown.js +2 -2
- package/dist/collection/components/components/shift-select.css +1 -1
- package/dist/collection/components/components/shift-select.js +3 -3
- package/dist/collection/components/components/shift-slider.css +1 -1
- package/dist/collection/components/components/shift-slider.js +1 -1
- package/dist/collection/components/components/shift-switch.js +1 -1
- package/dist/collection/components/components/shift-tab-content.css +1 -1
- package/dist/collection/components/components/shift-tab-content.js +1 -1
- package/dist/collection/components/components/shift-tabs.css +1 -1
- package/dist/collection/components/components/shift-tabs.js +2 -2
- package/dist/collection/components/form-elements/branch-date-dropdown.js +2 -2
- package/dist/collection/components/form-elements/branch-date-picker.js +2 -2
- package/dist/collection/components/form-elements/branch-slot-dropdown.css +1 -1
- package/dist/collection/components/form-elements/branch-slot-dropdown.js +1 -1
- package/dist/collection/components/form-elements/branch-slot-picker.js +2 -2
- package/dist/collection/components/form-elements/form-checkbox.js +1 -1
- package/dist/collection/components/form-elements/form-date-picker-legacy.js +4 -4
- package/dist/collection/components/form-elements/form-dialog.css +1 -1
- package/dist/collection/components/form-elements/form-dialog.js +1 -1
- package/dist/collection/components/form-elements/form-file.js +2 -2
- package/dist/collection/components/form-elements/form-input.js +2 -2
- package/dist/collection/components/form-elements/form-inputs.css +1 -1
- package/dist/collection/components/form-elements/form-picker-input.js +2 -2
- package/dist/collection/components/form-elements/form-shadow-input.js +1 -1
- package/dist/collection/components/form-elements/form-stepper-control.js +2 -2
- package/dist/collection/components/form-elements/form-stepper-submit.js +2 -2
- package/dist/collection/components/form-elements/form-stepper.js +1 -1
- package/dist/collection/components/form-elements/form-structure-error.js +1 -1
- package/dist/collection/components/form-elements/form-structure.js +3 -2
- package/dist/collection/components/form-elements/form-submit.js +2 -2
- package/dist/collection/components/form-elements/form-switch.js +1 -1
- package/dist/collection/components/form-elements/form-text-area.js +2 -2
- package/dist/collection/components/form-elements/form-time-picker-legacy.js +5 -5
- package/dist/collection/components/form-elements/form-vin-input.js +2 -2
- package/dist/collection/components/forms/general-form.js +2 -2
- package/dist/collection/components/forms/general-inquiry.js +2 -2
- package/dist/collection/components/forms/service-booking.js +2 -2
- package/dist/collection/components/forms/ssc-lookup.js +2 -2
- package/dist/collection/components/forms/test-drive.js +2 -2
- package/dist/collection/components/forms/vehicle-quotation.js +2 -2
- package/dist/collection/components/part-lookup/dead-stock-lookup.css +1 -1
- package/dist/collection/components/part-lookup/dead-stock-lookup.js +2 -2
- package/dist/collection/components/part-lookup/distributor-lookup.css +1 -1
- package/dist/collection/components/part-lookup/distributor-lookup.js +2 -2
- package/dist/collection/components/part-lookup/manufacturer-lookup.css +1 -1
- package/dist/collection/components/part-lookup/manufacturer-part-lookup.css +1 -1
- package/dist/collection/components/part-lookup/manufacturer-part-lookup.js +1 -1
- package/dist/collection/components/part-lookup/part-lookup.css +1 -1
- package/dist/collection/components/vehicle-lookup/components/CoverageTimeline.js +5 -8
- package/dist/collection/components/vehicle-lookup/components/SscCampaigns.js +236 -0
- package/dist/collection/components/vehicle-lookup/components/glyphs.js +19 -0
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.js +3 -3
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.js +61 -9
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.js +6 -6
- package/dist/collection/components/vehicle-lookup/vehicle-lookup.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-lookup.js +99 -59
- package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.js +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-sale-information.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-sale-information.js +3 -3
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.js +2 -2
- package/dist/collection/components/vehicle-lookup/vehicle-specification.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-specification.js +2 -2
- package/dist/collection/components/vehicle-lookup/vehicle-ssc.css +1 -0
- package/dist/collection/components/vehicle-lookup/{vehicle-warranty-details.js → vehicle-ssc.js} +583 -189
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-timeline.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-timeline.js +5 -6
- package/dist/collection/components/vin-extractor/vin-extractor.js +1 -1
- package/dist/collection/features/vehicle-lookup-component/index.js +1 -0
- package/dist/collection/features/vehicle-lookup-component/request-headers.js +42 -0
- package/dist/collection/features/vehicle-lookup-component/vehicle-lookup-api-integration.js +9 -7
- package/dist/collection/global/lib/flexible-parents.js +46 -0
- package/dist/collection/global/lib/reveal-below.js +118 -0
- package/dist/collection/global/types/generated/vehicle-lookup/ssc-repair-trace-dto.js +1 -0
- package/dist/collection/global/types/generated/vehicle-lookup/ssc-repair-trace-labor-code-dto.js +1 -0
- package/dist/collection/global/types/generated/vehicle-lookup/ssc-repair-trace-labor-line-dto.js +1 -0
- package/dist/collection/global/types/generated/vehicle-lookup/ssc-repair-trace-warranty-claim-dto.js +1 -0
- package/dist/collection/locale-mapper.js +3 -3
- package/dist/collection/locales/vehicleLookup/ssc/type.js +70 -0
- package/dist/collection/locales/vehicleLookup/wrapper-type.js +2 -2
- package/dist/collection/templates/harness.js +3 -1
- package/dist/components/branch-date-dropdown.js +1 -1
- package/dist/components/branch-date-picker.js +1 -1
- package/dist/components/branch-slot-dropdown.js +1 -1
- package/dist/components/branch-slot-picker.js +1 -1
- package/dist/components/dead-stock-lookup.js +1 -1
- package/dist/components/distributor-lookup.js +1 -1
- package/dist/components/flexible-container.js +1 -1
- package/dist/components/form-checkbox.js +1 -1
- package/dist/components/form-date-picker.js +1 -1
- package/dist/components/form-dialog.js +1 -1
- package/dist/components/form-file.js +1 -1
- package/dist/components/form-input-preview.js +1 -1
- package/dist/components/form-input.js +1 -1
- package/dist/components/form-phone-number.js +1 -1
- package/dist/components/form-picker-input.js +1 -1
- package/dist/components/form-select.js +1 -1
- package/dist/components/form-shadow-input.js +1 -1
- package/dist/components/form-stepper-control.js +1 -1
- package/dist/components/form-stepper-submit.js +1 -1
- package/dist/components/form-stepper.js +1 -1
- package/dist/components/form-structure-error.js +1 -1
- package/dist/components/form-structure.js +1 -1
- package/dist/components/form-submit.js +1 -1
- package/dist/components/form-switch.js +1 -1
- package/dist/components/form-text-area.js +1 -1
- package/dist/components/form-time-picker.js +1 -1
- package/dist/components/form-vin-input.js +1 -1
- package/dist/components/general-form.js +1 -1
- package/dist/components/general-inquiry-form.js +1 -1
- package/dist/components/information-table.js +1 -1
- package/dist/components/loading-spinner.js +1 -1
- package/dist/components/manufacturer-lookup.js +1 -1
- package/dist/components/manufacturer-part-lookup.js +1 -1
- package/dist/components/{p-CsU_c7eX.js → p-AkWKeTFc.js} +1 -1
- package/dist/components/{p-CMAmzdM7.js → p-B2Rwfoy0.js} +1 -1
- package/dist/components/p-B4nj03om.js +5 -0
- package/dist/components/p-BAkLdLKZ.js +5 -0
- package/dist/components/p-BDCBfHZQ.js +5 -0
- package/dist/components/{p-DQ0uTCi2.js → p-BDOUh9fr.js} +1 -1
- package/dist/components/p-BGf2deKN.js +5 -0
- package/dist/components/{p-5OD_mwiD.js → p-BNmsN10T.js} +1 -1
- package/dist/components/p-BOaqSzZZ.js +5 -0
- package/dist/components/p-B_1NtFJh.js +5 -0
- package/dist/components/{p-Cpjvk1pk.js → p-BhekdMkM.js} +1 -1
- package/dist/components/p-BpZlI-gl.js +5 -0
- package/dist/components/p-BtipOZUG.js +5 -0
- package/dist/components/{p-KbiYvxzP.js → p-BvM3siIc.js} +1 -1
- package/dist/components/{p-rQ3Z9EnS.js → p-BwoBk7eI.js} +1 -1
- package/dist/components/{p-SIS25ChD.js → p-BxGye2qd.js} +1 -1
- package/dist/components/{p-D42YuMNZ.js → p-BySGDlQi.js} +1 -1
- package/dist/components/{p-BvLVCp-j.js → p-ByrX91PC.js} +1 -1
- package/dist/components/p-C9uBduBY.js +5 -0
- package/dist/components/{p-DnspXuVN.js → p-CETvww16.js} +1 -1
- package/dist/components/{p-CJtTHErI.js → p-CT-MbmyW.js} +1 -1
- package/dist/components/p-CUO3vXQr.js +5 -0
- package/dist/components/{p-BPXRokES.js → p-CbRoCi89.js} +1 -1
- package/dist/components/{p-ikaUQvOO.js → p-CebvOd8T.js} +1 -1
- package/dist/components/{p-68bjv9gT.js → p-Cy8khSKP.js} +1 -1
- package/dist/components/{p-BpB_86n0.js → p-D4VK-Fv7.js} +1 -1
- package/dist/components/p-D4aXUm2Y.js +5 -0
- package/dist/components/{p-Wgb4y0H3.js → p-D8w2fZLP.js} +1 -1
- package/dist/components/p-DCO6piZ9.js +5 -0
- package/dist/components/{p-B1xVBTqj.js → p-DConDqrK.js} +1 -1
- package/dist/components/{p-BsnGFZeT.js → p-DDTSLfBG.js} +1 -1
- package/dist/components/{p-C3KLOUbk.js → p-DJDhhX5A.js} +1 -1
- package/dist/components/p-DKWqzBVM.js +5 -0
- package/dist/components/{p-BI5NL1Rh.js → p-DOIpj5PH.js} +1 -1
- package/dist/components/{p-BWlX-Nz-.js → p-DVkAlTjC.js} +1 -1
- package/dist/components/p-D_uU2Pi-.js +5 -0
- package/dist/components/{p-BULuujHY.js → p-DfVskL_i.js} +1 -1
- package/dist/components/p-DkCqJ072.js +5 -0
- package/dist/components/p-DpuHkgw0.js +5 -0
- package/dist/components/{p-Ce2mazYo.js → p-DrF7UQxE.js} +1 -1
- package/dist/components/{p-DCpRGVqe.js → p-DxRQkoRz.js} +1 -1
- package/dist/components/{p-BcWJAP8j.js → p-Imck426q.js} +1 -1
- package/dist/components/{p-bCeQwUKM.js → p-UFwS4oV2.js} +1 -1
- package/dist/components/p-WIpbRULc.js +5 -0
- package/dist/components/p-XFwQkeZH.js +5 -0
- package/dist/components/p-Ype8FNjy.js +5 -0
- package/dist/components/{p-B0_5_VvS.js → p-a4ooD0o_.js} +1 -1
- package/dist/components/{p-DTmI_Yx0.js → p-bVbnoz7C.js} +1 -1
- package/dist/components/{p-OY4Ixaeq.js → p-d1WgLP9O.js} +1 -1
- package/dist/components/{p-Bc5HIbcj.js → p-vlA3PJQv.js} +1 -1
- package/dist/components/{p-BpHkd1L9.js → p-vuYBsCyI.js} +1 -1
- package/dist/components/part-lookup.js +1 -1
- package/dist/components/service-booking-form.js +1 -1
- package/dist/components/shift-accordion.js +1 -1
- package/dist/components/shift-checkbox.js +1 -1
- package/dist/components/shift-portal.js +1 -1
- package/dist/components/shift-select-dropdown.js +1 -1
- package/dist/components/shift-select.js +1 -1
- package/dist/components/shift-slider.js +1 -1
- package/dist/components/shift-switch.js +1 -1
- package/dist/components/shift-tab-content.js +1 -1
- package/dist/components/shift-tabs.js +1 -1
- package/dist/components/ssc-lookup-form.js +1 -1
- package/dist/components/test-drive-form.js +1 -1
- package/dist/components/vehicle-accessories.js +1 -1
- package/dist/components/vehicle-claimable-items.js +1 -1
- package/dist/components/vehicle-item-claim-form.js +1 -1
- package/dist/components/vehicle-lookup.js +1 -1
- package/dist/components/vehicle-paint-thickness.js +1 -1
- package/dist/components/vehicle-quotation-form.js +1 -1
- package/dist/components/vehicle-sale-information.js +1 -1
- package/dist/components/vehicle-service-history.js +1 -1
- package/dist/components/vehicle-specification.js +1 -1
- package/dist/components/vehicle-ssc.d.ts +11 -0
- package/dist/components/vehicle-ssc.js +5 -0
- package/dist/components/vehicle-warranty-timeline.js +1 -1
- package/dist/components/vin-extractor.js +1 -1
- package/dist/esm/branch-date-dropdown_17.entry.js +40 -39
- package/dist/esm/dead-stock-lookup_3.entry.js +9 -9
- package/dist/esm/flexible-container.entry.js +4 -22
- package/dist/esm/form-checkbox.entry.js +2 -2
- package/dist/esm/form-date-picker.entry.js +5 -5
- package/dist/esm/form-input_7.entry.js +17 -17
- package/dist/esm/form-switch.entry.js +2 -2
- package/dist/esm/form-time-picker.entry.js +6 -6
- package/dist/esm/{functions-DSwc1YVL.js → functions-SHZO3nZB.js} +1 -1
- package/dist/esm/general-form.entry.js +4 -4
- package/dist/esm/general-inquiry-form.entry.js +4 -4
- package/dist/esm/{get-local-language-DdSAPSCV.js → get-local-language-BLpgwBTx.js} +4 -4
- package/dist/esm/{get-mock-files-D4naDetb.js → get-mock-files-Dpb0udoz.js} +1 -1
- package/dist/esm/information-table.entry.js +22 -10
- package/dist/esm/loader.js +1 -1
- package/dist/esm/loading-spinner.entry.js +2 -2
- package/dist/esm/manufacturer-part-lookup.entry.js +3 -3
- package/dist/esm/parents-with-tag-WIpbRULc.js +24 -0
- package/dist/esm/part-lookup.entry.js +2 -2
- package/dist/esm/reveal-below-DWXRi5w3.js +124 -0
- package/dist/esm/service-booking-form.entry.js +4 -4
- package/dist/esm/shift-accordion.entry.js +1 -1
- package/dist/esm/shift-checkbox.entry.js +2 -2
- package/dist/esm/shift-components.js +1 -1
- package/dist/esm/shift-slider.entry.js +2 -2
- package/dist/esm/shift-switch.entry.js +2 -2
- package/dist/esm/shift-tab-content.entry.js +2 -2
- package/dist/esm/shift-tabs_2.entry.js +10 -10
- package/dist/esm/ssc-lookup-form.entry.js +4 -4
- package/dist/esm/test-drive-form.entry.js +4 -4
- package/dist/esm/{type-DEzFTlhs.js → type-CQsUzIOf.js} +63 -18
- package/dist/esm/vehicle-accessories_8.entry.js +819 -204
- package/dist/esm/vehicle-lookup.entry.js +56 -40
- package/dist/esm/vehicle-quotation-form.entry.js +4 -4
- package/dist/integration-manifest.json +38 -23
- package/dist/locales/vehicleLookup/ssc/ar.json +64 -0
- package/dist/locales/vehicleLookup/ssc/en.json +64 -0
- package/dist/locales/vehicleLookup/ssc/ku.json +64 -0
- package/dist/locales/vehicleLookup/ssc/ru.json +64 -0
- package/dist/locales/vehicleLookup/ssc/type.ts +68 -0
- package/dist/locales/vehicleLookup/wrapper-type.ts +2 -2
- package/dist/mocks/generated/broker-dealer/vehicle-lookup.json +40 -2
- package/dist/mocks/generated/standard-dealer/vehicle-lookup.json +61 -2
- package/dist/shift-components/{p-4b6f801a.entry.js → p-005d0a3a.entry.js} +1 -1
- package/dist/shift-components/p-0965eb41.entry.js +5 -0
- package/dist/shift-components/{p-ca0683e9.entry.js → p-164eeced.entry.js} +1 -1
- package/dist/shift-components/{p-295e445f.entry.js → p-219e589c.entry.js} +1 -1
- package/dist/shift-components/{p-b4544d10.entry.js → p-3324bdf6.entry.js} +1 -1
- package/dist/shift-components/{p-feb443ec.entry.js → p-3790e469.entry.js} +1 -1
- package/dist/shift-components/{p-df0c7ac1.entry.js → p-3895d8e5.entry.js} +1 -1
- package/dist/shift-components/p-391c55af.entry.js +5 -0
- package/dist/shift-components/{p-152057de.entry.js → p-3ba3f543.entry.js} +1 -1
- package/dist/shift-components/{p-D2Ofzg_i.js → p-48Fp2I0C.js} +1 -1
- package/dist/shift-components/p-5c28fb6d.entry.js +5 -0
- package/dist/shift-components/{p-85d43a41.entry.js → p-60232b66.entry.js} +1 -1
- package/dist/shift-components/{p-76b0ea8c.entry.js → p-82bb8960.entry.js} +1 -1
- package/dist/shift-components/{p-cbdc1c2e.entry.js → p-879faeec.entry.js} +1 -1
- package/dist/shift-components/p-90034cd8.entry.js +5 -0
- package/dist/shift-components/p-93ddc847.entry.js +5 -0
- package/dist/shift-components/p-C68bG4KE.js +5 -0
- package/dist/shift-components/{p-DDtDRGFL.js → p-DIe_G0iC.js} +1 -1
- package/dist/shift-components/p-Tjvj6pk4.js +5 -0
- package/dist/shift-components/p-WIpbRULc.js +5 -0
- package/dist/shift-components/{p-d3bbba07.entry.js → p-a4f1502c.entry.js} +1 -1
- package/dist/shift-components/{p-4cdeab63.entry.js → p-af71f000.entry.js} +1 -1
- package/dist/shift-components/p-bd8dbd1d.entry.js +5 -0
- package/dist/shift-components/{p-52530fba.entry.js → p-be19d7ff.entry.js} +1 -1
- package/dist/shift-components/{p-68e41217.entry.js → p-c40bda31.entry.js} +1 -1
- package/dist/shift-components/p-d47428d1.entry.js +5 -0
- package/dist/shift-components/p-d8844424.entry.js +5 -0
- package/dist/shift-components/p-e7986265.entry.js +5 -0
- package/dist/shift-components/p-f638970e.entry.js +5 -0
- package/dist/shift-components/{p-5e8e5ed7.entry.js → p-f93d79bc.entry.js} +1 -1
- package/dist/shift-components/{p-bfe0661c.entry.js → p-fa296247.entry.js} +1 -1
- package/dist/shift-components/p-pkYWYULB.js +5 -0
- package/dist/shift-components/shift-components.esm.js +1 -1
- package/dist/stencil-docs.json +260 -102
- package/dist/types/components/components/information-table.d.ts +3 -0
- package/dist/types/components/vehicle-lookup/components/SscCampaigns.d.ts +128 -0
- package/dist/types/components/vehicle-lookup/components/glyphs.d.ts +15 -0
- package/dist/types/components/vehicle-lookup/vehicle-claimable-items.d.ts +6 -1
- package/dist/types/components/vehicle-lookup/vehicle-lookup.d.ts +25 -6
- package/dist/types/components/vehicle-lookup/vehicle-ssc.d.ts +214 -0
- package/dist/types/components/vehicle-lookup/vehicle-warranty-timeline.d.ts +3 -4
- package/dist/types/components.d.ts +214 -43
- package/dist/types/features/vehicle-lookup-component/index.d.ts +1 -0
- package/dist/types/features/vehicle-lookup-component/interface.d.ts +8 -1
- package/dist/types/features/vehicle-lookup-component/request-headers.d.ts +40 -0
- package/dist/types/global/lib/flexible-parents.d.ts +16 -0
- package/dist/types/global/lib/reveal-below.d.ts +26 -0
- package/dist/types/global/types/generated/vehicle-lookup/ssc-dto.d.ts +3 -0
- package/dist/types/global/types/generated/vehicle-lookup/ssc-repair-trace-dto.d.ts +12 -0
- package/dist/types/global/types/generated/vehicle-lookup/ssc-repair-trace-labor-code-dto.d.ts +4 -0
- package/dist/types/global/types/generated/vehicle-lookup/ssc-repair-trace-labor-line-dto.d.ts +9 -0
- package/dist/types/global/types/generated/vehicle-lookup/ssc-repair-trace-warranty-claim-dto.d.ts +13 -0
- package/dist/types/locale-mapper.d.ts +2 -2
- package/dist/types/locales/vehicleLookup/serviceHistory/type.d.ts +2 -2
- package/dist/types/locales/vehicleLookup/ssc/type.d.ts +128 -0
- package/dist/types/locales/vehicleLookup/warrantyTimeline/type.d.ts +4 -4
- package/dist/types/locales/vehicleLookup/wrapper-type.d.ts +126 -36
- package/package.json +1 -1
- package/dist/cjs/arrow-icon-yMlETDbD.js +0 -11
- package/dist/collection/components/vehicle-lookup/components/CardsContainer.js +0 -12
- package/dist/collection/components/vehicle-lookup/components/StatusCard.js +0 -11
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.css +0 -1
- package/dist/collection/locales/vehicleLookup/warranty/type.js +0 -25
- package/dist/components/p-38ox9qxm.js +0 -5
- package/dist/components/p-B2bD-55K.js +0 -5
- package/dist/components/p-CVpbr1tR.js +0 -5
- package/dist/components/p-CXbi5iPZ.js +0 -5
- package/dist/components/p-C_1_eN4N.js +0 -5
- package/dist/components/p-Cg6Prz81.js +0 -5
- package/dist/components/p-CqJiXtPb.js +0 -5
- package/dist/components/p-CrPyvAdX.js +0 -5
- package/dist/components/p-DCsMDWbS.js +0 -5
- package/dist/components/p-DqSdjh2n.js +0 -5
- package/dist/components/p-Dv2j7fhS.js +0 -5
- package/dist/components/p-K-OF4DG-.js +0 -5
- package/dist/components/p-X3AzJ0KD.js +0 -5
- package/dist/components/p-d3ZIPeEC.js +0 -5
- package/dist/components/p-mbVTvSJF.js +0 -5
- package/dist/components/p-rW_ExFCn.js +0 -5
- package/dist/components/p-uYkn8a0m.js +0 -5
- package/dist/components/vehicle-warranty-details.d.ts +0 -11
- package/dist/components/vehicle-warranty-details.js +0 -5
- package/dist/esm/arrow-icon-DziuNOTp.js +0 -9
- package/dist/locales/vehicleLookup/warranty/ar.json +0 -24
- package/dist/locales/vehicleLookup/warranty/en.json +0 -24
- package/dist/locales/vehicleLookup/warranty/ku.json +0 -24
- package/dist/locales/vehicleLookup/warranty/ru.json +0 -24
- package/dist/locales/vehicleLookup/warranty/type.ts +0 -23
- package/dist/shift-components/p-0b576888.entry.js +0 -5
- package/dist/shift-components/p-11ffa908.entry.js +0 -5
- package/dist/shift-components/p-198333fa.entry.js +0 -5
- package/dist/shift-components/p-247ac2db.entry.js +0 -5
- package/dist/shift-components/p-431522f2.entry.js +0 -5
- package/dist/shift-components/p-49dc6d73.entry.js +0 -5
- package/dist/shift-components/p-5ad4d072.entry.js +0 -5
- package/dist/shift-components/p-BggCINTA.js +0 -5
- package/dist/shift-components/p-D1ioFMhR.js +0 -5
- package/dist/shift-components/p-OfPuHUYc.js +0 -5
- package/dist/shift-components/p-b44b2c00.entry.js +0 -5
- package/dist/shift-components/p-c7fc8d5f.entry.js +0 -5
- package/dist/shift-components/p-f4679148.entry.js +0 -5
- package/dist/types/components/vehicle-lookup/components/CardsContainer.d.ts +0 -12
- package/dist/types/components/vehicle-lookup/components/StatusCard.d.ts +0 -14
- package/dist/types/components/vehicle-lookup/vehicle-warranty-details.d.ts +0 -77
- package/dist/types/locales/vehicleLookup/warranty/type.d.ts +0 -38
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import { FunctionalComponent } from '../../../stencil-public-runtime';
|
|
2
|
+
import { InferType } from 'yup';
|
|
3
|
+
import sscSchema from "../../../locales/vehicleLookup/ssc/type";
|
|
4
|
+
import { SscDTO } from "../../../global/types/generated/vehicle-lookup/ssc-dto";
|
|
5
|
+
import { SscRepairTraceDTO } from "../../../global/types/generated/vehicle-lookup/ssc-repair-trace-dto";
|
|
6
|
+
export type SscLocale = InferType<typeof sscSchema>;
|
|
7
|
+
/** The manufacturer's answer for a vehicle the distributor has no record of. */
|
|
8
|
+
export type ManufacturerCheckStatus = 'noRecall' | 'recallExists' | 'noApplicableVehicleFound';
|
|
9
|
+
/** Identifies a campaign row across renders. Campaign codes are expected to be unique per vehicle; the index guards the odd feed that repeats one. */
|
|
10
|
+
export declare const sscTraceKey: (item: SscDTO | undefined, index: number) => string;
|
|
11
|
+
/** What the card's body — everything below the lead strip — holds. */
|
|
12
|
+
export type BodyKind = 'rows' | 'check' | 'run' | 'none';
|
|
13
|
+
/** What the lead strip — the band between the card's header and its body — shows. */
|
|
14
|
+
export type LeadKind = 'skeleton' | 'columns' | 'notice';
|
|
15
|
+
/**
|
|
16
|
+
* `neutral` is a statement without a verdict; `attention` is a required action not taken yet — the
|
|
17
|
+
* check was not run — and has a hue of its own so it is never read as a verdict or as a statement.
|
|
18
|
+
*/
|
|
19
|
+
export type VerdictState = 'positive' | 'negative' | 'neutral' | 'attention' | 'idle';
|
|
20
|
+
export type PanelVerdict = {
|
|
21
|
+
state: VerdictState;
|
|
22
|
+
text: string;
|
|
23
|
+
};
|
|
24
|
+
/** Everything the panel's verdict, lead and body are decided from. */
|
|
25
|
+
export type PanelState = {
|
|
26
|
+
locale: SscLocale;
|
|
27
|
+
vehicleLoaded: boolean;
|
|
28
|
+
/**
|
|
29
|
+
* `isAuthorized` of the loaded vehicle. `false` means the distributor has no record of it, and
|
|
30
|
+
* then nothing in `campaigns` may be shown or summarised — see the invariant on `panelVerdict`.
|
|
31
|
+
*/
|
|
32
|
+
authorized?: boolean;
|
|
33
|
+
/** Undefined until a vehicle is loaded; an empty list on an authorized vehicle means it is clear. */
|
|
34
|
+
campaigns?: SscDTO[];
|
|
35
|
+
/**
|
|
36
|
+
* The other panels show a vehicle but this panel's own lookup was not run for it (a wrapper with
|
|
37
|
+
* `sscQueryString` only counts the SSC tab's own request as a campaign check). Nothing is known,
|
|
38
|
+
* so the panel says so and offers to run the check — it must never look like "no campaigns".
|
|
39
|
+
*/
|
|
40
|
+
skipped: boolean;
|
|
41
|
+
/** Whether the host configured the manufacturer check (a reCAPTCHA site key) for unauthorized vehicles. */
|
|
42
|
+
checkAvailable: boolean;
|
|
43
|
+
/** The manufacturer's answer, once it arrived. */
|
|
44
|
+
checkStatus?: ManufacturerCheckStatus | null;
|
|
45
|
+
};
|
|
46
|
+
type Props = PanelState & {
|
|
47
|
+
/** A lookup is in flight, or the panel is being cleared: chip and lead go to the sheen and the body shuts. */
|
|
48
|
+
loading: boolean;
|
|
49
|
+
/** The manufacturer check is in flight: chip and lead go to the sheen; the body stays open on the widget and its spinner. */
|
|
50
|
+
checking: boolean;
|
|
51
|
+
/**
|
|
52
|
+
* What the body keeps rendering while it is shut — the content on its way out, so it slides away
|
|
53
|
+
* instead of vanishing. The owner remembers the last non-empty body and drops it once shut.
|
|
54
|
+
*/
|
|
55
|
+
retainedBody: BodyKind;
|
|
56
|
+
onRunLookup: () => void;
|
|
57
|
+
showTrace: boolean;
|
|
58
|
+
openTraceKey?: string;
|
|
59
|
+
traces: Record<string, SscRepairTraceDTO>;
|
|
60
|
+
traceLoading: boolean;
|
|
61
|
+
traceError?: string;
|
|
62
|
+
onToggleTrace: (key: string) => void;
|
|
63
|
+
};
|
|
64
|
+
/**
|
|
65
|
+
* The row whose evidence drawer is open: the wanted trace once there is something to show — the
|
|
66
|
+
* evidence, or the failure to get it. While it is being fetched the row's button spins instead and
|
|
67
|
+
* the drawer stays shut, so it never swaps a spinner for content mid-air. The owner watches this to
|
|
68
|
+
* bring the row into view as the drawer opens.
|
|
69
|
+
*/
|
|
70
|
+
export declare const openDrawerKey: ({ campaigns, showTrace, openTraceKey, traces, traceLoading, }: Pick<Props, "campaigns" | "showTrace" | "openTraceKey" | "traces" | "traceLoading">) => string | undefined;
|
|
71
|
+
/**
|
|
72
|
+
* What the panel is allowed to assert about the vehicle, and in which colour.
|
|
73
|
+
*
|
|
74
|
+
* THE INVARIANT THIS ENCODES — read before touching it:
|
|
75
|
+
*
|
|
76
|
+
* Campaign status is a legal matter, and this panel must never give a verdict it has not earned.
|
|
77
|
+
* There are two separate paths and a vehicle is on exactly one of them:
|
|
78
|
+
*
|
|
79
|
+
* 1. An AUTHORIZED vehicle (`isAuthorized !== false`) is in the distributor's records. Its
|
|
80
|
+
* campaigns are the list in `campaigns`; an empty list is a genuine "no campaign affects this
|
|
81
|
+
* vehicle" — the distributor looked and found none.
|
|
82
|
+
*
|
|
83
|
+
* 2. An UNAUTHORIZED vehicle (`isAuthorized === false`) is NOT in the distributor's records. The
|
|
84
|
+
* distributor knows nothing about its campaigns, so an empty `campaigns` here is *absence of
|
|
85
|
+
* data*, not a clean bill. The only verdict available is the manufacturer's own answer, obtained
|
|
86
|
+
* through the reCAPTCHA-gated check, and it is a yes/no with no list behind it. Until that answer
|
|
87
|
+
* arrives the panel says "not in the distributor's records" and nothing more — never a green
|
|
88
|
+
* "no campaign", never a table, never a count. A `campaigns` list on an unauthorized vehicle is a
|
|
89
|
+
* data fault (the server derives `isAuthorized` partly *from* having SSC records) and is ignored
|
|
90
|
+
* rather than displayed next to the check.
|
|
91
|
+
*
|
|
92
|
+
* And a third case that is neither: the lookup was SKIPPED for this panel (`skipped`). The other
|
|
93
|
+
* panels show the vehicle, this one holds nothing, and it says "not checked yet" and offers the
|
|
94
|
+
* check — a blank panel would read as "no campaigns", which is the same lie as case 2's.
|
|
95
|
+
*
|
|
96
|
+
* Two sessions independently built a green "no campaign" out of an empty list before this was
|
|
97
|
+
* written down; `SscCampaigns.spec.tsx` now fails if it happens again. The wider rule is in
|
|
98
|
+
* .shift/repos/adp/web-components/vehicle-lookup-invariants.md.
|
|
99
|
+
*/
|
|
100
|
+
export declare const panelVerdict: ({ locale, vehicleLoaded, authorized, campaigns, checkStatus, skipped }: PanelState) => PanelVerdict;
|
|
101
|
+
/** What belongs below the lead strip for this state; `none` shuts the body. */
|
|
102
|
+
export declare const panelBody: ({ vehicleLoaded, authorized, campaigns, checkAvailable, checkStatus, skipped }: PanelState) => BodyKind;
|
|
103
|
+
/** The strip reads as the column headings only above a list; every other statement is a notice, and in flight it is a skeleton. */
|
|
104
|
+
export declare const panelLead: (state: PanelState, busy: boolean) => LeadKind;
|
|
105
|
+
/**
|
|
106
|
+
* The campaigns of one vehicle. The card is three fixed parts, and every state is a different
|
|
107
|
+
* content of the same three — nothing is added to or removed from the card between states, which
|
|
108
|
+
* is what lets every change be a movement (the rule is in lookup-motion.css and
|
|
109
|
+
* .shift/repos/adp/web-components/motion.md):
|
|
110
|
+
*
|
|
111
|
+
* - the header: the title and the verdict pill. Idle the pill is a blank shape; in flight it
|
|
112
|
+
* carries the sheen; settled it names the verdict.
|
|
113
|
+
* - the lead strip: one band that is a skeleton (idle, in flight), the column headings (above a
|
|
114
|
+
* list), or a notice (everything the panel has to say in a sentence — not in the records, the
|
|
115
|
+
* manufacturer's answer, no campaign affects this vehicle, the check was skipped). The three are
|
|
116
|
+
* layers of one cell and cross-fade; the strip never changes height.
|
|
117
|
+
* - the body: a region that slides open and shut. Open it holds the campaign rows, the
|
|
118
|
+
* manufacturer-check widget, or the "run the check" action; it shuts while a lookup is in
|
|
119
|
+
* flight — with the outgoing content still inside it, so that content leaves with it — and opens
|
|
120
|
+
* again on the new content once the lookup has settled.
|
|
121
|
+
*
|
|
122
|
+
* What the panel may assert is decided by `panelVerdict` — see the invariant there. The rows are
|
|
123
|
+
* a CSS grid with subgrid so the headings in the lead strip and the cells in the body share one
|
|
124
|
+
* set of column tracks: columns take what their content needs, the description absorbs the slack.
|
|
125
|
+
* Below the container breakpoint each row becomes a labelled card and the strip a single label.
|
|
126
|
+
*/
|
|
127
|
+
export declare const SscCampaigns: FunctionalComponent<Props>;
|
|
128
|
+
export {};
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Inline SVG paths shared by the panels in the newer design language. Kept as path data rather
|
|
3
|
+
* than <img> assets so a glyph takes the colour of the badge it sits in and stays crisp at any
|
|
4
|
+
* size. All are drawn on a 512 x 512 box.
|
|
5
|
+
*/
|
|
6
|
+
export declare const BADGE_GLYPHS: {
|
|
7
|
+
/** A filled circle with a check mark: a positive verdict. */
|
|
8
|
+
readonly positive: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM369 209L241 337c-9.4 9.4-24.6 9.4-33.9 0l-64-64c-9.4-9.4-9.4-24.6 0-33.9s24.6-9.4 33.9 0l47 47L335 175c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9z";
|
|
9
|
+
/** A filled circle with a cross: a negative verdict. */
|
|
10
|
+
readonly negative: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM175 175c9.4-9.4 24.6-9.4 33.9 0l47 47 47-47c9.4-9.4 24.6-9.4 33.9 0s9.4 24.6 0 33.9l-47 47 47 47c9.4 9.4 9.4 24.6 0 33.9s-24.6 9.4-33.9 0l-47-47-47 47c-9.4 9.4-24.6 9.4-33.9 0s-9.4-24.6 0-33.9l47-47-47-47c-9.4-9.4-9.4-24.6 0-33.9z";
|
|
11
|
+
/** A filled circle with an exclamation mark: a required action not taken yet — the check must be run. */
|
|
12
|
+
readonly alert: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zm0-384c13.3 0 24 10.7 24 24V264c0 13.3-10.7 24-24 24s-24-10.7-24-24V152c0-13.3 10.7-24 24-24zM224 352a32 32 0 1 1 64 0 32 32 0 1 1-64 0z";
|
|
13
|
+
/** A filled circle with a question mark: "why?", the trace trigger. */
|
|
14
|
+
readonly question: "M256 512A256 256 0 1 0 256 0a256 256 0 1 0 0 512zM169.8 165.3c7.9-22.3 29.1-37.3 52.8-37.3h58.3c34.9 0 63.1 28.3 63.1 63.1 0 22.6-12.1 43.5-31.7 54.8L280 264.4c-.2 13-10.9 23.6-24 23.6-13.3 0-24-10.7-24-24v-13.5c0-8.6 4.6-16.5 12.1-20.8l44.3-25.4c4.7-2.7 7.6-7.7 7.6-13.1 0-8.4-6.8-15.1-15.1-15.1h-58.3c-3.4 0-6.4 2.1-7.5 5.3l-.4 1.2c-4.4 12.5-18.2 19-30.6 14.6s-19-18.2-14.6-30.6l.4-1.2zM224 352a32 32 0 1 1 64 0 32 32 0 1 1-64 0z";
|
|
15
|
+
};
|
|
@@ -2,7 +2,7 @@ import { VehicleLookupDTO } from "../../global/types/generated/vehicle-lookup/ve
|
|
|
2
2
|
import { VehicleServiceItemDTO } from "../../global/types/generated/vehicle-lookup/vehicle-service-item-dto";
|
|
3
3
|
import { VehicleInfoLayoutInterface } from "../../features/vehicle-info-layout/index";
|
|
4
4
|
import { BlazorInvokable, DotNetObjectReference, BlazorInvokableFunction } from "../../features/blazor-ref/index";
|
|
5
|
-
import { VehicleLookupComponent } from "../../features/vehicle-lookup-component/index";
|
|
5
|
+
import { RequestHeadersProvider, VehicleLookupComponent } from "../../features/vehicle-lookup-component/index";
|
|
6
6
|
import { ComponentLocale, ErrorKeys, LanguageKeys, MultiLingual } from "../../features/multi-lingual/index";
|
|
7
7
|
import { PopoverTarget } from './components/claimable-item-popover';
|
|
8
8
|
import { VehicleItemClaimForm } from './vehicle-item-claim-form';
|
|
@@ -21,6 +21,11 @@ export declare class VehicleClaimableItems implements MultiLingual, VehicleInfoL
|
|
|
21
21
|
headers: object;
|
|
22
22
|
queryString: string;
|
|
23
23
|
uploadMultipleDocumentsAtTheForm: boolean;
|
|
24
|
+
/** Asked for the current headers before every request this component makes itself (trace, claim); lets a host refresh its token on demand. */
|
|
25
|
+
requestHeadersProvider?: RequestHeadersProvider;
|
|
26
|
+
/** Name of a [JSInvokable] method on the Blazor reference that answers with the current headers. */
|
|
27
|
+
blazorRequestHeadersProvider: string;
|
|
28
|
+
lastRequestHeaders?: object;
|
|
24
29
|
errorCallback?: BlazorInvokableFunction<(errorMessage: ErrorKeys) => void>;
|
|
25
30
|
loadingStateChange?: BlazorInvokableFunction<(isLoading: boolean) => void>;
|
|
26
31
|
loadedResponse?: BlazorInvokableFunction<(response: VehicleLookupDTO) => void>;
|
|
@@ -1,13 +1,14 @@
|
|
|
1
1
|
import { VehicleLookupDTO } from "../../global/types/generated/vehicle-lookup/vehicle-lookup-dto";
|
|
2
|
+
import { VehicleSsc } from './vehicle-ssc';
|
|
2
3
|
import { VehicleAccessories } from './vehicle-accessories';
|
|
3
4
|
import { VehicleSpecification } from './vehicle-specification';
|
|
4
5
|
import { VehicleClaimableItems } from './vehicle-claimable-items';
|
|
5
6
|
import { VehiclePaintThickness } from './vehicle-paint-thickness';
|
|
6
7
|
import { VehicleServiceHistory } from './vehicle-service-history';
|
|
7
|
-
import { VehicleWarrantyDetails } from './vehicle-warranty-details';
|
|
8
8
|
import { VehicleWarrantyTimeline } from './vehicle-warranty-timeline';
|
|
9
9
|
import { VehicleSaleInformation } from './vehicle-sale-information';
|
|
10
10
|
import { DotNetObjectReference } from "../../features/blazor-ref/index";
|
|
11
|
+
import { RequestHeadersProvider } from "../../features/vehicle-lookup-component/index";
|
|
11
12
|
import { LanguageKeys, MultiLingual, SharedLocales } from "../../features/multi-lingual/index";
|
|
12
13
|
declare const componentTags: {
|
|
13
14
|
readonly vehicleAccessories: "vehicle-accessories";
|
|
@@ -16,7 +17,6 @@ declare const componentTags: {
|
|
|
16
17
|
readonly vehicleServiceHistory: "vehicle-service-history";
|
|
17
18
|
readonly vehicleClaimableItems: "vehicle-claimable-items";
|
|
18
19
|
readonly vehicleSaleInformation: "vehicle-sale-information";
|
|
19
|
-
readonly vehicleWarrantyDetails: "vehicle-warranty-details";
|
|
20
20
|
readonly vehicleWarrantyTimeline: "vehicle-warranty-timeline";
|
|
21
21
|
readonly vehicleSsc: "vehicle-ssc";
|
|
22
22
|
};
|
|
@@ -27,9 +27,8 @@ export type ComponentMap = {
|
|
|
27
27
|
[componentTags.vehiclePaintThickness]: VehiclePaintThickness;
|
|
28
28
|
[componentTags.vehicleClaimableItems]: VehicleClaimableItems;
|
|
29
29
|
[componentTags.vehicleSaleInformation]: VehicleSaleInformation;
|
|
30
|
-
[componentTags.vehicleWarrantyDetails]: VehicleWarrantyDetails;
|
|
31
30
|
[componentTags.vehicleWarrantyTimeline]: VehicleWarrantyTimeline;
|
|
32
|
-
[componentTags.vehicleSsc]
|
|
31
|
+
[componentTags.vehicleSsc]: VehicleSsc;
|
|
33
32
|
};
|
|
34
33
|
export type ActiveElement = (typeof componentTags)[keyof typeof componentTags] | '';
|
|
35
34
|
export declare class VehicleLookup implements MultiLingual {
|
|
@@ -44,10 +43,23 @@ export declare class VehicleLookup implements MultiLingual {
|
|
|
44
43
|
mockRecaptcha: boolean;
|
|
45
44
|
disableVinValidation: boolean;
|
|
46
45
|
queryString: string;
|
|
46
|
+
/**
|
|
47
|
+
* Appended to the SSC tab's own lookup request only — e.g. a logging flag — so that only a search
|
|
48
|
+
* made from the SSC tab counts as a campaign check. A search from any other tab leaves the SSC tab
|
|
49
|
+
* in its "check required" state, which names the VIN and offers to run the check itself. Never
|
|
50
|
+
* joins the panel's trace request: a trace re-reads a lookup that was already logged.
|
|
51
|
+
*/
|
|
47
52
|
sscQueryString: string;
|
|
48
|
-
separateSsc: boolean;
|
|
49
53
|
hiddenTabs: string;
|
|
50
54
|
childrenProps?: string | object;
|
|
55
|
+
/**
|
|
56
|
+
* Asked for the current request headers before every request a child makes on its own — a
|
|
57
|
+
* trace, a claim, the unauthorized campaign lookup — so a host can refresh its token on demand
|
|
58
|
+
* instead of the children reusing the headers captured at the last search.
|
|
59
|
+
*/
|
|
60
|
+
requestHeadersProvider?: RequestHeadersProvider;
|
|
61
|
+
/** Name of a [JSInvokable] method on the Blazor reference that answers with the current request headers. */
|
|
62
|
+
blazorRequestHeadersProvider: string;
|
|
51
63
|
blazorErrorStateListener: string;
|
|
52
64
|
errorStateListener?: (newError: string) => void;
|
|
53
65
|
blazorOnLoadingStateChange: string;
|
|
@@ -59,6 +71,8 @@ export declare class VehicleLookup implements MultiLingual {
|
|
|
59
71
|
isError: boolean;
|
|
60
72
|
isLoading: boolean;
|
|
61
73
|
private searchGeneration;
|
|
74
|
+
/** The headers the host passed with the most recent search; the fallback when it supplies no provider. */
|
|
75
|
+
private lastRequestHeaders?;
|
|
62
76
|
blazorRef?: DotNetObjectReference;
|
|
63
77
|
el: HTMLElement;
|
|
64
78
|
private componentsList;
|
|
@@ -66,7 +80,12 @@ export declare class VehicleLookup implements MultiLingual {
|
|
|
66
80
|
onIsDevChange(isDev: boolean): Promise<void>;
|
|
67
81
|
private loadMockData;
|
|
68
82
|
private syncErrorAcrossComponents;
|
|
69
|
-
|
|
83
|
+
/**
|
|
84
|
+
* The current headers for a request made on the host's behalf. The host's own provider wins —
|
|
85
|
+
* it can refresh a token before answering — and the headers it passed with the last search are
|
|
86
|
+
* the fallback for hosts that only ever push headers at search time.
|
|
87
|
+
*/
|
|
88
|
+
private resolveRequestHeaders;
|
|
70
89
|
handleLoadData(newResponse: VehicleLookupDTO, activeElement: any): Promise<void>;
|
|
71
90
|
private loadingStateChangingMiddleware;
|
|
72
91
|
errorListener(newState: any): Promise<void>;
|
|
@@ -0,0 +1,214 @@
|
|
|
1
|
+
import { VehicleLookupDTO } from "../../global/types/generated/vehicle-lookup/vehicle-lookup-dto";
|
|
2
|
+
import { SscRepairTraceDTO } from "../../global/types/generated/vehicle-lookup/ssc-repair-trace-dto";
|
|
3
|
+
import sscSchema from "../../locales/vehicleLookup/ssc/type";
|
|
4
|
+
import { ManufacturerCheckStatus } from './components/SscCampaigns';
|
|
5
|
+
import { VehicleInfoLayoutInterface } from "../../features/vehicle-info-layout/index";
|
|
6
|
+
import { BlazorInvokable, DotNetObjectReference, BlazorInvokableFunction } from "../../features/blazor-ref/index";
|
|
7
|
+
import { RequestHeadersProvider, VehicleLookupComponent, VehicleLookupMock } from "../../features/vehicle-lookup-component/index";
|
|
8
|
+
import { ComponentLocale, ErrorKeys, LanguageKeys, MultiLingual } from "../../features/multi-lingual/index";
|
|
9
|
+
/**
|
|
10
|
+
* The Special Service Campaigns (safety recalls) affecting a vehicle, and nothing else: warranty
|
|
11
|
+
* coverage lives in <vehicle-warranty-timeline>. Replaces the campaign half of the retired
|
|
12
|
+
* <vehicle-warranty-details>.
|
|
13
|
+
*
|
|
14
|
+
* A vehicle is on exactly one of two paths, and the panel must never mix them (the rule is spelled
|
|
15
|
+
* out on `panelVerdict` in ./components/SscCampaigns.tsx and in
|
|
16
|
+
* .shift/repos/adp/web-components/vehicle-lookup-invariants.md):
|
|
17
|
+
*
|
|
18
|
+
* - authorized (in the distributor's records): the campaign list is the verdict;
|
|
19
|
+
* - unauthorized: the distributor has no records, so the only verdict is the manufacturer's
|
|
20
|
+
* answer to the reCAPTCHA-gated check — a yes/no, no list. Until it arrives the panel says the
|
|
21
|
+
* vehicle is not in the records and asserts nothing else.
|
|
22
|
+
*
|
|
23
|
+
* A third state is neither: a wrapper that only counts the SSC tab's own request as a campaign
|
|
24
|
+
* check (`sscQueryString`) tells this panel through `skipLookup` that a vehicle was looked up
|
|
25
|
+
* without it. The panel then says the check was not run and offers to run it, rather than sitting
|
|
26
|
+
* blank next to a VIN as if the vehicle had no campaigns.
|
|
27
|
+
*
|
|
28
|
+
* With `show-trace`, every campaign row can open the evidence behind its repair status: the labor
|
|
29
|
+
* codes accepted for the campaign, every warranty claim on the vehicle with how it was judged, and
|
|
30
|
+
* the service-history lines that matched. The trace is fetched on first use with `?trace=ssc`, so
|
|
31
|
+
* the ordinary lookup response stays small and the host can gate the detail behind a permission.
|
|
32
|
+
*
|
|
33
|
+
* Every state change is a movement (lookup-motion.css): the outgoing content stays rendered while
|
|
34
|
+
* the body shuts over it, and the incoming content is swapped in only while the body is shut. The
|
|
35
|
+
* shared lookup helper waits a second before it asks the server, which is what guarantees the body
|
|
36
|
+
* has settled shut before a response can land.
|
|
37
|
+
*/
|
|
38
|
+
export declare class VehicleSsc implements MultiLingual, VehicleInfoLayoutInterface, VehicleLookupComponent, BlazorInvokable {
|
|
39
|
+
language: LanguageKeys;
|
|
40
|
+
locale: ComponentLocale<typeof sscSchema>;
|
|
41
|
+
componentWillLoad(): Promise<void>;
|
|
42
|
+
changeLanguage(newLanguage: LanguageKeys): Promise<void>;
|
|
43
|
+
coreOnly: boolean;
|
|
44
|
+
isDev: boolean;
|
|
45
|
+
disableVinValidation: boolean;
|
|
46
|
+
baseUrl: string;
|
|
47
|
+
headers: object;
|
|
48
|
+
queryString: string;
|
|
49
|
+
/**
|
|
50
|
+
* Appended to the campaign lookup request only, never to the trace request. A wrapper passes its
|
|
51
|
+
* `sscQueryString` — typically a lookup-logging flag — here rather than into `queryString`, so
|
|
52
|
+
* opening a campaign's evidence (a re-read of a lookup that was already logged) is never counted
|
|
53
|
+
* as another lookup. The host's endpoint must refuse to log traced requests as well.
|
|
54
|
+
*/
|
|
55
|
+
lookupQueryString: string;
|
|
56
|
+
/** Asked for the current headers before every request this component makes itself; lets a host refresh its token on demand. */
|
|
57
|
+
requestHeadersProvider?: RequestHeadersProvider;
|
|
58
|
+
/** Name of a [JSInvokable] method on the Blazor reference that answers with the current headers. */
|
|
59
|
+
blazorRequestHeadersProvider: string;
|
|
60
|
+
lastRequestHeaders?: object;
|
|
61
|
+
errorCallback?: BlazorInvokableFunction<(errorMessage: ErrorKeys) => void>;
|
|
62
|
+
loadingStateChange?: BlazorInvokableFunction<(isLoading: boolean) => void>;
|
|
63
|
+
loadedResponse?: BlazorInvokableFunction<(response: VehicleLookupDTO) => void>;
|
|
64
|
+
unauthorizedSscLookupResponse?: BlazorInvokableFunction<(sscLookupStatus: number) => void>;
|
|
65
|
+
isError: boolean;
|
|
66
|
+
errorMessage?: ErrorKeys;
|
|
67
|
+
isLoading: boolean;
|
|
68
|
+
vehicleLookup?: VehicleLookupDTO;
|
|
69
|
+
el: HTMLElement;
|
|
70
|
+
mockData: any;
|
|
71
|
+
abortController: AbortController;
|
|
72
|
+
networkTimeoutRef: ReturnType<typeof setTimeout>;
|
|
73
|
+
setMockData(newMockData: VehicleLookupMock): Promise<void>;
|
|
74
|
+
fetchVin(newData: VehicleLookupDTO | string, headers?: any): Promise<void>;
|
|
75
|
+
setErrorMessage(message: ErrorKeys): Promise<void>;
|
|
76
|
+
/** Back to "no vehicle": the body shuts over what it holds, then the panel is emptied unseen. */
|
|
77
|
+
clearData(): Promise<void>;
|
|
78
|
+
/**
|
|
79
|
+
* The other panels were given a vehicle but this one's own lookup was not run for it — a wrapper
|
|
80
|
+
* with `sscQueryString` only counts the SSC tab's own request as a campaign check. The panel says
|
|
81
|
+
* so and offers to run the check itself; the VIN is kept for that.
|
|
82
|
+
*/
|
|
83
|
+
skipLookup(vin: string): Promise<void>;
|
|
84
|
+
onLoadingChange(newValue: boolean): void;
|
|
85
|
+
/** A vehicle was looked up without this panel; set by `skipLookup`, cleared by the next lookup. */
|
|
86
|
+
skippedVin?: string;
|
|
87
|
+
/** The panel is on its way to empty: the sheen is on and the body is shutting over its content. */
|
|
88
|
+
leaving: boolean;
|
|
89
|
+
private leaveGeneration;
|
|
90
|
+
/**
|
|
91
|
+
* The body's last non-empty content, kept while the body is shut so the content slides away
|
|
92
|
+
* with it instead of vanishing the frame the state changes. Dropped once the body has settled.
|
|
93
|
+
*/
|
|
94
|
+
private retainedBody;
|
|
95
|
+
private retainTimer?;
|
|
96
|
+
/** How long a state change takes to settle: the --settle token plus a margin for the frame it starts on. */
|
|
97
|
+
private settleMs;
|
|
98
|
+
/**
|
|
99
|
+
* Puts the chip and lead on the sheen, shuts the body over whatever it holds, and resolves once
|
|
100
|
+
* they have settled — so the caller can swap the content while nothing is on screen. Resolves at
|
|
101
|
+
* once when there is nothing to leave. A lookup started meanwhile takes over.
|
|
102
|
+
*/
|
|
103
|
+
private leave;
|
|
104
|
+
private emptyPanel;
|
|
105
|
+
/**
|
|
106
|
+
* Height changes here are CSS transitions inside this shadow root, which an enclosing
|
|
107
|
+
* <flexible-container> (the wrapper's tab strip) cannot see; it would keep clipping at the old
|
|
108
|
+
* height. So every render that moved something announces the change to those containers, the way
|
|
109
|
+
* a nested <flexible-container> does, and they stop clipping until it has settled.
|
|
110
|
+
*/
|
|
111
|
+
private heightAnnouncer?;
|
|
112
|
+
private layoutSignature?;
|
|
113
|
+
componentDidRender(): void;
|
|
114
|
+
private runSkippedLookup;
|
|
115
|
+
/** Remembers what the body shows, and forgets it a settle after the body shut. */
|
|
116
|
+
private retainBody;
|
|
117
|
+
blazorRef?: DotNetObjectReference;
|
|
118
|
+
setBlazorRef(newBlazorRef: DotNetObjectReference): Promise<void>;
|
|
119
|
+
/** Shows a per-campaign "why this status?" control. The host gates it on its own permission check; the trace lists claim and invoice details. */
|
|
120
|
+
showTrace: boolean;
|
|
121
|
+
recaptchaKey: string;
|
|
122
|
+
/** Renders a click-to-pass stand-in for the reCAPTCHA widget. Implied by `isDev`; the real widget is only ever used in production mode. */
|
|
123
|
+
mockRecaptcha: boolean;
|
|
124
|
+
unauthorizedSscLookupBaseUrl: string;
|
|
125
|
+
unauthorizedSscLookupQueryString: string;
|
|
126
|
+
cityId?: string;
|
|
127
|
+
cityIntegrationId?: string;
|
|
128
|
+
companyId?: string;
|
|
129
|
+
companyIntegrationId?: string;
|
|
130
|
+
companyBranchId?: string;
|
|
131
|
+
companyBranchIntegrationId?: string;
|
|
132
|
+
userId?: string;
|
|
133
|
+
brandIntegrationId: string;
|
|
134
|
+
customerName?: string;
|
|
135
|
+
customerPhone?: string;
|
|
136
|
+
customerEmail?: string;
|
|
137
|
+
/** The check is offered: the vehicle is unauthorized and the host configured a site key. */
|
|
138
|
+
showRecaptcha: boolean;
|
|
139
|
+
checkingUnauthorizedSSC: boolean;
|
|
140
|
+
devRecaptchaChecked: boolean;
|
|
141
|
+
recaptchaRes: {
|
|
142
|
+
status: ManufacturerCheckStatus | null;
|
|
143
|
+
} | null;
|
|
144
|
+
private recaptchaIntervalRef;
|
|
145
|
+
private recaptchaHideTimer?;
|
|
146
|
+
private recaptchaWidgetId;
|
|
147
|
+
private recaptchaPortalEl?;
|
|
148
|
+
private recaptchaPlaceholderRef;
|
|
149
|
+
private recaptchaReady?;
|
|
150
|
+
private positionRAF;
|
|
151
|
+
/**
|
|
152
|
+
* Development never shows Google's widget. The stand-in is the default whenever `isDev` is on, and
|
|
153
|
+
* the real widget is created lazily, only when a production-mode lookup actually needs it — so a
|
|
154
|
+
* host that flips `isDev` after the element mounted (the dev showcase does) still gets the mock,
|
|
155
|
+
* instead of a real widget rendered at mount time sitting on top of a mock that never polls it.
|
|
156
|
+
*/
|
|
157
|
+
private get useMockRecaptchaWidget();
|
|
158
|
+
private mockRecaptchaTrigger?;
|
|
159
|
+
onRecaptchaModeChange(): void;
|
|
160
|
+
private handleDevRecaptchaClick;
|
|
161
|
+
/** Stops the check from answering — polling, the stand-in's trigger, a request in flight — without touching what is on screen. */
|
|
162
|
+
private suspendManufacturerCheck;
|
|
163
|
+
/** Back to "nothing asked yet" — every new lookup, once the previous check has left the screen, and a cleared panel start here. */
|
|
164
|
+
private resetManufacturerCheck;
|
|
165
|
+
/**
|
|
166
|
+
* Offers the check for an unauthorized vehicle. Not awaited by the lookup: loading Google's script
|
|
167
|
+
* must not delay the vehicle landing on screen, so the real widget is armed in the background and
|
|
168
|
+
* checked against the lookup generation before it starts polling.
|
|
169
|
+
*/
|
|
170
|
+
private prepareManufacturerCheck;
|
|
171
|
+
private armRealRecaptcha;
|
|
172
|
+
/** Loads Google's script and renders the widget into a body-level portal, once per element. */
|
|
173
|
+
private ensureRealRecaptcha;
|
|
174
|
+
private hideRealRecaptcha;
|
|
175
|
+
/**
|
|
176
|
+
* The real widget is visible only while a production-mode check is offered and unanswered. It
|
|
177
|
+
* lives outside the shadow root, so the body cannot clip it as it shuts; instead it follows the
|
|
178
|
+
* body's opacity (see `getAncestorOpacity`) and is only taken down once the body has settled.
|
|
179
|
+
*/
|
|
180
|
+
private syncRealRecaptchaVisibility;
|
|
181
|
+
onRecaptchaStateChange(): void;
|
|
182
|
+
private runUnauthorizedSscLookup;
|
|
183
|
+
disconnectedCallback(): void;
|
|
184
|
+
private syncRecaptchaPosition;
|
|
185
|
+
/**
|
|
186
|
+
* How see-through the widget's place on the page is: the product of every ancestor's opacity,
|
|
187
|
+
* from the placeholder up through this shadow root (the body fading as it shuts) and on up the
|
|
188
|
+
* host page (a tab sliding out). The portal copies it, so the real widget leaves with the panel.
|
|
189
|
+
*/
|
|
190
|
+
private getAncestorOpacity;
|
|
191
|
+
openTraceKey?: string;
|
|
192
|
+
traces: Record<string, SscRepairTraceDTO>;
|
|
193
|
+
traceLoading: boolean;
|
|
194
|
+
traceError?: string;
|
|
195
|
+
private traceAbortController?;
|
|
196
|
+
/** The VIN the cached traces belong to; a lookup for another vehicle invalidates them. */
|
|
197
|
+
private tracesVin?;
|
|
198
|
+
private resetTraces;
|
|
199
|
+
private toggleTrace;
|
|
200
|
+
private loadTraces;
|
|
201
|
+
/** The row whose drawer the page is following, and the way to let go of it. */
|
|
202
|
+
private followedDrawer?;
|
|
203
|
+
private stopFollowing?;
|
|
204
|
+
/**
|
|
205
|
+
* When a row's evidence opens, brings the row to the top of the page and keeps it there while the
|
|
206
|
+
* drawer slides open beneath it — as an expanded service-history line does — so the reader is
|
|
207
|
+
* looking at the evidence they asked for and not at the drawer's edge below the fold. Runs after
|
|
208
|
+
* every render and acts only when the open drawer changes; closing it, or leaving, lets go.
|
|
209
|
+
*/
|
|
210
|
+
private followOpenDrawer;
|
|
211
|
+
private stopFollowingDrawer;
|
|
212
|
+
private panelState;
|
|
213
|
+
render(): any;
|
|
214
|
+
}
|
|
@@ -8,10 +8,9 @@ import { ComponentLocale, ErrorKeys, LanguageKeys, MultiLingual } from "../../fe
|
|
|
8
8
|
* Warranty coverage as a single dated rail: the standard warranty followed by every
|
|
9
9
|
* extended coverage in sequence.
|
|
10
10
|
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
14
|
-
* keep the original panel untouched for as long as they like.
|
|
11
|
+
* This panel shows warranty and nothing else — no campaign table, no reCAPTCHA, no
|
|
12
|
+
* unauthorized campaign lookup; those belong to `vehicle-ssc`. Hosts point their warranty
|
|
13
|
+
* tab at this tag and their campaign tab at that one.
|
|
15
14
|
*/
|
|
16
15
|
export declare class VehicleWarrantyTimeline implements MultiLingual, VehicleInfoLayoutInterface, VehicleLookupComponent, BlazorInvokable {
|
|
17
16
|
language: LanguageKeys;
|