adp-web-components 0.3.18 → 0.3.20
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-slot-dropdown_15.cjs.entry.js → branch-date-dropdown_17.cjs.entry.js} +958 -68
- package/dist/cjs/dead-stock-lookup_3.cjs.entry.js +9 -9
- package/dist/cjs/flexible-container.cjs.entry.js +3 -3
- 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 +21 -19
- 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-C9XsBzrL.js → functions-BAUJUMt-.js} +44 -19
- package/dist/cjs/general-form.cjs.entry.js +6 -6
- package/dist/cjs/general-inquiry-form.cjs.entry.js +6 -6
- package/dist/cjs/{get-local-language-BnUadlVY.js → get-local-language-DI_UK6D5.js} +1 -1
- package/dist/cjs/{get-mock-files-Dr5dpq1N.js → get-mock-files-B1tNGb9m.js} +1 -1
- package/dist/cjs/information-table.cjs.entry.js +1 -1
- 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/{mappers-BlH-TAo7.js → mappers-DnWgECCv.js} +54 -18
- package/dist/cjs/part-lookup.cjs.entry.js +2 -2
- package/dist/cjs/service-booking-form.cjs.entry.js +6 -6
- package/dist/cjs/shift-accordion.cjs.entry.js +2 -2
- 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 +1 -1
- 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 +92 -34
- package/dist/cjs/ssc-lookup-form.cjs.entry.js +6 -6
- package/dist/cjs/test-drive-form.cjs.entry.js +6 -6
- package/dist/cjs/triangle-alert-CTvU1eGY.js +248 -0
- package/dist/cjs/vehicle-accessories_8.cjs.entry.js +177 -117
- package/dist/cjs/vehicle-lookup.cjs.entry.js +3 -3
- package/dist/cjs/vehicle-quotation-form.cjs.entry.js +17 -18
- package/dist/collection/collection-manifest.json +2 -0
- 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/loading-spinner.css +1 -1
- package/dist/collection/components/components/loading-spinner.js +1 -1
- package/dist/collection/components/components/shift-accordion.css +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.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.css +1 -0
- package/dist/collection/components/form-elements/branch-date-dropdown.js +682 -0
- package/dist/collection/components/form-elements/branch-date-picker.css +1 -0
- package/dist/collection/components/form-elements/branch-date-picker.js +1197 -0
- package/dist/collection/components/form-elements/branch-slot-dropdown.css +1 -1
- package/dist/collection/components/form-elements/branch-slot-dropdown.js +11 -6
- package/dist/collection/components/form-elements/branch-slot-picker.css +1 -1
- package/dist/collection/components/form-elements/branch-slot-picker.js +166 -18
- 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 +6 -4
- package/dist/collection/components/form-elements/form-inputs.css +1 -1
- package/dist/collection/components/form-elements/form-phone-number.js +4 -2
- package/dist/collection/components/form-elements/form-picker-input.js +6 -4
- 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-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 +6 -4
- package/dist/collection/components/form-elements/form-time-picker-legacy.js +5 -5
- package/dist/collection/components/form-elements/form-vin-input.js +6 -4
- package/dist/collection/components/forms/defaults/mappers.js +54 -18
- package/dist/collection/components/forms/defaults/style.css +1 -1
- 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/themes.css +1 -1
- package/dist/collection/components/forms/vehicle-quotation.js +15 -16
- 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/claimable-item-popover.js +37 -29
- package/dist/collection/components/vehicle-lookup/components/claimable-trace-modal.js +6 -2
- package/dist/collection/components/vehicle-lookup/components/service-history-sub-row.js +3 -3
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-accessories.js +2 -2
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-claimable-items.js +121 -70
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-item-claim-form.js +89 -29
- package/dist/collection/components/vehicle-lookup/vehicle-lookup.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-paint-thickness.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-sale-information.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-sale-information.js +2 -2
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-service-history.js +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-specification.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-specification.js +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-details.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-timeline.css +1 -1
- package/dist/collection/components/vehicle-lookup/vehicle-warranty-timeline.js +1 -1
- package/dist/collection/components/vin-extractor/vin-extractor.css +1 -1
- package/dist/collection/components/vin-extractor/vin-extractor.js +1 -1
- package/dist/collection/features/form-hook/functions.js +42 -18
- package/dist/collection/global/lib/overlay.js +154 -0
- package/dist/collection/global/lib/slot-day-rules.js +65 -0
- package/dist/collection/templates/assets/adp-wordmark.svg +1 -0
- package/dist/collection/templates/assets/favicon.svg +17 -0
- package/dist/collection/templates/forms/docs-content/params.js +1199 -0
- package/dist/collection/templates/forms/docs-content/structure.js +1153 -0
- package/dist/collection/templates/forms/docs-content/theming.js +1240 -0
- package/dist/collection/templates/harness-theme.js +44 -0
- package/dist/collection/templates/harness.js +775 -0
- package/dist/collection/templates/highlight.js +194 -0
- package/dist/collection/templates/nav.js +320 -0
- package/dist/collection/templates/site-header.js +642 -0
- package/dist/collection/templates/site-locales.js +771 -0
- package/dist/components/branch-date-dropdown.d.ts +11 -0
- package/dist/components/branch-date-dropdown.js +5 -0
- package/dist/components/branch-date-picker.d.ts +11 -0
- package/dist/components/branch-date-picker.js +5 -0
- 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--lk4OUJg.js +5 -0
- package/dist/components/p-38ox9qxm.js +5 -0
- package/dist/components/p-5OD_mwiD.js +5 -0
- package/dist/components/{p-D7wRHBb3.js → p-68bjv9gT.js} +1 -1
- package/dist/components/p-B0_5_VvS.js +5 -0
- package/dist/components/p-B1xVBTqj.js +5 -0
- package/dist/components/{p-B0lK-5c_.js → p-B2bD-55K.js} +1 -1
- package/dist/components/{p-Bs5AIefE.js → p-BI5NL1Rh.js} +1 -1
- package/dist/components/{p-Be01Kv65.js → p-BPXRokES.js} +1 -1
- package/dist/components/{p-oZMLGlUq.js → p-BULuujHY.js} +1 -1
- package/dist/components/{p-B6EgLMus.js → p-BWlX-Nz-.js} +1 -1
- package/dist/components/p-Bc5HIbcj.js +5 -0
- package/dist/components/p-BcWJAP8j.js +5 -0
- package/dist/components/p-BpB_86n0.js +5 -0
- package/dist/components/p-BpHkd1L9.js +5 -0
- package/dist/components/{p-B0tcNl8W.js → p-BsnGFZeT.js} +1 -1
- package/dist/components/{p-B_jDD5xI.js → p-BvLVCp-j.js} +1 -1
- package/dist/components/p-C3KLOUbk.js +5 -0
- package/dist/components/{p-DgJ9CCPI.js → p-CJtTHErI.js} +1 -1
- package/dist/components/{p-DcB3e3j1.js → p-CMAmzdM7.js} +1 -1
- package/dist/components/p-CVpbr1tR.js +5 -0
- package/dist/components/{p-BVdlf8rx.js → p-CXbi5iPZ.js} +1 -1
- package/dist/components/p-C_1_eN4N.js +5 -0
- package/dist/components/{p-TtDq4UV5.js → p-Ce2mazYo.js} +1 -1
- package/dist/components/p-Cg6Prz81.js +5 -0
- package/dist/components/{p-l738xIxs.js → p-Cpjvk1pk.js} +1 -1
- package/dist/components/p-CqJiXtPb.js +5 -0
- package/dist/components/p-CrPyvAdX.js +5 -0
- package/dist/components/{p-C31A3MHr.js → p-CsU_c7eX.js} +1 -1
- package/dist/components/{p-Ci6k5mSb.js → p-D42YuMNZ.js} +1 -1
- package/dist/components/{p-Dhi7g1w3.js → p-DCpRGVqe.js} +1 -1
- package/dist/components/{p-D9pKibY5.js → p-DCsMDWbS.js} +1 -1
- package/dist/components/{p-BMnQwtNn.js → p-DQ0uTCi2.js} +1 -1
- package/dist/components/p-DTmI_Yx0.js +5 -0
- package/dist/components/p-DnspXuVN.js +5 -0
- package/dist/components/p-DqSdjh2n.js +5 -0
- package/dist/components/p-Dv2j7fhS.js +5 -0
- package/dist/components/{p-BUczNscD.js → p-K-OF4DG-.js} +1 -1
- package/dist/components/p-KSvRVGk-.js +5 -0
- package/dist/components/p-KbiYvxzP.js +5 -0
- package/dist/components/{p-DG-IgRFW.js → p-OY4Ixaeq.js} +1 -1
- package/dist/components/{p-BiaT4YFg.js → p-SIS25ChD.js} +1 -1
- package/dist/components/p-Wgb4y0H3.js +5 -0
- package/dist/components/p-X3AzJ0KD.js +5 -0
- package/dist/components/{p-gzdpekMI.js → p-bCeQwUKM.js} +1 -1
- package/dist/components/p-d3ZIPeEC.js +5 -0
- package/dist/components/{p-DlqfD7uh.js → p-ikaUQvOO.js} +1 -1
- package/dist/components/p-mbVTvSJF.js +5 -0
- package/dist/components/{p-DTdm5I7a.js → p-rQ3Z9EnS.js} +1 -1
- package/dist/components/{p-BmQrqnnJ.js → p-uYkn8a0m.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-warranty-details.js +1 -1
- package/dist/components/vehicle-warranty-timeline.js +1 -1
- package/dist/components/vin-extractor.js +1 -1
- package/dist/esm/{branch-slot-dropdown_15.entry.js → branch-date-dropdown_17.entry.js} +957 -69
- package/dist/esm/dead-stock-lookup_3.entry.js +9 -9
- package/dist/esm/flexible-container.entry.js +3 -3
- 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 +21 -19
- package/dist/esm/form-switch.entry.js +2 -2
- package/dist/esm/form-time-picker.entry.js +6 -6
- package/dist/esm/{functions-COLiDjnd.js → functions-DSwc1YVL.js} +44 -20
- package/dist/esm/general-form.entry.js +6 -6
- package/dist/esm/general-inquiry-form.entry.js +6 -6
- package/dist/esm/{get-local-language-CACck9dv.js → get-local-language-DdSAPSCV.js} +1 -1
- package/dist/esm/{get-mock-files-BEIYZlS_.js → get-mock-files-D4naDetb.js} +1 -1
- package/dist/esm/information-table.entry.js +1 -1
- 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/{mappers-9IKbvPiR.js → mappers-CZs2R7k6.js} +54 -18
- package/dist/esm/part-lookup.entry.js +2 -2
- package/dist/esm/service-booking-form.entry.js +6 -6
- package/dist/esm/shift-accordion.entry.js +2 -2
- package/dist/esm/shift-checkbox.entry.js +2 -2
- package/dist/esm/shift-components.js +1 -1
- package/dist/esm/shift-slider.entry.js +1 -1
- 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 +92 -34
- package/dist/esm/ssc-lookup-form.entry.js +6 -6
- package/dist/esm/test-drive-form.entry.js +6 -6
- package/dist/esm/triangle-alert-BlnfPzWh.js +237 -0
- package/dist/esm/vehicle-accessories_8.entry.js +177 -117
- package/dist/esm/vehicle-lookup.entry.js +3 -3
- package/dist/esm/vehicle-quotation-form.entry.js +17 -18
- package/dist/integration-manifest.json +1 -1
- package/dist/locales/vehicleLookup/serviceHistory/en.json +2 -2
- package/dist/shift-components/{p-a91ed0fc.entry.js → p-0b576888.entry.js} +1 -1
- package/dist/shift-components/p-11ffa908.entry.js +5 -0
- package/dist/shift-components/{p-b2048d87.entry.js → p-152057de.entry.js} +1 -1
- package/dist/shift-components/p-198333fa.entry.js +5 -0
- package/dist/shift-components/{p-537507ee.entry.js → p-247ac2db.entry.js} +1 -1
- package/dist/shift-components/{p-1923fdb9.entry.js → p-295e445f.entry.js} +1 -1
- package/dist/shift-components/p-431522f2.entry.js +5 -0
- package/dist/shift-components/{p-b1270d98.entry.js → p-49dc6d73.entry.js} +1 -1
- package/dist/shift-components/{p-ac91d4ce.entry.js → p-4b6f801a.entry.js} +1 -1
- package/dist/shift-components/{p-6263bc0c.entry.js → p-4cdeab63.entry.js} +1 -1
- package/dist/shift-components/{p-829f24b9.entry.js → p-52530fba.entry.js} +1 -1
- package/dist/shift-components/p-5ad4d072.entry.js +5 -0
- package/dist/shift-components/{p-a0d13479.entry.js → p-5e8e5ed7.entry.js} +1 -1
- package/dist/shift-components/{p-65aad39b.entry.js → p-68e41217.entry.js} +1 -1
- package/dist/shift-components/{p-f2b86186.entry.js → p-76b0ea8c.entry.js} +1 -1
- package/dist/shift-components/{p-fdf94f65.entry.js → p-85d43a41.entry.js} +1 -1
- package/dist/shift-components/p-B9INqdFT.js +5 -0
- package/dist/shift-components/p-BkVfhjgg.js +5 -0
- package/dist/shift-components/{p--JyU3LyU.js → p-D2Ofzg_i.js} +1 -1
- package/dist/shift-components/p-DDtDRGFL.js +5 -0
- package/dist/shift-components/{p-jmNTa9tM.js → p-OfPuHUYc.js} +1 -1
- package/dist/shift-components/p-b44b2c00.entry.js +5 -0
- package/dist/shift-components/{p-48a9feb9.entry.js → p-b4544d10.entry.js} +1 -1
- package/dist/shift-components/{p-853f1b8b.entry.js → p-bfe0661c.entry.js} +1 -1
- package/dist/shift-components/{p-e7a99998.entry.js → p-c7fc8d5f.entry.js} +1 -1
- package/dist/shift-components/{p-bb172fc4.entry.js → p-ca0683e9.entry.js} +1 -1
- package/dist/shift-components/{p-cfcfdb20.entry.js → p-cbdc1c2e.entry.js} +1 -1
- package/dist/shift-components/p-d3bbba07.entry.js +5 -0
- package/dist/shift-components/{p-ec2a7d65.entry.js → p-df0c7ac1.entry.js} +1 -1
- package/dist/shift-components/p-f4679148.entry.js +5 -0
- package/dist/shift-components/{p-c4cf0a18.entry.js → p-feb443ec.entry.js} +1 -1
- package/dist/shift-components/shift-components.esm.js +1 -1
- package/dist/stencil-docs.json +1677 -12
- package/dist/templates/production-host/vehicle-service-history.html +14 -0
- package/dist/types/components/form-elements/branch-date-dropdown.d.ts +74 -0
- package/dist/types/components/form-elements/branch-date-picker.d.ts +174 -0
- package/dist/types/components/form-elements/branch-slot-dropdown.d.ts +6 -0
- package/dist/types/components/form-elements/branch-slot-picker.d.ts +27 -0
- package/dist/types/components/forms/defaults/mappers.d.ts +15 -9
- package/dist/types/components/vehicle-lookup/components/claimable-item-popover.d.ts +10 -1
- package/dist/types/components/vehicle-lookup/components/claimable-trace-modal.d.ts +3 -0
- package/dist/types/components/vehicle-lookup/vehicle-claimable-items.d.ts +14 -4
- package/dist/types/components/vehicle-lookup/vehicle-item-claim-form.d.ts +23 -3
- package/dist/types/components.d.ts +533 -6
- package/dist/types/features/form-hook/functions.d.ts +14 -0
- package/dist/types/global/lib/overlay.d.ts +61 -0
- package/dist/types/global/lib/slot-day-rules.d.ts +25 -0
- package/dist/types/locales/vehicleLookup/serviceHistory/type.d.ts +2 -2
- package/dist/types/locales/vehicleLookup/warrantyTimeline/type.d.ts +4 -4
- package/dist/types/locales/vehicleLookup/wrapper-type.d.ts +2 -2
- package/package.json +15 -3
- package/dist/cjs/triangle-alert-BjQBwsRv.js +0 -92
- package/dist/components/p-BQHywBX6.js +0 -5
- package/dist/components/p-Bb4mauUH.js +0 -5
- package/dist/components/p-Bl_BMBad.js +0 -5
- package/dist/components/p-BogCz_yJ.js +0 -5
- package/dist/components/p-BvFDjUZZ.js +0 -5
- package/dist/components/p-C2trAVtF.js +0 -5
- package/dist/components/p-CCuYl9VQ.js +0 -5
- package/dist/components/p-CNqcMKLv.js +0 -5
- package/dist/components/p-CZWmJ1vV.js +0 -5
- package/dist/components/p-Cg4l7ICV.js +0 -5
- package/dist/components/p-Ci6LbIzY.js +0 -5
- package/dist/components/p-CuTemmgW.js +0 -5
- package/dist/components/p-D0oXezbg.js +0 -5
- package/dist/components/p-DBKG_o1-.js +0 -5
- package/dist/components/p-Dlm9wHfQ.js +0 -5
- package/dist/components/p-DsMy6H9e.js +0 -5
- package/dist/components/p-Dseg250d.js +0 -5
- package/dist/components/p-EVz84xxv.js +0 -5
- package/dist/components/p-SnXklPq9.js +0 -5
- package/dist/components/p-k8G1hnHC.js +0 -5
- package/dist/components/p-uPiGNvhQ.js +0 -5
- package/dist/esm/triangle-alert-Brtqhx2d.js +0 -86
- package/dist/shift-components/p-34dffc00.entry.js +0 -5
- package/dist/shift-components/p-6fa1121c.entry.js +0 -5
- package/dist/shift-components/p-782fe0e1.entry.js +0 -5
- package/dist/shift-components/p-9a6450f6.entry.js +0 -5
- package/dist/shift-components/p-B9kqtQjS.js +0 -5
- package/dist/shift-components/p-D0Md1Xf7.js +0 -5
- package/dist/shift-components/p-c66b18c9.entry.js +0 -5
- package/dist/shift-components/p-c9a7e5ab.entry.js +0 -5
- package/dist/shift-components/p-fa7a961c.entry.js +0 -5
- package/dist/shift-components/p-hABirfUj.js +0 -5
- /package/dist/collection/templates/{vehicle-lookup → prototypes}/prototype-assets/extended-warranty/adp-logo.svg +0 -0
|
@@ -1,9 +1,23 @@
|
|
|
1
1
|
<!doctype html>
|
|
2
|
+
<!--
|
|
3
|
+
HOST INTEGRATION TEMPLATE — deliberately plain.
|
|
4
|
+
|
|
5
|
+
This is a copy-paste starting point for an integrator, not a demo. It loads the
|
|
6
|
+
package from the CDN the way a real host would and does nothing else: no
|
|
7
|
+
harness, no Tailwind, no Alpine, no theming. Anything added here is something
|
|
8
|
+
the integrator would have to delete.
|
|
9
|
+
|
|
10
|
+
`{{ADP_WEB_COMPONENTS_VERSION}}` and `{{VEHICLE_LOOKUP_BASE_URL}}` are meant to
|
|
11
|
+
be substituted. Demos that exercise the component live under
|
|
12
|
+
src/templates/vehicle-lookup/.
|
|
13
|
+
-->
|
|
2
14
|
<html lang="en">
|
|
3
15
|
<head>
|
|
4
16
|
<meta charset="UTF-8" />
|
|
5
17
|
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
|
|
6
18
|
<title>Vehicle service history host</title>
|
|
19
|
+
|
|
20
|
+
<meta name="adp-publish" content="false" />
|
|
7
21
|
</head>
|
|
8
22
|
<body>
|
|
9
23
|
<label for="vin">VIN</label>
|
|
@@ -0,0 +1,74 @@
|
|
|
1
|
+
import { BranchSlotDay } from './branch-slot-dropdown';
|
|
2
|
+
export interface BranchDateDropdownCopy {
|
|
3
|
+
date: string;
|
|
4
|
+
time: string;
|
|
5
|
+
slots: string;
|
|
6
|
+
empty: string;
|
|
7
|
+
error: string;
|
|
8
|
+
retry: string;
|
|
9
|
+
back: string;
|
|
10
|
+
noTimes: string;
|
|
11
|
+
closed: string;
|
|
12
|
+
}
|
|
13
|
+
/** Which half of the sliding track is in view. */
|
|
14
|
+
export type BranchDateStep = 'date' | 'time';
|
|
15
|
+
/**
|
|
16
|
+
* Panel half of `branch-date-picker`.
|
|
17
|
+
*
|
|
18
|
+
* Two panes on one horizontal track — a month grid, then that day's times —
|
|
19
|
+
* rather than the two stacked sections `branch-slot-dropdown` uses. Only one
|
|
20
|
+
* decision is on screen at a time, which is the point of the date-picker
|
|
21
|
+
* variant: a customer who has met a month calendar before recognises step one
|
|
22
|
+
* immediately, and step two arrives already scoped to the day they picked.
|
|
23
|
+
*
|
|
24
|
+
* Mounted on `document.body` by `shift-portal` and positioned through the
|
|
25
|
+
* `--branch-date-*` variables the picker sets, exactly as the slot panel is.
|
|
26
|
+
*/
|
|
27
|
+
export declare class BranchDateDropdown {
|
|
28
|
+
name?: string;
|
|
29
|
+
isOpen: boolean;
|
|
30
|
+
direction: string;
|
|
31
|
+
status: 'idle' | 'loading' | 'ready' | 'empty' | 'error';
|
|
32
|
+
/** Bookable days, already de-duplicated, sorted and rule-marked by the picker. */
|
|
33
|
+
days: BranchSlotDay[];
|
|
34
|
+
/** The month on screen, as `YYYY-MM`. */
|
|
35
|
+
monthKey: string;
|
|
36
|
+
/** `1` when the last month change went forward, `-1` back. Drives the slide. */
|
|
37
|
+
monthDirection: number;
|
|
38
|
+
canGoPrev: boolean;
|
|
39
|
+
canGoNext: boolean;
|
|
40
|
+
step: BranchDateStep;
|
|
41
|
+
activeDate: string;
|
|
42
|
+
selectedRaw: string;
|
|
43
|
+
today: string;
|
|
44
|
+
/** `0` Sunday … `6` Saturday — resolved from the locale by the picker. */
|
|
45
|
+
weekStart: number;
|
|
46
|
+
idleText?: string;
|
|
47
|
+
copy: BranchDateDropdownCopy;
|
|
48
|
+
formatDay: (date: string, options: Intl.DateTimeFormatOptions) => string;
|
|
49
|
+
formatMonth: (monthKey: string) => string;
|
|
50
|
+
formatWeekday: (weekday: number) => string;
|
|
51
|
+
displayTime: (raw: string) => string;
|
|
52
|
+
handleMonth: (delta: number) => void;
|
|
53
|
+
handleDate: (date: string) => void;
|
|
54
|
+
handleTime: (raw: string) => void;
|
|
55
|
+
handleBack: () => void;
|
|
56
|
+
handleRetry: () => void;
|
|
57
|
+
/** Tapping the sheet scrim. Unused above 600px, where the scrim is hidden. */
|
|
58
|
+
handleDismiss?: () => void;
|
|
59
|
+
setElementRef?: (el: HTMLElement | null) => void;
|
|
60
|
+
private containerEl;
|
|
61
|
+
componentDidLoad(): void;
|
|
62
|
+
disconnectedCallback(): void;
|
|
63
|
+
private get dayMap();
|
|
64
|
+
/**
|
|
65
|
+
* The visible month as a flat list of ISO dates, padded with nulls so the
|
|
66
|
+
* first of the month lands under its own weekday column.
|
|
67
|
+
*/
|
|
68
|
+
private monthCells;
|
|
69
|
+
private renderMessage;
|
|
70
|
+
private renderSkeleton;
|
|
71
|
+
private renderCalendarPane;
|
|
72
|
+
private renderTimePane;
|
|
73
|
+
render(): any;
|
|
74
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
import { EventEmitter } from '../../stencil-public-runtime';
|
|
2
|
+
import { FormHook } from "../../features/form-hook/form-hook";
|
|
3
|
+
import { FormElement, FormInputLocalization } from "../../features/form-hook/index";
|
|
4
|
+
import { LanguageKeys } from "../../features/multi-lingual/index";
|
|
5
|
+
import { BranchSlotDay } from './branch-slot-dropdown';
|
|
6
|
+
import { BranchDateStep } from './branch-date-dropdown';
|
|
7
|
+
import { BranchSlotSelection } from './branch-slot-picker';
|
|
8
|
+
type Status = 'idle' | 'loading' | 'ready' | 'empty' | 'error';
|
|
9
|
+
/**
|
|
10
|
+
* Branch-aware booking slot field, month-calendar variant.
|
|
11
|
+
*
|
|
12
|
+
* Same contract and same data as `branch-slot-picker` — the same endpoint, the
|
|
13
|
+
* same `slotChange` payload, the same standalone-without-a-form behaviour. The
|
|
14
|
+
* difference is entirely in the panel: a month grid first, then that day's
|
|
15
|
+
* times, on a sliding track. Customers who have never used a horizontal day
|
|
16
|
+
* strip have used a month calendar, and the second step arrives already scoped
|
|
17
|
+
* to one day rather than sitting under the first.
|
|
18
|
+
*
|
|
19
|
+
* The two are meant to be interchangeable, so a deployment can pick whichever
|
|
20
|
+
* its audience reads faster without anything downstream changing.
|
|
21
|
+
*/
|
|
22
|
+
export declare class BranchDatePicker implements FormElement {
|
|
23
|
+
/** Field name. Only meaningful when `form` is supplied. */
|
|
24
|
+
name: string;
|
|
25
|
+
/** Optional — omit for standalone use and listen to `slotChange` instead. */
|
|
26
|
+
form?: FormHook<any>;
|
|
27
|
+
/** Full URL of the calendar endpoint, e.g. `https://…/api/public/calendar`. */
|
|
28
|
+
calendarApi: string;
|
|
29
|
+
/** Integration ids. The field stays idle until all four are present. */
|
|
30
|
+
companyId: string;
|
|
31
|
+
branchId: string;
|
|
32
|
+
departmentId: string;
|
|
33
|
+
brandId: string;
|
|
34
|
+
/** How far ahead to ask. The endpoint caps its own response at 15 days. */
|
|
35
|
+
daysAhead: number;
|
|
36
|
+
/**
|
|
37
|
+
* Weekdays the branch never books on, `0` Sunday … `6` Saturday. Accepts an
|
|
38
|
+
* array or a `"5,6"` string. Matching days stay on the grid, struck through,
|
|
39
|
+
* rather than being dropped — see `~lib/slot-day-rules`.
|
|
40
|
+
*/
|
|
41
|
+
disabledWeekdays?: string | number[];
|
|
42
|
+
/** One-off blackout dates as `YYYY-MM-DD`, same accepted shapes as above. */
|
|
43
|
+
disabledDates?: string | string[];
|
|
44
|
+
/**
|
|
45
|
+
* First column of the grid, `0` Sunday … `6` Saturday. Left unset it comes
|
|
46
|
+
* from the active locale, which is right far more often than any constant.
|
|
47
|
+
*/
|
|
48
|
+
weekStartsOn?: number;
|
|
49
|
+
/** Gap between the trigger and the panel, matching shift-select's default. */
|
|
50
|
+
gap: number;
|
|
51
|
+
/**
|
|
52
|
+
* Floor for the panel width on desktop. The panel is portaled to `<body>` and
|
|
53
|
+
* positioned fixed, so it is free to be wider than the field — and than the
|
|
54
|
+
* form around it — which is the point: seven columns stop reading as a
|
|
55
|
+
* calendar much below this, and form fields are routinely narrower.
|
|
56
|
+
*/
|
|
57
|
+
minPanelWidth: number;
|
|
58
|
+
/** Tallest the panel may get before its panes scroll. Also capped to the viewport. */
|
|
59
|
+
maxPanelHeight: number;
|
|
60
|
+
label?: string;
|
|
61
|
+
wrapperId: string;
|
|
62
|
+
wrapperClass: string;
|
|
63
|
+
isRequired: boolean;
|
|
64
|
+
isDisabled: boolean;
|
|
65
|
+
language: LanguageKeys;
|
|
66
|
+
localization?: FormInputLocalization;
|
|
67
|
+
/** Preselects a slot, in the same `YYYY-MM-DDTHH:mm` form the field emits. */
|
|
68
|
+
defaultValue?: string;
|
|
69
|
+
status: Status;
|
|
70
|
+
days: BranchSlotDay[];
|
|
71
|
+
selectedDate: string;
|
|
72
|
+
selectedRaw: string;
|
|
73
|
+
isOpen: boolean;
|
|
74
|
+
dropdownAncestorClasses: string;
|
|
75
|
+
/**
|
|
76
|
+
* The day whose times are on the second pane. Kept apart from `selectedDate`
|
|
77
|
+
* so browsing the calendar and then dismissing the panel leaves the committed
|
|
78
|
+
* selection untouched.
|
|
79
|
+
*/
|
|
80
|
+
draftDate: string;
|
|
81
|
+
step: BranchDateStep;
|
|
82
|
+
/** Month on screen as `YYYY-MM`, and which way the last change travelled. */
|
|
83
|
+
monthKey: string;
|
|
84
|
+
monthDirection: number;
|
|
85
|
+
/** Fires on every confirmed day+time selection. The standalone contract. */
|
|
86
|
+
slotChange: EventEmitter<BranchSlotSelection>;
|
|
87
|
+
el: HTMLElement;
|
|
88
|
+
/**
|
|
89
|
+
* The response as it arrived, before the disable rules are layered on. Kept so
|
|
90
|
+
* a rule change re-decorates without a refetch.
|
|
91
|
+
*/
|
|
92
|
+
private fetchedDays;
|
|
93
|
+
private abortController?;
|
|
94
|
+
private dropdownEl;
|
|
95
|
+
private lockedScrollY;
|
|
96
|
+
private boundKeyDown;
|
|
97
|
+
componentWillLoad(): void;
|
|
98
|
+
componentDidLoad(): void;
|
|
99
|
+
disconnectedCallback(): void;
|
|
100
|
+
onOpenChange(isOpen: boolean): void;
|
|
101
|
+
/**
|
|
102
|
+
* Pinning the body position rather than just hiding overflow: on iOS,
|
|
103
|
+
* `overflow: hidden` alone still lets the page rubber-band behind the sheet.
|
|
104
|
+
*/
|
|
105
|
+
private lockScroll;
|
|
106
|
+
private releaseScroll;
|
|
107
|
+
onRulesChange(): void;
|
|
108
|
+
onTargetChange(): void;
|
|
109
|
+
/** FormElement contract. */
|
|
110
|
+
reset(newValue?: unknown): void;
|
|
111
|
+
getValue(): string;
|
|
112
|
+
/** Lets a host force a refetch, e.g. after a token refresh. */
|
|
113
|
+
refresh(): Promise<void>;
|
|
114
|
+
openDropdown(): Promise<void>;
|
|
115
|
+
closeDropdown(): Promise<void>;
|
|
116
|
+
private get isRtl();
|
|
117
|
+
private get copy();
|
|
118
|
+
private get intlLocales();
|
|
119
|
+
/**
|
|
120
|
+
* `0` Sunday … `6` Saturday. `getWeekInfo` is the only thing that knows the
|
|
121
|
+
* region's answer; it is missing on older WebViews, hence the guard and the
|
|
122
|
+
* Monday default the rest of Intl assumes.
|
|
123
|
+
*/
|
|
124
|
+
private get weekStart();
|
|
125
|
+
private pad;
|
|
126
|
+
private get todayIso();
|
|
127
|
+
/** `2026-08-13 09:00 AM` → minutes since midnight. */
|
|
128
|
+
private minutesOf;
|
|
129
|
+
private toFormValue;
|
|
130
|
+
private displayTime;
|
|
131
|
+
private formatDay;
|
|
132
|
+
private formatMonth;
|
|
133
|
+
/** 7 January 2024 was a Sunday, so it indexes weekdays without a lookup table. */
|
|
134
|
+
private formatWeekday;
|
|
135
|
+
private queryUrl;
|
|
136
|
+
/**
|
|
137
|
+
* Overlapping work periods of equal priority make the endpoint emit the same
|
|
138
|
+
* slot more than once, and a merged response is not necessarily ordered. Both
|
|
139
|
+
* are fixed here rather than in the panel, so anything reading `days` gets
|
|
140
|
+
* clean data.
|
|
141
|
+
*/
|
|
142
|
+
private normalise;
|
|
143
|
+
/** Layers the disable rules over the response without discarding anything. */
|
|
144
|
+
private applyDayRules;
|
|
145
|
+
private firstOpenDay;
|
|
146
|
+
private lastOpenDay;
|
|
147
|
+
private load;
|
|
148
|
+
private setDropdownRef;
|
|
149
|
+
private getTriggerEl;
|
|
150
|
+
private isTriggerInView;
|
|
151
|
+
/**
|
|
152
|
+
* Below this width the panel is a bottom sheet pinned to the viewport, so it
|
|
153
|
+
* is not anchored to anything and none of the positioning below applies. Kept
|
|
154
|
+
* in sync with the media query in branch-date-dropdown.css.
|
|
155
|
+
*/
|
|
156
|
+
private get isSheet();
|
|
157
|
+
/** Anchor to the trigger, flip up when space below is short. */
|
|
158
|
+
private adjustDropdownPosition;
|
|
159
|
+
private handleResize;
|
|
160
|
+
private handleScroll;
|
|
161
|
+
private handleKeyDown;
|
|
162
|
+
private closeOnOutsideClick;
|
|
163
|
+
private toggle;
|
|
164
|
+
private get monthBounds();
|
|
165
|
+
/** Months with nothing bookable in them are not worth walking into. */
|
|
166
|
+
private handleMonth;
|
|
167
|
+
private handleDate;
|
|
168
|
+
private handleBack;
|
|
169
|
+
private handleTime;
|
|
170
|
+
/** What the trigger shows: the committed slot, or why it cannot be opened. */
|
|
171
|
+
private triggerText;
|
|
172
|
+
render(): any;
|
|
173
|
+
}
|
|
174
|
+
export {};
|
|
@@ -2,6 +2,12 @@
|
|
|
2
2
|
export interface BranchSlotDay {
|
|
3
3
|
date: string;
|
|
4
4
|
times: string[];
|
|
5
|
+
/**
|
|
6
|
+
* Returned by the branch but not bookable — a blackout date or a weekday the
|
|
7
|
+
* deployment never takes bookings on. Rendered greyed rather than removed so
|
|
8
|
+
* the customer sees the day exists.
|
|
9
|
+
*/
|
|
10
|
+
disabled?: boolean;
|
|
5
11
|
}
|
|
6
12
|
export interface BranchSlotDropdownCopy {
|
|
7
13
|
day: string;
|
|
@@ -37,8 +37,26 @@ export declare class BranchSlotPicker implements FormElement {
|
|
|
37
37
|
brandId: string;
|
|
38
38
|
/** How far ahead to ask. The endpoint caps its own response at 15 days. */
|
|
39
39
|
daysAhead: number;
|
|
40
|
+
/**
|
|
41
|
+
* Weekdays the branch never books on, `0` Sunday … `6` Saturday. Accepts an
|
|
42
|
+
* array or a `"5,6"` string. Matching days stay visible but unselectable —
|
|
43
|
+
* see `~lib/slot-day-rules` for why they are not simply dropped.
|
|
44
|
+
*/
|
|
45
|
+
disabledWeekdays?: string | number[];
|
|
46
|
+
/** One-off blackout dates as `YYYY-MM-DD`, same accepted shapes as above. */
|
|
47
|
+
disabledDates?: string | string[];
|
|
40
48
|
/** Gap between the trigger and the panel, matching shift-select's default. */
|
|
41
49
|
gap: number;
|
|
50
|
+
/**
|
|
51
|
+
* Floor for the panel width on desktop. The panel is portaled to `<body>` and
|
|
52
|
+
* positioned fixed, so it is free to be wider than the field — and than the
|
|
53
|
+
* form around it — which is the point: a two-column form gives the field
|
|
54
|
+
* ~320px, which squeezed the day strip and the time grid into something that
|
|
55
|
+
* read as clipped. Capped to the viewport at open time.
|
|
56
|
+
*/
|
|
57
|
+
minPanelWidth: number;
|
|
58
|
+
/** Tallest the panel may get before it scrolls. Also capped to the viewport. */
|
|
59
|
+
maxPanelHeight: number;
|
|
42
60
|
label?: string;
|
|
43
61
|
wrapperId: string;
|
|
44
62
|
wrapperClass: string;
|
|
@@ -63,6 +81,11 @@ export declare class BranchSlotPicker implements FormElement {
|
|
|
63
81
|
/** Fires on every confirmed day+time selection. The standalone contract. */
|
|
64
82
|
slotChange: EventEmitter<BranchSlotSelection>;
|
|
65
83
|
el: HTMLElement;
|
|
84
|
+
/**
|
|
85
|
+
* The response as it arrived, before the disable rules are layered on. Kept so
|
|
86
|
+
* a rule change re-decorates without a refetch.
|
|
87
|
+
*/
|
|
88
|
+
private fetchedDays;
|
|
66
89
|
private abortController?;
|
|
67
90
|
private dropdownEl;
|
|
68
91
|
private lockedScrollY;
|
|
@@ -77,6 +100,7 @@ export declare class BranchSlotPicker implements FormElement {
|
|
|
77
100
|
*/
|
|
78
101
|
private lockScroll;
|
|
79
102
|
private releaseScroll;
|
|
103
|
+
onRulesChange(): void;
|
|
80
104
|
onTargetChange(): void;
|
|
81
105
|
/** FormElement contract. */
|
|
82
106
|
reset(newValue?: unknown): void;
|
|
@@ -102,6 +126,9 @@ export declare class BranchSlotPicker implements FormElement {
|
|
|
102
126
|
* panel, so anything reading `days` gets clean data.
|
|
103
127
|
*/
|
|
104
128
|
private normalise;
|
|
129
|
+
/** Layers the disable rules over the response without discarding anything. */
|
|
130
|
+
private applyDayRules;
|
|
131
|
+
private firstOpenDay;
|
|
105
132
|
private load;
|
|
106
133
|
private setDropdownRef;
|
|
107
134
|
private getTriggerEl;
|
|
@@ -63,21 +63,27 @@ export declare const getFormMappers: (extraMappers?: Record<string, (prop: any)
|
|
|
63
63
|
props: any;
|
|
64
64
|
}) => any;
|
|
65
65
|
/**
|
|
66
|
-
* Branch-aware booking slot. Unlike `time` below — which
|
|
67
|
-
* from min/max/span and is therefore identical at every
|
|
68
|
-
* this asks the branch's own calendar what is actually
|
|
69
|
-
*
|
|
70
|
-
* The branch comes from the `companyBranchId` field's selected option, whose
|
|
71
|
-
* `meta` is the whole branch record, so company / department / brand need no
|
|
72
|
-
* extra configuration. Department resolves against the branch's own list
|
|
73
|
-
* rather than being hardcoded: asking a branch for a department it does not
|
|
74
|
-
* have returns an empty calendar.
|
|
66
|
+
* Branch-aware booking slot, day-strip variant. Unlike `time` below — which
|
|
67
|
+
* builds a fixed ladder from min/max/span and is therefore identical at every
|
|
68
|
+
* branch on every day — this asks the branch's own calendar what is actually
|
|
69
|
+
* open.
|
|
75
70
|
*/
|
|
76
71
|
bookingSlot: ({ form, language, props }: {
|
|
77
72
|
form: any;
|
|
78
73
|
language: any;
|
|
79
74
|
props: any;
|
|
80
75
|
}) => any;
|
|
76
|
+
/**
|
|
77
|
+
* The same booking slot, month-calendar variant: a date picker that slides to
|
|
78
|
+
* that day's times. Identical data, identical submitted value — the two are
|
|
79
|
+
* interchangeable, so a deployment can run whichever its audience reads
|
|
80
|
+
* faster without anything downstream changing.
|
|
81
|
+
*/
|
|
82
|
+
bookingDate: ({ form, language, props }: {
|
|
83
|
+
form: any;
|
|
84
|
+
language: any;
|
|
85
|
+
props: any;
|
|
86
|
+
}) => any;
|
|
81
87
|
time: ({ language, props }: {
|
|
82
88
|
language: any;
|
|
83
89
|
props: any;
|
|
@@ -14,12 +14,21 @@ type ClaimableItemPopoverProps = {
|
|
|
14
14
|
popoverHeight: number;
|
|
15
15
|
target: PopoverTarget;
|
|
16
16
|
fadingOut: boolean;
|
|
17
|
-
|
|
17
|
+
/** Held for the length of a hover-to-hover cross-fade; drives which layer is opaque. */
|
|
18
|
+
swapping: boolean;
|
|
19
|
+
/** The previously hovered item, rendered underneath while it fades out. */
|
|
20
|
+
outgoingItem?: VehicleServiceItemDTO;
|
|
21
|
+
/** Bumped on every item change so the vdom mounts a fresh layer instead of patching the old one. */
|
|
22
|
+
layerKey: number;
|
|
23
|
+
/** Cross-fade + resize duration, in ms. Drives the CSS transitions and the outgoing-layer timer. */
|
|
24
|
+
swapMs: number;
|
|
18
25
|
bodyContentHeight: number;
|
|
19
26
|
claim: (item: VehicleServiceItemDTO) => void;
|
|
20
27
|
locale: ComponentLocale<typeof dynamicClaimSchema>;
|
|
21
28
|
onMouseEnter: () => void;
|
|
22
29
|
onMouseLeave: () => void;
|
|
30
|
+
/** Handed back so the owner can promote it into the top layer when a host ancestor would clip it. */
|
|
31
|
+
rootRef: (element: HTMLElement) => void;
|
|
23
32
|
};
|
|
24
33
|
export declare const ClaimableItemPopover: FunctionalComponent<ClaimableItemPopoverProps>;
|
|
25
34
|
export {};
|
|
@@ -10,6 +10,9 @@ type ClaimableTraceModalProps = {
|
|
|
10
10
|
traceHtml?: string;
|
|
11
11
|
locale: ComponentLocale<typeof dynamicClaimSchema>;
|
|
12
12
|
onClose: () => void;
|
|
13
|
+
/** Handed back so the owner can showModal()/close() it — see openTraceModal. */
|
|
14
|
+
dialogRef: (element: HTMLDialogElement) => void;
|
|
15
|
+
onCancel: (event: Event) => void;
|
|
13
16
|
};
|
|
14
17
|
export declare const ClaimableTraceModal: FunctionalComponent<ClaimableTraceModalProps>;
|
|
15
18
|
export {};
|
|
@@ -53,7 +53,9 @@ export declare class VehicleClaimableItems implements MultiLingual, VehicleInfoL
|
|
|
53
53
|
popoverTarget: PopoverTarget;
|
|
54
54
|
popoverHeight: number;
|
|
55
55
|
popoverBodyContentHeight: number;
|
|
56
|
-
|
|
56
|
+
popoverSwapping: boolean;
|
|
57
|
+
outgoingClaimItem?: VehicleServiceItemDTO;
|
|
58
|
+
popoverLayerKey: number;
|
|
57
59
|
popoverFadingOut: boolean;
|
|
58
60
|
showTraceModal: boolean;
|
|
59
61
|
traceModalFadingOut: boolean;
|
|
@@ -62,12 +64,14 @@ export declare class VehicleClaimableItems implements MultiLingual, VehicleInfoL
|
|
|
62
64
|
traceHtml?: string;
|
|
63
65
|
claimForm: VehicleItemClaimForm;
|
|
64
66
|
private traceAbortController?;
|
|
65
|
-
private
|
|
67
|
+
private traceDialogEl?;
|
|
68
|
+
private releaseTraceFallbacks?;
|
|
66
69
|
private traceFadeOutTimeoutRef;
|
|
67
70
|
private popoverAnchorEl;
|
|
71
|
+
private popoverEl?;
|
|
68
72
|
private popoverCloseTimeoutRef;
|
|
69
73
|
private popoverHideTimeoutRef;
|
|
70
|
-
private
|
|
74
|
+
private popoverSwapEndTimeoutRef;
|
|
71
75
|
private progressBar;
|
|
72
76
|
private claimableItemsBox;
|
|
73
77
|
private tabAnimationTimeoutRef;
|
|
@@ -96,11 +100,15 @@ export declare class VehicleClaimableItems implements MultiLingual, VehicleInfoL
|
|
|
96
100
|
private activateClaimItem;
|
|
97
101
|
private printLastClaimResponse;
|
|
98
102
|
updatePopoverLocation: () => void;
|
|
103
|
+
private onViewportChange;
|
|
99
104
|
private measurePopoverHeight;
|
|
105
|
+
private currentPopoverInner;
|
|
100
106
|
private measurePopoverContentHeight;
|
|
101
107
|
private static readonly POPOVER_CLOSE_DELAY_MS;
|
|
102
108
|
private static readonly POPOVER_FADE_OUT_MS;
|
|
103
|
-
|
|
109
|
+
/** Cross-fade + resize duration. Handed to the popover as --popover-swap, so this one number
|
|
110
|
+
* drives both the CSS transitions and the timer that drops the outgoing layer. */
|
|
111
|
+
private static readonly POPOVER_SWAP_MS;
|
|
104
112
|
private static readonly TRACE_FADE_OUT_MS;
|
|
105
113
|
setClaimableItemPopover: (showPopover: boolean, claimableItem?: VehicleServiceItemDTO, anchorEl?: HTMLElement) => void;
|
|
106
114
|
private onPopoverMouseEnter;
|
|
@@ -108,6 +116,8 @@ export declare class VehicleClaimableItems implements MultiLingual, VehicleInfoL
|
|
|
108
116
|
openTrace(): Promise<void>;
|
|
109
117
|
private openTraceModal;
|
|
110
118
|
private closeTraceModal;
|
|
119
|
+
/** Escape would drop the panel out of the top layer in one frame; close it through the fade. */
|
|
120
|
+
private onTraceCancel;
|
|
111
121
|
completeClaim(response: any): Promise<void>;
|
|
112
122
|
handleClaim: (documents: File[], payload: ItemClaimDTO) => Promise<void>;
|
|
113
123
|
handleDevClaim: (documents: File[]) => Promise<void>;
|
|
@@ -6,7 +6,6 @@ import { ItemClaimDTO } from '../../global/types/generated/vehicle-lookup/item-c
|
|
|
6
6
|
export declare class VehicleItemClaimForm implements ImageViewerInterface {
|
|
7
7
|
expandedImage?: string;
|
|
8
8
|
originalImage: HTMLImageElement;
|
|
9
|
-
onImageViewerToggles(newValue: string | null): void;
|
|
10
9
|
vin?: string;
|
|
11
10
|
item?: VehicleServiceItemDTO;
|
|
12
11
|
maximumDocumentFileSizeInMb: number;
|
|
@@ -20,6 +19,7 @@ export declare class VehicleItemClaimForm implements ImageViewerInterface {
|
|
|
20
19
|
isOpened: boolean;
|
|
21
20
|
isLoading: boolean;
|
|
22
21
|
compact: boolean;
|
|
22
|
+
claimLabelWidth: number;
|
|
23
23
|
claimError: string;
|
|
24
24
|
confirmationStates: Record<string, boolean>;
|
|
25
25
|
errors: Record<string, {
|
|
@@ -28,13 +28,23 @@ export declare class VehicleItemClaimForm implements ImageViewerInterface {
|
|
|
28
28
|
}>;
|
|
29
29
|
inputs: Record<string, any>;
|
|
30
30
|
el: HTMLElement;
|
|
31
|
-
private
|
|
31
|
+
private dialogEl?;
|
|
32
|
+
private releaseEscapeFallback?;
|
|
32
33
|
/** Full-mode stage padding (18px × 2) — the voucher must fit inside it to stay full-size. */
|
|
33
34
|
private static readonly STAGE_PADDING;
|
|
34
35
|
private voucherResizeObserver?;
|
|
35
36
|
private observedVoucherEl?;
|
|
36
37
|
private suppressMeasure;
|
|
37
|
-
private
|
|
38
|
+
private idleClaimLabelEl?;
|
|
39
|
+
private busyClaimLabelEl?;
|
|
40
|
+
private claimLabelResizeObserver?;
|
|
41
|
+
private observedClaimLabels;
|
|
42
|
+
private releaseOpenFallbacks;
|
|
43
|
+
/**
|
|
44
|
+
* Escape reaches a modal dialog as a cancel event. Always prevented: the platform would drop the
|
|
45
|
+
* card out of the top layer in one frame, and close() needs the fade-out to run first.
|
|
46
|
+
*/
|
|
47
|
+
private onDialogCancel;
|
|
38
48
|
private onWindowResize;
|
|
39
49
|
open(): Promise<void>;
|
|
40
50
|
onIsLoadingChange(newValue: boolean): void;
|
|
@@ -48,6 +58,16 @@ export declare class VehicleItemClaimForm implements ImageViewerInterface {
|
|
|
48
58
|
showError(message: string): Promise<void>;
|
|
49
59
|
private dismissError;
|
|
50
60
|
componentDidRender(): void;
|
|
61
|
+
/**
|
|
62
|
+
* The claim button grows from CLAIM to PROCESSING and shrinks back. A width that follows its own
|
|
63
|
+
* content never fires a transition — the box is simply laid out at the new size — so the active
|
|
64
|
+
* caption is measured and the width set explicitly, which is a value change the browser will
|
|
65
|
+
* animate. Both captions stay mounted and stacked in one cell so the one being measured is always
|
|
66
|
+
* laid out, and so the check icon does not mount and unmount underneath the swap.
|
|
67
|
+
*/
|
|
68
|
+
private measureClaimLabel;
|
|
69
|
+
private observeClaimLabels;
|
|
70
|
+
connectedCallback(): void;
|
|
51
71
|
disconnectedCallback(): void;
|
|
52
72
|
/**
|
|
53
73
|
* Vertical compact is MEASURED, never a fixed media query: render full-size,
|